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

Commit 8ec65026 authored by YUKAI HUNG's avatar YUKAI HUNG Committed by Android (Google) Code Review
Browse files

Merge "Wrap and carry clicked slot information data for restriction page" into sc-dev

parents 4cc4b47a 75c5fc59
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -113,6 +113,7 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
        private String mUsagePercent;
        private String mPackageName;
        private String mAppLabel;
        private String mSlotInformation;
        private int mUid;
        private int mIconId;
        private int mConsumedPower;
@@ -124,18 +125,22 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
    /** Launches battery details page for an individual battery consumer. */
    public static void startBatteryDetailPage(
            Activity caller, InstrumentedPreferenceFragment fragment,
            BatteryDiffEntry diffEntry, String usagePercent) {
            BatteryDiffEntry diffEntry, String usagePercent,
            boolean isValidToShowSummary, String slotInformation) {
        final BatteryHistEntry histEntry = diffEntry.mBatteryHistEntry;
        final LaunchBatteryDetailPageArgs launchArgs = new LaunchBatteryDetailPageArgs();
        // configure the launch argument.
        launchArgs.mUsagePercent = usagePercent;
        launchArgs.mPackageName = diffEntry.getPackageName();
        launchArgs.mAppLabel = diffEntry.getAppLabel();
        launchArgs.mSlotInformation = slotInformation;
        launchArgs.mUid = (int) histEntry.mUid;
        launchArgs.mIconId = diffEntry.getAppIconId();
        launchArgs.mConsumedPower = (int) diffEntry.mConsumePower;
        launchArgs.mForegroundTimeMs = diffEntry.mForegroundUsageTimeInMs;
        launchArgs.mBackgroundTimeMs = diffEntry.mBackgroundUsageTimeInMs;
        launchArgs.mForegroundTimeMs =
            isValidToShowSummary ? diffEntry.mForegroundUsageTimeInMs : 0;
        launchArgs.mBackgroundTimeMs =
            isValidToShowSummary ? diffEntry.mBackgroundUsageTimeInMs : 0;
        launchArgs.mIsUserEntry = histEntry.isUserEntry();
        startBatteryDetailPage(caller, fragment, launchArgs);
    }
+21 −11
Original line number Diff line number Diff line
@@ -151,21 +151,22 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll
        final PowerGaugePreference powerPref = (PowerGaugePreference) preference;
        final BatteryDiffEntry diffEntry = powerPref.getBatteryDiffEntry();
        final BatteryHistEntry histEntry = diffEntry.mBatteryHistEntry;
        final String packageName = histEntry.mPackageName;
        // Checks whether the package is installed or not.
        boolean isValidPackage = true;
        if (histEntry.isAppEntry()) {
            if (mBatteryUtils == null) {
                mBatteryUtils = BatteryUtils.getInstance(mPrefContext);
            }
            isValidPackage = mBatteryUtils.getPackageUid(histEntry.mPackageName)
            isValidPackage = mBatteryUtils.getPackageUid(packageName)
                != BatteryUtils.UID_NULL;
        }
        Log.d(TAG, String.format("handleClick() label=%s key=%s isValid:%b %s",
            diffEntry.getAppLabel(), histEntry.getKey(), isValidPackage,
            histEntry.mPackageName));
            diffEntry.getAppLabel(), histEntry.getKey(), isValidPackage, packageName));
        if (isValidPackage) {
            AdvancedPowerUsageDetail.startBatteryDetailPage(
                mActivity, mFragment, diffEntry, powerPref.getPercent());
                mActivity, mFragment, diffEntry, powerPref.getPercent(),
                isValidToShowSummary(packageName), getSlotInformation());
            return true;
        }
        return false;
@@ -267,8 +268,8 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll
                || (mTrapezoidIndex == trapezoidIndex && !isForce)) {
            return false;
        }
        Log.d(TAG, String.format("refreshUi: index=%d batteryIndexedMap.size=%d",
            mTrapezoidIndex, mBatteryIndexedMap.size()));
        Log.d(TAG, String.format("refreshUi: index=%d size=%d isForce:%b",
            trapezoidIndex, mBatteryIndexedMap.size(), isForce));

        mTrapezoidIndex = trapezoidIndex;
        mHandler.post(() -> {
@@ -471,12 +472,10 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll
        final long backgroundUsageTimeInMs = entry.mBackgroundUsageTimeInMs;
        final long totalUsageTimeInMs = foregroundUsageTimeInMs + backgroundUsageTimeInMs;
        // Checks whether the package is allowed to show summary or not.
        for (CharSequence notAllowPackageName : mNotAllowShowSummaryPackages) {
            if (TextUtils.equals(entry.getPackageName(), notAllowPackageName)) {
        if (!isValidToShowSummary(entry.getPackageName())) {
            preference.setSummary(null);
            return;
        }
        }
        String usageTimeSummary = null;
        // Not shows summary for some system components without usage time.
        if (totalUsageTimeInMs == 0) {
@@ -515,6 +514,17 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll
        return mPrefContext.getString(resourceId, timeSequence);
    }

    private boolean isValidToShowSummary(String packageName) {
        if (mNotAllowShowSummaryPackages != null) {
            for (CharSequence notAllowPackageName : mNotAllowShowSummaryPackages) {
                if (TextUtils.equals(packageName, notAllowPackageName)) {
                    return false;
                }
            }
        }
        return true;
    }

    private static String utcToLocalTime(long[] timestamps) {
        final StringBuilder builder = new StringBuilder();
        for (int index = 0; index < timestamps.length; index++) {
+3 −0
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ public class ExpandDividerPreference extends Preference {
    private OnExpandListener mOnExpandListener;

    private boolean mIsExpanded = false;
    private String mTitleContent = null;

    /** A callback listener for expand state is changed by users. */
    public interface OnExpandListener {
@@ -72,6 +73,7 @@ public class ExpandDividerPreference extends Preference {
    }

    void setTitle(final String titleContent) {
        mTitleContent = titleContent;
        if (mTextView != null) {
            mTextView.postDelayed(
                () -> mTextView.setText(titleContent), 50);
@@ -95,5 +97,6 @@ public class ExpandDividerPreference extends Preference {
        if (mImageView != null) {
            mImageView.setImageResource(iconId);
        }
        setTitle(mTitleContent);
    }
}