Refactor DefaultAppPicker to a general radio button picker

Bug: 36557316
Test: make RunSettingsRoboTests
Change-Id: I52985e527e55697cf29f8d97d775d4bbed025beb
This commit is contained in:
Fan Zhang
2017-03-23 11:03:29 -07:00
parent b3f13f9f32
commit a278962dbc
37 changed files with 580 additions and 398 deletions

View File

@@ -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;

View File

@@ -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);
}
}

View File

@@ -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 {

View File

@@ -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 */);
}
}