Update BatterySettingsFeatureProvider interface
Added context to each method for more flexibility.
Bug: 276399056
Test: robotests
Change-Id: I0bbf8841775bc2f584d66c59c2c78ed4e5c951c2
diff --git a/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceController.java b/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceController.java
index 7d10b5b..6c7a743 100644
--- a/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceController.java
+++ b/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceController.java
@@ -45,7 +45,7 @@
@Override
public int getAvailabilityStatus() {
- return mBatterySettingsFeatureProvider.isFirstUseDateAvailable(getFirstUseDate())
+ return mBatterySettingsFeatureProvider.isFirstUseDateAvailable(mContext, getFirstUseDate())
? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
}
diff --git a/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceController.java b/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceController.java
index d1b9df0..ff54c77 100644
--- a/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceController.java
+++ b/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceController.java
@@ -45,7 +45,8 @@
@Override
public int getAvailabilityStatus() {
- return mBatterySettingsFeatureProvider.isManufactureDateAvailable(getManufactureDate())
+ return mBatterySettingsFeatureProvider.isManufactureDateAvailable(mContext,
+ getManufactureDate())
? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
}
diff --git a/src/com/android/settings/fuelgauge/BatterySettingsFeatureProvider.java b/src/com/android/settings/fuelgauge/BatterySettingsFeatureProvider.java
index dd13f1c..260fde0 100644
--- a/src/com/android/settings/fuelgauge/BatterySettingsFeatureProvider.java
+++ b/src/com/android/settings/fuelgauge/BatterySettingsFeatureProvider.java
@@ -16,12 +16,14 @@
package com.android.settings.fuelgauge;
+import android.content.Context;
+
/** Feature provider for battery settings usage. */
public interface BatterySettingsFeatureProvider {
/** Returns true if manufacture date should be shown */
- boolean isManufactureDateAvailable(long manufactureDateMs);
+ boolean isManufactureDateAvailable(Context context, long manufactureDateMs);
/** Returns true if first use date should be shown */
- boolean isFirstUseDateAvailable(long firstUseDateMs);
+ boolean isFirstUseDateAvailable(Context context, long firstUseDateMs);
}
diff --git a/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImpl.java b/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImpl.java
index 2dcb1b1..6b456b7 100644
--- a/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImpl.java
+++ b/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImpl.java
@@ -16,16 +16,18 @@
package com.android.settings.fuelgauge;
+import android.content.Context;
+
/** Feature provider implementation for battery settings usage. */
public class BatterySettingsFeatureProviderImpl implements BatterySettingsFeatureProvider {
@Override
- public boolean isManufactureDateAvailable(long manufactureDateMs) {
+ public boolean isManufactureDateAvailable(Context context, long manufactureDateMs) {
return false;
}
@Override
- public boolean isFirstUseDateAvailable(long firstUseDateMs) {
+ public boolean isFirstUseDateAvailable(Context context, long firstUseDateMs) {
return false;
}
}
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceControllerTest.java
index 9ac69af..ff8ea62 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceControllerTest.java
@@ -22,6 +22,7 @@
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.anyLong;
+import static org.mockito.Mockito.eq;
import static org.mockito.Mockito.when;
import static org.robolectric.Shadows.shadowOf;
@@ -60,24 +61,24 @@
@Test
public void getAvailabilityStatus_dateAvailable_returnAvailable() {
- when(mFactory.batterySettingsFeatureProvider.isFirstUseDateAvailable(anyLong()))
- .thenReturn(true);
+ when(mFactory.batterySettingsFeatureProvider.isFirstUseDateAvailable(eq(mContext),
+ anyLong())).thenReturn(true);
assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
}
@Test
public void getAvailabilityStatus_dateUnavailable_returnNotAvailable() {
- when(mFactory.batterySettingsFeatureProvider.isFirstUseDateAvailable(anyLong()))
- .thenReturn(false);
+ when(mFactory.batterySettingsFeatureProvider.isFirstUseDateAvailable(eq(mContext),
+ anyLong())).thenReturn(false);
assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
}
@Test
public void getSummary_available_returnExpectedDate() {
- when(mFactory.batterySettingsFeatureProvider.isFirstUseDateAvailable(anyLong()))
- .thenReturn(true);
+ when(mFactory.batterySettingsFeatureProvider.isFirstUseDateAvailable(eq(mContext),
+ anyLong())).thenReturn(true);
mShadowBatteryManager.setLongProperty(BatteryManager.BATTERY_PROPERTY_FIRST_USAGE_DATE,
1669680000L);
@@ -88,8 +89,8 @@
@Test
public void getSummary_unavailable_returnNull() {
- when(mFactory.batterySettingsFeatureProvider.isFirstUseDateAvailable(anyLong()))
- .thenReturn(false);
+ when(mFactory.batterySettingsFeatureProvider.isFirstUseDateAvailable(eq(mContext),
+ anyLong())).thenReturn(false);
assertThat(mController.getSummary()).isNull();
}
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceControllerTest.java
index fed74f3..608ce00 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceControllerTest.java
@@ -22,6 +22,7 @@
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.anyLong;
+import static org.mockito.Mockito.eq;
import static org.mockito.Mockito.when;
import static org.robolectric.Shadows.shadowOf;
@@ -61,7 +62,7 @@
@Test
public void getAvailabilityStatus_dateAvailable_returnAvailable() {
- when(mFactory.batterySettingsFeatureProvider.isManufactureDateAvailable(
+ when(mFactory.batterySettingsFeatureProvider.isManufactureDateAvailable(eq(mContext),
anyLong())).thenReturn(true);
assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
@@ -69,15 +70,15 @@
@Test
public void getAvailabilityStatus_dateUnavailable_returnNotAvailable() {
- when(mFactory.batterySettingsFeatureProvider.isManufactureDateAvailable(anyLong()))
- .thenReturn(false);
+ when(mFactory.batterySettingsFeatureProvider.isManufactureDateAvailable(eq(mContext),
+ anyLong())).thenReturn(false);
assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
}
@Test
public void getSummary_available_returnExpectedDate() {
- when(mFactory.batterySettingsFeatureProvider.isManufactureDateAvailable(
+ when(mFactory.batterySettingsFeatureProvider.isManufactureDateAvailable(eq(mContext),
anyLong())).thenReturn(true);
mShadowBatteryManager.setLongProperty(BatteryManager.BATTERY_PROPERTY_MANUFACTURING_DATE,
1669680000L);
@@ -89,8 +90,8 @@
@Test
public void getSummary_unavailable_returnNull() {
- when(mFactory.batterySettingsFeatureProvider.isManufactureDateAvailable(anyLong()))
- .thenReturn(false);
+ when(mFactory.batterySettingsFeatureProvider.isManufactureDateAvailable(eq(mContext),
+ anyLong())).thenReturn(false);
assertThat(mController.getSummary()).isNull();
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImplTest.java
index 6c09125..29f09ea 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImplTest.java
@@ -19,6 +19,11 @@
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.anyLong;
+import static org.mockito.Mockito.eq;
+
+import android.content.Context;
+
+import androidx.test.core.app.ApplicationProvider;
import org.junit.Before;
import org.junit.Test;
@@ -28,19 +33,21 @@
@RunWith(RobolectricTestRunner.class)
public class BatterySettingsFeatureProviderImplTest {
private BatterySettingsFeatureProviderImpl mImpl;
+ private Context mContext;
@Before
public void setUp() {
mImpl = new BatterySettingsFeatureProviderImpl();
+ mContext = ApplicationProvider.getApplicationContext();
}
@Test
public void isManufactureDateAvailable_returnFalse() {
- assertThat(mImpl.isManufactureDateAvailable(anyLong())).isFalse();
+ assertThat(mImpl.isManufactureDateAvailable(eq(mContext), anyLong())).isFalse();
}
@Test
public void isFirstUseDateAvailable_returnFalse() {
- assertThat(mImpl.isFirstUseDateAvailable(anyLong())).isFalse();
+ assertThat(mImpl.isFirstUseDateAvailable(eq(mContext), anyLong())).isFalse();
}
}