am 5751f816: Merge "Add contentobserver for nsd_on setting" into jb-dev

* commit '5751f816f06454ea48bc25f56051878e0ce82dc1':
  Add contentobserver for nsd_on setting
This commit is contained in:
Irfan Sheriff
2012-06-04 22:55:21 -07:00
committed by Android Git Automerger

View File

@@ -20,6 +20,7 @@ import android.content.Context;
import android.content.ContentResolver; 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.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;
@@ -113,6 +114,26 @@ public class NsdService extends INsdManager.Stub {
return cmdToString(msg.what); return cmdToString(msg.what);
} }
/**
* Observes the NSD on/off setting, and takes action when changed.
*/
private void registerForNsdSetting() {
ContentObserver contentObserver = new ContentObserver(this.getHandler()) {
@Override
public void onChange(boolean selfChange) {
if (isNsdEnabled()) {
mNsdStateMachine.sendMessage(NsdManager.ENABLE);
} else {
mNsdStateMachine.sendMessage(NsdManager.DISABLE);
}
}
};
mContext.getContentResolver().registerContentObserver(
Settings.Secure.getUriFor(Settings.Secure.NSD_ON),
false, contentObserver);
}
NsdStateMachine(String name) { NsdStateMachine(String name) {
super(name); super(name);
addState(mDefaultState); addState(mDefaultState);
@@ -124,6 +145,7 @@ public class NsdService extends INsdManager.Stub {
setInitialState(mDisabledState); setInitialState(mDisabledState);
} }
setProcessedMessagesSize(25); setProcessedMessagesSize(25);
registerForNsdSetting();
} }
class DefaultState extends State { class DefaultState extends State {