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
diff --git a/Android.bp b/Android.bp
index df96156..73d0fce 100644
--- a/Android.bp
+++ b/Android.bp
@@ -25,7 +25,6 @@
     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 2946242..374db6a 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.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 @@
         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 @@
 
     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 3936fe6..01d0a74 100644
--- a/src/com/android/launcher3/LauncherAppState.java
+++ b/src/com/android/launcher3/LauncherAppState.java
@@ -188,9 +188,7 @@
         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 e1c1b39..21dce14 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.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.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 @@
     }
 
     /** 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 ba4908c..7ba2dad 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_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 @@
         }
     }
 
-    @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 69f4469..e861961 100644
--- a/src/com/android/launcher3/pm/UserCache.java
+++ b/src/com/android/launcher3/pm/UserCache.java
@@ -26,6 +26,7 @@
 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 @@
         updateCache();
     }
 
-    @WorkerThread
+    @AnyThread
     private void onUsersChanged(Intent intent) {
         MODEL_EXECUTOR.execute(this::updateCache);
         UserHandle user = intent.getParcelableExtra(Intent.EXTRA_USER);
@@ -122,7 +123,7 @@
     }
 
     @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 35fc9f5..467a7ec 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.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 java.util.Collections;
 import java.util.List;
 import java.util.Map;
-import java.util.Objects;
 
 import javax.inject.Inject;
 
@@ -92,32 +85,22 @@
     /**
      * 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);
             }
         }