Refactor WifiSlice to CustomSliceManager

Modify the WifiSliceCode to follow the pattern for
Slices that do not match existing UI components.

Test: robotests
Bug: 80263568
Change-Id: Id69e019608777282f4b64ff945e8c30c97aaf577
This commit is contained in:
Matthew Fritze
2018-07-20 09:41:40 -07:00
committed by Matt Fritze
parent 3df19f92b0
commit 7f0a30226a
13 changed files with 125 additions and 90 deletions

View File

@@ -84,8 +84,9 @@ public class Enhanced4gLteSliceHelperTest {
mFeatureFactory = FakeFeatureFactory.setupForTest();
mSlicesFeatureProvider = mFeatureFactory.getSlicesFeatureProvider();
CustomSliceManager manager = new CustomSliceManager(mContext);
when(mSlicesFeatureProvider.getCustomSliceManager(any(Context.class)))
.thenReturn(new CustomSliceManager(mContext));
.thenReturn(manager);
//setup for SettingsSliceProvider tests
mProvider = spy(new SettingsSliceProvider());

View File

@@ -45,7 +45,7 @@ import com.android.settings.testutils.DatabaseTestUtils;
import com.android.settings.testutils.FakeToggleController;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.ShadowThreadUtils;
import com.android.settings.wifi.WifiSliceBuilder;
import com.android.settings.wifi.WifiSlice;
import org.junit.After;
import org.junit.Before;
@@ -94,7 +94,7 @@ public class SettingsSliceProviderTest {
private SliceManager mManager;
private static final List<Uri> SPECIAL_CASE_PLATFORM_URIS = Arrays.asList(
WifiSliceBuilder.WIFI_URI,
WifiSlice.WIFI_URI,
BluetoothSliceBuilder.BLUETOOTH_URI,
LocationSliceBuilder.LOCATION_URI
);
@@ -448,9 +448,9 @@ public class SettingsSliceProviderTest {
@Test
public void bindSlice_wifiSlice_returnsWifiSlice() {
final Slice wifiSlice = mProvider.onBindSlice(WifiSliceBuilder.WIFI_URI);
final Slice wifiSlice = mProvider.onBindSlice(WifiSlice.WIFI_URI);
assertThat(wifiSlice.getUri()).isEqualTo(WifiSliceBuilder.WIFI_URI);
assertThat(wifiSlice.getUri()).isEqualTo(WifiSlice.WIFI_URI);
}
@Test

View File

@@ -85,8 +85,9 @@ public class SliceBroadcastReceiverTest {
mSearchFeatureProvider = new SearchFeatureProviderImpl();
mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
mFakeFeatureFactory.searchFeatureProvider = mSearchFeatureProvider;
CustomSliceManager manager = new CustomSliceManager(mContext);
when(mFakeFeatureFactory.slicesFeatureProvider.getCustomSliceManager(any()))
.thenReturn(new CustomSliceManager(mContext));
.thenReturn(manager);
mLoggingNameArgumentCatpor = ArgumentCaptor.forClass(Pair.class);
mLoggingValueArgumentCatpor = ArgumentCaptor.forClass(Pair.class);
}

View File

@@ -112,10 +112,14 @@ public class SpecialCaseSliceManagerTest {
static boolean backingData = false;
public FakeSliceable(Context context) {}
final Context mContext;
public FakeSliceable(Context context) {
mContext = context;
}
@Override
public Slice getSlice(Context context) {
public Slice getSlice() {
return SLICE;
}
@@ -133,5 +137,10 @@ public class SpecialCaseSliceManagerTest {
public IntentFilter getIntentFilter() {
return new IntentFilter();
}
@Override
public Intent getIntent() {
return null;
}
}
}

View File

@@ -47,10 +47,12 @@ import androidx.slice.core.SliceAction;
import androidx.slice.widget.SliceLiveData;
@RunWith(SettingsRobolectricTestRunner.class)
public class WifiSliceBuilderTest {
public class WifiSliceTest {
private Context mContext;
private WifiSlice mWifiSlice;
@Before
public void setUp() {
mContext = spy(RuntimeEnvironment.application);
@@ -62,11 +64,13 @@ public class WifiSliceBuilderTest {
// Set-up specs for SliceMetadata.
SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
mWifiSlice = new WifiSlice(mContext);
}
@Test
public void getWifiSlice_correctSliceContent() {
final Slice wifiSlice = WifiSliceBuilder.getSlice(mContext);
final Slice wifiSlice = mWifiSlice.getSlice();
final SliceMetadata metadata = SliceMetadata.from(mContext, wifiSlice);
final List<SliceAction> toggles = metadata.getToggles();
@@ -83,11 +87,11 @@ public class WifiSliceBuilderTest {
@Test
public void handleUriChange_updatesWifi() {
final Intent intent = new Intent(WifiSliceBuilder.ACTION_WIFI_SLICE_CHANGED);
final Intent intent = mWifiSlice.getIntent();
intent.putExtra(android.app.slice.Slice.EXTRA_TOGGLE_STATE, true);
final WifiManager wifiManager = mContext.getSystemService(WifiManager.class);
WifiSliceBuilder.handleUriChange(mContext, intent);
mWifiSlice.onNotifyChange(intent);
assertThat(wifiManager.getWifiState()).isEqualTo(WifiManager.WIFI_STATE_ENABLED);
}

View File

@@ -99,8 +99,9 @@ public class WifiCallingSliceHelperTest {
mFeatureFactory = FakeFeatureFactory.setupForTest();
mSlicesFeatureProvider = mFeatureFactory.getSlicesFeatureProvider();
CustomSliceManager manager = new CustomSliceManager(mContext);
when(mSlicesFeatureProvider.getCustomSliceManager(any(Context.class)))
.thenReturn(new CustomSliceManager(mContext));
.thenReturn(manager);
// Prevent crash in SliceMetadata.
Resources resources = spy(mContext.getResources());