Merge "Fix Apps storage page to show apps for selected user only" into main
diff --git a/src/com/android/settings/applications/AppStateClonedAppsBridge.java b/src/com/android/settings/applications/AppStateClonedAppsBridge.java
index 719023d1..de0251d 100644
--- a/src/com/android/settings/applications/AppStateClonedAppsBridge.java
+++ b/src/com/android/settings/applications/AppStateClonedAppsBridge.java
@@ -76,7 +76,8 @@
     protected void updateExtraInfo(AppEntry app, String pkg, int uid) {
         // Display package if allowlisted but not yet cloned.
         // Or if the app is present in clone profile alongwith being in allowlist.
-        if (mAllowedApps.contains(pkg) && ((!mCloneProfileApps.contains(pkg) || (app.isCloned)))) {
+        if (mAllowedApps.contains(pkg)
+                && ((!mCloneProfileApps.contains(pkg) || (app.isClonedProfile())))) {
             app.extraInfo = Boolean.TRUE;
         } else {
             app.extraInfo = Boolean.FALSE;
diff --git a/src/com/android/settings/applications/manageapplications/ApplicationViewHolder.java b/src/com/android/settings/applications/manageapplications/ApplicationViewHolder.java
index 1d96688..cd3fd6b 100644
--- a/src/com/android/settings/applications/manageapplications/ApplicationViewHolder.java
+++ b/src/com/android/settings/applications/manageapplications/ApplicationViewHolder.java
@@ -231,7 +231,7 @@
     void updateAppCloneWidget(Context context, View.OnClickListener onClickListener,
             AppEntry entry) {
         if (mAddIcon != null) {
-            if (!entry.isCloned) {
+            if (!entry.isClonedProfile()) {
                 mAddIcon.setBackground(context.getDrawable(R.drawable.ic_add_24dp));
             } else {
                 mAddIcon.setBackground(context.getDrawable(R.drawable.ic_trash_can));
@@ -254,7 +254,7 @@
                 String packageName = entry.info.packageName;
 
                 if (mWidgetContainer != null) {
-                    if (!entry.isCloned) {
+                    if (!entry.isClonedProfile()) {
                         metricsFeatureProvider.action(context,
                                 SettingsEnums.ACTION_CREATE_CLONE_APP);
                         mAddIcon.setVisibility(View.INVISIBLE);
@@ -285,7 +285,7 @@
                             }
                         }.execute();
 
-                    } else if (entry.isCloned) {
+                    } else if (entry.isClonedProfile()) {
                         metricsFeatureProvider.action(context,
                                 SettingsEnums.ACTION_DELETE_CLONE_APP);
                         cloneBackend.uninstallClonedApp(packageName, /*allUsers*/ false,
diff --git a/src/com/android/settings/applications/manageapplications/ManageApplications.java b/src/com/android/settings/applications/manageapplications/ManageApplications.java
index e370f3e..c2fabff 100644
--- a/src/com/android/settings/applications/manageapplications/ManageApplications.java
+++ b/src/com/android/settings/applications/manageapplications/ManageApplications.java
@@ -295,6 +295,7 @@
     private String mVolumeUuid;
     private int mStorageType;
     private boolean mIsWorkOnly;
+    private boolean mIsPrivateProfileOnly;
     private int mWorkUserId;
     private boolean mIsPersonalOnly;
     private View mEmptyView;
@@ -378,6 +379,8 @@
                 == ProfileSelectFragment.ProfileType.PERSONAL;
         mIsWorkOnly = args != null && args.getInt(ProfileSelectFragment.EXTRA_PROFILE)
                 == ProfileSelectFragment.ProfileType.WORK;
+        mIsPrivateProfileOnly = args != null && args.getInt(ProfileSelectFragment.EXTRA_PROFILE)
+                == ProfileSelectFragment.ProfileType.PRIVATE;
         mWorkUserId = args != null ? args.getInt(EXTRA_WORK_ID) : UserHandle.myUserId();
         if (mIsWorkOnly && mWorkUserId == UserHandle.myUserId()) {
             mWorkUserId = Utils.getManagedProfileId(mUserManager, UserHandle.myUserId());
@@ -660,6 +663,10 @@
         if (mIsWorkOnly) {
             compositeFilter = new CompoundFilter(compositeFilter, ApplicationsState.FILTER_WORK);
         }
+        if (mIsPrivateProfileOnly) {
+            compositeFilter =
+                    new CompoundFilter(compositeFilter, ApplicationsState.FILTER_PRIVATE_PROFILE);
+        }
         if (mIsPersonalOnly) {
             compositeFilter = new CompoundFilter(compositeFilter,
                     ApplicationsState.FILTER_PERSONAL);