Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8498f831 authored by Manish Singh's avatar Manish Singh
Browse files

Fix Apps storage page to show apps for selected user only

Currently only the personal and managed profile filters for the
respective profiles. And there's no filter to filter out the apps for
the private profile. This cl adds that filter and sets it for the
private profile user.

Bug: 317159160
Test: manual
Change-Id: Ia19171b1be73a061a598c2365c88e91ad2f8fec8
parent 3207f127
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -76,7 +76,8 @@ public class AppStateClonedAppsBridge extends AppStateBaseBridge{
    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;
+3 −3
Original line number Diff line number Diff line
@@ -231,7 +231,7 @@ public class ApplicationViewHolder extends RecyclerView.ViewHolder {
    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 @@ public class ApplicationViewHolder extends RecyclerView.ViewHolder {
                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 @@ public class ApplicationViewHolder extends RecyclerView.ViewHolder {
                            }
                        }.execute();

                    } else if (entry.isCloned) {
                    } else if (entry.isClonedProfile()) {
                        metricsFeatureProvider.action(context,
                                SettingsEnums.ACTION_DELETE_CLONE_APP);
                        cloneBackend.uninstallClonedApp(packageName, /*allUsers*/ false,
+7 −0
Original line number Diff line number Diff line
@@ -295,6 +295,7 @@ public class ManageApplications extends InstrumentedFragment
    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 @@ public class ManageApplications extends InstrumentedFragment
                == 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 @@ public class ManageApplications extends InstrumentedFragment
        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);