summaryrefslogtreecommitdiffstats
path: root/packages/SystemUI/src/com/android/systemui/cm/LockscreenShortcutsActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'packages/SystemUI/src/com/android/systemui/cm/LockscreenShortcutsActivity.java')
-rw-r--r--packages/SystemUI/src/com/android/systemui/cm/LockscreenShortcutsActivity.java42
1 files changed, 34 insertions, 8 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..3cd86fe 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);
@@ -211,13 +235,15 @@ public class LockscreenShortcutsActivity extends Activity implements View.OnClic
private void onTargetChange(String uri) {
if (uri == null) {
- final GlowBackground background = (GlowBackground) mSelectedView.getBackground();
- background.hideGlow();
+ if (mSelectedView != null) {
+ final GlowBackground background = (GlowBackground) mSelectedView.getBackground();
+ background.hideGlow();
+ }
return;
}
if (uri.equals(ACTION_APP)) {
- mPicker.pickShortcut(null, null, 0);
+ mPicker.pickShortcut(null, null, 0, false);
} else {
mSelectedView.setTag(uri);
saveCustomActions();