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

Commit b7b58797 authored by Fabian Kozynski's avatar Fabian Kozynski
Browse files

AppOpsController implements Dumpable

Test: adb bugreport
Change-Id: I4770ccef57d152adfbdfa5d4b4507666517c0238
parent 06e5b6d3
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);