From fef14cac00b7e4f1ef0481845421618bc3810643 Mon Sep 17 00:00:00 2001 From: Dake Gu Date: Tue, 20 Feb 2018 17:02:12 -0800 Subject: [PATCH] Settings: Move DefaultAppInfo CandidateInfo to SettingsLib Bug: 3600711 Test: Moved DefaultAppInfoTest to SettingsLib m RunSettingsRoboTests Change-Id: If9e2288009277f1940b9769790b78bb0a58b626a --- .../ShortcutServicePickerFragment.java | 8 +- .../VibrationPreferenceFragment.java | 1 + .../assist/DefaultAssistPicker.java | 4 +- .../DefaultAssistPreferenceController.java | 2 +- .../assist/DefaultVoiceInputPicker.java | 2 +- ...DefaultVoiceInputPreferenceController.java | 2 +- .../defaultapps/DefaultAppInfo.java | 153 ------------------ .../defaultapps/DefaultAppPickerFragment.java | 2 + .../DefaultAppPreferenceController.java | 1 + .../defaultapps/DefaultAutofillPicker.java | 6 +- .../DefaultAutofillPreferenceController.java | 1 + .../defaultapps/DefaultBrowserPicker.java | 2 + .../DefaultBrowserPreferenceController.java | 2 + .../defaultapps/DefaultEmergencyPicker.java | 2 + .../DefaultEmergencyPreferenceController.java | 2 + .../defaultapps/DefaultHomePicker.java | 1 + .../DefaultHomePreferenceController.java | 1 + .../defaultapps/DefaultPhonePicker.java | 1 + .../DefaultPhonePreferenceController.java | 2 + .../defaultapps/DefaultSmsPicker.java | 2 + .../DefaultSmsPreferenceController.java | 1 + ...efaultWorkBrowserPreferenceController.java | 1 + .../usb/UsbDefaultFragment.java | 1 + .../WebViewAppPreferenceController.java | 2 +- .../display/ColorModePreferenceFragment.java | 1 + .../display/VrDisplayPreferencePicker.java | 1 + .../settings/dream/CurrentDreamPicker.java | 1 + .../settings/dream/WhenToDreamPicker.java | 1 + .../settings/webview/WebViewAppPicker.java | 2 +- .../widget/RadioButtonPickerFragment.java | 17 +- .../VibrationPreferenceFragmentTest.java | 2 +- ...DefaultAssistPreferenceControllerTest.java | 2 +- .../defaultapps/DefaultAppInfoTest.java | 100 ------------ .../DefaultAppPickerFragmentTest.java | 1 + .../DefaultAppPreferenceControllerTest.java | 1 + .../DefaultAutofillPickerTest.java | 1 + ...faultAutofillPreferenceControllerTest.java | 1 + .../defaultapps/DefaultHomePickerTest.java | 1 + .../WebViewAppPreferenceControllerTest.java | 2 +- .../ColorModePreferenceFragmentTest.java | 4 +- .../webview/WebViewAppPickerTest.java | 2 +- .../widget/RadioButtonPickerFragmentTest.java | 2 +- 42 files changed, 54 insertions(+), 290 deletions(-) delete mode 100644 src/com/android/settings/applications/defaultapps/DefaultAppInfo.java delete mode 100644 tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppInfoTest.java diff --git a/src/com/android/settings/accessibility/ShortcutServicePickerFragment.java b/src/com/android/settings/accessibility/ShortcutServicePickerFragment.java index 52c1a0d95a7..5b45cfa3caa 100644 --- a/src/com/android/settings/accessibility/ShortcutServicePickerFragment.java +++ b/src/com/android/settings/accessibility/ShortcutServicePickerFragment.java @@ -22,13 +22,10 @@ import static com.android.internal.accessibility.AccessibilityShortcutController import android.accessibilityservice.AccessibilityServiceInfo; import android.app.Activity; import android.app.Dialog; -import android.app.DialogFragment; import android.app.Fragment; import android.content.ComponentName; import android.content.Context; import android.content.DialogInterface; -import android.content.pm.ApplicationInfo; -import android.content.pm.ComponentInfo; import android.content.pm.PackageManager; import android.graphics.drawable.Drawable; import android.os.Binder; @@ -44,13 +41,12 @@ import com.android.internal.accessibility.AccessibilityShortcutController; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.internal.accessibility.AccessibilityShortcutController.ToggleableFrameworkFeatureInfo; import com.android.settings.R; -import com.android.settings.applications.defaultapps.DefaultAppInfo; -import com.android.settings.applications.defaultapps.DefaultAppPickerFragment; import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settings.widget.RadioButtonPickerFragment; import com.android.settings.widget.RadioButtonPreference; -import com.android.settings.wrapper.IPackageManagerWrapper; import com.android.settingslib.accessibility.AccessibilityUtils; +import com.android.settingslib.applications.DefaultAppInfo; +import com.android.settingslib.widget.CandidateInfo; import com.android.settingslib.wrapper.PackageManagerWrapper; import java.util.ArrayList; diff --git a/src/com/android/settings/accessibility/VibrationPreferenceFragment.java b/src/com/android/settings/accessibility/VibrationPreferenceFragment.java index f81208f3a5e..e911b612e37 100644 --- a/src/com/android/settings/accessibility/VibrationPreferenceFragment.java +++ b/src/com/android/settings/accessibility/VibrationPreferenceFragment.java @@ -32,6 +32,7 @@ import com.android.internal.accessibility.AccessibilityShortcutController; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settings.R; import com.android.settings.widget.RadioButtonPickerFragment; +import com.android.settingslib.widget.CandidateInfo; import java.util.ArrayList; import java.util.Comparator; diff --git a/src/com/android/settings/applications/assist/DefaultAssistPicker.java b/src/com/android/settings/applications/assist/DefaultAssistPicker.java index 01ca25a5f54..d54e6d1a3fe 100644 --- a/src/com/android/settings/applications/assist/DefaultAssistPicker.java +++ b/src/com/android/settings/applications/assist/DefaultAssistPicker.java @@ -31,9 +31,11 @@ import android.util.Log; import com.android.internal.app.AssistUtils; import com.android.internal.logging.nano.MetricsProto; import com.android.settings.R; -import com.android.settings.applications.defaultapps.DefaultAppInfo; import com.android.settings.applications.defaultapps.DefaultAppPickerFragment; +import com.android.settingslib.applications.DefaultAppInfo; +import com.android.settingslib.widget.CandidateInfo; + import java.util.ArrayList; import java.util.List; diff --git a/src/com/android/settings/applications/assist/DefaultAssistPreferenceController.java b/src/com/android/settings/applications/assist/DefaultAssistPreferenceController.java index f78548b8020..9c87984bb4b 100644 --- a/src/com/android/settings/applications/assist/DefaultAssistPreferenceController.java +++ b/src/com/android/settings/applications/assist/DefaultAssistPreferenceController.java @@ -27,8 +27,8 @@ import android.support.annotation.VisibleForTesting; import com.android.internal.app.AssistUtils; import com.android.settings.R; -import com.android.settings.applications.defaultapps.DefaultAppInfo; import com.android.settings.applications.defaultapps.DefaultAppPreferenceController; +import com.android.settingslib.applications.DefaultAppInfo; import java.util.List; diff --git a/src/com/android/settings/applications/assist/DefaultVoiceInputPicker.java b/src/com/android/settings/applications/assist/DefaultVoiceInputPicker.java index 7a5c13dd1b6..84c1f768198 100644 --- a/src/com/android/settings/applications/assist/DefaultVoiceInputPicker.java +++ b/src/com/android/settings/applications/assist/DefaultVoiceInputPicker.java @@ -25,8 +25,8 @@ import android.text.TextUtils; import com.android.internal.app.AssistUtils; import com.android.internal.logging.nano.MetricsProto; import com.android.settings.R; -import com.android.settings.applications.defaultapps.DefaultAppInfo; import com.android.settings.applications.defaultapps.DefaultAppPickerFragment; +import com.android.settingslib.applications.DefaultAppInfo; import com.android.settingslib.wrapper.PackageManagerWrapper; import java.util.ArrayList; diff --git a/src/com/android/settings/applications/assist/DefaultVoiceInputPreferenceController.java b/src/com/android/settings/applications/assist/DefaultVoiceInputPreferenceController.java index c305ccf8379..09f0b21c4eb 100644 --- a/src/com/android/settings/applications/assist/DefaultVoiceInputPreferenceController.java +++ b/src/com/android/settings/applications/assist/DefaultVoiceInputPreferenceController.java @@ -25,8 +25,8 @@ import android.support.v7.preference.PreferenceScreen; import android.text.TextUtils; import com.android.internal.app.AssistUtils; -import com.android.settings.applications.defaultapps.DefaultAppInfo; import com.android.settings.applications.defaultapps.DefaultAppPreferenceController; +import com.android.settingslib.applications.DefaultAppInfo; import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnPause; diff --git a/src/com/android/settings/applications/defaultapps/DefaultAppInfo.java b/src/com/android/settings/applications/defaultapps/DefaultAppInfo.java deleted file mode 100644 index 71b5ec4d60e..00000000000 --- a/src/com/android/settings/applications/defaultapps/DefaultAppInfo.java +++ /dev/null @@ -1,153 +0,0 @@ -/* - * Copyright (C) 2017 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.settings.applications.defaultapps; - -import android.app.AppGlobals; -import android.content.ComponentName; -import android.content.Context; -import android.content.pm.ApplicationInfo; -import android.content.pm.ComponentInfo; -import android.content.pm.PackageItemInfo; -import android.content.pm.PackageManager; -import android.graphics.drawable.Drawable; -import android.os.RemoteException; -import android.os.UserHandle; -import android.util.IconDrawableFactory; - -import com.android.settings.widget.RadioButtonPickerFragment; -import com.android.settingslib.wrapper.PackageManagerWrapper; - -/** - * Data model representing an app in DefaultAppPicker UI. - */ -public class DefaultAppInfo extends RadioButtonPickerFragment.CandidateInfo { - - public final int userId; - public final ComponentName componentName; - public final PackageItemInfo packageItemInfo; - public final String summary; - protected final PackageManagerWrapper mPm; - private final Context mContext; - - public DefaultAppInfo(Context context, PackageManagerWrapper pm, int uid, ComponentName cn) { - this(context, pm, uid, cn, null /* summary */, true /* enabled */); - } - - public DefaultAppInfo(Context context, PackageManagerWrapper pm, PackageItemInfo info) { - this(context, pm, info, null /* summary */, true /* enabled */); - } - - public DefaultAppInfo(Context context, PackageManagerWrapper pm, int uid, ComponentName cn, - String summary, boolean enabled) { - super(enabled); - mContext = context; - mPm = pm; - packageItemInfo = null; - userId = uid; - componentName = cn; - this.summary = summary; - } - - public DefaultAppInfo(Context context, PackageManagerWrapper pm, PackageItemInfo info, - String summary, boolean enabled) { - super(enabled); - mContext = context; - mPm = pm; - userId = UserHandle.myUserId(); - packageItemInfo = info; - componentName = null; - this.summary = summary; - } - - @Override - public CharSequence loadLabel() { - if (componentName != null) { - try { - final ComponentInfo componentInfo = getComponentInfo(); - if (componentInfo != null) { - return componentInfo.loadLabel(mPm.getPackageManager()); - } else { - final ApplicationInfo appInfo = mPm.getApplicationInfoAsUser( - componentName.getPackageName(), 0, userId); - return appInfo.loadLabel(mPm.getPackageManager()); - } - } catch (PackageManager.NameNotFoundException e) { - return null; - } - } else if (packageItemInfo != null) { - return packageItemInfo.loadLabel(mPm.getPackageManager()); - } else { - return null; - } - - } - - @Override - public Drawable loadIcon() { - final IconDrawableFactory factory = IconDrawableFactory.newInstance(mContext); - if (componentName != null) { - try { - final ComponentInfo componentInfo = getComponentInfo(); - final ApplicationInfo appInfo = mPm.getApplicationInfoAsUser( - componentName.getPackageName(), 0, userId); - if (componentInfo != null) { - return factory.getBadgedIcon(componentInfo, appInfo, userId); - } else { - return factory.getBadgedIcon(appInfo); - } - } catch (PackageManager.NameNotFoundException e) { - return null; - } - } - if (packageItemInfo != null) { - try { - final ApplicationInfo appInfo = mPm.getApplicationInfoAsUser( - packageItemInfo.packageName, 0, userId); - return factory.getBadgedIcon(packageItemInfo, appInfo, userId); - } catch (PackageManager.NameNotFoundException e) { - return null; - } - } else { - return null; - } - } - - @Override - public String getKey() { - if (componentName != null) { - return componentName.flattenToString(); - } else if (packageItemInfo != null) { - return packageItemInfo.packageName; - } else { - return null; - } - } - - private ComponentInfo getComponentInfo() { - try { - ComponentInfo componentInfo = AppGlobals.getPackageManager().getActivityInfo( - componentName, 0, userId); - if (componentInfo == null) { - componentInfo = AppGlobals.getPackageManager().getServiceInfo( - componentName, 0, userId); - } - return componentInfo; - } catch (RemoteException e) { - return null; - } - } -} diff --git a/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java b/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java index 7b275168e48..cc3b3d1bdbd 100644 --- a/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java +++ b/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java @@ -32,6 +32,8 @@ import com.android.settings.R; import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settings.widget.RadioButtonPickerFragment; import com.android.settings.widget.RadioButtonPreference; +import com.android.settingslib.applications.DefaultAppInfo; +import com.android.settingslib.widget.CandidateInfo; import com.android.settingslib.wrapper.PackageManagerWrapper; /** diff --git a/src/com/android/settings/applications/defaultapps/DefaultAppPreferenceController.java b/src/com/android/settings/applications/defaultapps/DefaultAppPreferenceController.java index d0165674396..6d4d3b277a7 100644 --- a/src/com/android/settings/applications/defaultapps/DefaultAppPreferenceController.java +++ b/src/com/android/settings/applications/defaultapps/DefaultAppPreferenceController.java @@ -29,6 +29,7 @@ import com.android.settings.R; import com.android.settings.Utils; import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.widget.GearPreference; +import com.android.settingslib.applications.DefaultAppInfo; import com.android.settingslib.TwoTargetPreference; import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.wrapper.PackageManagerWrapper; diff --git a/src/com/android/settings/applications/defaultapps/DefaultAutofillPicker.java b/src/com/android/settings/applications/defaultapps/DefaultAutofillPicker.java index 30835fb2297..50c6d02e7c1 100644 --- a/src/com/android/settings/applications/defaultapps/DefaultAutofillPicker.java +++ b/src/com/android/settings/applications/defaultapps/DefaultAutofillPicker.java @@ -38,7 +38,9 @@ import android.util.Log; import com.android.internal.content.PackageMonitor; import com.android.internal.logging.nano.MetricsProto; import com.android.settings.R; +import com.android.settingslib.applications.DefaultAppInfo; import com.android.settingslib.utils.ThreadUtils; +import com.android.settingslib.widget.CandidateInfo; import java.util.ArrayList; import java.util.List; @@ -186,8 +188,8 @@ public class DefaultAutofillPicker extends DefaultAppPickerFragment { @Override protected List getCandidates() { final List candidates = new ArrayList<>(); - final List resolveInfos = mPm.getPackageManager() - .queryIntentServices(AUTOFILL_PROBE, PackageManager.GET_META_DATA); + final List resolveInfos = mPm.queryIntentServices( + AUTOFILL_PROBE, PackageManager.GET_META_DATA); final Context context = getContext(); for (ResolveInfo info : resolveInfos) { final String permission = info.serviceInfo.permission; diff --git a/src/com/android/settings/applications/defaultapps/DefaultAutofillPreferenceController.java b/src/com/android/settings/applications/defaultapps/DefaultAutofillPreferenceController.java index b159d1dbd8c..787fbfa6329 100644 --- a/src/com/android/settings/applications/defaultapps/DefaultAutofillPreferenceController.java +++ b/src/com/android/settings/applications/defaultapps/DefaultAutofillPreferenceController.java @@ -24,6 +24,7 @@ import android.text.TextUtils; import android.view.autofill.AutofillManager; import com.android.settings.wrapper.AutofillManagerWrapper; +import com.android.settingslib.applications.DefaultAppInfo; public class DefaultAutofillPreferenceController extends DefaultAppPreferenceController { private AutofillManagerWrapper mAutofillManager; diff --git a/src/com/android/settings/applications/defaultapps/DefaultBrowserPicker.java b/src/com/android/settings/applications/defaultapps/DefaultBrowserPicker.java index 2639c8db848..8153be281b3 100644 --- a/src/com/android/settings/applications/defaultapps/DefaultBrowserPicker.java +++ b/src/com/android/settings/applications/defaultapps/DefaultBrowserPicker.java @@ -23,6 +23,8 @@ import android.content.pm.ResolveInfo; import com.android.internal.logging.nano.MetricsProto; import com.android.settings.R; +import com.android.settingslib.applications.DefaultAppInfo; + import java.util.ArrayList; import java.util.List; diff --git a/src/com/android/settings/applications/defaultapps/DefaultBrowserPreferenceController.java b/src/com/android/settings/applications/defaultapps/DefaultBrowserPreferenceController.java index 916f9422f53..c76291756cb 100644 --- a/src/com/android/settings/applications/defaultapps/DefaultBrowserPreferenceController.java +++ b/src/com/android/settings/applications/defaultapps/DefaultBrowserPreferenceController.java @@ -29,6 +29,8 @@ import android.text.TextUtils; import android.util.IconDrawableFactory; import android.util.Log; +import com.android.settingslib.applications.DefaultAppInfo; + import java.util.List; public class DefaultBrowserPreferenceController extends DefaultAppPreferenceController { diff --git a/src/com/android/settings/applications/defaultapps/DefaultEmergencyPicker.java b/src/com/android/settings/applications/defaultapps/DefaultEmergencyPicker.java index bafd56fd6ae..c20c0df490c 100644 --- a/src/com/android/settings/applications/defaultapps/DefaultEmergencyPicker.java +++ b/src/com/android/settings/applications/defaultapps/DefaultEmergencyPicker.java @@ -28,6 +28,8 @@ import android.text.TextUtils; import com.android.internal.logging.nano.MetricsProto; import com.android.settings.R; import com.android.settings.Utils; +import com.android.settingslib.applications.DefaultAppInfo; +import com.android.settingslib.widget.CandidateInfo; import java.util.ArrayList; import java.util.List; diff --git a/src/com/android/settings/applications/defaultapps/DefaultEmergencyPreferenceController.java b/src/com/android/settings/applications/defaultapps/DefaultEmergencyPreferenceController.java index 7713dbd57a7..d9f33204fe4 100644 --- a/src/com/android/settings/applications/defaultapps/DefaultEmergencyPreferenceController.java +++ b/src/com/android/settings/applications/defaultapps/DefaultEmergencyPreferenceController.java @@ -22,6 +22,8 @@ import android.content.pm.ResolveInfo; import android.provider.Settings; import android.telephony.TelephonyManager; +import com.android.settingslib.applications.DefaultAppInfo; + import java.util.List; public class DefaultEmergencyPreferenceController extends DefaultAppPreferenceController { diff --git a/src/com/android/settings/applications/defaultapps/DefaultHomePicker.java b/src/com/android/settings/applications/defaultapps/DefaultHomePicker.java index 7da390f3691..8617e85ab5c 100644 --- a/src/com/android/settings/applications/defaultapps/DefaultHomePicker.java +++ b/src/com/android/settings/applications/defaultapps/DefaultHomePicker.java @@ -30,6 +30,7 @@ import android.text.TextUtils; import com.android.internal.logging.nano.MetricsProto; import com.android.settings.R; +import com.android.settingslib.applications.DefaultAppInfo; import java.util.ArrayList; import java.util.List; diff --git a/src/com/android/settings/applications/defaultapps/DefaultHomePreferenceController.java b/src/com/android/settings/applications/defaultapps/DefaultHomePreferenceController.java index fa6ddff6e17..6f377973cc3 100644 --- a/src/com/android/settings/applications/defaultapps/DefaultHomePreferenceController.java +++ b/src/com/android/settings/applications/defaultapps/DefaultHomePreferenceController.java @@ -25,6 +25,7 @@ import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import com.android.settings.R; +import com.android.settingslib.applications.DefaultAppInfo; import com.android.settingslib.wrapper.PackageManagerWrapper; import java.util.ArrayList; diff --git a/src/com/android/settings/applications/defaultapps/DefaultPhonePicker.java b/src/com/android/settings/applications/defaultapps/DefaultPhonePicker.java index 6a1d919576a..e462ab88a7e 100644 --- a/src/com/android/settings/applications/defaultapps/DefaultPhonePicker.java +++ b/src/com/android/settings/applications/defaultapps/DefaultPhonePicker.java @@ -24,6 +24,7 @@ import android.text.TextUtils; import com.android.internal.logging.nano.MetricsProto; import com.android.settings.R; +import com.android.settingslib.applications.DefaultAppInfo; import java.util.ArrayList; import java.util.List; diff --git a/src/com/android/settings/applications/defaultapps/DefaultPhonePreferenceController.java b/src/com/android/settings/applications/defaultapps/DefaultPhonePreferenceController.java index 92c9386ea5c..37d71923f94 100644 --- a/src/com/android/settings/applications/defaultapps/DefaultPhonePreferenceController.java +++ b/src/com/android/settings/applications/defaultapps/DefaultPhonePreferenceController.java @@ -23,6 +23,8 @@ import android.os.UserManager; import android.telecom.DefaultDialerManager; import android.telephony.TelephonyManager; +import com.android.settingslib.applications.DefaultAppInfo; + import java.util.List; public class DefaultPhonePreferenceController extends DefaultAppPreferenceController { diff --git a/src/com/android/settings/applications/defaultapps/DefaultSmsPicker.java b/src/com/android/settings/applications/defaultapps/DefaultSmsPicker.java index 4c6c9ced030..91f9cafe95e 100644 --- a/src/com/android/settings/applications/defaultapps/DefaultSmsPicker.java +++ b/src/com/android/settings/applications/defaultapps/DefaultSmsPicker.java @@ -25,6 +25,8 @@ import com.android.internal.logging.nano.MetricsProto; import com.android.internal.telephony.SmsApplication; import com.android.settings.R; import com.android.settings.Utils; +import com.android.settingslib.applications.DefaultAppInfo; +import com.android.settingslib.widget.CandidateInfo; import java.util.ArrayList; import java.util.Collection; diff --git a/src/com/android/settings/applications/defaultapps/DefaultSmsPreferenceController.java b/src/com/android/settings/applications/defaultapps/DefaultSmsPreferenceController.java index c3b7ac4d72d..cb86b2ec955 100644 --- a/src/com/android/settings/applications/defaultapps/DefaultSmsPreferenceController.java +++ b/src/com/android/settings/applications/defaultapps/DefaultSmsPreferenceController.java @@ -21,6 +21,7 @@ import android.content.Context; import android.telephony.TelephonyManager; import com.android.internal.telephony.SmsApplication; +import com.android.settingslib.applications.DefaultAppInfo; import java.util.Collection; diff --git a/src/com/android/settings/applications/defaultapps/DefaultWorkBrowserPreferenceController.java b/src/com/android/settings/applications/defaultapps/DefaultWorkBrowserPreferenceController.java index 4dc984b8bca..46528558fcd 100644 --- a/src/com/android/settings/applications/defaultapps/DefaultWorkBrowserPreferenceController.java +++ b/src/com/android/settings/applications/defaultapps/DefaultWorkBrowserPreferenceController.java @@ -21,6 +21,7 @@ import android.os.UserHandle; import com.android.settings.Utils; + public class DefaultWorkBrowserPreferenceController extends DefaultBrowserPreferenceController { public static final String KEY = "work_default_browser"; diff --git a/src/com/android/settings/connecteddevice/usb/UsbDefaultFragment.java b/src/com/android/settings/connecteddevice/usb/UsbDefaultFragment.java index b2e1de599e8..4c2a9b16fbd 100644 --- a/src/com/android/settings/connecteddevice/usb/UsbDefaultFragment.java +++ b/src/com/android/settings/connecteddevice/usb/UsbDefaultFragment.java @@ -26,6 +26,7 @@ import com.android.internal.logging.nano.MetricsProto; import com.android.settings.R; import com.android.settings.Utils; import com.android.settings.widget.RadioButtonPickerFragment; +import com.android.settingslib.widget.CandidateInfo; import com.android.settingslib.widget.FooterPreference; import com.android.settingslib.widget.FooterPreferenceMixin; diff --git a/src/com/android/settings/development/WebViewAppPreferenceController.java b/src/com/android/settings/development/WebViewAppPreferenceController.java index 9ccb20b10f9..4f359103975 100644 --- a/src/com/android/settings/development/WebViewAppPreferenceController.java +++ b/src/com/android/settings/development/WebViewAppPreferenceController.java @@ -25,9 +25,9 @@ import android.text.TextUtils; import android.util.Log; import com.android.settings.R; -import com.android.settings.applications.defaultapps.DefaultAppInfo; import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.webview.WebViewUpdateServiceWrapper; +import com.android.settingslib.applications.DefaultAppInfo; import com.android.settingslib.development.DeveloperOptionsPreferenceController; import com.android.settingslib.wrapper.PackageManagerWrapper; diff --git a/src/com/android/settings/display/ColorModePreferenceFragment.java b/src/com/android/settings/display/ColorModePreferenceFragment.java index e3fb65d96f6..ea8dd6a8ab2 100644 --- a/src/com/android/settings/display/ColorModePreferenceFragment.java +++ b/src/com/android/settings/display/ColorModePreferenceFragment.java @@ -22,6 +22,7 @@ import com.android.internal.logging.nano.MetricsProto; import com.android.settings.R; import com.android.settings.widget.RadioButtonPickerFragment; +import com.android.settingslib.widget.CandidateInfo; import java.util.Arrays; import java.util.List; diff --git a/src/com/android/settings/display/VrDisplayPreferencePicker.java b/src/com/android/settings/display/VrDisplayPreferencePicker.java index 5487c46b15f..5f99be9388c 100644 --- a/src/com/android/settings/display/VrDisplayPreferencePicker.java +++ b/src/com/android/settings/display/VrDisplayPreferencePicker.java @@ -24,6 +24,7 @@ import android.text.TextUtils; import com.android.internal.logging.nano.MetricsProto; import com.android.settings.R; import com.android.settings.widget.RadioButtonPickerFragment; +import com.android.settingslib.widget.CandidateInfo; import java.util.ArrayList; import java.util.List; diff --git a/src/com/android/settings/dream/CurrentDreamPicker.java b/src/com/android/settings/dream/CurrentDreamPicker.java index f0d520c72ec..3ebce1c1d54 100644 --- a/src/com/android/settings/dream/CurrentDreamPicker.java +++ b/src/com/android/settings/dream/CurrentDreamPicker.java @@ -24,6 +24,7 @@ import com.android.settings.R; import com.android.settings.widget.RadioButtonPickerFragment; import com.android.settingslib.dream.DreamBackend; import com.android.settingslib.dream.DreamBackend.DreamInfo; +import com.android.settingslib.widget.CandidateInfo; import java.util.HashMap; import java.util.List; import java.util.Map; diff --git a/src/com/android/settings/dream/WhenToDreamPicker.java b/src/com/android/settings/dream/WhenToDreamPicker.java index 7031bdf7ad4..f6f89a89f8b 100644 --- a/src/com/android/settings/dream/WhenToDreamPicker.java +++ b/src/com/android/settings/dream/WhenToDreamPicker.java @@ -22,6 +22,7 @@ import com.android.internal.logging.nano.MetricsProto; import com.android.settings.R; import com.android.settings.widget.RadioButtonPickerFragment; import com.android.settingslib.dream.DreamBackend; +import com.android.settingslib.widget.CandidateInfo; import java.util.ArrayList; import java.util.List; diff --git a/src/com/android/settings/webview/WebViewAppPicker.java b/src/com/android/settings/webview/WebViewAppPicker.java index 0e9fc39ec6f..a5fef46ee2b 100644 --- a/src/com/android/settings/webview/WebViewAppPicker.java +++ b/src/com/android/settings/webview/WebViewAppPicker.java @@ -30,9 +30,9 @@ import android.text.TextUtils; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settings.R; -import com.android.settings.applications.defaultapps.DefaultAppInfo; import com.android.settings.applications.defaultapps.DefaultAppPickerFragment; import com.android.settings.wrapper.UserPackageWrapper; +import com.android.settingslib.applications.DefaultAppInfo; import com.android.settingslib.wrapper.PackageManagerWrapper; import java.util.ArrayList; diff --git a/src/com/android/settings/widget/RadioButtonPickerFragment.java b/src/com/android/settings/widget/RadioButtonPickerFragment.java index b3e87468b79..069d4611892 100644 --- a/src/com/android/settings/widget/RadioButtonPickerFragment.java +++ b/src/com/android/settings/widget/RadioButtonPickerFragment.java @@ -17,7 +17,6 @@ package com.android.settings.widget; import android.content.Context; -import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.UserHandle; import android.os.UserManager; @@ -34,6 +33,7 @@ import android.view.ViewGroup; import com.android.settings.R; import com.android.settings.Utils; import com.android.settings.core.InstrumentedPreferenceFragment; +import com.android.settingslib.widget.CandidateInfo; import java.util.List; import java.util.Map; @@ -223,19 +223,4 @@ public abstract class RadioButtonPickerFragment extends InstrumentedPreferenceFr return 0; } - public static abstract class CandidateInfo { - - public final boolean enabled; - - public CandidateInfo(boolean enabled) { - this.enabled = enabled; - } - - public abstract CharSequence loadLabel(); - - public abstract Drawable loadIcon(); - - public abstract String getKey(); - } - } diff --git a/tests/robotests/src/com/android/settings/accessibility/VibrationPreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/VibrationPreferenceFragmentTest.java index f6a5a8231b7..9729d664c11 100644 --- a/tests/robotests/src/com/android/settings/accessibility/VibrationPreferenceFragmentTest.java +++ b/tests/robotests/src/com/android/settings/accessibility/VibrationPreferenceFragmentTest.java @@ -35,7 +35,7 @@ import com.android.settings.TestConfig; import com.android.settings.accessibility.VibrationPreferenceFragment.VibrationIntensityCandidateInfo; import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.SettingsRobolectricTestRunner; -import com.android.settings.widget.RadioButtonPickerFragment.CandidateInfo; +import com.android.settingslib.widget.CandidateInfo; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/applications/assist/DefaultAssistPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/assist/DefaultAssistPreferenceControllerTest.java index eeaba210423..fc1adefc088 100644 --- a/tests/robotests/src/com/android/settings/applications/assist/DefaultAssistPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/applications/assist/DefaultAssistPreferenceControllerTest.java @@ -40,9 +40,9 @@ import android.provider.Settings; import com.android.internal.app.AssistUtils; import com.android.settings.TestConfig; -import com.android.settings.applications.defaultapps.DefaultAppInfo; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.shadow.ShadowSecureSettings; +import com.android.settingslib.applications.DefaultAppInfo; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppInfoTest.java b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppInfoTest.java deleted file mode 100644 index 8d28e0594bc..00000000000 --- a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppInfoTest.java +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright (C) 2017 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.settings.applications.defaultapps; - -import static com.google.common.truth.Truth.assertThat; - -import static org.mockito.ArgumentMatchers.anyInt; -import static org.mockito.ArgumentMatchers.anyString; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -import android.content.ComponentName; -import android.content.Context; -import android.content.pm.ApplicationInfo; -import android.content.pm.PackageItemInfo; -import android.content.pm.PackageManager; -import android.graphics.drawable.Drawable; - -import com.android.settings.TestConfig; -import com.android.settings.testutils.SettingsRobolectricTestRunner; -import com.android.settingslib.wrapper.PackageManagerWrapper; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.Mock; -import org.mockito.MockitoAnnotations; -import org.robolectric.RuntimeEnvironment; -import org.robolectric.annotation.Config; - -@RunWith(SettingsRobolectricTestRunner.class) -@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) -public class DefaultAppInfoTest { - - @Mock - private PackageItemInfo mPackageItemInfo; - @Mock - private ComponentName mComponentName; - @Mock - private PackageManager mPackageManager; - @Mock - private PackageManagerWrapper mPackageManagerWrapper; - @Mock - private ApplicationInfo mApplicationInfo; - @Mock - private Drawable mIcon; - - private Context mContext; - private DefaultAppInfo mInfo; - - @Before - public void setUp() throws PackageManager.NameNotFoundException { - MockitoAnnotations.initMocks(this); - mContext = spy(RuntimeEnvironment.application); - doReturn(mPackageManager).when(mContext).getPackageManager(); - when(mPackageManagerWrapper.getPackageManager()).thenReturn(mPackageManager); - when(mPackageManagerWrapper.getApplicationInfoAsUser(anyString(), anyInt(), - anyInt())).thenReturn(mApplicationInfo); - when(mPackageManager.loadUnbadgedItemIcon(mPackageItemInfo, mApplicationInfo)).thenReturn( - mIcon); - } - - @Test - public void initInfoWithActivityInfo_shouldLoadInfo() { - mPackageItemInfo.packageName = "test"; - mInfo = new DefaultAppInfo(mContext, mPackageManagerWrapper, mPackageItemInfo); - mInfo.loadLabel(); - Drawable icon = mInfo.loadIcon(); - - assertThat(mInfo.getKey()).isEqualTo(mPackageItemInfo.packageName); - assertThat(icon).isNotNull(); - verify(mPackageItemInfo).loadLabel(mPackageManager); - } - - @Test - public void initInfoWithComponent_shouldLoadInfo() { - when(mComponentName.getPackageName()).thenReturn("com.android.settings"); - - mInfo = new DefaultAppInfo(mContext, mPackageManagerWrapper, 0 /* uid */, mComponentName); - mInfo.getKey(); - - verify(mComponentName).flattenToString(); - } -} diff --git a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragmentTest.java b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragmentTest.java index 2cbe19f6724..26802ee21e5 100644 --- a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragmentTest.java +++ b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragmentTest.java @@ -37,6 +37,7 @@ import com.android.settings.TestConfig; import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.widget.RadioButtonPreference; +import com.android.settingslib.applications.DefaultAppInfo; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppPreferenceControllerTest.java index a02a2de57ac..7a82f304826 100644 --- a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppPreferenceControllerTest.java @@ -28,6 +28,7 @@ import android.support.v7.preference.Preference; import com.android.settings.R; import com.android.settings.TestConfig; import com.android.settings.testutils.SettingsRobolectricTestRunner; +import com.android.settingslib.applications.DefaultAppInfo; import com.android.settingslib.TwoTargetPreference; import org.junit.Before; diff --git a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutofillPickerTest.java b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutofillPickerTest.java index 11323c4e3c2..5b8807cec8e 100644 --- a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutofillPickerTest.java +++ b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutofillPickerTest.java @@ -29,6 +29,7 @@ import android.os.UserManager; import com.android.settings.TestConfig; import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.SettingsRobolectricTestRunner; +import com.android.settingslib.applications.DefaultAppInfo; import com.android.settingslib.wrapper.PackageManagerWrapper; import org.junit.Before; diff --git a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutofillPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutofillPreferenceControllerTest.java index 4e8a79efa9e..4adebe0d8fb 100644 --- a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutofillPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutofillPreferenceControllerTest.java @@ -27,6 +27,7 @@ import com.android.settings.R; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; import com.android.settings.wrapper.AutofillManagerWrapper; +import com.android.settingslib.applications.DefaultAppInfo; import com.android.settingslib.wrapper.PackageManagerWrapper; import org.junit.Before; diff --git a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultHomePickerTest.java b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultHomePickerTest.java index eeed1526b92..0aab5fbf99c 100644 --- a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultHomePickerTest.java +++ b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultHomePickerTest.java @@ -31,6 +31,7 @@ import android.os.UserManager; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; +import com.android.settingslib.applications.DefaultAppInfo; import com.android.settingslib.wrapper.PackageManagerWrapper; import org.junit.Before; diff --git a/tests/robotests/src/com/android/settings/development/WebViewAppPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/WebViewAppPreferenceControllerTest.java index 59f6e35c73c..c2727cc4dba 100644 --- a/tests/robotests/src/com/android/settings/development/WebViewAppPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/development/WebViewAppPreferenceControllerTest.java @@ -27,9 +27,9 @@ import android.support.v7.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.TestConfig; -import com.android.settings.applications.defaultapps.DefaultAppInfo; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.webview.WebViewUpdateServiceWrapper; +import com.android.settingslib.applications.DefaultAppInfo; import com.android.settingslib.wrapper.PackageManagerWrapper; import org.junit.Before; diff --git a/tests/robotests/src/com/android/settings/display/ColorModePreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/display/ColorModePreferenceFragmentTest.java index dc3d27ac802..68937b2f1c0 100644 --- a/tests/robotests/src/com/android/settings/display/ColorModePreferenceFragmentTest.java +++ b/tests/robotests/src/com/android/settings/display/ColorModePreferenceFragmentTest.java @@ -32,6 +32,7 @@ import com.android.settings.TestConfig; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.shadow.SettingsShadowSystemProperties; import com.android.settings.widget.RadioButtonPickerFragment; +import com.android.settingslib.widget.CandidateInfo; import org.junit.Before; import org.junit.Test; @@ -72,8 +73,7 @@ public class ColorModePreferenceFragmentTest { @Test public void getCandidates() { when(mFragment.getContext()).thenReturn(RuntimeEnvironment.application); - List candidates = - mFragment.getCandidates(); + List candidates = mFragment.getCandidates(); assertThat(candidates.size()).isEqualTo(3); assertThat(candidates.get(0).getKey()) diff --git a/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java b/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java index 59a08ae8801..a381075adc1 100644 --- a/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java +++ b/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java @@ -43,10 +43,10 @@ import android.content.pm.UserInfo; import android.os.UserManager; import com.android.settings.TestConfig; -import com.android.settings.applications.defaultapps.DefaultAppInfo; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.widget.RadioButtonPreference; import com.android.settings.wrapper.UserPackageWrapper; +import com.android.settingslib.applications.DefaultAppInfo; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import com.android.settingslib.wrapper.PackageManagerWrapper; diff --git a/tests/robotests/src/com/android/settings/widget/RadioButtonPickerFragmentTest.java b/tests/robotests/src/com/android/settings/widget/RadioButtonPickerFragmentTest.java index fd1d79e2f45..c8b3ef600ae 100644 --- a/tests/robotests/src/com/android/settings/widget/RadioButtonPickerFragmentTest.java +++ b/tests/robotests/src/com/android/settings/widget/RadioButtonPickerFragmentTest.java @@ -28,9 +28,9 @@ import android.os.UserManager; import android.support.v7.preference.PreferenceScreen; import com.android.settings.TestConfig; -import com.android.settings.applications.defaultapps.DefaultAppInfo; import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.SettingsRobolectricTestRunner; +import com.android.settingslib.applications.DefaultAppInfo; import org.junit.Before; import org.junit.Test;