From 08f05c00ed6c71f5bcfa6583100081f280d175ce Mon Sep 17 00:00:00 2001 From: Michael Bestas Date: Wed, 27 Mar 2024 20:03:36 +0200 Subject: [PATCH] Make battery cycle count configurable and disable it by default Most devices don't report valid cycle count. Change-Id: I32478dac8ff409cd90506495eca42b9df987919b --- res/values/lineage_config.xml | 3 +++ .../BatteryCycleCountPreferenceController.java | 3 ++- .../batteryinfo/BatteryInfoFragment.java | 18 ++++++++++++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/res/values/lineage_config.xml b/res/values/lineage_config.xml index 51d9d377214..43652cb896c 100644 --- a/res/values/lineage_config.xml +++ b/res/values/lineage_config.xml @@ -29,6 +29,9 @@ true + + false + false diff --git a/src/com/android/settings/deviceinfo/batteryinfo/BatteryCycleCountPreferenceController.java b/src/com/android/settings/deviceinfo/batteryinfo/BatteryCycleCountPreferenceController.java index c1c7635751c..f7dff9d3d8f 100644 --- a/src/com/android/settings/deviceinfo/batteryinfo/BatteryCycleCountPreferenceController.java +++ b/src/com/android/settings/deviceinfo/batteryinfo/BatteryCycleCountPreferenceController.java @@ -36,7 +36,8 @@ public class BatteryCycleCountPreferenceController extends BasePreferenceControl @Override public int getAvailabilityStatus() { - return AVAILABLE; + return mContext.getResources().getBoolean(R.bool.config_show_battery_cycle_count) + ? AVAILABLE : UNSUPPORTED_ON_DEVICE; } @Override diff --git a/src/com/android/settings/deviceinfo/batteryinfo/BatteryInfoFragment.java b/src/com/android/settings/deviceinfo/batteryinfo/BatteryInfoFragment.java index c0170227bae..882901d9b7b 100644 --- a/src/com/android/settings/deviceinfo/batteryinfo/BatteryInfoFragment.java +++ b/src/com/android/settings/deviceinfo/batteryinfo/BatteryInfoFragment.java @@ -18,18 +18,23 @@ package com.android.settings.deviceinfo.batteryinfo; import android.app.settings.SettingsEnums; import android.content.Context; +import android.os.Bundle; import com.android.settings.R; import com.android.settings.dashboard.DashboardFragment; import com.android.settings.overlay.FeatureFactory; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settingslib.search.SearchIndexable; +import com.android.settingslib.widget.FooterPreference; /** A fragment that shows battery hardware information. */ @SearchIndexable public class BatteryInfoFragment extends DashboardFragment { public static final String TAG = "BatteryInfo"; + private static final String KEY_BATTERY_INFO_FOOTER = "battery_info_footer"; + + private FooterPreference mFooterPreference; @Override public int getMetricsCategory() { @@ -41,6 +46,19 @@ public class BatteryInfoFragment extends DashboardFragment { return R.xml.battery_info; } + @Override + public void onCreate(Bundle icicle) { + super.onCreate(icicle); + mFooterPreference = findPreference(KEY_BATTERY_INFO_FOOTER); + } + + @Override + public void onActivityCreated(Bundle savedInstanceState) { + super.onActivityCreated(savedInstanceState); + mFooterPreference.setVisible( + getContext().getResources().getBoolean(R.bool.config_show_battery_cycle_count)); + } + @Override protected String getLogTag() { return TAG;