From 836dc0d76ceaf3d2bfcaf06d59ba4f606615cfa1 Mon Sep 17 00:00:00 2001 From: ykhung Date: Wed, 12 Apr 2023 17:43:02 +0800 Subject: [PATCH] Remove plug/unplug condition for the incompatible charging Remove the plug/unplug condition checking for the incompatible notification based on the feedback from: https://b.corp.google.com/issues/276403405#comment3 Bug: 276403405 Test: make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.fuelgauge.batterytip" Change-Id: Iec177ed33a3cc8cf5a5747b6f65440d31120823c --- .../batterytip/BatteryTipLoader.java | 2 +- .../IncompatibleChargerDetector.java | 19 +++++----------- .../IncompatibleChargerDetectorTest.java | 22 +++---------------- 3 files changed, 9 insertions(+), 34 deletions(-) diff --git a/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoader.java b/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoader.java index e622f4c1b3b..8e9d4852b1b 100644 --- a/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoader.java +++ b/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoader.java @@ -72,7 +72,7 @@ public class BatteryTipLoader extends AsyncLoaderCompat> { .detect()); tips.add(new BatteryDefenderDetector(batteryInfo, context).detect()); tips.add(new DockDefenderDetector(batteryInfo, context).detect()); - tips.add(new IncompatibleChargerDetector(context, batteryInfo).detect()); + tips.add(new IncompatibleChargerDetector(context).detect()); Collections.sort(tips); return tips; } diff --git a/src/com/android/settings/fuelgauge/batterytip/detectors/IncompatibleChargerDetector.java b/src/com/android/settings/fuelgauge/batterytip/detectors/IncompatibleChargerDetector.java index 483e37ddcaa..cfd9a2cbaa5 100644 --- a/src/com/android/settings/fuelgauge/batterytip/detectors/IncompatibleChargerDetector.java +++ b/src/com/android/settings/fuelgauge/batterytip/detectors/IncompatibleChargerDetector.java @@ -18,7 +18,6 @@ package com.android.settings.fuelgauge.batterytip.detectors; import android.content.Context; import android.util.Log; -import com.android.settings.fuelgauge.BatteryInfo; import com.android.settings.fuelgauge.batterytip.tips.BatteryTip; import com.android.settings.fuelgauge.batterytip.tips.IncompatibleChargerTip; import com.android.settingslib.Utils; @@ -28,25 +27,17 @@ public final class IncompatibleChargerDetector implements BatteryTipDetector { private static final String TAG = "IncompatibleChargerDetector"; private final Context mContext; - private final BatteryInfo mBatteryInfo; - public IncompatibleChargerDetector(Context context, BatteryInfo batteryInfo) { + public IncompatibleChargerDetector(Context context) { mContext = context; - mBatteryInfo = batteryInfo; } @Override public BatteryTip detect() { - int state = BatteryTip.StateType.INVISIBLE; - boolean isIncompatibleCharging = false; - - // Check incompatible charging state if the device is plugged. - if (mBatteryInfo.pluggedStatus != 0) { - isIncompatibleCharging = Utils.containsIncompatibleChargers(mContext, TAG); - if (isIncompatibleCharging) { - state = BatteryTip.StateType.NEW; - } - } + final boolean isIncompatibleCharging = + Utils.containsIncompatibleChargers(mContext, TAG); + final int state = isIncompatibleCharging + ? BatteryTip.StateType.NEW : BatteryTip.StateType.INVISIBLE; Log.d(TAG, "detect() state= " + state + " isIncompatibleCharging: " + isIncompatibleCharging); return new IncompatibleChargerTip(state); diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/IncompatibleChargerDetectorTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/IncompatibleChargerDetectorTest.java index 1dfe6e270c6..9ababe7cf86 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/IncompatibleChargerDetectorTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/IncompatibleChargerDetectorTest.java @@ -25,7 +25,6 @@ import android.hardware.usb.UsbManager; import android.hardware.usb.UsbPort; import android.hardware.usb.UsbPortStatus; -import com.android.settings.fuelgauge.BatteryInfo; import com.android.settings.fuelgauge.batterytip.tips.BatteryTip; import org.junit.Before; @@ -42,7 +41,6 @@ import java.util.List; @RunWith(RobolectricTestRunner.class) public final class IncompatibleChargerDetectorTest { - @Mock private BatteryInfo mBatteryInfo; @Mock private UsbPort mUsbPort; @Mock private UsbManager mUsbManager; @Mock private UsbPortStatus mUsbPortStatus; @@ -55,14 +53,11 @@ public final class IncompatibleChargerDetectorTest { MockitoAnnotations.initMocks(this); mContext = spy(RuntimeEnvironment.application); when(mContext.getSystemService(UsbManager.class)).thenReturn(mUsbManager); - mIncompatibleChargerDetector = - new IncompatibleChargerDetector(mContext, mBatteryInfo); + mIncompatibleChargerDetector = new IncompatibleChargerDetector(mContext); } @Test - public void detect_unplugDevice_shouldNotShowTip() { - mBatteryInfo.pluggedStatus = 0; - + public void detect_withoutIncompatibleCharger_shouldNotShowTip() { BatteryTip batteryTip = mIncompatibleChargerDetector.detect(); assertThat(batteryTip.isVisible()).isFalse(); @@ -70,18 +65,7 @@ public final class IncompatibleChargerDetectorTest { } @Test - public void detect_plugDeviceWithoutIncompatibleCharger_shouldNotShowTip() { - mBatteryInfo.pluggedStatus = 1; - - BatteryTip batteryTip = mIncompatibleChargerDetector.detect(); - - assertThat(batteryTip.isVisible()).isFalse(); - assertThat(batteryTip.getState()).isEqualTo(BatteryTip.StateType.INVISIBLE); - } - - @Test - public void detect_plugDeviceWithIncompatibleCharger_showTip() { - mBatteryInfo.pluggedStatus = 1; + public void detect_withIncompatibleCharger_showTip() { setupIncompatibleCharging(); BatteryTip batteryTip = mIncompatibleChargerDetector.detect();