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

Commit 3a77c9c9 authored by Arc Wang's avatar Arc Wang Committed by Android (Google) Code Review
Browse files

Merge "Fix Storage Settings progress bar summary jank problem" into sc-dev

parents 9351dde1 76cf622e
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -47,6 +47,7 @@ public class StorageUsageProgressBarPreferenceController extends BasePreferenceC
    long mTotalBytes;
    private UsageProgressBarPreference mUsageProgressBarPreference;
    private StorageEntry mStorageEntry;
    boolean mIsUpdateStateFromSelectedStorageEntry;

    public StorageUsageProgressBarPreferenceController(Context context, String key) {
        super(context, key);
@@ -68,7 +69,6 @@ public class StorageUsageProgressBarPreferenceController extends BasePreferenceC
    @Override
    public void displayPreference(PreferenceScreen screen) {
        mUsageProgressBarPreference = screen.findPreference(getPreferenceKey());
        getStorageStatsAndUpdateUi();
    }

    private void getStorageStatsAndUpdateUi() {
@@ -101,12 +101,18 @@ public class StorageUsageProgressBarPreferenceController extends BasePreferenceC
            if (mUsageProgressBarPreference == null) {
                return;
            }
            mIsUpdateStateFromSelectedStorageEntry = true;
            ThreadUtils.postOnMainThread(() -> updateState(mUsageProgressBarPreference));
        });
    }

    @Override
    public void updateState(Preference preference) {
        if (!mIsUpdateStateFromSelectedStorageEntry) {
            // Returns here to avoid jank by unnecessary UI update.
            return;
        }
        mIsUpdateStateFromSelectedStorageEntry = false;
        mUsageProgressBarPreference.setUsageSummary(
                getStorageSummary(R.string.storage_usage_summary, mUsedBytes));
        mUsageProgressBarPreference.setTotalSummary(