From dee1a22c45c78dd1d4a681314045b0757b63623d Mon Sep 17 00:00:00 2001 From: Doris Ling Date: Thu, 31 Aug 2017 16:17:30 -0700 Subject: [PATCH] Consolidate all wrappers used for testing. - Add the wrapper package and move all wrappers to the wrapper package. - Get rid of some wrapper interface/impl implementation and have a wrapper class directly. Bug: 65634579 Test: make RunSettingsRoboTests Change-Id: Ic757d8f7bacfa7a034c7e692205bc1dc4b0e1de1 --- src/com/android/settings/Utils.java | 7 +- .../RemoveAccountPreferenceController.java | 5 +- .../AccessibilityServiceInfoWrapperImpl.java | 39 ------ .../applications/ActivityInfoWrapper.java | 30 ----- .../settings/applications/AppCounter.java | 2 + .../settings/applications/AppInfoBase.java | 5 +- .../settings/applications/AppLister.java | 2 + .../applications/AppStateAppOpsBridge.java | 3 +- ...AppWithAdminGrantedPermissionsCounter.java | 4 +- .../AppWithAdminGrantedPermissionsLister.java | 4 +- .../ApplicationFeatureProviderImpl.java | 4 +- .../AutofillManagerWrapperImpl.java | 45 ------- .../IPackageManagerWrapperImpl.java | 67 ---------- .../applications/InstalledAppCounter.java | 2 + .../applications/InstalledAppDetails.java | 4 +- .../applications/InstalledAppLister.java | 2 + .../applications/ManageApplications.java | 5 +- .../applications/NotificationApps.java | 3 +- .../applications/PackageManagerWrapper.java | 116 ---------------- .../PackageManagerWrapperImpl.java | 112 ---------------- .../PictureInPictureSettings.java | 3 +- .../RecentAppsPreferenceController.java | 3 +- .../applications/UserManagerWrapper.java | 32 ----- .../assist/DefaultVoiceInputPicker.java | 2 +- .../defaultapps/DefaultAppInfo.java | 2 +- .../defaultapps/DefaultAppPickerFragment.java | 5 +- .../DefaultAppPreferenceController.java | 5 +- .../DefaultAutofillPreferenceController.java | 5 +- .../DefaultHomePreferenceController.java | 2 +- .../InstantAppButtonsController.java | 5 +- .../suggestions/SuggestionsChecks.java | 1 + .../settings/datausage/AppDataUsage.java | 5 +- .../PrivateVolumeOptionMenuController.java | 2 +- .../deviceinfo/StorageDashboardFragment.java | 15 +-- .../deviceinfo/StorageProfileFragment.java | 8 +- .../storage/SecondaryUserController.java | 2 +- .../storage/StorageAsyncLoader.java | 4 +- .../storage/UserProfileController.java | 2 +- .../BrightnessLevelPreferenceController.java | 1 + .../DevicePolicyManagerWrapperImpl.java | 125 ------------------ .../EnterprisePrivacyFeatureProviderImpl.java | 5 +- .../fingerprint/FingerprintEnrollSidecar.java | 5 +- .../fuelgauge/AdvancedPowerUsageDetail.java | 5 +- .../AppButtonsPreferenceController.java | 2 +- ...ackgroundActivityPreferenceController.java | 5 +- .../anomaly/AnomalyDetectionPolicy.java | 4 +- .../KeyValueListParserWrapperImpl.java | 50 ------- .../MobileNetworkPreferenceController.java | 1 + .../settings/network/NetworkScorerPicker.java | 1 + ...tworkScorerPickerPreferenceController.java | 1 + .../settings/overlay/FeatureFactoryImpl.java | 20 +-- .../password/IFingerprintManager.java | 39 ------ .../password/SetNewPasswordController.java | 7 +- .../search/InstalledAppResultLoader.java | 2 +- .../search/SearchFeatureProviderImpl.java | 4 +- .../vpn2/ConnectivityManagerWrapperImpl.java | 59 --------- src/com/android/settings/vpn2/VpnUtils.java | 1 + .../settings/webview/WebViewAppPicker.java | 3 +- .../webview/WebViewUpdateServiceWrapper.java | 2 + .../settings/wifi/ConfigureWifiSettings.java | 2 +- .../wifi/ConnectivityManagerWrapper.java | 36 ----- .../wifi/UseOpenWifiPreferenceController.java | 2 +- .../android/settings/wifi/WifiEnabler.java | 1 + .../android/settings/wifi/WifiSettings.java | 1 + .../wifi/WifiWakeupPreferenceController.java | 2 +- .../wifi/WriteWifiConfigToNfcDialog.java | 2 +- .../WifiDetailPreferenceController.java | 2 +- .../details/WifiNetworkDetailsFragment.java | 4 +- .../AccessibilityManagerWrapper.java} | 4 +- .../AccessibilityServiceInfoWrapper.java | 22 ++- .../ActivityInfoWrapper.java} | 15 ++- .../AutofillManagerWrapper.java | 30 ++++- .../ConnectivityManagerWrapper.java | 39 ++++-- .../DevicePolicyManagerWrapper.java | 90 +++++++++---- .../FingerprintManagerWrapper.java | 17 ++- .../IPackageManagerWrapper.java | 42 ++++-- .../KeyValueListParserWrapper.java | 27 +++- .../NetworkScoreManagerWrapper.java | 2 +- .../PowerManagerWrapper.java | 2 +- .../RestrictedLockUtilsWrapper.java | 2 +- .../UserManagerWrapper.java} | 14 +- .../UserPackageWrapper.java | 8 +- .../UserPackageWrapperImpl.java | 10 +- .../WallpaperManagerWrapper.java | 2 +- .../{wifi => wrapper}/WifiManagerWrapper.java | 2 +- .../src/com/android/settings/UtilsTest.java | 2 +- .../ShortcutServicePickerFragmentTest.java | 3 +- ...RemoveAccountPreferenceControllerTest.java | 2 +- .../AppStateAppOpsBridgeTest.java | 1 + ...ithAdminGrantedPermissionsCounterTest.java | 4 +- ...WithAdminGrantedPermissionsListerTest.java | 4 +- .../ApplicationFeatureProviderImplTest.java | 4 +- .../applications/InstalledAppCounterTest.java | 1 + .../applications/InstalledAppDetailsTest.java | 4 +- .../applications/InstalledAppListerTest.java | 1 + .../applications/NotificationAppsTest.java | 1 + .../PictureInPictureDetailsTest.java | 4 +- .../defaultapps/DefaultAppInfoTest.java | 3 +- .../DefaultAutofillPickerTest.java | 2 +- ...faultAutofillPreferenceControllerTest.java | 5 +- .../defaultapps/DefaultBrowserPickerTest.java | 3 +- ...efaultBrowserPreferenceControllerTest.java | 3 +- .../DefaultEmergencyPickerTest.java | 2 +- .../defaultapps/DefaultHomePickerTest.java | 2 +- .../DefaultHomePreferenceControllerTest.java | 3 +- .../defaultapps/DefaultPhonePickerTest.java | 3 +- .../defaultapps/DefaultSmsPickerTest.java | 3 +- .../InstantAppButtonsControllerTest.java | 2 +- .../suggestions/SuggestionsChecksTest.java | 1 + .../settings/datausage/AppDataUsageTest.java | 3 +- ...PrivateVolumeOptionMenuControllerTest.java | 2 +- .../storage/SecondaryUserControllerTest.java | 2 +- .../storage/UserProfileControllerTest.java | 2 +- ...ightnessLevelPreferenceControllerTest.java | 1 + ...erprisePrivacyFeatureProviderImplTest.java | 5 +- .../FingerprintEnrollFindSensorTest.java | 4 +- .../SetupFingerprintEnrollFindSensorTest.java | 4 +- .../AppButtonsPreferenceControllerTest.java | 2 +- ...roundActivityPreferenceControllerTest.java | 2 +- .../anomaly/AnomalyDetectionPolicyTest.java | 3 +- ...kScorerPickerPreferenceControllerTest.java | 1 + .../network/NetworkScorerPickerTest.java | 3 +- .../SetNewPasswordControllerTest.java | 4 +- .../search/InstalledAppResultLoaderTest.java | 2 +- ...ShadowAccessibilityManagerWrapperImpl.java | 4 +- ...owAccessibilityServiceInfoWrapperImpl.java | 4 +- .../ShadowKeyValueListParserWrapperImpl.java | 4 +- .../shadow/ShadowPowerManagerWrapper.java | 2 +- .../ShadowRestrictedLockUtilsWrapper.java | 2 +- .../testutils/shadow/ShadowUtils.java | 8 +- .../android/settings/vpn2/VpnUtilsTest.java | 1 + .../webview/WebViewAppPickerTest.java | 3 +- .../UseOpenWifiPreferenceControllerTest.java | 2 +- .../settings/wifi/WifiEnablerTest.java | 1 + .../WifiWakeupPreferenceControllerTest.java | 2 +- .../wifi/WriteWifiConfigToNfcDialogTest.java | 1 + .../WifiDetailPreferenceControllerTest.java | 4 +- .../storage/StorageAsyncLoaderTest.java | 4 +- 138 files changed, 421 insertions(+), 1010 deletions(-) delete mode 100644 src/com/android/settings/applications/AccessibilityServiceInfoWrapperImpl.java delete mode 100644 src/com/android/settings/applications/ActivityInfoWrapper.java delete mode 100644 src/com/android/settings/applications/AutofillManagerWrapperImpl.java delete mode 100644 src/com/android/settings/applications/IPackageManagerWrapperImpl.java delete mode 100644 src/com/android/settings/applications/PackageManagerWrapper.java delete mode 100644 src/com/android/settings/applications/PackageManagerWrapperImpl.java delete mode 100644 src/com/android/settings/applications/UserManagerWrapper.java delete mode 100644 src/com/android/settings/enterprise/DevicePolicyManagerWrapperImpl.java delete mode 100644 src/com/android/settings/fuelgauge/anomaly/KeyValueListParserWrapperImpl.java delete mode 100644 src/com/android/settings/password/IFingerprintManager.java delete mode 100644 src/com/android/settings/vpn2/ConnectivityManagerWrapperImpl.java delete mode 100644 src/com/android/settings/wifi/ConnectivityManagerWrapper.java rename src/com/android/settings/{applications/AccessibilityManagerWrapperImpl.java => wrapper/AccessibilityManagerWrapper.java} (93%) rename src/com/android/settings/{applications => wrapper}/AccessibilityServiceInfoWrapper.java (67%) rename src/com/android/settings/{applications/ActivityInfoWrapperImpl.java => wrapper/ActivityInfoWrapper.java} (67%) rename src/com/android/settings/{applications => wrapper}/AutofillManagerWrapper.java (61%) rename src/com/android/settings/{vpn2 => wrapper}/ConnectivityManagerWrapper.java (72%) rename src/com/android/settings/{enterprise => wrapper}/DevicePolicyManagerWrapper.java (59%) rename src/com/android/settings/{password => wrapper}/FingerprintManagerWrapper.java (79%) rename src/com/android/settings/{applications => wrapper}/IPackageManagerWrapper.java (60%) rename src/com/android/settings/{fuelgauge/anomaly => wrapper}/KeyValueListParserWrapper.java (71%) rename src/com/android/settings/{network => wrapper}/NetworkScoreManagerWrapper.java (98%) rename src/com/android/settings/{display => wrapper}/PowerManagerWrapper.java (97%) rename src/com/android/settings/{network => wrapper}/RestrictedLockUtilsWrapper.java (93%) rename src/com/android/settings/{applications/UserManagerWrapperImpl.java => wrapper/UserManagerWrapper.java} (66%) rename src/com/android/settings/{webview => wrapper}/UserPackageWrapper.java (86%) rename src/com/android/settings/{webview => wrapper}/UserPackageWrapperImpl.java (84%) rename src/com/android/settings/{dashboard/suggestions => wrapper}/WallpaperManagerWrapper.java (95%) rename src/com/android/settings/{wifi => wrapper}/WifiManagerWrapper.java (93%) diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java index fa61cecdf2f..89724ccb34b 100644 --- a/src/com/android/settings/Utils.java +++ b/src/com/android/settings/Utils.java @@ -110,9 +110,8 @@ import com.android.internal.app.UnlaunchableAppActivity; import com.android.internal.util.ArrayUtils; import com.android.internal.util.UserIcons; import com.android.internal.widget.LockPatternUtils; -import com.android.settings.enterprise.DevicePolicyManagerWrapper; -import com.android.settings.password.FingerprintManagerWrapper; -import com.android.settings.password.IFingerprintManager; +import com.android.settings.wrapper.FingerprintManagerWrapper; +import com.android.settings.wrapper.DevicePolicyManagerWrapper; import java.io.IOException; import java.io.InputStream; @@ -1258,7 +1257,7 @@ public final class Utils extends com.android.settingslib.Utils { } } - public static IFingerprintManager getFingerprintManagerWrapperOrNull(Context context) { + public static FingerprintManagerWrapper getFingerprintManagerWrapperOrNull(Context context) { FingerprintManager fingerprintManager = getFingerprintManagerOrNull(context); if (fingerprintManager != null) { return new FingerprintManagerWrapper(fingerprintManager); diff --git a/src/com/android/settings/accounts/RemoveAccountPreferenceController.java b/src/com/android/settings/accounts/RemoveAccountPreferenceController.java index b5133d3b320..068847f00a5 100644 --- a/src/com/android/settings/accounts/RemoveAccountPreferenceController.java +++ b/src/com/android/settings/accounts/RemoveAccountPreferenceController.java @@ -43,8 +43,7 @@ import com.android.settings.R; import com.android.settings.applications.LayoutPreference; import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.core.instrumentation.InstrumentedDialogFragment; -import com.android.settings.enterprise.DevicePolicyManagerWrapper; -import com.android.settings.enterprise.DevicePolicyManagerWrapperImpl; +import com.android.settings.wrapper.DevicePolicyManagerWrapper; import com.android.settingslib.core.AbstractPreferenceController; import java.io.IOException; @@ -60,7 +59,7 @@ public class RemoveAccountPreferenceController extends AbstractPreferenceControl private DevicePolicyManagerWrapper mDpm; public RemoveAccountPreferenceController(Context context, Fragment parent) { - this(context, parent, new DevicePolicyManagerWrapperImpl( + this(context, parent, new DevicePolicyManagerWrapper( (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE))); } diff --git a/src/com/android/settings/applications/AccessibilityServiceInfoWrapperImpl.java b/src/com/android/settings/applications/AccessibilityServiceInfoWrapperImpl.java deleted file mode 100644 index d0d99ea6533..00000000000 --- a/src/com/android/settings/applications/AccessibilityServiceInfoWrapperImpl.java +++ /dev/null @@ -1,39 +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; - -import android.accessibilityservice.AccessibilityServiceInfo; -import android.content.ComponentName; - -public class AccessibilityServiceInfoWrapperImpl implements AccessibilityServiceInfoWrapper { - - private final AccessibilityServiceInfo mServiceInfo; - - public AccessibilityServiceInfoWrapperImpl(AccessibilityServiceInfo serviceInfo) { - mServiceInfo = serviceInfo; - } - - @Override - public AccessibilityServiceInfo getAccessibilityServiceInfo() { - return mServiceInfo; - } - - @Override - public ComponentName getComponentName() { - return mServiceInfo.getComponentName(); - } -} diff --git a/src/com/android/settings/applications/ActivityInfoWrapper.java b/src/com/android/settings/applications/ActivityInfoWrapper.java deleted file mode 100644 index 4cb6e68c5cf..00000000000 --- a/src/com/android/settings/applications/ActivityInfoWrapper.java +++ /dev/null @@ -1,30 +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; - -/** - * This interface replicates a subset of the android.content.pm.ActivityInfo. The interface - * exists so that we can use a thin wrapper around the ActivityInfo in production code and a mock in - * tests. - */ -public interface ActivityInfoWrapper { - - /** - * Returns whether this activity supports picture-in-picture. - */ - boolean supportsPictureInPicture(); -} diff --git a/src/com/android/settings/applications/AppCounter.java b/src/com/android/settings/applications/AppCounter.java index 8c7aed7aefa..a02ecfa70fa 100644 --- a/src/com/android/settings/applications/AppCounter.java +++ b/src/com/android/settings/applications/AppCounter.java @@ -22,6 +22,8 @@ import android.os.AsyncTask; import android.os.UserHandle; import android.os.UserManager; +import com.android.settingslib.wrapper.PackageManagerWrapper; + import java.util.List; public abstract class AppCounter extends AsyncTask { diff --git a/src/com/android/settings/applications/AppInfoBase.java b/src/com/android/settings/applications/AppInfoBase.java index a5daee26564..b06c070c53f 100644 --- a/src/com/android/settings/applications/AppInfoBase.java +++ b/src/com/android/settings/applications/AppInfoBase.java @@ -43,9 +43,8 @@ import com.android.settings.SettingsActivity; import com.android.settings.SettingsPreferenceFragment; import com.android.settings.Utils; import com.android.settings.core.instrumentation.InstrumentedDialogFragment; -import com.android.settings.enterprise.DevicePolicyManagerWrapper; -import com.android.settings.enterprise.DevicePolicyManagerWrapperImpl; import com.android.settings.overlay.FeatureFactory; +import com.android.settings.wrapper.DevicePolicyManagerWrapper; import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.applications.ApplicationsState; import com.android.settingslib.applications.ApplicationsState.AppEntry; @@ -94,7 +93,7 @@ public abstract class AppInfoBase extends SettingsPreferenceFragment .getApplicationFeatureProvider(activity); mState = ApplicationsState.getInstance(activity.getApplication()); mSession = mState.newSession(this); - mDpm = new DevicePolicyManagerWrapperImpl( + mDpm = new DevicePolicyManagerWrapper( (DevicePolicyManager) activity.getSystemService(Context.DEVICE_POLICY_SERVICE)); mUserManager = (UserManager) activity.getSystemService(Context.USER_SERVICE); mPm = activity.getPackageManager(); diff --git a/src/com/android/settings/applications/AppLister.java b/src/com/android/settings/applications/AppLister.java index 425afa0fd07..f1a3be91dbe 100644 --- a/src/com/android/settings/applications/AppLister.java +++ b/src/com/android/settings/applications/AppLister.java @@ -23,6 +23,8 @@ import android.os.AsyncTask; import android.os.UserHandle; import android.os.UserManager; +import com.android.settingslib.wrapper.PackageManagerWrapper; + import java.util.ArrayList; import java.util.List; diff --git a/src/com/android/settings/applications/AppStateAppOpsBridge.java b/src/com/android/settings/applications/AppStateAppOpsBridge.java index 896102cb124..6ec32a3fdf5 100755 --- a/src/com/android/settings/applications/AppStateAppOpsBridge.java +++ b/src/com/android/settings/applications/AppStateAppOpsBridge.java @@ -31,6 +31,7 @@ import android.util.SparseArray; import com.android.settingslib.applications.ApplicationsState; import com.android.settingslib.applications.ApplicationsState.AppEntry; +import com.android.settings.wrapper.IPackageManagerWrapper; import java.util.Arrays; import java.util.Collection; @@ -57,7 +58,7 @@ public abstract class AppStateAppOpsBridge extends AppStateBaseBridge { public AppStateAppOpsBridge(Context context, ApplicationsState appState, Callback callback, int appOpsOpCode, String[] permissions) { this(context, appState, callback, appOpsOpCode, permissions, - new IPackageManagerWrapperImpl(AppGlobals.getPackageManager())); + new IPackageManagerWrapper(AppGlobals.getPackageManager())); } @VisibleForTesting(otherwise = VisibleForTesting.NONE) diff --git a/src/com/android/settings/applications/AppWithAdminGrantedPermissionsCounter.java b/src/com/android/settings/applications/AppWithAdminGrantedPermissionsCounter.java index c7d0a627268..a1bf14edb52 100644 --- a/src/com/android/settings/applications/AppWithAdminGrantedPermissionsCounter.java +++ b/src/com/android/settings/applications/AppWithAdminGrantedPermissionsCounter.java @@ -22,7 +22,9 @@ import android.os.Build; import android.os.RemoteException; import android.os.UserHandle; -import com.android.settings.enterprise.DevicePolicyManagerWrapper; +import com.android.settings.wrapper.DevicePolicyManagerWrapper; +import com.android.settings.wrapper.IPackageManagerWrapper; +import com.android.settingslib.wrapper.PackageManagerWrapper; /** * Counts installed apps across all users that have been granted one or more specific permissions by diff --git a/src/com/android/settings/applications/AppWithAdminGrantedPermissionsLister.java b/src/com/android/settings/applications/AppWithAdminGrantedPermissionsLister.java index b21f31f3a7d..dd5a8076462 100644 --- a/src/com/android/settings/applications/AppWithAdminGrantedPermissionsLister.java +++ b/src/com/android/settings/applications/AppWithAdminGrantedPermissionsLister.java @@ -18,7 +18,9 @@ package com.android.settings.applications; import android.content.pm.ApplicationInfo; import android.os.UserManager; -import com.android.settings.enterprise.DevicePolicyManagerWrapper; +import com.android.settings.wrapper.DevicePolicyManagerWrapper; +import com.android.settings.wrapper.IPackageManagerWrapper; +import com.android.settingslib.wrapper.PackageManagerWrapper; /** * Lists installed apps across all users that have been granted one or more specific permissions by diff --git a/src/com/android/settings/applications/ApplicationFeatureProviderImpl.java b/src/com/android/settings/applications/ApplicationFeatureProviderImpl.java index 10b61c5570b..5323cd5e58b 100644 --- a/src/com/android/settings/applications/ApplicationFeatureProviderImpl.java +++ b/src/com/android/settings/applications/ApplicationFeatureProviderImpl.java @@ -29,7 +29,9 @@ import android.util.ArraySet; import android.view.View; import com.android.settings.applications.instantapps.InstantAppButtonsController; -import com.android.settings.enterprise.DevicePolicyManagerWrapper; +import com.android.settings.wrapper.DevicePolicyManagerWrapper; +import com.android.settings.wrapper.IPackageManagerWrapper; +import com.android.settingslib.wrapper.PackageManagerWrapper; import java.util.ArrayList; import java.util.List; diff --git a/src/com/android/settings/applications/AutofillManagerWrapperImpl.java b/src/com/android/settings/applications/AutofillManagerWrapperImpl.java deleted file mode 100644 index 9dd1b33b80b..00000000000 --- a/src/com/android/settings/applications/AutofillManagerWrapperImpl.java +++ /dev/null @@ -1,45 +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; - -import android.view.autofill.AutofillManager; - -public class AutofillManagerWrapperImpl implements AutofillManagerWrapper { - private final AutofillManager mAfm; - - public AutofillManagerWrapperImpl(AutofillManager afm) { - mAfm = afm; - } - - @Override - public boolean hasAutofillFeature() { - if (mAfm == null) { - return false; - } - - return mAfm.hasAutofillFeature(); - } - - @Override - public boolean isAutofillSupported() { - if (mAfm == null) { - return false; - } - - return mAfm.isAutofillSupported(); - } -} diff --git a/src/com/android/settings/applications/IPackageManagerWrapperImpl.java b/src/com/android/settings/applications/IPackageManagerWrapperImpl.java deleted file mode 100644 index af5f37868d9..00000000000 --- a/src/com/android/settings/applications/IPackageManagerWrapperImpl.java +++ /dev/null @@ -1,67 +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; - -import android.content.Intent; -import android.content.pm.IPackageManager; -import android.content.pm.PackageInfo; -import android.content.pm.ParceledListSlice; -import android.content.pm.ResolveInfo; -import android.os.RemoteException; - -public class IPackageManagerWrapperImpl implements IPackageManagerWrapper { - - private final IPackageManager mPms; - - public IPackageManagerWrapperImpl(IPackageManager pms) { - mPms = pms; - } - - @Override - public int checkUidPermission(String permName, int uid) throws RemoteException { - return mPms.checkUidPermission(permName, uid); - } - - @Override - public ResolveInfo findPersistentPreferredActivity(Intent intent, int userId) - throws RemoteException { - return mPms.findPersistentPreferredActivity(intent, userId); - } - - @Override - public PackageInfo getPackageInfo(String packageName, int flags, int userId) - throws RemoteException { - return mPms.getPackageInfo(packageName, flags, userId); - } - - @Override - public String[] getAppOpPermissionPackages(String permissionName) throws RemoteException { - return mPms.getAppOpPermissionPackages(permissionName); - } - - @Override - public boolean isPackageAvailable(String packageName, int userId) throws RemoteException { - return mPms.isPackageAvailable(packageName, userId); - } - - @Override - public ParceledListSlice getPackagesHoldingPermissions( - String[] permissions, int flags, int userId) throws RemoteException { - return mPms.getPackagesHoldingPermissions(permissions, flags, userId); - } - -} diff --git a/src/com/android/settings/applications/InstalledAppCounter.java b/src/com/android/settings/applications/InstalledAppCounter.java index 932facee6f5..26372ee577e 100644 --- a/src/com/android/settings/applications/InstalledAppCounter.java +++ b/src/com/android/settings/applications/InstalledAppCounter.java @@ -21,6 +21,8 @@ import android.content.pm.ResolveInfo; import android.content.pm.PackageManager; import android.os.UserHandle; +import com.android.settingslib.wrapper.PackageManagerWrapper; + import java.util.List; public abstract class InstalledAppCounter extends AppCounter { diff --git a/src/com/android/settings/applications/InstalledAppDetails.java b/src/com/android/settings/applications/InstalledAppDetails.java index 209cd22b972..2f44d3ec3f1 100755 --- a/src/com/android/settings/applications/InstalledAppDetails.java +++ b/src/com/android/settings/applications/InstalledAppDetails.java @@ -24,7 +24,6 @@ import android.app.ActivityManager; import android.app.AlertDialog; import android.app.LoaderManager; import android.app.LoaderManager.LoaderCallbacks; -import android.app.admin.DevicePolicyManager; import android.content.ActivityNotFoundException; import android.content.BroadcastReceiver; import android.content.ComponentName; @@ -106,6 +105,7 @@ import com.android.settingslib.applications.StorageStatsSource.AppStorageStats; import com.android.settingslib.development.DevelopmentSettingsEnabler; import com.android.settingslib.net.ChartData; import com.android.settingslib.net.ChartDataLoader; +import com.android.settingslib.wrapper.PackageManagerWrapper; import java.lang.ref.WeakReference; import java.util.ArrayList; @@ -1236,7 +1236,7 @@ public class InstalledAppDetails extends AppInfoBase if (pref != null) { pref.setSummary(DefaultHomePreferenceController.isHomeDefault(mPackageName, - new PackageManagerWrapperImpl(context.getPackageManager())) + new PackageManagerWrapper(context.getPackageManager())) ? R.string.yes : R.string.no); } pref = findPreference("default_browser"); diff --git a/src/com/android/settings/applications/InstalledAppLister.java b/src/com/android/settings/applications/InstalledAppLister.java index d8e7c58d3d9..3312d3ebce3 100644 --- a/src/com/android/settings/applications/InstalledAppLister.java +++ b/src/com/android/settings/applications/InstalledAppLister.java @@ -20,6 +20,8 @@ import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.os.UserManager; +import com.android.settingslib.wrapper.PackageManagerWrapper; + public abstract class InstalledAppLister extends AppLister { public InstalledAppLister(PackageManagerWrapper packageManager, UserManager userManager) { diff --git a/src/com/android/settings/applications/ManageApplications.java b/src/com/android/settings/applications/ManageApplications.java index 11eb0ccefd1..90b6a546b5b 100644 --- a/src/com/android/settings/applications/ManageApplications.java +++ b/src/com/android/settings/applications/ManageApplications.java @@ -90,6 +90,7 @@ import com.android.settingslib.applications.ApplicationsState.AppFilter; import com.android.settingslib.applications.ApplicationsState.CompoundFilter; import com.android.settingslib.applications.ApplicationsState.VolumeFilter; import com.android.settingslib.applications.StorageStatsSource; +import com.android.settingslib.wrapper.PackageManagerWrapper; import java.util.ArrayList; import java.util.Arrays; @@ -888,7 +889,6 @@ public class ManageApplications extends InstrumentedPreferenceFragment private int mLastSortMode = -1; private int mWhichSize = SIZE_TOTAL; CharSequence mCurFilterPrefix; - private PackageManager mPm; private AppFilter mCompositeFilter; private boolean mHasReceivedLoadEntries; private boolean mHasReceivedBridgeCallback; @@ -938,7 +938,6 @@ public class ManageApplications extends InstrumentedPreferenceFragment mManageApplications.mListContainer ); mContext = manageApplications.getActivity(); - mPm = mContext.getPackageManager(); mFilterMode = filterMode; if (mManageApplications.mListType == LIST_TYPE_NOTIFICATION) { mExtraInfoBridge = new AppStateNotificationBridge(mContext, mState, this, @@ -1491,7 +1490,7 @@ public class ManageApplications extends InstrumentedPreferenceFragment public void setListening(boolean listening) { if (listening) { new InstalledAppCounter(mContext, InstalledAppCounter.IGNORE_INSTALL_REASON, - new PackageManagerWrapperImpl(mContext.getPackageManager())) { + new PackageManagerWrapper(mContext.getPackageManager())) { @Override protected void onCountComplete(int num) { mLoader.setSummary(SummaryProvider.this, diff --git a/src/com/android/settings/applications/NotificationApps.java b/src/com/android/settings/applications/NotificationApps.java index f290d43b831..ee802dd5d9e 100644 --- a/src/com/android/settings/applications/NotificationApps.java +++ b/src/com/android/settings/applications/NotificationApps.java @@ -21,6 +21,7 @@ import android.content.pm.ApplicationInfo; import com.android.settings.R; import com.android.settings.dashboard.SummaryLoader; import com.android.settings.notification.NotificationBackend; +import com.android.settingslib.wrapper.PackageManagerWrapper; /** * Extension of ManageApplications with no changes other than having its own @@ -39,7 +40,7 @@ public class NotificationApps extends ManageApplications { mContext = context; mLoader = loader; mNotificationBackend = new NotificationBackend(); - mPackageManager = new PackageManagerWrapperImpl(mContext.getPackageManager()); + mPackageManager = new PackageManagerWrapper(mContext.getPackageManager()); } @Override diff --git a/src/com/android/settings/applications/PackageManagerWrapper.java b/src/com/android/settings/applications/PackageManagerWrapper.java deleted file mode 100644 index 580b578da73..00000000000 --- a/src/com/android/settings/applications/PackageManagerWrapper.java +++ /dev/null @@ -1,116 +0,0 @@ -/* - * Copyright (C) 2016 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; - -import android.content.ComponentName; -import android.content.Intent; -import android.content.IntentFilter; -import android.content.pm.ApplicationInfo; -import android.content.pm.IPackageDeleteObserver; -import android.content.pm.PackageManager; -import android.content.pm.ResolveInfo; -import android.os.UserHandle; -import android.os.storage.VolumeInfo; - -import java.util.List; - -/** - * This interface replicates a subset of the android.content.pm.PackageManager (PM). The interface - * exists so that we can use a thin wrapper around the PM in production code and a mock in tests. - * We cannot directly mock or shadow the PM, because some of the methods we rely on are newer than - * the API version supported by Robolectric. - */ -public interface PackageManagerWrapper { - - /** - * Returns the real {@code PackageManager} object. - */ - PackageManager getPackageManager(); - - /** - * Calls {@code PackageManager.getInstalledApplicationsAsUser()}. - * - * @see android.content.pm.PackageManager#getInstalledApplicationsAsUser - */ - List getInstalledApplicationsAsUser(int flags, int userId); - - /** - * Calls {@code PackageManager.hasSystemFeature()}. - * - * @see android.content.pm.PackageManager#hasSystemFeature - */ - boolean hasSystemFeature(String name); - - /** - * Calls {@code PackageManager.queryIntentActivitiesAsUser()}. - * - * @see android.content.pm.PackageManager#queryIntentActivitiesAsUser - */ - List queryIntentActivitiesAsUser(Intent intent, int flags, int userId); - - /** - * Calls {@code PackageManager.getInstallReason()}. - * - * @see android.content.pm.PackageManager#getInstallReason - */ - int getInstallReason(String packageName, UserHandle user); - - /** - * Calls {@code PackageManager.getApplicationInfoAsUser} - */ - ApplicationInfo getApplicationInfoAsUser(String packageName, int i, int userId) - throws PackageManager.NameNotFoundException; - - /** - * Calls {@code PackageManager.setDefaultBrowserPackageNameAsUser} - */ - boolean setDefaultBrowserPackageNameAsUser(String packageName, int userId); - - /** - * Calls {@code PackageManager.getDefaultBrowserPackageNameAsUser} - */ - String getDefaultBrowserPackageNameAsUser(int userId); - - /** - * Calls {@code PackageManager.getHomeActivities} - */ - ComponentName getHomeActivities(List homeActivities); - - /** - * Calls {@code PackageManager.queryIntentServicesAsUser} - */ - List queryIntentServicesAsUser(Intent intent, int i, int user); - - /** - * Calls {@code PackageManager.replacePreferredActivity} - */ - void replacePreferredActivity(IntentFilter homeFilter, int matchCategoryEmpty, - ComponentName[] componentNames, ComponentName component); - - /** - * Calls {@code PackageManager.getPrimaryStorageCurrentVolume} - */ - VolumeInfo getPrimaryStorageCurrentVolume(); - - /** - * Calls {@code PackageManager.deletePackageAsUser} - */ - void deletePackageAsUser(String packageName, IPackageDeleteObserver observer, int flags, - int userId); - - int getPackageUidAsUser(String pkg, int userId) throws PackageManager.NameNotFoundException; -} diff --git a/src/com/android/settings/applications/PackageManagerWrapperImpl.java b/src/com/android/settings/applications/PackageManagerWrapperImpl.java deleted file mode 100644 index a47137c069f..00000000000 --- a/src/com/android/settings/applications/PackageManagerWrapperImpl.java +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Copyright (C) 2016 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; - -import android.content.ComponentName; -import android.content.Intent; -import android.content.IntentFilter; -import android.content.pm.ApplicationInfo; -import android.content.pm.IPackageDeleteObserver; -import android.content.pm.PackageManager; -import android.content.pm.ResolveInfo; -import android.os.UserHandle; -import android.os.storage.VolumeInfo; - -import java.util.List; - -public class PackageManagerWrapperImpl implements PackageManagerWrapper { - - private final PackageManager mPm; - - public PackageManagerWrapperImpl(PackageManager pm) { - mPm = pm; - } - - @Override - public PackageManager getPackageManager() { - return mPm; - } - - @Override - public List getInstalledApplicationsAsUser(int flags, int userId) { - return mPm.getInstalledApplicationsAsUser(flags, userId); - } - - @Override - public boolean hasSystemFeature(String name) { - return mPm.hasSystemFeature(name); - } - - @Override - public List queryIntentActivitiesAsUser(Intent intent, int flags, int userId) { - return mPm.queryIntentActivitiesAsUser(intent, flags, userId); - } - - @Override - public int getInstallReason(String packageName, UserHandle user) { - return mPm.getInstallReason(packageName, user); - } - - @Override - public ApplicationInfo getApplicationInfoAsUser(String packageName, int i, int userId) - throws PackageManager.NameNotFoundException { - return mPm.getApplicationInfoAsUser(packageName, i, userId); - } - - @Override - public boolean setDefaultBrowserPackageNameAsUser(String packageName, int userId) { - return mPm.setDefaultBrowserPackageNameAsUser(packageName, userId); - } - - @Override - public String getDefaultBrowserPackageNameAsUser(int userId) { - return mPm.getDefaultBrowserPackageNameAsUser(userId); - } - - @Override - public ComponentName getHomeActivities(List homeActivities) { - return mPm.getHomeActivities(homeActivities); - } - - @Override - public List queryIntentServicesAsUser(Intent intent, int i, int user) { - return mPm.queryIntentServicesAsUser(intent, i, user); - } - - @Override - public void replacePreferredActivity(IntentFilter homeFilter, int matchCategoryEmpty, - ComponentName[] componentNames, ComponentName component) { - mPm.replacePreferredActivity(homeFilter, matchCategoryEmpty, componentNames, component); - } - - @Override - public VolumeInfo getPrimaryStorageCurrentVolume() { - return mPm.getPrimaryStorageCurrentVolume(); - } - - @Override - public void deletePackageAsUser(String packageName, IPackageDeleteObserver observer, int flags, - int userId) { - mPm.deletePackageAsUser(packageName, observer, flags, userId); - } - - @Override - public int getPackageUidAsUser(String pkg, int userId) - throws PackageManager.NameNotFoundException { - return mPm.getPackageUidAsUser(pkg, userId); - } -} diff --git a/src/com/android/settings/applications/PictureInPictureSettings.java b/src/com/android/settings/applications/PictureInPictureSettings.java index b1c544ad089..d8e0b2bf8fc 100644 --- a/src/com/android/settings/applications/PictureInPictureSettings.java +++ b/src/com/android/settings/applications/PictureInPictureSettings.java @@ -36,6 +36,7 @@ import com.android.internal.annotations.VisibleForTesting; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settings.R; import com.android.settings.notification.EmptyTextSettings; +import com.android.settings.wrapper.ActivityInfoWrapper; import java.util.ArrayList; import java.util.Collections; @@ -63,7 +64,7 @@ public class PictureInPictureSettings extends EmptyTextSettings { if (activities != null) { wrappedActivities = new ActivityInfoWrapper[activities.length]; for (int i = 0; i < activities.length; i++) { - wrappedActivities[i] = new ActivityInfoWrapperImpl(activities[i]); + wrappedActivities[i] = new ActivityInfoWrapper(activities[i]); } } return checkPackageHasPictureInPictureActivities(packageName, wrappedActivities); diff --git a/src/com/android/settings/applications/RecentAppsPreferenceController.java b/src/com/android/settings/applications/RecentAppsPreferenceController.java index 69a36f67a53..b6ae1ee54fc 100644 --- a/src/com/android/settings/applications/RecentAppsPreferenceController.java +++ b/src/com/android/settings/applications/RecentAppsPreferenceController.java @@ -42,6 +42,7 @@ import com.android.settings.Utils; import com.android.settings.core.PreferenceControllerMixin; import com.android.settingslib.applications.ApplicationsState; import com.android.settingslib.core.AbstractPreferenceController; +import com.android.settingslib.wrapper.PackageManagerWrapper; import java.util.ArrayList; import java.util.Arrays; @@ -143,7 +144,7 @@ public class RecentAppsPreferenceController extends AbstractPreferenceController refreshUi(mCategory.getContext()); // Show total number of installed apps as See all's summary. new InstalledAppCounter(mContext, InstalledAppCounter.IGNORE_INSTALL_REASON, - new PackageManagerWrapperImpl(mContext.getPackageManager())) { + new PackageManagerWrapper(mContext.getPackageManager())) { @Override protected void onCountComplete(int num) { if (mHasRecentApps) { diff --git a/src/com/android/settings/applications/UserManagerWrapper.java b/src/com/android/settings/applications/UserManagerWrapper.java deleted file mode 100644 index 5b4ed2aa05f..00000000000 --- a/src/com/android/settings/applications/UserManagerWrapper.java +++ /dev/null @@ -1,32 +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; - -import android.content.pm.UserInfo; - -import java.util.List; - -/** - * This interface replicates a subset of the android.os.UserManager. The interface - * exists so that we can use a thin wrapper around the UserManager in production code and a mock in - * tests. We cannot directly mock or shadow the UserManager, because some of the methods we rely on - * are newer than the API version supported by Robolectric or are hidden. - */ -public interface UserManagerWrapper { - UserInfo getPrimaryUser(); - List getUsers(); -} diff --git a/src/com/android/settings/applications/assist/DefaultVoiceInputPicker.java b/src/com/android/settings/applications/assist/DefaultVoiceInputPicker.java index f51275e23ea..c1fc5286630 100644 --- a/src/com/android/settings/applications/assist/DefaultVoiceInputPicker.java +++ b/src/com/android/settings/applications/assist/DefaultVoiceInputPicker.java @@ -24,9 +24,9 @@ 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; +import com.android.settingslib.wrapper.PackageManagerWrapper; import java.util.ArrayList; import java.util.List; diff --git a/src/com/android/settings/applications/defaultapps/DefaultAppInfo.java b/src/com/android/settings/applications/defaultapps/DefaultAppInfo.java index 12470eb3ab7..ec44af4f872 100644 --- a/src/com/android/settings/applications/defaultapps/DefaultAppInfo.java +++ b/src/com/android/settings/applications/defaultapps/DefaultAppInfo.java @@ -26,8 +26,8 @@ import android.graphics.drawable.Drawable; import android.os.RemoteException; import android.os.UserHandle; -import com.android.settings.applications.PackageManagerWrapper; import com.android.settings.widget.RadioButtonPickerFragment; +import com.android.settingslib.wrapper.PackageManagerWrapper; /** * Data model representing an app in DefaultAppPicker UI. diff --git a/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java b/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java index d3617ef8869..6eb1ad81b57 100644 --- a/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java +++ b/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java @@ -29,11 +29,10 @@ import android.util.Pair; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settings.R; -import com.android.settings.applications.PackageManagerWrapper; -import com.android.settings.applications.PackageManagerWrapperImpl; import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settings.widget.RadioButtonPickerFragment; import com.android.settings.widget.RadioButtonPreference; +import com.android.settingslib.wrapper.PackageManagerWrapper; /** * A generic app picker fragment that shows a list of app as radio button group. @@ -45,7 +44,7 @@ public abstract class DefaultAppPickerFragment extends RadioButtonPickerFragment @Override public void onAttach(Context context) { super.onAttach(context); - mPm = new PackageManagerWrapperImpl(context.getPackageManager()); + mPm = new PackageManagerWrapper(context.getPackageManager()); } @Override diff --git a/src/com/android/settings/applications/defaultapps/DefaultAppPreferenceController.java b/src/com/android/settings/applications/defaultapps/DefaultAppPreferenceController.java index c7b450e00d2..d533d0f4993 100644 --- a/src/com/android/settings/applications/defaultapps/DefaultAppPreferenceController.java +++ b/src/com/android/settings/applications/defaultapps/DefaultAppPreferenceController.java @@ -26,11 +26,10 @@ import android.text.TextUtils; import android.util.Log; import com.android.settings.R; -import com.android.settings.applications.PackageManagerWrapper; -import com.android.settings.applications.PackageManagerWrapperImpl; import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.widget.GearPreference; import com.android.settingslib.core.AbstractPreferenceController; +import com.android.settingslib.wrapper.PackageManagerWrapper; public abstract class DefaultAppPreferenceController extends AbstractPreferenceController implements PreferenceControllerMixin { @@ -44,7 +43,7 @@ public abstract class DefaultAppPreferenceController extends AbstractPreferenceC public DefaultAppPreferenceController(Context context) { super(context); - mPackageManager = new PackageManagerWrapperImpl(context.getPackageManager()); + mPackageManager = new PackageManagerWrapper(context.getPackageManager()); mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE); mUserId = UserHandle.myUserId(); } diff --git a/src/com/android/settings/applications/defaultapps/DefaultAutofillPreferenceController.java b/src/com/android/settings/applications/defaultapps/DefaultAutofillPreferenceController.java index 1fd10ffea72..30aaf646ccd 100644 --- a/src/com/android/settings/applications/defaultapps/DefaultAutofillPreferenceController.java +++ b/src/com/android/settings/applications/defaultapps/DefaultAutofillPreferenceController.java @@ -23,8 +23,7 @@ import android.provider.Settings; import android.text.TextUtils; import android.view.autofill.AutofillManager; -import com.android.settings.applications.AutofillManagerWrapper; -import com.android.settings.applications.AutofillManagerWrapperImpl; +import com.android.settings.wrapper.AutofillManagerWrapper; public class DefaultAutofillPreferenceController extends DefaultAppPreferenceController { private AutofillManagerWrapper mAutofillManager; @@ -32,7 +31,7 @@ public class DefaultAutofillPreferenceController extends DefaultAppPreferenceCon public DefaultAutofillPreferenceController(Context context) { super(context); - mAutofillManager = new AutofillManagerWrapperImpl( + mAutofillManager = new AutofillManagerWrapper( mContext.getSystemService(AutofillManager.class)); } diff --git a/src/com/android/settings/applications/defaultapps/DefaultHomePreferenceController.java b/src/com/android/settings/applications/defaultapps/DefaultHomePreferenceController.java index 88b36b25dda..1b229e8d3ed 100644 --- a/src/com/android/settings/applications/defaultapps/DefaultHomePreferenceController.java +++ b/src/com/android/settings/applications/defaultapps/DefaultHomePreferenceController.java @@ -24,7 +24,7 @@ import android.content.pm.ActivityInfo; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; -import com.android.settings.applications.PackageManagerWrapper; +import com.android.settingslib.wrapper.PackageManagerWrapper; import java.util.ArrayList; import java.util.List; diff --git a/src/com/android/settings/applications/instantapps/InstantAppButtonsController.java b/src/com/android/settings/applications/instantapps/InstantAppButtonsController.java index 16956dfbd3b..28e612c98ff 100644 --- a/src/com/android/settings/applications/instantapps/InstantAppButtonsController.java +++ b/src/com/android/settings/applications/instantapps/InstantAppButtonsController.java @@ -29,9 +29,8 @@ import android.widget.Button; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settings.R; import com.android.settings.applications.AppStoreUtil; -import com.android.settings.applications.PackageManagerWrapper; -import com.android.settings.applications.PackageManagerWrapperImpl; import com.android.settings.overlay.FeatureFactory; +import com.android.settingslib.wrapper.PackageManagerWrapper; /** Encapsulates a container for buttons relevant to instant apps */ public class InstantAppButtonsController implements DialogInterface.OnClickListener { @@ -62,7 +61,7 @@ public class InstantAppButtonsController implements DialogInterface.OnClickListe mFragment = fragment; mView = view; mShowDialogDelegate = showDialogDelegate; - mPackageManagerWrapper = new PackageManagerWrapperImpl(context.getPackageManager()); + mPackageManagerWrapper = new PackageManagerWrapper(context.getPackageManager()); } public InstantAppButtonsController setPackageName(String packageName) { diff --git a/src/com/android/settings/dashboard/suggestions/SuggestionsChecks.java b/src/com/android/settings/dashboard/suggestions/SuggestionsChecks.java index 4bed89b644c..eb969a55f8d 100644 --- a/src/com/android/settings/dashboard/suggestions/SuggestionsChecks.java +++ b/src/com/android/settings/dashboard/suggestions/SuggestionsChecks.java @@ -32,6 +32,7 @@ import com.android.settings.Utils; import com.android.settings.fingerprint.FingerprintSuggestionActivity; import com.android.settings.overlay.FeatureFactory; import com.android.settings.wallpaper.WallpaperSuggestionActivity; +import com.android.settings.wrapper.WallpaperManagerWrapper; import com.android.settingslib.drawer.Tile; /** diff --git a/src/com/android/settings/datausage/AppDataUsage.java b/src/com/android/settings/datausage/AppDataUsage.java index 36d9d0f6e65..5470e6372db 100644 --- a/src/com/android/settings/datausage/AppDataUsage.java +++ b/src/com/android/settings/datausage/AppDataUsage.java @@ -46,14 +46,13 @@ import android.widget.AdapterView; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settings.R; import com.android.settings.applications.AppInfoBase; -import com.android.settings.applications.PackageManagerWrapper; -import com.android.settings.applications.PackageManagerWrapperImpl; import com.android.settings.widget.EntityHeaderController; import com.android.settingslib.AppItem; import com.android.settingslib.net.ChartData; import com.android.settingslib.net.ChartDataLoader; import com.android.settingslib.net.UidDetail; import com.android.settingslib.net.UidDetailProvider; +import com.android.settingslib.wrapper.PackageManagerWrapper; public class AppDataUsage extends DataUsageBase implements Preference.OnPreferenceChangeListener, DataSaverBackend.Listener { @@ -104,7 +103,7 @@ public class AppDataUsage extends DataUsageBase implements Preference.OnPreferen @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); - mPackageManagerWrapper = new PackageManagerWrapperImpl(getPackageManager()); + mPackageManagerWrapper = new PackageManagerWrapper(getPackageManager()); final Bundle args = getArguments(); try { diff --git a/src/com/android/settings/deviceinfo/PrivateVolumeOptionMenuController.java b/src/com/android/settings/deviceinfo/PrivateVolumeOptionMenuController.java index 88b94876688..6047f8cc082 100644 --- a/src/com/android/settings/deviceinfo/PrivateVolumeOptionMenuController.java +++ b/src/com/android/settings/deviceinfo/PrivateVolumeOptionMenuController.java @@ -24,12 +24,12 @@ import android.view.MenuInflater; import android.view.MenuItem; import com.android.settings.R; -import com.android.settings.applications.PackageManagerWrapper; import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnCreateOptionsMenu; import com.android.settingslib.core.lifecycle.events.OnOptionsItemSelected; import com.android.settingslib.core.lifecycle.events.OnPrepareOptionsMenu; +import com.android.settingslib.wrapper.PackageManagerWrapper; import java.util.Objects; diff --git a/src/com/android/settings/deviceinfo/StorageDashboardFragment.java b/src/com/android/settings/deviceinfo/StorageDashboardFragment.java index dd0db9a2335..935e180892c 100644 --- a/src/com/android/settings/deviceinfo/StorageDashboardFragment.java +++ b/src/com/android/settings/deviceinfo/StorageDashboardFragment.java @@ -35,9 +35,6 @@ import android.view.View; import com.android.internal.logging.nano.MetricsProto; import com.android.settings.R; import com.android.settings.Utils; -import com.android.settings.applications.PackageManagerWrapperImpl; -import com.android.settings.applications.UserManagerWrapper; -import com.android.settings.applications.UserManagerWrapperImpl; import com.android.settings.dashboard.DashboardFragment; import com.android.settings.deviceinfo.storage.AutomaticStorageManagementSwitchPreferenceController; import com.android.settings.deviceinfo.storage.CachedStorageValuesHelper; @@ -49,10 +46,12 @@ import com.android.settings.deviceinfo.storage.UserIconLoader; import com.android.settings.deviceinfo.storage.VolumeSizesLoader; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.Indexable; +import com.android.settings.wrapper.UserManagerWrapper; import com.android.settingslib.applications.StorageStatsSource; import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.deviceinfo.PrivateStorageInfo; import com.android.settingslib.deviceinfo.StorageManagerVolumeProvider; +import com.android.settingslib.wrapper.PackageManagerWrapper; import java.util.ArrayList; import java.util.Arrays; @@ -95,7 +94,7 @@ public class StorageDashboardFragment extends DashboardFragment @VisibleForTesting void initializeOptionsMenu(Activity activity) { mOptionMenuController = new PrivateVolumeOptionMenuController( - activity, mVolume, new PackageManagerWrapperImpl(activity.getPackageManager())); + activity, mVolume, new PackageManagerWrapper(activity.getPackageManager())); getLifecycle().addObserver(mOptionMenuController); setHasOptionsMenu(true); activity.invalidateOptionsMenu(); @@ -178,7 +177,7 @@ public class StorageDashboardFragment extends DashboardFragment controllers.add(mPreferenceController); UserManagerWrapper userManager = - new UserManagerWrapperImpl(context.getSystemService(UserManager.class)); + new UserManagerWrapper(context.getSystemService(UserManager.class)); mSecondaryUsers = SecondaryUserController.getSecondaryUserControllers(context, userManager); controllers.addAll(mSecondaryUsers); @@ -227,7 +226,7 @@ public class StorageDashboardFragment extends DashboardFragment public List getPreferenceControllers(Context context) { final StorageManager sm = context.getSystemService(StorageManager.class); final UserManagerWrapper userManager = - new UserManagerWrapperImpl(context.getSystemService(UserManager.class)); + new UserManagerWrapper(context.getSystemService(UserManager.class)); final List controllers = new ArrayList<>(); controllers.add(new StorageSummaryDonutPreferenceController(context)); controllers.add(new StorageItemPreferenceController(context, null /* host */, @@ -244,10 +243,10 @@ public class StorageDashboardFragment extends DashboardFragment Bundle args) { Context context = getContext(); return new StorageAsyncLoader(context, - new UserManagerWrapperImpl(context.getSystemService(UserManager.class)), + new UserManagerWrapper(context.getSystemService(UserManager.class)), mVolume.fsUuid, new StorageStatsSource(context), - new PackageManagerWrapperImpl(context.getPackageManager())); + new PackageManagerWrapper(context.getPackageManager())); } @Override diff --git a/src/com/android/settings/deviceinfo/StorageProfileFragment.java b/src/com/android/settings/deviceinfo/StorageProfileFragment.java index 9f3ce0ca8d0..f2383de4aa6 100644 --- a/src/com/android/settings/deviceinfo/StorageProfileFragment.java +++ b/src/com/android/settings/deviceinfo/StorageProfileFragment.java @@ -30,15 +30,15 @@ import android.util.SparseArray; import com.android.internal.logging.nano.MetricsProto; import com.android.settings.R; import com.android.settings.Utils; -import com.android.settings.applications.PackageManagerWrapperImpl; -import com.android.settings.applications.UserManagerWrapperImpl; import com.android.settings.dashboard.DashboardFragment; import com.android.settings.deviceinfo.storage.StorageAsyncLoader; import com.android.settings.deviceinfo.storage.StorageAsyncLoader.AppsStorageResult; import com.android.settings.deviceinfo.storage.StorageItemPreferenceController; +import com.android.settings.wrapper.UserManagerWrapper; import com.android.settingslib.applications.StorageStatsSource; import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.deviceinfo.StorageManagerVolumeProvider; +import com.android.settingslib.wrapper.PackageManagerWrapper; import java.util.ArrayList; import java.util.List; @@ -116,10 +116,10 @@ public class StorageProfileFragment extends DashboardFragment public Loader> onCreateLoader(int id, Bundle args) { Context context = getContext(); return new StorageAsyncLoader(context, - new UserManagerWrapperImpl(context.getSystemService(UserManager.class)), + new UserManagerWrapper(context.getSystemService(UserManager.class)), mVolume.fsUuid, new StorageStatsSource(context), - new PackageManagerWrapperImpl(context.getPackageManager())); + new PackageManagerWrapper(context.getPackageManager())); } @Override diff --git a/src/com/android/settings/deviceinfo/storage/SecondaryUserController.java b/src/com/android/settings/deviceinfo/storage/SecondaryUserController.java index 3c69ab1fc54..4aeb78299bf 100644 --- a/src/com/android/settings/deviceinfo/storage/SecondaryUserController.java +++ b/src/com/android/settings/deviceinfo/storage/SecondaryUserController.java @@ -27,9 +27,9 @@ import android.support.v7.preference.PreferenceScreen; import android.util.SparseArray; import com.android.settings.Utils; -import com.android.settings.applications.UserManagerWrapper; import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.deviceinfo.StorageItemPreference; +import com.android.settings.wrapper.UserManagerWrapper; import com.android.settingslib.core.AbstractPreferenceController; import java.util.ArrayList; diff --git a/src/com/android/settings/deviceinfo/storage/StorageAsyncLoader.java b/src/com/android/settings/deviceinfo/storage/StorageAsyncLoader.java index f92a24e9f9d..2ce53f65755 100644 --- a/src/com/android/settings/deviceinfo/storage/StorageAsyncLoader.java +++ b/src/com/android/settings/deviceinfo/storage/StorageAsyncLoader.java @@ -30,10 +30,10 @@ import android.util.ArraySet; import android.util.Log; import android.util.SparseArray; -import com.android.settings.applications.PackageManagerWrapper; -import com.android.settings.applications.UserManagerWrapper; import com.android.settings.utils.AsyncLoader; +import com.android.settings.wrapper.UserManagerWrapper; import com.android.settingslib.applications.StorageStatsSource; +import com.android.settingslib.wrapper.PackageManagerWrapper; import java.io.IOException; import java.util.Collections; diff --git a/src/com/android/settings/deviceinfo/storage/UserProfileController.java b/src/com/android/settings/deviceinfo/storage/UserProfileController.java index cf1e3603bbe..4870e7e3fa3 100644 --- a/src/com/android/settings/deviceinfo/storage/UserProfileController.java +++ b/src/com/android/settings/deviceinfo/storage/UserProfileController.java @@ -30,10 +30,10 @@ import android.util.SparseArray; import com.android.internal.logging.nano.MetricsProto; import com.android.internal.util.Preconditions; import com.android.settings.Utils; -import com.android.settings.applications.UserManagerWrapper; import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.deviceinfo.StorageItemPreference; import com.android.settings.deviceinfo.StorageProfileFragment; +import com.android.settings.wrapper.UserManagerWrapper; import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.drawer.SettingsDrawerActivity; diff --git a/src/com/android/settings/display/BrightnessLevelPreferenceController.java b/src/com/android/settings/display/BrightnessLevelPreferenceController.java index e1461dc9747..f9c9d53a961 100644 --- a/src/com/android/settings/display/BrightnessLevelPreferenceController.java +++ b/src/com/android/settings/display/BrightnessLevelPreferenceController.java @@ -31,6 +31,7 @@ import android.support.v7.preference.PreferenceScreen; import android.util.Log; import com.android.settings.core.PreferenceControllerMixin; +import com.android.settings.wrapper.PowerManagerWrapper; import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.LifecycleObserver; diff --git a/src/com/android/settings/enterprise/DevicePolicyManagerWrapperImpl.java b/src/com/android/settings/enterprise/DevicePolicyManagerWrapperImpl.java deleted file mode 100644 index 69ee2727d8d..00000000000 --- a/src/com/android/settings/enterprise/DevicePolicyManagerWrapperImpl.java +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Copyright (C) 2016 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.enterprise; - -import android.annotation.NonNull; -import android.app.admin.DevicePolicyManager; -import android.content.ComponentName; -import android.content.Intent; -import android.os.UserHandle; -import android.support.annotation.Nullable; - -import java.util.List; - -public class DevicePolicyManagerWrapperImpl implements DevicePolicyManagerWrapper { - private final DevicePolicyManager mDpm; - - public DevicePolicyManagerWrapperImpl(DevicePolicyManager dpm) { - mDpm = dpm; - } - - @Override - public @Nullable List getActiveAdminsAsUser(int userId) { - return mDpm.getActiveAdminsAsUser(userId); - } - - @Override - public int getMaximumFailedPasswordsForWipe(@Nullable ComponentName admin, int userHandle) { - return mDpm.getMaximumFailedPasswordsForWipe(admin, userHandle); - } - - @Override - public ComponentName getDeviceOwnerComponentOnCallingUser() { - return mDpm.getDeviceOwnerComponentOnCallingUser(); - } - - @Override - public ComponentName getDeviceOwnerComponentOnAnyUser() { - return mDpm.getDeviceOwnerComponentOnAnyUser(); - } - - @Override - public @Nullable ComponentName getProfileOwnerAsUser(final int userId) { - return mDpm.getProfileOwnerAsUser(userId); - } - - @Override - public CharSequence getDeviceOwnerOrganizationName() { - return mDpm.getDeviceOwnerOrganizationName(); - } - - @Override - public int getPermissionGrantState(@Nullable ComponentName admin, String packageName, - String permission) { - return mDpm.getPermissionGrantState(admin, packageName, permission); - } - - @Override - public boolean isSecurityLoggingEnabled(@Nullable ComponentName admin) { - return mDpm.isSecurityLoggingEnabled(admin); - } - - @Override - public boolean isNetworkLoggingEnabled(@Nullable ComponentName admin) { - return mDpm.isNetworkLoggingEnabled(admin); - } - - @Override - public long getLastSecurityLogRetrievalTime() { - return mDpm.getLastSecurityLogRetrievalTime(); - } - - @Override - public long getLastBugReportRequestTime() { - return mDpm.getLastBugReportRequestTime(); - } - - @Override - public long getLastNetworkLogRetrievalTime() { - return mDpm.getLastNetworkLogRetrievalTime(); - } - - @Override - public boolean isCurrentInputMethodSetByOwner() { - return mDpm.isCurrentInputMethodSetByOwner(); - } - - @Override - public List getOwnerInstalledCaCerts(@NonNull UserHandle user) { - return mDpm.getOwnerInstalledCaCerts(user); - } - - @Override - public boolean isDeviceOwnerAppOnAnyUser(String packageName) { - return mDpm.isDeviceOwnerAppOnAnyUser(packageName); - } - - @Override - public boolean packageHasActiveAdmins(String packageName) { - return mDpm.packageHasActiveAdmins(packageName); - } - - @Override - public boolean isUninstallInQueue(String packageName) { - return mDpm.isUninstallInQueue(packageName); - } - - @Override - public Intent createAdminSupportIntent(@NonNull String restriction) { - return mDpm.createAdminSupportIntent(restriction); - } -} diff --git a/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImpl.java b/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImpl.java index 159f57ba7f6..9217001b221 100644 --- a/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImpl.java +++ b/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImpl.java @@ -30,9 +30,10 @@ import android.text.style.ClickableSpan; import android.view.View; import com.android.settings.R; -import com.android.settings.applications.PackageManagerWrapper; -import com.android.settings.vpn2.ConnectivityManagerWrapper; import com.android.settings.vpn2.VpnUtils; +import com.android.settings.wrapper.ConnectivityManagerWrapper; +import com.android.settings.wrapper.DevicePolicyManagerWrapper; +import com.android.settingslib.wrapper.PackageManagerWrapper; import java.util.Date; import java.util.List; diff --git a/src/com/android/settings/fingerprint/FingerprintEnrollSidecar.java b/src/com/android/settings/fingerprint/FingerprintEnrollSidecar.java index 9ab561d2c1b..20bb13b58f1 100644 --- a/src/com/android/settings/fingerprint/FingerprintEnrollSidecar.java +++ b/src/com/android/settings/fingerprint/FingerprintEnrollSidecar.java @@ -29,8 +29,7 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settings.Utils; import com.android.settings.core.InstrumentedFragment; import com.android.settings.password.ChooseLockSettingsHelper; - -import com.android.settings.password.IFingerprintManager; +import com.android.settings.wrapper.FingerprintManagerWrapper; import java.util.ArrayList; @@ -48,7 +47,7 @@ public class FingerprintEnrollSidecar extends InstrumentedFragment { private byte[] mToken; private boolean mDone; private int mUserId; - private IFingerprintManager mFingerprintManager; + private FingerprintManagerWrapper mFingerprintManager; private ArrayList mQueuedEvents; private abstract class QueuedEvent { diff --git a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java index 66a0ca2ee89..d96db687101 100644 --- a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java +++ b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java @@ -45,8 +45,7 @@ import com.android.settings.SettingsActivity; import com.android.settings.Utils; import com.android.settings.applications.LayoutPreference; import com.android.settings.dashboard.DashboardFragment; -import com.android.settings.enterprise.DevicePolicyManagerWrapper; -import com.android.settings.enterprise.DevicePolicyManagerWrapperImpl; +import com.android.settings.wrapper.DevicePolicyManagerWrapper; import com.android.settings.fuelgauge.anomaly.Anomaly; import com.android.settings.fuelgauge.anomaly.AnomalyDialogFragment; import com.android.settings.fuelgauge.anomaly.AnomalyLoader; @@ -194,7 +193,7 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements super.onAttach(activity); mState = ApplicationsState.getInstance(getActivity().getApplication()); - mDpm = new DevicePolicyManagerWrapperImpl( + mDpm = new DevicePolicyManagerWrapper( (DevicePolicyManager) activity.getSystemService(Context.DEVICE_POLICY_SERVICE)); mUserManager = (UserManager) activity.getSystemService(Context.USER_SERVICE); mPackageManager = activity.getPackageManager(); diff --git a/src/com/android/settings/fuelgauge/AppButtonsPreferenceController.java b/src/com/android/settings/fuelgauge/AppButtonsPreferenceController.java index 0d5bed8aca5..20acee9b04b 100644 --- a/src/com/android/settings/fuelgauge/AppButtonsPreferenceController.java +++ b/src/com/android/settings/fuelgauge/AppButtonsPreferenceController.java @@ -50,9 +50,9 @@ import com.android.settings.SettingsActivity; import com.android.settings.Utils; import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.core.instrumentation.MetricsFeatureProvider; -import com.android.settings.enterprise.DevicePolicyManagerWrapper; import com.android.settings.overlay.FeatureFactory; import com.android.settings.widget.ActionButtonPreference; +import com.android.settings.wrapper.DevicePolicyManagerWrapper; import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.applications.AppUtils; import com.android.settingslib.applications.ApplicationsState; diff --git a/src/com/android/settings/fuelgauge/BackgroundActivityPreferenceController.java b/src/com/android/settings/fuelgauge/BackgroundActivityPreferenceController.java index cea6d165a74..14aba85a948 100644 --- a/src/com/android/settings/fuelgauge/BackgroundActivityPreferenceController.java +++ b/src/com/android/settings/fuelgauge/BackgroundActivityPreferenceController.java @@ -35,8 +35,7 @@ import com.android.settings.R; import com.android.settings.Utils; import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.core.instrumentation.InstrumentedDialogFragment; -import com.android.settings.enterprise.DevicePolicyManagerWrapper; -import com.android.settings.enterprise.DevicePolicyManagerWrapperImpl; +import com.android.settings.wrapper.DevicePolicyManagerWrapper; import com.android.settingslib.core.AbstractPreferenceController; /** @@ -71,7 +70,7 @@ public class BackgroundActivityPreferenceController extends AbstractPreferenceCo mPowerWhitelistBackend = backend; mPackageManager = context.getPackageManager(); mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE); - mDpm = new DevicePolicyManagerWrapperImpl( + mDpm = new DevicePolicyManagerWrapper( (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE)); mAppOpsManager = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE); mUid = uid; diff --git a/src/com/android/settings/fuelgauge/anomaly/AnomalyDetectionPolicy.java b/src/com/android/settings/fuelgauge/anomaly/AnomalyDetectionPolicy.java index 4829ca01d31..57f0ab4d380 100644 --- a/src/com/android/settings/fuelgauge/anomaly/AnomalyDetectionPolicy.java +++ b/src/com/android/settings/fuelgauge/anomaly/AnomalyDetectionPolicy.java @@ -23,6 +23,8 @@ import android.text.format.DateUtils; import android.util.KeyValueListParser; import android.util.Log; +import com.android.settings.wrapper.KeyValueListParserWrapper; + /** * Class to store the policy for anomaly detection, which comes from * {@link android.provider.Settings.Global} @@ -104,7 +106,7 @@ public class AnomalyDetectionPolicy { private final KeyValueListParserWrapper mParserWrapper; public AnomalyDetectionPolicy(Context context) { - this(context, new KeyValueListParserWrapperImpl(new KeyValueListParser(','))); + this(context, new KeyValueListParserWrapper(new KeyValueListParser(','))); } @VisibleForTesting diff --git a/src/com/android/settings/fuelgauge/anomaly/KeyValueListParserWrapperImpl.java b/src/com/android/settings/fuelgauge/anomaly/KeyValueListParserWrapperImpl.java deleted file mode 100644 index f7240341e6f..00000000000 --- a/src/com/android/settings/fuelgauge/anomaly/KeyValueListParserWrapperImpl.java +++ /dev/null @@ -1,50 +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.fuelgauge.anomaly; - -import android.util.KeyValueListParser; - -/** - * Impl of {@link KeyValueListParser} - */ -public class KeyValueListParserWrapperImpl implements KeyValueListParserWrapper { - private KeyValueListParser mParser; - - public KeyValueListParserWrapperImpl(KeyValueListParser parser) { - mParser = parser; - } - - @Override - public KeyValueListParser getKeyValueListParser() { - return mParser; - } - - @Override - public void setString(String str) throws IllegalArgumentException { - mParser.setString(str); - } - - @Override - public boolean getBoolean(String key, boolean defaultValue) { - return mParser.getBoolean(key, defaultValue); - } - - @Override - public long getLong(String key, long defaultValue) { - return mParser.getLong(key, defaultValue); - } -} diff --git a/src/com/android/settings/network/MobileNetworkPreferenceController.java b/src/com/android/settings/network/MobileNetworkPreferenceController.java index 6e2c2d56e9c..1199400f55a 100644 --- a/src/com/android/settings/network/MobileNetworkPreferenceController.java +++ b/src/com/android/settings/network/MobileNetworkPreferenceController.java @@ -26,6 +26,7 @@ import android.telephony.TelephonyManager; import com.android.settings.Utils; import com.android.settings.core.PreferenceControllerMixin; +import com.android.settings.wrapper.RestrictedLockUtilsWrapper; import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnPause; diff --git a/src/com/android/settings/network/NetworkScorerPicker.java b/src/com/android/settings/network/NetworkScorerPicker.java index 1280cf501c2..187c9ce3ebc 100644 --- a/src/com/android/settings/network/NetworkScorerPicker.java +++ b/src/com/android/settings/network/NetworkScorerPicker.java @@ -30,6 +30,7 @@ import com.android.internal.logging.nano.MetricsProto; import com.android.settings.R; import com.android.settings.core.InstrumentedPreferenceFragment; import com.android.settings.widget.RadioButtonPreference; +import com.android.settings.wrapper.NetworkScoreManagerWrapper; import java.util.List; diff --git a/src/com/android/settings/network/NetworkScorerPickerPreferenceController.java b/src/com/android/settings/network/NetworkScorerPickerPreferenceController.java index 8d4ea63836a..e25e62d79ec 100644 --- a/src/com/android/settings/network/NetworkScorerPickerPreferenceController.java +++ b/src/com/android/settings/network/NetworkScorerPickerPreferenceController.java @@ -21,6 +21,7 @@ import android.support.v7.preference.Preference; import com.android.settings.R; import com.android.settings.core.PreferenceControllerMixin; +import com.android.settings.wrapper.NetworkScoreManagerWrapper; import com.android.settingslib.core.AbstractPreferenceController; import java.util.List; diff --git a/src/com/android/settings/overlay/FeatureFactoryImpl.java b/src/com/android/settings/overlay/FeatureFactoryImpl.java index 36c3bc943e6..d3fca683df5 100644 --- a/src/com/android/settings/overlay/FeatureFactoryImpl.java +++ b/src/com/android/settings/overlay/FeatureFactoryImpl.java @@ -25,8 +25,6 @@ import android.support.annotation.Keep; import com.android.settings.applications.ApplicationFeatureProvider; import com.android.settings.applications.ApplicationFeatureProviderImpl; -import com.android.settings.applications.IPackageManagerWrapperImpl; -import com.android.settings.applications.PackageManagerWrapperImpl; import com.android.settings.bluetooth.BluetoothFeatureProvider; import com.android.settings.bluetooth.BluetoothFeatureProviderImpl; import com.android.settings.connecteddevice.SmsMirroringFeatureProvider; @@ -38,7 +36,6 @@ import com.android.settings.dashboard.suggestions.SuggestionFeatureProvider; import com.android.settings.dashboard.suggestions.SuggestionFeatureProviderImpl; import com.android.settings.datausage.DataPlanFeatureProvider; import com.android.settings.datausage.DataPlanFeatureProviderImpl; -import com.android.settings.enterprise.DevicePolicyManagerWrapperImpl; import com.android.settings.enterprise.EnterprisePrivacyFeatureProvider; import com.android.settings.enterprise.EnterprisePrivacyFeatureProviderImpl; import com.android.settings.fuelgauge.PowerUsageFeatureProvider; @@ -53,7 +50,10 @@ import com.android.settings.security.SecurityFeatureProvider; import com.android.settings.security.SecurityFeatureProviderImpl; import com.android.settings.users.UserFeatureProvider; import com.android.settings.users.UserFeatureProviderImpl; -import com.android.settings.vpn2.ConnectivityManagerWrapperImpl; +import com.android.settings.wrapper.ConnectivityManagerWrapper; +import com.android.settings.wrapper.DevicePolicyManagerWrapper; +import com.android.settings.wrapper.IPackageManagerWrapper; +import com.android.settingslib.wrapper.PackageManagerWrapper; /** * {@link FeatureFactory} implementation for AOSP Settings. @@ -109,9 +109,9 @@ public class FeatureFactoryImpl extends FeatureFactory { public ApplicationFeatureProvider getApplicationFeatureProvider(Context context) { if (mApplicationFeatureProvider == null) { mApplicationFeatureProvider = new ApplicationFeatureProviderImpl(context, - new PackageManagerWrapperImpl(context.getPackageManager()), - new IPackageManagerWrapperImpl(AppGlobals.getPackageManager()), - new DevicePolicyManagerWrapperImpl((DevicePolicyManager) context + new PackageManagerWrapper(context.getPackageManager()), + new IPackageManagerWrapper(AppGlobals.getPackageManager()), + new DevicePolicyManagerWrapper((DevicePolicyManager) context .getSystemService(Context.DEVICE_POLICY_SERVICE))); } return mApplicationFeatureProvider; @@ -129,11 +129,11 @@ public class FeatureFactoryImpl extends FeatureFactory { public EnterprisePrivacyFeatureProvider getEnterprisePrivacyFeatureProvider(Context context) { if (mEnterprisePrivacyFeatureProvider == null) { mEnterprisePrivacyFeatureProvider = new EnterprisePrivacyFeatureProviderImpl(context, - new DevicePolicyManagerWrapperImpl((DevicePolicyManager) context + new DevicePolicyManagerWrapper((DevicePolicyManager) context .getSystemService(Context.DEVICE_POLICY_SERVICE)), - new PackageManagerWrapperImpl(context.getPackageManager()), + new PackageManagerWrapper(context.getPackageManager()), UserManager.get(context), - new ConnectivityManagerWrapperImpl((ConnectivityManager) context + new ConnectivityManagerWrapper((ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE)), context.getResources()); } diff --git a/src/com/android/settings/password/IFingerprintManager.java b/src/com/android/settings/password/IFingerprintManager.java deleted file mode 100644 index 94021460bfc..00000000000 --- a/src/com/android/settings/password/IFingerprintManager.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (C) 2016 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.password; - -import android.hardware.fingerprint.FingerprintManager.EnrollmentCallback; -import android.os.CancellationSignal; - -/** - * This is the workaround to allow us test {@link SetNewPasswordController} which uses a new hidden - * API {@link android.hardware.fingerprint.FingerprintManager#hasEnrolledFingerprints(int)} that - * roboelectric does not support yet. Having roboelectic to support latest platform API is tracked - * in b/30995831. - */ -public interface IFingerprintManager { - boolean isHardwareDetected(); - - boolean hasEnrolledFingerprints(int userId); - - long preEnroll(); - - void setActiveUser(int userId); - - void enroll(byte [] token, CancellationSignal cancel, int flags, - int userId, EnrollmentCallback callback); -} diff --git a/src/com/android/settings/password/SetNewPasswordController.java b/src/com/android/settings/password/SetNewPasswordController.java index 57aa8c17d1d..a974da4f0ec 100644 --- a/src/com/android/settings/password/SetNewPasswordController.java +++ b/src/com/android/settings/password/SetNewPasswordController.java @@ -36,6 +36,7 @@ import android.os.UserManager; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.widget.LockPatternUtils; import com.android.settings.Utils; +import com.android.settings.wrapper.FingerprintManagerWrapper; /** * Business logic for {@link SetNewPasswordActivity}. @@ -56,7 +57,7 @@ final class SetNewPasswordController { */ private final int mTargetUserId; private final PackageManager mPackageManager; - @Nullable private final IFingerprintManager mFingerprintManager; + @Nullable private final FingerprintManagerWrapper mFingerprintManager; private final DevicePolicyManager mDevicePolicyManager; private final Ui mUi; @@ -77,7 +78,7 @@ final class SetNewPasswordController { } // Create a wrapper of FingerprintManager for testing, see IFingerPrintManager for details. final FingerprintManager fingerprintManager = Utils.getFingerprintManagerOrNull(context); - final IFingerprintManager fingerprintManagerWrapper = + final FingerprintManagerWrapper fingerprintManagerWrapper = fingerprintManager == null ? null : new FingerprintManagerWrapper(fingerprintManager); @@ -91,7 +92,7 @@ final class SetNewPasswordController { SetNewPasswordController( int targetUserId, PackageManager packageManager, - IFingerprintManager fingerprintManager, + FingerprintManagerWrapper fingerprintManager, DevicePolicyManager devicePolicyManager, Ui ui) { mTargetUserId = targetUserId; diff --git a/src/com/android/settings/search/InstalledAppResultLoader.java b/src/com/android/settings/search/InstalledAppResultLoader.java index 9d80b734a44..69a4693d780 100644 --- a/src/com/android/settings/search/InstalledAppResultLoader.java +++ b/src/com/android/settings/search/InstalledAppResultLoader.java @@ -34,9 +34,9 @@ import com.android.internal.logging.nano.MetricsProto; import com.android.settings.R; import com.android.settings.SettingsActivity; import com.android.settings.applications.ManageApplications; -import com.android.settings.applications.PackageManagerWrapper; import com.android.settings.dashboard.SiteMapManager; import com.android.settings.utils.AsyncLoader; +import com.android.settingslib.wrapper.PackageManagerWrapper; import java.util.ArrayList; import java.util.HashSet; diff --git a/src/com/android/settings/search/SearchFeatureProviderImpl.java b/src/com/android/settings/search/SearchFeatureProviderImpl.java index 69c086f1659..420b8470d91 100644 --- a/src/com/android/settings/search/SearchFeatureProviderImpl.java +++ b/src/com/android/settings/search/SearchFeatureProviderImpl.java @@ -21,9 +21,9 @@ import android.content.Context; import android.text.TextUtils; import android.util.Log; -import com.android.settings.applications.PackageManagerWrapperImpl; import com.android.settings.dashboard.SiteMapManager; import com.android.settings.overlay.FeatureFactory; +import com.android.settingslib.wrapper.PackageManagerWrapper; /** * FeatureProvider for the refactored search code. @@ -50,7 +50,7 @@ public class SearchFeatureProviderImpl implements SearchFeatureProvider { @Override public InstalledAppResultLoader getInstalledAppSearchLoader(Context context, String query) { return new InstalledAppResultLoader( - context, new PackageManagerWrapperImpl(context.getPackageManager()), + context, new PackageManagerWrapper(context.getPackageManager()), cleanQuery(query), getSiteMapManager()); } diff --git a/src/com/android/settings/vpn2/ConnectivityManagerWrapperImpl.java b/src/com/android/settings/vpn2/ConnectivityManagerWrapperImpl.java deleted file mode 100644 index f742cd22b06..00000000000 --- a/src/com/android/settings/vpn2/ConnectivityManagerWrapperImpl.java +++ /dev/null @@ -1,59 +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.vpn2; - -import android.net.ConnectivityManager; -import android.net.ConnectivityManager.NetworkCallback; -import android.net.Network; -import android.net.NetworkRequest; -import android.os.Handler; -import android.net.ProxyInfo; - -public class ConnectivityManagerWrapperImpl implements ConnectivityManagerWrapper { - - private final ConnectivityManager mCm; - - public ConnectivityManagerWrapperImpl(ConnectivityManager cm) { - mCm = cm; - } - - @Override - public ConnectivityManager getConnectivityManager() { - return mCm; - } - - @Override - public String getAlwaysOnVpnPackageForUser(int userId) { - return mCm.getAlwaysOnVpnPackageForUser(userId); - } - - @Override - public ProxyInfo getGlobalProxy() { - return mCm.getGlobalProxy(); - } - - @Override - public void registerNetworkCallback(NetworkRequest request, NetworkCallback callback, - Handler handler) { - mCm.registerNetworkCallback(request, callback, handler); - } - - @Override - public void startCaptivePortalApp(Network network) { - mCm.startCaptivePortalApp(network); - } -} diff --git a/src/com/android/settings/vpn2/VpnUtils.java b/src/com/android/settings/vpn2/VpnUtils.java index a36cce82e01..1aa4adaea41 100644 --- a/src/com/android/settings/vpn2/VpnUtils.java +++ b/src/com/android/settings/vpn2/VpnUtils.java @@ -27,6 +27,7 @@ import android.util.Log; import com.android.internal.net.LegacyVpnInfo; import com.android.internal.net.VpnConfig; +import com.android.settings.wrapper.ConnectivityManagerWrapper; /** * Utility functions for vpn. diff --git a/src/com/android/settings/webview/WebViewAppPicker.java b/src/com/android/settings/webview/WebViewAppPicker.java index 380b964ab7e..362ca1f2535 100644 --- a/src/com/android/settings/webview/WebViewAppPicker.java +++ b/src/com/android/settings/webview/WebViewAppPicker.java @@ -30,9 +30,10 @@ 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; +import com.android.settings.wrapper.UserPackageWrapper; +import com.android.settingslib.wrapper.PackageManagerWrapper; import java.util.ArrayList; import java.util.List; diff --git a/src/com/android/settings/webview/WebViewUpdateServiceWrapper.java b/src/com/android/settings/webview/WebViewUpdateServiceWrapper.java index b40be1941fa..e4eb0fcfca4 100644 --- a/src/com/android/settings/webview/WebViewUpdateServiceWrapper.java +++ b/src/com/android/settings/webview/WebViewUpdateServiceWrapper.java @@ -28,6 +28,8 @@ import android.webkit.WebViewProviderInfo; import android.widget.Toast; import com.android.settings.R; +import com.android.settings.wrapper.UserPackageWrapper; +import com.android.settings.wrapper.UserPackageWrapperImpl; import java.util.ArrayList; import java.util.List; diff --git a/src/com/android/settings/wifi/ConfigureWifiSettings.java b/src/com/android/settings/wifi/ConfigureWifiSettings.java index 4199a6d3b97..3c700483d99 100644 --- a/src/com/android/settings/wifi/ConfigureWifiSettings.java +++ b/src/com/android/settings/wifi/ConfigureWifiSettings.java @@ -28,12 +28,12 @@ import android.provider.SearchIndexableResource; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settings.R; import com.android.settings.dashboard.DashboardFragment; -import com.android.settings.network.NetworkScoreManagerWrapper; import com.android.settings.network.NetworkScorerPickerPreferenceController; import com.android.settings.network.WifiCallingPreferenceController; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.Indexable; import com.android.settings.wifi.p2p.WifiP2pPreferenceController; +import com.android.settings.wrapper.NetworkScoreManagerWrapper; import com.android.settingslib.core.AbstractPreferenceController; import java.util.ArrayList; diff --git a/src/com/android/settings/wifi/ConnectivityManagerWrapper.java b/src/com/android/settings/wifi/ConnectivityManagerWrapper.java deleted file mode 100644 index 73176663cc6..00000000000 --- a/src/com/android/settings/wifi/ConnectivityManagerWrapper.java +++ /dev/null @@ -1,36 +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.wifi; - -import android.net.ConnectivityManager; - -/** - * Wrapper around {@link ConnectivityManager} to facilitate unit testing. - */ -public class ConnectivityManagerWrapper { - private final ConnectivityManager mConnectivityManager; - - public ConnectivityManagerWrapper(ConnectivityManager connectivityManager) { - mConnectivityManager = connectivityManager; - } - - /** - * {@link ConnectivityManager#stopTethering} - */ - public void stopTethering(int type) { - mConnectivityManager.stopTethering(type); - } -} diff --git a/src/com/android/settings/wifi/UseOpenWifiPreferenceController.java b/src/com/android/settings/wifi/UseOpenWifiPreferenceController.java index d44c8a9d636..c563fce4261 100644 --- a/src/com/android/settings/wifi/UseOpenWifiPreferenceController.java +++ b/src/com/android/settings/wifi/UseOpenWifiPreferenceController.java @@ -21,7 +21,7 @@ import android.text.TextUtils; import com.android.settings.R; import com.android.settings.core.PreferenceControllerMixin; -import com.android.settings.network.NetworkScoreManagerWrapper; +import com.android.settings.wrapper.NetworkScoreManagerWrapper; import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.LifecycleObserver; diff --git a/src/com/android/settings/wifi/WifiEnabler.java b/src/com/android/settings/wifi/WifiEnabler.java index 77188987b3d..9c431422371 100644 --- a/src/com/android/settings/wifi/WifiEnabler.java +++ b/src/com/android/settings/wifi/WifiEnabler.java @@ -35,6 +35,7 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settings.R; import com.android.settings.core.instrumentation.MetricsFeatureProvider; import com.android.settings.widget.SwitchWidgetController; +import com.android.settings.wrapper.ConnectivityManagerWrapper; import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; import com.android.settingslib.WirelessUtils; diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java index f3b08bf1dac..bc302b98395 100644 --- a/src/com/android/settings/wifi/WifiSettings.java +++ b/src/com/android/settings/wifi/WifiSettings.java @@ -65,6 +65,7 @@ import com.android.settings.search.SearchIndexableRaw; import com.android.settings.widget.SummaryUpdater.OnSummaryChangeListener; import com.android.settings.widget.SwitchBarController; import com.android.settings.wifi.details.WifiNetworkDetailsFragment; +import com.android.settings.wrapper.WifiManagerWrapper; import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.wifi.AccessPoint; import com.android.settingslib.wifi.AccessPoint.AccessPointListener; diff --git a/src/com/android/settings/wifi/WifiWakeupPreferenceController.java b/src/com/android/settings/wifi/WifiWakeupPreferenceController.java index efb8aa6f84a..a3170c09cbc 100644 --- a/src/com/android/settings/wifi/WifiWakeupPreferenceController.java +++ b/src/com/android/settings/wifi/WifiWakeupPreferenceController.java @@ -29,7 +29,7 @@ import android.text.TextUtils; import com.android.settings.R; import com.android.settings.core.PreferenceControllerMixin; -import com.android.settings.network.NetworkScoreManagerWrapper; +import com.android.settings.wrapper.NetworkScoreManagerWrapper; import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.LifecycleObserver; diff --git a/src/com/android/settings/wifi/WriteWifiConfigToNfcDialog.java b/src/com/android/settings/wifi/WriteWifiConfigToNfcDialog.java index 52871f6cba4..dfed8018457 100644 --- a/src/com/android/settings/wifi/WriteWifiConfigToNfcDialog.java +++ b/src/com/android/settings/wifi/WriteWifiConfigToNfcDialog.java @@ -20,7 +20,6 @@ import android.app.Activity; import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; -import android.net.wifi.WifiManager; import android.nfc.FormatException; import android.nfc.NdefMessage; import android.nfc.NdefRecord; @@ -43,6 +42,7 @@ import android.widget.ProgressBar; import android.widget.TextView; import com.android.settings.R; +import com.android.settings.wrapper.WifiManagerWrapper; import com.android.settingslib.wifi.AccessPoint; import java.io.IOException; diff --git a/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java b/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java index 014fb0f84ac..40acfeb4e02 100644 --- a/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java +++ b/src/com/android/settings/wifi/details/WifiDetailPreferenceController.java @@ -57,12 +57,12 @@ import com.android.settings.Utils; import com.android.settings.applications.LayoutPreference; import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.core.instrumentation.MetricsFeatureProvider; -import com.android.settings.vpn2.ConnectivityManagerWrapper; import com.android.settings.widget.ActionButtonPreference; import com.android.settings.widget.EntityHeaderController; import com.android.settings.wifi.WifiDetailPreference; import com.android.settings.wifi.WifiDialog; import com.android.settings.wifi.WifiDialog.WifiDialogListener; +import com.android.settings.wrapper.ConnectivityManagerWrapper; import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.LifecycleObserver; diff --git a/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java b/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java index 765bebccb2b..1609bef2980 100644 --- a/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java +++ b/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java @@ -31,9 +31,9 @@ import com.android.internal.logging.nano.MetricsProto; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settings.R; import com.android.settings.dashboard.DashboardFragment; -import com.android.settings.vpn2.ConnectivityManagerWrapperImpl; import com.android.settings.wifi.WifiConfigUiBase; import com.android.settings.wifi.WifiDialog; +import com.android.settings.wrapper.ConnectivityManagerWrapper; import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.wifi.AccessPoint; import java.util.ArrayList; @@ -117,7 +117,7 @@ public class WifiNetworkDetailsFragment extends DashboardFragment { ConnectivityManager cm = context.getSystemService(ConnectivityManager.class); mWifiDetailPreferenceController = WifiDetailPreferenceController.newInstance( mAccessPoint, - new ConnectivityManagerWrapperImpl(cm), + new ConnectivityManagerWrapper(cm), context, this, new Handler(Looper.getMainLooper()), // UI thread. diff --git a/src/com/android/settings/applications/AccessibilityManagerWrapperImpl.java b/src/com/android/settings/wrapper/AccessibilityManagerWrapper.java similarity index 93% rename from src/com/android/settings/applications/AccessibilityManagerWrapperImpl.java rename to src/com/android/settings/wrapper/AccessibilityManagerWrapper.java index 4ebaea759fc..4fd7ccffa67 100644 --- a/src/com/android/settings/applications/AccessibilityManagerWrapperImpl.java +++ b/src/com/android/settings/wrapper/AccessibilityManagerWrapper.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.settings.applications; +package com.android.settings.wrapper; import android.view.accessibility.AccessibilityManager; @@ -23,7 +23,7 @@ import android.view.accessibility.AccessibilityManager; * The interface exists so that we can use a thin wrapper around the AccessibilityManager in * production code and a mock in tests. */ -public class AccessibilityManagerWrapperImpl { +public class AccessibilityManagerWrapper { /** * Determines if the accessibility button within the system navigation area is supported. diff --git a/src/com/android/settings/applications/AccessibilityServiceInfoWrapper.java b/src/com/android/settings/wrapper/AccessibilityServiceInfoWrapper.java similarity index 67% rename from src/com/android/settings/applications/AccessibilityServiceInfoWrapper.java rename to src/com/android/settings/wrapper/AccessibilityServiceInfoWrapper.java index 6ce0a4a9bcd..c920392306d 100644 --- a/src/com/android/settings/applications/AccessibilityServiceInfoWrapper.java +++ b/src/com/android/settings/wrapper/AccessibilityServiceInfoWrapper.java @@ -14,24 +14,34 @@ * limitations under the License. */ -package com.android.settings.applications; +package com.android.settings.wrapper; import android.accessibilityservice.AccessibilityServiceInfo; import android.content.ComponentName; /** - * This interface replicates a subset of the - * {@link android.accessibilityservice.AccessibilityServiceInfo}. The interface + * This class replicates a subset of the + * {@link android.accessibilityservice.AccessibilityServiceInfo}. The class * exists so that we can use a thin wrapper around it in production code and a mock in tests. * We cannot directly mock or shadow it, because some of the methods we rely on are newer than * the API version supported by Robolectric. */ -public interface AccessibilityServiceInfoWrapper { +public class AccessibilityServiceInfoWrapper { + + private final AccessibilityServiceInfo mServiceInfo; + + public AccessibilityServiceInfoWrapper(AccessibilityServiceInfo serviceInfo) { + mServiceInfo = serviceInfo; + } /** * Returns the real {@code AccessibilityServiceInfo} object. */ - AccessibilityServiceInfo getAccessibilityServiceInfo(); + public AccessibilityServiceInfo getAccessibilityServiceInfo() { + return mServiceInfo; + } - ComponentName getComponentName(); + public ComponentName getComponentName() { + return mServiceInfo.getComponentName(); + } } diff --git a/src/com/android/settings/applications/ActivityInfoWrapperImpl.java b/src/com/android/settings/wrapper/ActivityInfoWrapper.java similarity index 67% rename from src/com/android/settings/applications/ActivityInfoWrapperImpl.java rename to src/com/android/settings/wrapper/ActivityInfoWrapper.java index b70a1e87235..37d0d423772 100644 --- a/src/com/android/settings/applications/ActivityInfoWrapperImpl.java +++ b/src/com/android/settings/wrapper/ActivityInfoWrapper.java @@ -14,19 +14,26 @@ * limitations under the License. */ -package com.android.settings.applications; +package com.android.settings.wrapper; import android.content.pm.ActivityInfo; -public class ActivityInfoWrapperImpl implements ActivityInfoWrapper { +/** + * This class replicates a subset of the android.content.pm.ActivityInfo. The class + * exists so that we can use a thin wrapper around the ActivityInfo in production code and a mock in + * tests. + */ +public class ActivityInfoWrapper { private final ActivityInfo mInfo; - public ActivityInfoWrapperImpl(ActivityInfo info) { + public ActivityInfoWrapper(ActivityInfo info) { mInfo = info; } - @Override + /** + * Returns whether this activity supports picture-in-picture. + */ public boolean supportsPictureInPicture() { return mInfo.supportsPictureInPicture(); } diff --git a/src/com/android/settings/applications/AutofillManagerWrapper.java b/src/com/android/settings/wrapper/AutofillManagerWrapper.java similarity index 61% rename from src/com/android/settings/applications/AutofillManagerWrapper.java rename to src/com/android/settings/wrapper/AutofillManagerWrapper.java index 04091b01d4c..57c9375ec2d 100644 --- a/src/com/android/settings/applications/AutofillManagerWrapper.java +++ b/src/com/android/settings/wrapper/AutofillManagerWrapper.java @@ -14,28 +14,46 @@ * limitations under the License. */ -package com.android.settings.applications; +package com.android.settings.wrapper; import android.view.autofill.AutofillManager; /** - * This interface replicates a subset of the android.view.autofill.AutofillManager (AFM). The - * interface exists so that we can use a thin wrapper around the AFM in production code and a mock + * This class replicates a subset of the android.view.autofill.AutofillManager (AFM). The + * class exists so that we can use a thin wrapper around the AFM in production code and a mock * in tests. We cannot directly mock or shadow the AFM, because some of the methods we rely on are * newer than the API version supported by Robolectric. */ -public interface AutofillManagerWrapper { +public class AutofillManagerWrapper { + private final AutofillManager mAfm; + + public AutofillManagerWrapper(AutofillManager afm) { + mAfm = afm; + } + /** * Calls {@code AutofillManager.hasAutofillFeature()}. * * @see AutofillManager#hasAutofillFeature */ - public boolean hasAutofillFeature(); + public boolean hasAutofillFeature() { + if (mAfm == null) { + return false; + } + + return mAfm.hasAutofillFeature(); + } /** * Calls {@code AutofillManager.isAutofillSupported()}. * * @see AutofillManager#isAutofillSupported */ - public boolean isAutofillSupported(); + public boolean isAutofillSupported() { + if (mAfm == null) { + return false; + } + + return mAfm.isAutofillSupported(); + } } diff --git a/src/com/android/settings/vpn2/ConnectivityManagerWrapper.java b/src/com/android/settings/wrapper/ConnectivityManagerWrapper.java similarity index 72% rename from src/com/android/settings/vpn2/ConnectivityManagerWrapper.java rename to src/com/android/settings/wrapper/ConnectivityManagerWrapper.java index 9e20c9d1fd8..c80a97b3afa 100644 --- a/src/com/android/settings/vpn2/ConnectivityManagerWrapper.java +++ b/src/com/android/settings/wrapper/ConnectivityManagerWrapper.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.settings.vpn2; +package com.android.settings.wrapper; import android.net.ConnectivityManager; import android.net.ConnectivityManager.NetworkCallback; @@ -24,31 +24,43 @@ import android.os.Handler; import android.net.ProxyInfo; /** - * This interface replicates a subset of the android.net.ConnectivityManager (CM). The interface + * This class replicates a subset of the android.net.ConnectivityManager (CM). The class * exists so that we can use a thin wrapper around the CM in production code and a mock in tests. * We cannot directly mock or shadow the CM, because some of the methods we rely on are marked as * hidden and are thus invisible to Robolectric. */ -public interface ConnectivityManagerWrapper { +public class ConnectivityManagerWrapper { + + private final ConnectivityManager mCm; + + public ConnectivityManagerWrapper(ConnectivityManager cm) { + mCm = cm; + } /** * Returns the real ConnectivityManager object wrapped by this wrapper. */ - public ConnectivityManager getConnectivityManager(); + public ConnectivityManager getConnectivityManager() { + return mCm; + } /** * Calls {@code ConnectivityManager.getAlwaysOnVpnPackageForUser()}. * * @see android.net.ConnectivityManager#getAlwaysOnVpnPackageForUser */ - String getAlwaysOnVpnPackageForUser(int userId); + public String getAlwaysOnVpnPackageForUser(int userId) { + return mCm.getAlwaysOnVpnPackageForUser(userId); + } /** * Calls {@code ConnectivityManager.getGlobalProxy()}. * * @see android.net.ConnectivityManager#getGlobalProxy */ - ProxyInfo getGlobalProxy(); + public ProxyInfo getGlobalProxy() { + return mCm.getGlobalProxy(); + } /** * Calls {@code ConnectivityManager.registerNetworkCallback()}. @@ -60,7 +72,9 @@ public interface ConnectivityManagerWrapper { * @see android.net.ConnectivityManager#registerNetworkCallback(NetworkRequest,NetworkCallback,Handler) */ public void registerNetworkCallback(NetworkRequest request, NetworkCallback callback, - Handler handler); + Handler handler) { + mCm.registerNetworkCallback(request, callback, handler); + } /** * Calls {@code ConnectivityManager.startCaptivePortalApp()}. @@ -71,5 +85,14 @@ public interface ConnectivityManagerWrapper { * * @see android.net.ConnectivityManager#startCaptivePortalApp(Network) */ - public void startCaptivePortalApp(Network network); + public void startCaptivePortalApp(Network network) { + mCm.startCaptivePortalApp(network); + } + + /** + * {@link ConnectivityManager#stopTethering} + */ + public void stopTethering(int type) { + mCm.stopTethering(type); + } } diff --git a/src/com/android/settings/enterprise/DevicePolicyManagerWrapper.java b/src/com/android/settings/wrapper/DevicePolicyManagerWrapper.java similarity index 59% rename from src/com/android/settings/enterprise/DevicePolicyManagerWrapper.java rename to src/com/android/settings/wrapper/DevicePolicyManagerWrapper.java index ede241a0f10..ed2eb462ae4 100644 --- a/src/com/android/settings/enterprise/DevicePolicyManagerWrapper.java +++ b/src/com/android/settings/wrapper/DevicePolicyManagerWrapper.java @@ -14,9 +14,10 @@ * limitations under the License. */ -package com.android.settings.enterprise; +package com.android.settings.wrapper; import android.annotation.NonNull; +import android.app.admin.DevicePolicyManager; import android.content.ComponentName; import android.content.Intent; import android.os.UserHandle; @@ -25,137 +26,178 @@ import android.support.annotation.Nullable; import java.util.List; /** - * This interface replicates a subset of the android.app.admin.DevicePolicyManager (DPM). The - * interface exists so that we can use a thin wrapper around the DPM in production code and a mock + * This class replicates a subset of the android.app.admin.DevicePolicyManager (DPM). The + * class exists so that we can use a thin wrapper around the DPM in production code and a mock * in tests. We cannot directly mock or shadow the DPM, because some of the methods we rely on are * newer than the API version supported by Robolectric. */ -public interface DevicePolicyManagerWrapper { +public class DevicePolicyManagerWrapper { + private final DevicePolicyManager mDpm; + + public DevicePolicyManagerWrapper(DevicePolicyManager dpm) { + mDpm = dpm; + } + /** * Calls {@code DevicePolicyManager.getActiveAdminsAsUser()}. * * @see android.app.admin.DevicePolicyManager#getActiveAdminsAsUser */ - public @Nullable List getActiveAdminsAsUser(int userId); + public @Nullable List getActiveAdminsAsUser(int userId) { + return mDpm.getActiveAdminsAsUser(userId); + } /** * Calls {@code DevicePolicyManager.getMaximumFailedPasswordsForWipe()}. * * @see android.app.admin.DevicePolicyManager#getMaximumFailedPasswordsForWipe */ - int getMaximumFailedPasswordsForWipe(@Nullable ComponentName admin, int userHandle); + public int getMaximumFailedPasswordsForWipe(@Nullable ComponentName admin, int userHandle) { + return mDpm.getMaximumFailedPasswordsForWipe(admin, userHandle); + } /** * Calls {@code DevicePolicyManager.getDeviceOwnerComponentOnCallingUser()}. * * @see android.app.admin.DevicePolicyManager#getDeviceOwnerComponentOnCallingUser */ - ComponentName getDeviceOwnerComponentOnCallingUser(); + public ComponentName getDeviceOwnerComponentOnCallingUser() { + return mDpm.getDeviceOwnerComponentOnCallingUser(); + } /** * Calls {@code DevicePolicyManager.getDeviceOwnerComponentOnAnyUser()}. * * @see android.app.admin.DevicePolicyManager#getDeviceOwnerComponentOnAnyUser */ - ComponentName getDeviceOwnerComponentOnAnyUser(); + public ComponentName getDeviceOwnerComponentOnAnyUser() { + return mDpm.getDeviceOwnerComponentOnAnyUser(); + } /** * Calls {@code DevicePolicyManager.getProfileOwnerAsUser()}. * * @see android.app.admin.DevicePolicyManager#getProfileOwnerAsUser */ - @Nullable ComponentName getProfileOwnerAsUser(final int userId); + public @Nullable ComponentName getProfileOwnerAsUser(final int userId) { + return mDpm.getProfileOwnerAsUser(userId); + } /** * Calls {@code DevicePolicyManager.getDeviceOwnerNameOnAnyUser()}. * * @see android.app.admin.DevicePolicyManager#getDeviceOwnerNameOnAnyUser */ - CharSequence getDeviceOwnerOrganizationName(); + public CharSequence getDeviceOwnerOrganizationName() { + return mDpm.getDeviceOwnerOrganizationName(); + } /** * Calls {@code DevicePolicyManager.getPermissionGrantState()}. * * @see android.app.admin.DevicePolicyManager#getPermissionGrantState */ - int getPermissionGrantState(@Nullable ComponentName admin, String packageName, - String permission); + public int getPermissionGrantState(@Nullable ComponentName admin, String packageName, + String permission) { + return mDpm.getPermissionGrantState(admin, packageName, permission); + } /** * Calls {@code DevicePolicyManager.isSecurityLoggingEnabled()}. * * @see android.app.admin.DevicePolicyManager#isSecurityLoggingEnabled */ - boolean isSecurityLoggingEnabled(@Nullable ComponentName admin); + public boolean isSecurityLoggingEnabled(@Nullable ComponentName admin) { + return mDpm.isSecurityLoggingEnabled(admin); + } /** * Calls {@code DevicePolicyManager.isNetworkLoggingEnabled()}. * * @see android.app.admin.DevicePolicyManager#isNetworkLoggingEnabled */ - boolean isNetworkLoggingEnabled(@Nullable ComponentName admin); + public boolean isNetworkLoggingEnabled(@Nullable ComponentName admin) { + return mDpm.isNetworkLoggingEnabled(admin); + } /** * Calls {@code DevicePolicyManager.getLastSecurityLogRetrievalTime()}. * * @see android.app.admin.DevicePolicyManager#getLastSecurityLogRetrievalTime */ - long getLastSecurityLogRetrievalTime(); + public long getLastSecurityLogRetrievalTime() { + return mDpm.getLastSecurityLogRetrievalTime(); + } /** * Calls {@code DevicePolicyManager.getLastBugReportRequestTime()}. * * @see android.app.admin.DevicePolicyManager#getLastBugReportRequestTime */ - long getLastBugReportRequestTime(); + public long getLastBugReportRequestTime() { + return mDpm.getLastBugReportRequestTime(); + } /** * Calls {@code DevicePolicyManager.getLastNetworkLogRetrievalTime()}. * * @see android.app.admin.DevicePolicyManager#getLastNetworkLogRetrievalTime */ - long getLastNetworkLogRetrievalTime(); + public long getLastNetworkLogRetrievalTime() { + return mDpm.getLastNetworkLogRetrievalTime(); + } /** * Calls {@code DevicePolicyManager.isCurrentInputMethodSetByOwner()}. * * @see android.app.admin.DevicePolicyManager#isCurrentInputMethodSetByOwner */ - boolean isCurrentInputMethodSetByOwner(); - + public boolean isCurrentInputMethodSetByOwner() { + return mDpm.isCurrentInputMethodSetByOwner(); + } /** * Calls {@code DevicePolicyManager.getOwnerInstalledCaCerts()}. * * @see android.app.admin.DevicePolicyManager#getOwnerInstalledCaCerts */ - List getOwnerInstalledCaCerts(@NonNull UserHandle user); + public List getOwnerInstalledCaCerts(@NonNull UserHandle user) { + return mDpm.getOwnerInstalledCaCerts(user); + } /** * Calls {@code DevicePolicyManager.isDeviceOwnerAppOnAnyUser()}. * * @see android.app.admin.DevicePolicyManager#isDeviceOwnerAppOnAnyUser */ - boolean isDeviceOwnerAppOnAnyUser(String packageName); + public boolean isDeviceOwnerAppOnAnyUser(String packageName) { + return mDpm.isDeviceOwnerAppOnAnyUser(packageName); + } /** * Calls {@code DevicePolicyManager.packageHasActiveAdmins()}. * * @see android.app.admin.DevicePolicyManager#packageHasActiveAdmins */ - boolean packageHasActiveAdmins(String packageName); + public boolean packageHasActiveAdmins(String packageName) { + return mDpm.packageHasActiveAdmins(packageName); + } /** * Calls {@code DevicePolicyManager.isUninstallInQueue()}. * * @see android.app.admin.DevicePolicyManager#isUninstallInQueue */ - boolean isUninstallInQueue(String packageName); + public boolean isUninstallInQueue(String packageName) { + return mDpm.isUninstallInQueue(packageName); + } /** * Calls {@code DevicePolicyManager.createAdminSupportIntent()}. * * @see android.app.admin.DevicePolicyManager#createAdminSupportIntent */ - Intent createAdminSupportIntent(String restriction); + public Intent createAdminSupportIntent(@NonNull String restriction) { + return mDpm.createAdminSupportIntent(restriction); + } } diff --git a/src/com/android/settings/password/FingerprintManagerWrapper.java b/src/com/android/settings/wrapper/FingerprintManagerWrapper.java similarity index 79% rename from src/com/android/settings/password/FingerprintManagerWrapper.java rename to src/com/android/settings/wrapper/FingerprintManagerWrapper.java index 51b31afc9e6..9b43bfaa027 100644 --- a/src/com/android/settings/password/FingerprintManagerWrapper.java +++ b/src/com/android/settings/wrapper/FingerprintManagerWrapper.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.settings.password; +package com.android.settings.wrapper; import android.annotation.NonNull; import android.hardware.fingerprint.FingerprintManager; @@ -24,10 +24,14 @@ import android.os.CancellationSignal; import com.android.internal.util.Preconditions; /** - * Wrapper of {@link FingerprintManager}. Workaround for roboelectic testing. See - * {@link IFingerprintManager} for details. + * Wrapper of {@link FingerprintManager}. Workaround for robolectic testing. + * + * This is the workaround to allow us test {@link SetNewPasswordController} which uses a new hidden + * API {@link android.hardware.fingerprint.FingerprintManager#hasEnrolledFingerprints(int)} that + * robolectric does not support yet. Having robolectic to support latest platform API is tracked + * in b/30995831. */ -public class FingerprintManagerWrapper implements IFingerprintManager { +public class FingerprintManagerWrapper { private @NonNull FingerprintManager mFingerprintManager; public FingerprintManagerWrapper(@NonNull FingerprintManager fingerprintManager) { @@ -35,27 +39,22 @@ public class FingerprintManagerWrapper implements IFingerprintManager { mFingerprintManager = fingerprintManager; } - @Override public boolean isHardwareDetected() { return mFingerprintManager.isHardwareDetected(); } - @Override public boolean hasEnrolledFingerprints(int userId) { return mFingerprintManager.hasEnrolledFingerprints(userId); } - @Override public long preEnroll() { return mFingerprintManager.preEnroll(); } - @Override public void setActiveUser(int userId) { mFingerprintManager.setActiveUser(userId); } - @Override public void enroll( byte[] token, CancellationSignal cancel, diff --git a/src/com/android/settings/applications/IPackageManagerWrapper.java b/src/com/android/settings/wrapper/IPackageManagerWrapper.java similarity index 60% rename from src/com/android/settings/applications/IPackageManagerWrapper.java rename to src/com/android/settings/wrapper/IPackageManagerWrapper.java index b4d1b85e8f7..9bb2df72d02 100644 --- a/src/com/android/settings/applications/IPackageManagerWrapper.java +++ b/src/com/android/settings/wrapper/IPackageManagerWrapper.java @@ -14,62 +14,84 @@ * limitations under the License. */ -package com.android.settings.applications; +package com.android.settings.wrapper; import android.content.Intent; +import android.content.pm.IPackageManager; import android.content.pm.PackageInfo; import android.content.pm.ParceledListSlice; import android.content.pm.ResolveInfo; import android.os.RemoteException; /** - * This interface replicates a subset of the android.content.pm.IPackageManager (PMS). The interface + * This class replicates a subset of the android.content.pm.IPackageManager (PMS). The class * exists so that we can use a thin wrapper around the PMS in production code and a mock in tests. * We cannot directly mock or shadow the PMS, because some of the methods we rely on are newer than * the API version supported by Robolectric. */ -public interface IPackageManagerWrapper { +public class IPackageManagerWrapper { + + private final IPackageManager mPms; + + public IPackageManagerWrapper(IPackageManager pms) { + mPms = pms; + } /** * Calls {@code IPackageManager.checkUidPermission()}. * * @see android.content.pm.IPackageManager#checkUidPermission */ - int checkUidPermission(String permName, int uid) throws RemoteException; + public int checkUidPermission(String permName, int uid) throws RemoteException { + return mPms.checkUidPermission(permName, uid); + } /** * Calls {@code IPackageManager.findPersistentPreferredActivity()}. * * @see android.content.pm.IPackageManager#findPersistentPreferredActivity */ - ResolveInfo findPersistentPreferredActivity(Intent intent, int userId) throws RemoteException; + public ResolveInfo findPersistentPreferredActivity(Intent intent, int userId) + throws RemoteException { + return mPms.findPersistentPreferredActivity(intent, userId); + } /** * Calls {@code IPackageManager.getPackageInfo()}. * * @see android.content.pm.IPackageManager#getPackageInfo */ - PackageInfo getPackageInfo(String packageName, int flags, int userId) throws RemoteException; + public PackageInfo getPackageInfo(String packageName, int flags, int userId) + throws RemoteException { + return mPms.getPackageInfo(packageName, flags, userId); + } /** * Calls {@code IPackageManager.getAppOpPermissionPackages()}. * * @see android.content.pm.IPackageManager#getAppOpPermissionPackages */ - String[] getAppOpPermissionPackages(String permissionName) throws RemoteException; + public String[] getAppOpPermissionPackages(String permissionName) throws RemoteException { + return mPms.getAppOpPermissionPackages(permissionName); + } /** * Calls {@code IPackageManager.isPackageAvailable()}. * * @see android.content.pm.IPackageManager#isPackageAvailable */ - boolean isPackageAvailable(String packageName, int userId) throws RemoteException; + public boolean isPackageAvailable(String packageName, int userId) throws RemoteException { + return mPms.isPackageAvailable(packageName, userId); + } /** * Calls {@code IPackageManager.getPackagesHoldingPermissions()}. * * @see android.content.pm.IPackageManager#getPackagesHoldingPermissions */ - ParceledListSlice getPackagesHoldingPermissions( - String[] permissions, int flags, int userId) throws RemoteException; + public ParceledListSlice getPackagesHoldingPermissions( + String[] permissions, int flags, int userId) throws RemoteException { + return mPms.getPackagesHoldingPermissions(permissions, flags, userId); + } + } diff --git a/src/com/android/settings/fuelgauge/anomaly/KeyValueListParserWrapper.java b/src/com/android/settings/wrapper/KeyValueListParserWrapper.java similarity index 71% rename from src/com/android/settings/fuelgauge/anomaly/KeyValueListParserWrapper.java rename to src/com/android/settings/wrapper/KeyValueListParserWrapper.java index 4a9c2a92b45..16dc50eecdc 100644 --- a/src/com/android/settings/fuelgauge/anomaly/KeyValueListParserWrapper.java +++ b/src/com/android/settings/wrapper/KeyValueListParserWrapper.java @@ -14,22 +14,29 @@ * limitations under the License. */ -package com.android.settings.fuelgauge.anomaly; +package com.android.settings.wrapper; import android.util.KeyValueListParser; /** - * This interface replicates a subset of the {@link KeyValueListParser}. The interface + * This class replicates a subset of the {@link KeyValueListParser}. The class * exists so that we can use a thin wrapper around the PM in production code and a mock in tests. * We cannot directly mock or shadow the {@link KeyValueListParser}, because some of the methods * we rely on are newer than the API version supported by Robolectric. */ -public interface KeyValueListParserWrapper { +public class KeyValueListParserWrapper { + private KeyValueListParser mParser; + + public KeyValueListParserWrapper(KeyValueListParser parser) { + mParser = parser; + } /** * Get real {@link KeyValueListParser} */ - KeyValueListParser getKeyValueListParser(); + public KeyValueListParser getKeyValueListParser() { + return mParser; + } /** * Resets the parser with a new string to parse. The string is expected to be in the following @@ -41,7 +48,9 @@ public interface KeyValueListParserWrapper { * @param str the string to parse. * @throws IllegalArgumentException if the string is malformed. */ - void setString(String str) throws IllegalArgumentException; + public void setString(String str) throws IllegalArgumentException { + mParser.setString(str); + } /** * Get the value for key as a boolean. @@ -49,7 +58,9 @@ public interface KeyValueListParserWrapper { * @param defaultValue The value to return if the key was not found. * @return the string value associated with the key. */ - boolean getBoolean(String key, boolean defaultValue); + public boolean getBoolean(String key, boolean defaultValue) { + return mParser.getBoolean(key, defaultValue); + } /** * Get the value for key as a long. @@ -58,5 +69,7 @@ public interface KeyValueListParserWrapper { * long. * @return the long value associated with the key. */ - long getLong(String key, long defaultValue); + public long getLong(String key, long defaultValue) { + return mParser.getLong(key, defaultValue); + } } diff --git a/src/com/android/settings/network/NetworkScoreManagerWrapper.java b/src/com/android/settings/wrapper/NetworkScoreManagerWrapper.java similarity index 98% rename from src/com/android/settings/network/NetworkScoreManagerWrapper.java rename to src/com/android/settings/wrapper/NetworkScoreManagerWrapper.java index 3489640f6a2..a07d6457a09 100644 --- a/src/com/android/settings/network/NetworkScoreManagerWrapper.java +++ b/src/com/android/settings/wrapper/NetworkScoreManagerWrapper.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.android.settings.network; +package com.android.settings.wrapper; import android.annotation.Nullable; import android.net.NetworkScoreManager; diff --git a/src/com/android/settings/display/PowerManagerWrapper.java b/src/com/android/settings/wrapper/PowerManagerWrapper.java similarity index 97% rename from src/com/android/settings/display/PowerManagerWrapper.java rename to src/com/android/settings/wrapper/PowerManagerWrapper.java index afa2f333590..6357a3ecd36 100644 --- a/src/com/android/settings/display/PowerManagerWrapper.java +++ b/src/com/android/settings/wrapper/PowerManagerWrapper.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.settings.display; +package com.android.settings.wrapper; import android.os.PowerManager; diff --git a/src/com/android/settings/network/RestrictedLockUtilsWrapper.java b/src/com/android/settings/wrapper/RestrictedLockUtilsWrapper.java similarity index 93% rename from src/com/android/settings/network/RestrictedLockUtilsWrapper.java rename to src/com/android/settings/wrapper/RestrictedLockUtilsWrapper.java index de5b80851d3..7a0185ff7b9 100644 --- a/src/com/android/settings/network/RestrictedLockUtilsWrapper.java +++ b/src/com/android/settings/wrapper/RestrictedLockUtilsWrapper.java @@ -1,4 +1,4 @@ -package com.android.settings.network; +package com.android.settings.wrapper; import android.content.Context; import com.android.settingslib.RestrictedLockUtils; diff --git a/src/com/android/settings/applications/UserManagerWrapperImpl.java b/src/com/android/settings/wrapper/UserManagerWrapper.java similarity index 66% rename from src/com/android/settings/applications/UserManagerWrapperImpl.java rename to src/com/android/settings/wrapper/UserManagerWrapper.java index 14ea64ae345..eeb648bd102 100644 --- a/src/com/android/settings/applications/UserManagerWrapperImpl.java +++ b/src/com/android/settings/wrapper/UserManagerWrapper.java @@ -14,26 +14,30 @@ * limitations under the License. */ -package com.android.settings.applications; +package com.android.settings.wrapper; import android.content.pm.UserInfo; import android.os.UserManager; import java.util.List; -public class UserManagerWrapperImpl implements UserManagerWrapper { +/** + * This class replicates a subset of the android.os.UserManager. The class + * exists so that we can use a thin wrapper around the UserManager in production code and a mock in + * tests. We cannot directly mock or shadow the UserManager, because some of the methods we rely on + * are newer than the API version supported by Robolectric or are hidden. + */ +public class UserManagerWrapper { private UserManager mUserManager; - public UserManagerWrapperImpl(UserManager userManager) { + public UserManagerWrapper(UserManager userManager) { mUserManager = userManager; } - @Override public UserInfo getPrimaryUser() { return mUserManager.getPrimaryUser(); } - @Override public List getUsers() { return mUserManager.getUsers(); } diff --git a/src/com/android/settings/webview/UserPackageWrapper.java b/src/com/android/settings/wrapper/UserPackageWrapper.java similarity index 86% rename from src/com/android/settings/webview/UserPackageWrapper.java rename to src/com/android/settings/wrapper/UserPackageWrapper.java index 8fbb10cb8a1..afa1d82d314 100644 --- a/src/com/android/settings/webview/UserPackageWrapper.java +++ b/src/com/android/settings/wrapper/UserPackageWrapper.java @@ -12,20 +12,16 @@ * permissions and limitations under the License. */ -package com.android.settings.webview; +package com.android.settings.wrapper; -import android.content.Context; import android.content.pm.PackageInfo; import android.content.pm.UserInfo; -import android.webkit.UserPackage; - -import java.util.List; /** * Wrapper class around android.webkit.UserPackage - to be able to use UserPackage in Robolectric * tests (such tests currently don't support mocking hidden classes). */ -interface UserPackageWrapper { +public interface UserPackageWrapper { UserInfo getUserInfo(); PackageInfo getPackageInfo(); boolean isEnabledPackage(); diff --git a/src/com/android/settings/webview/UserPackageWrapperImpl.java b/src/com/android/settings/wrapper/UserPackageWrapperImpl.java similarity index 84% rename from src/com/android/settings/webview/UserPackageWrapperImpl.java rename to src/com/android/settings/wrapper/UserPackageWrapperImpl.java index 1ea7c2e7927..0a2b9cde1cb 100644 --- a/src/com/android/settings/webview/UserPackageWrapperImpl.java +++ b/src/com/android/settings/wrapper/UserPackageWrapperImpl.java @@ -12,23 +12,19 @@ * permissions and limitations under the License. */ -package com.android.settings.webview; +package com.android.settings.wrapper; -import android.content.Context; import android.content.pm.PackageInfo; import android.content.pm.UserInfo; import android.webkit.UserPackage; -import java.util.ArrayList; -import java.util.List; - /** * Default implementation of UserPackageWrapper. */ -class UserPackageWrapperImpl implements UserPackageWrapper { +public class UserPackageWrapperImpl implements UserPackageWrapper { private final UserPackage mUserPackage; - UserPackageWrapperImpl(UserPackage userPackage) { + public UserPackageWrapperImpl(UserPackage userPackage) { mUserPackage = userPackage; } diff --git a/src/com/android/settings/dashboard/suggestions/WallpaperManagerWrapper.java b/src/com/android/settings/wrapper/WallpaperManagerWrapper.java similarity index 95% rename from src/com/android/settings/dashboard/suggestions/WallpaperManagerWrapper.java rename to src/com/android/settings/wrapper/WallpaperManagerWrapper.java index 9efe4fe0a0f..89015e5513e 100644 --- a/src/com/android/settings/dashboard/suggestions/WallpaperManagerWrapper.java +++ b/src/com/android/settings/wrapper/WallpaperManagerWrapper.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.settings.dashboard.suggestions; +package com.android.settings.wrapper; import android.app.WallpaperManager; import android.content.Context; diff --git a/src/com/android/settings/wifi/WifiManagerWrapper.java b/src/com/android/settings/wrapper/WifiManagerWrapper.java similarity index 93% rename from src/com/android/settings/wifi/WifiManagerWrapper.java rename to src/com/android/settings/wrapper/WifiManagerWrapper.java index 69b5ee903db..e24f5eb3191 100644 --- a/src/com/android/settings/wifi/WifiManagerWrapper.java +++ b/src/com/android/settings/wrapper/WifiManagerWrapper.java @@ -1,4 +1,4 @@ -package com.android.settings.wifi; +package com.android.settings.wrapper; import android.net.wifi.WifiManager; diff --git a/tests/robotests/src/com/android/settings/UtilsTest.java b/tests/robotests/src/com/android/settings/UtilsTest.java index 19b87a1b1fa..26b5b0236c5 100644 --- a/tests/robotests/src/com/android/settings/UtilsTest.java +++ b/tests/robotests/src/com/android/settings/UtilsTest.java @@ -26,8 +26,8 @@ import android.text.SpannableStringBuilder; import android.text.format.DateUtils; import android.text.style.TtsSpan; -import com.android.settings.enterprise.DevicePolicyManagerWrapper; import com.android.settings.testutils.SettingsRobolectricTestRunner; +import com.android.settings.wrapper.DevicePolicyManagerWrapper; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/accessibility/ShortcutServicePickerFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/ShortcutServicePickerFragmentTest.java index f2d1e6534ac..785bdbdffaf 100644 --- a/tests/robotests/src/com/android/settings/accessibility/ShortcutServicePickerFragmentTest.java +++ b/tests/robotests/src/com/android/settings/accessibility/ShortcutServicePickerFragmentTest.java @@ -23,8 +23,8 @@ import android.os.UserManager; import android.test.mock.MockContentResolver; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; -import com.android.settings.applications.PackageManagerWrapper; import com.android.settings.testutils.FakeFeatureFactory; +import com.android.settingslib.wrapper.PackageManagerWrapper; import org.junit.Before; import org.junit.Test; @@ -40,7 +40,6 @@ import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; - @RunWith(SettingsRobolectricTestRunner.class) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) public class ShortcutServicePickerFragmentTest { diff --git a/tests/robotests/src/com/android/settings/accounts/RemoveAccountPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/RemoveAccountPreferenceControllerTest.java index a1eb2d85488..d4e866f8044 100644 --- a/tests/robotests/src/com/android/settings/accounts/RemoveAccountPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/accounts/RemoveAccountPreferenceControllerTest.java @@ -46,10 +46,10 @@ import android.widget.Button; import com.android.settings.R; import com.android.settings.TestConfig; import com.android.settings.applications.LayoutPreference; -import com.android.settings.enterprise.DevicePolicyManagerWrapper; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.shadow.ShadowAccountManager; import com.android.settings.testutils.shadow.ShadowContentResolver; +import com.android.settings.wrapper.DevicePolicyManagerWrapper; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/applications/AppStateAppOpsBridgeTest.java b/tests/robotests/src/com/android/settings/applications/AppStateAppOpsBridgeTest.java index df226a83be4..d63697ec5a4 100644 --- a/tests/robotests/src/com/android/settings/applications/AppStateAppOpsBridgeTest.java +++ b/tests/robotests/src/com/android/settings/applications/AppStateAppOpsBridgeTest.java @@ -27,6 +27,7 @@ import android.os.RemoteException; import android.os.UserManager; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; +import com.android.settings.wrapper.IPackageManagerWrapper; import com.android.settingslib.applications.ApplicationsState.AppEntry; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/applications/AppWithAdminGrantedPermissionsCounterTest.java b/tests/robotests/src/com/android/settings/applications/AppWithAdminGrantedPermissionsCounterTest.java index 11401a886d6..33d261f807b 100644 --- a/tests/robotests/src/com/android/settings/applications/AppWithAdminGrantedPermissionsCounterTest.java +++ b/tests/robotests/src/com/android/settings/applications/AppWithAdminGrantedPermissionsCounterTest.java @@ -28,7 +28,9 @@ import android.os.UserManager; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; -import com.android.settings.enterprise.DevicePolicyManagerWrapper; +import com.android.settings.wrapper.DevicePolicyManagerWrapper; +import com.android.settings.wrapper.IPackageManagerWrapper; +import com.android.settingslib.wrapper.PackageManagerWrapper; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/applications/AppWithAdminGrantedPermissionsListerTest.java b/tests/robotests/src/com/android/settings/applications/AppWithAdminGrantedPermissionsListerTest.java index c3c1bb3877c..2e9328ab6e6 100644 --- a/tests/robotests/src/com/android/settings/applications/AppWithAdminGrantedPermissionsListerTest.java +++ b/tests/robotests/src/com/android/settings/applications/AppWithAdminGrantedPermissionsListerTest.java @@ -25,7 +25,9 @@ import android.os.UserManager; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; -import com.android.settings.enterprise.DevicePolicyManagerWrapper; +import com.android.settings.wrapper.DevicePolicyManagerWrapper; +import com.android.settings.wrapper.IPackageManagerWrapper; +import com.android.settingslib.wrapper.PackageManagerWrapper; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/applications/ApplicationFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/applications/ApplicationFeatureProviderImplTest.java index 2b1c2967107..e5b7a66e79d 100644 --- a/tests/robotests/src/com/android/settings/applications/ApplicationFeatureProviderImplTest.java +++ b/tests/robotests/src/com/android/settings/applications/ApplicationFeatureProviderImplTest.java @@ -30,9 +30,11 @@ import android.os.UserManager; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; -import com.android.settings.enterprise.DevicePolicyManagerWrapper; import com.android.settings.testutils.ApplicationTestUtils; import com.android.settings.testutils.shadow.ShadowUserManager; +import com.android.settings.wrapper.DevicePolicyManagerWrapper; +import com.android.settings.wrapper.IPackageManagerWrapper; +import com.android.settingslib.wrapper.PackageManagerWrapper; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/applications/InstalledAppCounterTest.java b/tests/robotests/src/com/android/settings/applications/InstalledAppCounterTest.java index 56df10e73e3..58c4386661f 100644 --- a/tests/robotests/src/com/android/settings/applications/InstalledAppCounterTest.java +++ b/tests/robotests/src/com/android/settings/applications/InstalledAppCounterTest.java @@ -41,6 +41,7 @@ import android.os.UserManager; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; import com.android.settings.testutils.shadow.ShadowUserManager; +import com.android.settingslib.wrapper.PackageManagerWrapper; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/applications/InstalledAppDetailsTest.java b/tests/robotests/src/com/android/settings/applications/InstalledAppDetailsTest.java index 8fb1e99ae8a..35f961bf362 100644 --- a/tests/robotests/src/com/android/settings/applications/InstalledAppDetailsTest.java +++ b/tests/robotests/src/com/android/settings/applications/InstalledAppDetailsTest.java @@ -16,7 +16,6 @@ package com.android.settings.applications; - import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.nullable; import static org.mockito.Matchers.anyDouble; @@ -33,7 +32,6 @@ import android.app.AlertDialog; import android.app.AppOpsManager; import android.app.Fragment; import android.app.LoaderManager; -import android.app.admin.DevicePolicyManager; import android.content.Context; import android.content.Intent; import android.content.pm.ApplicationInfo; @@ -55,11 +53,11 @@ import com.android.settings.SettingsActivity; import com.android.settings.TestConfig; import com.android.settings.applications.instantapps.InstantAppButtonsController; import com.android.settings.applications.instantapps.InstantAppButtonsController.ShowDialogDelegate; -import com.android.settings.enterprise.DevicePolicyManagerWrapper; import com.android.settings.fuelgauge.BatteryUtils; import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.widget.ActionButtonPreferenceTest; +import com.android.settings.wrapper.DevicePolicyManagerWrapper; import com.android.settingslib.Utils; import com.android.settingslib.applications.AppUtils; import com.android.settingslib.applications.ApplicationsState.AppEntry; diff --git a/tests/robotests/src/com/android/settings/applications/InstalledAppListerTest.java b/tests/robotests/src/com/android/settings/applications/InstalledAppListerTest.java index c4c3259bf2c..c74deaeb5cf 100644 --- a/tests/robotests/src/com/android/settings/applications/InstalledAppListerTest.java +++ b/tests/robotests/src/com/android/settings/applications/InstalledAppListerTest.java @@ -26,6 +26,7 @@ import android.os.UserManager; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; +import com.android.settingslib.wrapper.PackageManagerWrapper; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/applications/NotificationAppsTest.java b/tests/robotests/src/com/android/settings/applications/NotificationAppsTest.java index 16355768651..11d757fc504 100644 --- a/tests/robotests/src/com/android/settings/applications/NotificationAppsTest.java +++ b/tests/robotests/src/com/android/settings/applications/NotificationAppsTest.java @@ -27,6 +27,7 @@ import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; import com.android.settings.dashboard.SummaryLoader; import com.android.settings.notification.NotificationBackend; +import com.android.settingslib.wrapper.PackageManagerWrapper; import java.util.List; import java.util.ArrayList; diff --git a/tests/robotests/src/com/android/settings/applications/PictureInPictureDetailsTest.java b/tests/robotests/src/com/android/settings/applications/PictureInPictureDetailsTest.java index 6bac9a3ee67..02b8c7a003c 100644 --- a/tests/robotests/src/com/android/settings/applications/PictureInPictureDetailsTest.java +++ b/tests/robotests/src/com/android/settings/applications/PictureInPictureDetailsTest.java @@ -28,6 +28,7 @@ import com.android.internal.logging.nano.MetricsProto; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; import com.android.settings.testutils.FakeFeatureFactory; +import com.android.settings.wrapper.ActivityInfoWrapper; import org.junit.Before; import org.junit.Test; @@ -104,11 +105,12 @@ public class PictureInPictureDetailsTest { activities); } - private class MockActivityInfo implements ActivityInfoWrapper { + private class MockActivityInfo extends ActivityInfoWrapper { private boolean mSupportsPictureInPicture; public MockActivityInfo(boolean supportsPictureInPicture) { + super(null); mSupportsPictureInPicture = supportsPictureInPicture; } diff --git a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppInfoTest.java b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppInfoTest.java index 281e70a367f..0ae96159e94 100644 --- a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppInfoTest.java +++ b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppInfoTest.java @@ -16,7 +16,6 @@ package com.android.settings.applications.defaultapps; - import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -27,7 +26,7 @@ import android.content.pm.PackageManager; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; -import com.android.settings.applications.PackageManagerWrapper; +import com.android.settingslib.wrapper.PackageManagerWrapper; import org.junit.Before; import org.junit.Test; 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 655f693f46f..9a3ec100c73 100644 --- a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutofillPickerTest.java +++ b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutofillPickerTest.java @@ -29,8 +29,8 @@ import android.os.UserManager; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; -import com.android.settings.applications.PackageManagerWrapper; import com.android.settings.testutils.FakeFeatureFactory; +import com.android.settingslib.wrapper.PackageManagerWrapper; import org.junit.Before; import org.junit.Test; 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 d6f1122451f..bc72ee4ee3f 100644 --- a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutofillPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutofillPreferenceControllerTest.java @@ -16,7 +16,6 @@ package com.android.settings.applications.defaultapps; - import android.content.Context; import android.content.pm.PackageManager; import android.os.UserManager; @@ -27,8 +26,8 @@ import android.view.autofill.AutofillManager; import com.android.settings.R; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; -import com.android.settings.applications.AutofillManagerWrapper; -import com.android.settings.applications.PackageManagerWrapper; +import com.android.settings.wrapper.AutofillManagerWrapper; +import com.android.settingslib.wrapper.PackageManagerWrapper; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultBrowserPickerTest.java b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultBrowserPickerTest.java index f5dc72d5ab9..e8a6c1e964c 100644 --- a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultBrowserPickerTest.java +++ b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultBrowserPickerTest.java @@ -16,14 +16,13 @@ package com.android.settings.applications.defaultapps; - import android.app.Activity; import android.content.Context; import android.os.UserManager; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; -import com.android.settings.applications.PackageManagerWrapper; +import com.android.settingslib.wrapper.PackageManagerWrapper; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultBrowserPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultBrowserPreferenceControllerTest.java index e918ee221b5..8d527ff2702 100644 --- a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultBrowserPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultBrowserPreferenceControllerTest.java @@ -16,7 +16,6 @@ package com.android.settings.applications.defaultapps; - import android.content.Context; import android.content.Intent; import android.content.pm.ResolveInfo; @@ -26,7 +25,7 @@ import android.support.v7.preference.Preference; import com.android.settings.R; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; -import com.android.settings.applications.PackageManagerWrapper; +import com.android.settingslib.wrapper.PackageManagerWrapper; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultEmergencyPickerTest.java b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultEmergencyPickerTest.java index 04972ae358a..124817afe17 100644 --- a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultEmergencyPickerTest.java +++ b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultEmergencyPickerTest.java @@ -23,7 +23,7 @@ import android.provider.Settings; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; -import com.android.settings.applications.PackageManagerWrapper; +import com.android.settingslib.wrapper.PackageManagerWrapper; import org.junit.Before; import org.junit.Test; 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 b50063729e3..4b82f1a98b5 100644 --- a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultHomePickerTest.java +++ b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultHomePickerTest.java @@ -31,7 +31,7 @@ import android.os.UserManager; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; -import com.android.settings.applications.PackageManagerWrapper; +import com.android.settingslib.wrapper.PackageManagerWrapper; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultHomePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultHomePreferenceControllerTest.java index 22b30bda3bb..ca5c10b1996 100644 --- a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultHomePreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultHomePreferenceControllerTest.java @@ -16,7 +16,6 @@ package com.android.settings.applications.defaultapps; - import static com.google.common.truth.Truth.assertThat; import static org.mockito.Matchers.anyList; import static org.mockito.Mockito.atLeastOnce; @@ -31,8 +30,8 @@ import android.os.UserManager; import android.support.v7.preference.Preference; import com.android.settings.TestConfig; -import com.android.settings.applications.PackageManagerWrapper; import com.android.settings.testutils.SettingsRobolectricTestRunner; +import com.android.settingslib.wrapper.PackageManagerWrapper; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultPhonePickerTest.java b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultPhonePickerTest.java index 600acb4a778..f2b7db86c66 100644 --- a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultPhonePickerTest.java +++ b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultPhonePickerTest.java @@ -16,14 +16,13 @@ package com.android.settings.applications.defaultapps; - import android.app.Activity; import android.content.Context; import android.os.UserManager; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; -import com.android.settings.applications.PackageManagerWrapper; +import com.android.settingslib.wrapper.PackageManagerWrapper; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultSmsPickerTest.java b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultSmsPickerTest.java index da0c325ed23..91e68eafeca 100644 --- a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultSmsPickerTest.java +++ b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultSmsPickerTest.java @@ -16,14 +16,13 @@ package com.android.settings.applications.defaultapps; - import android.app.Activity; import android.content.Context; import android.os.UserManager; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; -import com.android.settings.applications.PackageManagerWrapper; +import com.android.settingslib.wrapper.PackageManagerWrapper; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/applications/instantapps/InstantAppButtonsControllerTest.java b/tests/robotests/src/com/android/settings/applications/instantapps/InstantAppButtonsControllerTest.java index 9e190b56e49..f56fbbf00e6 100644 --- a/tests/robotests/src/com/android/settings/applications/instantapps/InstantAppButtonsControllerTest.java +++ b/tests/robotests/src/com/android/settings/applications/instantapps/InstantAppButtonsControllerTest.java @@ -46,9 +46,9 @@ import android.widget.Button; import com.android.settings.R; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; -import com.android.settings.applications.PackageManagerWrapper; import com.android.settings.core.instrumentation.MetricsFeatureProvider; import com.android.settings.testutils.FakeFeatureFactory; +import com.android.settingslib.wrapper.PackageManagerWrapper; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionsChecksTest.java b/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionsChecksTest.java index 59752c6575d..0165fffd8ea 100644 --- a/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionsChecksTest.java +++ b/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionsChecksTest.java @@ -33,6 +33,7 @@ import android.hardware.fingerprint.FingerprintManager; import com.android.settings.Settings; import com.android.settings.TestConfig; import com.android.settings.testutils.SettingsRobolectricTestRunner; +import com.android.settings.wrapper.WallpaperManagerWrapper; import com.android.settingslib.drawer.Tile; import org.junit.Before; diff --git a/tests/robotests/src/com/android/settings/datausage/AppDataUsageTest.java b/tests/robotests/src/com/android/settings/datausage/AppDataUsageTest.java index 2f2a6852dae..26071ed07db 100644 --- a/tests/robotests/src/com/android/settings/datausage/AppDataUsageTest.java +++ b/tests/robotests/src/com/android/settings/datausage/AppDataUsageTest.java @@ -16,7 +16,6 @@ package com.android.settings.datausage; - import static org.mockito.Matchers.any; import static org.mockito.Matchers.anyBoolean; import static org.mockito.Matchers.anyInt; @@ -39,12 +38,12 @@ import android.util.ArraySet; import android.view.View; import com.android.settings.TestConfig; -import com.android.settings.applications.PackageManagerWrapper; import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.shadow.ShadowEntityHeaderController; import com.android.settings.widget.EntityHeaderController; import com.android.settingslib.AppItem; +import com.android.settingslib.wrapper.PackageManagerWrapper; import org.junit.After; import org.junit.Before; diff --git a/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeOptionMenuControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeOptionMenuControllerTest.java index ca6a33a268b..6363317ed17 100644 --- a/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeOptionMenuControllerTest.java +++ b/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeOptionMenuControllerTest.java @@ -30,7 +30,7 @@ import android.view.MenuItem; import com.android.settings.R; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; -import com.android.settings.applications.PackageManagerWrapper; +import com.android.settingslib.wrapper.PackageManagerWrapper; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/deviceinfo/storage/SecondaryUserControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/storage/SecondaryUserControllerTest.java index a871c1963f3..f0683979b2d 100644 --- a/tests/robotests/src/com/android/settings/deviceinfo/storage/SecondaryUserControllerTest.java +++ b/tests/robotests/src/com/android/settings/deviceinfo/storage/SecondaryUserControllerTest.java @@ -36,7 +36,7 @@ import android.util.SparseArray; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; -import com.android.settings.applications.UserManagerWrapper; +import com.android.settings.wrapper.UserManagerWrapper; import com.android.settingslib.R; import com.android.settingslib.applications.StorageStatsSource; import com.android.settingslib.core.AbstractPreferenceController; diff --git a/tests/robotests/src/com/android/settings/deviceinfo/storage/UserProfileControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/storage/UserProfileControllerTest.java index a2e57b95e96..8da52608838 100644 --- a/tests/robotests/src/com/android/settings/deviceinfo/storage/UserProfileControllerTest.java +++ b/tests/robotests/src/com/android/settings/deviceinfo/storage/UserProfileControllerTest.java @@ -37,8 +37,8 @@ import com.android.settings.SettingsActivity; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.SubSettings; import com.android.settings.TestConfig; -import com.android.settings.applications.UserManagerWrapper; import com.android.settings.deviceinfo.StorageProfileFragment; +import com.android.settings.wrapper.UserManagerWrapper; import com.android.settingslib.R; import com.android.settingslib.applications.StorageStatsSource; import com.android.settingslib.drawable.UserIconDrawable; diff --git a/tests/robotests/src/com/android/settings/display/BrightnessLevelPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/BrightnessLevelPreferenceControllerTest.java index d35adef7640..66bdba1decb 100644 --- a/tests/robotests/src/com/android/settings/display/BrightnessLevelPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/display/BrightnessLevelPreferenceControllerTest.java @@ -32,6 +32,7 @@ import android.support.v7.preference.PreferenceScreen; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; +import com.android.settings.wrapper.PowerManagerWrapper; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImplTest.java index 899ff5c66db..1ea2567b58f 100644 --- a/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImplTest.java +++ b/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImplTest.java @@ -31,8 +31,9 @@ import android.text.SpannableStringBuilder; import com.android.settings.R; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; -import com.android.settings.applications.PackageManagerWrapper; -import com.android.settings.vpn2.ConnectivityManagerWrapper; +import com.android.settings.wrapper.ConnectivityManagerWrapper; +import com.android.settings.wrapper.DevicePolicyManagerWrapper; +import com.android.settingslib.wrapper.PackageManagerWrapper; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/fingerprint/FingerprintEnrollFindSensorTest.java b/tests/robotests/src/com/android/settings/fingerprint/FingerprintEnrollFindSensorTest.java index ad52bf6026e..6e58b13278e 100644 --- a/tests/robotests/src/com/android/settings/fingerprint/FingerprintEnrollFindSensorTest.java +++ b/tests/robotests/src/com/android/settings/fingerprint/FingerprintEnrollFindSensorTest.java @@ -33,11 +33,11 @@ import android.widget.Button; import com.android.settings.R; import com.android.settings.TestConfig; import com.android.settings.password.ChooseLockSettingsHelper; -import com.android.settings.password.IFingerprintManager; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.shadow.SettingsShadowResources; import com.android.settings.testutils.shadow.ShadowEventLogWriter; import com.android.settings.testutils.shadow.ShadowUtils; +import com.android.settings.wrapper.FingerprintManagerWrapper; import org.junit.After; import org.junit.Before; @@ -66,7 +66,7 @@ import org.robolectric.shadows.ShadowActivity.IntentForResult; public class FingerprintEnrollFindSensorTest { @Mock - private IFingerprintManager mFingerprintManager; + private FingerprintManagerWrapper mFingerprintManager; private FingerprintEnrollFindSensor mActivity; diff --git a/tests/robotests/src/com/android/settings/fingerprint/SetupFingerprintEnrollFindSensorTest.java b/tests/robotests/src/com/android/settings/fingerprint/SetupFingerprintEnrollFindSensorTest.java index ce31328edb8..b2ef65b58d2 100644 --- a/tests/robotests/src/com/android/settings/fingerprint/SetupFingerprintEnrollFindSensorTest.java +++ b/tests/robotests/src/com/android/settings/fingerprint/SetupFingerprintEnrollFindSensorTest.java @@ -27,11 +27,11 @@ import android.widget.Button; import com.android.settings.R; import com.android.settings.TestConfig; import com.android.settings.password.ChooseLockSettingsHelper; -import com.android.settings.password.IFingerprintManager; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.shadow.SettingsShadowResources; import com.android.settings.testutils.shadow.ShadowEventLogWriter; import com.android.settings.testutils.shadow.ShadowUtils; +import com.android.settings.wrapper.FingerprintManagerWrapper; import org.junit.After; import org.junit.Before; @@ -58,7 +58,7 @@ import org.robolectric.shadows.ShadowAlertDialog; public class SetupFingerprintEnrollFindSensorTest { @Mock - private IFingerprintManager mFingerprintManager; + private FingerprintManagerWrapper mFingerprintManager; private SetupFingerprintEnrollFindSensor mActivity; diff --git a/tests/robotests/src/com/android/settings/fuelgauge/AppButtonsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/AppButtonsPreferenceControllerTest.java index 6214cf2e139..ad5f5b0820d 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/AppButtonsPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/AppButtonsPreferenceControllerTest.java @@ -43,10 +43,10 @@ import android.os.UserManager; import com.android.settings.R; import com.android.settings.SettingsActivity; import com.android.settings.TestConfig; -import com.android.settings.enterprise.DevicePolicyManagerWrapper; import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.widget.ActionButtonPreference; import com.android.settings.widget.ActionButtonPreferenceTest; +import com.android.settings.wrapper.DevicePolicyManagerWrapper; import com.android.settingslib.applications.AppUtils; import com.android.settingslib.applications.ApplicationsState; import com.android.settingslib.applications.instantapps.InstantAppDataProvider; diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BackgroundActivityPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BackgroundActivityPreferenceControllerTest.java index 86836f9f3f4..4353b54a8c7 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/BackgroundActivityPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/BackgroundActivityPreferenceControllerTest.java @@ -38,7 +38,7 @@ import android.widget.Button; import com.android.settings.R; import com.android.settings.TestConfig; -import com.android.settings.enterprise.DevicePolicyManagerWrapper; +import com.android.settings.wrapper.DevicePolicyManagerWrapper; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/fuelgauge/anomaly/AnomalyDetectionPolicyTest.java b/tests/robotests/src/com/android/settings/fuelgauge/anomaly/AnomalyDetectionPolicyTest.java index 169cba8e9bf..e50c3dd868d 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/anomaly/AnomalyDetectionPolicyTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/anomaly/AnomalyDetectionPolicyTest.java @@ -30,6 +30,7 @@ import android.util.KeyValueListParser; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; +import com.android.settings.wrapper.KeyValueListParserWrapper; import org.junit.Before; import org.junit.Test; @@ -54,7 +55,7 @@ public class AnomalyDetectionPolicyTest { public void setUp() { mContext = RuntimeEnvironment.application; mKeyValueListParserWrapper = spy( - new KeyValueListParserWrapperImpl(new KeyValueListParser(','))); + new KeyValueListParserWrapper(new KeyValueListParser(','))); } @Test diff --git a/tests/robotests/src/com/android/settings/network/NetworkScorerPickerPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/NetworkScorerPickerPreferenceControllerTest.java index 0b1586e2c9b..7ed7f3f0e0e 100644 --- a/tests/robotests/src/com/android/settings/network/NetworkScorerPickerPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/network/NetworkScorerPickerPreferenceControllerTest.java @@ -30,6 +30,7 @@ import android.support.v7.preference.Preference; import com.android.settings.R; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; +import com.android.settings.wrapper.NetworkScoreManagerWrapper; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/network/NetworkScorerPickerTest.java b/tests/robotests/src/com/android/settings/network/NetworkScorerPickerTest.java index 9885bdf684f..7cfced870d5 100644 --- a/tests/robotests/src/com/android/settings/network/NetworkScorerPickerTest.java +++ b/tests/robotests/src/com/android/settings/network/NetworkScorerPickerTest.java @@ -33,6 +33,8 @@ import com.android.settings.R; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; import com.android.settings.widget.RadioButtonPreference; +import com.android.settings.wrapper.NetworkScoreManagerWrapper; + import com.google.android.collect.Lists; import org.junit.Before; import org.junit.Test; @@ -45,7 +47,6 @@ import org.robolectric.annotation.Config; import java.util.ArrayList; - @RunWith(SettingsRobolectricTestRunner.class) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) public class NetworkScorerPickerTest { diff --git a/tests/robotests/src/com/android/settings/password/SetNewPasswordControllerTest.java b/tests/robotests/src/com/android/settings/password/SetNewPasswordControllerTest.java index 96775addb8c..52678fbab29 100644 --- a/tests/robotests/src/com/android/settings/password/SetNewPasswordControllerTest.java +++ b/tests/robotests/src/com/android/settings/password/SetNewPasswordControllerTest.java @@ -43,6 +43,7 @@ import android.os.Bundle; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; +import com.android.settings.wrapper.FingerprintManagerWrapper; import org.junit.Before; import org.junit.Test; @@ -52,7 +53,6 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.annotation.Config; - /** * Tests for {@link SetNewPasswordController}. */ @@ -63,7 +63,7 @@ public final class SetNewPasswordControllerTest { private static final long FINGERPRINT_CHALLENGE = -9876512313131L; @Mock PackageManager mPackageManager; - @Mock IFingerprintManager mFingerprintManager; + @Mock FingerprintManagerWrapper mFingerprintManager; @Mock DevicePolicyManager mDevicePolicyManager; @Mock private SetNewPasswordController.Ui mUi; diff --git a/tests/robotests/src/com/android/settings/search/InstalledAppResultLoaderTest.java b/tests/robotests/src/com/android/settings/search/InstalledAppResultLoaderTest.java index 19854fcf09e..f1a25a12002 100644 --- a/tests/robotests/src/com/android/settings/search/InstalledAppResultLoaderTest.java +++ b/tests/robotests/src/com/android/settings/search/InstalledAppResultLoaderTest.java @@ -41,11 +41,11 @@ import android.os.UserManager; import com.android.settings.R; import com.android.settings.TestConfig; -import com.android.settings.applications.PackageManagerWrapper; import com.android.settings.dashboard.SiteMapManager; import com.android.settings.testutils.ApplicationTestUtils; import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.SettingsRobolectricTestRunner; +import com.android.settingslib.wrapper.PackageManagerWrapper; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAccessibilityManagerWrapperImpl.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAccessibilityManagerWrapperImpl.java index 95d5de5e5b9..22a1c047f25 100644 --- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAccessibilityManagerWrapperImpl.java +++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAccessibilityManagerWrapperImpl.java @@ -16,7 +16,7 @@ package com.android.settings.testutils.shadow; -import com.android.settings.applications.AccessibilityManagerWrapperImpl; +import com.android.settings.wrapper.AccessibilityManagerWrapper; import org.robolectric.annotation.Implementation; import org.robolectric.annotation.Implements; @@ -24,7 +24,7 @@ import org.robolectric.annotation.Implements; /** * This class provides shadow for API that is not supported in current roboletric */ -@Implements(AccessibilityManagerWrapperImpl.class) +@Implements(AccessibilityManagerWrapper.class) public class ShadowAccessibilityManagerWrapperImpl { @Implementation diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAccessibilityServiceInfoWrapperImpl.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAccessibilityServiceInfoWrapperImpl.java index a6cb5d07bd6..dd4b2ee940e 100644 --- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAccessibilityServiceInfoWrapperImpl.java +++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAccessibilityServiceInfoWrapperImpl.java @@ -18,11 +18,11 @@ package com.android.settings.testutils.shadow; import android.content.ComponentName; -import com.android.settings.applications.AccessibilityServiceInfoWrapperImpl; +import com.android.settings.wrapper.AccessibilityServiceInfoWrapper; import org.robolectric.annotation.Implementation; import org.robolectric.annotation.Implements; -@Implements(AccessibilityServiceInfoWrapperImpl.class) +@Implements(AccessibilityServiceInfoWrapper.class) public class ShadowAccessibilityServiceInfoWrapperImpl { private static ComponentName sComponentName; diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowKeyValueListParserWrapperImpl.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowKeyValueListParserWrapperImpl.java index 0af9c304942..05c6139c2cc 100644 --- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowKeyValueListParserWrapperImpl.java +++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowKeyValueListParserWrapperImpl.java @@ -1,6 +1,6 @@ package com.android.settings.testutils.shadow; -import com.android.settings.fuelgauge.anomaly.KeyValueListParserWrapperImpl; +import com.android.settings.wrapper.KeyValueListParserWrapper; import org.robolectric.annotation.Implementation; import org.robolectric.annotation.Implements; @@ -10,7 +10,7 @@ import org.robolectric.annotation.Implements; * {@link #getBoolean(String, boolean)} that doesn't support in the current * robolectric */ -@Implements(KeyValueListParserWrapperImpl.class) +@Implements(KeyValueListParserWrapper.class) public class ShadowKeyValueListParserWrapperImpl { @Implementation diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowPowerManagerWrapper.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowPowerManagerWrapper.java index 7aa28fae00b..b1e62b068fd 100644 --- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowPowerManagerWrapper.java +++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowPowerManagerWrapper.java @@ -17,7 +17,7 @@ package com.android.settings.testutils.shadow; -import com.android.settings.display.PowerManagerWrapper; +import com.android.settings.wrapper.PowerManagerWrapper; import org.robolectric.annotation.Implementation; import org.robolectric.annotation.Implements; diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowRestrictedLockUtilsWrapper.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowRestrictedLockUtilsWrapper.java index 0e0adce7bff..58fc67a4b4f 100644 --- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowRestrictedLockUtilsWrapper.java +++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowRestrictedLockUtilsWrapper.java @@ -1,7 +1,7 @@ package com.android.settings.testutils.shadow; import android.content.Context; -import com.android.settings.network.RestrictedLockUtilsWrapper; +import com.android.settings.wrapper.RestrictedLockUtilsWrapper; import org.robolectric.annotation.Implements; /** diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUtils.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUtils.java index 271ffa8e8e3..bfeb3c7a3fe 100644 --- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUtils.java +++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUtils.java @@ -22,7 +22,7 @@ import android.os.UserHandle; import android.os.UserManager; import com.android.settings.Utils; -import com.android.settings.password.IFingerprintManager; +import com.android.settings.wrapper.FingerprintManagerWrapper; import org.robolectric.annotation.Implementation; import org.robolectric.annotation.Implements; @@ -30,7 +30,7 @@ import org.robolectric.annotation.Implements; @Implements(Utils.class) public class ShadowUtils { - private static IFingerprintManager sFingerprintManager = null; + private static FingerprintManagerWrapper sFingerprintManager = null; private static boolean sIsUserAMonkey; private static boolean sIsDemoUser; private static ComponentName sDeviceOwnerComponentName; @@ -41,11 +41,11 @@ public class ShadowUtils { } @Implementation - public static IFingerprintManager getFingerprintManagerWrapperOrNull(Context context) { + public static FingerprintManagerWrapper getFingerprintManagerWrapperOrNull(Context context) { return sFingerprintManager; } - public static void setFingerprintManager(IFingerprintManager fingerprintManager) { + public static void setFingerprintManager(FingerprintManagerWrapper fingerprintManager) { sFingerprintManager = fingerprintManager; } diff --git a/tests/robotests/src/com/android/settings/vpn2/VpnUtilsTest.java b/tests/robotests/src/com/android/settings/vpn2/VpnUtilsTest.java index 29267274505..9442892956f 100644 --- a/tests/robotests/src/com/android/settings/vpn2/VpnUtilsTest.java +++ b/tests/robotests/src/com/android/settings/vpn2/VpnUtilsTest.java @@ -18,6 +18,7 @@ package com.android.settings.vpn2; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; +import com.android.settings.wrapper.ConnectivityManagerWrapper; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java b/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java index e5354456edb..2a53ab6cd72 100644 --- a/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java +++ b/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java @@ -28,11 +28,12 @@ import android.os.UserManager; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; -import com.android.settings.applications.PackageManagerWrapper; import com.android.settings.applications.defaultapps.DefaultAppInfo; import com.android.settings.core.instrumentation.MetricsFeatureProvider; import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.widget.RadioButtonPreference; +import com.android.settings.wrapper.UserPackageWrapper; +import com.android.settingslib.wrapper.PackageManagerWrapper; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/wifi/UseOpenWifiPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/UseOpenWifiPreferenceControllerTest.java index a76b82a1f14..297054d6769 100644 --- a/tests/robotests/src/com/android/settings/wifi/UseOpenWifiPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/wifi/UseOpenWifiPreferenceControllerTest.java @@ -38,8 +38,8 @@ import android.support.v7.preference.Preference; import com.android.settings.R; import com.android.settings.TestConfig; -import com.android.settings.network.NetworkScoreManagerWrapper; import com.android.settings.testutils.SettingsRobolectricTestRunner; +import com.android.settings.wrapper.NetworkScoreManagerWrapper; import com.android.settingslib.core.lifecycle.Lifecycle; import com.google.common.collect.Lists; diff --git a/tests/robotests/src/com/android/settings/wifi/WifiEnablerTest.java b/tests/robotests/src/com/android/settings/wifi/WifiEnablerTest.java index c7647ba2bee..63f89e62c5c 100644 --- a/tests/robotests/src/com/android/settings/wifi/WifiEnablerTest.java +++ b/tests/robotests/src/com/android/settings/wifi/WifiEnablerTest.java @@ -24,6 +24,7 @@ import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; import com.android.settings.core.instrumentation.MetricsFeatureProvider; import com.android.settings.widget.SwitchWidgetController; +import com.android.settings.wrapper.ConnectivityManagerWrapper; import org.junit.Before; import org.junit.Test; diff --git a/tests/robotests/src/com/android/settings/wifi/WifiWakeupPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/WifiWakeupPreferenceControllerTest.java index 306b297c69f..0435b7eaef5 100644 --- a/tests/robotests/src/com/android/settings/wifi/WifiWakeupPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/wifi/WifiWakeupPreferenceControllerTest.java @@ -31,10 +31,10 @@ import android.support.v14.preference.SwitchPreference; import android.support.v7.preference.Preference; import com.android.settings.R; -import com.android.settings.network.NetworkScoreManagerWrapper; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; import com.android.settings.testutils.shadow.SettingsShadowResources; +import com.android.settings.wrapper.NetworkScoreManagerWrapper; import com.android.settingslib.core.lifecycle.Lifecycle; import org.junit.After; diff --git a/tests/robotests/src/com/android/settings/wifi/WriteWifiConfigToNfcDialogTest.java b/tests/robotests/src/com/android/settings/wifi/WriteWifiConfigToNfcDialogTest.java index 41b71ada45c..5e10e0fc1f3 100644 --- a/tests/robotests/src/com/android/settings/wifi/WriteWifiConfigToNfcDialogTest.java +++ b/tests/robotests/src/com/android/settings/wifi/WriteWifiConfigToNfcDialogTest.java @@ -27,6 +27,7 @@ import android.view.inputmethod.InputMethodManager; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; import com.android.settings.testutils.shadow.ShadowNfcAdapter; +import com.android.settings.wrapper.WifiManagerWrapper; import org.junit.After; import org.junit.Before; diff --git a/tests/robotests/src/com/android/settings/wifi/details/WifiDetailPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/details/WifiDetailPreferenceControllerTest.java index 1c2ddb4ac10..aa21a190639 100644 --- a/tests/robotests/src/com/android/settings/wifi/details/WifiDetailPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/wifi/details/WifiDetailPreferenceControllerTest.java @@ -64,11 +64,11 @@ import com.android.settings.applications.LayoutPreference; import com.android.settings.core.instrumentation.MetricsFeatureProvider; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.shadow.ShadowEntityHeaderController; -import com.android.settings.vpn2.ConnectivityManagerWrapperImpl; import com.android.settings.widget.ActionButtonPreference; import com.android.settings.widget.ActionButtonPreferenceTest; import com.android.settings.widget.EntityHeaderController; import com.android.settings.wifi.WifiDetailPreference; +import com.android.settings.wrapper.ConnectivityManagerWrapper; import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.wifi.AccessPoint; @@ -108,7 +108,7 @@ public class WifiDetailPreferenceControllerTest { @Mock private AccessPoint mockAccessPoint; @Mock private Activity mockActivity; @Mock private ConnectivityManager mockConnectivityManager; - @Mock private ConnectivityManagerWrapperImpl mockConnectivityManagerWrapper; + @Mock private ConnectivityManagerWrapper mockConnectivityManagerWrapper; @Mock private Network mockNetwork; @Mock private NetworkInfo mockNetworkInfo; @Mock private WifiConfiguration mockWifiConfig; diff --git a/tests/unit/src/com/android/settings/deviceinfo/storage/StorageAsyncLoaderTest.java b/tests/unit/src/com/android/settings/deviceinfo/storage/StorageAsyncLoaderTest.java index 5a3569c2248..f622804c04a 100644 --- a/tests/unit/src/com/android/settings/deviceinfo/storage/StorageAsyncLoaderTest.java +++ b/tests/unit/src/com/android/settings/deviceinfo/storage/StorageAsyncLoaderTest.java @@ -35,9 +35,9 @@ import android.support.test.filters.SmallTest; import android.support.test.runner.AndroidJUnit4; import android.util.SparseArray; -import com.android.settings.applications.PackageManagerWrapper; -import com.android.settings.applications.UserManagerWrapper; +import com.android.settings.wrapper.UserManagerWrapper; import com.android.settingslib.applications.StorageStatsSource; +import com.android.settingslib.wrapper.PackageManagerWrapper; import org.junit.Before; import org.junit.Test;