Fix the consistency of connection status displayed on Wi-Fi card

- Refresh slice in WifiTracker.onConnectedChanged
- Only expose notifySliceChange to child in SliceBackgroundWorker

Fixes: 123270015
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.wifi.slice
Change-Id: Id5540ebae2746e58e14924665c5e62bf437ebcf0
This commit is contained in:
Jason Chiu
2019-01-23 18:09:45 +08:00
parent 875178bbfa
commit 36b37de9d6
4 changed files with 19 additions and 17 deletions

View File

@@ -30,16 +30,11 @@ public class BluetoothUpdateWorker extends SliceBackgroundWorker implements Blue
private static final String TAG = "BluetoothUpdateWorker";
private final Context mContext;
private final Uri mUri;
private final LocalBluetoothManager mLocalBluetoothManager;
public BluetoothUpdateWorker(Context context, Uri uri) {
super(context, uri);
mContext = context;
mUri = uri;
mLocalBluetoothManager = Utils.getLocalBtManager(mContext);
mLocalBluetoothManager = Utils.getLocalBtManager(context);
}
@Override
@@ -89,8 +84,4 @@ public class BluetoothUpdateWorker extends SliceBackgroundWorker implements Blue
int bluetoothProfile) {
notifySliceChange();
}
private void notifySliceChange() {
mContext.getContentResolver().notifyChange(mUri, null);
}
}

View File

@@ -59,10 +59,6 @@ public abstract class SliceBackgroundWorker<E> implements Closeable {
mUri = uri;
}
protected Uri getUri() {
return mUri;
}
/**
* Returns the singleton instance of the {@link SliceBackgroundWorker} for specified {@link Uri}
* if exists
@@ -148,7 +144,14 @@ public abstract class SliceBackgroundWorker<E> implements Closeable {
if (needNotify) {
mCachedResults = results;
notifySliceChange();
}
}
/**
* Notify that data was updated and attempt to sync changes to the Slice.
*/
protected void notifySliceChange() {
mContext.getContentResolver().notifyChange(mUri, null);
}
}
}

View File

@@ -292,11 +292,12 @@ public class WifiSlice implements CustomSliceable {
@Override
public void onWifiStateChanged(int state) {
mContext.getContentResolver().notifyChange(getUri(), null);
notifySliceChange();
}
@Override
public void onConnectedChanged() {
notifySliceChange();
}
@Override

View File

@@ -139,4 +139,11 @@ public class WifiSliceTest {
verify(mResolver).notifyChange(WIFI_SLICE_URI, null);
}
@Test
public void onConnectedChanged_shouldNotifyChange() {
mWifiScanWorker.onConnectedChanged();
verify(mResolver).notifyChange(WIFI_SLICE_URI, null);
}
}