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

Commit a944dab2 authored by Adnan Begovic's avatar Adnan Begovic Committed by Gerrit Code Review
Browse files

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
parent b47a1c5b
Loading
Loading
Loading
Loading
+29 −5
Original line number Original line Diff line number Diff line
package com.android.systemui.cm;
package com.android.systemui.cm;


import com.android.internal.app.AssistUtils;
import com.android.settingslib.cm.ShortcutPickHelper;
import com.android.settingslib.cm.ShortcutPickHelper;
import com.android.systemui.R;
import com.android.systemui.R;
import com.android.systemui.cm.LockscreenShortcutsHelper.Shortcuts;
import com.android.systemui.cm.LockscreenShortcutsHelper.Shortcuts;
@@ -34,6 +35,7 @@ public class LockscreenShortcutsActivity extends Activity implements View.OnClic
    private View mSelectedView;
    private View mSelectedView;
    private ColorMatrixColorFilter mFilter;
    private ColorMatrixColorFilter mFilter;
    private ColorStateList mDefaultTintList;
    private ColorStateList mDefaultTintList;
    private AssistUtils mAssistUtils;


    @Override
    @Override
    public void shortcutPicked(String uri, String friendlyName, boolean isApplication) {
    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);
        mFilter = new ColorMatrixColorFilter(cm);
        ImageView unlockButton = (ImageView) findViewById(R.id.middle_button);
        ImageView unlockButton = (ImageView) findViewById(R.id.middle_button);
        mDefaultTintList = unlockButton.getImageTintList();
        mDefaultTintList = unlockButton.getImageTintList();
        mAssistUtils = new AssistUtils(this);
        createActionList();
        createActionList();
        initiateViews();
        initiateViews();
        updateDrawables();
        updateDrawables();
@@ -145,20 +148,41 @@ public class LockscreenShortcutsActivity extends Activity implements View.OnClic
            Drawable drawable;
            Drawable drawable;
            if (mShortcutHelper.isTargetEmpty(shortcut)) {
            if (mShortcutHelper.isTargetEmpty(shortcut)) {
                drawable = getResources().getDrawable(R.drawable.ic_lockscreen_shortcuts_blank);
                drawable = getResources().getDrawable(R.drawable.ic_lockscreen_shortcuts_blank);
            } else {
                if (shortcut == Shortcuts.LEFT_SHORTCUT &&
                        !mShortcutHelper.isTargetCustom(shortcut)) {
                    drawable = getLeftAffordanceDrawable();
                    v.setImageTintList(mDefaultTintList);
                } else {
                } else {
                    drawable = mShortcutHelper.getDrawableForTarget(shortcut);
                    drawable = mShortcutHelper.getDrawableForTarget(shortcut);
                    if (drawable == null) {
                    if (drawable == null) {
                    drawable = getResources().getDrawable(shortcut == Shortcuts.LEFT_SHORTCUT
                        drawable = (shortcut == Shortcuts.LEFT_SHORTCUT) ?
                            ? R.drawable.ic_phone_24dp : R.drawable.ic_camera_alt_24dp);
                                getLeftAffordanceDrawable()
                                : getResources().getDrawable(R.drawable.ic_camera_alt_24dp);
                        v.setImageTintList(mDefaultTintList);
                        v.setImageTintList(mDefaultTintList);
                    } else {
                    } else {
                        v.setColorFilter(mFilter);
                        v.setColorFilter(mFilter);
                    }
                    }
                }
                }
            }
            v.setImageDrawable(drawable);
            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() {
    private void createActionList() {
        mActions = new ActionHolder();
        mActions = new ActionHolder();
        mActions.addAction(LockscreenShortcutsHelper.NONE, R.string.lockscreen_none_target);
        mActions.addAction(LockscreenShortcutsHelper.NONE, R.string.lockscreen_none_target);