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

Commit 43f436e0 authored by Jun Lan's avatar Jun Lan Committed by Android (Google) Code Review
Browse files

Merge "Format battery java code" into main

parents 75de0f5a cca804e1
Loading
Loading
Loading
Loading
+95 −73
Original line number Diff line number Diff line
@@ -61,13 +61,13 @@ import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/**
 * Power usage detail fragment for each app, this fragment contains
 *
 * 1. Detail battery usage information for app(i.e. usage time, usage amount)
 * Power usage detail fragment for each app, this fragment contains <br>
 * <br>
 * 1. Detail battery usage information for app(i.e. usage time, usage amount) <br>
 * 2. Battery related controls for app(i.e uninstall, force stop)
 */
public class AdvancedPowerUsageDetail extends DashboardFragment implements
        ButtonActionDialogFragment.AppButtonsDialogListener,
public class AdvancedPowerUsageDetail extends DashboardFragment
        implements ButtonActionDialogFragment.AppButtonsDialogListener,
                Preference.OnPreferenceClickListener,
                Preference.OnPreferenceChangeListener {
    public static final String TAG = "AdvancedPowerDetail";
@@ -96,23 +96,17 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
    private AppButtonsPreferenceController mAppButtonsPreferenceController;
    private PowerUsageTimeController mPowerUsageTimeController;

    @VisibleForTesting
    LayoutPreference mHeaderPreference;
    @VisibleForTesting
    ApplicationsState mState;
    @VisibleForTesting
    ApplicationsState.AppEntry mAppEntry;
    @VisibleForTesting
    BatteryOptimizeUtils mBatteryOptimizeUtils;
    @VisibleForTesting
    PrimarySwitchPreference mAllowBackgroundUsagePreference;
    @VisibleForTesting
    @BatteryOptimizeUtils.OptimizationMode
    @VisibleForTesting LayoutPreference mHeaderPreference;
    @VisibleForTesting ApplicationsState mState;
    @VisibleForTesting ApplicationsState.AppEntry mAppEntry;
    @VisibleForTesting BatteryOptimizeUtils mBatteryOptimizeUtils;
    @VisibleForTesting PrimarySwitchPreference mAllowBackgroundUsagePreference;

    @VisibleForTesting @BatteryOptimizeUtils.OptimizationMode
    int mOptimizationMode = BatteryOptimizeUtils.MODE_UNKNOWN;
    @VisibleForTesting
    BackupManager mBackupManager;
    @VisibleForTesting
    StringBuilder mLogStringBuilder;

    @VisibleForTesting BackupManager mBackupManager;
    @VisibleForTesting StringBuilder mLogStringBuilder;

    // A wrapper class to carry LaunchBatteryDetailPage required arguments.
    private static final class LaunchBatteryDetailPageArgs {
@@ -134,9 +128,14 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements

    /** Launches battery details page for an individual battery consumer fragment. */
    public static void startBatteryDetailPage(
            Context context, int sourceMetricsCategory,
            BatteryDiffEntry diffEntry, String usagePercent, String slotInformation,
            boolean showTimeInformation, String anomalyHintPrefKey, String anomalyHintText) {
            Context context,
            int sourceMetricsCategory,
            BatteryDiffEntry diffEntry,
            String usagePercent,
            String slotInformation,
            boolean showTimeInformation,
            String anomalyHintPrefKey,
            String anomalyHintText) {
        final LaunchBatteryDetailPageArgs launchArgs = new LaunchBatteryDetailPageArgs();
        // configure the launch argument.
        launchArgs.mUsagePercent = usagePercent;
@@ -159,8 +158,11 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
    }

    /** Launches battery details page for an individual battery consumer. */
    public static void startBatteryDetailPage(Activity caller,
            InstrumentedPreferenceFragment fragment, BatteryEntry entry, String usagePercent) {
    public static void startBatteryDetailPage(
            Activity caller,
            InstrumentedPreferenceFragment fragment,
            BatteryEntry entry,
            String usagePercent) {
        final LaunchBatteryDetailPageArgs launchArgs = new LaunchBatteryDetailPageArgs();
        // configure the launch argument.
        launchArgs.mUsagePercent = usagePercent;
@@ -197,7 +199,9 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
        args.putBoolean(EXTRA_SHOW_TIME_INFO, launchArgs.mShowTimeInformation);
        args.putString(EXTRA_ANOMALY_HINT_PREF_KEY, launchArgs.mAnomalyHintPrefKey);
        args.putString(EXTRA_ANOMALY_HINT_TEXT, launchArgs.mAnomalyHintText);
        final int userId = launchArgs.mIsUserEntry ? ActivityManager.getCurrentUser()
        final int userId =
                launchArgs.mIsUserEntry
                        ? ActivityManager.getCurrentUser()
                        : UserHandle.getUserId(launchArgs.mUid);

        new SubSettingLauncher(context)
@@ -209,11 +213,11 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
                .launch();
    }

    /**
     * Start packageName's battery detail page.
     */
    /** Start packageName's battery detail page. */
    public static void startBatteryDetailPage(
            Activity caller, Instrumentable instrumentable, String packageName,
            Activity caller,
            Instrumentable instrumentable,
            String packageName,
            UserHandle userHandle) {
        final Bundle args = new Bundle(3);
        final PackageManager packageManager = caller.getPackageManager();
@@ -261,10 +265,13 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
        initHeader();
        mOptimizationMode = mBatteryOptimizeUtils.getAppOptimizationMode();
        initFooter();
        mExecutor.execute(() -> {
            final String packageName = BatteryUtils
                    .getLoggingPackageName(getContext(), mBatteryOptimizeUtils.getPackageName());
            FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
        mExecutor.execute(
                () -> {
                    final String packageName =
                            BatteryUtils.getLoggingPackageName(
                                    getContext(), mBatteryOptimizeUtils.getPackageName());
                    FeatureFactory.getFeatureFactory()
                            .getMetricsFeatureProvider()
                            .action(
                                    getContext(),
                                    SettingsEnums.OPEN_APP_BATTERY_USAGE,
@@ -282,7 +289,8 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
        mLogStringBuilder.append(", onPause mode = ").append(currentOptimizeMode);
        logMetricCategory(currentOptimizeMode);

        mExecutor.execute(() -> {
        mExecutor.execute(
                () -> {
                    BatteryOptimizeLogUtils.writeLog(
                            getContext().getApplicationContext(),
                            Action.LEAVE,
@@ -296,8 +304,8 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
    @VisibleForTesting
    void notifyBackupManager() {
        if (mOptimizationMode != mBatteryOptimizeUtils.getAppOptimizationMode()) {
            final BackupManager backupManager = mBackupManager != null
                    ? mBackupManager : new BackupManager(getContext());
            final BackupManager backupManager =
                    mBackupManager != null ? mBackupManager : new BackupManager(getContext());
            backupManager.dataChanged();
        }
    }
@@ -307,9 +315,10 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
        final View appSnippet = mHeaderPreference.findViewById(R.id.entity_header);
        final Activity context = getActivity();
        final Bundle bundle = getArguments();
        EntityHeaderController controller = EntityHeaderController
                .newInstance(context, this, appSnippet)
                .setButtonActions(EntityHeaderController.ActionType.ACTION_NONE,
        EntityHeaderController controller =
                EntityHeaderController.newInstance(context, this, appSnippet)
                        .setButtonActions(
                                EntityHeaderController.ActionType.ACTION_NONE,
                                EntityHeaderController.ActionType.ACTION_NONE);

        if (mAppEntry == null) {
@@ -334,8 +343,12 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
            final long backgroundTimeMs = bundle.getLong(EXTRA_BACKGROUND_TIME);
            final String anomalyHintPrefKey = bundle.getString(EXTRA_ANOMALY_HINT_PREF_KEY);
            final String anomalyHintText = bundle.getString(EXTRA_ANOMALY_HINT_TEXT);
            mPowerUsageTimeController.handleScreenTimeUpdated(slotTime, screenOnTimeInMs,
                    backgroundTimeMs, anomalyHintPrefKey, anomalyHintText);
            mPowerUsageTimeController.handleScreenTimeUpdated(
                    slotTime,
                    screenOnTimeInMs,
                    backgroundTimeMs,
                    anomalyHintPrefKey,
                    anomalyHintText);
        }
        controller.done(true /* rebindActions */);
    }
@@ -387,9 +400,15 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
        final int uid = bundle.getInt(EXTRA_UID, 0);
        final String packageName = bundle.getString(EXTRA_PACKAGE_NAME);

        mAppButtonsPreferenceController = new AppButtonsPreferenceController(
                (SettingsActivity) getActivity(), this, getSettingsLifecycle(),
                packageName, mState, REQUEST_UNINSTALL, REQUEST_REMOVE_DEVICE_ADMIN);
        mAppButtonsPreferenceController =
                new AppButtonsPreferenceController(
                        (SettingsActivity) getActivity(),
                        this,
                        getSettingsLifecycle(),
                        packageName,
                        mState,
                        REQUEST_UNINSTALL,
                        REQUEST_REMOVE_DEVICE_ADMIN);
        if (bundle.getBoolean(EXTRA_SHOW_TIME_INFO, false)) {
            mPowerUsageTimeController = new PowerUsageTimeController(getContext());
            controllers.add(mPowerUsageTimeController);
@@ -461,10 +480,13 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
            return;
        }
        int finalMetricCategory = metricCategory;
        mExecutor.execute(() -> {
            String packageName = BatteryUtils
                    .getLoggingPackageName(getContext(), mBatteryOptimizeUtils.getPackageName());
            FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
        mExecutor.execute(
                () -> {
                    String packageName =
                            BatteryUtils.getLoggingPackageName(
                                    getContext(), mBatteryOptimizeUtils.getPackageName());
                    FeatureFactory.getFeatureFactory()
                            .getMetricsFeatureProvider()
                            .action(
                                    /* attribution */ SettingsEnums.OPEN_APP_BATTERY_USAGE,
                                    /* action */ finalMetricCategory,
+2 −5
Original line number Diff line number Diff line
@@ -29,14 +29,11 @@ import android.util.Log;

import androidx.appcompat.app.AppCompatActivity;

import com.android.settings.core.SubSettingLauncher;
import com.android.settings.fuelgauge.AdvancedPowerUsageDetail;
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.core.SubSettingLauncher;

/**
 * Trampoline activity for launching the {@link AdvancedPowerUsageDetail} fragment.
 */
/** Trampoline activity for launching the {@link AdvancedPowerUsageDetail} fragment. */
public class AdvancedPowerUsageDetailActivity extends AppCompatActivity {

    private static final String TAG = "AdvancedPowerDetailActivity";
+3 −2
Original line number Diff line number Diff line
@@ -53,7 +53,8 @@ public class AllowBackgroundPreferenceController extends AbstractPreferenceContr
    public void updateState(Preference preference) {
        preference.setEnabled(mBatteryOptimizeUtils.isOptimizeModeMutable());

        final boolean isAllowBackground = mBatteryOptimizeUtils.getAppOptimizationMode()
        final boolean isAllowBackground =
                mBatteryOptimizeUtils.getAppOptimizationMode()
                        != BatteryOptimizeUtils.MODE_RESTRICTED;
        setChecked(preference, isAllowBackground);
    }
+11 −8
Original line number Diff line number Diff line
@@ -24,11 +24,9 @@ import androidx.preference.TwoStatePreference;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.overlay.FeatureFactory;

/**
 * Controller to change and update the auto restriction toggle
 */
public class AutoRestrictionPreferenceController extends BasePreferenceController implements
        Preference.OnPreferenceChangeListener {
/** Controller to change and update the auto restriction toggle */
public class AutoRestrictionPreferenceController extends BasePreferenceController
        implements Preference.OnPreferenceChangeListener {
    private static final String KEY_SMART_BATTERY = "auto_restriction";
    private static final int ON = 1;
    private static final int OFF = 0;
@@ -50,15 +48,20 @@ public class AutoRestrictionPreferenceController extends BasePreferenceControlle
    @Override
    public void updateState(Preference preference) {
        super.updateState(preference);
        final boolean smartBatteryOn = Settings.Global.getInt(mContext.getContentResolver(),
                Settings.Global.APP_AUTO_RESTRICTION_ENABLED, ON) == ON;
        final boolean smartBatteryOn =
                Settings.Global.getInt(
                                mContext.getContentResolver(),
                                Settings.Global.APP_AUTO_RESTRICTION_ENABLED,
                                ON)
                        == ON;
        ((TwoStatePreference) preference).setChecked(smartBatteryOn);
    }

    @Override
    public boolean onPreferenceChange(Preference preference, Object newValue) {
        final boolean smartBatteryOn = (Boolean) newValue;
        Settings.Global.putInt(mContext.getContentResolver(),
        Settings.Global.putInt(
                mContext.getContentResolver(),
                Settings.Global.APP_AUTO_RESTRICTION_ENABLED,
                smartBatteryOn ? ON : OFF);
        return true;
+4 −2
Original line number Diff line number Diff line
@@ -63,13 +63,15 @@ public class BatteryActiveView extends View {
            return;
        }
        mPaint.setColor(color);
        canvas.drawRect(start / period * getWidth(), 0, end / period * getWidth(), getHeight(),
                mPaint);
        canvas.drawRect(
                start / period * getWidth(), 0, end / period * getWidth(), getHeight(), mPaint);
    }

    public interface BatteryActiveProvider {
        boolean hasData();

        long getPeriod();

        SparseIntArray getColorArray();
    }
}
Loading