add airplane mode shell commands to connectivity
Fixes: 74410990 Test: Manually checked that commands enable/disable airplane mode. Change-Id: I942bd4679fcd498a39b9b2cab68e8d3c00ce62d3
This commit is contained in:
@@ -101,6 +101,8 @@ import android.os.RemoteException;
|
|||||||
import android.os.ResultReceiver;
|
import android.os.ResultReceiver;
|
||||||
import android.os.ServiceManager;
|
import android.os.ServiceManager;
|
||||||
import android.os.ServiceSpecificException;
|
import android.os.ServiceSpecificException;
|
||||||
|
import android.os.ShellCallback;
|
||||||
|
import android.os.ShellCommand;
|
||||||
import android.os.SystemClock;
|
import android.os.SystemClock;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
import android.os.UserManager;
|
import android.os.UserManager;
|
||||||
@@ -5844,4 +5846,61 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
private static int encodeBool(boolean b) {
|
private static int encodeBool(boolean b) {
|
||||||
return b ? 1 : 0;
|
return b ? 1 : 0;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
@Override
|
||||||
|
public void onShellCommand(FileDescriptor in, FileDescriptor out,
|
||||||
|
FileDescriptor err, String[] args, ShellCallback callback,
|
||||||
|
ResultReceiver resultReceiver) {
|
||||||
|
(new ShellCmd()).exec(this, in, out, err, args, callback, resultReceiver);
|
||||||
|
}
|
||||||
|
|
||||||
|
private class ShellCmd extends ShellCommand {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int onCommand(String cmd) {
|
||||||
|
if (cmd == null) {
|
||||||
|
return handleDefaultCommands(cmd);
|
||||||
|
}
|
||||||
|
final PrintWriter pw = getOutPrintWriter();
|
||||||
|
try {
|
||||||
|
switch (cmd) {
|
||||||
|
case "airplane-mode":
|
||||||
|
final String action = getNextArg();
|
||||||
|
if ("enable".equals(action)) {
|
||||||
|
setAirplaneMode(true);
|
||||||
|
return 0;
|
||||||
|
} else if ("disable".equals(action)) {
|
||||||
|
setAirplaneMode(false);
|
||||||
|
return 0;
|
||||||
|
} else if (action == null) {
|
||||||
|
final ContentResolver cr = mContext.getContentResolver();
|
||||||
|
final int enabled = Settings.Global.getInt(cr,
|
||||||
|
Settings.Global.AIRPLANE_MODE_ON);
|
||||||
|
pw.println(enabled == 0 ? "disabled" : "enabled");
|
||||||
|
return 0;
|
||||||
|
} else {
|
||||||
|
onHelp();
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
return handleDefaultCommands(cmd);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
pw.println(e);
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onHelp() {
|
||||||
|
PrintWriter pw = getOutPrintWriter();
|
||||||
|
pw.println("Connectivity service commands:");
|
||||||
|
pw.println(" help");
|
||||||
|
pw.println(" Print this help text.");
|
||||||
|
pw.println(" airplane-mode [enable|disable]");
|
||||||
|
pw.println(" Turn airplane mode on or off.");
|
||||||
|
pw.println(" airplane-mode");
|
||||||
|
pw.println(" Get airplane mode.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user