Merge changes If4deb106,Ib25d7658
* changes: NsdService: do not use ContentResolver directly @Ignore ConnectivityServiceTest#testRequestBenchmark
This commit is contained in:
@@ -21,6 +21,7 @@ import android.content.ContentResolver;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.database.ContentObserver;
|
||||
import android.net.Uri;
|
||||
import android.net.nsd.NsdServiceInfo;
|
||||
import android.net.nsd.DnsSdTxtRecord;
|
||||
import android.net.nsd.INsdManager;
|
||||
@@ -96,16 +97,15 @@ public class NsdService extends INsdManager.Stub {
|
||||
* Observes the NSD on/off setting, and takes action when changed.
|
||||
*/
|
||||
private void registerForNsdSetting() {
|
||||
ContentObserver contentObserver = new ContentObserver(this.getHandler()) {
|
||||
final ContentObserver contentObserver = new ContentObserver(this.getHandler()) {
|
||||
@Override
|
||||
public void onChange(boolean selfChange) {
|
||||
notifyEnabled(isNsdEnabled());
|
||||
}
|
||||
};
|
||||
|
||||
mContext.getContentResolver().registerContentObserver(
|
||||
Settings.Global.getUriFor(Settings.Global.NSD_ON),
|
||||
false, contentObserver);
|
||||
final Uri uri = Settings.Global.getUriFor(Settings.Global.NSD_ON);
|
||||
mNsdSettings.registerContentObserver(uri, contentObserver);
|
||||
}
|
||||
|
||||
NsdStateMachine(String name, Handler handler) {
|
||||
@@ -885,13 +885,18 @@ public class NsdService extends INsdManager.Stub {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Interface which encapsulates dependencies of NsdService that are hard to mock, hard to
|
||||
* override, or have side effects on global state in unit tests.
|
||||
*/
|
||||
@VisibleForTesting
|
||||
public interface NsdSettings {
|
||||
boolean isEnabled();
|
||||
void putEnabledStatus(boolean isEnabled);
|
||||
void registerContentObserver(Uri uri, ContentObserver observer);
|
||||
|
||||
static NsdSettings makeDefault(Context context) {
|
||||
ContentResolver resolver = context.getContentResolver();
|
||||
final ContentResolver resolver = context.getContentResolver();
|
||||
return new NsdSettings() {
|
||||
@Override
|
||||
public boolean isEnabled() {
|
||||
@@ -902,6 +907,11 @@ public class NsdService extends INsdManager.Stub {
|
||||
public void putEnabledStatus(boolean isEnabled) {
|
||||
Settings.Global.putInt(resolver, Settings.Global.NSD_ON, isEnabled ? 1 : 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerContentObserver(Uri uri, ContentObserver observer) {
|
||||
resolver.registerContentObserver(uri, false, observer);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -97,6 +97,7 @@ import com.android.server.connectivity.NetworkMonitor;
|
||||
import com.android.server.connectivity.NetworkMonitor.CaptivePortalProbeResult;
|
||||
import com.android.server.net.NetworkPinner;
|
||||
|
||||
import org.junit.Ignore;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
import org.mockito.Spy;
|
||||
@@ -2409,6 +2410,7 @@ public class ConnectivityServiceTest extends AndroidTestCase {
|
||||
mCm.unregisterNetworkCallback(fgCallback);
|
||||
}
|
||||
|
||||
@Ignore // This test has instrinsic chances of spurious failures: ignore for continuous testing.
|
||||
@SmallTest
|
||||
public void testRequestBenchmark() throws Exception {
|
||||
// TODO: turn this unit test into a real benchmarking test.
|
||||
|
||||
Reference in New Issue
Block a user