diff --git a/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceController.java b/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceController.java index 7d10b5b8a7f..6c7a743ed12 100644 --- a/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceController.java +++ b/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceController.java @@ -45,7 +45,7 @@ public class BatteryFirstUseDatePreferenceController extends BasePreferenceContr @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 d1b9df03a82..ff54c77052b 100644 --- a/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceController.java +++ b/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceController.java @@ -45,7 +45,8 @@ public class BatteryManufactureDatePreferenceController extends BasePreferenceCo @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 dd13f1c4842..260fde0e667 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 2dcb1b12004..6b456b7629e 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 9ac69af4462..ff8ea620411 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.android.settings.core.BasePreferenceController.CONDITIONALLY_U 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 @@ public class BatteryFirstUseDatePreferenceControllerTest { @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 @@ public class BatteryFirstUseDatePreferenceControllerTest { @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 fed74f3a8f9..608ce00905e 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.android.settings.core.BasePreferenceController.CONDITIONALLY_U 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 @@ public class BatteryManufactureDatePreferenceControllerTest { @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 @@ public class BatteryManufactureDatePreferenceControllerTest { @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 @@ public class BatteryManufactureDatePreferenceControllerTest { @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 6c0912561b2..29f09ea9fa3 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 @@ package com.android.settings.fuelgauge; 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 @@ import org.robolectric.RobolectricTestRunner; @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(); } }