Merge "Update BatterySettingsFeatureProvider interface" into udc-qpr-dev

This commit is contained in:
TreeHugger Robot
2023-06-20 02:08:25 +00:00
committed by Android (Google) Code Review
7 changed files with 36 additions and 22 deletions

View File

@@ -45,7 +45,7 @@ public class BatteryFirstUseDatePreferenceController extends BasePreferenceContr
@Override @Override
public int getAvailabilityStatus() { public int getAvailabilityStatus() {
return mBatterySettingsFeatureProvider.isFirstUseDateAvailable(getFirstUseDate()) return mBatterySettingsFeatureProvider.isFirstUseDateAvailable(mContext, getFirstUseDate())
? AVAILABLE : CONDITIONALLY_UNAVAILABLE; ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
} }

View File

@@ -45,7 +45,8 @@ public class BatteryManufactureDatePreferenceController extends BasePreferenceCo
@Override @Override
public int getAvailabilityStatus() { public int getAvailabilityStatus() {
return mBatterySettingsFeatureProvider.isManufactureDateAvailable(getManufactureDate()) return mBatterySettingsFeatureProvider.isManufactureDateAvailable(mContext,
getManufactureDate())
? AVAILABLE : CONDITIONALLY_UNAVAILABLE; ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
} }

View File

@@ -16,12 +16,14 @@
package com.android.settings.fuelgauge; package com.android.settings.fuelgauge;
import android.content.Context;
/** Feature provider for battery settings usage. */ /** Feature provider for battery settings usage. */
public interface BatterySettingsFeatureProvider { public interface BatterySettingsFeatureProvider {
/** Returns true if manufacture date should be shown */ /** 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 */ /** Returns true if first use date should be shown */
boolean isFirstUseDateAvailable(long firstUseDateMs); boolean isFirstUseDateAvailable(Context context, long firstUseDateMs);
} }

View File

@@ -16,16 +16,18 @@
package com.android.settings.fuelgauge; package com.android.settings.fuelgauge;
import android.content.Context;
/** Feature provider implementation for battery settings usage. */ /** Feature provider implementation for battery settings usage. */
public class BatterySettingsFeatureProviderImpl implements BatterySettingsFeatureProvider { public class BatterySettingsFeatureProviderImpl implements BatterySettingsFeatureProvider {
@Override @Override
public boolean isManufactureDateAvailable(long manufactureDateMs) { public boolean isManufactureDateAvailable(Context context, long manufactureDateMs) {
return false; return false;
} }
@Override @Override
public boolean isFirstUseDateAvailable(long firstUseDateMs) { public boolean isFirstUseDateAvailable(Context context, long firstUseDateMs) {
return false; return false;
} }
} }

View File

