Update "Unused apps" load-in UI
Update the UI for the "Unused apps" preference to update with the loaded number of unused apps instead of having the entire preference animate in. Bug: 187996287 Test: manual Test: atest HibernatedAppsPreferenceControllerTest Change-Id: I1c6998de4daaf4d8678a3ffdaf83f5d2417fa68d
This commit is contained in:
@@ -61,6 +61,7 @@ public final class HibernatedAppsPreferenceController extends BasePreferenceCont
|
|||||||
private PreferenceScreen mScreen;
|
private PreferenceScreen mScreen;
|
||||||
private int mUnusedCount = 0;
|
private int mUnusedCount = 0;
|
||||||
private boolean mLoadingUnusedApps;
|
private boolean mLoadingUnusedApps;
|
||||||
|
private boolean mLoadedUnusedCount;
|
||||||
private final Executor mBackgroundExecutor;
|
private final Executor mBackgroundExecutor;
|
||||||
private final Executor mMainExecutor;
|
private final Executor mMainExecutor;
|
||||||
|
|
||||||
@@ -79,14 +80,15 @@ public final class HibernatedAppsPreferenceController extends BasePreferenceCont
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getAvailabilityStatus() {
|
public int getAvailabilityStatus() {
|
||||||
return isHibernationEnabled() && mUnusedCount > 0
|
return isHibernationEnabled() ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
|
||||||
? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CharSequence getSummary() {
|
public CharSequence getSummary() {
|
||||||
return mContext.getResources().getQuantityString(
|
return mLoadedUnusedCount
|
||||||
R.plurals.unused_apps_summary, mUnusedCount, mUnusedCount);
|
? mContext.getResources().getQuantityString(
|
||||||
|
R.plurals.unused_apps_summary, mUnusedCount, mUnusedCount)
|
||||||
|
: mContext.getResources().getString(R.string.summary_placeholder);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -111,8 +113,8 @@ public final class HibernatedAppsPreferenceController extends BasePreferenceCont
|
|||||||
loadUnusedCount(unusedCount -> {
|
loadUnusedCount(unusedCount -> {
|
||||||
mUnusedCount = unusedCount;
|
mUnusedCount = unusedCount;
|
||||||
mLoadingUnusedApps = false;
|
mLoadingUnusedApps = false;
|
||||||
|
mLoadedUnusedCount = true;
|
||||||
mMainExecutor.execute(() -> {
|
mMainExecutor.execute(() -> {
|
||||||
super.displayPreference(mScreen);
|
|
||||||
Preference pref = mScreen.findPreference(mPreferenceKey);
|
Preference pref = mScreen.findPreference(mPreferenceKey);
|
||||||
refreshSummary(pref);
|
refreshSummary(pref);
|
||||||
});
|
});
|
||||||
|
Reference in New Issue
Block a user