diff options
| author | Treehugger Robot <treehugger-gerrit@google.com> | 2020-02-03 12:37:48 +0000 |
|---|---|---|
| committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2020-02-03 12:37:48 +0000 |
| commit | 55d16fac97dce478e5a5b5a5b85ecae9cefef462 (patch) | |
| tree | 409b82714b86dda85092b07b3f858411cb105d58 /core/java | |
| parent | 4e540a1c598d85b5aceb18eb4802fba798eb25d7 (diff) | |
| parent | 1220afbd75d39df80cd95f1e385f4874f4d5a202 (diff) | |
Merge "Minor refactor of ChangeReporter and PlatformCompat"
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/app/AppCompatCallbacks.java | 9 | ||||
| -rw-r--r-- | core/java/com/android/internal/compat/ChangeReporter.java | 54 |
2 files changed, 50 insertions, 13 deletions
diff --git a/core/java/android/app/AppCompatCallbacks.java b/core/java/android/app/AppCompatCallbacks.java index 19d158dedd06..28a21f767283 100644 --- a/core/java/android/app/AppCompatCallbacks.java +++ b/core/java/android/app/AppCompatCallbacks.java @@ -18,7 +18,6 @@ package android.app; import android.compat.Compatibility; import android.os.Process; -import android.util.StatsLog; import com.android.internal.compat.ChangeReporter; @@ -46,20 +45,20 @@ public final class AppCompatCallbacks extends Compatibility.Callbacks { mDisabledChanges = Arrays.copyOf(disabledChanges, disabledChanges.length); Arrays.sort(mDisabledChanges); mChangeReporter = new ChangeReporter( - StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__SOURCE__APP_PROCESS); + ChangeReporter.SOURCE_APP_PROCESS); } protected void reportChange(long changeId) { - reportChange(changeId, StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__STATE__LOGGED); + reportChange(changeId, ChangeReporter.STATE_LOGGED); } protected boolean isChangeEnabled(long changeId) { if (Arrays.binarySearch(mDisabledChanges, changeId) < 0) { // Not present in the disabled array - reportChange(changeId, StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__STATE__ENABLED); + reportChange(changeId, ChangeReporter.STATE_ENABLED); return true; } - reportChange(changeId, StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__STATE__DISABLED); + reportChange(changeId, ChangeReporter.STATE_DISABLED); return false; } diff --git a/core/java/com/android/internal/compat/ChangeReporter.java b/core/java/com/android/internal/compat/ChangeReporter.java index e0eb9af8b228..e978cf5cc2f6 100644 --- a/core/java/com/android/internal/compat/ChangeReporter.java +++ b/core/java/com/android/internal/compat/ChangeReporter.java @@ -16,6 +16,7 @@ package com.android.internal.compat; +import android.annotation.IntDef; import android.util.Log; import android.util.Slog; import android.util.StatsLog; @@ -23,6 +24,8 @@ import android.util.StatsLog; import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.VisibleForTesting; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; import java.util.HashMap; import java.util.HashSet; import java.util.Map; @@ -42,7 +45,7 @@ public final class ChangeReporter { long mChangeId; int mState; - ChangeReport(long changeId, int state) { + ChangeReport(long changeId, @State int state) { mChangeId = changeId; mState = state; } @@ -69,7 +72,7 @@ public final class ChangeReporter { // When true will of every time to debug (logcat). private boolean mDebugLogAll; - public ChangeReporter(int source) { + public ChangeReporter(@Source int source) { mSource = source; mReportedChanges = new HashMap<>(); mDebugLogAll = false; @@ -174,7 +177,7 @@ public final class ChangeReporter { private void debugLog(int uid, long changeId, int state) { String message = String.format("Compat change id reported: %d; UID %d; state: %s", changeId, uid, stateToString(state)); - if (mSource == StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__SOURCE__SYSTEM_SERVER) { + if (mSource == SOURCE_SYSTEM_SERVER) { Slog.d(TAG, message); } else { Log.d(TAG, message); @@ -183,21 +186,56 @@ public final class ChangeReporter { } /** - * Transforms StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__STATE enum to a string. + * Transforms {@link #ChangeReporter.State} enum to a string. * * @param state to transform * @return a string representing the state */ - private static String stateToString(int state) { + private static String stateToString(@State int state) { switch (state) { - case StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__STATE__LOGGED: + case STATE_LOGGED: return "LOGGED"; - case StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__STATE__ENABLED: + case STATE_ENABLED: return "ENABLED"; - case StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__STATE__DISABLED: + case STATE_DISABLED: return "DISABLED"; default: return "UNKNOWN"; } } + + /** These values should be kept in sync with those in atoms.proto */ + public static final int STATE_UNKNOWN_STATE = + StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__STATE__UNKNOWN_STATE; + public static final int STATE_ENABLED = + StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__STATE__ENABLED; + public static final int STATE_DISABLED = + StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__STATE__DISABLED; + public static final int STATE_LOGGED = + StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__STATE__LOGGED; + public static final int SOURCE_UNKNOWN_SOURCE = + StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__SOURCE__UNKNOWN_SOURCE; + public static final int SOURCE_APP_PROCESS = + StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__SOURCE__APP_PROCESS; + public static final int SOURCE_SYSTEM_SERVER = + StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__SOURCE__SYSTEM_SERVER; + + @Retention(RetentionPolicy.SOURCE) + @IntDef(flag = true, prefix = { "STATE_" }, value = { + STATE_UNKNOWN_STATE, + STATE_ENABLED, + STATE_DISABLED, + STATE_LOGGED + }) + public @interface State { + } + + @Retention(RetentionPolicy.SOURCE) + @IntDef(flag = true, prefix = { "SOURCE_" }, value = { + SOURCE_UNKNOWN_SOURCE, + SOURCE_APP_PROCESS, + SOURCE_SYSTEM_SERVER + }) + public @interface Source { + } } |
