summaryrefslogtreecommitdiffstats
path: root/packages/SystemUI/src
diff options
context:
space:
mode:
authorAdnan Begovic <adnan@cyngn.com>2016-03-23 13:46:59 -0700
committerGerrit Code Review <gerrit@cyanogenmod.org>2016-03-23 16:28:04 -0700
commita944dab2b06b49c96afa2e5a751a8fde5336d8e9 (patch)
treefbf438d8f3b4cf11608ff3313d603f16f766a51e /packages/SystemUI/src
parentb47a1c5b2acec0fc12fcab98369faf340436467b (diff)
downloadframeworks_base-a944dab2b06b49c96afa2e5a751a8fde5336d8e9.zip
frameworks_base-a944dab2b06b49c96afa2e5a751a8fde5336d8e9.tar.gz
frameworks_base-a944dab2b06b49c96afa2e5a751a8fde5336d8e9.tar.bz2
SystemUi: Show correct iconography for default left affordance settings.
If the device has an active service that supports being launched from keyguard (voice assist), then we need to sync the settings iconography with the iconography being displayed in the keyguard. Achieve this by querying the voice interaction manager service via the assist utils. Change-Id: I0b2081579ec8613a9d2f455838e289808d2bb3e8 TICKET: CRACKLING-1013
Diffstat (limited to 'packages/SystemUI/src')
-rw-r--r--packages/SystemUI/src/com/android/systemui/cm/LockscreenShortcutsActivity.java34
1 files changed, 29 insertions, 5 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/cm/LockscreenShortcutsActivity.java b/packages/SystemUI/src/com/android/systemui/cm/LockscreenShortcutsActivity.java
index d8cfa5e..c266c43 100644
--- a/packages/SystemUI/src/com/android/systemui/cm/LockscreenShortcutsActivity.java
+++ b/packages/SystemUI/src/com/android/systemui/cm/LockscreenShortcutsActivity.java
@@ -1,5 +1,6 @@
package com.android.systemui.cm;
+import com.android.internal.app.AssistUtils;
import com.android.settingslib.cm.ShortcutPickHelper;
import com.android.systemui.R;
import com.android.systemui.cm.LockscreenShortcutsHelper.Shortcuts;
@@ -34,6 +35,7 @@ public class LockscreenShortcutsActivity extends Activity implements View.OnClic
private View mSelectedView;
private ColorMatrixColorFilter mFilter;
private ColorStateList mDefaultTintList;
+ private AssistUtils mAssistUtils;
@Override
public void shortcutPicked(String uri, String friendlyName, boolean isApplication) {
@@ -107,6 +109,7 @@ public class LockscreenShortcutsActivity extends Activity implements View.OnClic
mFilter = new ColorMatrixColorFilter(cm);
ImageView unlockButton = (ImageView) findViewById(R.id.middle_button);
mDefaultTintList = unlockButton.getImageTintList();
+ mAssistUtils = new AssistUtils(this);
createActionList();
initiateViews();
updateDrawables();
@@ -146,19 +149,40 @@ public class LockscreenShortcutsActivity extends Activity implements View.OnClic
if (mShortcutHelper.isTargetEmpty(shortcut)) {
drawable = getResources().getDrawable(R.drawable.ic_lockscreen_shortcuts_blank);
} else {
- drawable = mShortcutHelper.getDrawableForTarget(shortcut);
- if (drawable == null) {
- drawable = getResources().getDrawable(shortcut == Shortcuts.LEFT_SHORTCUT
- ? R.drawable.ic_phone_24dp : R.drawable.ic_camera_alt_24dp);
+ if (shortcut == Shortcuts.LEFT_SHORTCUT &&
+ !mShortcutHelper.isTargetCustom(shortcut)) {
+ drawable = getLeftAffordanceDrawable();
v.setImageTintList(mDefaultTintList);
} else {
- v.setColorFilter(mFilter);
+ drawable = mShortcutHelper.getDrawableForTarget(shortcut);
+ if (drawable == null) {
+ drawable = (shortcut == Shortcuts.LEFT_SHORTCUT) ?
+ getLeftAffordanceDrawable()
+ : getResources().getDrawable(R.drawable.ic_camera_alt_24dp);
+ v.setImageTintList(mDefaultTintList);
+ } else {
+ v.setColorFilter(mFilter);
+ }
}
}
v.setImageDrawable(drawable);
}
}
+ private Drawable getLeftAffordanceDrawable() {
+ Drawable drawable;
+ if (canLaunchVoiceAssist()) {
+ drawable = getResources().getDrawable(R.drawable.ic_mic_26dp);
+ } else {
+ drawable = getResources().getDrawable(R.drawable.ic_phone_24dp);
+ }
+ return drawable
+ }
+
+ private boolean canLaunchVoiceAssist() {
+ return mAssistUtils.activeServiceSupportsLaunchFromKeyguard();
+ }
+
private void createActionList() {
mActions = new ActionHolder();
mActions.addAction(LockscreenShortcutsHelper.NONE, R.string.lockscreen_none_target);