diff options
4 files changed, 24 insertions, 1 deletions
diff --git a/java/com/android/dialer/voicemail/settings/RecordButton.java b/java/com/android/dialer/voicemail/settings/RecordButton.java index d62637053..ac64cde34 100644 --- a/java/com/android/dialer/voicemail/settings/RecordButton.java +++ b/java/com/android/dialer/voicemail/settings/RecordButton.java @@ -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(); diff --git a/java/com/android/dialer/voicemail/settings/res/drawable/start_playback_drawable.xml b/java/com/android/dialer/voicemail/settings/res/drawable/start_playback_drawable.xml index 2a7ec4a7c..97917465c 100644 --- a/java/com/android/dialer/voicemail/settings/res/drawable/start_playback_drawable.xml +++ b/java/com/android/dialer/voicemail/settings/res/drawable/start_playback_drawable.xml @@ -21,6 +21,7 @@ </shape> </item> <item + android:id="@+id/play_icon" android:top="24dp" android:bottom="24dp" android:left="24dp" diff --git a/java/com/android/dialer/voicemail/settings/res/drawable/start_recording_drawable.xml b/java/com/android/dialer/voicemail/settings/res/drawable/start_recording_drawable.xml index 42d27fc2a..8a4d9e723 100644 --- a/java/com/android/dialer/voicemail/settings/res/drawable/start_recording_drawable.xml +++ b/java/com/android/dialer/voicemail/settings/res/drawable/start_recording_drawable.xml @@ -21,6 +21,7 @@ </shape> </item> <item + android:id="@+id/record_icon" android:top="24dp" android:bottom="24dp" android:left="24dp" diff --git a/java/com/android/incallui/calllocation/impl/LocationHelper.java b/java/com/android/incallui/calllocation/impl/LocationHelper.java index 7fbd60d04..5c105e4c0 100644 --- a/java/com/android/incallui/calllocation/impl/LocationHelper.java +++ b/java/com/android/incallui/calllocation/impl/LocationHelper.java @@ -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; } |