Merge changes If4deb106,Ib25d7658 am: 0388f0e47b am: 41a57af66a am: ae278410f5
am: 2b9c0de7d3
Change-Id: Id592d287a92c89320a682d660792b9b6c67e7563
This commit is contained in:
@@ -21,6 +21,7 @@ import android.content.ContentResolver;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.database.ContentObserver;
|
import android.database.ContentObserver;
|
||||||
|
import android.net.Uri;
|
||||||
import android.net.nsd.NsdServiceInfo;
|
import android.net.nsd.NsdServiceInfo;
|
||||||
import android.net.nsd.DnsSdTxtRecord;
|
import android.net.nsd.DnsSdTxtRecord;
|
||||||
import android.net.nsd.INsdManager;
|
import android.net.nsd.INsdManager;
|
||||||
@@ -97,16 +98,15 @@ public class NsdService extends INsdManager.Stub {
|
|||||||
* Observes the NSD on/off setting, and takes action when changed.
|
* Observes the NSD on/off setting, and takes action when changed.
|
||||||
*/
|
*/
|
||||||
private void registerForNsdSetting() {
|
private void registerForNsdSetting() {
|
||||||
ContentObserver contentObserver = new ContentObserver(this.getHandler()) {
|
final ContentObserver contentObserver = new ContentObserver(this.getHandler()) {
|
||||||
@Override
|
@Override
|
||||||
public void onChange(boolean selfChange) {
|
public void onChange(boolean selfChange) {
|
||||||
notifyEnabled(isNsdEnabled());
|
notifyEnabled(isNsdEnabled());
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
mContext.getContentResolver().registerContentObserver(
|
final Uri uri = Settings.Global.getUriFor(Settings.Global.NSD_ON);
|
||||||
Settings.Global.getUriFor(Settings.Global.NSD_ON),
|
mNsdSettings.registerContentObserver(uri, contentObserver);
|
||||||
false, contentObserver);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
NsdStateMachine(String name, Handler handler) {
|
NsdStateMachine(String name, Handler handler) {
|
||||||
@@ -880,13 +880,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
|
@VisibleForTesting
|
||||||
public interface NsdSettings {
|
public interface NsdSettings {
|
||||||
boolean isEnabled();
|
boolean isEnabled();
|
||||||
void putEnabledStatus(boolean isEnabled);
|
void putEnabledStatus(boolean isEnabled);
|
||||||
|
void registerContentObserver(Uri uri, ContentObserver observer);
|
||||||
|
|
||||||
static NsdSettings makeDefault(Context context) {
|
static NsdSettings makeDefault(Context context) {
|
||||||
ContentResolver resolver = context.getContentResolver();
|
final ContentResolver resolver = context.getContentResolver();
|
||||||
return new NsdSettings() {
|
return new NsdSettings() {
|
||||||
@Override
|
@Override
|
||||||
public boolean isEnabled() {
|
public boolean isEnabled() {
|
||||||
@@ -897,6 +902,11 @@ public class NsdService extends INsdManager.Stub {
|
|||||||
public void putEnabledStatus(boolean isEnabled) {
|
public void putEnabledStatus(boolean isEnabled) {
|
||||||
Settings.Global.putInt(resolver, Settings.Global.NSD_ON, isEnabled ? 1 : 0);
|
Settings.Global.putInt(resolver, Settings.Global.NSD_ON, isEnabled ? 1 : 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void registerContentObserver(Uri uri, ContentObserver observer) {
|
||||||
|
resolver.registerContentObserver(uri, false, observer);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user