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

Commit 6c20dad4 authored by Fabian Kozynski's avatar Fabian Kozynski Committed by Android (Google) Code Review
Browse files

Merge "AppOpsController implements Dumpable"

parents 345ec1b9 b7b58797
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -25,12 +25,20 @@ public class AppOpItem {
    private int mUid;
    private String mPackageName;
    private long mTimeStarted;
    private String mState;

    public AppOpItem(int code, int uid, String packageName, long timeStarted) {
        this.mCode = code;
        this.mUid = uid;
        this.mPackageName = packageName;
        this.mTimeStarted = timeStarted;
        mState = new StringBuilder()
                .append("AppOpItem(")
                .append("Op code=").append(code).append(", ")
                .append("UID=").append(uid).append(", ")
                .append("Package name=").append(packageName)
                .append(")")
                .toString();
    }

    public int getCode() {
@@ -48,4 +56,9 @@ public class AppOpItem {
    public long getTimeStarted() {
        return mTimeStarted;
    }

    @Override
    public String toString() {
        return mState;
    }
}
+20 −1
Original line number Diff line number Diff line
@@ -29,7 +29,10 @@ import android.util.Log;

import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
import com.android.systemui.Dumpable;

import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
@@ -47,7 +50,7 @@ import javax.inject.Singleton;
@Singleton
public class AppOpsControllerImpl implements AppOpsController,
        AppOpsManager.OnOpActiveChangedListener,
        AppOpsManager.OnOpNotedListener {
        AppOpsManager.OnOpNotedListener, Dumpable {

    private static final long NOTED_OP_TIME_DELAY_MS = 5000;
    private static final String TAG = "AppOpsControllerImpl";
@@ -271,6 +274,22 @@ public class AppOpsControllerImpl implements AppOpsController,
        }
    }

    @Override
    public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
        pw.println("AppOpsController state:");
        pw.println("  Active Items:");
        for (int i = 0; i < mActiveItems.size(); i++) {
            final AppOpItem item = mActiveItems.get(i);
            pw.print("    "); pw.println(item.toString());
        }
        pw.println("  Noted Items:");
        for (int i = 0; i < mNotedItems.size(); i++) {
            final AppOpItem item = mNotedItems.get(i);
            pw.print("    "); pw.println(item.toString());
        }

    }

    protected final class H extends Handler {
        H(Looper looper) {
            super(looper);