summaryrefslogtreecommitdiff
path: root/core/java/android/os/IBinder.java
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2016-08-22 17:00:05 -0700
committerDianne Hackborn <hackbod@google.com>2016-09-29 10:58:44 -0700
commit354736e196ff79962b3ddb52619a674044d773e2 (patch)
tree3a70250f8ba7f69f1961491c55e4b5b48ebe99ef /core/java/android/os/IBinder.java
parent015deed8104aae1f306394cdf66088592995f0da (diff)
New infrastructure to switch remaining commands to "cmd" calls.
This introduces a new feature of the IBinder command protocol to allow the shell command implementation to call back into its caller to ask it to open files in the calling context. This is needed so that commands that have arguments specifying files can open those files as the calling shell, not the system (or whatever) process. To test this all out, move the "am start" implementation over to ActivityManagerShellCommand, in particular along with its option to specify a file in which to write profiling data. Test: Manual Change-Id: I0c1e3857defefbd19a2ac29413aafbb34b1e48a3
Diffstat (limited to 'core/java/android/os/IBinder.java')
-rw-r--r--core/java/android/os/IBinder.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/core/java/android/os/IBinder.java b/core/java/android/os/IBinder.java
index 0fa87509a77a..f762a052cb41 100644
--- a/core/java/android/os/IBinder.java
+++ b/core/java/android/os/IBinder.java
@@ -220,11 +220,13 @@ public interface IBinder {
* @param out The raw file descriptor that normal command messages should be written to.
* @param err The raw file descriptor that command error messages should be written to.
* @param args Command-line arguments.
+ * @param shellCallback Optional callback to the caller's shell to perform operations in it.
* @param resultReceiver Called when the command has finished executing, with the result code.
* @hide
*/
public void shellCommand(FileDescriptor in, FileDescriptor out, FileDescriptor err,
- String[] args, ResultReceiver resultReceiver) throws RemoteException;
+ String[] args, ShellCallback shellCallback,
+ ResultReceiver resultReceiver) throws RemoteException;
/**
* Perform a generic operation with the object.