diff options
author | Paul Jensen <pauljensen@google.com> | 2016-04-01 13:28:24 -0400 |
---|---|---|
committer | Lorenzo Colitti <lorenzo@google.com> | 2016-04-04 23:51:46 +0900 |
commit | 099101784349e7f5a541ecb7411a118bbeebb99b (patch) | |
tree | 909c5af86da90488a39036ba07a0ae9fab73cfaf /apps | |
parent | 27d0c3e484a2379b27b7bc3c561fc8320e8d9afc (diff) | |
download | android_development-099101784349e7f5a541ecb7411a118bbeebb99b.tar.gz android_development-099101784349e7f5a541ecb7411a118bbeebb99b.tar.bz2 android_development-099101784349e7f5a541ecb7411a118bbeebb99b.zip |
Control WifiManager.MulticastLock from connectivity dev app
Add buttons to acquire and release the WifiManager.MulticastLock.
Change-Id: I28fd7743cb3adfeec055b6bcce2c8128b15cf2d3
Diffstat (limited to 'apps')
-rw-r--r-- | apps/Development/AndroidManifest.xml | 1 | ||||
-rw-r--r-- | apps/Development/res/layout/connectivity.xml | 13 | ||||
-rw-r--r-- | apps/Development/res/values/strings.xml | 2 | ||||
-rw-r--r-- | apps/Development/src/com/android/development/Connectivity.java | 23 |
4 files changed, 38 insertions, 1 deletions
diff --git a/apps/Development/AndroidManifest.xml b/apps/Development/AndroidManifest.xml index d932174d1..2379e0070 100644 --- a/apps/Development/AndroidManifest.xml +++ b/apps/Development/AndroidManifest.xml @@ -20,6 +20,7 @@ <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> + <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.DEVICE_POWER" /> <uses-permission android:name="android.permission.DUMP" /> diff --git a/apps/Development/res/layout/connectivity.xml b/apps/Development/res/layout/connectivity.xml index e5020d822..7c5c71419 100644 --- a/apps/Development/res/layout/connectivity.xml +++ b/apps/Development/res/layout/connectivity.xml @@ -42,6 +42,19 @@ android:layout_height="wrap_content" android:text="@string/disable_wifi" /> </LinearLayout> + <LinearLayout + android:orientation="horizontal" + android:layout_width="match_parent" + android:layout_height="wrap_content"> + <Button android:id="@+id/acquireWifiMulticastLock" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/acquire_wifi_multicast_lock" /> + <Button android:id="@+id/releaseWifiMulticastLock" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/release_wifi_multicast_lock" /> + </LinearLayout> <!-- divider line --> <View android:background="#FFFFFFFF" diff --git a/apps/Development/res/values/strings.xml b/apps/Development/res/values/strings.xml index ea5b06d83..d8e7eeabe 100644 --- a/apps/Development/res/values/strings.xml +++ b/apps/Development/res/values/strings.xml @@ -23,6 +23,8 @@ <string name="enable_wifi">Enable Wifi</string> <string name="disable_wifi">Disable Wifi</string> + <string name="acquire_wifi_multicast_lock">Acquire Multicast Lock</string> + <string name="release_wifi_multicast_lock">Release Multicast Lock</string> <string name="wifi_on_duration">Wifi on (ms): </string> <string name="wifi_off_duration">Wifi off (ms): </string> <string name="wifi_cycles_done">Cycles done: </string> diff --git a/apps/Development/src/com/android/development/Connectivity.java b/apps/Development/src/com/android/development/Connectivity.java index c454db6da..47bba601e 100644 --- a/apps/Development/src/com/android/development/Connectivity.java +++ b/apps/Development/src/com/android/development/Connectivity.java @@ -1,4 +1,4 @@ -/* //device/apps/Settings/src/com/android/settings/Keyguard.java +/** ** ** Copyright 2006, The Android Open Source Project ** @@ -132,6 +132,7 @@ public class Connectivity extends Activity { private String mTdlsAddr = null; private WifiManager mWm; + private WifiManager.MulticastLock mWml; private PowerManager mPm; private ConnectivityManager mCm; private INetworkManagementService mNetd; @@ -404,6 +405,7 @@ public class Connectivity extends Activity { setContentView(R.layout.connectivity); mWm = (WifiManager)getSystemService(Context.WIFI_SERVICE); + mWml = mWm.createMulticastLock(TAG); mPm = (PowerManager)getSystemService(Context.POWER_SERVICE); mCm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); IBinder b = ServiceManager.getService(Context.NETWORKMANAGEMENT_SERVICE); @@ -411,6 +413,9 @@ public class Connectivity extends Activity { findViewById(R.id.enableWifi).setOnClickListener(mClickListener); findViewById(R.id.disableWifi).setOnClickListener(mClickListener); + findViewById(R.id.acquireWifiMulticastLock).setOnClickListener(mClickListener); + findViewById(R.id.releaseWifiMulticastLock).setOnClickListener(mClickListener); + findViewById(R.id.releaseWifiMulticastLock).setEnabled(false); findViewById(R.id.startDelayedCycle).setOnClickListener(mClickListener); findViewById(R.id.stopDelayedCycle).setOnClickListener(mClickListener); @@ -481,6 +486,7 @@ public class Connectivity extends Activity { mCm.unregisterNetworkCallback(mCallback); mCallback = null; unregisterReceiver(mReceiver); + mWml.release(); } @Override @@ -498,6 +504,10 @@ public class Connectivity extends Activity { case R.id.disableWifi: mWm.setWifiEnabled(false); break; + case R.id.acquireWifiMulticastLock: + case R.id.releaseWifiMulticastLock: + onWifiMulticastLock(v.getId() == R.id.acquireWifiMulticastLock); + break; case R.id.startDelayedCycle: onStartDelayedCycle(); break; @@ -784,4 +794,15 @@ public class Connectivity extends Activity { }; requestThread.start(); } + + private void onWifiMulticastLock(boolean enable) { + Log.d(TAG, (enable ? "Acquiring" : "Releasing") + " wifi multicast lock"); + if (enable) { + mWml.acquire(); + } else { + mWml.release(); + } + findViewById(R.id.acquireWifiMulticastLock).setEnabled(!enable); + findViewById(R.id.releaseWifiMulticastLock).setEnabled(enable); + } } |