diff options
author | 2024-05-03 08:36:16 +0000 | |
---|---|---|
committer | 2024-05-03 08:36:16 +0000 | |
commit | 199806831b909dd3c322207ca18cb27fc4742208 (patch) | |
tree | 2c1476a59776b6359800ebd7057fa6f16e267a36 | |
parent | 7a4c18e01eafabcdacf8d612572d4aab5ac56c76 (diff) | |
parent | 1e0aefb3e51b4b33bbd3050cfcf0197340927c2b (diff) |
Merge "Add @RequiresApi annotation for sdk version S for UserManagerState." into udc-mainline-prod am: 1e0aefb3e5
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/DocumentsUI/+/27138879
Change-Id: Iac78b24dfcabdf4fba825f9e87d239006827324e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
22 files changed, 70 insertions, 43 deletions
diff --git a/src/com/android/documentsui/BaseActivity.java b/src/com/android/documentsui/BaseActivity.java index 514e98f23..597119e4e 100644 --- a/src/com/android/documentsui/BaseActivity.java +++ b/src/com/android/documentsui/BaseActivity.java @@ -308,7 +308,7 @@ public abstract class BaseActivity // If private space feature flag is enabled, we should store the intent that launched docsUi // so that we can use this intent to get CrossProfileResolveInfo when ever we want to, // for example when ACTION_PROFILE_AVAILABLE intent is received - if (mUserManagerState != null) { + if (mUserManagerState != null && SdkLevel.isAtLeastS()) { mUserManagerState.setCurrentStateIntent(intent); } mSearchManager = new SearchViewManager(searchListener, queryInterceptor, diff --git a/src/com/android/documentsui/DirectoryLoader.java b/src/com/android/documentsui/DirectoryLoader.java index 870e998fb..15b3ce5e5 100644 --- a/src/com/android/documentsui/DirectoryLoader.java +++ b/src/com/android/documentsui/DirectoryLoader.java @@ -48,6 +48,7 @@ import com.android.documentsui.base.State; import com.android.documentsui.base.UserId; import com.android.documentsui.roots.RootCursorWrapper; import com.android.documentsui.sorting.SortModel; +import com.android.modules.utils.build.SdkLevel; import java.util.ArrayList; import java.util.List; @@ -331,7 +332,7 @@ public class DirectoryLoader extends AsyncTaskLoader<DirectoryResult> { } private List<UserId> getUserIds() { - if (mState.configStore.isPrivateSpaceInDocsUIEnabled()) { + if (mState.configStore.isPrivateSpaceInDocsUIEnabled() && SdkLevel.isAtLeastS()) { return DocumentsApplication.getUserManagerState(getContext()).getUserIds(); } return DocumentsApplication.getUserIdManager(getContext()).getUserIds(); diff --git a/src/com/android/documentsui/DocumentsApplication.java b/src/com/android/documentsui/DocumentsApplication.java index 84e4754c8..809ef9876 100644 --- a/src/com/android/documentsui/DocumentsApplication.java +++ b/src/com/android/documentsui/DocumentsApplication.java @@ -127,7 +127,8 @@ public class DocumentsApplication extends Application { public static UserManagerState getUserManagerState(Context context) { UserManagerState userManagerState = ((DocumentsApplication) context.getApplicationContext()).mUserManagerState; - if (userManagerState == null && getConfigStore().isPrivateSpaceInDocsUIEnabled()) { + if (userManagerState == null && getConfigStore().isPrivateSpaceInDocsUIEnabled() + && SdkLevel.isAtLeastS()) { userManagerState = UserManagerState.create(context); ((DocumentsApplication) context.getApplicationContext()).mUserManagerState = userManagerState; @@ -264,7 +265,7 @@ public class DocumentsApplication extends Application { } else if (PROFILE_FILTER_ACTIONS.contains(action)) { // Make the changes to UserManagerState object before calling providers updateAsync // so that providers for all the users are loaded - if (getConfigStore().isPrivateSpaceInDocsUIEnabled()) { + if (getConfigStore().isPrivateSpaceInDocsUIEnabled() && SdkLevel.isAtLeastS()) { UserHandle userHandle = intent.getParcelableExtra(Intent.EXTRA_USER); UserId userId = UserId.of(userHandle); getUserManagerState(context).onProfileActionStatusChange(action, userId); diff --git a/src/com/android/documentsui/ProfileTabs.java b/src/com/android/documentsui/ProfileTabs.java index b692c7ada..df525d527 100644 --- a/src/com/android/documentsui/ProfileTabs.java +++ b/src/com/android/documentsui/ProfileTabs.java @@ -180,7 +180,7 @@ public class ProfileTabs implements ProfileTabsAddons { mUserIds.addAll(userIds); mTabs.removeAllTabs(); if (mUserIds.size() > 1) { - if (mConfigStore.isPrivateSpaceInDocsUIEnabled()) { + if (mConfigStore.isPrivateSpaceInDocsUIEnabled() && SdkLevel.isAtLeastS()) { addTabsPrivateSpaceEnabled(); } else { addTabsPrivateSpaceDisabled(); @@ -190,7 +190,7 @@ public class ProfileTabs implements ProfileTabsAddons { } private List<UserId> getUserIds() { - if (mConfigStore.isPrivateSpaceInDocsUIEnabled()) { + if (mConfigStore.isPrivateSpaceInDocsUIEnabled() && SdkLevel.isAtLeastS()) { assert mUserManagerState != null; return mUserManagerState.getUserIds(); } @@ -198,6 +198,7 @@ public class ProfileTabs implements ProfileTabsAddons { return mUserIdManager.getUserIds(); } + @RequiresApi(Build.VERSION_CODES.S) private void addTabsPrivateSpaceEnabled() { // set setSelected to false otherwise it will trigger callback. assert mUserManagerState != null; diff --git a/src/com/android/documentsui/UserManagerState.java b/src/com/android/documentsui/UserManagerState.java index 2c2046cc4..9bb9ee92a 100644 --- a/src/com/android/documentsui/UserManagerState.java +++ b/src/com/android/documentsui/UserManagerState.java @@ -57,6 +57,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +@RequiresApi(Build.VERSION_CODES.S) public interface UserManagerState { /** diff --git a/src/com/android/documentsui/dirlist/AppsRowManager.java b/src/com/android/documentsui/dirlist/AppsRowManager.java index 092d5ec32..297d1b2e3 100644 --- a/src/com/android/documentsui/dirlist/AppsRowManager.java +++ b/src/com/android/documentsui/dirlist/AppsRowManager.java @@ -36,6 +36,7 @@ import com.android.documentsui.dirlist.AppsRowItemData.RootData; import com.android.documentsui.sidebar.AppItem; import com.android.documentsui.sidebar.Item; import com.android.documentsui.sidebar.RootItem; +import com.android.modules.utils.build.SdkLevel; import java.util.ArrayList; import java.util.HashMap; @@ -151,7 +152,7 @@ public class AppsRowManager { } private List<UserId> getUserIds() { - if (mConfigStore.isPrivateSpaceInDocsUIEnabled()) { + if (mConfigStore.isPrivateSpaceInDocsUIEnabled() && SdkLevel.isAtLeastS()) { return mUserManagerState.getUserIds(); } return mUserIdManager.getUserIds(); diff --git a/src/com/android/documentsui/dirlist/DirectoryFragment.java b/src/com/android/documentsui/dirlist/DirectoryFragment.java index 430540610..04589552b 100644 --- a/src/com/android/documentsui/dirlist/DirectoryFragment.java +++ b/src/com/android/documentsui/dirlist/DirectoryFragment.java @@ -657,15 +657,16 @@ public class DirectoryFragment extends Fragment implements SwipeRefreshLayout.On } private DocumentsAdapter getModelBackedDocumentsAdapter() { - return mState.configStore.isPrivateSpaceInDocsUIEnabled() - ? new DirectoryAddonsAdapter( - mAdapterEnv, new ModelBackedDocumentsAdapter(mAdapterEnv, mIconHelper, - mInjector.fileTypeLookup, mState.configStore), - UserId.CURRENT_USER, - mActivity.getSelectedUser(), - DocumentsApplication.getUserManagerState(getContext()).getUserIdToLabelMap(), - getContext().getSystemService(UserManager.class), mState.configStore) - : new DirectoryAddonsAdapter( + if (SdkLevel.isAtLeastS() && mState.configStore.isPrivateSpaceInDocsUIEnabled()) { + return new DirectoryAddonsAdapter( + mAdapterEnv, new ModelBackedDocumentsAdapter(mAdapterEnv, mIconHelper, + mInjector.fileTypeLookup, mState.configStore), + UserId.CURRENT_USER, + mActivity.getSelectedUser(), + DocumentsApplication.getUserManagerState(getContext()).getUserIdToLabelMap(), + getContext().getSystemService(UserManager.class), mState.configStore); + } + return new DirectoryAddonsAdapter( mAdapterEnv, new ModelBackedDocumentsAdapter(mAdapterEnv, mIconHelper, mInjector.fileTypeLookup, mState.configStore), diff --git a/src/com/android/documentsui/dirlist/DocumentHolder.java b/src/com/android/documentsui/dirlist/DocumentHolder.java index b664bbcd4..26f527896 100644 --- a/src/com/android/documentsui/dirlist/DocumentHolder.java +++ b/src/com/android/documentsui/dirlist/DocumentHolder.java @@ -202,7 +202,7 @@ public abstract class DocumentHolder protected String getPreviewIconContentDescription(boolean isNonPersonalProfile, String fileName, UserId userId) { - if (mConfigStore.isPrivateSpaceInDocsUIEnabled()) { + if (mConfigStore.isPrivateSpaceInDocsUIEnabled() && SdkLevel.isAtLeastS()) { UserManagerState userManagerState = DocumentsApplication.getUserManagerState(mContext); String profileLabel = userManagerState.getUserIdToLabelMap().get(userId); return isNonPersonalProfile diff --git a/src/com/android/documentsui/dirlist/GridDirectoryHolder.java b/src/com/android/documentsui/dirlist/GridDirectoryHolder.java index caa3ec249..34d5f7d40 100644 --- a/src/com/android/documentsui/dirlist/GridDirectoryHolder.java +++ b/src/com/android/documentsui/dirlist/GridDirectoryHolder.java @@ -98,6 +98,7 @@ final class GridDirectoryHolder extends DocumentHolder { } @Override + @RequiresApi(Build.VERSION_CODES.S) public void bindProfileIcon(boolean show, int userIdIdentifier) { Map<UserId, Drawable> userIdToBadgeMap = DocumentsApplication.getUserManagerState( mContext).getUserIdToBadgeMap(); diff --git a/src/com/android/documentsui/dirlist/GridDocumentHolder.java b/src/com/android/documentsui/dirlist/GridDocumentHolder.java index 981e659a8..96268efe3 100644 --- a/src/com/android/documentsui/dirlist/GridDocumentHolder.java +++ b/src/com/android/documentsui/dirlist/GridDocumentHolder.java @@ -153,6 +153,7 @@ final class GridDocumentHolder extends DocumentHolder { } @Override + @RequiresApi(Build.VERSION_CODES.S) public void bindProfileIcon(boolean show, int userIdIdentifier) { Map<UserId, Drawable> userIdToBadgeMap = DocumentsApplication.getUserManagerState( mContext).getUserIdToBadgeMap(); diff --git a/src/com/android/documentsui/dirlist/GridPhotoHolder.java b/src/com/android/documentsui/dirlist/GridPhotoHolder.java index 8fab8529d..c663cc533 100644 --- a/src/com/android/documentsui/dirlist/GridPhotoHolder.java +++ b/src/com/android/documentsui/dirlist/GridPhotoHolder.java @@ -138,6 +138,7 @@ final class GridPhotoHolder extends DocumentHolder { } @Override + @RequiresApi(Build.VERSION_CODES.S) public void bindProfileIcon(boolean show, int userIdIdentifier) { Map<UserId, Drawable> userIdToBadgeMap = DocumentsApplication.getUserManagerState( mContext).getUserIdToBadgeMap(); diff --git a/src/com/android/documentsui/dirlist/IconHelper.java b/src/com/android/documentsui/dirlist/IconHelper.java index be86880aa..a960bbce2 100644 --- a/src/com/android/documentsui/dirlist/IconHelper.java +++ b/src/com/android/documentsui/dirlist/IconHelper.java @@ -49,6 +49,7 @@ import com.android.documentsui.base.MimeTypes; import com.android.documentsui.base.State; import com.android.documentsui.base.State.ViewMode; import com.android.documentsui.base.UserId; +import com.android.modules.utils.build.SdkLevel; import java.util.function.BiConsumer; @@ -271,7 +272,7 @@ public class IconHelper { * Returns true if we should show a briefcase icon for the given user. */ public boolean shouldShowBadge(int userIdIdentifier) { - if (mConfigStore.isPrivateSpaceInDocsUIEnabled()) { + if (mConfigStore.isPrivateSpaceInDocsUIEnabled() && SdkLevel.isAtLeastS()) { return mMaybeShowBadge && mUserManagerState.getUserIds().size() > 1 && ActivityManager.getCurrentUser() != userIdIdentifier; diff --git a/src/com/android/documentsui/dirlist/ListDocumentHolder.java b/src/com/android/documentsui/dirlist/ListDocumentHolder.java index e287b76cb..4d8678a35 100644 --- a/src/com/android/documentsui/dirlist/ListDocumentHolder.java +++ b/src/com/android/documentsui/dirlist/ListDocumentHolder.java @@ -174,6 +174,7 @@ final class ListDocumentHolder extends DocumentHolder { } @Override + @RequiresApi(Build.VERSION_CODES.S) public void bindProfileIcon(boolean show, int userIdIdentifier) { Map<UserId, Drawable> userIdToBadgeMap = DocumentsApplication.getUserManagerState( mContext).getUserIdToBadgeMap(); diff --git a/src/com/android/documentsui/dirlist/ModelBackedDocumentsAdapter.java b/src/com/android/documentsui/dirlist/ModelBackedDocumentsAdapter.java index beaa24b83..e87b04262 100644 --- a/src/com/android/documentsui/dirlist/ModelBackedDocumentsAdapter.java +++ b/src/com/android/documentsui/dirlist/ModelBackedDocumentsAdapter.java @@ -36,6 +36,7 @@ import com.android.documentsui.base.EventListener; import com.android.documentsui.base.Lookup; import com.android.documentsui.base.State; import com.android.documentsui.roots.RootCursorWrapper; +import com.android.modules.utils.build.SdkLevel; import java.util.ArrayList; import java.util.List; @@ -149,7 +150,7 @@ final class ModelBackedDocumentsAdapter extends DocumentsAdapter { holder.setAction(mEnv.getDisplayState().action); holder.bindPreviewIcon(mEnv.getDisplayState().shouldShowPreview() && enabled, view -> mEnv.getActionHandler().previewItem(holder.getItemDetails())); - if (mConfigStore.isPrivateSpaceInDocsUIEnabled()) { + if (mConfigStore.isPrivateSpaceInDocsUIEnabled() && SdkLevel.isAtLeastS()) { holder.bindProfileIcon(mIconHelper.shouldShowBadge(userIdIdentifier), userIdIdentifier); } else { holder.bindBriefcaseIcon(mIconHelper.shouldShowBadge(userIdIdentifier)); diff --git a/src/com/android/documentsui/picker/PickActivity.java b/src/com/android/documentsui/picker/PickActivity.java index c14c8b8a9..e9b91b1a0 100644 --- a/src/com/android/documentsui/picker/PickActivity.java +++ b/src/com/android/documentsui/picker/PickActivity.java @@ -66,6 +66,7 @@ import com.android.documentsui.ui.DialogController; import com.android.documentsui.ui.MessageBuilder; import com.android.documentsui.util.CrossProfileUtils; import com.android.documentsui.util.VersionUtils; +import com.android.modules.utils.build.SdkLevel; import java.util.Collection; import java.util.Collections; @@ -230,7 +231,7 @@ public class PickActivity extends BaseActivity implements ActionHandler.Addons { moreApps.setComponent(null); moreApps.setPackage(null); if (mState.supportsCrossProfile) { - if (mConfigStore.isPrivateSpaceInDocsUIEnabled()) { + if (mConfigStore.isPrivateSpaceInDocsUIEnabled() && SdkLevel.isAtLeastS()) { mState.canForwardToProfileIdMap = mUserManagerState.getCanForwardToProfileIdMap( moreApps); } else if (CrossProfileUtils.getCrossProfileResolveInfo(UserId.CURRENT_USER, diff --git a/src/com/android/documentsui/roots/ProvidersCache.java b/src/com/android/documentsui/roots/ProvidersCache.java index 15089a6a5..a0e813e0a 100644 --- a/src/com/android/documentsui/roots/ProvidersCache.java +++ b/src/com/android/documentsui/roots/ProvidersCache.java @@ -58,6 +58,7 @@ import com.android.documentsui.base.Providers; import com.android.documentsui.base.RootInfo; import com.android.documentsui.base.State; import com.android.documentsui.base.UserId; +import com.android.modules.utils.build.SdkLevel; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.Multimap; @@ -705,7 +706,8 @@ public class ProvidersCache implements ProvidersAccess, LookupApplicationName { } private List<UserId> getUserIds() { - if (DocumentsApplication.getConfigStore().isPrivateSpaceInDocsUIEnabled()) { + if (DocumentsApplication.getConfigStore().isPrivateSpaceInDocsUIEnabled() + && SdkLevel.isAtLeastS()) { return DocumentsApplication.getUserManagerState(mContext).getUserIds(); } return DocumentsApplication.getUserIdManager(mContext).getUserIds(); diff --git a/src/com/android/documentsui/sidebar/RootsFragment.java b/src/com/android/documentsui/sidebar/RootsFragment.java index f5be6c2ab..ee13d8617 100644 --- a/src/com/android/documentsui/sidebar/RootsFragment.java +++ b/src/com/android/documentsui/sidebar/RootsFragment.java @@ -27,6 +27,7 @@ import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; +import android.os.Build; import android.os.Bundle; import android.provider.DocumentsContract; import android.text.TextUtils; @@ -47,6 +48,7 @@ import android.widget.AdapterView.OnItemLongClickListener; import android.widget.ListView; import androidx.annotation.Nullable; +import androidx.annotation.RequiresApi; import androidx.annotation.VisibleForTesting; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; @@ -78,6 +80,7 @@ import com.android.documentsui.roots.ProvidersAccess; import com.android.documentsui.roots.ProvidersCache; import com.android.documentsui.roots.RootsLoader; import com.android.documentsui.util.CrossProfileUtils; +import com.android.modules.utils.build.SdkLevel; import java.util.ArrayList; import java.util.Collection; @@ -269,7 +272,8 @@ public class RootsFragment extends Fragment { ResolveInfo crossProfileResolveInfo = null; UserManagerState userManagerState = null; if (state.supportsCrossProfile() && handlerAppIntent != null) { - if (state.configStore.isPrivateSpaceInDocsUIEnabled()) { + if (state.configStore.isPrivateSpaceInDocsUIEnabled() + && SdkLevel.isAtLeastS()) { userManagerState = DocumentsApplication.getUserManagerState(getContext()); Map<UserId, Boolean> canForwardToProfileIdMap = userManagerState.getCanForwardToProfileIdMap(handlerAppIntent); @@ -335,7 +339,7 @@ public class RootsFragment extends Fragment { } private List<UserId> getUserIds() { - if (state.configStore.isPrivateSpaceInDocsUIEnabled()) { + if (state.configStore.isPrivateSpaceInDocsUIEnabled() && SdkLevel.isAtLeastS()) { return DocumentsApplication.getUserManagerState(getContext()).getUserIds(); } return DocumentsApplication.getUserIdManager(getContext()).getUserIds(); @@ -462,7 +466,7 @@ public class RootsFragment extends Fragment { } List<Item> presentableList = - state.configStore.isPrivateSpaceInDocsUIEnabled() + state.configStore.isPrivateSpaceInDocsUIEnabled() && SdkLevel.isAtLeastS() ? getPresentableListPrivateSpaceEnabled( context, state, rootListAllUsers, userIds, userManagerState) : getPresentableListPrivateSpaceDisabled(context, state, rootList, @@ -471,6 +475,7 @@ public class RootsFragment extends Fragment { return result; } + @RequiresApi(Build.VERSION_CODES.S) private List<Item> getPresentableListPrivateSpaceEnabled(Context context, State state, List<List<Item>> rootListAllUsers, List<UserId> userIds, UserManagerState userManagerState) { diff --git a/tests/common/com/android/documentsui/TestUserManagerState.java b/tests/common/com/android/documentsui/TestUserManagerState.java index 7b2ea8408..b7647f65d 100644 --- a/tests/common/com/android/documentsui/TestUserManagerState.java +++ b/tests/common/com/android/documentsui/TestUserManagerState.java @@ -18,8 +18,11 @@ package com.android.documentsui; import android.content.Intent; import android.graphics.drawable.Drawable; +import android.os.Build; import android.util.Log; +import androidx.annotation.RequiresApi; + import com.android.documentsui.base.UserId; import java.util.ArrayList; @@ -27,6 +30,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +@RequiresApi(Build.VERSION_CODES.S) public class TestUserManagerState implements UserManagerState { private static final String TAG = "TestUserManagerState"; diff --git a/tests/unit/com/android/documentsui/ProfileTabsTest.java b/tests/unit/com/android/documentsui/ProfileTabsTest.java index 8eac48456..054cdd006 100644 --- a/tests/unit/com/android/documentsui/ProfileTabsTest.java +++ b/tests/unit/com/android/documentsui/ProfileTabsTest.java @@ -18,8 +18,6 @@ package com.android.documentsui; import static com.google.common.truth.Truth.assertThat; -import static org.junit.Assume.assumeTrue; - import android.content.Context; import android.net.Uri; import android.os.UserHandle; @@ -99,12 +97,12 @@ public class ProfileTabsTest { mTestEnv = new TestEnvironment(); mTestEnv.isSearchExpanded = false; - isPrivateSpaceEnabled = SdkLevel.isAtLeastS() && isPrivateSpaceEnabled; - if (isPrivateSpaceEnabled) { + if (isPrivateSpaceEnabled && SdkLevel.isAtLeastS()) { mTestUserManagerState = new TestUserManagerState(); } else { mTestUserIdManager = new TestUserIdManager(); } + isPrivateSpaceEnabled = SdkLevel.isAtLeastS() && isPrivateSpaceEnabled; mTestCommonAddons = new TestCommonAddons(); mTestCommonAddons.mCurrentRoot = TestProvidersAccess.DOWNLOADS; @@ -137,7 +135,7 @@ public class ProfileTabsTest { @Test public void testUpdateView_multiUsers_shouldShow() { - assumeTrue(SdkLevel.isAtLeastV() && isPrivateSpaceEnabled); + if (!SdkLevel.isAtLeastV() || !isPrivateSpaceEnabled) return; initializeWithUsers(true, mSystemUser, mManagedUser, mPrivateUser); assertThat(mTabLayoutContainer.getVisibility()).isEqualTo(View.VISIBLE); @@ -216,7 +214,7 @@ public class ProfileTabsTest { assertThat(mTabLayoutContainer.getVisibility()).isEqualTo(View.VISIBLE); assertThat(mProfileTabs.getSelectedUser()).isEqualTo(mManagedUser); - if (isPrivateSpaceEnabled) { + if (SdkLevel.isAtLeastS() && isPrivateSpaceEnabled) { mTestUserManagerState.userIds = Lists.newArrayList(mSystemUser); } else { mTestUserIdManager.userIds = Lists.newArrayList(mSystemUser); @@ -245,7 +243,7 @@ public class ProfileTabsTest { @Test public void testUpdateView_afterCurrentRootChangedMultiUser_shouldChangeSelectedUser() { - assumeTrue(SdkLevel.isAtLeastV() && isPrivateSpaceEnabled); + if (!SdkLevel.isAtLeastV() || !isPrivateSpaceEnabled) return; initializeWithUsers(true, mSystemUser, mManagedUser, mPrivateUser); mProfileTabs.updateView(); @@ -266,7 +264,7 @@ public class ProfileTabsTest { @Test public void testUpdateView_afterSelectedUserBecomesUnavailable_shouldSwitchToCurrentUser() { // here current user refers to UserId.CURRENT_USER, which in this case will be mSystemUser - assumeTrue(SdkLevel.isAtLeastV() && isPrivateSpaceEnabled); + if (!SdkLevel.isAtLeastS() || !isPrivateSpaceEnabled) return; initializeWithUsers(true, mSystemUser, mManagedUser, mPrivateUser); mTabLayout.selectTab(mTabLayout.getTabAt(2)); @@ -293,7 +291,7 @@ public class ProfileTabsTest { @Test public void testGetSelectedUser_multiUsers() { - assumeTrue(SdkLevel.isAtLeastV() && isPrivateSpaceEnabled); + if (!SdkLevel.isAtLeastV() || !isPrivateSpaceEnabled) return; initializeWithUsers(true, mSystemUser, mManagedUser, mPrivateUser); List<UserId> expectedProfiles = Lists.newArrayList(mSystemUser, mManagedUser, mPrivateUser); @@ -326,7 +324,7 @@ public class ProfileTabsTest { } private void initializeWithUsers(boolean isPrivateSpaceEnabled, UserId... userIds) { - if (isPrivateSpaceEnabled) { + if (SdkLevel.isAtLeastS() && isPrivateSpaceEnabled) { mTestConfigStore.enablePrivateSpaceInPhotoPicker(); mTestUserManagerState.userIds = Lists.newArrayList(userIds); for (UserId userId : userIds) { diff --git a/tests/unit/com/android/documentsui/dirlist/AppsRowManagerTest.java b/tests/unit/com/android/documentsui/dirlist/AppsRowManagerTest.java index a69a9137d..bbe2a0030 100644 --- a/tests/unit/com/android/documentsui/dirlist/AppsRowManagerTest.java +++ b/tests/unit/com/android/documentsui/dirlist/AppsRowManagerTest.java @@ -93,7 +93,6 @@ public class AppsRowManagerTest { public void setUp() { mActionHandler = new TestActionHandler(); mTestUserIdManager = new TestUserIdManager(); - mTestUserManagerState = new TestUserManagerState(); mAppsRowManager = getAppsRowManager(); diff --git a/tests/unit/com/android/documentsui/dirlist/IconHelperTest.java b/tests/unit/com/android/documentsui/dirlist/IconHelperTest.java index 2df2ae2a2..6a6dd3d9b 100644 --- a/tests/unit/com/android/documentsui/dirlist/IconHelperTest.java +++ b/tests/unit/com/android/documentsui/dirlist/IconHelperTest.java @@ -49,7 +49,7 @@ public final class IconHelperTest { private Context mContext; private IconHelper mIconHelper; private ThumbnailCache mThumbnailCache = new ThumbnailCache(1000); - private final TestUserManagerState mTestUserManagerState = new TestUserManagerState(); + private TestUserManagerState mTestUserManagerState; private final TestConfigStore mTestConfigStore = new TestConfigStore(); @Parameter(0) @@ -69,6 +69,12 @@ public final class IconHelperTest { mContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); isPrivateSpaceEnabled = SdkLevel.isAtLeastS() && isPrivateSpaceEnabled; + if (SdkLevel.isAtLeastS()) { + mTestUserManagerState = new TestUserManagerState(); + mTestUserManagerState.userIds = SdkLevel.isAtLeastV() + ? Lists.newArrayList(mSystemUser, mManagedUser, mPrivateUser) + : Lists.newArrayList(mSystemUser, mManagedUser); + } mIconHelper = isPrivateSpaceEnabled ? new IconHelper(mContext, State.MODE_LIST, /* maybeShowBadge= */ true, mThumbnailCache, null, mTestUserManagerState, mTestConfigStore) @@ -76,9 +82,6 @@ public final class IconHelperTest { mThumbnailCache, mManagedUser, null, mTestConfigStore); if (isPrivateSpaceEnabled) { mTestConfigStore.enablePrivateSpaceInPhotoPicker(); - mTestUserManagerState.userIds = SdkLevel.isAtLeastV() - ? Lists.newArrayList(mSystemUser, mManagedUser, mPrivateUser) - : Lists.newArrayList(mSystemUser, mManagedUser); } } @@ -125,7 +128,9 @@ public final class IconHelperTest { @Test public void testShouldShowBadge_returnFalseOnManagedUser_withoutMultipleUsers() { if (!isPrivateSpaceEnabled) return; - mTestUserManagerState.userIds = Lists.newArrayList(mManagedUser); + if (SdkLevel.isAtLeastS()) { + mTestUserManagerState.userIds = Lists.newArrayList(mManagedUser); + } mIconHelper = new IconHelper(mContext, State.MODE_LIST, /* maybeShowBadge= */ true, mThumbnailCache, /* mManagedUser= */ null, mTestUserManagerState, mTestConfigStore); assertThat(mIconHelper.shouldShowBadge(mManagedUser.getIdentifier())).isFalse(); diff --git a/tests/unit/com/android/documentsui/sidebar/RootsFragmentTest.java b/tests/unit/com/android/documentsui/sidebar/RootsFragmentTest.java index 39e8ea27e..6a7b86415 100644 --- a/tests/unit/com/android/documentsui/sidebar/RootsFragmentTest.java +++ b/tests/unit/com/android/documentsui/sidebar/RootsFragmentTest.java @@ -63,7 +63,7 @@ public class RootsFragmentTest { private RootsFragment mRootsFragment; private TestEnv mEnv; private final TestConfigStore mTestConfigStore = new TestConfigStore(); - private final TestUserManagerState mTestUserManagerState = new TestUserManagerState(); + private TestUserManagerState mTestUserManagerState; private static final String[] EXPECTED_SORTED_RESULT = { TestProvidersAccess.RECENTS.title, @@ -105,11 +105,12 @@ public class RootsFragmentTest { when(mContext.getApplicationContext()).thenReturn( InstrumentationRegistry.getInstrumentation().getTargetContext()); - isPrivateSpaceEnabled = SdkLevel.isAtLeastS() && isPrivateSpaceEnabled; - if (isPrivateSpaceEnabled) { + if (SdkLevel.isAtLeastS() && isPrivateSpaceEnabled) { mTestConfigStore.enablePrivateSpaceInPhotoPicker(); + mTestUserManagerState = new TestUserManagerState(); mTestUserManagerState.canFrowardToProfileIdMap.put(UserId.DEFAULT_USER, true); } + isPrivateSpaceEnabled = SdkLevel.isAtLeastS() && isPrivateSpaceEnabled; mRootsFragment = new RootsFragment(); } |