Add debug logging for one-time permissions

There are some test failures that aren't reproducible. It would be nice
to know if this feature is behaving correctly on the system server side.

Test: Manual
Bug: 143896762
Change-Id: Ida083c74330ce7d0411be022599ec9dfbaeb30a5
This commit is contained in:
Evan Severson
2020-02-11 11:28:31 -08:00
parent b3092d79b2
commit 322de3ad05

View File

@@ -36,6 +36,8 @@ public class OneTimePermissionUserManager {
private static final String LOG_TAG = OneTimePermissionUserManager.class.getSimpleName();
private static final boolean DEBUG = true;
private final @NonNull Context mContext;
private final @NonNull ActivityManager mActivityManager;
private final @NonNull AlarmManager mAlarmManager;
@@ -156,6 +158,14 @@ public class OneTimePermissionUserManager {
private PackageInactivityListener(int uid, @NonNull String packageName, long timeout,
int importanceToResetTimer, int importanceToKeepSessionAlive) {
if (DEBUG) {
Log.d(LOG_TAG,
"Start tracking " + packageName + ". uid=" + uid + " timeout=" + timeout
+ " importanceToResetTimer=" + importanceToResetTimer
+ " importanceToKeepSessionAlive=" + importanceToKeepSessionAlive);
}
mUid = uid;
mPackageName = packageName;
mTimeout = timeout;
@@ -182,6 +192,12 @@ public class OneTimePermissionUserManager {
if (uid != mUid) {
return;
}
if (DEBUG) {
Log.d(LOG_TAG, "Importance changed for " + mPackageName + " (" + mUid + ")."
+ " importance=" + importance);
}
synchronized (mInnerLock) {
if (importance > IMPORTANCE_CACHED) {
onPackageInactiveLocked();
@@ -257,8 +273,15 @@ public class OneTimePermissionUserManager {
mIsFinished = true;
cancelAlarmLocked();
mContext.getMainThreadHandler().post(
() -> mPermissionControllerManager.notifyOneTimePermissionSessionTimeout(
mPackageName));
() -> {
if (DEBUG) {
Log.d(LOG_TAG, "One time session expired for "
+ mPackageName + " (" + mUid + ").");
}
mPermissionControllerManager.notifyOneTimePermissionSessionTimeout(
mPackageName);
});
mActivityManager.removeOnUidImportanceListener(mStartTimerListener);
mActivityManager.removeOnUidImportanceListener(mSessionKillableListener);
mActivityManager.removeOnUidImportanceListener(mGoneListener);