Merge "Remove more wrappers" into pi-dev
am: d73d3a8f55
Change-Id: Ic08a6f5c1b294df3562adfe526247419d762c034
This commit is contained in:
@@ -40,7 +40,6 @@ import com.android.settings.R;
|
|||||||
import com.android.settings.applications.AppInfoBase;
|
import com.android.settings.applications.AppInfoBase;
|
||||||
import com.android.settings.notification.EmptyTextSettings;
|
import com.android.settings.notification.EmptyTextSettings;
|
||||||
import com.android.settings.widget.AppPreference;
|
import com.android.settings.widget.AppPreference;
|
||||||
import com.android.settings.wrapper.UserManagerWrapper;
|
|
||||||
import com.android.settingslib.wrapper.PackageManagerWrapper;
|
import com.android.settingslib.wrapper.PackageManagerWrapper;
|
||||||
|
|
||||||
import java.text.Collator;
|
import java.text.Collator;
|
||||||
@@ -88,7 +87,7 @@ public class PictureInPictureSettings extends EmptyTextSettings {
|
|||||||
|
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
private PackageManagerWrapper mPackageManager;
|
private PackageManagerWrapper mPackageManager;
|
||||||
private UserManagerWrapper mUserManager;
|
private UserManager mUserManager;
|
||||||
private IconDrawableFactory mIconDrawableFactory;
|
private IconDrawableFactory mIconDrawableFactory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -119,7 +118,7 @@ public class PictureInPictureSettings extends EmptyTextSettings {
|
|||||||
// Do nothing
|
// Do nothing
|
||||||
}
|
}
|
||||||
|
|
||||||
public PictureInPictureSettings(PackageManagerWrapper pm, UserManagerWrapper um) {
|
public PictureInPictureSettings(PackageManagerWrapper pm, UserManager um) {
|
||||||
mPackageManager = pm;
|
mPackageManager = pm;
|
||||||
mUserManager = um;
|
mUserManager = um;
|
||||||
}
|
}
|
||||||
@@ -130,7 +129,7 @@ public class PictureInPictureSettings extends EmptyTextSettings {
|
|||||||
|
|
||||||
mContext = getActivity();
|
mContext = getActivity();
|
||||||
mPackageManager = new PackageManagerWrapper(mContext.getPackageManager());
|
mPackageManager = new PackageManagerWrapper(mContext.getPackageManager());
|
||||||
mUserManager = new UserManagerWrapper(mContext.getSystemService(UserManager.class));
|
mUserManager = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
|
||||||
mIconDrawableFactory = IconDrawableFactory.newInstance(mContext);
|
mIconDrawableFactory = IconDrawableFactory.newInstance(mContext);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -22,11 +22,10 @@ import android.hardware.usb.UsbManager;
|
|||||||
import android.hardware.usb.UsbPort;
|
import android.hardware.usb.UsbPort;
|
||||||
import android.hardware.usb.UsbPortStatus;
|
import android.hardware.usb.UsbPortStatus;
|
||||||
import android.net.ConnectivityManager;
|
import android.net.ConnectivityManager;
|
||||||
|
import android.os.UserHandle;
|
||||||
import android.os.UserManager;
|
import android.os.UserManager;
|
||||||
import android.support.annotation.VisibleForTesting;
|
import android.support.annotation.VisibleForTesting;
|
||||||
|
|
||||||
import com.android.settings.wrapper.UserManagerWrapper;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Provides access to underlying system USB functionality.
|
* Provides access to underlying system USB functionality.
|
||||||
*/
|
*/
|
||||||
@@ -50,17 +49,17 @@ public class UsbBackend {
|
|||||||
private UsbPortStatus mPortStatus;
|
private UsbPortStatus mPortStatus;
|
||||||
|
|
||||||
public UsbBackend(Context context) {
|
public UsbBackend(Context context) {
|
||||||
this(context, new UserManagerWrapper(UserManager.get(context)));
|
this(context, (UserManager) context.getSystemService(Context.USER_SERVICE));
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
public UsbBackend(Context context, UserManagerWrapper userManagerWrapper) {
|
public UsbBackend(Context context, UserManager userManager) {
|
||||||
mUsbManager = context.getSystemService(UsbManager.class);
|
mUsbManager = context.getSystemService(UsbManager.class);
|
||||||
|
|
||||||
mFileTransferRestricted = userManagerWrapper.isUsbFileTransferRestricted();
|
mFileTransferRestricted = isUsbFileTransferRestricted(userManager);
|
||||||
mFileTransferRestrictedBySystem = userManagerWrapper.isUsbFileTransferRestrictedBySystem();
|
mFileTransferRestrictedBySystem = isUsbFileTransferRestrictedBySystem(userManager);
|
||||||
mTetheringRestricted = userManagerWrapper.isUsbTetheringRestricted();
|
mTetheringRestricted = isUsbTetheringRestricted(userManager);
|
||||||
mTetheringRestrictedBySystem = userManagerWrapper.isUsbTetheringRestrictedBySystem();
|
mTetheringRestrictedBySystem = isUsbTetheringRestrictedBySystem(userManager);
|
||||||
|
|
||||||
mMidiSupported = context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_MIDI);
|
mMidiSupported = context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_MIDI);
|
||||||
ConnectivityManager cm =
|
ConnectivityManager cm =
|
||||||
@@ -172,6 +171,24 @@ public class UsbBackend {
|
|||||||
return Integer.parseInt(role);
|
return Integer.parseInt(role);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static boolean isUsbFileTransferRestricted(UserManager userManager) {
|
||||||
|
return userManager.hasUserRestriction(UserManager.DISALLOW_USB_FILE_TRANSFER);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static boolean isUsbTetheringRestricted(UserManager userManager) {
|
||||||
|
return userManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_TETHERING);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static boolean isUsbFileTransferRestrictedBySystem(UserManager userManager) {
|
||||||
|
return userManager.hasBaseUserRestriction(
|
||||||
|
UserManager.DISALLOW_USB_FILE_TRANSFER, UserHandle.of(UserHandle.myUserId()));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static boolean isUsbTetheringRestrictedBySystem(UserManager userManager) {
|
||||||
|
return userManager.hasBaseUserRestriction(
|
||||||
|
UserManager.DISALLOW_CONFIG_TETHERING, UserHandle.of(UserHandle.myUserId()));
|
||||||
|
}
|
||||||
|
|
||||||
private boolean areFunctionDisallowed(long functions) {
|
private boolean areFunctionDisallowed(long functions) {
|
||||||
return (mFileTransferRestricted && ((functions & UsbManager.FUNCTION_MTP) != 0
|
return (mFileTransferRestricted && ((functions & UsbManager.FUNCTION_MTP) != 0
|
||||||
|| (functions & UsbManager.FUNCTION_PTP) != 0))
|
|| (functions & UsbManager.FUNCTION_PTP) != 0))
|
||||||
|
@@ -47,7 +47,6 @@ import com.android.settings.deviceinfo.storage.VolumeSizesLoader;
|
|||||||
import com.android.settings.search.BaseSearchIndexProvider;
|
import com.android.settings.search.BaseSearchIndexProvider;
|
||||||
import com.android.settings.search.Indexable;
|
import com.android.settings.search.Indexable;
|
||||||
import com.android.settings.widget.EntityHeaderController;
|
import com.android.settings.widget.EntityHeaderController;
|
||||||
import com.android.settings.wrapper.UserManagerWrapper;
|
|
||||||
import com.android.settingslib.applications.StorageStatsSource;
|
import com.android.settingslib.applications.StorageStatsSource;
|
||||||
import com.android.settingslib.core.AbstractPreferenceController;
|
import com.android.settingslib.core.AbstractPreferenceController;
|
||||||
import com.android.settingslib.deviceinfo.PrivateStorageInfo;
|
import com.android.settingslib.deviceinfo.PrivateStorageInfo;
|
||||||
@@ -185,8 +184,7 @@ public class StorageDashboardFragment extends DashboardFragment
|
|||||||
mVolume, new StorageManagerVolumeProvider(sm));
|
mVolume, new StorageManagerVolumeProvider(sm));
|
||||||
controllers.add(mPreferenceController);
|
controllers.add(mPreferenceController);
|
||||||
|
|
||||||
UserManagerWrapper userManager =
|
final UserManager userManager = context.getSystemService(UserManager.class);
|
||||||
new UserManagerWrapper(context.getSystemService(UserManager.class));
|
|
||||||
mSecondaryUsers = SecondaryUserController.getSecondaryUserControllers(context, userManager);
|
mSecondaryUsers = SecondaryUserController.getSecondaryUserControllers(context, userManager);
|
||||||
controllers.addAll(mSecondaryUsers);
|
controllers.addAll(mSecondaryUsers);
|
||||||
|
|
||||||
@@ -235,8 +233,7 @@ public class StorageDashboardFragment extends DashboardFragment
|
|||||||
public List<AbstractPreferenceController> createPreferenceControllers(
|
public List<AbstractPreferenceController> createPreferenceControllers(
|
||||||
Context context) {
|
Context context) {
|
||||||
final StorageManager sm = context.getSystemService(StorageManager.class);
|
final StorageManager sm = context.getSystemService(StorageManager.class);
|
||||||
final UserManagerWrapper userManager =
|
final UserManager userManager = context.getSystemService(UserManager.class);
|
||||||
new UserManagerWrapper(context.getSystemService(UserManager.class));
|
|
||||||
final List<AbstractPreferenceController> controllers = new ArrayList<>();
|
final List<AbstractPreferenceController> controllers = new ArrayList<>();
|
||||||
controllers.add(new StorageSummaryDonutPreferenceController(context));
|
controllers.add(new StorageSummaryDonutPreferenceController(context));
|
||||||
controllers.add(new StorageItemPreferenceController(context, null /* host */,
|
controllers.add(new StorageItemPreferenceController(context, null /* host */,
|
||||||
@@ -251,9 +248,8 @@ public class StorageDashboardFragment extends DashboardFragment
|
|||||||
@Override
|
@Override
|
||||||
public Loader<SparseArray<StorageAsyncLoader.AppsStorageResult>> onCreateLoader(int id,
|
public Loader<SparseArray<StorageAsyncLoader.AppsStorageResult>> onCreateLoader(int id,
|
||||||
Bundle args) {
|
Bundle args) {
|
||||||
Context context = getContext();
|
final Context context = getContext();
|
||||||
return new StorageAsyncLoader(context,
|
return new StorageAsyncLoader(context, context.getSystemService(UserManager.class),
|
||||||
new UserManagerWrapper(context.getSystemService(UserManager.class)),
|
|
||||||
mVolume.fsUuid,
|
mVolume.fsUuid,
|
||||||
new StorageStatsSource(context),
|
new StorageStatsSource(context),
|
||||||
new PackageManagerWrapper(context.getPackageManager()));
|
new PackageManagerWrapper(context.getPackageManager()));
|
||||||
|
@@ -34,7 +34,6 @@ import com.android.settings.dashboard.DashboardFragment;
|
|||||||
import com.android.settings.deviceinfo.storage.StorageAsyncLoader;
|
import com.android.settings.deviceinfo.storage.StorageAsyncLoader;
|
||||||
import com.android.settings.deviceinfo.storage.StorageAsyncLoader.AppsStorageResult;
|
import com.android.settings.deviceinfo.storage.StorageAsyncLoader.AppsStorageResult;
|
||||||
import com.android.settings.deviceinfo.storage.StorageItemPreferenceController;
|
import com.android.settings.deviceinfo.storage.StorageItemPreferenceController;
|
||||||
import com.android.settings.wrapper.UserManagerWrapper;
|
|
||||||
import com.android.settingslib.applications.StorageStatsSource;
|
import com.android.settingslib.applications.StorageStatsSource;
|
||||||
import com.android.settingslib.core.AbstractPreferenceController;
|
import com.android.settingslib.core.AbstractPreferenceController;
|
||||||
import com.android.settingslib.deviceinfo.StorageManagerVolumeProvider;
|
import com.android.settingslib.deviceinfo.StorageManagerVolumeProvider;
|
||||||
@@ -114,9 +113,9 @@ public class StorageProfileFragment extends DashboardFragment
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Loader<SparseArray<AppsStorageResult>> onCreateLoader(int id, Bundle args) {
|
public Loader<SparseArray<AppsStorageResult>> onCreateLoader(int id, Bundle args) {
|
||||||
Context context = getContext();
|
final Context context = getContext();
|
||||||
return new StorageAsyncLoader(context,
|
return new StorageAsyncLoader(context,
|
||||||
new UserManagerWrapper(context.getSystemService(UserManager.class)),
|
context.getSystemService(UserManager.class),
|
||||||
mVolume.fsUuid,
|
mVolume.fsUuid,
|
||||||
new StorageStatsSource(context),
|
new StorageStatsSource(context),
|
||||||
new PackageManagerWrapper(context.getPackageManager()));
|
new PackageManagerWrapper(context.getPackageManager()));
|
||||||
|
@@ -19,6 +19,7 @@ package com.android.settings.deviceinfo.storage;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.pm.UserInfo;
|
import android.content.pm.UserInfo;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
|
import android.os.UserManager;
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
import android.support.annotation.Nullable;
|
import android.support.annotation.Nullable;
|
||||||
import android.support.annotation.VisibleForTesting;
|
import android.support.annotation.VisibleForTesting;
|
||||||
@@ -29,7 +30,6 @@ import android.util.SparseArray;
|
|||||||
import com.android.settings.Utils;
|
import com.android.settings.Utils;
|
||||||
import com.android.settings.core.PreferenceControllerMixin;
|
import com.android.settings.core.PreferenceControllerMixin;
|
||||||
import com.android.settings.deviceinfo.StorageItemPreference;
|
import com.android.settings.deviceinfo.StorageItemPreference;
|
||||||
import com.android.settings.wrapper.UserManagerWrapper;
|
|
||||||
import com.android.settingslib.core.AbstractPreferenceController;
|
import com.android.settingslib.core.AbstractPreferenceController;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -61,7 +61,7 @@ public class SecondaryUserController extends AbstractPreferenceController implem
|
|||||||
* @param userManager UserManagerWrapper for figuring out which controllers to add.
|
* @param userManager UserManagerWrapper for figuring out which controllers to add.
|
||||||
*/
|
*/
|
||||||
public static List<AbstractPreferenceController> getSecondaryUserControllers(
|
public static List<AbstractPreferenceController> getSecondaryUserControllers(
|
||||||
Context context, UserManagerWrapper userManager) {
|
Context context, UserManager userManager) {
|
||||||
List<AbstractPreferenceController> controllers = new ArrayList<>();
|
List<AbstractPreferenceController> controllers = new ArrayList<>();
|
||||||
UserInfo primaryUser = userManager.getPrimaryUser();
|
UserInfo primaryUser = userManager.getPrimaryUser();
|
||||||
boolean addedUser = false;
|
boolean addedUser = false;
|
||||||
@@ -74,8 +74,7 @@ public class SecondaryUserController extends AbstractPreferenceController implem
|
|||||||
|
|
||||||
if (info == null || Utils.isProfileOf(primaryUser, info)) {
|
if (info == null || Utils.isProfileOf(primaryUser, info)) {
|
||||||
controllers.add(
|
controllers.add(
|
||||||
new UserProfileController(
|
new UserProfileController(context, info, USER_PROFILE_INSERTION_LOCATION));
|
||||||
context, info, userManager, USER_PROFILE_INSERTION_LOCATION));
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -26,11 +26,11 @@ import android.content.pm.ApplicationInfo;
|
|||||||
import android.content.pm.PackageManager.NameNotFoundException;
|
import android.content.pm.PackageManager.NameNotFoundException;
|
||||||
import android.content.pm.UserInfo;
|
import android.content.pm.UserInfo;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
|
import android.os.UserManager;
|
||||||
import android.util.ArraySet;
|
import android.util.ArraySet;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.util.SparseArray;
|
import android.util.SparseArray;
|
||||||
|
|
||||||
import com.android.settings.wrapper.UserManagerWrapper;
|
|
||||||
import com.android.settingslib.applications.StorageStatsSource;
|
import com.android.settingslib.applications.StorageStatsSource;
|
||||||
import com.android.settingslib.utils.AsyncLoader;
|
import com.android.settingslib.utils.AsyncLoader;
|
||||||
import com.android.settingslib.wrapper.PackageManagerWrapper;
|
import com.android.settingslib.wrapper.PackageManagerWrapper;
|
||||||
@@ -46,7 +46,7 @@ import java.util.List;
|
|||||||
*/
|
*/
|
||||||
public class StorageAsyncLoader
|
public class StorageAsyncLoader
|
||||||
extends AsyncLoader<SparseArray<StorageAsyncLoader.AppsStorageResult>> {
|
extends AsyncLoader<SparseArray<StorageAsyncLoader.AppsStorageResult>> {
|
||||||
private UserManagerWrapper mUserManager;
|
private UserManager mUserManager;
|
||||||
private static final String TAG = "StorageAsyncLoader";
|
private static final String TAG = "StorageAsyncLoader";
|
||||||
|
|
||||||
private String mUuid;
|
private String mUuid;
|
||||||
@@ -54,7 +54,7 @@ public class StorageAsyncLoader
|
|||||||
private PackageManagerWrapper mPackageManager;
|
private PackageManagerWrapper mPackageManager;
|
||||||
private ArraySet<String> mSeenPackages;
|
private ArraySet<String> mSeenPackages;
|
||||||
|
|
||||||
public StorageAsyncLoader(Context context, UserManagerWrapper userManager,
|
public StorageAsyncLoader(Context context, UserManager userManager,
|
||||||
String uuid, StorageStatsSource source, PackageManagerWrapper pm) {
|
String uuid, StorageStatsSource source, PackageManagerWrapper pm) {
|
||||||
super(context);
|
super(context);
|
||||||
mUserManager = userManager;
|
mUserManager = userManager;
|
||||||
|
@@ -32,7 +32,6 @@ import com.android.settings.core.PreferenceControllerMixin;
|
|||||||
import com.android.settings.core.SubSettingLauncher;
|
import com.android.settings.core.SubSettingLauncher;
|
||||||
import com.android.settings.deviceinfo.StorageItemPreference;
|
import com.android.settings.deviceinfo.StorageItemPreference;
|
||||||
import com.android.settings.deviceinfo.StorageProfileFragment;
|
import com.android.settings.deviceinfo.StorageProfileFragment;
|
||||||
import com.android.settings.wrapper.UserManagerWrapper;
|
|
||||||
import com.android.settingslib.core.AbstractPreferenceController;
|
import com.android.settingslib.core.AbstractPreferenceController;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -44,16 +43,13 @@ public class UserProfileController extends AbstractPreferenceController implemen
|
|||||||
UserIconLoader.UserIconHandler {
|
UserIconLoader.UserIconHandler {
|
||||||
private static final String PREFERENCE_KEY_BASE = "pref_profile_";
|
private static final String PREFERENCE_KEY_BASE = "pref_profile_";
|
||||||
private StorageItemPreference mStoragePreference;
|
private StorageItemPreference mStoragePreference;
|
||||||
private UserManagerWrapper mUserManager;
|
|
||||||
private UserInfo mUser;
|
private UserInfo mUser;
|
||||||
private long mTotalSizeBytes;
|
private long mTotalSizeBytes;
|
||||||
private final int mPreferenceOrder;
|
private final int mPreferenceOrder;
|
||||||
|
|
||||||
public UserProfileController(
|
public UserProfileController(Context context, UserInfo info, int preferenceOrder) {
|
||||||
Context context, UserInfo info, UserManagerWrapper userManager, int preferenceOrder) {
|
|
||||||
super(context);
|
super(context);
|
||||||
mUser = Preconditions.checkNotNull(info);
|
mUser = Preconditions.checkNotNull(info);
|
||||||
mUserManager = userManager;
|
|
||||||
mPreferenceOrder = preferenceOrder;
|
mPreferenceOrder = preferenceOrder;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -27,7 +27,6 @@ import android.support.annotation.VisibleForTesting;
|
|||||||
import com.android.internal.logging.nano.MetricsProto;
|
import com.android.internal.logging.nano.MetricsProto;
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.core.SubSettingLauncher;
|
import com.android.settings.core.SubSettingLauncher;
|
||||||
import com.android.settings.wrapper.WallpaperManagerWrapper;
|
|
||||||
|
|
||||||
public class WallpaperSuggestionActivity extends Activity {
|
public class WallpaperSuggestionActivity extends Activity {
|
||||||
|
|
||||||
@@ -61,9 +60,16 @@ public class WallpaperSuggestionActivity extends Activity {
|
|||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
public static boolean isSuggestionComplete(Context context) {
|
public static boolean isSuggestionComplete(Context context) {
|
||||||
final WallpaperManagerWrapper manager = new WallpaperManagerWrapper(context);
|
if (!isWallpaperServiceEnabled(context)) {
|
||||||
return manager.isWallpaperServiceEnabled() ? manager.getWallpaperId(
|
return true;
|
||||||
WallpaperManager.FLAG_SYSTEM) > 0 : false;
|
}
|
||||||
|
final WallpaperManager manager = (WallpaperManager) context.getSystemService(
|
||||||
|
WALLPAPER_SERVICE);
|
||||||
|
return manager.getWallpaperId(WallpaperManager.FLAG_SYSTEM) > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static boolean isWallpaperServiceEnabled(Context context) {
|
||||||
|
return context.getResources().getBoolean(
|
||||||
|
com.android.internal.R.bool.config_enableWallpaperService);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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.wrapper;
|
|
||||||
|
|
||||||
import android.content.pm.UserInfo;
|
|
||||||
import android.os.UserHandle;
|
|
||||||
import android.os.UserManager;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 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 UserManagerWrapper(UserManager userManager) {
|
|
||||||
mUserManager = userManager;
|
|
||||||
}
|
|
||||||
|
|
||||||
public UserInfo getPrimaryUser() {
|
|
||||||
return mUserManager.getPrimaryUser();
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<UserInfo> getUsers() {
|
|
||||||
return mUserManager.getUsers();
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<UserInfo> getProfiles(int userHandle) {
|
|
||||||
return mUserManager.getProfiles(userHandle);
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isUsbFileTransferRestricted() {
|
|
||||||
return mUserManager.hasUserRestriction(UserManager.DISALLOW_USB_FILE_TRANSFER);
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isUsbTetheringRestricted() {
|
|
||||||
return mUserManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_TETHERING);
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isUsbFileTransferRestrictedBySystem() {
|
|
||||||
return mUserManager.hasBaseUserRestriction(
|
|
||||||
UserManager.DISALLOW_USB_FILE_TRANSFER, UserHandle.of(UserHandle.myUserId()));
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isUsbTetheringRestrictedBySystem() {
|
|
||||||
return mUserManager.hasBaseUserRestriction(
|
|
||||||
UserManager.DISALLOW_CONFIG_TETHERING, UserHandle.of(UserHandle.myUserId()));
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,44 +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.app.WallpaperManager;
|
|
||||||
import android.content.Context;
|
|
||||||
|
|
||||||
public class WallpaperManagerWrapper {
|
|
||||||
|
|
||||||
private final WallpaperManager mWallpaperManager;
|
|
||||||
private final boolean mWallpaperServiceEnabled;
|
|
||||||
|
|
||||||
public WallpaperManagerWrapper(Context context) {
|
|
||||||
mWallpaperServiceEnabled = context.getResources().getBoolean(
|
|
||||||
com.android.internal.R.bool.config_enableWallpaperService);
|
|
||||||
mWallpaperManager = mWallpaperServiceEnabled ? (WallpaperManager) context.getSystemService(
|
|
||||||
Context.WALLPAPER_SERVICE) : null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isWallpaperServiceEnabled() {
|
|
||||||
return mWallpaperServiceEnabled;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getWallpaperId(int which) {
|
|
||||||
if (!mWallpaperServiceEnabled) {
|
|
||||||
throw new RuntimeException("This device does not have wallpaper service enabled.");
|
|
||||||
}
|
|
||||||
return mWallpaperManager.getWallpaperId(which);
|
|
||||||
}
|
|
||||||
}
|
|
@@ -25,12 +25,13 @@ import android.content.pm.ActivityInfo;
|
|||||||
import android.content.pm.ApplicationInfo;
|
import android.content.pm.ApplicationInfo;
|
||||||
import android.content.pm.PackageInfo;
|
import android.content.pm.PackageInfo;
|
||||||
import android.content.pm.UserInfo;
|
import android.content.pm.UserInfo;
|
||||||
|
import android.os.UserManager;
|
||||||
import android.util.Pair;
|
import android.util.Pair;
|
||||||
|
|
||||||
import com.android.settings.testutils.FakeFeatureFactory;
|
import com.android.settings.testutils.FakeFeatureFactory;
|
||||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||||
import com.android.settings.wrapper.UserManagerWrapper;
|
|
||||||
import com.android.settingslib.wrapper.PackageManagerWrapper;
|
import com.android.settingslib.wrapper.PackageManagerWrapper;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
@@ -52,7 +53,7 @@ public class PictureInPictureSettingsTest {
|
|||||||
@Mock
|
@Mock
|
||||||
private PackageManagerWrapper mPackageManager;
|
private PackageManagerWrapper mPackageManager;
|
||||||
@Mock
|
@Mock
|
||||||
private UserManagerWrapper mUserManager;
|
private UserManager mUserManager;
|
||||||
private ArrayList<PackageInfo> mPrimaryUserPackages;
|
private ArrayList<PackageInfo> mPrimaryUserPackages;
|
||||||
private ArrayList<PackageInfo> mProfileUserPackages;
|
private ArrayList<PackageInfo> mProfileUserPackages;
|
||||||
|
|
||||||
|
@@ -18,6 +18,8 @@ package com.android.settings.connecteddevice.usb;
|
|||||||
|
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
import static org.mockito.Answers.RETURNS_DEEP_STUBS;
|
import static org.mockito.Answers.RETURNS_DEEP_STUBS;
|
||||||
|
import static org.mockito.ArgumentMatchers.any;
|
||||||
|
import static org.mockito.ArgumentMatchers.eq;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
@@ -27,9 +29,10 @@ import android.hardware.usb.UsbManager;
|
|||||||
import android.hardware.usb.UsbPort;
|
import android.hardware.usb.UsbPort;
|
||||||
import android.hardware.usb.UsbPortStatus;
|
import android.hardware.usb.UsbPortStatus;
|
||||||
import android.net.ConnectivityManager;
|
import android.net.ConnectivityManager;
|
||||||
|
import android.os.UserHandle;
|
||||||
|
import android.os.UserManager;
|
||||||
|
|
||||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||||
import com.android.settings.wrapper.UserManagerWrapper;
|
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@@ -45,7 +48,7 @@ public class UsbBackendTest {
|
|||||||
@Mock
|
@Mock
|
||||||
private UsbManager mUsbManager;
|
private UsbManager mUsbManager;
|
||||||
@Mock
|
@Mock
|
||||||
private UserManagerWrapper mUserManagerWrapper;
|
private UserManager mUserManager;
|
||||||
@Mock
|
@Mock
|
||||||
private ConnectivityManager mConnectivityManager;
|
private ConnectivityManager mConnectivityManager;
|
||||||
@Mock
|
@Mock
|
||||||
@@ -68,7 +71,7 @@ public class UsbBackendTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void setDataRole_allRolesSupported_shouldSetDataRole() {
|
public void setDataRole_allRolesSupported_shouldSetDataRole() {
|
||||||
final UsbBackend usbBackend = new UsbBackend(mContext, mUserManagerWrapper);
|
final UsbBackend usbBackend = new UsbBackend(mContext, mUserManager);
|
||||||
|
|
||||||
when(mUsbPortStatus
|
when(mUsbPortStatus
|
||||||
.isRoleCombinationSupported(UsbPort.POWER_ROLE_SINK, UsbPort.DATA_ROLE_DEVICE))
|
.isRoleCombinationSupported(UsbPort.POWER_ROLE_SINK, UsbPort.DATA_ROLE_DEVICE))
|
||||||
@@ -91,7 +94,7 @@ public class UsbBackendTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void setDataRole_notAllRolesSupported_shouldSetDataAndPowerRole() {
|
public void setDataRole_notAllRolesSupported_shouldSetDataAndPowerRole() {
|
||||||
final UsbBackend usbBackend = new UsbBackend(mContext, mUserManagerWrapper);
|
final UsbBackend usbBackend = new UsbBackend(mContext, mUserManager);
|
||||||
|
|
||||||
when(mUsbPortStatus
|
when(mUsbPortStatus
|
||||||
.isRoleCombinationSupported(UsbPort.POWER_ROLE_SINK, UsbPort.DATA_ROLE_DEVICE))
|
.isRoleCombinationSupported(UsbPort.POWER_ROLE_SINK, UsbPort.DATA_ROLE_DEVICE))
|
||||||
@@ -109,7 +112,7 @@ public class UsbBackendTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void setPowerRole_allRolesSupported_shouldSetPowerRole() {
|
public void setPowerRole_allRolesSupported_shouldSetPowerRole() {
|
||||||
final UsbBackend usbBackend = new UsbBackend(mContext, mUserManagerWrapper);
|
final UsbBackend usbBackend = new UsbBackend(mContext, mUserManager);
|
||||||
|
|
||||||
when(mUsbPortStatus
|
when(mUsbPortStatus
|
||||||
.isRoleCombinationSupported(UsbPort.POWER_ROLE_SINK, UsbPort.DATA_ROLE_DEVICE))
|
.isRoleCombinationSupported(UsbPort.POWER_ROLE_SINK, UsbPort.DATA_ROLE_DEVICE))
|
||||||
@@ -133,7 +136,7 @@ public class UsbBackendTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void setPowerRole_notAllRolesSupported_shouldSetDataAndPowerRole() {
|
public void setPowerRole_notAllRolesSupported_shouldSetDataAndPowerRole() {
|
||||||
final UsbBackend usbBackend = new UsbBackend(mContext, mUserManagerWrapper);
|
final UsbBackend usbBackend = new UsbBackend(mContext, mUserManager);
|
||||||
|
|
||||||
when(mUsbPortStatus
|
when(mUsbPortStatus
|
||||||
.isRoleCombinationSupported(UsbPort.POWER_ROLE_SINK, UsbPort.DATA_ROLE_DEVICE))
|
.isRoleCombinationSupported(UsbPort.POWER_ROLE_SINK, UsbPort.DATA_ROLE_DEVICE))
|
||||||
@@ -151,20 +154,26 @@ public class UsbBackendTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void areFunctionsSupported_fileTransferDisallowed_shouldReturnFalse() {
|
public void areFunctionsSupported_fileTransferDisallowed_shouldReturnFalse() {
|
||||||
when(mUserManagerWrapper.isUsbFileTransferRestricted()).thenReturn(true);
|
when(mUserManager.hasUserRestriction(UserManager.DISALLOW_USB_FILE_TRANSFER))
|
||||||
when(mUserManagerWrapper.isUsbFileTransferRestrictedBySystem()).thenReturn(true);
|
.thenReturn(true);
|
||||||
|
when(mUserManager.hasBaseUserRestriction(
|
||||||
|
eq(UserManager.DISALLOW_USB_FILE_TRANSFER), any(UserHandle.class)))
|
||||||
|
.thenReturn(true);
|
||||||
|
|
||||||
final UsbBackend usbBackend = new UsbBackend(mContext, mUserManagerWrapper);
|
final UsbBackend usbBackend = new UsbBackend(mContext, mUserManager);
|
||||||
|
|
||||||
assertThat(usbBackend.areFunctionsSupported(UsbManager.FUNCTION_MTP)).isFalse();
|
assertThat(usbBackend.areFunctionsSupported(UsbManager.FUNCTION_MTP)).isFalse();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void areFunctionsSupported_fileTransferAllowed_shouldReturnTrue() {
|
public void areFunctionsSupported_fileTransferAllowed_shouldReturnTrue() {
|
||||||
when(mUserManagerWrapper.isUsbFileTransferRestricted()).thenReturn(false);
|
when(mUserManager.hasUserRestriction(UserManager.DISALLOW_USB_FILE_TRANSFER))
|
||||||
when(mUserManagerWrapper.isUsbFileTransferRestrictedBySystem()).thenReturn(false);
|
.thenReturn(false);
|
||||||
|
when(mUserManager.hasBaseUserRestriction(
|
||||||
|
eq(UserManager.DISALLOW_USB_FILE_TRANSFER), any(UserHandle.class)))
|
||||||
|
.thenReturn(false);
|
||||||
|
|
||||||
final UsbBackend usbBackend = new UsbBackend(mContext, mUserManagerWrapper);
|
final UsbBackend usbBackend = new UsbBackend(mContext, mUserManager);
|
||||||
|
|
||||||
assertThat(usbBackend.areFunctionsSupported(UsbManager.FUNCTION_MTP)).isTrue();
|
assertThat(usbBackend.areFunctionsSupported(UsbManager.FUNCTION_MTP)).isTrue();
|
||||||
}
|
}
|
||||||
|
@@ -26,13 +26,13 @@ import static org.mockito.Mockito.when;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.pm.UserInfo;
|
import android.content.pm.UserInfo;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
|
import android.os.UserManager;
|
||||||
import android.support.v7.preference.Preference;
|
import android.support.v7.preference.Preference;
|
||||||
import android.support.v7.preference.PreferenceGroup;
|
import android.support.v7.preference.PreferenceGroup;
|
||||||
import android.support.v7.preference.PreferenceScreen;
|
import android.support.v7.preference.PreferenceScreen;
|
||||||
import android.util.SparseArray;
|
import android.util.SparseArray;
|
||||||
|
|
||||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||||
import com.android.settings.wrapper.UserManagerWrapper;
|
|
||||||
import com.android.settingslib.applications.StorageStatsSource;
|
import com.android.settingslib.applications.StorageStatsSource;
|
||||||
import com.android.settingslib.core.AbstractPreferenceController;
|
import com.android.settingslib.core.AbstractPreferenceController;
|
||||||
import com.android.settingslib.drawable.UserIconDrawable;
|
import com.android.settingslib.drawable.UserIconDrawable;
|
||||||
@@ -54,7 +54,7 @@ public class SecondaryUserControllerTest {
|
|||||||
private static final String TEST_NAME = "Fred";
|
private static final String TEST_NAME = "Fred";
|
||||||
private static final String TARGET_PREFERENCE_GROUP_KEY = "pref_secondary_users";
|
private static final String TARGET_PREFERENCE_GROUP_KEY = "pref_secondary_users";
|
||||||
@Mock
|
@Mock
|
||||||
private UserManagerWrapper mUserManager;
|
private UserManager mUserManager;
|
||||||
@Mock
|
@Mock
|
||||||
private PreferenceScreen mScreen;
|
private PreferenceScreen mScreen;
|
||||||
@Mock
|
@Mock
|
||||||
|
@@ -35,7 +35,6 @@ import com.android.settings.SettingsActivity;
|
|||||||
import com.android.settings.SubSettings;
|
import com.android.settings.SubSettings;
|
||||||
import com.android.settings.deviceinfo.StorageProfileFragment;
|
import com.android.settings.deviceinfo.StorageProfileFragment;
|
||||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||||
import com.android.settings.wrapper.UserManagerWrapper;
|
|
||||||
import com.android.settingslib.applications.StorageStatsSource;
|
import com.android.settingslib.applications.StorageStatsSource;
|
||||||
import com.android.settingslib.drawable.UserIconDrawable;
|
import com.android.settingslib.drawable.UserIconDrawable;
|
||||||
|
|
||||||
@@ -52,8 +51,6 @@ public class UserProfileControllerTest {
|
|||||||
|
|
||||||
private static final String TEST_NAME = "Fred";
|
private static final String TEST_NAME = "Fred";
|
||||||
|
|
||||||
@Mock
|
|
||||||
private UserManagerWrapper mUserManager;
|
|
||||||
@Mock
|
@Mock
|
||||||
private PreferenceScreen mScreen;
|
private PreferenceScreen mScreen;
|
||||||
|
|
||||||
@@ -66,7 +63,7 @@ public class UserProfileControllerTest {
|
|||||||
MockitoAnnotations.initMocks(this);
|
MockitoAnnotations.initMocks(this);
|
||||||
mContext = spy(RuntimeEnvironment.application);
|
mContext = spy(RuntimeEnvironment.application);
|
||||||
mPrimaryProfile = new UserInfo();
|
mPrimaryProfile = new UserInfo();
|
||||||
mController = new UserProfileController(mContext, mPrimaryProfile, mUserManager, 0);
|
mController = new UserProfileController(mContext, mPrimaryProfile, 0);
|
||||||
when(mScreen.getContext()).thenReturn(mContext);
|
when(mScreen.getContext()).thenReturn(mContext);
|
||||||
mPrimaryProfile.name = TEST_NAME;
|
mPrimaryProfile.name = TEST_NAME;
|
||||||
mPrimaryProfile.id = 10;
|
mPrimaryProfile.id = 10;
|
||||||
|
@@ -20,15 +20,15 @@ import static com.google.common.truth.Truth.assertThat;
|
|||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
import static org.robolectric.Shadows.shadowOf;
|
import static org.robolectric.Shadows.shadowOf;
|
||||||
|
|
||||||
|
import android.app.WallpaperManager;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.pm.PackageManager;
|
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
|
|
||||||
import com.android.settings.SubSettings;
|
import com.android.settings.SubSettings;
|
||||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||||
import com.android.settings.wrapper.WallpaperManagerWrapper;
|
|
||||||
|
|
||||||
|
import org.junit.After;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
@@ -40,6 +40,7 @@ import org.robolectric.android.controller.ActivityController;
|
|||||||
import org.robolectric.annotation.Config;
|
import org.robolectric.annotation.Config;
|
||||||
import org.robolectric.annotation.Implementation;
|
import org.robolectric.annotation.Implementation;
|
||||||
import org.robolectric.annotation.Implements;
|
import org.robolectric.annotation.Implements;
|
||||||
|
import org.robolectric.annotation.Resetter;
|
||||||
import org.robolectric.shadows.ShadowActivity;
|
import org.robolectric.shadows.ShadowActivity;
|
||||||
import org.robolectric.shadows.ShadowPackageManager;
|
import org.robolectric.shadows.ShadowPackageManager;
|
||||||
|
|
||||||
@@ -59,6 +60,11 @@ public class WallpaperSuggestionActivityTest {
|
|||||||
mController = Robolectric.buildActivity(WallpaperSuggestionActivity.class);
|
mController = Robolectric.buildActivity(WallpaperSuggestionActivity.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@After
|
||||||
|
public void tearDown() {
|
||||||
|
ShadowWallpaperManager.reset();
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void launch_primarySuggestionActivityDoesNotExist_shouldFallback() {
|
public void launch_primarySuggestionActivityDoesNotExist_shouldFallback() {
|
||||||
ShadowPackageManager packageManager =
|
ShadowPackageManager packageManager =
|
||||||
@@ -74,32 +80,34 @@ public class WallpaperSuggestionActivityTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void wallpaperServiceEnabled_no_shouldReturnFalse() {
|
public void wallpaperServiceEnabled_no_shouldReturnTrue() {
|
||||||
when(mContext.getResources()).thenReturn(mResources);
|
when(mContext.getResources()).thenReturn(mResources);
|
||||||
when(mResources.getBoolean(com.android.internal.R.bool.config_enableWallpaperService))
|
when(mResources.getBoolean(com.android.internal.R.bool.config_enableWallpaperService))
|
||||||
.thenReturn(false);
|
.thenReturn(false);
|
||||||
|
|
||||||
assertThat(WallpaperSuggestionActivity.isSuggestionComplete(mContext)).isFalse();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
@Config(shadows = WallpaperSuggestionActivityTest.ShadowWallpaperManagerWrapper.class)
|
|
||||||
public void hasWallpaperSet_no_shouldReturnFalse() {
|
|
||||||
ShadowWallpaperManagerWrapper.setWallpaperId(0);
|
|
||||||
|
|
||||||
assertThat(WallpaperSuggestionActivity.isSuggestionComplete(mContext)).isFalse();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
@Config(shadows = WallpaperSuggestionActivityTest.ShadowWallpaperManagerWrapper.class)
|
|
||||||
public void hasWallpaperSet_yes_shouldReturnTrue() {
|
|
||||||
ShadowWallpaperManagerWrapper.setWallpaperId(100);
|
|
||||||
|
|
||||||
assertThat(WallpaperSuggestionActivity.isSuggestionComplete(mContext)).isTrue();
|
assertThat(WallpaperSuggestionActivity.isSuggestionComplete(mContext)).isTrue();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Implements(WallpaperManagerWrapper.class)
|
@Test
|
||||||
public static class ShadowWallpaperManagerWrapper {
|
@Config(shadows = ShadowWallpaperManager.class)
|
||||||
|
public void hasWallpaperSet_no_shouldReturnFalse() {
|
||||||
|
ShadowWallpaperManager.setWallpaperId(0);
|
||||||
|
|
||||||
|
assertThat(WallpaperSuggestionActivity.isSuggestionComplete(RuntimeEnvironment.application))
|
||||||
|
.isFalse();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@Config(shadows = ShadowWallpaperManager.class)
|
||||||
|
public void hasWallpaperSet_yes_shouldReturnTrue() {
|
||||||
|
ShadowWallpaperManager.setWallpaperId(100);
|
||||||
|
|
||||||
|
assertThat(WallpaperSuggestionActivity.isSuggestionComplete(RuntimeEnvironment.application))
|
||||||
|
.isTrue();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Implements(WallpaperManager.class)
|
||||||
|
public static class ShadowWallpaperManager {
|
||||||
|
|
||||||
private static int sWallpaperId;
|
private static int sWallpaperId;
|
||||||
|
|
||||||
@@ -107,13 +115,11 @@ public class WallpaperSuggestionActivityTest {
|
|||||||
sWallpaperId = id;
|
sWallpaperId = id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Resetter
|
||||||
public static void reset() {
|
public static void reset() {
|
||||||
sWallpaperId = 0;
|
sWallpaperId = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void __constructor__(Context context) {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Implementation
|
@Implementation
|
||||||
public boolean isWallpaperServiceEnabled() {
|
public boolean isWallpaperServiceEnabled() {
|
||||||
return true;
|
return true;
|
||||||
|
@@ -17,7 +17,6 @@
|
|||||||
package com.android.settings.deviceinfo.storage;
|
package com.android.settings.deviceinfo.storage;
|
||||||
|
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
import static org.mockito.Matchers.any;
|
import static org.mockito.Matchers.any;
|
||||||
import static org.mockito.Matchers.anyInt;
|
import static org.mockito.Matchers.anyInt;
|
||||||
import static org.mockito.Matchers.anyString;
|
import static org.mockito.Matchers.anyString;
|
||||||
@@ -31,11 +30,11 @@ import android.content.pm.PackageManager.NameNotFoundException;
|
|||||||
import android.content.pm.UserInfo;
|
import android.content.pm.UserInfo;
|
||||||
import android.net.TrafficStats;
|
import android.net.TrafficStats;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
|
import android.os.UserManager;
|
||||||
import android.support.test.filters.SmallTest;
|
import android.support.test.filters.SmallTest;
|
||||||
import android.support.test.runner.AndroidJUnit4;
|
import android.support.test.runner.AndroidJUnit4;
|
||||||
import android.util.SparseArray;
|
import android.util.SparseArray;
|
||||||
|
|
||||||
import com.android.settings.wrapper.UserManagerWrapper;
|
|
||||||
import com.android.settingslib.applications.StorageStatsSource;
|
import com.android.settingslib.applications.StorageStatsSource;
|
||||||
import com.android.settingslib.wrapper.PackageManagerWrapper;
|
import com.android.settingslib.wrapper.PackageManagerWrapper;
|
||||||
|
|
||||||
@@ -65,7 +64,7 @@ public class StorageAsyncLoaderTest {
|
|||||||
@Mock
|
@Mock
|
||||||
private PackageManagerWrapper mPackageManager;
|
private PackageManagerWrapper mPackageManager;
|
||||||
@Mock
|
@Mock
|
||||||
private UserManagerWrapper mUserManager;
|
private UserManager mUserManager;
|
||||||
private List<ApplicationInfo> mInfo = new ArrayList<>();
|
private List<ApplicationInfo> mInfo = new ArrayList<>();
|
||||||
private List<UserInfo> mUsers;
|
private List<UserInfo> mUsers;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user