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

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

Merge "Update storage usage progress bar summary text" into sc-dev

parents 33115020 7a43ffde
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -11814,9 +11814,9 @@
    <string name="storage_percent_full">used</string>
    <!-- Summary of a single storage volume used space. [CHAR LIMIT=24] -->
    <string name="storage_usage_summary"><xliff:g id="number" example="128">%1$s</xliff:g> <xliff:g id="unit" example="KB">%2$s</xliff:g> used</string>
    <string name="storage_usage_summary"><xliff:g id="number" example="128">%1$s</xliff:g> <xliff:g id="unit" example="KB">%2$s</xliff:g></string>
    <!-- Summary of a single storage volume total space. [CHAR LIMIT=24] -->
    <string name="storage_total_summary">Total <xliff:g id="number" example="128">%1$s</xliff:g> <xliff:g id="unit" example="KB">%2$s</xliff:g></string>
    <string name="storage_total_summary"><xliff:g id="percentage" example="54%">%1$s</xliff:g> used of <xliff:g id="number" example="128">%2$s</xliff:g> <xliff:g id="unit" example="KB">%3$s</xliff:g></string>
    <!-- Label for button allow user to remove the instant app from the device. -->
    <string name="clear_instant_app_data">Clear app</string>
+15 −9
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;

import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.core.BasePreferenceController;
import com.android.settingslib.utils.ThreadUtils;
import com.android.settingslib.widget.UsageProgressBarPreference;
@@ -101,24 +102,29 @@ public class StorageUsageProgressBarPreferenceController extends BasePreferenceC
            if (mUsageProgressBarPreference == null) {
                return;
            }
            ThreadUtils.postOnMainThread(() ->
                    updateState(mUsageProgressBarPreference)
            );
            ThreadUtils.postOnMainThread(() -> updateState(mUsageProgressBarPreference));
        });
    }

    @Override
    public void updateState(Preference preference) {
        final Formatter.BytesResult usedResult = getBytesResult(mUsedBytes);
        mUsageProgressBarPreference.setUsageSummary(
                getStorageSummary(R.string.storage_usage_summary, mUsedBytes));
                mContext.getString(R.string.storage_usage_summary,
                usedResult.value, usedResult.units));

        final String percentageString = mTotalBytes == 0L
                ? Utils.formatPercentage(0)
                : Utils.formatPercentage((mUsedBytes * 100) / mTotalBytes, true /* round */);
        final Formatter.BytesResult totalResult = getBytesResult(mTotalBytes);
        mUsageProgressBarPreference.setTotalSummary(
                getStorageSummary(R.string.storage_total_summary, mTotalBytes));
                mContext.getString(R.string.storage_total_summary, percentageString,
                totalResult.value, totalResult.units));

        mUsageProgressBarPreference.setPercent(mUsedBytes, mTotalBytes);
    }

    private String getStorageSummary(int resId, long bytes) {
        final Formatter.BytesResult result = Formatter.formatBytes(mContext.getResources(),
                bytes, 0);
        return mContext.getString(resId, result.value, result.units);
    private Formatter.BytesResult getBytesResult(long bytes) {
        return Formatter.formatBytes(mContext.getResources(), bytes, Formatter.FLAG_SHORTER);
    }
}