Loading api/test-current.txt +5 −0 Original line number Diff line number Diff line Loading @@ -3482,6 +3482,11 @@ package android.view.inputmethod { method public boolean isInputMethodPickerShown(); } public class InputMethodSystemProperty { ctor public InputMethodSystemProperty(); field public static final boolean MULTI_CLIENT_IME_ENABLED; } } package android.view.inspector { Loading cmds/statsd/src/atoms.proto +26 −3 Original line number Diff line number Diff line Loading @@ -303,10 +303,12 @@ message Atom { ContentCaptureSessionEvents content_capture_session_events = 208; ContentCaptureFlushed content_capture_flushed = 209; LocationManagerApiUsageReported location_manager_api_usage_reported = 210; ReviewPermissionsFragmentResultReported review_permissions_fragment_result_reported = 211 [(log_from_module) = "permissioncontroller"]; ReviewPermissionsFragmentResultReported review_permissions_fragment_result_reported = 211 [(log_from_module) = "permissioncontroller"]; RuntimePermissionsUpgradeResult runtime_permissions_upgrade_result = 212 [(log_from_module) = "permissioncontroller"]; GrantPermissionsActivityButtonActions grant_permissions_activity_button_actions = 213 [(log_from_module) = "permissioncontroller"]; } // Pulled events will start at field 10000. Loading Loading @@ -6584,3 +6586,24 @@ message RuntimePermissionsUpgradeResult { // Name of package granted permission optional string package_name = 3; } /** * Information about a buttons presented in GrantPermissionsActivty and choice made by user */ message GrantPermissionsActivityButtonActions { // Permission granted as result of upgrade optional string permission_group_name = 1; // UID of package granted permission optional int32 uid = 2 [(is_uid) = true]; // Name of package requesting permission optional string package_name = 3; // Buttons presented in the dialog - bit flags, bit numbers are in accordance with // LABEL_ constants in GrantPermissionActivity.java optional int32 buttons_presented = 4; // Button clicked by user - same as bit flags in buttons_presented with only single bit set optional int32 button_clicked = 5; } core/java/android/net/ConnectivityManager.java +1 −1 Original line number Diff line number Diff line Loading @@ -655,7 +655,7 @@ public class ConnectivityManager { * {@hide} */ @Deprecated @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 130143562) @UnsupportedAppUsage public static final int TYPE_WIFI_P2P = 13; /** Loading core/java/android/service/notification/StatusBarNotification.java +47 −21 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.annotation.NonNull; import android.annotation.UnsupportedAppUsage; import android.app.Notification; import android.app.NotificationManager; import android.app.Person; import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; Loading @@ -32,6 +33,8 @@ import android.os.UserHandle; import com.android.internal.logging.nano.MetricsProto; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import java.util.ArrayList; /** * Class encapsulating a Notification. Sent by the NotificationManagerService to clients including * the status bar and any {@link android.service.notification.NotificationListenerService}s. Loading Loading @@ -166,6 +169,7 @@ public class StatusBarNotification implements Parcelable { /** * Returns true if application asked that this notification be part of a group. * * @hide */ public boolean isAppGroup() { Loading Loading @@ -203,16 +207,14 @@ public class StatusBarNotification implements Parcelable { return 0; } public static final @android.annotation.NonNull Parcelable.Creator<StatusBarNotification> CREATOR = new Parcelable.Creator<StatusBarNotification>() { public StatusBarNotification createFromParcel(Parcel parcel) { public static final @android.annotation.NonNull Parcelable.Creator<StatusBarNotification> CREATOR = new Parcelable.Creator<StatusBarNotification>() { public StatusBarNotification createFromParcel(Parcel parcel) { return new StatusBarNotification(parcel); } public StatusBarNotification[] newArray(int size) { public StatusBarNotification[] newArray(int size) { return new StatusBarNotification[size]; } }; Loading Loading @@ -243,14 +245,16 @@ public class StatusBarNotification implements Parcelable { this.key, this.notification); } /** Convenience method to check the notification's flags for /** * Convenience method to check the notification's flags for * {@link Notification#FLAG_ONGOING_EVENT}. */ public boolean isOngoing() { return (notification.flags & Notification.FLAG_ONGOING_EVENT) != 0; } /** Convenience method to check the notification's flags for /** * Convenience method to check the notification's flags for * either {@link Notification#FLAG_ONGOING_EVENT} or * {@link Notification#FLAG_NO_CLEAR}. */ Loading Loading @@ -279,8 +283,10 @@ public class StatusBarNotification implements Parcelable { return id; } /** The tag supplied to {@link android.app.NotificationManager#notify(int,Notification)}, * or null if no tag was specified. */ /** * The tag supplied to {@link android.app.NotificationManager#notify(int, Notification)}, * or null if no tag was specified. */ public String getTag() { return tag; } Loading @@ -307,8 +313,10 @@ public class StatusBarNotification implements Parcelable { return initialPid; } /** The {@link android.app.Notification} supplied to * {@link android.app.NotificationManager#notify(int,Notification)}. */ /** * The {@link android.app.Notification} supplied to * {@link android.app.NotificationManager#notify(int, Notification)}. */ public Notification getNotification() { return notification; } Loading @@ -320,7 +328,8 @@ public class StatusBarNotification implements Parcelable { return user; } /** The time (in {@link System#currentTimeMillis} time) the notification was posted, /** * The time (in {@link System#currentTimeMillis} time) the notification was posted, * which may be different than {@link android.app.Notification#when}. */ public long getPostTime() { Loading @@ -343,6 +352,7 @@ public class StatusBarNotification implements Parcelable { /** * The ID passed to setGroup(), or the override, or null. * * @hide */ public String getGroup() { Loading Loading @@ -398,10 +408,11 @@ public class StatusBarNotification implements Parcelable { /** * Returns a LogMaker that contains all basic information of the notification. * * @hide */ public LogMaker getLogMaker() { return new LogMaker(MetricsEvent.VIEW_UNKNOWN).setPackageName(getPackageName()) LogMaker logMaker = new LogMaker(MetricsEvent.VIEW_UNKNOWN).setPackageName(getPackageName()) .addTaggedData(MetricsEvent.NOTIFICATION_ID, getId()) .addTaggedData(MetricsEvent.NOTIFICATION_TAG, getTag()) .addTaggedData(MetricsEvent.FIELD_NOTIFICATION_CHANNEL_ID, getChannelIdLogTag()) Loading @@ -410,6 +421,21 @@ public class StatusBarNotification implements Parcelable { getNotification().isGroupSummary() ? 1 : 0) .addTaggedData(MetricsProto.MetricsEvent.FIELD_NOTIFICATION_CATEGORY, getNotification().category); if (getNotification().extras != null) { // Log the style used, if present. We only log the hash here, as notification log // events are frequent, while there are few styles (hence low chance of collisions). String template = getNotification().extras.getString(Notification.EXTRA_TEMPLATE); if (template != null && !template.isEmpty()) { logMaker.addTaggedData(MetricsEvent.FIELD_NOTIFICATION_STYLE, template.hashCode()); } ArrayList<Person> people = getNotification().extras.getParcelableArrayList( Notification.EXTRA_PEOPLE_LIST); if (people != null && !people.isEmpty()) { logMaker.addTaggedData(MetricsEvent.FIELD_NOTIFICATION_PEOPLE, people.size()); } } return logMaker; } private String getGroupLogTag() { Loading core/java/android/view/inputmethod/InputMethodSystemProperty.java +3 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package android.view.inputmethod; import android.annotation.Nullable; import android.annotation.TestApi; import android.content.ComponentName; import android.os.Build; import android.os.SystemProperties; Loading @@ -26,6 +27,7 @@ import android.os.SystemProperties; * * @hide */ @TestApi public class InputMethodSystemProperty { /** * System property key for the production use. The value must be either empty or a valid Loading Loading @@ -87,6 +89,7 @@ public class InputMethodSystemProperty { * * @hide */ @TestApi public static final boolean MULTI_CLIENT_IME_ENABLED = (sMultiClientImeComponentName != null); /** Loading Loading
api/test-current.txt +5 −0 Original line number Diff line number Diff line Loading @@ -3482,6 +3482,11 @@ package android.view.inputmethod { method public boolean isInputMethodPickerShown(); } public class InputMethodSystemProperty { ctor public InputMethodSystemProperty(); field public static final boolean MULTI_CLIENT_IME_ENABLED; } } package android.view.inspector { Loading
cmds/statsd/src/atoms.proto +26 −3 Original line number Diff line number Diff line Loading @@ -303,10 +303,12 @@ message Atom { ContentCaptureSessionEvents content_capture_session_events = 208; ContentCaptureFlushed content_capture_flushed = 209; LocationManagerApiUsageReported location_manager_api_usage_reported = 210; ReviewPermissionsFragmentResultReported review_permissions_fragment_result_reported = 211 [(log_from_module) = "permissioncontroller"]; ReviewPermissionsFragmentResultReported review_permissions_fragment_result_reported = 211 [(log_from_module) = "permissioncontroller"]; RuntimePermissionsUpgradeResult runtime_permissions_upgrade_result = 212 [(log_from_module) = "permissioncontroller"]; GrantPermissionsActivityButtonActions grant_permissions_activity_button_actions = 213 [(log_from_module) = "permissioncontroller"]; } // Pulled events will start at field 10000. Loading Loading @@ -6584,3 +6586,24 @@ message RuntimePermissionsUpgradeResult { // Name of package granted permission optional string package_name = 3; } /** * Information about a buttons presented in GrantPermissionsActivty and choice made by user */ message GrantPermissionsActivityButtonActions { // Permission granted as result of upgrade optional string permission_group_name = 1; // UID of package granted permission optional int32 uid = 2 [(is_uid) = true]; // Name of package requesting permission optional string package_name = 3; // Buttons presented in the dialog - bit flags, bit numbers are in accordance with // LABEL_ constants in GrantPermissionActivity.java optional int32 buttons_presented = 4; // Button clicked by user - same as bit flags in buttons_presented with only single bit set optional int32 button_clicked = 5; }
core/java/android/net/ConnectivityManager.java +1 −1 Original line number Diff line number Diff line Loading @@ -655,7 +655,7 @@ public class ConnectivityManager { * {@hide} */ @Deprecated @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 130143562) @UnsupportedAppUsage public static final int TYPE_WIFI_P2P = 13; /** Loading
core/java/android/service/notification/StatusBarNotification.java +47 −21 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.annotation.NonNull; import android.annotation.UnsupportedAppUsage; import android.app.Notification; import android.app.NotificationManager; import android.app.Person; import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; Loading @@ -32,6 +33,8 @@ import android.os.UserHandle; import com.android.internal.logging.nano.MetricsProto; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import java.util.ArrayList; /** * Class encapsulating a Notification. Sent by the NotificationManagerService to clients including * the status bar and any {@link android.service.notification.NotificationListenerService}s. Loading Loading @@ -166,6 +169,7 @@ public class StatusBarNotification implements Parcelable { /** * Returns true if application asked that this notification be part of a group. * * @hide */ public boolean isAppGroup() { Loading Loading @@ -203,16 +207,14 @@ public class StatusBarNotification implements Parcelable { return 0; } public static final @android.annotation.NonNull Parcelable.Creator<StatusBarNotification> CREATOR = new Parcelable.Creator<StatusBarNotification>() { public StatusBarNotification createFromParcel(Parcel parcel) { public static final @android.annotation.NonNull Parcelable.Creator<StatusBarNotification> CREATOR = new Parcelable.Creator<StatusBarNotification>() { public StatusBarNotification createFromParcel(Parcel parcel) { return new StatusBarNotification(parcel); } public StatusBarNotification[] newArray(int size) { public StatusBarNotification[] newArray(int size) { return new StatusBarNotification[size]; } }; Loading Loading @@ -243,14 +245,16 @@ public class StatusBarNotification implements Parcelable { this.key, this.notification); } /** Convenience method to check the notification's flags for /** * Convenience method to check the notification's flags for * {@link Notification#FLAG_ONGOING_EVENT}. */ public boolean isOngoing() { return (notification.flags & Notification.FLAG_ONGOING_EVENT) != 0; } /** Convenience method to check the notification's flags for /** * Convenience method to check the notification's flags for * either {@link Notification#FLAG_ONGOING_EVENT} or * {@link Notification#FLAG_NO_CLEAR}. */ Loading Loading @@ -279,8 +283,10 @@ public class StatusBarNotification implements Parcelable { return id; } /** The tag supplied to {@link android.app.NotificationManager#notify(int,Notification)}, * or null if no tag was specified. */ /** * The tag supplied to {@link android.app.NotificationManager#notify(int, Notification)}, * or null if no tag was specified. */ public String getTag() { return tag; } Loading @@ -307,8 +313,10 @@ public class StatusBarNotification implements Parcelable { return initialPid; } /** The {@link android.app.Notification} supplied to * {@link android.app.NotificationManager#notify(int,Notification)}. */ /** * The {@link android.app.Notification} supplied to * {@link android.app.NotificationManager#notify(int, Notification)}. */ public Notification getNotification() { return notification; } Loading @@ -320,7 +328,8 @@ public class StatusBarNotification implements Parcelable { return user; } /** The time (in {@link System#currentTimeMillis} time) the notification was posted, /** * The time (in {@link System#currentTimeMillis} time) the notification was posted, * which may be different than {@link android.app.Notification#when}. */ public long getPostTime() { Loading @@ -343,6 +352,7 @@ public class StatusBarNotification implements Parcelable { /** * The ID passed to setGroup(), or the override, or null. * * @hide */ public String getGroup() { Loading Loading @@ -398,10 +408,11 @@ public class StatusBarNotification implements Parcelable { /** * Returns a LogMaker that contains all basic information of the notification. * * @hide */ public LogMaker getLogMaker() { return new LogMaker(MetricsEvent.VIEW_UNKNOWN).setPackageName(getPackageName()) LogMaker logMaker = new LogMaker(MetricsEvent.VIEW_UNKNOWN).setPackageName(getPackageName()) .addTaggedData(MetricsEvent.NOTIFICATION_ID, getId()) .addTaggedData(MetricsEvent.NOTIFICATION_TAG, getTag()) .addTaggedData(MetricsEvent.FIELD_NOTIFICATION_CHANNEL_ID, getChannelIdLogTag()) Loading @@ -410,6 +421,21 @@ public class StatusBarNotification implements Parcelable { getNotification().isGroupSummary() ? 1 : 0) .addTaggedData(MetricsProto.MetricsEvent.FIELD_NOTIFICATION_CATEGORY, getNotification().category); if (getNotification().extras != null) { // Log the style used, if present. We only log the hash here, as notification log // events are frequent, while there are few styles (hence low chance of collisions). String template = getNotification().extras.getString(Notification.EXTRA_TEMPLATE); if (template != null && !template.isEmpty()) { logMaker.addTaggedData(MetricsEvent.FIELD_NOTIFICATION_STYLE, template.hashCode()); } ArrayList<Person> people = getNotification().extras.getParcelableArrayList( Notification.EXTRA_PEOPLE_LIST); if (people != null && !people.isEmpty()) { logMaker.addTaggedData(MetricsEvent.FIELD_NOTIFICATION_PEOPLE, people.size()); } } return logMaker; } private String getGroupLogTag() { Loading
core/java/android/view/inputmethod/InputMethodSystemProperty.java +3 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package android.view.inputmethod; import android.annotation.Nullable; import android.annotation.TestApi; import android.content.ComponentName; import android.os.Build; import android.os.SystemProperties; Loading @@ -26,6 +27,7 @@ import android.os.SystemProperties; * * @hide */ @TestApi public class InputMethodSystemProperty { /** * System property key for the production use. The value must be either empty or a valid Loading Loading @@ -87,6 +89,7 @@ public class InputMethodSystemProperty { * * @hide */ @TestApi public static final boolean MULTI_CLIENT_IME_ENABLED = (sMultiClientImeComponentName != null); /** Loading