Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f9b46001 authored by Makoto Onuki's avatar Makoto Onuki Committed by Android (Google) Code Review
Browse files

Merge "Change FileDescriptor to PFD, per API guidelines."

parents 89c5098c b8472184
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -57,6 +57,7 @@ import android.os.Binder;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.os.ParcelFileDescriptor;
import android.os.Process;
import android.os.RemoteException;
import android.os.ServiceManager;
@@ -2688,13 +2689,14 @@ public class JobSchedulerService extends com.android.server.SystemService
        }

        @Override
        protected int handleShellCommand(@NonNull FileDescriptor in, @NonNull FileDescriptor out,
                @NonNull FileDescriptor err, @NonNull String[] args) {
        protected int handleShellCommand(@NonNull ParcelFileDescriptor in,
                @NonNull ParcelFileDescriptor out, @NonNull ParcelFileDescriptor err,
                @NonNull String[] args) {
            return (new JobSchedulerShellCommand(JobSchedulerService.this)).exec(
                    this, in, out, err, args);
                    this, in.getFileDescriptor(), out.getFileDescriptor(), err.getFileDescriptor(),
                    args);
        }


        /**
         * <b>For internal system user only!</b>
         * Returns a list of all currently-executing jobs.
+12 −5
Original line number Diff line number Diff line
@@ -932,8 +932,14 @@ public class Binder implements IBinder {
        }

        int result = -1;
        try {
            result = handleShellCommand(in, out, err, args);
        try (ParcelFileDescriptor inPfd = ParcelFileDescriptor.dup(in);
                ParcelFileDescriptor outPfd = ParcelFileDescriptor.dup(out);
                ParcelFileDescriptor errPfd = ParcelFileDescriptor.dup(err)) {
            result = handleShellCommand(inPfd, outPfd, errPfd, args);
        } catch (IOException e) {
            PrintWriter pw = new FastPrintWriter(new FileOutputStream(err));
            pw.println("dup() failed: " + e.getMessage());
            pw.flush();
        } finally {
            resultReceiver.send(result, null);
        }
@@ -954,9 +960,10 @@ public class Binder implements IBinder {
     * @hide
     */
    // @SystemApi TODO Make it a system API.
    protected int handleShellCommand(@NonNull FileDescriptor in, @NonNull FileDescriptor out,
            @NonNull FileDescriptor err, @NonNull String[] args) {
        FileOutputStream ferr = new FileOutputStream(err);
    protected int handleShellCommand(@NonNull ParcelFileDescriptor in,
            @NonNull ParcelFileDescriptor out, @NonNull ParcelFileDescriptor err,
            @NonNull String[] args) {
        FileOutputStream ferr = new FileOutputStream(err.getFileDescriptor());
        PrintWriter pw = new FastPrintWriter(ferr);
        pw.println("No shell command implementation.");
        pw.flush();