Loading src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java +5 −15 Original line number Diff line number Diff line Loading @@ -39,21 +39,11 @@ public interface PowerUsageFeatureProvider { */ boolean isLocationSettingEnabled(String[] packages); /** * Check whether additional battery info feature is enabled. */ boolean isAdditionalBatteryInfoEnabled(); /** * Gets an {@link Intent} to show additional battery info. */ Intent getAdditionalBatteryInfoIntent(); /** * Check whether advanced ui is enabled */ boolean isAdvancedUiEnabled(); /** * Check whether it is type service */ Loading @@ -64,11 +54,6 @@ public interface PowerUsageFeatureProvider { */ boolean isTypeSystem(int uid, String[] packages); /** * Check whether the toggle for power accounting is enabled */ boolean isPowerAccountingToggleEnabled(); /** * Returns an improved prediction for battery time remaining. */ Loading Loading @@ -130,6 +115,11 @@ public interface PowerUsageFeatureProvider { */ boolean isAdaptiveChargingSupported(); /** * Checks whether battery manager feature is supported in this device */ boolean isBatteryManagerSupported(); /** * Returns {@code true} if current defender mode is extra defend */ Loading src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java +5 −15 Original line number Diff line number Diff line Loading @@ -75,26 +75,11 @@ public class PowerUsageFeatureProviderImpl implements PowerUsageFeatureProvider return false; } @Override public boolean isAdditionalBatteryInfoEnabled() { return false; } @Override public Intent getAdditionalBatteryInfoIntent() { return null; } @Override public boolean isAdvancedUiEnabled() { return true; } @Override public boolean isPowerAccountingToggleEnabled() { return true; } @Override public Estimate getEnhancedBatteryPrediction(Context context) { return null; Loading Loading @@ -146,6 +131,11 @@ public class PowerUsageFeatureProviderImpl implements PowerUsageFeatureProvider return false; } @Override public boolean isBatteryManagerSupported() { return true; } @Override public Intent getResumeChargeIntent(boolean isDockDefender) { return null; Loading src/com/android/settings/fuelgauge/batterytip/BatteryManagerPreferenceController.java +4 −5 Original line number Diff line number Diff line Loading @@ -28,11 +28,10 @@ import com.android.settings.core.BasePreferenceController; import com.android.settings.fuelgauge.PowerUsageFeatureProvider; import com.android.settings.overlay.FeatureFactory; /** * Preference controller to control the battery manager */ /** Preference controller to control the battery manager */ public class BatteryManagerPreferenceController extends BasePreferenceController { private static final String KEY_BATTERY_MANAGER = "smart_battery_manager"; private PowerUsageFeatureProvider mPowerUsageFeatureProvider; private AppOpsManager mAppOpsManager; private UserManager mUserManager; Loading @@ -50,7 +49,8 @@ public class BatteryManagerPreferenceController extends BasePreferenceController @Override public int getAvailabilityStatus() { return AVAILABLE_UNSEARCHABLE; return mPowerUsageFeatureProvider.isBatteryManagerSupported() ? AVAILABLE_UNSEARCHABLE : UNSUPPORTED_ON_DEVICE; } @Override Loading @@ -59,7 +59,6 @@ public class BatteryManagerPreferenceController extends BasePreferenceController if (!mEnableAppBatteryUsagePage) { final int num = BatteryTipUtils.getRestrictedAppsList(mAppOpsManager, mUserManager).size(); updateSummary(preference, num); } } Loading tests/robotests/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImplTest.java +0 −10 Original line number Diff line number Diff line Loading @@ -105,16 +105,6 @@ public class PowerUsageFeatureProviderImplTest { assertThat(mPowerFeatureProvider.isTypeSystem(UID_OTHER, null)).isFalse(); } @Test public void testIsAdvancedUiEnabled_returnTrue() { assertThat(mPowerFeatureProvider.isAdvancedUiEnabled()).isTrue(); } @Test public void testIsPowerAccountingToggleEnabled_returnTrue() { assertThat(mPowerFeatureProvider.isPowerAccountingToggleEnabled()).isTrue(); } @Test public void testIsSmartBatterySupported_smartBatterySupported_returnTrue() { when(mContext.getResources().getBoolean( Loading tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryManagerPreferenceControllerTest.java +20 −1 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import android.provider.Settings; import androidx.preference.Preference; import com.android.settings.fuelgauge.PowerUsageFeatureProvider; import com.android.settings.testutils.FakeFeatureFactory; import org.junit.Before; Loading @@ -48,6 +49,7 @@ public class BatteryManagerPreferenceControllerTest { private Context mContext; private Preference mPreference; private FakeFeatureFactory mFeatureFactory; private PowerUsageFeatureProvider mPowerUsageFeatureProvider; private BatteryManagerPreferenceController mController; Loading @@ -60,6 +62,7 @@ public class BatteryManagerPreferenceControllerTest { mFeatureFactory = FakeFeatureFactory.setupForTest(); mPreference = new Preference(mContext); mController = new BatteryManagerPreferenceController(mContext); mPowerUsageFeatureProvider = mFeatureFactory.powerUsageFeatureProvider; } @Test Loading @@ -71,7 +74,7 @@ public class BatteryManagerPreferenceControllerTest { @Test public void updateState_smartBatteryWithoutRestriction_showSummary() { when(mFeatureFactory.powerUsageFeatureProvider.isSmartBatterySupported()).thenReturn(true); when(mPowerUsageFeatureProvider.isSmartBatterySupported()).thenReturn(true); Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, ON); Loading @@ -79,4 +82,20 @@ public class BatteryManagerPreferenceControllerTest { assertThat(mPreference.getSummary()).isEqualTo("Detecting when apps drain battery"); } @Test public void getAvailabilityStatus_supportBatteryManager_showPrefPage() { when(mPowerUsageFeatureProvider.isBatteryManagerSupported()).thenReturn(true); assertThat(mController.getAvailabilityStatus()).isEqualTo( BatteryManagerPreferenceController.AVAILABLE_UNSEARCHABLE); } @Test public void getAvailabilityStatus_notSupportBatteryManager_notShowPrefPage() { when(mPowerUsageFeatureProvider.isBatteryManagerSupported()).thenReturn(false); assertThat(mController.getAvailabilityStatus()).isEqualTo( BatteryManagerPreferenceController.UNSUPPORTED_ON_DEVICE); } } Loading
src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java +5 −15 Original line number Diff line number Diff line Loading @@ -39,21 +39,11 @@ public interface PowerUsageFeatureProvider { */ boolean isLocationSettingEnabled(String[] packages); /** * Check whether additional battery info feature is enabled. */ boolean isAdditionalBatteryInfoEnabled(); /** * Gets an {@link Intent} to show additional battery info. */ Intent getAdditionalBatteryInfoIntent(); /** * Check whether advanced ui is enabled */ boolean isAdvancedUiEnabled(); /** * Check whether it is type service */ Loading @@ -64,11 +54,6 @@ public interface PowerUsageFeatureProvider { */ boolean isTypeSystem(int uid, String[] packages); /** * Check whether the toggle for power accounting is enabled */ boolean isPowerAccountingToggleEnabled(); /** * Returns an improved prediction for battery time remaining. */ Loading Loading @@ -130,6 +115,11 @@ public interface PowerUsageFeatureProvider { */ boolean isAdaptiveChargingSupported(); /** * Checks whether battery manager feature is supported in this device */ boolean isBatteryManagerSupported(); /** * Returns {@code true} if current defender mode is extra defend */ Loading
src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java +5 −15 Original line number Diff line number Diff line Loading @@ -75,26 +75,11 @@ public class PowerUsageFeatureProviderImpl implements PowerUsageFeatureProvider return false; } @Override public boolean isAdditionalBatteryInfoEnabled() { return false; } @Override public Intent getAdditionalBatteryInfoIntent() { return null; } @Override public boolean isAdvancedUiEnabled() { return true; } @Override public boolean isPowerAccountingToggleEnabled() { return true; } @Override public Estimate getEnhancedBatteryPrediction(Context context) { return null; Loading Loading @@ -146,6 +131,11 @@ public class PowerUsageFeatureProviderImpl implements PowerUsageFeatureProvider return false; } @Override public boolean isBatteryManagerSupported() { return true; } @Override public Intent getResumeChargeIntent(boolean isDockDefender) { return null; Loading
src/com/android/settings/fuelgauge/batterytip/BatteryManagerPreferenceController.java +4 −5 Original line number Diff line number Diff line Loading @@ -28,11 +28,10 @@ import com.android.settings.core.BasePreferenceController; import com.android.settings.fuelgauge.PowerUsageFeatureProvider; import com.android.settings.overlay.FeatureFactory; /** * Preference controller to control the battery manager */ /** Preference controller to control the battery manager */ public class BatteryManagerPreferenceController extends BasePreferenceController { private static final String KEY_BATTERY_MANAGER = "smart_battery_manager"; private PowerUsageFeatureProvider mPowerUsageFeatureProvider; private AppOpsManager mAppOpsManager; private UserManager mUserManager; Loading @@ -50,7 +49,8 @@ public class BatteryManagerPreferenceController extends BasePreferenceController @Override public int getAvailabilityStatus() { return AVAILABLE_UNSEARCHABLE; return mPowerUsageFeatureProvider.isBatteryManagerSupported() ? AVAILABLE_UNSEARCHABLE : UNSUPPORTED_ON_DEVICE; } @Override Loading @@ -59,7 +59,6 @@ public class BatteryManagerPreferenceController extends BasePreferenceController if (!mEnableAppBatteryUsagePage) { final int num = BatteryTipUtils.getRestrictedAppsList(mAppOpsManager, mUserManager).size(); updateSummary(preference, num); } } Loading
tests/robotests/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImplTest.java +0 −10 Original line number Diff line number Diff line Loading @@ -105,16 +105,6 @@ public class PowerUsageFeatureProviderImplTest { assertThat(mPowerFeatureProvider.isTypeSystem(UID_OTHER, null)).isFalse(); } @Test public void testIsAdvancedUiEnabled_returnTrue() { assertThat(mPowerFeatureProvider.isAdvancedUiEnabled()).isTrue(); } @Test public void testIsPowerAccountingToggleEnabled_returnTrue() { assertThat(mPowerFeatureProvider.isPowerAccountingToggleEnabled()).isTrue(); } @Test public void testIsSmartBatterySupported_smartBatterySupported_returnTrue() { when(mContext.getResources().getBoolean( Loading
tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryManagerPreferenceControllerTest.java +20 −1 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import android.provider.Settings; import androidx.preference.Preference; import com.android.settings.fuelgauge.PowerUsageFeatureProvider; import com.android.settings.testutils.FakeFeatureFactory; import org.junit.Before; Loading @@ -48,6 +49,7 @@ public class BatteryManagerPreferenceControllerTest { private Context mContext; private Preference mPreference; private FakeFeatureFactory mFeatureFactory; private PowerUsageFeatureProvider mPowerUsageFeatureProvider; private BatteryManagerPreferenceController mController; Loading @@ -60,6 +62,7 @@ public class BatteryManagerPreferenceControllerTest { mFeatureFactory = FakeFeatureFactory.setupForTest(); mPreference = new Preference(mContext); mController = new BatteryManagerPreferenceController(mContext); mPowerUsageFeatureProvider = mFeatureFactory.powerUsageFeatureProvider; } @Test Loading @@ -71,7 +74,7 @@ public class BatteryManagerPreferenceControllerTest { @Test public void updateState_smartBatteryWithoutRestriction_showSummary() { when(mFeatureFactory.powerUsageFeatureProvider.isSmartBatterySupported()).thenReturn(true); when(mPowerUsageFeatureProvider.isSmartBatterySupported()).thenReturn(true); Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, ON); Loading @@ -79,4 +82,20 @@ public class BatteryManagerPreferenceControllerTest { assertThat(mPreference.getSummary()).isEqualTo("Detecting when apps drain battery"); } @Test public void getAvailabilityStatus_supportBatteryManager_showPrefPage() { when(mPowerUsageFeatureProvider.isBatteryManagerSupported()).thenReturn(true); assertThat(mController.getAvailabilityStatus()).isEqualTo( BatteryManagerPreferenceController.AVAILABLE_UNSEARCHABLE); } @Test public void getAvailabilityStatus_notSupportBatteryManager_notShowPrefPage() { when(mPowerUsageFeatureProvider.isBatteryManagerSupported()).thenReturn(false); assertThat(mController.getAvailabilityStatus()).isEqualTo( BatteryManagerPreferenceController.UNSUPPORTED_ON_DEVICE); } }