diff --git a/res/layout/battery_chart_graph.xml b/res/layout/battery_chart_graph.xml
index 7f3bbf38c3a..6187d07b66c 100644
--- a/res/layout/battery_chart_graph.xml
+++ b/res/layout/battery_chart_graph.xml
@@ -34,7 +34,7 @@
diff --git a/res/layout/battery_usage_graph.xml b/res/layout/battery_usage_graph.xml
deleted file mode 100644
index 93001c3f02a..00000000000
--- a/res/layout/battery_usage_graph.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/com/android/settings/fuelgauge/BatteryChartView.java b/src/com/android/settings/fuelgauge/BatteryChartView.java
index c6529a7867e..47333aa0160 100644
--- a/src/com/android/settings/fuelgauge/BatteryChartView.java
+++ b/src/com/android/settings/fuelgauge/BatteryChartView.java
@@ -95,6 +95,7 @@ public class BatteryChartView extends AppCompatImageView implements View.OnClick
public void setLevels(int[] levels) {
// We should provide trapezoid count + 1 data to draw all trapezoids.
mLevels = levels.length == mTrapezoidCount + 1 ? levels : null;
+ setClickable(mLevels != null);
invalidate();
}
diff --git a/src/com/android/settings/fuelgauge/BatteryHistoryPreference.java b/src/com/android/settings/fuelgauge/BatteryHistoryPreference.java
index 4d3b9cd2e56..cb22ff3ac72 100644
--- a/src/com/android/settings/fuelgauge/BatteryHistoryPreference.java
+++ b/src/com/android/settings/fuelgauge/BatteryHistoryPreference.java
@@ -19,8 +19,8 @@ package com.android.settings.fuelgauge;
import android.content.Context;
import android.os.BatteryUsageStats;
import android.util.AttributeSet;
+import android.util.Log;
import android.view.View;
-import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.VisibleForTesting;
@@ -28,26 +28,26 @@ import androidx.preference.Preference;
import androidx.preference.PreferenceViewHolder;
import com.android.settings.R;
-import com.android.settings.widget.UsageView;
+import com.android.settings.overlay.FeatureFactory;
/**
- * Custom preference for displaying power consumption as a bar and an icon on the left for the
- * subsystem/app type.
+ * Custom preference for displaying the battery level as chart graph.
*/
public class BatteryHistoryPreference extends Preference {
private static final String TAG = "BatteryHistoryPreference";
- private CharSequence mSummary;
- private TextView mSummaryView;
-
- @VisibleForTesting
- boolean hideSummary;
@VisibleForTesting
BatteryInfo mBatteryInfo;
public BatteryHistoryPreference(Context context, AttributeSet attrs) {
super(context, attrs);
- setLayoutResource(R.layout.battery_usage_graph);
+ final boolean isChartGraphEnabled =
+ FeatureFactory.getFactory(context).getPowerUsageFeatureProvider(context)
+ .isChartGraphEnabled(context);
+ Log.i(TAG, "isChartGraphEnabled: " + isChartGraphEnabled);
+ if (isChartGraphEnabled) {
+ setLayoutResource(R.layout.battery_chart_graph);
+ }
setSelectable(false);
}
@@ -58,22 +58,6 @@ public class BatteryHistoryPreference extends Preference {
}, batteryUsageStats, false);
}
- public void setBottomSummary(CharSequence text) {
- mSummary = text;
- if (mSummaryView != null) {
- mSummaryView.setVisibility(View.VISIBLE);
- mSummaryView.setText(mSummary);
- }
- hideSummary = false;
- }
-
- public void hideBottomSummary() {
- if (mSummaryView != null) {
- mSummaryView.setVisibility(View.GONE);
- }
- hideSummary = true;
- }
-
@Override
public void onBindViewHolder(PreferenceViewHolder view) {
super.onBindViewHolder(view);
@@ -81,18 +65,6 @@ public class BatteryHistoryPreference extends Preference {
if (mBatteryInfo == null) {
return;
}
-
- ((TextView) view.findViewById(R.id.charge)).setText(mBatteryInfo.batteryPercentString);
- mSummaryView = (TextView) view.findViewById(R.id.bottom_summary);
- if (mSummary != null) {
- mSummaryView.setText(mSummary);
- }
- if (hideSummary) {
- mSummaryView.setVisibility(View.GONE);
- }
- UsageView usageView = (UsageView) view.findViewById(R.id.battery_usage);
- usageView.findViewById(R.id.label_group).setAlpha(.7f);
- mBatteryInfo.bindHistory(usageView);
BatteryUtils.logRuntime(TAG, "onBindViewHolder", startTime);
}
}
diff --git a/src/com/android/settings/fuelgauge/PowerUsageAdvanced.java b/src/com/android/settings/fuelgauge/PowerUsageAdvanced.java
index 9279e5d3ad6..c5974259e72 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageAdvanced.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageAdvanced.java
@@ -63,9 +63,6 @@ public class PowerUsageAdvanced extends PowerUsageBase {
mHistPref = (BatteryHistoryPreference) findPreference(KEY_BATTERY_GRAPH);
mPowerUsageFeatureProvider = FeatureFactory.getFactory(context)
.getPowerUsageFeatureProvider(context);
-
- // init the summary so other preferences won't have unnecessary move
- updateHistPrefSummary(context);
restoreSavedInstance(icicle);
}
@@ -151,24 +148,9 @@ public class PowerUsageAdvanced extends PowerUsageBase {
return;
}
updatePreference(mHistPref);
- updateHistPrefSummary(context);
-
mBatteryAppListPreferenceController.refreshAppListGroup(mBatteryUsageStats, mShowAllApps);
}
- private void updateHistPrefSummary(Context context) {
- Intent batteryIntent =
- context.registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
- final boolean plugged = batteryIntent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1) != 0;
-
- if (mPowerUsageFeatureProvider.isEnhancedBatteryPredictionEnabled(context) && !plugged) {
- mHistPref.setBottomSummary(
- mPowerUsageFeatureProvider.getAdvancedUsageScreenInfoString());
- } else {
- mHistPref.hideBottomSummary();
- }
- }
-
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider() {
@Override
diff --git a/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java b/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java
index 6a22ed4691a..8557bf76cb5 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java
@@ -124,4 +124,9 @@ public interface PowerUsageFeatureProvider {
* Checks whether smart battery feature is supported in this device
*/
boolean isSmartBatterySupported();
+
+ /**
+ * Checks whether we should enable chart graph design or not
+ */
+ boolean isChartGraphEnabled(Context context);
}
diff --git a/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java b/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
index cb83d80cee6..a3e9aecedd2 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
@@ -150,4 +150,9 @@ public class PowerUsageFeatureProviderImpl implements PowerUsageFeatureProvider
return mContext.getResources().getBoolean(
com.android.internal.R.bool.config_smart_battery_available);
}
+
+ @Override
+ public boolean isChartGraphEnabled(Context context) {
+ return false;
+ }
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryHistoryPreferenceTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryHistoryPreferenceTest.java
deleted file mode 100644
index fc8e99472bb..00000000000
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryHistoryPreferenceTest.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.fuelgauge;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.ArgumentMatchers.nullable;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.widget.TextView;
-
-import androidx.preference.PreferenceViewHolder;
-
-import com.android.settings.R;
-import com.android.settings.widget.UsageView;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-@RunWith(RobolectricTestRunner.class)
-public class BatteryHistoryPreferenceTest {
-
- private static final String TEST_STRING = "test";
- @Mock
- private PreferenceViewHolder mViewHolder;
- @Mock
- private BatteryInfo mBatteryInfo;
- @Mock
- private TextView mTextView;
- @Mock
- private UsageView mUsageView;
- @Mock
- private View mLabelView;
- private BatteryHistoryPreference mBatteryHistoryPreference;
-
- @Before
- public void setUp() {
- MockitoAnnotations.initMocks(this);
- final Context context = RuntimeEnvironment.application;
- final View itemView =
- LayoutInflater.from(context).inflate(R.layout.battery_usage_graph, null);
-
- mBatteryHistoryPreference = new BatteryHistoryPreference(context, null);
- mBatteryHistoryPreference.mBatteryInfo = mBatteryInfo;
- mViewHolder = spy(PreferenceViewHolder.createInstanceForTests(itemView));
- when(mViewHolder.findViewById(R.id.battery_usage)).thenReturn(mUsageView);
- when(mViewHolder.findViewById(R.id.charge)).thenReturn(mTextView);
- when(mUsageView.findViewById(anyInt())).thenReturn(mLabelView);
- }
-
- @Test
- public void testOnBindViewHolder_updateBatteryUsage() {
- mBatteryHistoryPreference.onBindViewHolder(mViewHolder);
-
- verify(mViewHolder).findViewById(R.id.battery_usage);
- verify(mTextView).setText(nullable(String.class));
- verify(mBatteryInfo).bindHistory(mUsageView);
- }
-
- @Test
- public void testSetBottomSummary_updatesBottomSummaryTextIfSet() {
- mBatteryHistoryPreference.setBottomSummary(TEST_STRING);
- mBatteryHistoryPreference.onBindViewHolder(mViewHolder);
-
- TextView view = (TextView) mViewHolder.findViewById(R.id.bottom_summary);
- assertThat(view.getVisibility()).isEqualTo(View.VISIBLE);
- assertThat(view.getText()).isEqualTo(TEST_STRING);
- assertThat(mBatteryHistoryPreference.hideSummary).isFalse();
- }
-
- @Test
- public void testSetBottomSummary_leavesBottomSummaryTextBlankIfNotSet() {
- mBatteryHistoryPreference.hideBottomSummary();
- mBatteryHistoryPreference.onBindViewHolder(mViewHolder);
-
- TextView view = (TextView) mViewHolder.findViewById(R.id.bottom_summary);
- assertThat(view.getVisibility()).isEqualTo(View.GONE);
- assertThat(view.getText()).isEqualTo("");
- assertThat(mBatteryHistoryPreference.hideSummary).isTrue();
- }
-}