Add a hidden API to toggle airplane mode.

Added a hidden API under ConnectivityManager to toggle airplane mode.
This may be a temp solution for b/10653570.
bug:10653570

Change-Id: I0b2b42230073289eb8dc6891317d62b84e26c133
This commit is contained in:
Yuhao Zheng
2013-09-09 17:00:04 -07:00
parent f41860989a
commit b77f15d90b
3 changed files with 33 additions and 0 deletions

View File

@@ -4681,6 +4681,21 @@ public class ConnectivityService extends IConnectivityManager.Stub {
setProvNotificationVisible(visible, networkType, extraInfo, url);
}
@Override
public void setAirplaneMode(boolean enable) {
enforceConnectivityInternalPermission();
final ContentResolver cr = mContext.getContentResolver();
Settings.Global.putInt(cr, Settings.Global.AIRPLANE_MODE_ON, enable ? 1 : 0);
Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
intent.putExtra("state", enable);
final long ident = Binder.clearCallingIdentity();
try {
mContext.sendBroadcast(intent);
} finally {
Binder.restoreCallingIdentity(ident);
}
}
private void onUserStart(int userId) {
synchronized(mVpns) {
Vpn userVpn = mVpns.get(userId);