Loading src/com/android/settings/slices/SliceBackgroundWorker.java +4 −0 Original line number Diff line number Diff line Loading @@ -58,6 +58,10 @@ public abstract class SliceBackgroundWorker<E> implements Closeable { mUri = uri; } public Uri getUri() { return mUri; } /** * Returns the singleton instance of the {@link SliceBackgroundWorker} for specified {@link * CustomSliceable} Loading src/com/android/settings/wifi/WifiSlice.java +2 −10 Original line number Diff line number Diff line Loading @@ -25,7 +25,6 @@ import android.annotation.ColorInt; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.net.Uri; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; Loading Loading @@ -75,14 +74,6 @@ public class WifiSlice implements CustomSliceable { return WIFI_SLICE_URI; } @Override public IntentFilter getIntentFilter() { final IntentFilter filter = new IntentFilter(); filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION); filter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION); return filter; } @Override public Slice getSlice() { final boolean isWifiEnabled = isWifiEnabled(); Loading Loading @@ -200,7 +191,7 @@ public class WifiSlice implements CustomSliceable { mWifiManager.isWifiEnabled()); mWifiManager.setWifiEnabled(newState); // Do not notifyChange on Uri. The service takes longer to update the current value than it // does for the Slice to check the current value again. Let {@link SliceBroadcastRelay} // does for the Slice to check the current value again. Let {@link WifiScanWorker} // handle it. } Loading Loading @@ -292,6 +283,7 @@ public class WifiSlice implements CustomSliceable { @Override public void onWifiStateChanged(int state) { mContext.getContentResolver().notifyChange(getUri(), null); } @Override Loading tests/robotests/src/com/android/settings/wifi/WifiSliceTest.java +21 −2 Original line number Diff line number Diff line Loading @@ -20,10 +20,18 @@ package com.android.settings.wifi; import static android.app.slice.Slice.HINT_LIST_ITEM; import static android.app.slice.SliceItem.FORMAT_SLICE; import static com.android.settings.slices.CustomSliceRegistry.WIFI_SLICE_URI; import static com.android.settings.wifi.WifiSlice.DEFAULT_EXPANDED_ROW_COUNT; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.net.wifi.WifiManager; Loading Loading @@ -52,13 +60,16 @@ import java.util.List; public class WifiSliceTest { private Context mContext; private ContentResolver mResolver; private WifiManager mWifiManager; private WifiSlice mWifiSlice; private WifiSlice.WifiScanWorker mWifiScanWorker; @Before public void setUp() { mContext = RuntimeEnvironment.application; mContext = spy(RuntimeEnvironment.application); mResolver = mock(ContentResolver.class); doReturn(mResolver).when(mContext).getContentResolver(); mWifiManager = mContext.getSystemService(WifiManager.class); // Set-up specs for SliceMetadata. Loading @@ -66,6 +77,7 @@ public class WifiSliceTest { mWifiManager.setWifiEnabled(true); mWifiSlice = new WifiSlice(mContext); mWifiScanWorker = new WifiSlice.WifiScanWorker(mContext, WIFI_SLICE_URI); } @Test Loading Loading @@ -122,4 +134,11 @@ public class WifiSliceTest { assertThat(wifiManager.getWifiState()).isEqualTo(WifiManager.WIFI_STATE_ENABLED); } @Test public void onWifiStateChanged_shouldNotifyChange() { mWifiScanWorker.onWifiStateChanged(WifiManager.WIFI_STATE_DISABLED); verify(mResolver).notifyChange(WIFI_SLICE_URI, null); } } Loading
src/com/android/settings/slices/SliceBackgroundWorker.java +4 −0 Original line number Diff line number Diff line Loading @@ -58,6 +58,10 @@ public abstract class SliceBackgroundWorker<E> implements Closeable { mUri = uri; } public Uri getUri() { return mUri; } /** * Returns the singleton instance of the {@link SliceBackgroundWorker} for specified {@link * CustomSliceable} Loading
src/com/android/settings/wifi/WifiSlice.java +2 −10 Original line number Diff line number Diff line Loading @@ -25,7 +25,6 @@ import android.annotation.ColorInt; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.net.Uri; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; Loading Loading @@ -75,14 +74,6 @@ public class WifiSlice implements CustomSliceable { return WIFI_SLICE_URI; } @Override public IntentFilter getIntentFilter() { final IntentFilter filter = new IntentFilter(); filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION); filter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION); return filter; } @Override public Slice getSlice() { final boolean isWifiEnabled = isWifiEnabled(); Loading Loading @@ -200,7 +191,7 @@ public class WifiSlice implements CustomSliceable { mWifiManager.isWifiEnabled()); mWifiManager.setWifiEnabled(newState); // Do not notifyChange on Uri. The service takes longer to update the current value than it // does for the Slice to check the current value again. Let {@link SliceBroadcastRelay} // does for the Slice to check the current value again. Let {@link WifiScanWorker} // handle it. } Loading Loading @@ -292,6 +283,7 @@ public class WifiSlice implements CustomSliceable { @Override public void onWifiStateChanged(int state) { mContext.getContentResolver().notifyChange(getUri(), null); } @Override Loading
tests/robotests/src/com/android/settings/wifi/WifiSliceTest.java +21 −2 Original line number Diff line number Diff line Loading @@ -20,10 +20,18 @@ package com.android.settings.wifi; import static android.app.slice.Slice.HINT_LIST_ITEM; import static android.app.slice.SliceItem.FORMAT_SLICE; import static com.android.settings.slices.CustomSliceRegistry.WIFI_SLICE_URI; import static com.android.settings.wifi.WifiSlice.DEFAULT_EXPANDED_ROW_COUNT; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.net.wifi.WifiManager; Loading Loading @@ -52,13 +60,16 @@ import java.util.List; public class WifiSliceTest { private Context mContext; private ContentResolver mResolver; private WifiManager mWifiManager; private WifiSlice mWifiSlice; private WifiSlice.WifiScanWorker mWifiScanWorker; @Before public void setUp() { mContext = RuntimeEnvironment.application; mContext = spy(RuntimeEnvironment.application); mResolver = mock(ContentResolver.class); doReturn(mResolver).when(mContext).getContentResolver(); mWifiManager = mContext.getSystemService(WifiManager.class); // Set-up specs for SliceMetadata. Loading @@ -66,6 +77,7 @@ public class WifiSliceTest { mWifiManager.setWifiEnabled(true); mWifiSlice = new WifiSlice(mContext); mWifiScanWorker = new WifiSlice.WifiScanWorker(mContext, WIFI_SLICE_URI); } @Test Loading Loading @@ -122,4 +134,11 @@ public class WifiSliceTest { assertThat(wifiManager.getWifiState()).isEqualTo(WifiManager.WIFI_STATE_ENABLED); } @Test public void onWifiStateChanged_shouldNotifyChange() { mWifiScanWorker.onWifiStateChanged(WifiManager.WIFI_STATE_DISABLED); verify(mResolver).notifyChange(WIFI_SLICE_URI, null); } }