summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorPaul Jensen <pauljensen@google.com>2016-04-01 13:28:24 -0400
committerLorenzo Colitti <lorenzo@google.com>2016-04-04 23:51:46 +0900
commit099101784349e7f5a541ecb7411a118bbeebb99b (patch)
tree909c5af86da90488a39036ba07a0ae9fab73cfaf /apps
parent27d0c3e484a2379b27b7bc3c561fc8320e8d9afc (diff)
downloadandroid_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.xml1
-rw-r--r--apps/Development/res/layout/connectivity.xml13
-rw-r--r--apps/Development/res/values/strings.xml2
-rw-r--r--apps/Development/src/com/android/development/Connectivity.java23
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);
+ }
}