diff options
author | Irfan Sheriff <isheriff@google.com> | 2012-06-05 09:49:24 -0700 |
---|---|---|
committer | Irfan Sheriff <isheriff@google.com> | 2012-06-05 09:49:24 -0700 |
commit | a7590f32e06c901b30815f8ca7b719e74b4cd8bc (patch) | |
tree | b878580215da51b03d9902a8d9083d8610ca8db2 /services/java/com/android/server/NsdService.java | |
parent | 75bc758c43cf968be59c6d1c87dbc26615e969af (diff) | |
parent | e7884dbb553b955cdd2e9db423a2f73675aef1c7 (diff) |
resolved conflicts for merge of e7884dbb to master
Change-Id: Icb13c37491d3e9f0252198f98d8110740fa1f997
Diffstat (limited to 'services/java/com/android/server/NsdService.java')
-rw-r--r-- | services/java/com/android/server/NsdService.java | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/services/java/com/android/server/NsdService.java b/services/java/com/android/server/NsdService.java index 193e80cdf1df..87843d956a48 100644 --- a/services/java/com/android/server/NsdService.java +++ b/services/java/com/android/server/NsdService.java @@ -20,6 +20,7 @@ import android.content.Context; import android.content.ContentResolver; import android.content.Intent; import android.content.pm.PackageManager; +import android.database.ContentObserver; import android.net.nsd.NsdServiceInfo; import android.net.nsd.DnsSdTxtRecord; import android.net.nsd.INsdManager; @@ -113,6 +114,26 @@ public class NsdService extends INsdManager.Stub { return cmdToString(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) { super(name); addState(mDefaultState); @@ -124,6 +145,7 @@ public class NsdService extends INsdManager.Stub { setInitialState(mDisabledState); } setLogRecSize(25); + registerForNsdSetting(); } class DefaultState extends State { |