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

Commit 058c88bf authored by Stefan Andonian's avatar Stefan Andonian Committed by Automerger Merge Worker
Browse files

Merge "Fix folder app icon truncation after rotating to landscape." into...

Merge "Fix folder app icon truncation after rotating to landscape." into tm-dev am: af8b7d33 am: 2e8f2e19

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/18090271



Change-Id: I30e4c6c0884721519ecf5167f0b8c6aa68c18911
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents ded505e5 2e8f2e19
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -37,4 +37,5 @@

    <item type="id" name="quick_settings_button" />
    <item type="id" name="notifications_button" />
    <item type="id" name="cache_entry_tag_id" />
</resources>
+14 −4
Original line number Diff line number Diff line
@@ -21,6 +21,8 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.android.launcher3.R;

/**
 * Utility class to cache views at an activity level
 */
@@ -39,18 +41,26 @@ public class ViewCache {
            mCache.put(layoutId, entry);
        }

        T result;
        if (entry.mCurrentSize > 0) {
            entry.mCurrentSize --;
            T result = (T) entry.mViews[entry.mCurrentSize];
            result = (T) entry.mViews[entry.mCurrentSize];
            entry.mViews[entry.mCurrentSize] = null;
            return result;
        } else {
            result = (T) LayoutInflater.from(context).inflate(layoutId, parent, false);
            result.setTag(R.id.cache_entry_tag_id, entry);
        }

        return (T) LayoutInflater.from(context).inflate(layoutId, parent, false);
        return result;
    }

    public void recycleView(int layoutId, View view) {
        CacheEntry entry = mCache.get(layoutId);
        if (entry != view.getTag(R.id.cache_entry_tag_id)) {
            // Since this view was created, the cache has been reset. The view should not be
            // recycled since this means the environment could also have changed, requiring new
            // view setup.
            return;
        }
        if (entry != null && entry.mCurrentSize < entry.mMaxSize) {
            entry.mViews[entry.mCurrentSize] = view;
            entry.mCurrentSize++;