diff options
author | Adnan Begovic <adnan@cyngn.com> | 2016-03-23 13:46:59 -0700 |
---|---|---|
committer | Gerrit Code Review <gerrit@cyanogenmod.org> | 2016-03-23 16:28:04 -0700 |
commit | a944dab2b06b49c96afa2e5a751a8fde5336d8e9 (patch) | |
tree | fbf438d8f3b4cf11608ff3313d603f16f766a51e /packages/SystemUI/src | |
parent | b47a1c5b2acec0fc12fcab98369faf340436467b (diff) | |
download | frameworks_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.java | 34 |
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); |