diff options
5 files changed, 26 insertions, 106 deletions
diff --git a/src/com/android/settings/webview/WebViewAppPicker.java b/src/com/android/settings/webview/WebViewAppPicker.java index a5fef46ee2..f68d27bdc4 100644 --- a/src/com/android/settings/webview/WebViewAppPicker.java +++ b/src/com/android/settings/webview/WebViewAppPicker.java @@ -27,11 +27,11 @@ import android.content.pm.PackageItemInfo; import android.content.pm.PackageManager; import android.support.annotation.VisibleForTesting; import android.text.TextUtils; +import android.webkit.UserPackage; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settings.R; import com.android.settings.applications.defaultapps.DefaultAppPickerFragment; -import com.android.settings.wrapper.UserPackageWrapper; import com.android.settingslib.applications.DefaultAppInfo; import com.android.settingslib.wrapper.PackageManagerWrapper; @@ -150,9 +150,9 @@ public class WebViewAppPicker extends DefaultAppPickerFragment { @VisibleForTesting String getDisabledReason(WebViewUpdateServiceWrapper webviewUpdateServiceWrapper, Context context, String packageName) { - List<UserPackageWrapper> userPackages = + List<UserPackage> userPackages = webviewUpdateServiceWrapper.getPackageInfosAllUsers(context, packageName); - for (UserPackageWrapper userPackage : userPackages) { + for (UserPackage userPackage : userPackages) { if (!userPackage.isInstalledPackage()) { // Package uninstalled/hidden return context.getString( diff --git a/src/com/android/settings/webview/WebViewUpdateServiceWrapper.java b/src/com/android/settings/webview/WebViewUpdateServiceWrapper.java index fa1cd3de72..fd13586f46 100644 --- a/src/com/android/settings/webview/WebViewUpdateServiceWrapper.java +++ b/src/com/android/settings/webview/WebViewUpdateServiceWrapper.java @@ -28,8 +28,6 @@ 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; @@ -37,7 +35,8 @@ import java.util.List; public class WebViewUpdateServiceWrapper { private static final String TAG = "WVUSWrapper"; - public WebViewUpdateServiceWrapper() {} + public WebViewUpdateServiceWrapper() { + } /** * Fetch the package currently used as WebView implementation. @@ -75,6 +74,7 @@ public class WebViewUpdateServiceWrapper { /** * Change WebView provider to {@param packageName}. + * * @return whether the change succeeded. */ public boolean setWebViewProvider(String packageName) { @@ -90,14 +90,8 @@ public class WebViewUpdateServiceWrapper { /** * Fetch PackageInfos for the package named {@param packageName} for all users on the device. */ - public List<UserPackageWrapper> getPackageInfosAllUsers(Context context, String packageName) { - List<UserPackageWrapper> userPackageWrappers = new ArrayList<>(); - List<UserPackage> userPackages = - UserPackage.getPackageInfosAllUsers(context, packageName, PACKAGE_FLAGS); - for (UserPackage userPackage : userPackages) { - userPackageWrappers.add(new UserPackageWrapperImpl(userPackage)); - } - return userPackageWrappers; + public List<UserPackage> getPackageInfosAllUsers(Context context, String packageName) { + return UserPackage.getPackageInfosAllUsers(context, packageName, PACKAGE_FLAGS); } /** diff --git a/src/com/android/settings/wrapper/UserPackageWrapper.java b/src/com/android/settings/wrapper/UserPackageWrapper.java deleted file mode 100644 index afa1d82d31..0000000000 --- a/src/com/android/settings/wrapper/UserPackageWrapper.java +++ /dev/null @@ -1,29 +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.wrapper; - -import android.content.pm.PackageInfo; -import android.content.pm.UserInfo; - -/** - * Wrapper class around android.webkit.UserPackage - to be able to use UserPackage in Robolectric - * tests (such tests currently don't support mocking hidden classes). - */ -public interface UserPackageWrapper { - UserInfo getUserInfo(); - PackageInfo getPackageInfo(); - boolean isEnabledPackage(); - boolean isInstalledPackage(); -} diff --git a/src/com/android/settings/wrapper/UserPackageWrapperImpl.java b/src/com/android/settings/wrapper/UserPackageWrapperImpl.java deleted file mode 100644 index 0a2b9cde1c..0000000000 --- a/src/com/android/settings/wrapper/UserPackageWrapperImpl.java +++ /dev/null @@ -1,46 +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.wrapper; - -import android.content.pm.PackageInfo; -import android.content.pm.UserInfo; -import android.webkit.UserPackage; - -/** - * Default implementation of UserPackageWrapper. - */ -public class UserPackageWrapperImpl implements UserPackageWrapper { - private final UserPackage mUserPackage; - - public UserPackageWrapperImpl(UserPackage userPackage) { - mUserPackage = userPackage; - } - - public UserInfo getUserInfo() { - return mUserPackage.getUserInfo(); - } - - public PackageInfo getPackageInfo() { - return mUserPackage.getPackageInfo(); - } - - public boolean isEnabledPackage() { - return mUserPackage.isEnabledPackage(); - } - - public boolean isInstalledPackage() { - return mUserPackage.isInstalledPackage(); - } -} diff --git a/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java b/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java index 7ed8756eaf..2a95bc2e95 100644 --- a/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java +++ b/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java @@ -39,10 +39,10 @@ import android.content.pm.PackageItemInfo; import android.content.pm.PackageManager; import android.content.pm.UserInfo; import android.os.UserManager; +import android.webkit.UserPackage; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.widget.RadioButtonPreference; -import com.android.settings.wrapper.UserPackageWrapper; import com.android.settingslib.applications.DefaultAppInfo; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import com.android.settingslib.wrapper.PackageManagerWrapper; @@ -135,7 +135,7 @@ public class WebViewAppPickerTest { private void testSuccessfulClickChangesProvider() { when(mWvusWrapper.getValidWebViewApplicationInfos(any())) - .thenReturn(Collections.singletonList(createApplicationInfo(DEFAULT_PACKAGE_NAME))); + .thenReturn(Collections.singletonList(createApplicationInfo(DEFAULT_PACKAGE_NAME))); when(mWvusWrapper.setWebViewProvider(eq(DEFAULT_PACKAGE_NAME))).thenReturn(true); RadioButtonPreference defaultPackagePref = mock(RadioButtonPreference.class); @@ -149,7 +149,7 @@ public class WebViewAppPickerTest { private void testFailingClickUpdatesSetting() { when(mWvusWrapper.getValidWebViewApplicationInfos(any())) - .thenReturn(Collections.singletonList(createApplicationInfo(DEFAULT_PACKAGE_NAME))); + .thenReturn(Collections.singletonList(createApplicationInfo(DEFAULT_PACKAGE_NAME))); when(mWvusWrapper.setWebViewProvider(eq(DEFAULT_PACKAGE_NAME))).thenReturn(false); RadioButtonPreference defaultPackagePref = mock(RadioButtonPreference.class); @@ -229,24 +229,24 @@ public class WebViewAppPickerTest { @Test public void testDisabledReasonNullIfPackagesOk() { - UserPackageWrapper packageForFirstUser = mock(UserPackageWrapper.class); + UserPackage packageForFirstUser = mock(UserPackage.class); when(packageForFirstUser.isEnabledPackage()).thenReturn(true); when(packageForFirstUser.isInstalledPackage()).thenReturn(true); - UserPackageWrapper packageForSecondUser = mock(UserPackageWrapper.class); + UserPackage packageForSecondUser = mock(UserPackage.class); when(packageForSecondUser.isEnabledPackage()).thenReturn(true); when(packageForSecondUser.isInstalledPackage()).thenReturn(true); WebViewUpdateServiceWrapper wvusWrapper = mock(WebViewUpdateServiceWrapper.class); when(wvusWrapper.getPackageInfosAllUsers(any(), eq(DEFAULT_PACKAGE_NAME))) - .thenReturn(Arrays.asList(packageForFirstUser, packageForSecondUser)); + .thenReturn(Arrays.asList(packageForFirstUser, packageForSecondUser)); assertThat(mPicker.getDisabledReason(wvusWrapper, mContext, DEFAULT_PACKAGE_NAME)).isNull(); } @Test public void testDisabledReasonForSingleUserDisabledPackage() { - UserPackageWrapper packageForFirstUser = mock(UserPackageWrapper.class); + UserPackage packageForFirstUser = mock(UserPackage.class); when(packageForFirstUser.isEnabledPackage()).thenReturn(false); when(packageForFirstUser.isInstalledPackage()).thenReturn(true); when(packageForFirstUser.getUserInfo()).thenReturn(mFirstUser); @@ -257,12 +257,12 @@ public class WebViewAppPickerTest { final String expectedReason = String.format("(disabled for user %s)", mFirstUser.name); assertThat(mPicker.getDisabledReason(wvusWrapper, mContext, DEFAULT_PACKAGE_NAME)) - .isEqualTo(expectedReason); + .isEqualTo(expectedReason); } @Test public void testDisabledReasonForSingleUserUninstalledPackage() { - UserPackageWrapper packageForFirstUser = mock(UserPackageWrapper.class); + UserPackage packageForFirstUser = mock(UserPackage.class); when(packageForFirstUser.isEnabledPackage()).thenReturn(true); when(packageForFirstUser.isInstalledPackage()).thenReturn(false); when(packageForFirstUser.getUserInfo()).thenReturn(mFirstUser); @@ -273,17 +273,17 @@ public class WebViewAppPickerTest { final String expectedReason = String.format("(uninstalled for user %s)", mFirstUser.name); assertThat(mPicker.getDisabledReason(wvusWrapper, mContext, DEFAULT_PACKAGE_NAME)) - .isEqualTo(expectedReason); + .isEqualTo(expectedReason); } @Test public void testDisabledReasonSeveralUsers() { - UserPackageWrapper packageForFirstUser = mock(UserPackageWrapper.class); + UserPackage packageForFirstUser = mock(UserPackage.class); when(packageForFirstUser.isEnabledPackage()).thenReturn(false); when(packageForFirstUser.isInstalledPackage()).thenReturn(true); when(packageForFirstUser.getUserInfo()).thenReturn(mFirstUser); - UserPackageWrapper packageForSecondUser = mock(UserPackageWrapper.class); + UserPackage packageForSecondUser = mock(UserPackage.class); when(packageForSecondUser.isEnabledPackage()).thenReturn(true); when(packageForSecondUser.isInstalledPackage()).thenReturn(false); when(packageForSecondUser.getUserInfo()).thenReturn(mSecondUser); @@ -294,7 +294,7 @@ public class WebViewAppPickerTest { final String expectedReason = String.format("(disabled for user %s)", mFirstUser.name); assertThat(mPicker.getDisabledReason(wvusWrapper, mContext, DEFAULT_PACKAGE_NAME)) - .isEqualTo(expectedReason); + .isEqualTo(expectedReason); } /** @@ -303,12 +303,12 @@ public class WebViewAppPickerTest { */ @Test public void testDisabledReasonUninstalledAndDisabled() { - UserPackageWrapper packageForFirstUser = mock(UserPackageWrapper.class); + UserPackage packageForFirstUser = mock(UserPackage.class); when(packageForFirstUser.isEnabledPackage()).thenReturn(false); when(packageForFirstUser.isInstalledPackage()).thenReturn(false); when(packageForFirstUser.getUserInfo()).thenReturn(mFirstUser); - UserPackageWrapper packageForSecondUser = mock(UserPackageWrapper.class); + UserPackage packageForSecondUser = mock(UserPackage.class); when(packageForSecondUser.isEnabledPackage()).thenReturn(true); when(packageForSecondUser.isInstalledPackage()).thenReturn(true); when(packageForSecondUser.getUserInfo()).thenReturn(mSecondUser); @@ -319,7 +319,7 @@ public class WebViewAppPickerTest { final String expectedReason = String.format("(uninstalled for user %s)", mFirstUser.name); assertThat(mPicker.getDisabledReason(wvusWrapper, mContext, DEFAULT_PACKAGE_NAME)) - .isEqualTo(expectedReason); + .isEqualTo(expectedReason); } /** @@ -343,7 +343,8 @@ public class WebViewAppPickerTest { RadioButtonPreference mockPreference = mock(RadioButtonPreference.class); mPicker.bindPreference(mockPreference, DEFAULT_PACKAGE_NAME, webviewAppInfo, null); mPicker - .bindPreferenceExtra(mockPreference, DEFAULT_PACKAGE_NAME, webviewAppInfo, null, null); + .bindPreferenceExtra(mockPreference, DEFAULT_PACKAGE_NAME, webviewAppInfo, null, + null); verify(mockPreference, times(1)).setTitle(eq("myPackage myVersionName")); verify(mockPreference, times(1)).setTitle(any()); } |