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

Commit 62785504 authored by eunjeongshin's avatar eunjeongshin
Browse files

Update LogcatManagerService to call getUidProcessState to retrieve

process state

Bug fix to retrieve process state by calling getUidProcessState() rather
than calling getUidImportance()

This codebase is the continuity of the implementation ag/16618162 to
obtain user consent.

Bug: 193708292
Test: CtsVerifier
Ignore-AOSP-First: pending fix for logcat privacy issue
Change-Id: I55afc2a11744eeb5da83222b953b539c1bc60b05
parent 5af77f16
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -23,7 +23,6 @@ import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.Binder;
import android.os.ILogd;
import android.os.RemoteException;
import android.os.ServiceManager;
@@ -76,6 +75,7 @@ public final class LogcatManagerService extends SystemService {
        @Override
        public void approve(int uid, int gid, int pid, int fd) {
            try {
                Slog.d(TAG, "Allow logd access for uid: " + uid);
                getLogdService().approve(uid, gid, pid, fd);
            } catch (RemoteException e) {
                Slog.e(TAG, "Fails to call remote functions", e);
@@ -85,6 +85,7 @@ public final class LogcatManagerService extends SystemService {
        @Override
        public void decline(int uid, int gid, int pid, int fd) {
            try {
                Slog.d(TAG, "Decline logd access for uid: " + uid);
                getLogdService().decline(uid, gid, pid, fd);
            } catch (RemoteException e) {
                Slog.e(TAG, "Fails to call remote functions", e);
@@ -194,8 +195,9 @@ public final class LogcatManagerService extends SystemService {
                    return;
                }

                final int procState = mActivityManager.getUidImportance(Binder.getCallingUid());
                // If the process is foreground, send a notification for user consent
                final int procState = LocalServices.getService(ActivityManagerInternal.class)
                        .getUidProcessState(mUid);
                // If the process is foreground, show a dialog for user consent
                if (procState <= ActivityManager.PROCESS_STATE_FOREGROUND_SERVICE) {
                    showDialog(mUid, mGid, mPid, mFd);
                } else {