Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6e0dd6b1 authored by Android Dialer's avatar Android Dialer Committed by Copybara-Service
Browse files

Added a method to fix graying of drawables

Test: "N/A"
PiperOrigin-RevId: 202149985
Change-Id: I007724058859dd8905a94d2ba230ed37e5a6d49c
parent 370f9c1e
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -18,10 +18,12 @@ package com.android.dialer.voicemail.settings;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.graphics.RectF;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.LayerDrawable;
import android.support.v4.content.ContextCompat;
import android.util.AttributeSet;
import android.widget.Button;
@@ -94,6 +96,8 @@ public class RecordButton extends Button {
    recordedDrawable = ContextCompat.getDrawable(getContext(), R.drawable.start_playback_drawable);
    playingDrawable = ContextCompat.getDrawable(getContext(), R.drawable.stop_playback_drawable);

    fixQuantumIconTint(Color.WHITE);

    mainTrackPaint = getBasePaint(R.color.dialer_call_green);
    secondaryTrackPaint = getBasePaint(R.color.dialer_call_green);
    secondaryTrackPaint.setAlpha(secondaryTrackAlpha);
@@ -101,6 +105,16 @@ public class RecordButton extends Button {
    setState(RecordVoicemailGreetingActivity.RECORD_GREETING_INIT);
  }

  private void fixQuantumIconTint(int color) {
    Drawable playArrow = ((LayerDrawable) recordedDrawable).findDrawableByLayerId(R.id.play_icon);
    playArrow.mutate().setTint(color);
    ((LayerDrawable) recordedDrawable).setDrawableByLayerId(R.id.play_icon, playArrow);

    Drawable micIcon = ((LayerDrawable) readyDrawable).findDrawableByLayerId(R.id.record_icon);
    micIcon.mutate().setTint(color);
    ((LayerDrawable) readyDrawable).setDrawableByLayerId(R.id.record_icon, micIcon);
  }

  /** Returns Paint with base attributes for drawing the main and secondary tracks */
  private Paint getBasePaint(int id) {
    Paint paint = new Paint();
+1 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@
    </shape>
  </item>
  <item
      android:id="@+id/play_icon"
      android:top="24dp"
      android:bottom="24dp"
      android:left="24dp"
+1 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@
    </shape>
  </item>
  <item
      android:id="@+id/record_icon"
      android:top="24dp"
      android:bottom="24dp"
      android:left="24dp"