summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/settings/webview/WebViewAppPicker.java6
-rw-r--r--src/com/android/settings/webview/WebViewUpdateServiceWrapper.java16
-rw-r--r--src/com/android/settings/wrapper/UserPackageWrapper.java29
-rw-r--r--src/com/android/settings/wrapper/UserPackageWrapperImpl.java46
-rw-r--r--tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java35
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());
}