Loading services/core/java/com/android/server/NsdService.java +15 −5 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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) { Loading Loading @@ -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() { Loading @@ -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); } }; } } Loading tests/net/java/com/android/server/ConnectivityServiceTest.java +2 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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. Loading Loading
services/core/java/com/android/server/NsdService.java +15 −5 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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) { Loading Loading @@ -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() { Loading @@ -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); } }; } } Loading
tests/net/java/com/android/server/ConnectivityServiceTest.java +2 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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. Loading