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

Commit 00e677e1 authored by Automerger Merge Worker's avatar Automerger Merge Worker
Browse files

Merge "Merge "Cache label description to improve scrolling of App Info page"...

Merge "Merge "Cache label description to improve scrolling of App Info page" into rvc-dev am: cc49bc33 am: 95ac225f am: c753d0dd" into rvc-qpr-dev-plus-aosp am: f99a9795

Change-Id: Ic55678a68e01fde16a4f7593d2ce17a2f8fb071f
parents ae0f7fc7 f99a9795
Loading
Loading
Loading
Loading
+33 −0
Original line number Diff line number Diff line
@@ -500,6 +500,20 @@ public class ApplicationsState {
        }
    }

    /**
     * To generate and cache the label description.
     *
     * @param entry contain the entries of an app
     */
    public void ensureLabelDescription(AppEntry entry) {
        if (entry.labelDescription != null) {
            return;
        }
        synchronized (entry) {
            entry.ensureLabelDescriptionLocked(mContext);
        }
    }

    public void requestSize(String packageName, int userId) {
        if (DEBUG_LOCKING) Log.v(TAG, "requestSize about to acquire lock...");
        synchronized (mEntriesMap) {
@@ -1524,6 +1538,7 @@ public class ApplicationsState {
        public long size;
        public long internalSize;
        public long externalSize;
        public String labelDescription;

        public boolean mounted;

@@ -1616,6 +1631,24 @@ public class ApplicationsState {
                return "";
            }
        }

        /**
         * Get the label description which distinguishes a personal app from a work app for
         * accessibility purpose. If the app is in a work profile, then add a "work" prefix to the
         * app label.
         *
         * @param context The application context
         */
        public void ensureLabelDescriptionLocked(Context context) {
            final int userId = UserHandle.getUserId(this.info.uid);
            if (UserManager.get(context).isManagedProfile(userId)) {
                this.labelDescription = context.getString(
                        com.android.settingslib.R.string.accessibility_work_profile_app_description,
                        this.label);
            } else {
                this.labelDescription = this.label;
            }
        }
    }

    private static boolean hasFlag(int flags, int flag) {