summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Aditya Singh <adityasngh@google.com> 2024-05-03 08:36:16 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2024-05-03 08:36:16 +0000
commit199806831b909dd3c322207ca18cb27fc4742208 (patch)
tree2c1476a59776b6359800ebd7057fa6f16e267a36
parent7a4c18e01eafabcdacf8d612572d4aab5ac56c76 (diff)
parent1e0aefb3e51b4b33bbd3050cfcf0197340927c2b (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>
-rw-r--r--src/com/android/documentsui/BaseActivity.java2
-rw-r--r--src/com/android/documentsui/DirectoryLoader.java3
-rw-r--r--src/com/android/documentsui/DocumentsApplication.java5
-rw-r--r--src/com/android/documentsui/ProfileTabs.java5
-rw-r--r--src/com/android/documentsui/UserManagerState.java1
-rw-r--r--src/com/android/documentsui/dirlist/AppsRowManager.java3
-rw-r--r--src/com/android/documentsui/dirlist/DirectoryFragment.java19
-rw-r--r--src/com/android/documentsui/dirlist/DocumentHolder.java2
-rw-r--r--src/com/android/documentsui/dirlist/GridDirectoryHolder.java1
-rw-r--r--src/com/android/documentsui/dirlist/GridDocumentHolder.java1
-rw-r--r--src/com/android/documentsui/dirlist/GridPhotoHolder.java1
-rw-r--r--src/com/android/documentsui/dirlist/IconHelper.java3
-rw-r--r--src/com/android/documentsui/dirlist/ListDocumentHolder.java1
-rw-r--r--src/com/android/documentsui/dirlist/ModelBackedDocumentsAdapter.java3
-rw-r--r--src/com/android/documentsui/picker/PickActivity.java3
-rw-r--r--src/com/android/documentsui/roots/ProvidersCache.java4
-rw-r--r--src/com/android/documentsui/sidebar/RootsFragment.java11
-rw-r--r--tests/common/com/android/documentsui/TestUserManagerState.java4
-rw-r--r--tests/unit/com/android/documentsui/ProfileTabsTest.java18
-rw-r--r--tests/unit/com/android/documentsui/dirlist/AppsRowManagerTest.java1
-rw-r--r--tests/unit/com/android/documentsui/dirlist/IconHelperTest.java15
-rw-r--r--tests/unit/com/android/documentsui/sidebar/RootsFragmentTest.java7
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();
}