Loading cmds/statsd/src/atoms.proto +27 −0 Original line number Original line Diff line number Diff line Loading @@ -587,6 +587,8 @@ message Atom { BytesTransferByTagAndMetered bytes_transfer_by_tag_and_metered = BytesTransferByTagAndMetered bytes_transfer_by_tag_and_metered = 10083 [(module) = "framework"]; 10083 [(module) = "framework"]; DNDModeProto dnd_mode_rule = 10084 [(module) = "framework"]; DNDModeProto dnd_mode_rule = 10084 [(module) = "framework"]; GeneralExternalStorageAccessStats general_external_storage_access_stats = 10085 [(module) = "mediaprovider"]; } } // DO NOT USE field numbers above 100,000 in AOSP. // DO NOT USE field numbers above 100,000 in AOSP. Loading Loading @@ -4553,6 +4555,31 @@ message VmsClientConnectionStateChanged { optional State state = 2; optional State state = 2; } } message MimeTypes { repeated string mime_types = 1; } /** * Logs statistics regarding accesses to external storage. * All stats are normalized for one day period. * * Logged from: * packages/providers/MediaProvider/src/com/android/providers/media/MediaProvider.java */ message GeneralExternalStorageAccessStats { optional int32 uid = 1 [(is_uid) = true]; // Total number of accesses like creation, open, delete and rename/update. // Includes file path and ContentResolver accesses optional uint32 total_accesses = 2; // Number of file path accesses, as opposed to file path and ContentResolver. optional uint32 file_path_accesses = 3; // Number of accesses on secondary volumes like SD cards. // Includes file path and ContentResolver accesses optional uint32 secondary_storage_accesses = 4; // Comma-separated list of mime types that were accessed. optional MimeTypes mime_types_accessed = 5; } /** /** * Logs when MediaProvider has successfully finished scanning a storage volume. * Logs when MediaProvider has successfully finished scanning a storage volume. * * Loading cmds/statsd/tools/localtools/src/com/android/statsd/shelltools/testdrive/TestDrive.java +3 −0 Original line number Original line Diff line number Diff line Loading @@ -342,6 +342,9 @@ public class TestDrive { .addPullAtomPackages(PullAtomPackages.newBuilder() .addPullAtomPackages(PullAtomPackages.newBuilder() .setAtomId(Atom.TRAIN_INFO_FIELD_NUMBER) .setAtomId(Atom.TRAIN_INFO_FIELD_NUMBER) .addPackages("AID_STATSD")) .addPackages("AID_STATSD")) .addPullAtomPackages(PullAtomPackages.newBuilder() .setAtomId(Atom.GENERAL_EXTERNAL_STORAGE_ACCESS_STATS_FIELD_NUMBER) .addPackages("com.google.android.providers.media.module")) .setHashStringsInMetricReport(false); .setHashStringsInMetricReport(false); } } } } Loading core/java/android/app/ContextImpl.java +5 −2 Original line number Original line Diff line number Diff line Loading @@ -1900,11 +1900,13 @@ class ContextImpl extends Context { @Override @Override public Object getSystemService(String name) { public Object getSystemService(String name) { // We may override this API from outer context. final boolean isUiContext = isUiContext() || getOuterContext().isUiContext(); // Check incorrect Context usage. // Check incorrect Context usage. if (isUiComponent(name) && !isUiContext() && vmIncorrectContextUseEnabled()) { if (isUiComponent(name) && !isUiContext && vmIncorrectContextUseEnabled()) { final String errorMessage = "Tried to access visual service " final String errorMessage = "Tried to access visual service " + SystemServiceRegistry.getSystemServiceClassName(name) + SystemServiceRegistry.getSystemServiceClassName(name) + " from a non-visual Context. "; + " from a non-visual Context:" + getOuterContext(); final String message = "Visual services, such as WindowManager, WallpaperService or " final String message = "Visual services, such as WindowManager, WallpaperService or " + "LayoutInflater should be accessed from Activity or other visual Context. " + "LayoutInflater should be accessed from Activity or other visual Context. " + "Use an Activity or a Context created with " + "Use an Activity or a Context created with " Loading Loading @@ -2369,6 +2371,7 @@ class ContextImpl extends Context { context.setResources(createResources(mToken, mPackageInfo, mSplitName, displayId, context.setResources(createResources(mToken, mPackageInfo, mSplitName, displayId, overrideConfiguration, getDisplayAdjustments(displayId).getCompatibilityInfo(), overrideConfiguration, getDisplayAdjustments(displayId).getCompatibilityInfo(), mResources.getLoaders())); mResources.getLoaders())); context.mIsUiContext = isUiContext() || getOuterContext().isUiContext(); return context; return context; } } Loading core/java/android/view/ViewConfiguration.java +3 −2 Original line number Original line Diff line number Diff line Loading @@ -500,12 +500,13 @@ public class ViewConfiguration { */ */ public static ViewConfiguration get(Context context) { public static ViewConfiguration get(Context context) { if (!context.isUiContext() && vmIncorrectContextUseEnabled()) { if (!context.isUiContext() && vmIncorrectContextUseEnabled()) { final String errorMessage = "Tried to access UI constants from a non-visual Context."; final String errorMessage = "Tried to access UI constants from a non-visual Context:" + context; final String message = "UI constants, such as display metrics or window metrics, " final String message = "UI constants, such as display metrics or window metrics, " + "must be accessed from Activity or other visual Context. " + "must be accessed from Activity or other visual Context. " + "Use an Activity or a Context created with " + "Use an Activity or a Context created with " + "Context#createWindowContext(int, Bundle), which are adjusted to the " + "Context#createWindowContext(int, Bundle), which are adjusted to the " + "configuration and visual bounds of an area on screen."; + "configuration and visual bounds of an area on screen"; final Exception exception = new IllegalArgumentException(errorMessage); final Exception exception = new IllegalArgumentException(errorMessage); StrictMode.onIncorrectContextUsed(message, exception); StrictMode.onIncorrectContextUsed(message, exception); Log.e(TAG, errorMessage + message, exception); Log.e(TAG, errorMessage + message, exception); Loading data/etc/services.core.protolog.json +12 −0 Original line number Original line Diff line number Diff line Loading @@ -757,6 +757,12 @@ "group": "WM_DEBUG_BOOT", "group": "WM_DEBUG_BOOT", "at": "com\/android\/server\/wm\/WindowManagerService.java" "at": "com\/android\/server\/wm\/WindowManagerService.java" }, }, "-547111355": { "message": "hideIme Control target: %s ", "level": "DEBUG", "group": "WM_DEBUG_IME", "at": "com\/android\/server\/wm\/WindowManagerService.java" }, "-545190927": { "-545190927": { "message": "<<< CLOSE TRANSACTION animate", "message": "<<< CLOSE TRANSACTION animate", "level": "INFO", "level": "INFO", Loading Loading @@ -1087,6 +1093,12 @@ "group": "WM_ERROR", "group": "WM_ERROR", "at": "com\/android\/server\/wm\/WindowManagerService.java" "at": "com\/android\/server\/wm\/WindowManagerService.java" }, }, "95216706": { "message": "hideIme target: %s ", "level": "DEBUG", "group": "WM_DEBUG_IME", "at": "com\/android\/server\/wm\/WindowManagerService.java" }, "95281111": { "95281111": { "message": "Attempted to get IME flag of a display that does not exist: %d", "message": "Attempted to get IME flag of a display that does not exist: %d", "level": "WARN", "level": "WARN", Loading Loading
cmds/statsd/src/atoms.proto +27 −0 Original line number Original line Diff line number Diff line Loading @@ -587,6 +587,8 @@ message Atom { BytesTransferByTagAndMetered bytes_transfer_by_tag_and_metered = BytesTransferByTagAndMetered bytes_transfer_by_tag_and_metered = 10083 [(module) = "framework"]; 10083 [(module) = "framework"]; DNDModeProto dnd_mode_rule = 10084 [(module) = "framework"]; DNDModeProto dnd_mode_rule = 10084 [(module) = "framework"]; GeneralExternalStorageAccessStats general_external_storage_access_stats = 10085 [(module) = "mediaprovider"]; } } // DO NOT USE field numbers above 100,000 in AOSP. // DO NOT USE field numbers above 100,000 in AOSP. Loading Loading @@ -4553,6 +4555,31 @@ message VmsClientConnectionStateChanged { optional State state = 2; optional State state = 2; } } message MimeTypes { repeated string mime_types = 1; } /** * Logs statistics regarding accesses to external storage. * All stats are normalized for one day period. * * Logged from: * packages/providers/MediaProvider/src/com/android/providers/media/MediaProvider.java */ message GeneralExternalStorageAccessStats { optional int32 uid = 1 [(is_uid) = true]; // Total number of accesses like creation, open, delete and rename/update. // Includes file path and ContentResolver accesses optional uint32 total_accesses = 2; // Number of file path accesses, as opposed to file path and ContentResolver. optional uint32 file_path_accesses = 3; // Number of accesses on secondary volumes like SD cards. // Includes file path and ContentResolver accesses optional uint32 secondary_storage_accesses = 4; // Comma-separated list of mime types that were accessed. optional MimeTypes mime_types_accessed = 5; } /** /** * Logs when MediaProvider has successfully finished scanning a storage volume. * Logs when MediaProvider has successfully finished scanning a storage volume. * * Loading
cmds/statsd/tools/localtools/src/com/android/statsd/shelltools/testdrive/TestDrive.java +3 −0 Original line number Original line Diff line number Diff line Loading @@ -342,6 +342,9 @@ public class TestDrive { .addPullAtomPackages(PullAtomPackages.newBuilder() .addPullAtomPackages(PullAtomPackages.newBuilder() .setAtomId(Atom.TRAIN_INFO_FIELD_NUMBER) .setAtomId(Atom.TRAIN_INFO_FIELD_NUMBER) .addPackages("AID_STATSD")) .addPackages("AID_STATSD")) .addPullAtomPackages(PullAtomPackages.newBuilder() .setAtomId(Atom.GENERAL_EXTERNAL_STORAGE_ACCESS_STATS_FIELD_NUMBER) .addPackages("com.google.android.providers.media.module")) .setHashStringsInMetricReport(false); .setHashStringsInMetricReport(false); } } } } Loading
core/java/android/app/ContextImpl.java +5 −2 Original line number Original line Diff line number Diff line Loading @@ -1900,11 +1900,13 @@ class ContextImpl extends Context { @Override @Override public Object getSystemService(String name) { public Object getSystemService(String name) { // We may override this API from outer context. final boolean isUiContext = isUiContext() || getOuterContext().isUiContext(); // Check incorrect Context usage. // Check incorrect Context usage. if (isUiComponent(name) && !isUiContext() && vmIncorrectContextUseEnabled()) { if (isUiComponent(name) && !isUiContext && vmIncorrectContextUseEnabled()) { final String errorMessage = "Tried to access visual service " final String errorMessage = "Tried to access visual service " + SystemServiceRegistry.getSystemServiceClassName(name) + SystemServiceRegistry.getSystemServiceClassName(name) + " from a non-visual Context. "; + " from a non-visual Context:" + getOuterContext(); final String message = "Visual services, such as WindowManager, WallpaperService or " final String message = "Visual services, such as WindowManager, WallpaperService or " + "LayoutInflater should be accessed from Activity or other visual Context. " + "LayoutInflater should be accessed from Activity or other visual Context. " + "Use an Activity or a Context created with " + "Use an Activity or a Context created with " Loading Loading @@ -2369,6 +2371,7 @@ class ContextImpl extends Context { context.setResources(createResources(mToken, mPackageInfo, mSplitName, displayId, context.setResources(createResources(mToken, mPackageInfo, mSplitName, displayId, overrideConfiguration, getDisplayAdjustments(displayId).getCompatibilityInfo(), overrideConfiguration, getDisplayAdjustments(displayId).getCompatibilityInfo(), mResources.getLoaders())); mResources.getLoaders())); context.mIsUiContext = isUiContext() || getOuterContext().isUiContext(); return context; return context; } } Loading
core/java/android/view/ViewConfiguration.java +3 −2 Original line number Original line Diff line number Diff line Loading @@ -500,12 +500,13 @@ public class ViewConfiguration { */ */ public static ViewConfiguration get(Context context) { public static ViewConfiguration get(Context context) { if (!context.isUiContext() && vmIncorrectContextUseEnabled()) { if (!context.isUiContext() && vmIncorrectContextUseEnabled()) { final String errorMessage = "Tried to access UI constants from a non-visual Context."; final String errorMessage = "Tried to access UI constants from a non-visual Context:" + context; final String message = "UI constants, such as display metrics or window metrics, " final String message = "UI constants, such as display metrics or window metrics, " + "must be accessed from Activity or other visual Context. " + "must be accessed from Activity or other visual Context. " + "Use an Activity or a Context created with " + "Use an Activity or a Context created with " + "Context#createWindowContext(int, Bundle), which are adjusted to the " + "Context#createWindowContext(int, Bundle), which are adjusted to the " + "configuration and visual bounds of an area on screen."; + "configuration and visual bounds of an area on screen"; final Exception exception = new IllegalArgumentException(errorMessage); final Exception exception = new IllegalArgumentException(errorMessage); StrictMode.onIncorrectContextUsed(message, exception); StrictMode.onIncorrectContextUsed(message, exception); Log.e(TAG, errorMessage + message, exception); Log.e(TAG, errorMessage + message, exception); Loading
data/etc/services.core.protolog.json +12 −0 Original line number Original line Diff line number Diff line Loading @@ -757,6 +757,12 @@ "group": "WM_DEBUG_BOOT", "group": "WM_DEBUG_BOOT", "at": "com\/android\/server\/wm\/WindowManagerService.java" "at": "com\/android\/server\/wm\/WindowManagerService.java" }, }, "-547111355": { "message": "hideIme Control target: %s ", "level": "DEBUG", "group": "WM_DEBUG_IME", "at": "com\/android\/server\/wm\/WindowManagerService.java" }, "-545190927": { "-545190927": { "message": "<<< CLOSE TRANSACTION animate", "message": "<<< CLOSE TRANSACTION animate", "level": "INFO", "level": "INFO", Loading Loading @@ -1087,6 +1093,12 @@ "group": "WM_ERROR", "group": "WM_ERROR", "at": "com\/android\/server\/wm\/WindowManagerService.java" "at": "com\/android\/server\/wm\/WindowManagerService.java" }, }, "95216706": { "message": "hideIme target: %s ", "level": "DEBUG", "group": "WM_DEBUG_IME", "at": "com\/android\/server\/wm\/WindowManagerService.java" }, "95281111": { "95281111": { "message": "Attempted to get IME flag of a display that does not exist: %d", "message": "Attempted to get IME flag of a display that does not exist: %d", "level": "WARN", "level": "WARN", Loading