Merge "Fix Storage Settings progress bar summary jank problem" into sc-dev am: 3a77c9c9e4
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14514140 Change-Id: Ic700afae3c43260fa38f7bff0bf62cb331ab34c5
This commit is contained in:
@@ -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(
|
||||
|
Reference in New Issue
Block a user