diff --git a/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java b/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java index 997ad963287..676af2c3abe 100644 --- a/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java +++ b/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java @@ -91,15 +91,6 @@ public interface PowerUsageFeatureProvider { */ String getOldEstimateDebugString(String timeRemaining); - /** - * Returns a signal to indicate if the device will need to warn the user they may not make it - * to their next charging time. - * - * @param id Optional string used to identify the caller for metrics. Usually the class name of - * the caller - */ - boolean getEarlyWarningSignal(Context context, String id); - /** * Checks whether smart battery feature is supported in this device */ diff --git a/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java b/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java index 741eb3baf45..6e4ff95d4d0 100644 --- a/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java +++ b/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java @@ -110,11 +110,6 @@ public class PowerUsageFeatureProviderImpl implements PowerUsageFeatureProvider return null; } - @Override - public boolean getEarlyWarningSignal(Context context, String id) { - return false; - } - @Override public boolean isSmartBatterySupported() { return mContext.getResources().getBoolean( diff --git a/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoader.java b/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoader.java index 7bdc5d5686a..c525be66ce0 100644 --- a/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoader.java +++ b/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoader.java @@ -25,7 +25,6 @@ import com.android.settings.fuelgauge.BatteryInfo; import com.android.settings.fuelgauge.BatteryUtils; import com.android.settings.fuelgauge.batterytip.detectors.BatteryDefenderDetector; import com.android.settings.fuelgauge.batterytip.detectors.DockDefenderDetector; -import com.android.settings.fuelgauge.batterytip.detectors.EarlyWarningDetector; import com.android.settings.fuelgauge.batterytip.detectors.HighUsageDetector; import com.android.settings.fuelgauge.batterytip.detectors.LowBatteryDetector; import com.android.settings.fuelgauge.batterytip.detectors.SmartBatteryDetector; @@ -72,7 +71,6 @@ public class BatteryTipLoader extends AsyncLoaderCompat> { tips.add(new HighUsageDetector(context, policy, mBatteryUsageStats, batteryInfo).detect()); tips.add(new SmartBatteryDetector( context, policy, batteryInfo, context.getContentResolver()).detect()); - tips.add(new EarlyWarningDetector(policy, context).detect()); tips.add(new BatteryDefenderDetector( batteryInfo, context.getApplicationContext()).detect()); tips.add(new DockDefenderDetector(batteryInfo, context.getApplicationContext()).detect()); diff --git a/src/com/android/settings/fuelgauge/batterytip/detectors/EarlyWarningDetector.java b/src/com/android/settings/fuelgauge/batterytip/detectors/EarlyWarningDetector.java deleted file mode 100644 index f7a4f8cd5bc..00000000000 --- a/src/com/android/settings/fuelgauge/batterytip/detectors/EarlyWarningDetector.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (C) 2018 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.batterytip.detectors; - -import android.content.Context; -import android.content.Intent; -import android.content.IntentFilter; -import android.os.BatteryManager; -import android.os.PowerManager; - -import com.android.settings.fuelgauge.PowerUsageFeatureProvider; -import com.android.settings.fuelgauge.batterytip.BatteryTipPolicy; -import com.android.settings.fuelgauge.batterytip.tips.BatteryTip; -import com.android.settings.fuelgauge.batterytip.tips.EarlyWarningTip; -import com.android.settings.overlay.FeatureFactory; - -/** - * Detector whether to early warning tip. - */ -public class EarlyWarningDetector implements BatteryTipDetector { - private BatteryTipPolicy mPolicy; - private PowerManager mPowerManager; - private Context mContext; - private PowerUsageFeatureProvider mPowerUsageFeatureProvider; - - public EarlyWarningDetector(BatteryTipPolicy policy, Context context) { - mPolicy = policy; - mPowerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE); - mContext = context; - mPowerUsageFeatureProvider = FeatureFactory.getFactory( - context).getPowerUsageFeatureProvider(context); - } - - @Override - public BatteryTip detect() { - final Intent batteryBroadcast = mContext.registerReceiver(null, - new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); - final boolean discharging = - batteryBroadcast.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1) == 0; - final boolean powerSaveModeOn = mPowerManager.isPowerSaveMode(); - final boolean earlyWarning = mPowerUsageFeatureProvider.getEarlyWarningSignal(mContext, - EarlyWarningDetector.class.getName()) || mPolicy.testBatterySaverTip; - - final int state = powerSaveModeOn - ? BatteryTip.StateType.INVISIBLE - : mPolicy.batterySaverTipEnabled && discharging && earlyWarning - ? BatteryTip.StateType.NEW - : BatteryTip.StateType.INVISIBLE; - return new EarlyWarningTip(state, powerSaveModeOn); - } -} diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoaderTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoaderTest.java index 6d3965e2266..0e1c4585969 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoaderTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoaderTest.java @@ -50,7 +50,6 @@ import java.util.List; public class BatteryTipLoaderTest { private static final int[] TIP_ORDER = { - BatteryTip.TipType.BATTERY_SAVER, BatteryTip.TipType.LOW_BATTERY, BatteryTip.TipType.BATTERY_DEFENDER, BatteryTip.TipType.DOCK_DEFENDER, diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/EarlyWarningDetectorTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/EarlyWarningDetectorTest.java deleted file mode 100644 index 84411a7ea24..00000000000 --- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/EarlyWarningDetectorTest.java +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Copyright (C) 2018 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.batterytip.detectors; - -import static com.google.common.truth.Truth.assertThat; - -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.spy; - -import android.content.Context; -import android.content.Intent; -import android.os.BatteryManager; -import android.os.PowerManager; - -import com.android.settings.fuelgauge.batterytip.BatteryTipPolicy; -import com.android.settings.fuelgauge.batterytip.tips.BatteryTip; -import com.android.settings.testutils.FakeFeatureFactory; - -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; -import org.robolectric.util.ReflectionHelpers; - -@RunWith(RobolectricTestRunner.class) -public class EarlyWarningDetectorTest { - - private Context mContext; - private BatteryTipPolicy mPolicy; - private EarlyWarningDetector mEarlyWarningDetector; - @Mock - private Intent mIntent; - @Mock - private PowerManager mPowerManager; - private FakeFeatureFactory mFakeFeatureFactory; - - @Before - public void setUp() { - MockitoAnnotations.initMocks(this); - - mContext = spy(RuntimeEnvironment.application); - mPolicy = spy(new BatteryTipPolicy(mContext)); - doReturn(mPowerManager).when(mContext).getSystemService(Context.POWER_SERVICE); - doReturn(mIntent).when(mContext).registerReceiver(any(), any()); - doReturn(0).when(mIntent).getIntExtra(BatteryManager.EXTRA_PLUGGED, -1); - mFakeFeatureFactory = FakeFeatureFactory.setupForTest(); - doReturn(true).when(mFakeFeatureFactory.powerUsageFeatureProvider) - .getEarlyWarningSignal(any(), any()); - - mEarlyWarningDetector = new EarlyWarningDetector(mPolicy, mContext); - } - - @Test - public void testDetect_policyDisabled_tipInvisible() { - ReflectionHelpers.setField(mPolicy, "batterySaverTipEnabled", false); - - assertThat(mEarlyWarningDetector.detect().isVisible()).isFalse(); - } - - @Test - public void testDetect_testFeatureOn_tipNew() { - doReturn(false).when(mFakeFeatureFactory.powerUsageFeatureProvider) - .getEarlyWarningSignal(any(), any()); - ReflectionHelpers.setField(mPolicy, "testBatterySaverTip", true); - - assertThat(mEarlyWarningDetector.detect().getState()) - .isEqualTo(BatteryTip.StateType.NEW); - } - - @Test - public void testDetect_batterySaverOn_tipInvisible() { - doReturn(true).when(mPowerManager).isPowerSaveMode(); - - assertThat(mEarlyWarningDetector.detect().getState()) - .isEqualTo(BatteryTip.StateType.INVISIBLE); - } - - @Test - public void testDetect_charging_tipInvisible() { - doReturn(1).when(mIntent).getIntExtra(BatteryManager.EXTRA_PLUGGED, -1); - - assertThat(mEarlyWarningDetector.detect().isVisible()).isFalse(); - } - - @Test - public void testDetect_noEarlyWarning_tipInvisible() { - doReturn(false).when(mFakeFeatureFactory.powerUsageFeatureProvider) - .getEarlyWarningSignal(any(), any()); - - assertThat(mEarlyWarningDetector.detect().isVisible()).isFalse(); - } -}