From 3d43c2345c770543dd55380f9c7f4b2d0a5c95e1 Mon Sep 17 00:00:00 2001 From: William Escande Date: Wed, 23 Feb 2022 15:41:38 +0100 Subject: [PATCH] Forward `svc bluetooth` to "cmd bluetooth" BluetoothShellCommand is now implementing the shell command Fix: 216233593 Test: manual: adb shell svc bluetooth enable Test: manual: adb shell svc bluetooth disable Change-Id: Icbd0395624585d5a22663472b5897ed4518e2670 --- .../commands/svc/BluetoothCommand.java | 58 ------------------- .../svc/src/com/android/commands/svc/Svc.java | 2 +- cmds/svc/svc | 19 ++++++ 3 files changed, 20 insertions(+), 59 deletions(-) delete mode 100644 cmds/svc/src/com/android/commands/svc/BluetoothCommand.java diff --git a/cmds/svc/src/com/android/commands/svc/BluetoothCommand.java b/cmds/svc/src/com/android/commands/svc/BluetoothCommand.java deleted file mode 100644 index b572ce24390c..000000000000 --- a/cmds/svc/src/com/android/commands/svc/BluetoothCommand.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright (C) 2017 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.commands.svc; - -import android.bluetooth.BluetoothAdapter; -import android.os.RemoteException; - -public class BluetoothCommand extends Svc.Command { - - public BluetoothCommand() { - super("bluetooth"); - } - - @Override - public String shortHelp() { - return "Control Bluetooth service"; - } - - @Override - public String longHelp() { - return shortHelp() + "\n" - + "\n" - + "usage: svc bluetooth [enable|disable]\n" - + " Turn Bluetooth on or off.\n\n"; - } - - @Override - public void run(String[] args) { - BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter(); - - if (adapter == null) { - System.err.println("Got a null BluetoothAdapter, is the system running?"); - return; - } - - if (args.length == 2 && "enable".equals(args[1])) { - adapter.enable(); - } else if (args.length == 2 && "disable".equals(args[1])) { - adapter.disable(); - } else { - System.err.println(longHelp()); - } - } -} diff --git a/cmds/svc/src/com/android/commands/svc/Svc.java b/cmds/svc/src/com/android/commands/svc/Svc.java index 2ed2678bc877..bbad984746a1 100644 --- a/cmds/svc/src/com/android/commands/svc/Svc.java +++ b/cmds/svc/src/com/android/commands/svc/Svc.java @@ -96,7 +96,7 @@ public class Svc { // `svc wifi` has been migrated to WifiShellCommand new UsbCommand(), new NfcCommand(), - new BluetoothCommand(), + // `svc bluetooth` has been migrated to BluetoothShellCommand new SystemServerCommand(), }; } diff --git a/cmds/svc/svc b/cmds/svc/svc index 95265e817c1b..a2c9de32b3d0 100755 --- a/cmds/svc/svc +++ b/cmds/svc/svc @@ -33,6 +33,25 @@ if [ "x$1" == "xdata" ]; then exit 1 fi +# `svc bluetooth` has been migrated to BluetoothShellCommand, +# simply perform translation to `cmd bluetooth set-bluetooth-enabled` here. +if [ "x$1" == "xbluetooth" ]; then + # `cmd wifi` by convention uses enabled/disabled + # instead of enable/disable + if [ "x$2" == "xenable" ]; then + exec cmd bluetooth_manager enable + elif [ "x$2" == "xdisable" ]; then + exec cmd bluetooth_manager disable + else + echo "Control the Bluetooth manager" + echo "" + echo "usage: svc bluetooth [enable|disable]" + echo " Turn Bluetooth on or off." + echo "" + fi + exit 1 +fi + export CLASSPATH=/system/framework/svc.jar exec app_process /system/bin com.android.commands.svc.Svc "$@"