diff options
author | 2024-11-14 06:11:08 +0000 | |
---|---|---|
committer | 2024-11-14 06:11:15 +0000 | |
commit | 41743bd0c7e956784c21af67293f2dfee43f8635 (patch) | |
tree | 2977436e915216324dbecd7df4ad68276437d559 | |
parent | 39dee43e12e27171cd13cbb6a7c397fd96fc2da2 (diff) |
Revert "Listen to LauncherUserInfo config changes and hide/unhid..."
Revert submission 29352757-update-usericoninfo
Reason for revert: <DroidMonitor created revert due to b/379000263. Will be verified through ABTD for standard investigation.>
Reverted changes: /q/submissionid:29352757-update-usericoninfo
Change-Id: I751536274ec9dcc4047bf9c76b3a5cab258da6e4
-rw-r--r-- | Android.bp | 1 | ||||
-rw-r--r-- | quickstep/src/com/android/launcher3/uioverrides/SystemApiWrapper.kt | 28 | ||||
-rw-r--r-- | src/com/android/launcher3/LauncherAppState.java | 4 | ||||
-rw-r--r-- | src/com/android/launcher3/allapps/PrivateProfileManager.java | 19 | ||||
-rw-r--r-- | src/com/android/launcher3/model/ModelLauncherCallbacks.kt | 14 | ||||
-rw-r--r-- | src/com/android/launcher3/pm/UserCache.java | 5 | ||||
-rw-r--r-- | src/com/android/launcher3/util/ApiWrapper.java | 33 |
7 files changed, 24 insertions, 80 deletions
diff --git a/Android.bp b/Android.bp index df9615631f..73d0fce260 100644 --- a/Android.bp +++ b/Android.bp @@ -25,7 +25,6 @@ java_defaults { name: "launcher-non-platform-apis-defaults", static_libs: [ "android.os.flags-aconfig-java", - "android.multiuser.flags-aconfig-java", "android.appwidget.flags-aconfig-java", "com.android.window.flags.window-aconfig-java", ], diff --git a/quickstep/src/com/android/launcher3/uioverrides/SystemApiWrapper.kt b/quickstep/src/com/android/launcher3/uioverrides/SystemApiWrapper.kt index 2946242ac7..374db6ae6f 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/SystemApiWrapper.kt +++ b/quickstep/src/com/android/launcher3/uioverrides/SystemApiWrapper.kt @@ -27,7 +27,6 @@ import android.content.pm.ApplicationInfo import android.content.pm.LauncherActivityInfo import android.content.pm.LauncherApps import android.content.pm.ShortcutInfo -import android.multiuser.Flags.addLauncherUserConfig import android.os.Bundle import android.os.Flags.allowPrivateProfile import android.os.IBinder @@ -75,14 +74,16 @@ open class SystemApiWrapper @Inject constructor(@ApplicationContext context: Con mContext.getSystemService(UserManager::class.java)!!.userProfiles?.forEach { user -> mContext.getSystemService(LauncherApps::class.java)!!.getLauncherUserInfo(user)?.apply { users[user] = - if (addLauncherUserConfig()) - UserIconInfo( - user, - getUserIconType(userType), - userSerialNumber.toLong(), - userConfig, - ) - else UserIconInfo(user, getUserIconType(userType), userSerialNumber.toLong()) + UserIconInfo( + user, + when (userType) { + UserManager.USER_TYPE_PROFILE_MANAGED -> UserIconInfo.TYPE_WORK + UserManager.USER_TYPE_PROFILE_CLONE -> UserIconInfo.TYPE_CLONED + UserManager.USER_TYPE_PROFILE_PRIVATE -> UserIconInfo.TYPE_PRIVATE + else -> UserIconInfo.TYPE_MAIN + }, + userSerialNumber.toLong(), + ) } } return users @@ -191,13 +192,4 @@ open class SystemApiWrapper @Inject constructor(@ApplicationContext context: Con override fun getApplicationInfoHash(appInfo: ApplicationInfo): String = (appInfo.sourceDir?.hashCode() ?: 0).toString() + " " + appInfo.longVersionCode - - fun getUserIconType(userType: String): Int { - return when (userType) { - UserManager.USER_TYPE_PROFILE_MANAGED -> UserIconInfo.TYPE_WORK - UserManager.USER_TYPE_PROFILE_CLONE -> UserIconInfo.TYPE_CLONED - UserManager.USER_TYPE_PROFILE_PRIVATE -> UserIconInfo.TYPE_PRIVATE - else -> UserIconInfo.TYPE_MAIN - } - } } diff --git a/src/com/android/launcher3/LauncherAppState.java b/src/com/android/launcher3/LauncherAppState.java index 3936fe6564..01d0a740d7 100644 --- a/src/com/android/launcher3/LauncherAppState.java +++ b/src/com/android/launcher3/LauncherAppState.java @@ -188,9 +188,7 @@ public class LauncherAppState implements SafeCloseable { mOnTerminateCallback.add(() -> settingsCache.unregister(NOTIFICATION_BADGING_URI, notificationLister)); // Register an observer to notify Launcher about Private Space settings toggle. - if (!android.multiuser.Flags.addLauncherUserConfig()) { - registerPrivateSpaceHideWhenLockListener(settingsCache); - } + registerPrivateSpaceHideWhenLockListener(settingsCache); } public LauncherAppState(Context context, @Nullable String iconCacheFileName) { diff --git a/src/com/android/launcher3/allapps/PrivateProfileManager.java b/src/com/android/launcher3/allapps/PrivateProfileManager.java index e1c1b39493..21dce14bbf 100644 --- a/src/com/android/launcher3/allapps/PrivateProfileManager.java +++ b/src/com/android/launcher3/allapps/PrivateProfileManager.java @@ -16,7 +16,6 @@ package com.android.launcher3.allapps; -import static android.content.pm.LauncherUserInfo.PRIVATE_SPACE_ENTRYPOINT_HIDDEN; import static android.view.View.GONE; import static android.view.View.INVISIBLE; import static android.view.View.VISIBLE; @@ -44,7 +43,6 @@ import android.animation.AnimatorListenerAdapter; import android.animation.AnimatorSet; import android.animation.ObjectAnimator; import android.animation.ValueAnimator; -import android.annotation.SuppressLint; import android.content.Context; import android.content.Intent; import android.os.UserHandle; @@ -80,13 +78,11 @@ import com.android.launcher3.pm.UserCache; import com.android.launcher3.util.ApiWrapper; import com.android.launcher3.util.Preconditions; import com.android.launcher3.util.SettingsCache; -import com.android.launcher3.util.UserIconInfo; import com.android.launcher3.views.ActivityContext; import com.android.launcher3.views.RecyclerViewFastScroller; import java.util.ArrayList; import java.util.List; -import java.util.Objects; import java.util.function.Predicate; /** @@ -213,20 +209,9 @@ public class PrivateProfileManager extends UserProfileManager { } /** Whether private profile should be hidden on Launcher. */ - @SuppressLint("NewApi") public boolean isPrivateSpaceHidden() { - UserHandle profileHandle = getProfileUser(); - if (android.multiuser.Flags.addLauncherUserConfig() && !Objects.isNull(profileHandle)) { - UserIconInfo userInconInfo = UserCache.INSTANCE.get(mAllApps.getContext()).getUserInfo( - profileHandle); - - return getCurrentState() == STATE_DISABLED && userInconInfo.getUserConfig().getBoolean( - PRIVATE_SPACE_ENTRYPOINT_HIDDEN, false); - } - - return getCurrentState() == STATE_DISABLED && SettingsCache.INSTANCE.get( - mAllApps.getContext()).getValue(PRIVATE_SPACE_HIDE_WHEN_LOCKED_URI, 0); - + return getCurrentState() == STATE_DISABLED && SettingsCache.INSTANCE + .get(mAllApps.getContext()).getValue(PRIVATE_SPACE_HIDE_WHEN_LOCKED_URI, 0); } /** diff --git a/src/com/android/launcher3/model/ModelLauncherCallbacks.kt b/src/com/android/launcher3/model/ModelLauncherCallbacks.kt index ba4908ca8a..7ba2dad553 100644 --- a/src/com/android/launcher3/model/ModelLauncherCallbacks.kt +++ b/src/com/android/launcher3/model/ModelLauncherCallbacks.kt @@ -16,9 +16,7 @@ package com.android.launcher3.model -import android.annotation.SuppressLint import android.content.pm.LauncherApps -import android.content.pm.LauncherUserInfo import android.content.pm.PackageInstaller.SessionInfo import android.content.pm.ShortcutInfo import android.os.UserHandle @@ -34,7 +32,6 @@ import com.android.launcher3.model.PackageUpdatedTask.OP_UNSUSPEND import com.android.launcher3.model.PackageUpdatedTask.OP_UPDATE import com.android.launcher3.pm.InstallSessionTracker import com.android.launcher3.pm.PackageInstallInfo -import com.android.launcher3.pm.UserCache import com.android.launcher3.util.PackageUserKey import java.util.function.Consumer @@ -137,17 +134,6 @@ class ModelLauncherCallbacks(private var taskExecutor: Consumer<ModelUpdateTask> } } - @SuppressLint("NewApi") - override fun onUserConfigChanged(launcherUserInfo: LauncherUserInfo) { - FileLog.d(TAG, "onUserConfigChanged for user ${launcherUserInfo.userType}") - if (android.multiuser.Flags.addLauncherUserConfig()) { - taskExecutor.accept { taskController, _, _ -> - UserCache.INSTANCE.get(taskController.app.context).updateCache() - taskController.app.model.forceReload() - } - } - } - companion object { private const val TAG = "LauncherAppsCallbackImpl" } diff --git a/src/com/android/launcher3/pm/UserCache.java b/src/com/android/launcher3/pm/UserCache.java index 69f4469e02..e8619610a8 100644 --- a/src/com/android/launcher3/pm/UserCache.java +++ b/src/com/android/launcher3/pm/UserCache.java @@ -26,6 +26,7 @@ import android.os.UserHandle; import android.os.UserManager; import android.util.ArrayMap; +import androidx.annotation.AnyThread; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; @@ -110,7 +111,7 @@ public class UserCache implements SafeCloseable { updateCache(); } - @WorkerThread + @AnyThread private void onUsersChanged(Intent intent) { MODEL_EXECUTOR.execute(this::updateCache); UserHandle user = intent.getParcelableExtra(Intent.EXTRA_USER); @@ -122,7 +123,7 @@ public class UserCache implements SafeCloseable { } @WorkerThread - public void updateCache() { + private void updateCache() { mUserToSerialMap = ApiWrapper.INSTANCE.get(mContext).queryAllUsers(); mUserToPreInstallAppMap = fetchPreInstallApps(); } diff --git a/src/com/android/launcher3/util/ApiWrapper.java b/src/com/android/launcher3/util/ApiWrapper.java index 35fc9f5d80..467a7ec54f 100644 --- a/src/com/android/launcher3/util/ApiWrapper.java +++ b/src/com/android/launcher3/util/ApiWrapper.java @@ -16,11 +16,8 @@ package com.android.launcher3.util; -import static android.multiuser.Flags.addLauncherUserConfig; - import static com.android.launcher3.LauncherConstants.ActivityCodes.REQUEST_HOME_ROLE; -import android.annotation.SuppressLint; import android.app.ActivityOptions; import android.app.Person; import android.app.role.RoleManager; @@ -28,12 +25,9 @@ import android.content.Context; import android.content.Intent; import android.content.pm.ApplicationInfo; import android.content.pm.LauncherActivityInfo; -import android.content.pm.LauncherApps; -import android.content.pm.LauncherUserInfo; import android.content.pm.ShortcutInfo; import android.graphics.drawable.ColorDrawable; import android.net.Uri; -import android.os.Build; import android.os.UserHandle; import android.os.UserManager; import android.util.ArrayMap; @@ -51,7 +45,6 @@ import com.android.launcher3.dagger.LauncherAppSingleton; import java.util.Collections; import java.util.List; import java.util.Map; -import java.util.Objects; import javax.inject.Inject; @@ -92,32 +85,22 @@ public class ApiWrapper { /** * Returns a map of all users on the device to their corresponding UI properties */ - @SuppressLint("NewApi") public Map<UserHandle, UserIconInfo> queryAllUsers() { UserManager um = mContext.getSystemService(UserManager.class); Map<UserHandle, UserIconInfo> users = new ArrayMap<>(); List<UserHandle> usersActual = um.getUserProfiles(); if (usersActual != null) { for (UserHandle user : usersActual) { + long serial = um.getSerialNumberForUser(user); + + // Simple check to check if the provided user is work profile + // TODO: Migrate to a better platform API NoopDrawable d = new NoopDrawable(); boolean isWork = (d != mContext.getPackageManager().getUserBadgedIcon(d, user)); - UserIconInfo info; - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.VANILLA_ICE_CREAM) { - LauncherUserInfo userInfo = Objects.requireNonNull( - mContext.getSystemService(LauncherApps.class)).getLauncherUserInfo( - user); - long serial = Objects.requireNonNull(userInfo).getUserSerialNumber(); - info = addLauncherUserConfig() ? new UserIconInfo(user, - isWork ? UserIconInfo.TYPE_WORK : UserIconInfo.TYPE_MAIN, serial, - userInfo.getUserConfig()) : new UserIconInfo(user, - isWork ? UserIconInfo.TYPE_WORK : UserIconInfo.TYPE_MAIN, serial); - } else { - long serial = um.getSerialNumberForUser(user); - // Simple check to check if the provided user is work profile - // TODO: Migrate to a better platform API - info = new UserIconInfo(user, - isWork ? UserIconInfo.TYPE_WORK : UserIconInfo.TYPE_MAIN, serial); - } + UserIconInfo info = new UserIconInfo( + user, + isWork ? UserIconInfo.TYPE_WORK : UserIconInfo.TYPE_MAIN, + serial); users.put(user, info); } } |