Merge "Update BatterySettingsFeatureProvider interface" into udc-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
fcd80ade3b
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -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);
|
||||||
}
|
}
|
||||||
|
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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();
|
||||||
}
|
}
|
||||||
|
@@ -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();
|
||||||
}
|
}
|
||||||
|
@@ -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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user