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

Commit 6afea5ae authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge changes I00772405,Id9a6c59d

* changes:
  Added a method to fix graying of drawables
  Don't show mock location for emergency call
parents 0ec224dd 6e0dd6b1
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"
+8 −1
Original line number Diff line number Diff line
@@ -49,6 +49,7 @@ public class LocationHelper {
  public static final int LOCATION_STATUS_STALE = 2;
  public static final int LOCATION_STATUS_INACCURATE = 3;
  public static final int LOCATION_STATUS_NO_LOCATION = 4;
  public static final int LOCATION_STATUS_MOCK = 5;

  /** Possible return values for {@code checkLocation()} */
  @IntDef({
@@ -56,7 +57,8 @@ public class LocationHelper {
    LOCATION_STATUS_OK,
    LOCATION_STATUS_STALE,
    LOCATION_STATUS_INACCURATE,
    LOCATION_STATUS_NO_LOCATION
    LOCATION_STATUS_NO_LOCATION,
    LOCATION_STATUS_MOCK
  })
  @Retention(RetentionPolicy.SOURCE)
  public @interface LocationStatus {}
@@ -118,6 +120,11 @@ public class LocationHelper {
      return LOCATION_STATUS_INACCURATE;
    }

    if (location.isFromMockProvider()) {
      LogUtil.i("LocationHelper.checkLocation", "from mock provider");
      return LOCATION_STATUS_MOCK;
    }

    return LOCATION_STATUS_OK;
  }