diff options
| author | Anna Trostanetski <atrost@google.com> | 2019-09-18 03:55:45 -0700 |
|---|---|---|
| committer | android-build-merger <android-build-merger@google.com> | 2019-09-18 03:55:45 -0700 |
| commit | 28fa70f0e0c6b3fc0c5607a2de99847eb62d8903 (patch) | |
| tree | ec8887da82f6c3ea0148b29354a7165cbc90572c /core/java/android | |
| parent | f3bf40d91f24fe0eddd0c07ed93557c3c2a00d2c (diff) | |
| parent | 44b8ba5095f56715cfab41038b77d60165532a9d (diff) | |
Merge "Implement stats logging for Compatibility API." into stage-aosp-master am: 81e186ab99
am: 44b8ba5095
Change-Id: I0a7652cc97b7b50fc3797b26582b09caa0617a16
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/app/AppCompatCallbacks.java | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/core/java/android/app/AppCompatCallbacks.java b/core/java/android/app/AppCompatCallbacks.java index 17697dba9ccd..08c97eb284e3 100644 --- a/core/java/android/app/AppCompatCallbacks.java +++ b/core/java/android/app/AppCompatCallbacks.java @@ -19,6 +19,9 @@ package android.app; import android.compat.Compatibility; import android.os.Process; import android.util.Log; +import android.util.StatsLog; + +import com.android.internal.compat.ChangeReporter; import java.util.Arrays; @@ -28,10 +31,10 @@ import java.util.Arrays; * @hide */ public final class AppCompatCallbacks extends Compatibility.Callbacks { - private static final String TAG = "Compatibility"; private final long[] mDisabledChanges; + private final ChangeReporter mChangeReporter; /** * Install this class into the current process. @@ -45,20 +48,29 @@ public final class AppCompatCallbacks extends Compatibility.Callbacks { private AppCompatCallbacks(long[] disabledChanges) { mDisabledChanges = Arrays.copyOf(disabledChanges, disabledChanges.length); Arrays.sort(mDisabledChanges); + mChangeReporter = new ChangeReporter(); } protected void reportChange(long changeId) { - Log.d(TAG, "Compat change reported: " + changeId + "; UID " + Process.myUid()); - // TODO log via StatsLog + reportChange(changeId, StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__STATE__LOGGED); } protected boolean isChangeEnabled(long changeId) { if (Arrays.binarySearch(mDisabledChanges, changeId) < 0) { // Not present in the disabled array - reportChange(changeId); + reportChange(changeId, StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__STATE__ENABLED); return true; } + reportChange(changeId, StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__STATE__DISABLED); return false; } + private void reportChange(long changeId, int state) { + int uid = Process.myUid(); + //TODO(b/138374585): Implement rate limiting for the logs. + Log.d(TAG, ChangeReporter.createLogString(uid, changeId, state)); + mChangeReporter.reportChange(uid, changeId, + state, /* source */StatsLog.APP_COMPATIBILITY_CHANGE_REPORTED__SOURCE__APP_PROCESS); + } + } |