@@ -22,6 +22,7 @@ import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_U
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.anyLong; import static org.mockito.ArgumentMatchers.anyLong;
import static org.mockito.Mockito.eq;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import static org.robolectric.Shadows.shadowOf; import static org.robolectric.Shadows.shadowOf;
@@ -60,24 +61,24 @@ public class BatteryFirstUseDatePreferenceControllerTest {
@Test @Test
public void getAvailabilityStatus_dateAvailable_returnAvailable() { public void getAvailabilityStatus_dateAvailable_returnAvailable() {
when(mFactory.batterySettingsFeatureProvider.isFirstUseDateAvailable(anyLong())) when(mFactory.batterySettingsFeatureProvider.isFirstUseDateAvailable(eq(mContext),
.thenReturn(true); anyLong())).thenReturn(true);
assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE); assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
} }
@Test @Test
public void getAvailabilityStatus_dateUnavailable_returnNotAvailable() { public void getAvailabilityStatus_dateUnavailable_returnNotAvailable() {
when(mFactory.batterySettingsFeatureProvider.isFirstUseDateAvailable(anyLong())) when(mFactory.batterySettingsFeatureProvider.isFirstUseDateAvailable(eq(mContext),
.thenReturn(false); anyLong())).thenReturn(false);
assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE); assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
} }
@Test @Test
public void getSummary_available_returnExpectedDate() { public void getSummary_available_returnExpectedDate() {
when(mFactory.batterySettingsFeatureProvider.isFirstUseDateAvailable(anyLong())) when(mFactory.batterySettingsFeatureProvider.isFirstUseDateAvailable(eq(mContext),
.thenReturn(true); anyLong())).thenReturn(true);
mShadowBatteryManager.setLongProperty(BatteryManager.BATTERY_PROPERTY_FIRST_USAGE_DATE, mShadowBatteryManager.setLongProperty(BatteryManager.BATTERY_PROPERTY_FIRST_USAGE_DATE,
1669680000L); 1669680000L);
@@ -88,8 +89,8 @@ public class BatteryFirstUseDatePreferenceControllerTest {
@Test @Test
public void getSummary_unavailable_returnNull() { public void getSummary_unavailable_returnNull() {
when(mFactory.batterySettingsFeatureProvider.isFirstUseDateAvailable(anyLong())) when(mFactory.batterySettingsFeatureProvider.isFirstUseDateAvailable(eq(mContext),
.thenReturn(false); anyLong())).thenReturn(false);
assertThat(mController.getSummary()).isNull(); assertThat(mController.getSummary()).isNull();
} }

View File

@@ -22,6 +22,7 @@ import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_U
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.anyLong; import static org.mockito.ArgumentMatchers.anyLong;
import static org.mockito.Mockito.eq;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import static org.robolectric.Shadows.shadowOf; import static org.robolectric.Shadows.shadowOf;
@@ -61,7 +62,7 @@ public class BatteryManufactureDatePreferenceControllerTest {
@Test @Test
public void getAvailabilityStatus_dateAvailable_returnAvailable() { public void getAvailabilityStatus_dateAvailable_returnAvailable() {
when(mFactory.batterySettingsFeatureProvider.isManufactureDateAvailable( when(mFactory.batterySettingsFeatureProvider.isManufactureDateAvailable(eq(mContext),
anyLong())).thenReturn(true); anyLong())).thenReturn(true);
assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE); assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
@@ -69,15 +70,15 @@ public class BatteryManufactureDatePreferenceControllerTest {
@Test @Test
public void getAvailabilityStatus_dateUnavailable_returnNotAvailable() { public void getAvailabilityStatus_dateUnavailable_returnNotAvailable() {
when(mFactory.batterySettingsFeatureProvider.isManufactureDateAvailable(anyLong())) when(mFactory.batterySettingsFeatureProvider.isManufactureDateAvailable(eq(mContext),
.thenReturn(false); anyLong())).thenReturn(false);
assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE); assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
} }
@Test @Test
public void getSummary_available_returnExpectedDate() { public void getSummary_available_returnExpectedDate() {
when(mFactory.batterySettingsFeatureProvider.isManufactureDateAvailable( when(mFactory.batterySettingsFeatureProvider.isManufactureDateAvailable(eq(mContext),
anyLong())).thenReturn(true); anyLong())).thenReturn(true);
mShadowBatteryManager.setLongProperty(BatteryManager.BATTERY_PROPERTY_MANUFACTURING_DATE, mShadowBatteryManager.setLongProperty(BatteryManager.BATTERY_PROPERTY_MANUFACTURING_DATE,
1669680000L); 1669680000L);
@@ -89,8 +90,8 @@ public class BatteryManufactureDatePreferenceControllerTest {
@Test @Test
public void getSummary_unavailable_returnNull() { public void getSummary_unavailable_returnNull() {
when(mFactory.batterySettingsFeatureProvider.isManufactureDateAvailable(anyLong())) when(mFactory.batterySettingsFeatureProvider.isManufactureDateAvailable(eq(mContext),
.thenReturn(false); anyLong())).thenReturn(false);
assertThat(mController.getSummary()).isNull(); assertThat(mController.getSummary()).isNull();
} }

View File

@@ -19,6 +19,11 @@ package com.android.settings.fuelgauge;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.anyLong; 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.Before;
import org.junit.Test; import org.junit.Test;
@@ -28,19 +33,21 @@ import org.robolectric.RobolectricTestRunner;
@RunWith(RobolectricTestRunner.class) @RunWith(RobolectricTestRunner.class)
public class BatterySettingsFeatureProviderImplTest { public class BatterySettingsFeatureProviderImplTest {
private BatterySettingsFeatureProviderImpl mImpl; private BatterySettingsFeatureProviderImpl mImpl;
private Context mContext;
@Before @Before
public void setUp() { public void setUp() {
mImpl = new BatterySettingsFeatureProviderImpl(); mImpl = new BatterySettingsFeatureProviderImpl();
mContext = ApplicationProvider.getApplicationContext();
} }
@Test @Test
public void isManufactureDateAvailable_returnFalse() { public void isManufactureDateAvailable_returnFalse() {
assertThat(mImpl.isManufactureDateAvailable(anyLong())).isFalse(); assertThat(mImpl.isManufactureDateAvailable(eq(mContext), anyLong())).isFalse();
} }
@Test @Test
public void isFirstUseDateAvailable_returnFalse() { public void isFirstUseDateAvailable_returnFalse() {
assertThat(mImpl.isFirstUseDateAvailable(anyLong())).isFalse(); assertThat(mImpl.isFirstUseDateAvailable(eq(mContext), anyLong())).isFalse();
} }
} }