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

Commit a278962d authored by Fan Zhang's avatar Fan Zhang
Browse files

Refactor DefaultAppPicker to a general radio button picker

Bug: 36557316
Test: make RunSettingsRoboTests
Change-Id: I52985e527e55697cf29f8d97d775d4bbed025beb
parent b3f13f9f
Loading
Loading
Loading
Loading
+6 −7
Original line number Diff line number Diff line
@@ -79,31 +79,30 @@ public class DefaultAssistPicker extends DefaultAppPickerFragment {
                continue;
            }
            packages.add(packageName);
            candidates.add(new DefaultAppInfo(mUserId, info.component));
            candidates.add(new DefaultAppInfo(mPm, mUserId, info.component));
        }
        return candidates;
    }

    @Override
    protected String getDefaultAppKey() {
    protected String getDefaultKey() {
        final ComponentName cn = getCurrentAssist();
        if (cn != null) {
            return new DefaultAppInfo(mUserId, cn).getKey();
            return new DefaultAppInfo(mPm, mUserId, cn).getKey();
        }
        return null;
    }

    @Override
    protected String getConfirmationMessage(DefaultAppInfo appInfo) {
    protected String getConfirmationMessage(CandidateInfo appInfo) {
        if (appInfo == null) {
            return null;
        }
        return getContext().getString(R.string.assistant_security_warning,
                appInfo.loadLabel(mPm.getPackageManager()));
        return getContext().getString(R.string.assistant_security_warning, appInfo.loadLabel());
    }

    @Override
    protected boolean setDefaultAppKey(String key) {
    protected boolean setDefaultKey(String key) {
        if (TextUtils.isEmpty(key)) {
            setAssistNone();
            return true;
+1 −1
Original line number Diff line number Diff line
@@ -83,6 +83,6 @@ public class DefaultAssistPreferenceController extends DefaultAppPreferenceContr
        if (cn == null) {
            return null;
        }
        return new DefaultAppInfo(mUserId, cn);
        return new DefaultAppInfo(mPackageManager, mUserId, cn);
    }
}
+9 −9
Original line number Diff line number Diff line
@@ -19,12 +19,12 @@ package com.android.settings.applications.assist;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.provider.Settings;
import android.text.TextUtils;

import com.android.internal.app.AssistUtils;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.applications.PackageManagerWrapper;
import com.android.settings.applications.defaultapps.DefaultAppInfo;
import com.android.settings.applications.defaultapps.DefaultAppPickerFragment;

@@ -61,19 +61,19 @@ public class DefaultVoiceInputPicker extends DefaultAppPickerFragment {
        for (VoiceInputHelper.InteractionInfo info : mHelper.mAvailableInteractionInfos) {
            final boolean enabled = TextUtils.equals(info.key, mAssistRestrict);
            hasEnabled |= enabled;
            candidates.add(new VoiceInputDefaultAppInfo(mUserId, info, enabled));
            candidates.add(new VoiceInputDefaultAppInfo(mPm, mUserId, info, enabled));
        }

        final boolean assistIsService = !hasEnabled;
        for (VoiceInputHelper.RecognizerInfo info : mHelper.mAvailableRecognizerInfos) {
            final boolean enabled = !assistIsService;
            candidates.add(new VoiceInputDefaultAppInfo(mUserId, info, enabled));
            candidates.add(new VoiceInputDefaultAppInfo(mPm, mUserId, info, enabled));
        }
        return candidates;
    }

    @Override
    protected String getDefaultAppKey() {
    protected String getDefaultKey() {
        final ComponentName currentService = getCurrentService(mHelper);
        if (currentService == null) {
            return null;
@@ -82,7 +82,7 @@ public class DefaultVoiceInputPicker extends DefaultAppPickerFragment {
    }

    @Override
    protected boolean setDefaultAppKey(String value) {
    protected boolean setDefaultKey(String value) {
        for (VoiceInputHelper.InteractionInfo info : mHelper.mAvailableInteractionInfos) {
            if (TextUtils.equals(value, info.key)) {
                Settings.Secure.putString(getContext().getContentResolver(),
@@ -132,9 +132,9 @@ public class DefaultVoiceInputPicker extends DefaultAppPickerFragment {

        public VoiceInputHelper.BaseInfo mInfo;

        public VoiceInputDefaultAppInfo(int userId, VoiceInputHelper.BaseInfo info,
                boolean enabled) {
            super(userId, info.componentName, null /* summary */, enabled);
        public VoiceInputDefaultAppInfo(PackageManagerWrapper pm, int userId,
                VoiceInputHelper.BaseInfo info, boolean enabled) {
            super(pm, userId, info.componentName, null /* summary */, enabled);
            mInfo = info;
        }

@@ -144,7 +144,7 @@ public class DefaultVoiceInputPicker extends DefaultAppPickerFragment {
        }

        @Override
        public CharSequence loadLabel(PackageManager pm) {
        public CharSequence loadLabel() {
            if (mInfo instanceof VoiceInputHelper.InteractionInfo) {
                return mInfo.appLabel;
            } else {
+2 −2
Original line number Diff line number Diff line
@@ -104,14 +104,14 @@ public class DefaultVoiceInputPreferenceController extends DefaultAppPreferenceC
        }
        for (VoiceInputHelper.InteractionInfo info : mHelper.mAvailableInteractionInfos) {
            if (TextUtils.equals(defaultKey, info.key)) {
                return new DefaultVoiceInputPicker.VoiceInputDefaultAppInfo(
                return new DefaultVoiceInputPicker.VoiceInputDefaultAppInfo(mPackageManager,
                        mUserId, info, true /* enabled */);
            }
        }

        for (VoiceInputHelper.RecognizerInfo info : mHelper.mAvailableRecognizerInfos) {
            if (TextUtils.equals(defaultKey, info.key)) {
                return new DefaultVoiceInputPicker.VoiceInputDefaultAppInfo(
                return new DefaultVoiceInputPicker.VoiceInputDefaultAppInfo(mPackageManager,
                        mUserId, info, true /* enabled */);
            }
        }
Loading