summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/webview/WebViewAppPicker.java
diff options
context:
space:
mode:
authorFan Zhang <zhfan@google.com>2017-03-23 11:03:29 -0700
committerFan Zhang <zhfan@google.com>2017-03-23 12:41:31 -0700
commita278962dbc545f69ca3712159d438f2e50dab0a5 (patch)
treebda253cab4dda377437c95c8ff65bca80802e4bd /src/com/android/settings/webview/WebViewAppPicker.java
parentb3f13f9f326ab70a3050dcca864d2c9e6586bb31 (diff)
downloadpackages_apps_Settings-a278962dbc545f69ca3712159d438f2e50dab0a5.tar.gz
packages_apps_Settings-a278962dbc545f69ca3712159d438f2e50dab0a5.tar.bz2
packages_apps_Settings-a278962dbc545f69ca3712159d438f2e50dab0a5.zip
Refactor DefaultAppPicker to a general radio button picker
Bug: 36557316 Test: make RunSettingsRoboTests Change-Id: I52985e527e55697cf29f8d97d775d4bbed025beb
Diffstat (limited to 'src/com/android/settings/webview/WebViewAppPicker.java')
-rw-r--r--src/com/android/settings/webview/WebViewAppPicker.java31
1 files changed, 17 insertions, 14 deletions
diff --git a/src/com/android/settings/webview/WebViewAppPicker.java b/src/com/android/settings/webview/WebViewAppPicker.java
index f1faf9b2c3..380b964ab7 100644
--- a/src/com/android/settings/webview/WebViewAppPicker.java
+++ b/src/com/android/settings/webview/WebViewAppPicker.java
@@ -19,17 +19,18 @@ package com.android.settings.webview;
import static android.provider.Settings.ACTION_WEBVIEW_SETTINGS;
import android.app.Activity;
+import android.content.Context;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageItemInfo;
import android.content.pm.PackageInfo;
+import android.content.pm.PackageItemInfo;
import android.content.pm.PackageManager;
-import android.content.Context;
import android.support.annotation.VisibleForTesting;
import android.text.TextUtils;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
+import com.android.settings.applications.PackageManagerWrapper;
import com.android.settings.applications.defaultapps.DefaultAppInfo;
import com.android.settings.applications.defaultapps.DefaultAppPickerFragment;
@@ -61,7 +62,7 @@ public class WebViewAppPicker extends DefaultAppPickerFragment {
List<ApplicationInfo> pkgs =
getWebViewUpdateServiceWrapper().getValidWebViewApplicationInfos(getContext());
for (ApplicationInfo ai : pkgs) {
- packageInfoList.add(createDefaultAppInfo(ai,
+ packageInfoList.add(createDefaultAppInfo(mPm, ai,
getDisabledReason(getWebViewUpdateServiceWrapper(),
getContext(), ai.packageName)));
}
@@ -69,12 +70,12 @@ public class WebViewAppPicker extends DefaultAppPickerFragment {
}
@Override
- protected String getDefaultAppKey() {
+ protected String getDefaultKey() {
PackageInfo currentPackage = getWebViewUpdateServiceWrapper().getCurrentWebViewPackage();
return currentPackage == null ? null : currentPackage.packageName;
}
- protected boolean setDefaultAppKey(String key) {
+ protected boolean setDefaultKey(String key) {
boolean success = getWebViewUpdateServiceWrapper().setWebViewProvider(key);
return success;
}
@@ -110,25 +111,28 @@ public class WebViewAppPicker extends DefaultAppPickerFragment {
}
private static class WebViewAppInfo extends DefaultAppInfo {
- public WebViewAppInfo(PackageItemInfo packageItemInfo, String summary, boolean enabled) {
- super(packageItemInfo, summary, enabled);
+ public WebViewAppInfo(PackageManagerWrapper pm, PackageItemInfo packageItemInfo,
+ String summary, boolean enabled) {
+ super(pm, packageItemInfo, summary, enabled);
}
@Override
- public CharSequence loadLabel(PackageManager pm) {
+ public CharSequence loadLabel() {
String versionName = "";
try {
- versionName = pm.getPackageInfo(packageItemInfo.packageName, 0).versionName;
+ versionName = mPm.getPackageManager().
+ getPackageInfo(packageItemInfo.packageName, 0).versionName;
} catch (PackageManager.NameNotFoundException e) {
}
- return String.format("%s %s", super.loadLabel(pm), versionName);
+ return String.format("%s %s", super.loadLabel(), versionName);
}
}
@VisibleForTesting
- DefaultAppInfo createDefaultAppInfo(PackageItemInfo packageItemInfo, String disabledReason) {
- return new WebViewAppInfo(packageItemInfo, disabledReason,
+ DefaultAppInfo createDefaultAppInfo(PackageManagerWrapper pm, PackageItemInfo packageItemInfo,
+ String disabledReason) {
+ return new WebViewAppInfo(pm, packageItemInfo, disabledReason,
TextUtils.isEmpty(disabledReason) /* enabled */);
}
@@ -139,7 +143,6 @@ public class WebViewAppPicker extends DefaultAppPickerFragment {
@VisibleForTesting
String getDisabledReason(WebViewUpdateServiceWrapper webviewUpdateServiceWrapper,
Context context, String packageName) {
- StringBuilder disabledReason = new StringBuilder();
List<UserPackageWrapper> userPackages =
webviewUpdateServiceWrapper.getPackageInfosAllUsers(context, packageName);
for (UserPackageWrapper userPackage : userPackages) {
@@ -150,7 +153,7 @@ public class WebViewAppPicker extends DefaultAppPickerFragment {
} else if (!userPackage.isEnabledPackage()) {
// Package disabled
return context.getString(
- R.string.webview_disabled_for_user, userPackage.getUserInfo().name);
+ R.string.webview_disabled_for_user, userPackage.getUserInfo().name);
}
}
return null;