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

Commit 1e0f8ff5 authored by Jaewoong Jung's avatar Jaewoong Jung
Browse files

Adds a menu item for additional battery info to battery settings.

Bug: 33352540
Test: No additional test failures.

Change-Id: Ibfc1a9463c93d3c087ed712fe45d3d0717472c6a
parent fe312be2
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -6985,6 +6985,9 @@
    <!-- Label for list to control apps that ignore battery saving restrictions [CHAR LIMIT=27]-->
    <string name="high_power_apps">Battery optimization</string>
    <!-- Label for menu to launch additional battery info -->
    <string name="additional_battery_info" translatable="false">Additional battery info</string>
    <!-- Filter for apps allowed to use a lot of power [CHAR LIMIT=25] -->
    <string name="high_power_filter_on">Not optimized</string>
+3 −1
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.os.UserManager;
import android.support.annotation.VisibleForTesting;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
@@ -39,7 +40,8 @@ import com.android.settings.SettingsPreferenceFragment;
public abstract class PowerUsageBase extends SettingsPreferenceFragment {

    // +1 to allow ordering for PowerUsageSummary.
    private static final int MENU_STATS_REFRESH = Menu.FIRST + 1;
    @VisibleForTesting
    static final int MENU_STATS_REFRESH = Menu.FIRST + 1;

    protected BatteryStatsHelper mStatsHelper;
    protected UserManager mUm;
+5 −3
Original line number Diff line number Diff line
@@ -350,8 +350,10 @@ public class PowerUsageDetail extends PowerUsageBase implements Button.OnClickLi
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        mPm = getActivity().getPackageManager();
        mDpm = (DevicePolicyManager)getActivity().getSystemService(Context.DEVICE_POLICY_SERVICE);

        Activity activity = getActivity();
        mPm = activity.getPackageManager();
        mDpm = (DevicePolicyManager) activity.getSystemService(Context.DEVICE_POLICY_SERVICE);

        addPreferencesFromResource(R.xml.power_usage_details);
        mDetailsParent = (PreferenceCategory) findPreference(KEY_DETAILS_PARENT);
@@ -360,7 +362,7 @@ public class PowerUsageDetail extends PowerUsageBase implements Button.OnClickLi
        mPackagesParent = (PreferenceCategory) findPreference(KEY_PACKAGES_PARENT);

        mPowerUsageFeatureProvider =
                FeatureFactory.getFactory(getActivity()).getPowerUsageFeatureProvider();
                FeatureFactory.getFactory(activity).getPowerUsageFeatureProvider(activity);

        createDetails();
    }
+2 −0
Original line number Diff line number Diff line
@@ -24,4 +24,6 @@ public interface PowerUsageFeatureProvider {
   * Check whether location setting is enabled
   */
  boolean isLocationSettingEnabled(String[] packages);

  boolean isAdditionalBatteryInfoEnabled();
}
+15 −3
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import android.os.Handler;
import android.os.Message;
import android.os.Process;
import android.os.UserHandle;
import android.support.annotation.VisibleForTesting;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceGroup;
import android.text.TextUtils;
@@ -43,6 +44,7 @@ import com.android.settings.Settings.HighPowerApplicationsActivity;
import com.android.settings.SettingsActivity;
import com.android.settings.applications.ManageApplications;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.BatteryInfo;

import java.util.ArrayList;
@@ -67,7 +69,9 @@ public class PowerUsageSummary extends PowerUsageBase {

    private static final int MENU_STATS_TYPE = Menu.FIRST;
    private static final int MENU_HIGH_POWER_APPS = Menu.FIRST + 3;
    private static final int MENU_HELP = Menu.FIRST + 4;
    @VisibleForTesting
    static final int MENU_ADDITIONAL_BATTERY_INFO = Menu.FIRST + 4;
    private static final int MENU_HELP = Menu.FIRST + 5;

    private BatteryHistoryPreference mHistPref;
    private PreferenceGroup mAppListGroup;
@@ -130,12 +134,20 @@ public class PowerUsageSummary extends PowerUsageBase {
    @Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        if (DEBUG) {
            menu.add(0, MENU_STATS_TYPE, 0, R.string.menu_stats_total)
            menu.add(Menu.NONE, MENU_STATS_TYPE, Menu.NONE, R.string.menu_stats_total)
                    .setIcon(com.android.internal.R.drawable.ic_menu_info_details)
                    .setAlphabeticShortcut('t');
        }

        menu.add(0, MENU_HIGH_POWER_APPS, 0, R.string.high_power_apps);
        menu.add(Menu.NONE, MENU_HIGH_POWER_APPS, Menu.NONE, R.string.high_power_apps);

        PowerUsageFeatureProvider powerUsageFeatureProvider =
                FeatureFactory.getFactory(getContext()).getPowerUsageFeatureProvider(getContext());
        if (powerUsageFeatureProvider != null &&
                powerUsageFeatureProvider.isAdditionalBatteryInfoEnabled()) {
            menu.add(Menu.NONE, MENU_ADDITIONAL_BATTERY_INFO,
                    Menu.NONE, R.string.additional_battery_info);
        }
        super.onCreateOptionsMenu(menu, inflater);
    }

Loading