From 4d38b0cdc42a6b289e321facbf992feb898258b7 Mon Sep 17 00:00:00 2001 From: Eric Biggers Date: Sat, 18 Feb 2023 03:23:14 +0000 Subject: [PATCH] Make locksettings commands go through "cmd lock_settings" This greatly improves the performance of locksettings commands, and it eliminates the need for LockSettingsCmd.java. Bug: 177985929 Test: locksettings command still works Change-Id: I5881fa074681f6bf1ad2f5969a282d928121ddb2 --- cmds/locksettings/Android.bp | 5 +- cmds/locksettings/locksettings.sh | 6 +-- .../locksettings/LockSettingsCmd.java | 47 ------------------- 3 files changed, 3 insertions(+), 55 deletions(-) delete mode 100644 cmds/locksettings/src/com/android/commands/locksettings/LockSettingsCmd.java diff --git a/cmds/locksettings/Android.bp b/cmds/locksettings/Android.bp index 5ee582450361e..ee31aed14385b 100644 --- a/cmds/locksettings/Android.bp +++ b/cmds/locksettings/Android.bp @@ -21,8 +21,7 @@ package { default_applicable_licenses: ["frameworks_base_license"], } -java_binary { +sh_binary { name: "locksettings", - wrapper: "locksettings.sh", - srcs: ["**/*.java"], + src: "locksettings.sh", } diff --git a/cmds/locksettings/locksettings.sh b/cmds/locksettings/locksettings.sh index 0ef4fa9f67711..2f8d86844eb1c 100755 --- a/cmds/locksettings/locksettings.sh +++ b/cmds/locksettings/locksettings.sh @@ -1,6 +1,2 @@ #!/system/bin/sh -# Script to start "locksettings" on the device -# -base=/system -export CLASSPATH=$base/framework/locksettings.jar -exec app_process $base/bin com.android.commands.locksettings.LockSettingsCmd "$@" +cmd lock_settings "$@" diff --git a/cmds/locksettings/src/com/android/commands/locksettings/LockSettingsCmd.java b/cmds/locksettings/src/com/android/commands/locksettings/LockSettingsCmd.java deleted file mode 100644 index 7d9260a771582..0000000000000 --- a/cmds/locksettings/src/com/android/commands/locksettings/LockSettingsCmd.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (C) 2016 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.locksettings; - -import android.os.ResultReceiver; -import android.os.ServiceManager; -import android.os.ShellCallback; - -import com.android.internal.os.BaseCommand; -import com.android.internal.widget.ILockSettings; - -import java.io.FileDescriptor; -import java.io.PrintStream; - -public final class LockSettingsCmd extends BaseCommand { - - public static void main(String[] args) { - (new LockSettingsCmd()).run(args); - } - - @Override - public void onShowUsage(PrintStream out) { - main(new String[] { "help" }); - } - - @Override - public void onRun() throws Exception { - ILockSettings lockSettings = ILockSettings.Stub.asInterface( - ServiceManager.getService("lock_settings")); - lockSettings.asBinder().shellCommand(FileDescriptor.in, FileDescriptor.out, - FileDescriptor.err, getRawArgs(), new ShellCallback(), new ResultReceiver(null) {}); - } -}