Loading src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java +3 −0 Original line number Diff line number Diff line Loading @@ -166,6 +166,9 @@ public interface PowerUsageFeatureProvider { /** Whether the device is under the battery defender mode */ boolean isBatteryDefend(BatteryInfo info); /** Whether the battery usage reattribute is eabled or not. */ boolean isBatteryUsageReattributeEnabled(); /** Collect and process battery reattribute data if needed. */ boolean processBatteryReattributeData( @NonNull Context context, Loading src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java +5 −0 Original line number Diff line number Diff line Loading @@ -256,6 +256,11 @@ public class PowerUsageFeatureProviderImpl implements PowerUsageFeatureProvider return info.isLongLife && !isExtraDefend(); } @Override public boolean isBatteryUsageReattributeEnabled() { return false; } @Override public boolean processBatteryReattributeData( @NonNull Context context, Loading src/com/android/settings/fuelgauge/batteryusage/bugreport/LogUtils.java +13 −3 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ import com.android.settings.fuelgauge.batteryusage.db.BatteryStateDao; import com.android.settings.fuelgauge.batteryusage.db.BatteryStateDatabase; import com.android.settings.fuelgauge.batteryusage.db.BatteryUsageSlotDao; import com.android.settings.fuelgauge.batteryusage.db.BatteryUsageSlotEntity; import com.android.settings.overlay.FeatureFactory; import java.io.PrintWriter; import java.time.Clock; Loading Loading @@ -132,14 +133,23 @@ public final class LogUtils { } static void dumpBatteryReattributeDatabaseHist(Context context, PrintWriter writer) { try { dumpBatteryReattributeDatabaseHist( BatteryStateDatabase.getInstance(context).batteryReattributeDao(), writer); } catch (Exception e) { Log.e(TAG, "failed to run dumpBatteryReattributeDatabaseHist()", e); } } @VisibleForTesting static void dumpBatteryReattributeDatabaseHist( BatteryReattributeDao batteryReattributeDao, PrintWriter writer) { if (!FeatureFactory.getFeatureFactory().getPowerUsageFeatureProvider() .isBatteryUsageReattributeEnabled()) { writer.println("\n\tBatteryReattribute is disabled!"); return; } writer.println("\n\tBatteryReattribute DatabaseHistory:"); final List<BatteryReattributeEntity> entities = batteryReattributeDao.getAllAfter( Loading tests/robotests/src/com/android/settings/fuelgauge/batteryusage/bugreport/LogUtilsTest.java +20 −0 Original line number Diff line number Diff line Loading @@ -18,15 +18,19 @@ package com.android.settings.fuelgauge.batteryusage.bugreport; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.when; import android.content.Context; import androidx.test.core.app.ApplicationProvider; import com.android.settings.fuelgauge.PowerUsageFeatureProvider; import com.android.settings.fuelgauge.batteryusage.BatteryReattribute; import com.android.settings.fuelgauge.batteryusage.db.BatteryReattributeDao; import com.android.settings.fuelgauge.batteryusage.db.BatteryReattributeEntity; import com.android.settings.fuelgauge.batteryusage.db.BatteryStateDatabase; import com.android.settings.testutils.BatteryTestUtils; import com.android.settings.testutils.FakeFeatureFactory; import org.junit.After; import org.junit.Before; Loading @@ -48,6 +52,7 @@ public final class LogUtilsTest { private Context mContext; private BatteryStateDatabase mDatabase; private BatteryReattributeDao mBatteryReattributeDao; private PowerUsageFeatureProvider mPowerUsageFeatureProvider; @Before public void setUp() { Loading @@ -56,6 +61,8 @@ public final class LogUtilsTest { mTestPrintWriter = new PrintWriter(mTestStringWriter); mDatabase = BatteryTestUtils.setUpBatteryStateDatabase(mContext); mBatteryReattributeDao = mDatabase.batteryReattributeDao(); mPowerUsageFeatureProvider = FakeFeatureFactory.setupForTest().powerUsageFeatureProvider; when(mPowerUsageFeatureProvider.isBatteryUsageReattributeEnabled()).thenReturn(true); } @After Loading Loading @@ -99,4 +106,17 @@ public final class LogUtilsTest { assertThat(result).contains(batteryReattribute1.toString()); assertThat(result).contains(batteryReattribute2.toString()); } @Test public void dumpBatteryReattributeDatabaseHist_featureDisable_notPrintData() { mBatteryReattributeDao.insert(new BatteryReattributeEntity( BatteryReattribute.getDefaultInstance())); when(mPowerUsageFeatureProvider.isBatteryUsageReattributeEnabled()).thenReturn(false); LogUtils.dumpBatteryReattributeDatabaseHist(mBatteryReattributeDao, mTestPrintWriter); final String result = mTestStringWriter.toString(); assertThat(result).contains("BatteryReattribute is disabled!"); assertThat(result.contains("BatteryReattribute DatabaseHistory:")).isFalse(); } } Loading
src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java +3 −0 Original line number Diff line number Diff line Loading @@ -166,6 +166,9 @@ public interface PowerUsageFeatureProvider { /** Whether the device is under the battery defender mode */ boolean isBatteryDefend(BatteryInfo info); /** Whether the battery usage reattribute is eabled or not. */ boolean isBatteryUsageReattributeEnabled(); /** Collect and process battery reattribute data if needed. */ boolean processBatteryReattributeData( @NonNull Context context, Loading
src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java +5 −0 Original line number Diff line number Diff line Loading @@ -256,6 +256,11 @@ public class PowerUsageFeatureProviderImpl implements PowerUsageFeatureProvider return info.isLongLife && !isExtraDefend(); } @Override public boolean isBatteryUsageReattributeEnabled() { return false; } @Override public boolean processBatteryReattributeData( @NonNull Context context, Loading
src/com/android/settings/fuelgauge/batteryusage/bugreport/LogUtils.java +13 −3 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ import com.android.settings.fuelgauge.batteryusage.db.BatteryStateDao; import com.android.settings.fuelgauge.batteryusage.db.BatteryStateDatabase; import com.android.settings.fuelgauge.batteryusage.db.BatteryUsageSlotDao; import com.android.settings.fuelgauge.batteryusage.db.BatteryUsageSlotEntity; import com.android.settings.overlay.FeatureFactory; import java.io.PrintWriter; import java.time.Clock; Loading Loading @@ -132,14 +133,23 @@ public final class LogUtils { } static void dumpBatteryReattributeDatabaseHist(Context context, PrintWriter writer) { try { dumpBatteryReattributeDatabaseHist( BatteryStateDatabase.getInstance(context).batteryReattributeDao(), writer); } catch (Exception e) { Log.e(TAG, "failed to run dumpBatteryReattributeDatabaseHist()", e); } } @VisibleForTesting static void dumpBatteryReattributeDatabaseHist( BatteryReattributeDao batteryReattributeDao, PrintWriter writer) { if (!FeatureFactory.getFeatureFactory().getPowerUsageFeatureProvider() .isBatteryUsageReattributeEnabled()) { writer.println("\n\tBatteryReattribute is disabled!"); return; } writer.println("\n\tBatteryReattribute DatabaseHistory:"); final List<BatteryReattributeEntity> entities = batteryReattributeDao.getAllAfter( Loading
tests/robotests/src/com/android/settings/fuelgauge/batteryusage/bugreport/LogUtilsTest.java +20 −0 Original line number Diff line number Diff line Loading @@ -18,15 +18,19 @@ package com.android.settings.fuelgauge.batteryusage.bugreport; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.when; import android.content.Context; import androidx.test.core.app.ApplicationProvider; import com.android.settings.fuelgauge.PowerUsageFeatureProvider; import com.android.settings.fuelgauge.batteryusage.BatteryReattribute; import com.android.settings.fuelgauge.batteryusage.db.BatteryReattributeDao; import com.android.settings.fuelgauge.batteryusage.db.BatteryReattributeEntity; import com.android.settings.fuelgauge.batteryusage.db.BatteryStateDatabase; import com.android.settings.testutils.BatteryTestUtils; import com.android.settings.testutils.FakeFeatureFactory; import org.junit.After; import org.junit.Before; Loading @@ -48,6 +52,7 @@ public final class LogUtilsTest { private Context mContext; private BatteryStateDatabase mDatabase; private BatteryReattributeDao mBatteryReattributeDao; private PowerUsageFeatureProvider mPowerUsageFeatureProvider; @Before public void setUp() { Loading @@ -56,6 +61,8 @@ public final class LogUtilsTest { mTestPrintWriter = new PrintWriter(mTestStringWriter); mDatabase = BatteryTestUtils.setUpBatteryStateDatabase(mContext); mBatteryReattributeDao = mDatabase.batteryReattributeDao(); mPowerUsageFeatureProvider = FakeFeatureFactory.setupForTest().powerUsageFeatureProvider; when(mPowerUsageFeatureProvider.isBatteryUsageReattributeEnabled()).thenReturn(true); } @After Loading Loading @@ -99,4 +106,17 @@ public final class LogUtilsTest { assertThat(result).contains(batteryReattribute1.toString()); assertThat(result).contains(batteryReattribute2.toString()); } @Test public void dumpBatteryReattributeDatabaseHist_featureDisable_notPrintData() { mBatteryReattributeDao.insert(new BatteryReattributeEntity( BatteryReattribute.getDefaultInstance())); when(mPowerUsageFeatureProvider.isBatteryUsageReattributeEnabled()).thenReturn(false); LogUtils.dumpBatteryReattributeDatabaseHist(mBatteryReattributeDao, mTestPrintWriter); final String result = mTestStringWriter.toString(); assertThat(result).contains("BatteryReattribute is disabled!"); assertThat(result.contains("BatteryReattribute DatabaseHistory:")).isFalse(); } }