Merge "Control WifiManager.MulticastLock from connectivity dev app" into nyc-dev

am: 5bd712b

* commit '5bd712b6af1e563c86208a7162d4a67a93caf3d2':
  Control WifiManager.MulticastLock from connectivity dev app

Change-Id: I76660144a5db75265cb6f78ed3c014403c2bd333
This commit is contained in:
Paul Jensen
2016-04-05 00:35:29 +00:00
committed by android-build-merger
4 changed files with 38 additions and 1 deletions

View File

@@ -20,6 +20,7 @@
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_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_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.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.DEVICE_POWER" /> <uses-permission android:name="android.permission.DEVICE_POWER" />
<uses-permission android:name="android.permission.DUMP" /> <uses-permission android:name="android.permission.DUMP" />

View File

@@ -42,6 +42,19 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/disable_wifi" /> android:text="@string/disable_wifi" />
</LinearLayout> </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 --> <!-- divider line -->
<View android:background="#FFFFFFFF" <View android:background="#FFFFFFFF"

View File

@@ -23,6 +23,8 @@
<string name="enable_wifi">Enable Wifi</string> <string name="enable_wifi">Enable Wifi</string>
<string name="disable_wifi">Disable 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_on_duration">Wifi on (ms): </string>
<string name="wifi_off_duration">Wifi off (ms): </string> <string name="wifi_off_duration">Wifi off (ms): </string>
<string name="wifi_cycles_done">Cycles done: </string> <string name="wifi_cycles_done">Cycles done: </string>

View File

@@ -1,4 +1,4 @@
/* //device/apps/Settings/src/com/android/settings/Keyguard.java /**
** **
** Copyright 2006, The Android Open Source Project ** Copyright 2006, The Android Open Source Project
** **
@@ -132,6 +132,7 @@ public class Connectivity extends Activity {
private String mTdlsAddr = null; private String mTdlsAddr = null;
private WifiManager mWm; private WifiManager mWm;
private WifiManager.MulticastLock mWml;
private PowerManager mPm; private PowerManager mPm;
private ConnectivityManager mCm; private ConnectivityManager mCm;
private INetworkManagementService mNetd; private INetworkManagementService mNetd;
@@ -404,6 +405,7 @@ public class Connectivity extends Activity {
setContentView(R.layout.connectivity); setContentView(R.layout.connectivity);
mWm = (WifiManager)getSystemService(Context.WIFI_SERVICE); mWm = (WifiManager)getSystemService(Context.WIFI_SERVICE);
mWml = mWm.createMulticastLock(TAG);
mPm = (PowerManager)getSystemService(Context.POWER_SERVICE); mPm = (PowerManager)getSystemService(Context.POWER_SERVICE);
mCm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); mCm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
IBinder b = ServiceManager.getService(Context.NETWORKMANAGEMENT_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.enableWifi).setOnClickListener(mClickListener);
findViewById(R.id.disableWifi).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.startDelayedCycle).setOnClickListener(mClickListener);
findViewById(R.id.stopDelayedCycle).setOnClickListener(mClickListener); findViewById(R.id.stopDelayedCycle).setOnClickListener(mClickListener);
@@ -481,6 +486,7 @@ public class Connectivity extends Activity {
mCm.unregisterNetworkCallback(mCallback); mCm.unregisterNetworkCallback(mCallback);
mCallback = null; mCallback = null;
unregisterReceiver(mReceiver); unregisterReceiver(mReceiver);
mWml.release();
} }
@Override @Override
@@ -498,6 +504,10 @@ public class Connectivity extends Activity {
case R.id.disableWifi: case R.id.disableWifi:
mWm.setWifiEnabled(false); mWm.setWifiEnabled(false);
break; break;
case R.id.acquireWifiMulticastLock:
case R.id.releaseWifiMulticastLock:
onWifiMulticastLock(v.getId() == R.id.acquireWifiMulticastLock);
break;
case R.id.startDelayedCycle: case R.id.startDelayedCycle:
onStartDelayedCycle(); onStartDelayedCycle();
break; break;
@@ -784,4 +794,15 @@ public class Connectivity extends Activity {
}; };
requestThread.start(); 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);
}
} }