Implements profile selection tab in Storage Settings
- StorageDashboardFragment and StorageItemPreferenceController works only
for one profile per instance.
- StorageAsyncLoader loads for all users(profiles) and regards each user independent.
- SecondaryUserController will not load personal profile user in work profile tab.
- Cleanup some unused profile related files.
Bug: 174964885
Test: atest com.android.settings.deviceinfo
atest com.android.settings.deviceinfo.storage
make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo
make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.deviceinfo.storage
Change-Id: I8361c29bc240c519c7261b19522c41439479c1c2
Merged-In: I8361c29bc240c519c7261b19522c41439479c1c2
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java
index fd67aa8..7614070 100644
--- a/src/com/android/settings/Utils.java
+++ b/src/com/android/settings/Utils.java
@@ -469,6 +469,19 @@
return UserHandle.USER_NULL;
}
+ /** Returns user ID of current user, throws IllegalStateException if it's not available. */
+ public static int getCurrentUserId(UserManager userManager, boolean isWorkProfile)
+ throws IllegalStateException {
+ if (isWorkProfile) {
+ final UserHandle managedUserHandle = getManagedProfile(userManager);
+ if (managedUserHandle == null) {
+ throw new IllegalStateException("Work profile user ID is not available.");
+ }
+ return managedUserHandle.getIdentifier();
+ }
+ return UserHandle.myUserId();
+ }
+
/**
* Returns the target user for a Settings activity.
* <p>