Merge "Migrate frameworks/base/tests/testables and its users to androidx.test"
diff --git a/api/current.txt b/api/current.txt
index b274bff..395145e 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -2926,7 +2926,7 @@
field public static final int CAPABILITY_CAN_REQUEST_FINGERPRINT_GESTURES = 64; // 0x40
field public static final int CAPABILITY_CAN_REQUEST_TOUCH_EXPLORATION = 2; // 0x2
field public static final int CAPABILITY_CAN_RETRIEVE_WINDOW_CONTENT = 1; // 0x1
- field public static final android.os.Parcelable.Creator<android.accessibilityservice.AccessibilityServiceInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.accessibilityservice.AccessibilityServiceInfo> CREATOR;
field public static final int DEFAULT = 1; // 0x1
field public static final int FEEDBACK_ALL_MASK = -1; // 0xffffffff
field public static final int FEEDBACK_AUDIBLE = 4; // 0x4
@@ -3020,7 +3020,7 @@
ctor public Account(android.os.Parcel);
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.accounts.Account> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.accounts.Account> CREATOR;
field public final String name;
field public final String type;
}
@@ -3037,7 +3037,7 @@
method public void onRequestContinued();
method public void onResult(android.os.Bundle);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.accounts.AccountAuthenticatorResponse> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.accounts.AccountAuthenticatorResponse> CREATOR;
}
public class AccountManager {
@@ -3154,7 +3154,7 @@
method public int describeContents();
method public static android.accounts.AuthenticatorDescription newKey(String);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.accounts.AuthenticatorDescription> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.accounts.AuthenticatorDescription> CREATOR;
field public final int accountPreferencesId;
field public final boolean customTokens;
field public final int iconId;
@@ -3981,7 +3981,7 @@
method public int describeContents();
method public void readFromParcel(android.os.Parcel);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.ActivityManager.MemoryInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.ActivityManager.MemoryInfo> CREATOR;
field public long availMem;
field public boolean lowMemory;
field public long threshold;
@@ -3994,7 +3994,7 @@
method public void readFromParcel(android.os.Parcel);
method public void writeToParcel(android.os.Parcel, int);
field public static final int CRASHED = 1; // 0x1
- field public static final android.os.Parcelable.Creator<android.app.ActivityManager.ProcessErrorStateInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.ActivityManager.ProcessErrorStateInfo> CREATOR;
field public static final int NOT_RESPONDING = 2; // 0x2
field public static final int NO_ERROR = 0; // 0x0
field public int condition;
@@ -4013,7 +4013,7 @@
method public int describeContents();
method public void readFromParcel(android.os.Parcel);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.ActivityManager.RecentTaskInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.ActivityManager.RecentTaskInfo> CREATOR;
field @Deprecated public int affiliatedTaskId;
field @Deprecated public CharSequence description;
field @Deprecated public int id;
@@ -4026,7 +4026,7 @@
method public int describeContents();
method public void readFromParcel(android.os.Parcel);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.ActivityManager.RunningAppProcessInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.ActivityManager.RunningAppProcessInfo> CREATOR;
field @Deprecated public static final int IMPORTANCE_BACKGROUND = 400; // 0x190
field public static final int IMPORTANCE_CACHED = 400; // 0x190
field public static final int IMPORTANCE_CANT_SAVE_STATE = 350; // 0x15e
@@ -4060,7 +4060,7 @@
method public int describeContents();
method public void readFromParcel(android.os.Parcel);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.ActivityManager.RunningServiceInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.ActivityManager.RunningServiceInfo> CREATOR;
field public static final int FLAG_FOREGROUND = 2; // 0x2
field public static final int FLAG_PERSISTENT_PROCESS = 8; // 0x8
field public static final int FLAG_STARTED = 1; // 0x1
@@ -4086,7 +4086,7 @@
method public int describeContents();
method public void readFromParcel(android.os.Parcel);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.ActivityManager.RunningTaskInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.ActivityManager.RunningTaskInfo> CREATOR;
field @Deprecated public CharSequence description;
field @Deprecated public int id;
field @Deprecated public int numRunning;
@@ -4107,7 +4107,7 @@
method public int getPrimaryColor();
method public void readFromParcel(android.os.Parcel);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.ActivityManager.TaskDescription> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.ActivityManager.TaskDescription> CREATOR;
}
public class ActivityOptions {
@@ -4168,7 +4168,7 @@
method public android.app.PendingIntent getShowIntent();
method public long getTriggerTime();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.AlarmManager.AlarmClockInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.AlarmManager.AlarmClockInfo> CREATOR;
}
public static interface AlarmManager.OnAlarmListener {
@@ -4372,7 +4372,7 @@
method public static android.content.ComponentName getErrorReportReceiver(android.content.Context, String, int);
method public void readFromParcel(android.os.Parcel);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.ApplicationErrorReport> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.ApplicationErrorReport> CREATOR;
field public static final int TYPE_ANR = 2; // 0x2
field public static final int TYPE_BATTERY = 3; // 0x3
field public static final int TYPE_CRASH = 1; // 0x1
@@ -4440,7 +4440,7 @@
method public int describeContents();
method public android.app.PendingIntent getUserAction();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.AuthenticationRequiredException> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.AuthenticationRequiredException> CREATOR;
}
public final class AutomaticZenRule implements android.os.Parcelable {
@@ -4463,7 +4463,7 @@
method public void setName(String);
method public void setZenPolicy(android.service.notification.ZenPolicy);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.AutomaticZenRule> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.AutomaticZenRule> CREATOR;
}
public class DatePickerDialog extends android.app.AlertDialog implements android.widget.DatePicker.OnDateChangedListener android.content.DialogInterface.OnClickListener {
@@ -5289,7 +5289,7 @@
field public static final String CATEGORY_SYSTEM = "sys";
field public static final String CATEGORY_TRANSPORT = "transport";
field @ColorInt public static final int COLOR_DEFAULT = 0; // 0x0
- field public static final android.os.Parcelable.Creator<android.app.Notification> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.Notification> CREATOR;
field public static final int DEFAULT_ALL = -1; // 0xffffffff
field public static final int DEFAULT_LIGHTS = 4; // 0x4
field public static final int DEFAULT_SOUND = 1; // 0x1
@@ -5398,7 +5398,7 @@
method public int getSemanticAction();
method public boolean isContextual();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.Notification.Action> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.Notification.Action> CREATOR;
field public static final int SEMANTIC_ACTION_ARCHIVE = 5; // 0x5
field public static final int SEMANTIC_ACTION_CALL = 10; // 0xa
field public static final int SEMANTIC_ACTION_DELETE = 4; // 0x4
@@ -5480,7 +5480,7 @@
method public boolean getSuppressInitialNotification();
method @Deprecated public CharSequence getTitle();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.Notification.BubbleMetadata> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.Notification.BubbleMetadata> CREATOR;
}
public static class Notification.BubbleMetadata.Builder {
@@ -5499,74 +5499,74 @@
ctor public Notification.Builder(android.content.Context, String);
ctor @Deprecated public Notification.Builder(android.content.Context);
method @Deprecated public android.app.Notification.Builder addAction(int, CharSequence, android.app.PendingIntent);
- method public android.app.Notification.Builder addAction(android.app.Notification.Action);
- method public android.app.Notification.Builder addExtras(android.os.Bundle);
+ method @NonNull public android.app.Notification.Builder addAction(android.app.Notification.Action);
+ method @NonNull public android.app.Notification.Builder addExtras(android.os.Bundle);
method @Deprecated public android.app.Notification.Builder addPerson(String);
- method public android.app.Notification.Builder addPerson(android.app.Person);
- method public android.app.Notification build();
+ method @NonNull public android.app.Notification.Builder addPerson(android.app.Person);
+ method @NonNull public android.app.Notification build();
method public android.widget.RemoteViews createBigContentView();
method public android.widget.RemoteViews createContentView();
method public android.widget.RemoteViews createHeadsUpContentView();
- method public android.app.Notification.Builder extend(android.app.Notification.Extender);
+ method @NonNull public android.app.Notification.Builder extend(android.app.Notification.Extender);
method public android.os.Bundle getExtras();
method @Deprecated public android.app.Notification getNotification();
method public android.app.Notification.Style getStyle();
- method public static android.app.Notification.Builder recoverBuilder(android.content.Context, android.app.Notification);
- method public android.app.Notification.Builder setActions(android.app.Notification.Action...);
- method public android.app.Notification.Builder setAllowSystemGeneratedContextualActions(boolean);
- method public android.app.Notification.Builder setAutoCancel(boolean);
- method public android.app.Notification.Builder setBadgeIconType(int);
- method public android.app.Notification.Builder setBubbleMetadata(android.app.Notification.BubbleMetadata);
- method public android.app.Notification.Builder setCategory(String);
- method public android.app.Notification.Builder setChannelId(String);
- method public android.app.Notification.Builder setChronometerCountDown(boolean);
- method public android.app.Notification.Builder setColor(@ColorInt int);
- method public android.app.Notification.Builder setColorized(boolean);
+ method @NonNull public static android.app.Notification.Builder recoverBuilder(android.content.Context, android.app.Notification);
+ method @NonNull public android.app.Notification.Builder setActions(android.app.Notification.Action...);
+ method @NonNull public android.app.Notification.Builder setAllowSystemGeneratedContextualActions(boolean);
+ method @NonNull public android.app.Notification.Builder setAutoCancel(boolean);
+ method @NonNull public android.app.Notification.Builder setBadgeIconType(int);
+ method @NonNull public android.app.Notification.Builder setBubbleMetadata(android.app.Notification.BubbleMetadata);
+ method @NonNull public android.app.Notification.Builder setCategory(String);
+ method @NonNull public android.app.Notification.Builder setChannelId(String);
+ method @NonNull public android.app.Notification.Builder setChronometerCountDown(boolean);
+ method @NonNull public android.app.Notification.Builder setColor(@ColorInt int);
+ method @NonNull public android.app.Notification.Builder setColorized(boolean);
method @Deprecated public android.app.Notification.Builder setContent(android.widget.RemoteViews);
method @Deprecated public android.app.Notification.Builder setContentInfo(CharSequence);
- method public android.app.Notification.Builder setContentIntent(android.app.PendingIntent);
- method public android.app.Notification.Builder setContentText(CharSequence);
- method public android.app.Notification.Builder setContentTitle(CharSequence);
- method public android.app.Notification.Builder setCustomBigContentView(android.widget.RemoteViews);
- method public android.app.Notification.Builder setCustomContentView(android.widget.RemoteViews);
- method public android.app.Notification.Builder setCustomHeadsUpContentView(android.widget.RemoteViews);
+ method @NonNull public android.app.Notification.Builder setContentIntent(android.app.PendingIntent);
+ method @NonNull public android.app.Notification.Builder setContentText(CharSequence);
+ method @NonNull public android.app.Notification.Builder setContentTitle(CharSequence);
+ method @NonNull public android.app.Notification.Builder setCustomBigContentView(android.widget.RemoteViews);
+ method @NonNull public android.app.Notification.Builder setCustomContentView(android.widget.RemoteViews);
+ method @NonNull public android.app.Notification.Builder setCustomHeadsUpContentView(android.widget.RemoteViews);
method @Deprecated public android.app.Notification.Builder setDefaults(int);
- method public android.app.Notification.Builder setDeleteIntent(android.app.PendingIntent);
- method public android.app.Notification.Builder setExtras(android.os.Bundle);
- method public android.app.Notification.Builder setFullScreenIntent(android.app.PendingIntent, boolean);
- method public android.app.Notification.Builder setGroup(String);
- method public android.app.Notification.Builder setGroupAlertBehavior(int);
- method public android.app.Notification.Builder setGroupSummary(boolean);
- method public android.app.Notification.Builder setLargeIcon(android.graphics.Bitmap);
- method public android.app.Notification.Builder setLargeIcon(android.graphics.drawable.Icon);
+ method @NonNull public android.app.Notification.Builder setDeleteIntent(android.app.PendingIntent);
+ method @NonNull public android.app.Notification.Builder setExtras(android.os.Bundle);
+ method @NonNull public android.app.Notification.Builder setFullScreenIntent(android.app.PendingIntent, boolean);
+ method @NonNull public android.app.Notification.Builder setGroup(String);
+ method @NonNull public android.app.Notification.Builder setGroupAlertBehavior(int);
+ method @NonNull public android.app.Notification.Builder setGroupSummary(boolean);
+ method @NonNull public android.app.Notification.Builder setLargeIcon(android.graphics.Bitmap);
+ method @NonNull public android.app.Notification.Builder setLargeIcon(android.graphics.drawable.Icon);
method @Deprecated public android.app.Notification.Builder setLights(@ColorInt int, int, int);
- method public android.app.Notification.Builder setLocalOnly(boolean);
- method public android.app.Notification.Builder setNumber(int);
- method public android.app.Notification.Builder setOngoing(boolean);
- method public android.app.Notification.Builder setOnlyAlertOnce(boolean);
+ method @NonNull public android.app.Notification.Builder setLocalOnly(boolean);
+ method @NonNull public android.app.Notification.Builder setNumber(int);
+ method @NonNull public android.app.Notification.Builder setOngoing(boolean);
+ method @NonNull public android.app.Notification.Builder setOnlyAlertOnce(boolean);
method @Deprecated public android.app.Notification.Builder setPriority(int);
- method public android.app.Notification.Builder setProgress(int, int, boolean);
- method public android.app.Notification.Builder setPublicVersion(android.app.Notification);
- method public android.app.Notification.Builder setRemoteInputHistory(CharSequence[]);
- method public android.app.Notification.Builder setSettingsText(CharSequence);
- method public android.app.Notification.Builder setShortcutId(String);
- method public android.app.Notification.Builder setShowWhen(boolean);
- method public android.app.Notification.Builder setSmallIcon(@DrawableRes int);
- method public android.app.Notification.Builder setSmallIcon(@DrawableRes int, int);
- method public android.app.Notification.Builder setSmallIcon(android.graphics.drawable.Icon);
- method public android.app.Notification.Builder setSortKey(String);
+ method @NonNull public android.app.Notification.Builder setProgress(int, int, boolean);
+ method @NonNull public android.app.Notification.Builder setPublicVersion(android.app.Notification);
+ method @NonNull public android.app.Notification.Builder setRemoteInputHistory(CharSequence[]);
+ method @NonNull public android.app.Notification.Builder setSettingsText(CharSequence);
+ method @NonNull public android.app.Notification.Builder setShortcutId(String);
+ method @NonNull public android.app.Notification.Builder setShowWhen(boolean);
+ method @NonNull public android.app.Notification.Builder setSmallIcon(@DrawableRes int);
+ method @NonNull public android.app.Notification.Builder setSmallIcon(@DrawableRes int, int);
+ method @NonNull public android.app.Notification.Builder setSmallIcon(android.graphics.drawable.Icon);
+ method @NonNull public android.app.Notification.Builder setSortKey(String);
method @Deprecated public android.app.Notification.Builder setSound(android.net.Uri);
method @Deprecated public android.app.Notification.Builder setSound(android.net.Uri, int);
method @Deprecated public android.app.Notification.Builder setSound(android.net.Uri, android.media.AudioAttributes);
- method public android.app.Notification.Builder setStyle(android.app.Notification.Style);
- method public android.app.Notification.Builder setSubText(CharSequence);
- method public android.app.Notification.Builder setTicker(CharSequence);
+ method @NonNull public android.app.Notification.Builder setStyle(android.app.Notification.Style);
+ method @NonNull public android.app.Notification.Builder setSubText(CharSequence);
+ method @NonNull public android.app.Notification.Builder setTicker(CharSequence);
method @Deprecated public android.app.Notification.Builder setTicker(CharSequence, android.widget.RemoteViews);
- method public android.app.Notification.Builder setTimeoutAfter(long);
- method public android.app.Notification.Builder setUsesChronometer(boolean);
+ method @NonNull public android.app.Notification.Builder setTimeoutAfter(long);
+ method @NonNull public android.app.Notification.Builder setUsesChronometer(boolean);
method @Deprecated public android.app.Notification.Builder setVibrate(long[]);
- method public android.app.Notification.Builder setVisibility(int);
- method public android.app.Notification.Builder setWhen(long);
+ method @NonNull public android.app.Notification.Builder setVisibility(int);
+ method @NonNull public android.app.Notification.Builder setWhen(long);
}
public static final class Notification.CarExtender implements android.app.Notification.Extender {
@@ -5762,7 +5762,7 @@
method public boolean shouldShowLights();
method public boolean shouldVibrate();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.NotificationChannel> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.NotificationChannel> CREATOR;
field public static final String DEFAULT_CHANNEL_ID = "miscellaneous";
}
@@ -5777,7 +5777,7 @@
method public boolean isBlocked();
method public void setDescription(String);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.NotificationChannelGroup> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.NotificationChannelGroup> CREATOR;
}
public class NotificationManager {
@@ -5855,7 +5855,7 @@
method public static String prioritySendersToString(int);
method public static String suppressedEffectsToString(int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.NotificationManager.Policy> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.NotificationManager.Policy> CREATOR;
field public static final int PRIORITY_CATEGORY_ALARMS = 32; // 0x20
field public static final int PRIORITY_CATEGORY_CALLS = 8; // 0x8
field public static final int PRIORITY_CATEGORY_EVENTS = 2; // 0x2
@@ -5907,7 +5907,7 @@
method public void send(android.content.Context, int, @Nullable android.content.Intent, @Nullable android.app.PendingIntent.OnFinished, @Nullable android.os.Handler, @Nullable String, @Nullable android.os.Bundle) throws android.app.PendingIntent.CanceledException;
method public static void writePendingIntentOrNullToParcel(@Nullable android.app.PendingIntent, @NonNull android.os.Parcel);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.PendingIntent> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.PendingIntent> CREATOR;
field public static final int FLAG_CANCEL_CURRENT = 268435456; // 0x10000000
field public static final int FLAG_IMMUTABLE = 67108864; // 0x4000000
field public static final int FLAG_NO_CREATE = 536870912; // 0x20000000
@@ -5935,7 +5935,7 @@
method public boolean isImportant();
method public android.app.Person.Builder toBuilder();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.Person> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.Person> CREATOR;
}
public static class Person.Builder {
@@ -5952,7 +5952,7 @@
public final class PictureInPictureParams implements android.os.Parcelable {
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.PictureInPictureParams> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.PictureInPictureParams> CREATOR;
}
public static class PictureInPictureParams.Builder {
@@ -6005,7 +6005,7 @@
method @NonNull public android.app.RemoteAction getUserAction();
method @NonNull public CharSequence getUserMessage();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.RecoverableSecurityException> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.RecoverableSecurityException> CREATOR;
}
public final class RemoteAction implements android.os.Parcelable {
@@ -6022,7 +6022,7 @@
method public void setShouldShowIcon(boolean);
method public boolean shouldShowIcon();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.RemoteAction> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.RemoteAction> CREATOR;
}
public final class RemoteInput implements android.os.Parcelable {
@@ -6042,7 +6042,7 @@
method public boolean isDataOnly();
method public static void setResultsSource(android.content.Intent, int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.RemoteInput> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.RemoteInput> CREATOR;
field public static final int EDIT_CHOICES_BEFORE_SENDING_AUTO = 0; // 0x0
field public static final int EDIT_CHOICES_BEFORE_SENDING_DISABLED = 1; // 0x1
field public static final int EDIT_CHOICES_BEFORE_SENDING_ENABLED = 2; // 0x2
@@ -6164,7 +6164,7 @@
method public boolean shouldRewriteQueryFromData();
method public boolean shouldRewriteQueryFromText();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.SearchableInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.SearchableInfo> CREATOR;
}
public abstract class Service extends android.content.ContextWrapper implements android.content.ComponentCallbacks2 {
@@ -6371,7 +6371,7 @@
method public CharSequence getSynonymAt(int);
method public void setExtras(android.os.Bundle);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.VoiceInteractor.PickOptionRequest.Option> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.VoiceInteractor.PickOptionRequest.Option> CREATOR;
}
public static class VoiceInteractor.Prompt implements android.os.Parcelable {
@@ -6382,7 +6382,7 @@
method @NonNull public CharSequence getVisualPrompt();
method @NonNull public CharSequence getVoicePromptAt(int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.VoiceInteractor.Prompt> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.VoiceInteractor.Prompt> CREATOR;
}
public abstract static class VoiceInteractor.Request {
@@ -6405,7 +6405,7 @@
method @Nullable public android.graphics.Color getSecondaryColor();
method @Nullable public android.graphics.Color getTertiaryColor();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.WallpaperColors> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.WallpaperColors> CREATOR;
}
public final class WallpaperInfo implements android.os.Parcelable {
@@ -6428,7 +6428,7 @@
method public android.graphics.drawable.Drawable loadThumbnail(android.content.pm.PackageManager);
method public boolean supportsMultipleDisplays();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.WallpaperInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.WallpaperInfo> CREATOR;
}
public class WallpaperManager {
@@ -6499,7 +6499,7 @@
method public java.net.InetAddress getInetAddress();
method public int getPort();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.admin.ConnectEvent> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.ConnectEvent> CREATOR;
}
public class DelegatedAdminReceiver extends android.content.BroadcastReceiver {
@@ -6525,7 +6525,7 @@
method public boolean supportsTransferOwnership();
method public boolean usesPolicy(int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.admin.DeviceAdminInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.DeviceAdminInfo> CREATOR;
field public static final int USES_ENCRYPTED_STORAGE = 7; // 0x7
field public static final int USES_POLICY_DISABLE_CAMERA = 8; // 0x8
field public static final int USES_POLICY_DISABLE_KEYGUARD_FEATURES = 9; // 0x9
@@ -6975,7 +6975,7 @@
method public java.util.List<java.net.InetAddress> getInetAddresses();
method public int getTotalResolvedAddressCount();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.admin.DnsEvent> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.DnsEvent> CREATOR;
}
public class FreezePeriod {
@@ -6989,7 +6989,7 @@
method public long getId();
method public String getPackageName();
method public long getTimestamp();
- field public static final android.os.Parcelable.Creator<android.app.admin.NetworkEvent> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.NetworkEvent> CREATOR;
}
public class SecurityLog {
@@ -7040,7 +7040,7 @@
method public int getTag();
method public long getTimeNanos();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.admin.SecurityLog.SecurityEvent> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.SecurityLog.SecurityEvent> CREATOR;
}
public final class SystemUpdateInfo implements android.os.Parcelable {
@@ -7048,7 +7048,7 @@
method public long getReceivedTime();
method public int getSecurityPatchState();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.admin.SystemUpdateInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.SystemUpdateInfo> CREATOR;
field public static final int SECURITY_PATCH_STATE_FALSE = 1; // 0x1
field public static final int SECURITY_PATCH_STATE_TRUE = 2; // 0x2
field public static final int SECURITY_PATCH_STATE_UNKNOWN = 0; // 0x0
@@ -7065,7 +7065,7 @@
method public int getPolicyType();
method public android.app.admin.SystemUpdatePolicy setFreezePeriods(java.util.List<android.app.admin.FreezePeriod>);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.admin.SystemUpdatePolicy> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.SystemUpdatePolicy> CREATOR;
field public static final int TYPE_INSTALL_AUTOMATIC = 1; // 0x1
field public static final int TYPE_INSTALL_WINDOWED = 2; // 0x2
field public static final int TYPE_POSTPONE = 3; // 0x3
@@ -7075,7 +7075,7 @@
method public int describeContents();
method public int getErrorCode();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.admin.SystemUpdatePolicy.ValidationFailedException> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.SystemUpdatePolicy.ValidationFailedException> CREATOR;
field public static final int ERROR_COMBINED_FREEZE_PERIOD_TOO_CLOSE = 6; // 0x6
field public static final int ERROR_COMBINED_FREEZE_PERIOD_TOO_LONG = 5; // 0x5
field public static final int ERROR_DUPLICATE_OR_OVERLAP = 2; // 0x2
@@ -7103,7 +7103,7 @@
method public void setStructuredData(String);
method public void setWebUri(android.net.Uri);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.assist.AssistContent> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.assist.AssistContent> CREATOR;
}
public class AssistStructure implements android.os.Parcelable {
@@ -7116,7 +7116,7 @@
method public int getWindowNodeCount();
method public boolean isHomeActivity();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.assist.AssistStructure> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.assist.AssistStructure> CREATOR;
}
public static class AssistStructure.ViewNode {
@@ -7322,7 +7322,7 @@
method public void writeToParcel(android.os.Parcel, int);
field public static final int BACKOFF_POLICY_EXPONENTIAL = 1; // 0x1
field public static final int BACKOFF_POLICY_LINEAR = 0; // 0x0
- field public static final android.os.Parcelable.Creator<android.app.job.JobInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.job.JobInfo> CREATOR;
field public static final long DEFAULT_INITIAL_BACKOFF_MILLIS = 30000L; // 0x7530L
field public static final long MAX_BACKOFF_DELAY_MILLIS = 18000000L; // 0x112a880L
field public static final int NETWORK_BYTES_UNKNOWN = -1; // 0xffffffff
@@ -7366,7 +7366,7 @@
method public int getFlags();
method public android.net.Uri getUri();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.job.JobInfo.TriggerContentUri> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.job.JobInfo.TriggerContentUri> CREATOR;
field public static final int FLAG_NOTIFY_FOR_DESCENDANTS = 1; // 0x1
}
@@ -7384,7 +7384,7 @@
method @Nullable public android.net.Uri[] getTriggeredContentUris();
method public boolean isOverrideDeadlineExpired();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.job.JobParameters> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.job.JobParameters> CREATOR;
}
public abstract class JobScheduler {
@@ -7425,7 +7425,7 @@
method public long getEstimatedNetworkUploadBytes();
method public android.content.Intent getIntent();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.job.JobWorkItem> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.job.JobWorkItem> CREATOR;
}
}
@@ -7461,7 +7461,7 @@
method public android.net.Uri getUri();
method public boolean isCallerNeeded();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.slice.Slice> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.slice.Slice> CREATOR;
field public static final String EXTRA_RANGE_VALUE = "android.app.slice.extra.RANGE_VALUE";
field public static final String EXTRA_TOGGLE_STATE = "android.app.slice.extra.TOGGLE_STATE";
field public static final String HINT_ACTIONS = "actions";
@@ -7525,7 +7525,7 @@
method public CharSequence getText();
method public boolean hasHint(String);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.slice.SliceItem> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.slice.SliceItem> CREATOR;
field public static final String FORMAT_ACTION = "action";
field public static final String FORMAT_BUNDLE = "bundle";
field public static final String FORMAT_IMAGE = "image";
@@ -7585,7 +7585,7 @@
method public int getRevision();
method public String getType();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.slice.SliceSpec> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.slice.SliceSpec> CREATOR;
}
}
@@ -7602,7 +7602,7 @@
method public long getLastTimeStamp();
method public long getTotalTimeActive();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.usage.ConfigurationStats> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.usage.ConfigurationStats> CREATOR;
}
public final class EventStats implements android.os.Parcelable {
@@ -7616,7 +7616,7 @@
method public long getLastTimeStamp();
method public long getTotalTime();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.usage.EventStats> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.usage.EventStats> CREATOR;
}
public final class ExternalStorageStats implements android.os.Parcelable {
@@ -7627,7 +7627,7 @@
method public long getTotalBytes();
method public long getVideoBytes();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.usage.ExternalStorageStats> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.usage.ExternalStorageStats> CREATOR;
}
public final class NetworkStats implements java.lang.AutoCloseable {
@@ -7692,7 +7692,7 @@
method public long getCacheBytes();
method public long getDataBytes();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.usage.StorageStats> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.usage.StorageStats> CREATOR;
}
public class StorageStatsManager {
@@ -7709,7 +7709,7 @@
method public boolean getNextEvent(android.app.usage.UsageEvents.Event);
method public boolean hasNextEvent();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.usage.UsageEvents> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.usage.UsageEvents> CREATOR;
}
public static final class UsageEvents.Event {
@@ -7754,7 +7754,7 @@
method public long getTotalTimeInForeground();
method public long getTotalTimeVisible();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.usage.UsageStats> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.usage.UsageStats> CREATOR;
}
public final class UsageStatsManager {
@@ -7887,7 +7887,7 @@
method public final String loadLabel(android.content.pm.PackageManager);
method public final android.graphics.drawable.Drawable loadPreviewImage(@NonNull android.content.Context, int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.appwidget.AppWidgetProviderInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.appwidget.AppWidgetProviderInfo> CREATOR;
field public static final int RESIZE_BOTH = 3; // 0x3
field public static final int RESIZE_HORIZONTAL = 1; // 0x1
field public static final int RESIZE_NONE = 0; // 0x0
@@ -8238,7 +8238,7 @@
method public int getMajorDeviceClass();
method public boolean hasService(int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothClass> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothClass> CREATOR;
}
public static class BluetoothClass.Device {
@@ -8356,7 +8356,7 @@
field public static final int BOND_BONDED = 12; // 0xc
field public static final int BOND_BONDING = 11; // 0xb
field public static final int BOND_NONE = 10; // 0xa
- field public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothDevice> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothDevice> CREATOR;
field public static final int DEVICE_TYPE_CLASSIC = 1; // 0x1
field public static final int DEVICE_TYPE_DUAL = 3; // 0x3
field public static final int DEVICE_TYPE_LE = 2; // 0x2
@@ -8465,7 +8465,7 @@
method public boolean setValue(String);
method public void setWriteType(int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothGattCharacteristic> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothGattCharacteristic> CREATOR;
field public static final int FORMAT_FLOAT = 52; // 0x34
field public static final int FORMAT_SFLOAT = 50; // 0x32
field public static final int FORMAT_SINT16 = 34; // 0x22
@@ -8505,7 +8505,7 @@
method public byte[] getValue();
method public boolean setValue(byte[]);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothGattDescriptor> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothGattDescriptor> CREATOR;
field public static final byte[] DISABLE_NOTIFICATION_VALUE;
field public static final byte[] ENABLE_INDICATION_VALUE;
field public static final byte[] ENABLE_NOTIFICATION_VALUE;
@@ -8564,7 +8564,7 @@
method public int getType();
method public java.util.UUID getUuid();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothGattService> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothGattService> CREATOR;
field public static final int SERVICE_TYPE_PRIMARY = 0; // 0x0
field public static final int SERVICE_TYPE_SECONDARY = 1; // 0x1
field protected java.util.List<android.bluetooth.BluetoothGattCharacteristic> mCharacteristics;
@@ -8628,7 +8628,7 @@
method @Deprecated public String getName();
method @Deprecated public int getRole();
method @Deprecated public void writeToParcel(android.os.Parcel, int);
- field @Deprecated public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHealthAppConfiguration> CREATOR;
+ field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHealthAppConfiguration> CREATOR;
}
@Deprecated public abstract class BluetoothHealthCallback {
@@ -8701,7 +8701,7 @@
method public int getTokenBucketSize();
method public int getTokenRate();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHidDeviceAppQosSettings> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHidDeviceAppQosSettings> CREATOR;
field public static final int MAX = -1; // 0xffffffff
field public static final int SERVICE_BEST_EFFORT = 1; // 0x1
field public static final int SERVICE_GUARANTEED = 2; // 0x2
@@ -8717,7 +8717,7 @@
method public String getProvider();
method public byte getSubclass();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHidDeviceAppSdpSettings> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHidDeviceAppSdpSettings> CREATOR;
}
public final class BluetoothManager {
@@ -8798,7 +8798,7 @@
method public java.util.Map<android.os.ParcelUuid,byte[]> getServiceData();
method public java.util.List<android.os.ParcelUuid> getServiceUuids();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.bluetooth.le.AdvertiseData> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.AdvertiseData> CREATOR;
}
public static final class AdvertiseData.Builder {
@@ -8825,7 +8825,7 @@
field public static final int ADVERTISE_TX_POWER_LOW = 1; // 0x1
field public static final int ADVERTISE_TX_POWER_MEDIUM = 2; // 0x2
field public static final int ADVERTISE_TX_POWER_ULTRA_LOW = 0; // 0x0
- field public static final android.os.Parcelable.Creator<android.bluetooth.le.AdvertiseSettings> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.AdvertiseSettings> CREATOR;
}
public static final class AdvertiseSettings.Builder {
@@ -8878,7 +8878,7 @@
method public boolean isLegacy();
method public boolean isScannable();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.bluetooth.le.AdvertisingSetParameters> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.AdvertisingSetParameters> CREATOR;
field public static final int INTERVAL_HIGH = 1600; // 0x640
field public static final int INTERVAL_LOW = 160; // 0xa0
field public static final int INTERVAL_MAX = 16777215; // 0xffffff
@@ -8971,7 +8971,7 @@
method @Nullable public android.os.ParcelUuid getServiceUuidMask();
method public boolean matches(android.bluetooth.le.ScanResult);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.bluetooth.le.ScanFilter> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ScanFilter> CREATOR;
}
public static final class ScanFilter.Builder {
@@ -9019,7 +9019,7 @@
method public boolean isConnectable();
method public boolean isLegacy();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.bluetooth.le.ScanResult> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ScanResult> CREATOR;
field public static final int DATA_COMPLETE = 0; // 0x0
field public static final int DATA_TRUNCATED = 2; // 0x2
field public static final int PERIODIC_INTERVAL_NOT_PRESENT = 0; // 0x0
@@ -9040,7 +9040,7 @@
field public static final int CALLBACK_TYPE_ALL_MATCHES = 1; // 0x1
field public static final int CALLBACK_TYPE_FIRST_MATCH = 2; // 0x2
field public static final int CALLBACK_TYPE_MATCH_LOST = 4; // 0x4
- field public static final android.os.Parcelable.Creator<android.bluetooth.le.ScanSettings> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ScanSettings> CREATOR;
field public static final int MATCH_MODE_AGGRESSIVE = 1; // 0x1
field public static final int MATCH_MODE_STICKY = 2; // 0x2
field public static final int MATCH_NUM_FEW_ADVERTISEMENT = 2; // 0x2
@@ -9072,7 +9072,7 @@
public final class AssociationRequest implements android.os.Parcelable {
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.companion.AssociationRequest> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.companion.AssociationRequest> CREATOR;
}
public static final class AssociationRequest.Builder {
@@ -9085,7 +9085,7 @@
public final class BluetoothDeviceFilter implements android.companion.DeviceFilter<android.bluetooth.BluetoothDevice> {
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.companion.BluetoothDeviceFilter> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.companion.BluetoothDeviceFilter> CREATOR;
}
public static final class BluetoothDeviceFilter.Builder {
@@ -9100,7 +9100,7 @@
method public int describeContents();
method public static int getRenamePrefixLengthLimit();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.companion.BluetoothLeDeviceFilter> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.companion.BluetoothLeDeviceFilter> CREATOR;
}
public static final class BluetoothLeDeviceFilter.Builder {
@@ -9134,7 +9134,7 @@
public final class WifiDeviceFilter implements android.companion.DeviceFilter<android.net.wifi.ScanResult> {
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.companion.WifiDeviceFilter> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.companion.WifiDeviceFilter> CREATOR;
}
public static final class WifiDeviceFilter.Builder {
@@ -9258,7 +9258,7 @@
method public static android.content.ClipData newRawUri(CharSequence, android.net.Uri);
method public static android.content.ClipData newUri(android.content.ContentResolver, CharSequence, android.net.Uri);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.ClipData> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.ClipData> CREATOR;
}
public static class ClipData.Item {
@@ -9291,7 +9291,7 @@
method public boolean hasMimeType(String);
method public void setExtras(android.os.PersistableBundle);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.ClipDescription> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.ClipDescription> CREATOR;
field public static final String MIMETYPE_TEXT_HTML = "text/html";
field public static final String MIMETYPE_TEXT_INTENT = "text/vnd.android.intent";
field public static final String MIMETYPE_TEXT_PLAIN = "text/plain";
@@ -9351,7 +9351,7 @@
method @Nullable public static android.content.ComponentName unflattenFromString(@NonNull String);
method public void writeToParcel(android.os.Parcel, int);
method public static void writeToParcel(android.content.ComponentName, android.os.Parcel);
- field public static final android.os.Parcelable.Creator<android.content.ComponentName> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.ComponentName> CREATOR;
}
public abstract class ContentProvider implements android.content.ComponentCallbacks2 {
@@ -9454,7 +9454,7 @@
method public String[] resolveSelectionArgsBackReferences(android.content.ContentProviderResult[], int);
method public android.content.ContentValues resolveValueBackReferences(android.content.ContentProviderResult[], int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.ContentProviderOperation> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.ContentProviderOperation> CREATOR;
}
public static class ContentProviderOperation.Builder {
@@ -9475,7 +9475,7 @@
ctor public ContentProviderResult(android.os.Parcel);
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.ContentProviderResult> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.ContentProviderResult> CREATOR;
field public final Integer count;
field public final android.net.Uri uri;
}
@@ -9644,7 +9644,7 @@
method public int size();
method public java.util.Set<java.util.Map.Entry<java.lang.String,java.lang.Object>> valueSet();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.ContentValues> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.ContentValues> CREATOR;
field public static final String TAG = "ContentValues";
}
@@ -10338,7 +10338,7 @@
field public static final String CATEGORY_UNIT_TEST = "android.intent.category.UNIT_TEST";
field public static final String CATEGORY_VOICE = "android.intent.category.VOICE";
field public static final String CATEGORY_VR_HOME = "android.intent.category.VR_HOME";
- field public static final android.os.Parcelable.Creator<android.content.Intent> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.Intent> CREATOR;
field public static final String EXTRA_ALARM_COUNT = "android.intent.extra.ALARM_COUNT";
field public static final String EXTRA_ALLOW_MULTIPLE = "android.intent.extra.ALLOW_MULTIPLE";
field @Deprecated public static final String EXTRA_ALLOW_REPLACE = "android.intent.extra.ALLOW_REPLACE";
@@ -10476,7 +10476,7 @@
method public int describeContents();
method public static android.content.Intent.ShortcutIconResource fromContext(android.content.Context, @AnyRes int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.Intent.ShortcutIconResource> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.Intent.ShortcutIconResource> CREATOR;
field public String packageName;
field public String resourceName;
}
@@ -10535,7 +10535,7 @@
method public final java.util.Iterator<java.lang.String> typesIterator();
method public final void writeToParcel(android.os.Parcel, int);
method public void writeToXml(org.xmlpull.v1.XmlSerializer) throws java.io.IOException;
- field public static final android.os.Parcelable.Creator<android.content.IntentFilter> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.IntentFilter> CREATOR;
field public static final int MATCH_ADJUSTMENT_MASK = 65535; // 0xffff
field public static final int MATCH_ADJUSTMENT_NORMAL = 32768; // 0x8000
field public static final int MATCH_CATEGORY_EMPTY = 1048576; // 0x100000
@@ -10577,7 +10577,7 @@
method public void sendIntent(android.content.Context, int, android.content.Intent, android.content.IntentSender.OnFinished, android.os.Handler, String) throws android.content.IntentSender.SendIntentException;
method public static void writeIntentSenderOrNullToParcel(android.content.IntentSender, android.os.Parcel);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.IntentSender> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.IntentSender> CREATOR;
}
public static interface IntentSender.OnFinished {
@@ -10640,7 +10640,7 @@
method public int describeContents();
method @NonNull public android.net.Uri getUri();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.LocusId> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.LocusId> CREATOR;
}
public class MutableContextWrapper extends android.content.ContextWrapper {
@@ -10662,7 +10662,7 @@
ctor public PeriodicSync(android.accounts.Account, String, android.os.Bundle, long);
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.PeriodicSync> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.PeriodicSync> CREATOR;
field public final android.accounts.Account account;
field public final String authority;
field public final android.os.Bundle extras;
@@ -10716,7 +10716,7 @@
method public void setTitle(String);
method public void setType(int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.RestrictionEntry> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.RestrictionEntry> CREATOR;
field public static final int TYPE_BOOLEAN = 1; // 0x1
field public static final int TYPE_BUNDLE = 7; // 0x7
field public static final int TYPE_BUNDLE_ARRAY = 8; // 0x8
@@ -10829,7 +10829,7 @@
method public static android.content.SyncAdapterType newKey(String, String);
method public boolean supportsUploading();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.SyncAdapterType> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.SyncAdapterType> CREATOR;
field public final String accountType;
field public final String authority;
field public final boolean isKey;
@@ -10851,7 +10851,7 @@
public class SyncRequest implements android.os.Parcelable {
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.SyncRequest> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.SyncRequest> CREATOR;
}
public static class SyncRequest.Builder {
@@ -10881,7 +10881,7 @@
method public String toDebugString();
method public void writeToParcel(android.os.Parcel, int);
field public static final android.content.SyncResult ALREADY_IN_PROGRESS;
- field public static final android.os.Parcelable.Creator<android.content.SyncResult> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.SyncResult> CREATOR;
field public boolean databaseError;
field public long delayUntil;
field public boolean fullSyncRequested;
@@ -10899,7 +10899,7 @@
method public void clear();
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.SyncStats> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.SyncStats> CREATOR;
field public long numAuthExceptions;
field public long numConflictDetectedExceptions;
field public long numDeletes;
@@ -10929,7 +10929,7 @@
method public boolean isReadPermission();
method public boolean isWritePermission();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.UriPermission> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.UriPermission> CREATOR;
field public static final long INVALID_TIME = -9223372036854775808L; // 0x8000000000000000L
}
@@ -10962,7 +10962,7 @@
field public static final int CONFIG_SMALLEST_SCREEN_SIZE = 2048; // 0x800
field public static final int CONFIG_TOUCHSCREEN = 8; // 0x8
field public static final int CONFIG_UI_MODE = 512; // 0x200
- field public static final android.os.Parcelable.Creator<android.content.pm.ActivityInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ActivityInfo> CREATOR;
field public static final int DOCUMENT_LAUNCH_ALWAYS = 2; // 0x2
field public static final int DOCUMENT_LAUNCH_INTO_EXISTING = 1; // 0x1
field public static final int DOCUMENT_LAUNCH_NEVER = 3; // 0x3
@@ -11054,7 +11054,7 @@
field public static final int CATEGORY_SOCIAL = 4; // 0x4
field public static final int CATEGORY_UNDEFINED = -1; // 0xffffffff
field public static final int CATEGORY_VIDEO = 2; // 0x2
- field public static final android.os.Parcelable.Creator<android.content.pm.ApplicationInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ApplicationInfo> CREATOR;
field public static final int FLAG_ALLOW_BACKUP = 32768; // 0x8000
field public static final int FLAG_ALLOW_CLEAR_USER_DATA = 64; // 0x40
field public static final int FLAG_ALLOW_TASK_REPARENTING = 32; // 0x20
@@ -11129,7 +11129,7 @@
method @NonNull public java.util.List<java.lang.String> getPackageNames();
method public int getSequenceNumber();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.pm.ChangedPackages> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ChangedPackages> CREATOR;
}
public class ComponentInfo extends android.content.pm.PackageItemInfo {
@@ -11155,7 +11155,7 @@
method public int describeContents();
method public String getGlEsVersion();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.pm.ConfigurationInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ConfigurationInfo> CREATOR;
field public static final int GL_ES_VERSION_UNDEFINED = 0; // 0x0
field public static final int INPUT_FEATURE_FIVE_WAY_NAV = 2; // 0x2
field public static final int INPUT_FEATURE_HARD_KEYBOARD = 1; // 0x1
@@ -11178,7 +11178,7 @@
ctor public FeatureGroupInfo(android.content.pm.FeatureGroupInfo);
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.pm.FeatureGroupInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.FeatureGroupInfo> CREATOR;
field public android.content.pm.FeatureInfo[] features;
}
@@ -11188,7 +11188,7 @@
method public int describeContents();
method public String getGlEsVersion();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.pm.FeatureInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.FeatureInfo> CREATOR;
field public static final int FLAG_REQUIRED = 1; // 0x1
field public static final int GL_ES_VERSION_UNDEFINED = 0; // 0x0
field public int flags;
@@ -11201,7 +11201,7 @@
ctor public InstrumentationInfo();
ctor public InstrumentationInfo(android.content.pm.InstrumentationInfo);
method public int describeContents();
- field public static final android.os.Parcelable.Creator<android.content.pm.InstrumentationInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstrumentationInfo> CREATOR;
field public String dataDir;
field public boolean functionalTest;
field public boolean handleProfiling;
@@ -11225,7 +11225,7 @@
method public String getSourcePackage();
method public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager);
method public CharSequence loadLabel(android.content.pm.PackageManager);
- field public static final android.os.Parcelable.Creator<android.content.pm.LabeledIntent> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.LabeledIntent> CREATOR;
}
public class LauncherActivityInfo {
@@ -11278,7 +11278,7 @@
method public long getTotalUsageLimit();
method public long getUsageRemaining();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.pm.LauncherApps.AppUsageLimit> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.LauncherApps.AppUsageLimit> CREATOR;
}
public abstract static class LauncherApps.Callback {
@@ -11304,7 +11304,7 @@
method @Nullable public android.content.pm.ShortcutInfo getShortcutInfo();
method public boolean isValid();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.pm.LauncherApps.PinItemRequest> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.LauncherApps.PinItemRequest> CREATOR;
field public static final int REQUEST_TYPE_APPWIDGET = 2; // 0x2
field public static final int REQUEST_TYPE_SHORTCUT = 1; // 0x1
}
@@ -11329,7 +11329,7 @@
method @Nullable public String getPackageName();
method public boolean isHidden();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.pm.ModuleInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ModuleInfo> CREATOR;
}
public class PackageInfo implements android.os.Parcelable {
@@ -11338,7 +11338,7 @@
method public long getLongVersionCode();
method public void setLongVersionCode(long);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.pm.PackageInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.PackageInfo> CREATOR;
field public static final int INSTALL_LOCATION_AUTO = 0; // 0x0
field public static final int INSTALL_LOCATION_INTERNAL_ONLY = 1; // 0x1
field public static final int INSTALL_LOCATION_PREFER_EXTERNAL = 2; // 0x2
@@ -11802,7 +11802,7 @@
ctor @Deprecated public PackageStats(android.content.pm.PackageStats);
method @Deprecated public int describeContents();
method @Deprecated public void writeToParcel(android.os.Parcel, int);
- field @Deprecated public static final android.os.Parcelable.Creator<android.content.pm.PackageStats> CREATOR;
+ field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.content.pm.PackageStats> CREATOR;
field @Deprecated public long cacheSize;
field @Deprecated public long codeSize;
field @Deprecated public long dataSize;
@@ -11819,7 +11819,7 @@
ctor public PathPermission(android.os.Parcel);
method public String getReadPermission();
method public String getWritePermission();
- field public static final android.os.Parcelable.Creator<android.content.pm.PathPermission> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.PathPermission> CREATOR;
}
public class PermissionGroupInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
@@ -11827,7 +11827,7 @@
ctor public PermissionGroupInfo(android.content.pm.PermissionGroupInfo);
method public int describeContents();
method public CharSequence loadDescription(android.content.pm.PackageManager);
- field public static final android.os.Parcelable.Creator<android.content.pm.PermissionGroupInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.PermissionGroupInfo> CREATOR;
field public static final int FLAG_PERSONAL_INFO = 1; // 0x1
field public int descriptionRes;
field public int flags;
@@ -11842,7 +11842,7 @@
method public int getProtection();
method public int getProtectionFlags();
method public CharSequence loadDescription(android.content.pm.PackageManager);
- field public static final android.os.Parcelable.Creator<android.content.pm.PermissionInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.PermissionInfo> CREATOR;
field public static final int FLAG_COSTS_MONEY = 1; // 0x1
field public static final int FLAG_INSTALLED = 1073741824; // 0x40000000
field public static final int PROTECTION_DANGEROUS = 1; // 0x1
@@ -11874,7 +11874,7 @@
ctor public ProviderInfo(android.content.pm.ProviderInfo);
method public int describeContents();
method public void dump(android.util.Printer, String);
- field public static final android.os.Parcelable.Creator<android.content.pm.ProviderInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ProviderInfo> CREATOR;
field public static final int FLAG_SINGLE_USER = 1073741824; // 0x40000000
field public String authority;
field public int flags;
@@ -11898,7 +11898,7 @@
method public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager);
method public CharSequence loadLabel(android.content.pm.PackageManager);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.pm.ResolveInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ResolveInfo> CREATOR;
field public android.content.pm.ActivityInfo activityInfo;
field public android.content.IntentFilter filter;
field public int icon;
@@ -11926,7 +11926,7 @@
method public int describeContents();
method public void dump(android.util.Printer, String);
method public int getForegroundServiceType();
- field public static final android.os.Parcelable.Creator<android.content.pm.ServiceInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ServiceInfo> CREATOR;
field public static final int FLAG_EXTERNAL_SERVICE = 4; // 0x4
field public static final int FLAG_ISOLATED_PROCESS = 2; // 0x2
field public static final int FLAG_SINGLE_USER = 1073741824; // 0x40000000
@@ -11952,7 +11952,7 @@
method public int getType();
method @Deprecated @IntRange(from=0xffffffff) public int getVersion();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.pm.SharedLibraryInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.SharedLibraryInfo> CREATOR;
field public static final int TYPE_BUILTIN = 0; // 0x0
field public static final int TYPE_DYNAMIC = 1; // 0x1
field public static final int TYPE_STATIC = 2; // 0x2
@@ -11982,7 +11982,7 @@
method public boolean isImmutable();
method public boolean isPinned();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.pm.ShortcutInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ShortcutInfo> CREATOR;
field public static final int DISABLED_REASON_APP_CHANGED = 2; // 0x2
field public static final int DISABLED_REASON_BACKUP_NOT_SUPPORTED = 101; // 0x65
field public static final int DISABLED_REASON_BY_APP = 1; // 0x1
@@ -12043,7 +12043,7 @@
method public char[] toChars(char[], int[]);
method public String toCharsString();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.pm.Signature> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.Signature> CREATOR;
}
public final class SigningInfo implements android.os.Parcelable {
@@ -12055,7 +12055,7 @@
method public boolean hasMultipleSigners();
method public boolean hasPastSigningCertificates();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.pm.SigningInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.SigningInfo> CREATOR;
}
public final class VersionedPackage implements android.os.Parcelable {
@@ -12066,7 +12066,7 @@
method @NonNull public String getPackageName();
method @Deprecated public int getVersionCode();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.pm.VersionedPackage> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.VersionedPackage> CREATOR;
}
}
@@ -12087,7 +12087,7 @@
method public android.os.ParcelFileDescriptor getParcelFileDescriptor();
method public long getStartOffset();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.res.AssetFileDescriptor> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.res.AssetFileDescriptor> CREATOR;
field public static final long UNKNOWN_LENGTH = -1L; // 0xffffffffffffffffL
}
@@ -12133,7 +12133,7 @@
method @NonNull public static android.content.res.ColorStateList valueOf(@ColorInt int);
method @NonNull public android.content.res.ColorStateList withAlpha(int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.res.ColorStateList> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.res.ColorStateList> CREATOR;
}
public final class Configuration implements java.lang.Comparable<android.content.res.Configuration> android.os.Parcelable {
@@ -12168,7 +12168,7 @@
field public static final int COLOR_MODE_WIDE_COLOR_GAMUT_NO = 1; // 0x1
field public static final int COLOR_MODE_WIDE_COLOR_GAMUT_UNDEFINED = 0; // 0x0
field public static final int COLOR_MODE_WIDE_COLOR_GAMUT_YES = 2; // 0x2
- field public static final android.os.Parcelable.Creator<android.content.res.Configuration> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.res.Configuration> CREATOR;
field public static final int DENSITY_DPI_UNDEFINED = 0; // 0x0
field public static final int HARDKEYBOARDHIDDEN_NO = 1; // 0x1
field public static final int HARDKEYBOARDHIDDEN_UNDEFINED = 0; // 0x0
@@ -12256,7 +12256,7 @@
public class ObbInfo implements android.os.Parcelable {
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.res.ObbInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.res.ObbInfo> CREATOR;
field public static final int OBB_OVERLAY = 1; // 0x1
field public String filename;
field public int flags;
@@ -12513,7 +12513,7 @@
method public int getInt(int);
method public long getLong(int);
method public android.net.Uri getNotificationUri();
- method public default java.util.List<android.net.Uri> getNotificationUris();
+ method @Nullable public default java.util.List<android.net.Uri> getNotificationUris();
method public int getPosition();
method public short getShort(int);
method public String getString(int);
@@ -12599,7 +12599,7 @@
method public boolean setNumColumns(int);
method public void setStartPosition(int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.database.CursorWindow> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.database.CursorWindow> CREATOR;
}
public class CursorWrapper implements android.database.Cursor {
@@ -13072,19 +13072,19 @@
method public String buildUnionSubQuery(String, String[], java.util.Set<java.lang.String>, int, String, String, String, String);
method @Deprecated public String buildUnionSubQuery(String, String[], java.util.Set<java.lang.String>, int, String, String, String[], String, String);
method public int delete(@NonNull android.database.sqlite.SQLiteDatabase, @Nullable String, @Nullable String[]);
- method public android.database.sqlite.SQLiteDatabase.CursorFactory getCursorFactory();
+ method @Nullable public android.database.sqlite.SQLiteDatabase.CursorFactory getCursorFactory();
method public boolean getDistinct();
- method public java.util.Map<java.lang.String,java.lang.String> getProjectionMap();
+ method @Nullable public java.util.Map<java.lang.String,java.lang.String> getProjectionMap();
method public boolean getStrict();
- method public String getTables();
+ method @Nullable public String getTables();
method public android.database.Cursor query(android.database.sqlite.SQLiteDatabase, String[], String, String[], String, String, String);
method public android.database.Cursor query(android.database.sqlite.SQLiteDatabase, String[], String, String[], String, String, String, String);
method public android.database.Cursor query(android.database.sqlite.SQLiteDatabase, String[], String, String[], String, String, String, String, android.os.CancellationSignal);
- method public void setCursorFactory(android.database.sqlite.SQLiteDatabase.CursorFactory);
+ method public void setCursorFactory(@Nullable android.database.sqlite.SQLiteDatabase.CursorFactory);
method public void setDistinct(boolean);
- method public void setProjectionMap(java.util.Map<java.lang.String,java.lang.String>);
+ method public void setProjectionMap(@Nullable java.util.Map<java.lang.String,java.lang.String>);
method public void setStrict(boolean);
- method public void setTables(String);
+ method public void setTables(@Nullable String);
method public int update(@NonNull android.database.sqlite.SQLiteDatabase, @NonNull android.content.ContentValues, @Nullable String, @Nullable String[]);
}
@@ -13360,7 +13360,7 @@
method public android.graphics.Path toPath(int, int, int, int);
method public android.graphics.Path toPath(android.graphics.Path, int, int, int, int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.gesture.Gesture> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.gesture.Gesture> CREATOR;
}
public final class GestureLibraries {
@@ -13554,7 +13554,7 @@
method @CheckResult public android.graphics.Bitmap extractAlpha(android.graphics.Paint, int[]);
method public int getAllocationByteCount();
method public int getByteCount();
- method public android.graphics.Color getColor(int, int);
+ method @NonNull public android.graphics.Color getColor(int, int);
method @Nullable public android.graphics.ColorSpace getColorSpace();
method public android.graphics.Bitmap.Config getConfig();
method public int getDensity();
@@ -13592,7 +13592,7 @@
method public void setWidth(int);
method @Nullable public static android.graphics.Bitmap wrapHardwareBuffer(@NonNull android.hardware.HardwareBuffer, @Nullable android.graphics.ColorSpace);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.graphics.Bitmap> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.graphics.Bitmap> CREATOR;
field public static final int DENSITY_NONE = 0; // 0x0
}
@@ -14237,7 +14237,7 @@
method @NonNull public static android.graphics.Insets of(@Nullable android.graphics.Rect);
method @NonNull public static android.graphics.Insets subtract(@NonNull android.graphics.Insets, @NonNull android.graphics.Insets);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.graphics.Insets> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.graphics.Insets> CREATOR;
field public static final android.graphics.Insets NONE;
field public final int bottom;
field public final int left;
@@ -14741,7 +14741,7 @@
method public void readFromParcel(@NonNull android.os.Parcel);
method public void set(int, int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.graphics.Point> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.graphics.Point> CREATOR;
field public int x;
field public int y;
}
@@ -14760,7 +14760,7 @@
method public final void set(float, float);
method public final void set(@NonNull android.graphics.PointF);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.graphics.PointF> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.graphics.PointF> CREATOR;
field public float x;
field public float y;
}
@@ -14849,7 +14849,7 @@
method public void union(int, int);
method public int width();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.graphics.Rect> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.graphics.Rect> CREATOR;
field public int bottom;
field public int left;
field public int right;
@@ -14891,7 +14891,7 @@
method public void union(float, float);
method public final float width();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.graphics.RectF> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.graphics.RectF> CREATOR;
field public float bottom;
field public float left;
field public float right;
@@ -14931,7 +14931,7 @@
method public void translate(int, int, android.graphics.Region);
method public final boolean union(@NonNull android.graphics.Rect);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.graphics.Region> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.graphics.Region> CREATOR;
}
public enum Region.Op {
@@ -15517,7 +15517,7 @@
method public android.graphics.drawable.Icon setTintList(android.content.res.ColorStateList);
method public android.graphics.drawable.Icon setTintMode(android.graphics.PorterDuff.Mode);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.graphics.drawable.Icon> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.graphics.drawable.Icon> CREATOR;
field public static final int TYPE_ADAPTIVE_BITMAP = 5; // 0x5
field public static final int TYPE_BITMAP = 1; // 0x1
field public static final int TYPE_DATA = 3; // 0x3
@@ -16234,7 +16234,7 @@
method public static boolean isSupported(@IntRange(from=1) int, @IntRange(from=1) int, int, @IntRange(from=1) int, long);
method public void writeToParcel(android.os.Parcel, int);
field public static final int BLOB = 33; // 0x21
- field public static final android.os.Parcelable.Creator<android.hardware.HardwareBuffer> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.HardwareBuffer> CREATOR;
field public static final int DS_24UI8 = 50; // 0x32
field public static final int DS_FP32UI8 = 52; // 0x34
field public static final int D_16 = 48; // 0x30
@@ -16558,13 +16558,13 @@
public static class BiometricPrompt.Builder {
ctor public BiometricPrompt.Builder(android.content.Context);
- method public android.hardware.biometrics.BiometricPrompt build();
- method public android.hardware.biometrics.BiometricPrompt.Builder setAllowDeviceCredential(boolean);
- method public android.hardware.biometrics.BiometricPrompt.Builder setDescription(@NonNull CharSequence);
- method public android.hardware.biometrics.BiometricPrompt.Builder setNegativeButton(@NonNull CharSequence, @NonNull java.util.concurrent.Executor, @NonNull android.content.DialogInterface.OnClickListener);
- method public android.hardware.biometrics.BiometricPrompt.Builder setRequireConfirmation(boolean);
- method public android.hardware.biometrics.BiometricPrompt.Builder setSubtitle(@NonNull CharSequence);
- method public android.hardware.biometrics.BiometricPrompt.Builder setTitle(@NonNull CharSequence);
+ method @NonNull public android.hardware.biometrics.BiometricPrompt build();
+ method @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setAllowDeviceCredential(boolean);
+ method @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setDescription(@NonNull CharSequence);
+ method @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setNegativeButton(@NonNull CharSequence, @NonNull java.util.concurrent.Executor, @NonNull android.content.DialogInterface.OnClickListener);
+ method @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setRequireConfirmation(boolean);
+ method @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setSubtitle(@NonNull CharSequence);
+ method @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setTitle(@NonNull CharSequence);
}
public static final class BiometricPrompt.CryptoObject {
@@ -16646,93 +16646,93 @@
method public java.util.List<android.hardware.camera2.CameraCharacteristics.Key<?>> getKeysNeedingPermission();
method @NonNull public java.util.Set<java.lang.String> getPhysicalCameraIds();
method @Nullable public android.hardware.camera2.params.RecommendedStreamConfigurationMap getRecommendedStreamConfigurationMap(int);
- field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AE_AVAILABLE_ANTIBANDING_MODES;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AE_AVAILABLE_MODES;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Range<java.lang.Integer>[]> CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Range<java.lang.Integer>> CONTROL_AE_COMPENSATION_RANGE;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Rational> CONTROL_AE_COMPENSATION_STEP;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Boolean> CONTROL_AE_LOCK_AVAILABLE;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AF_AVAILABLE_MODES;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AVAILABLE_EFFECTS;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AVAILABLE_MODES;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AVAILABLE_SCENE_MODES;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AWB_AVAILABLE_MODES;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Boolean> CONTROL_AWB_LOCK_AVAILABLE;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> CONTROL_MAX_REGIONS_AE;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> CONTROL_MAX_REGIONS_AF;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> CONTROL_MAX_REGIONS_AWB;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Range<java.lang.Integer>> CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Boolean> DEPTH_DEPTH_IS_EXCLUSIVE;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> DISTORTION_CORRECTION_AVAILABLE_MODES;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> EDGE_AVAILABLE_EDGE_MODES;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Boolean> FLASH_INFO_AVAILABLE;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> INFO_SUPPORTED_HARDWARE_LEVEL;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.String> INFO_VERSION;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Size[]> JPEG_AVAILABLE_THUMBNAIL_SIZES;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_DISTORTION;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> LENS_FACING;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_INFO_AVAILABLE_APERTURES;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_INFO_AVAILABLE_FILTER_DENSITIES;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_INFO_AVAILABLE_FOCAL_LENGTHS;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> LENS_INFO_FOCUS_DISTANCE_CALIBRATION;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Float> LENS_INFO_HYPERFOCAL_DISTANCE;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Float> LENS_INFO_MINIMUM_FOCUS_DISTANCE;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_INTRINSIC_CALIBRATION;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> LENS_POSE_REFERENCE;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_POSE_ROTATION;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_POSE_TRANSLATION;
- field @Deprecated public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_RADIAL_DISTORTION;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> REPROCESS_MAX_CAPTURE_STALL;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> REQUEST_AVAILABLE_CAPABILITIES;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> REQUEST_MAX_NUM_INPUT_STREAMS;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> REQUEST_MAX_NUM_OUTPUT_PROC;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> REQUEST_MAX_NUM_OUTPUT_PROC_STALLING;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> REQUEST_MAX_NUM_OUTPUT_RAW;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> REQUEST_PARTIAL_RESULT_COUNT;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Byte> REQUEST_PIPELINE_MAX_DEPTH;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Float> SCALER_AVAILABLE_MAX_DIGITAL_ZOOM;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SCALER_CROPPING_TYPE;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.MandatoryStreamCombination[]> SCALER_MANDATORY_STREAM_COMBINATIONS;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.StreamConfigurationMap> SCALER_STREAM_CONFIGURATION_MAP;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> SENSOR_AVAILABLE_TEST_PATTERN_MODES;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.BlackLevelPattern> SENSOR_BLACK_LEVEL_PATTERN;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.ColorSpaceTransform> SENSOR_CALIBRATION_TRANSFORM1;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.ColorSpaceTransform> SENSOR_CALIBRATION_TRANSFORM2;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.ColorSpaceTransform> SENSOR_COLOR_TRANSFORM1;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.ColorSpaceTransform> SENSOR_COLOR_TRANSFORM2;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.ColorSpaceTransform> SENSOR_FORWARD_MATRIX1;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.ColorSpaceTransform> SENSOR_FORWARD_MATRIX2;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<android.graphics.Rect> SENSOR_INFO_ACTIVE_ARRAY_SIZE;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_INFO_COLOR_FILTER_ARRANGEMENT;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Range<java.lang.Long>> SENSOR_INFO_EXPOSURE_TIME_RANGE;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Boolean> SENSOR_INFO_LENS_SHADING_APPLIED;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Long> SENSOR_INFO_MAX_FRAME_DURATION;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.SizeF> SENSOR_INFO_PHYSICAL_SIZE;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Size> SENSOR_INFO_PIXEL_ARRAY_SIZE;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<android.graphics.Rect> SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Range<java.lang.Integer>> SENSOR_INFO_SENSITIVITY_RANGE;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_INFO_TIMESTAMP_SOURCE;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_INFO_WHITE_LEVEL;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_MAX_ANALOG_SENSITIVITY;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<android.graphics.Rect[]> SENSOR_OPTICAL_BLACK_REGIONS;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_ORIENTATION;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_REFERENCE_ILLUMINANT1;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Byte> SENSOR_REFERENCE_ILLUMINANT2;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> SHADING_AVAILABLE_MODES;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<boolean[]> STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> STATISTICS_INFO_AVAILABLE_OIS_DATA_MODES;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> STATISTICS_INFO_MAX_FACE_COUNT;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SYNC_MAX_LATENCY;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> TONEMAP_AVAILABLE_TONE_MAP_MODES;
- field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> TONEMAP_MAX_CURVE_POINTS;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AE_AVAILABLE_ANTIBANDING_MODES;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AE_AVAILABLE_MODES;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Range<java.lang.Integer>[]> CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Range<java.lang.Integer>> CONTROL_AE_COMPENSATION_RANGE;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Rational> CONTROL_AE_COMPENSATION_STEP;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Boolean> CONTROL_AE_LOCK_AVAILABLE;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AF_AVAILABLE_MODES;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AVAILABLE_EFFECTS;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AVAILABLE_MODES;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AVAILABLE_SCENE_MODES;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> CONTROL_AWB_AVAILABLE_MODES;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Boolean> CONTROL_AWB_LOCK_AVAILABLE;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> CONTROL_MAX_REGIONS_AE;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> CONTROL_MAX_REGIONS_AF;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> CONTROL_MAX_REGIONS_AWB;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Range<java.lang.Integer>> CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Boolean> DEPTH_DEPTH_IS_EXCLUSIVE;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> DISTORTION_CORRECTION_AVAILABLE_MODES;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> EDGE_AVAILABLE_EDGE_MODES;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Boolean> FLASH_INFO_AVAILABLE;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> INFO_SUPPORTED_HARDWARE_LEVEL;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.String> INFO_VERSION;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Size[]> JPEG_AVAILABLE_THUMBNAIL_SIZES;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_DISTORTION;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> LENS_FACING;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_INFO_AVAILABLE_APERTURES;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_INFO_AVAILABLE_FILTER_DENSITIES;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_INFO_AVAILABLE_FOCAL_LENGTHS;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> LENS_INFO_FOCUS_DISTANCE_CALIBRATION;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Float> LENS_INFO_HYPERFOCAL_DISTANCE;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Float> LENS_INFO_MINIMUM_FOCUS_DISTANCE;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_INTRINSIC_CALIBRATION;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> LENS_POSE_REFERENCE;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_POSE_ROTATION;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_POSE_TRANSLATION;
+ field @Deprecated @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_RADIAL_DISTORTION;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> REPROCESS_MAX_CAPTURE_STALL;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> REQUEST_AVAILABLE_CAPABILITIES;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> REQUEST_MAX_NUM_INPUT_STREAMS;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> REQUEST_MAX_NUM_OUTPUT_PROC;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> REQUEST_MAX_NUM_OUTPUT_PROC_STALLING;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> REQUEST_MAX_NUM_OUTPUT_RAW;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> REQUEST_PARTIAL_RESULT_COUNT;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Byte> REQUEST_PIPELINE_MAX_DEPTH;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Float> SCALER_AVAILABLE_MAX_DIGITAL_ZOOM;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SCALER_CROPPING_TYPE;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.MandatoryStreamCombination[]> SCALER_MANDATORY_STREAM_COMBINATIONS;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.StreamConfigurationMap> SCALER_STREAM_CONFIGURATION_MAP;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> SENSOR_AVAILABLE_TEST_PATTERN_MODES;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.BlackLevelPattern> SENSOR_BLACK_LEVEL_PATTERN;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.ColorSpaceTransform> SENSOR_CALIBRATION_TRANSFORM1;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.ColorSpaceTransform> SENSOR_CALIBRATION_TRANSFORM2;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.ColorSpaceTransform> SENSOR_COLOR_TRANSFORM1;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.ColorSpaceTransform> SENSOR_COLOR_TRANSFORM2;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.ColorSpaceTransform> SENSOR_FORWARD_MATRIX1;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.ColorSpaceTransform> SENSOR_FORWARD_MATRIX2;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.graphics.Rect> SENSOR_INFO_ACTIVE_ARRAY_SIZE;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_INFO_COLOR_FILTER_ARRANGEMENT;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Range<java.lang.Long>> SENSOR_INFO_EXPOSURE_TIME_RANGE;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Boolean> SENSOR_INFO_LENS_SHADING_APPLIED;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Long> SENSOR_INFO_MAX_FRAME_DURATION;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.SizeF> SENSOR_INFO_PHYSICAL_SIZE;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Size> SENSOR_INFO_PIXEL_ARRAY_SIZE;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.graphics.Rect> SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.util.Range<java.lang.Integer>> SENSOR_INFO_SENSITIVITY_RANGE;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_INFO_TIMESTAMP_SOURCE;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_INFO_WHITE_LEVEL;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_MAX_ANALOG_SENSITIVITY;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.graphics.Rect[]> SENSOR_OPTICAL_BLACK_REGIONS;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_ORIENTATION;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_REFERENCE_ILLUMINANT1;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Byte> SENSOR_REFERENCE_ILLUMINANT2;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> SHADING_AVAILABLE_MODES;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<boolean[]> STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> STATISTICS_INFO_AVAILABLE_OIS_DATA_MODES;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> STATISTICS_INFO_MAX_FACE_COUNT;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SYNC_MAX_LATENCY;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> TONEMAP_AVAILABLE_TONE_MAP_MODES;
+ field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> TONEMAP_MAX_CURVE_POINTS;
}
public static final class CameraCharacteristics.Key<T> {
@@ -17038,63 +17038,63 @@
method @Nullable public Object getTag();
method public boolean isReprocess();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Boolean> BLACK_LEVEL_LOCK;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> COLOR_CORRECTION_ABERRATION_MODE;
- field public static final android.hardware.camera2.CaptureRequest.Key<android.hardware.camera2.params.RggbChannelVector> COLOR_CORRECTION_GAINS;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> COLOR_CORRECTION_MODE;
- field public static final android.hardware.camera2.CaptureRequest.Key<android.hardware.camera2.params.ColorSpaceTransform> COLOR_CORRECTION_TRANSFORM;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_AE_ANTIBANDING_MODE;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_AE_EXPOSURE_COMPENSATION;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Boolean> CONTROL_AE_LOCK;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_AE_MODE;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_AE_PRECAPTURE_TRIGGER;
- field public static final android.hardware.camera2.CaptureRequest.Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AE_REGIONS;
- field public static final android.hardware.camera2.CaptureRequest.Key<android.util.Range<java.lang.Integer>> CONTROL_AE_TARGET_FPS_RANGE;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_AF_MODE;
- field public static final android.hardware.camera2.CaptureRequest.Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AF_REGIONS;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_AF_TRIGGER;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Boolean> CONTROL_AWB_LOCK;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_AWB_MODE;
- field public static final android.hardware.camera2.CaptureRequest.Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AWB_REGIONS;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_CAPTURE_INTENT;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_EFFECT_MODE;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Boolean> CONTROL_ENABLE_ZSL;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_MODE;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_POST_RAW_SENSITIVITY_BOOST;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_SCENE_MODE;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_VIDEO_STABILIZATION_MODE;
- field public static final android.os.Parcelable.Creator<android.hardware.camera2.CaptureRequest> CREATOR;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> DISTORTION_CORRECTION_MODE;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> EDGE_MODE;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> FLASH_MODE;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> HOT_PIXEL_MODE;
- field public static final android.hardware.camera2.CaptureRequest.Key<android.location.Location> JPEG_GPS_LOCATION;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> JPEG_ORIENTATION;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Byte> JPEG_QUALITY;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Byte> JPEG_THUMBNAIL_QUALITY;
- field public static final android.hardware.camera2.CaptureRequest.Key<android.util.Size> JPEG_THUMBNAIL_SIZE;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Float> LENS_APERTURE;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Float> LENS_FILTER_DENSITY;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Float> LENS_FOCAL_LENGTH;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Float> LENS_FOCUS_DISTANCE;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> LENS_OPTICAL_STABILIZATION_MODE;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> NOISE_REDUCTION_MODE;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Float> REPROCESS_EFFECTIVE_EXPOSURE_FACTOR;
- field public static final android.hardware.camera2.CaptureRequest.Key<android.graphics.Rect> SCALER_CROP_REGION;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Long> SENSOR_EXPOSURE_TIME;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Long> SENSOR_FRAME_DURATION;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> SENSOR_SENSITIVITY;
- field public static final android.hardware.camera2.CaptureRequest.Key<int[]> SENSOR_TEST_PATTERN_DATA;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> SENSOR_TEST_PATTERN_MODE;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> SHADING_MODE;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> STATISTICS_FACE_DETECT_MODE;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Boolean> STATISTICS_HOT_PIXEL_MAP_MODE;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> STATISTICS_LENS_SHADING_MAP_MODE;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> STATISTICS_OIS_DATA_MODE;
- field public static final android.hardware.camera2.CaptureRequest.Key<android.hardware.camera2.params.TonemapCurve> TONEMAP_CURVE;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Float> TONEMAP_GAMMA;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> TONEMAP_MODE;
- field public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> TONEMAP_PRESET_CURVE;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Boolean> BLACK_LEVEL_LOCK;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> COLOR_CORRECTION_ABERRATION_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<android.hardware.camera2.params.RggbChannelVector> COLOR_CORRECTION_GAINS;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> COLOR_CORRECTION_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<android.hardware.camera2.params.ColorSpaceTransform> COLOR_CORRECTION_TRANSFORM;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_AE_ANTIBANDING_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_AE_EXPOSURE_COMPENSATION;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Boolean> CONTROL_AE_LOCK;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_AE_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_AE_PRECAPTURE_TRIGGER;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AE_REGIONS;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<android.util.Range<java.lang.Integer>> CONTROL_AE_TARGET_FPS_RANGE;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_AF_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AF_REGIONS;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_AF_TRIGGER;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Boolean> CONTROL_AWB_LOCK;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_AWB_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AWB_REGIONS;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_CAPTURE_INTENT;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_EFFECT_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Boolean> CONTROL_ENABLE_ZSL;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_POST_RAW_SENSITIVITY_BOOST;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_SCENE_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> CONTROL_VIDEO_STABILIZATION_MODE;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.camera2.CaptureRequest> CREATOR;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> DISTORTION_CORRECTION_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> EDGE_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> FLASH_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> HOT_PIXEL_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<android.location.Location> JPEG_GPS_LOCATION;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> JPEG_ORIENTATION;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Byte> JPEG_QUALITY;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Byte> JPEG_THUMBNAIL_QUALITY;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<android.util.Size> JPEG_THUMBNAIL_SIZE;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Float> LENS_APERTURE;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Float> LENS_FILTER_DENSITY;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Float> LENS_FOCAL_LENGTH;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Float> LENS_FOCUS_DISTANCE;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> LENS_OPTICAL_STABILIZATION_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> NOISE_REDUCTION_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Float> REPROCESS_EFFECTIVE_EXPOSURE_FACTOR;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<android.graphics.Rect> SCALER_CROP_REGION;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Long> SENSOR_EXPOSURE_TIME;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Long> SENSOR_FRAME_DURATION;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> SENSOR_SENSITIVITY;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<int[]> SENSOR_TEST_PATTERN_DATA;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> SENSOR_TEST_PATTERN_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> SHADING_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> STATISTICS_FACE_DETECT_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Boolean> STATISTICS_HOT_PIXEL_MAP_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> STATISTICS_LENS_SHADING_MAP_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> STATISTICS_OIS_DATA_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<android.hardware.camera2.params.TonemapCurve> TONEMAP_CURVE;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Float> TONEMAP_GAMMA;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> TONEMAP_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureRequest.Key<java.lang.Integer> TONEMAP_PRESET_CURVE;
}
public static final class CaptureRequest.Builder {
@@ -17119,88 +17119,88 @@
method @NonNull public java.util.List<android.hardware.camera2.CaptureResult.Key<?>> getKeys();
method @NonNull public android.hardware.camera2.CaptureRequest getRequest();
method public int getSequenceId();
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Boolean> BLACK_LEVEL_LOCK;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> COLOR_CORRECTION_ABERRATION_MODE;
- field public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.RggbChannelVector> COLOR_CORRECTION_GAINS;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> COLOR_CORRECTION_MODE;
- field public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.ColorSpaceTransform> COLOR_CORRECTION_TRANSFORM;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AE_ANTIBANDING_MODE;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AE_EXPOSURE_COMPENSATION;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Boolean> CONTROL_AE_LOCK;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AE_MODE;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AE_PRECAPTURE_TRIGGER;
- field public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AE_REGIONS;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AE_STATE;
- field public static final android.hardware.camera2.CaptureResult.Key<android.util.Range<java.lang.Integer>> CONTROL_AE_TARGET_FPS_RANGE;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AF_MODE;
- field public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AF_REGIONS;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AF_SCENE_CHANGE;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AF_STATE;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AF_TRIGGER;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Boolean> CONTROL_AWB_LOCK;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AWB_MODE;
- field public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AWB_REGIONS;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AWB_STATE;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_CAPTURE_INTENT;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_EFFECT_MODE;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Boolean> CONTROL_ENABLE_ZSL;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_MODE;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_POST_RAW_SENSITIVITY_BOOST;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_SCENE_MODE;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_VIDEO_STABILIZATION_MODE;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> DISTORTION_CORRECTION_MODE;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> EDGE_MODE;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> FLASH_MODE;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> FLASH_STATE;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> HOT_PIXEL_MODE;
- field public static final android.hardware.camera2.CaptureResult.Key<android.location.Location> JPEG_GPS_LOCATION;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> JPEG_ORIENTATION;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Byte> JPEG_QUALITY;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Byte> JPEG_THUMBNAIL_QUALITY;
- field public static final android.hardware.camera2.CaptureResult.Key<android.util.Size> JPEG_THUMBNAIL_SIZE;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> LENS_APERTURE;
- field public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_DISTORTION;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> LENS_FILTER_DENSITY;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> LENS_FOCAL_LENGTH;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> LENS_FOCUS_DISTANCE;
- field public static final android.hardware.camera2.CaptureResult.Key<android.util.Pair<java.lang.Float,java.lang.Float>> LENS_FOCUS_RANGE;
- field public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_INTRINSIC_CALIBRATION;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> LENS_OPTICAL_STABILIZATION_MODE;
- field public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_POSE_ROTATION;
- field public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_POSE_TRANSLATION;
- field @Deprecated public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_RADIAL_DISTORTION;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> LENS_STATE;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.String> LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> NOISE_REDUCTION_MODE;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> REPROCESS_EFFECTIVE_EXPOSURE_FACTOR;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Byte> REQUEST_PIPELINE_DEPTH;
- field public static final android.hardware.camera2.CaptureResult.Key<android.graphics.Rect> SCALER_CROP_REGION;
- field public static final android.hardware.camera2.CaptureResult.Key<float[]> SENSOR_DYNAMIC_BLACK_LEVEL;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> SENSOR_DYNAMIC_WHITE_LEVEL;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Long> SENSOR_EXPOSURE_TIME;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Long> SENSOR_FRAME_DURATION;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> SENSOR_GREEN_SPLIT;
- field public static final android.hardware.camera2.CaptureResult.Key<android.util.Rational[]> SENSOR_NEUTRAL_COLOR_POINT;
- field public static final android.hardware.camera2.CaptureResult.Key<android.util.Pair<java.lang.Double,java.lang.Double>[]> SENSOR_NOISE_PROFILE;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Long> SENSOR_ROLLING_SHUTTER_SKEW;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> SENSOR_SENSITIVITY;
- field public static final android.hardware.camera2.CaptureResult.Key<int[]> SENSOR_TEST_PATTERN_DATA;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> SENSOR_TEST_PATTERN_MODE;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Long> SENSOR_TIMESTAMP;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> SHADING_MODE;
- field public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.Face[]> STATISTICS_FACES;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> STATISTICS_FACE_DETECT_MODE;
- field public static final android.hardware.camera2.CaptureResult.Key<android.graphics.Point[]> STATISTICS_HOT_PIXEL_MAP;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Boolean> STATISTICS_HOT_PIXEL_MAP_MODE;
- field public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.LensShadingMap> STATISTICS_LENS_SHADING_CORRECTION_MAP;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> STATISTICS_LENS_SHADING_MAP_MODE;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> STATISTICS_OIS_DATA_MODE;
- field public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.OisSample[]> STATISTICS_OIS_SAMPLES;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> STATISTICS_SCENE_FLICKER;
- field public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.TonemapCurve> TONEMAP_CURVE;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> TONEMAP_GAMMA;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> TONEMAP_MODE;
- field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> TONEMAP_PRESET_CURVE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Boolean> BLACK_LEVEL_LOCK;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> COLOR_CORRECTION_ABERRATION_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.RggbChannelVector> COLOR_CORRECTION_GAINS;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> COLOR_CORRECTION_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.ColorSpaceTransform> COLOR_CORRECTION_TRANSFORM;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AE_ANTIBANDING_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AE_EXPOSURE_COMPENSATION;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Boolean> CONTROL_AE_LOCK;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AE_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AE_PRECAPTURE_TRIGGER;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AE_REGIONS;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AE_STATE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.util.Range<java.lang.Integer>> CONTROL_AE_TARGET_FPS_RANGE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AF_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AF_REGIONS;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AF_SCENE_CHANGE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AF_STATE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AF_TRIGGER;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Boolean> CONTROL_AWB_LOCK;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AWB_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AWB_REGIONS;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_AWB_STATE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_CAPTURE_INTENT;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_EFFECT_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Boolean> CONTROL_ENABLE_ZSL;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_POST_RAW_SENSITIVITY_BOOST;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_SCENE_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> CONTROL_VIDEO_STABILIZATION_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> DISTORTION_CORRECTION_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> EDGE_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> FLASH_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> FLASH_STATE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> HOT_PIXEL_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.location.Location> JPEG_GPS_LOCATION;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> JPEG_ORIENTATION;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Byte> JPEG_QUALITY;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Byte> JPEG_THUMBNAIL_QUALITY;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.util.Size> JPEG_THUMBNAIL_SIZE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> LENS_APERTURE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_DISTORTION;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> LENS_FILTER_DENSITY;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> LENS_FOCAL_LENGTH;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> LENS_FOCUS_DISTANCE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.util.Pair<java.lang.Float,java.lang.Float>> LENS_FOCUS_RANGE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_INTRINSIC_CALIBRATION;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> LENS_OPTICAL_STABILIZATION_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_POSE_ROTATION;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_POSE_TRANSLATION;
+ field @Deprecated @NonNull public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_RADIAL_DISTORTION;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> LENS_STATE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.String> LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> NOISE_REDUCTION_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> REPROCESS_EFFECTIVE_EXPOSURE_FACTOR;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Byte> REQUEST_PIPELINE_DEPTH;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.graphics.Rect> SCALER_CROP_REGION;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<float[]> SENSOR_DYNAMIC_BLACK_LEVEL;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> SENSOR_DYNAMIC_WHITE_LEVEL;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Long> SENSOR_EXPOSURE_TIME;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Long> SENSOR_FRAME_DURATION;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> SENSOR_GREEN_SPLIT;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.util.Rational[]> SENSOR_NEUTRAL_COLOR_POINT;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.util.Pair<java.lang.Double,java.lang.Double>[]> SENSOR_NOISE_PROFILE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Long> SENSOR_ROLLING_SHUTTER_SKEW;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> SENSOR_SENSITIVITY;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<int[]> SENSOR_TEST_PATTERN_DATA;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> SENSOR_TEST_PATTERN_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Long> SENSOR_TIMESTAMP;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> SHADING_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.Face[]> STATISTICS_FACES;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> STATISTICS_FACE_DETECT_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.graphics.Point[]> STATISTICS_HOT_PIXEL_MAP;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Boolean> STATISTICS_HOT_PIXEL_MAP_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.LensShadingMap> STATISTICS_LENS_SHADING_CORRECTION_MAP;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> STATISTICS_LENS_SHADING_MAP_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> STATISTICS_OIS_DATA_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.OisSample[]> STATISTICS_OIS_SAMPLES;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> STATISTICS_SCENE_FLICKER;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.TonemapCurve> TONEMAP_CURVE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> TONEMAP_GAMMA;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> TONEMAP_MODE;
+ field @NonNull public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> TONEMAP_PRESET_CURVE;
}
public static final class CaptureResult.Key<T> {
@@ -17325,7 +17325,7 @@
method public void removeSurface(@NonNull android.view.Surface);
method public void setPhysicalCameraId(@Nullable String);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.hardware.camera2.params.OutputConfiguration> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.camera2.params.OutputConfiguration> CREATOR;
field public static final int SURFACE_GROUP_ID_NONE = -1; // 0xffffffff
}
@@ -17383,7 +17383,7 @@
method public void setInputConfiguration(@NonNull android.hardware.camera2.params.InputConfiguration);
method public void setSessionParameters(android.hardware.camera2.CaptureRequest);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.hardware.camera2.params.SessionConfiguration> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.camera2.params.SessionConfiguration> CREATOR;
field public static final int SESSION_HIGH_SPEED = 1; // 0x1
field public static final int SESSION_REGULAR = 0; // 0x0
}
@@ -17543,7 +17543,7 @@
method @Nullable public String getUri();
method @Nullable public String getVersion();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.hardware.usb.UsbAccessory> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.usb.UsbAccessory> CREATOR;
}
public class UsbConfiguration implements android.os.Parcelable {
@@ -17556,7 +17556,7 @@
method public boolean isRemoteWakeup();
method public boolean isSelfPowered();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.hardware.usb.UsbConfiguration> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.usb.UsbConfiguration> CREATOR;
}
public final class UsbConstants {
@@ -17616,7 +17616,7 @@
method public int getVendorId();
method @NonNull public String getVersion();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.hardware.usb.UsbDevice> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.usb.UsbDevice> CREATOR;
}
public class UsbDeviceConnection {
@@ -17646,7 +17646,7 @@
method public int getMaxPacketSize();
method public int getType();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.hardware.usb.UsbEndpoint> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.usb.UsbEndpoint> CREATOR;
}
public class UsbInterface implements android.os.Parcelable {
@@ -17660,7 +17660,7 @@
method public int getInterfaceSubclass();
method @Nullable public String getName();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.hardware.usb.UsbInterface> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.usb.UsbInterface> CREATOR;
}
public class UsbManager {
@@ -22583,7 +22583,7 @@
method public void setThoroughfare(String);
method public void setUrl(String);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.location.Address> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.location.Address> CREATOR;
}
public class Criteria implements android.os.Parcelable {
@@ -22616,7 +22616,7 @@
field public static final int ACCURACY_HIGH = 3; // 0x3
field public static final int ACCURACY_LOW = 1; // 0x1
field public static final int ACCURACY_MEDIUM = 2; // 0x2
- field public static final android.os.Parcelable.Creator<android.location.Criteria> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.location.Criteria> CREATOR;
field public static final int NO_REQUIREMENT = 0; // 0x0
field public static final int POWER_HIGH = 3; // 0x3
field public static final int POWER_LOW = 1; // 0x1
@@ -22651,7 +22651,7 @@
method public boolean hasLeapSecond();
method public boolean hasTimeUncertaintyNanos();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.location.GnssClock> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssClock> CREATOR;
}
public final class GnssMeasurement implements android.os.Parcelable {
@@ -22707,7 +22707,7 @@
field public static final int CODE_TYPE_X = 10; // 0xa
field public static final int CODE_TYPE_Y = 11; // 0xb
field public static final int CODE_TYPE_Z = 12; // 0xc
- field public static final android.os.Parcelable.Creator<android.location.GnssMeasurement> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssMeasurement> CREATOR;
field public static final int MULTIPATH_INDICATOR_DETECTED = 1; // 0x1
field public static final int MULTIPATH_INDICATOR_NOT_DETECTED = 2; // 0x2
field public static final int MULTIPATH_INDICATOR_UNKNOWN = 0; // 0x0
@@ -22736,7 +22736,7 @@
method @NonNull public android.location.GnssClock getClock();
method @NonNull public java.util.Collection<android.location.GnssMeasurement> getMeasurements();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.location.GnssMeasurementsEvent> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssMeasurementsEvent> CREATOR;
}
public abstract static class GnssMeasurementsEvent.Callback {
@@ -22758,7 +22758,7 @@
method public int getSvid();
method public int getType();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.location.GnssNavigationMessage> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssNavigationMessage> CREATOR;
field public static final int STATUS_PARITY_PASSED = 1; // 0x1
field public static final int STATUS_PARITY_REBUILT = 2; // 0x2
field public static final int STATUS_UNKNOWN = 0; // 0x0
@@ -22891,7 +22891,7 @@
method public void setTime(long);
method public void setVerticalAccuracyMeters(float);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.location.Location> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.location.Location> CREATOR;
field public static final int FORMAT_DEGREES = 0; // 0x0
field public static final int FORMAT_MINUTES = 1; // 0x1
field public static final int FORMAT_SECONDS = 2; // 0x2
@@ -23023,7 +23023,7 @@
field public static final int CONTENT_TYPE_SONIFICATION = 4; // 0x4
field public static final int CONTENT_TYPE_SPEECH = 1; // 0x1
field public static final int CONTENT_TYPE_UNKNOWN = 0; // 0x0
- field public static final android.os.Parcelable.Creator<android.media.AudioAttributes> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioAttributes> CREATOR;
field public static final int FLAG_AUDIBILITY_ENFORCED = 1; // 0x1
field public static final int FLAG_HW_AV_SYNC = 16; // 0x10
field @Deprecated public static final int FLAG_LOW_LATENCY = 256; // 0x100
@@ -23170,7 +23170,7 @@
field public static final int CHANNEL_OUT_SIDE_RIGHT = 4096; // 0x1000
field public static final int CHANNEL_OUT_STEREO = 12; // 0xc
field public static final int CHANNEL_OUT_SURROUND = 1052; // 0x41c
- field public static final android.os.Parcelable.Creator<android.media.AudioFormat> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioFormat> CREATOR;
field public static final int ENCODING_AAC_ELD = 15; // 0xf
field public static final int ENCODING_AAC_HE_V1 = 11; // 0xb
field public static final int ENCODING_AAC_HE_V2 = 12; // 0xc
@@ -23399,7 +23399,7 @@
method public int describeContents();
method public android.media.AudioAttributes getAudioAttributes();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.media.AudioPlaybackConfiguration> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioPlaybackConfiguration> CREATOR;
}
public final class AudioPresentation {
@@ -23418,14 +23418,14 @@
field public static final int MASTERING_NOT_INDICATED = 0; // 0x0
}
- public static class AudioPresentation.Builder {
+ public static final class AudioPresentation.Builder {
ctor public AudioPresentation.Builder(int);
method @NonNull public android.media.AudioPresentation build();
method @NonNull public android.media.AudioPresentation.Builder setHasAudioDescription(boolean);
method @NonNull public android.media.AudioPresentation.Builder setHasDialogueEnhancement(boolean);
method @NonNull public android.media.AudioPresentation.Builder setHasSpokenSubtitles(boolean);
- method @NonNull public android.media.AudioPresentation.Builder setLabels(@NonNull java.util.Map<android.icu.util.ULocale,java.lang.String>);
- method @NonNull public android.media.AudioPresentation.Builder setLocale(android.icu.util.ULocale);
+ method @NonNull public android.media.AudioPresentation.Builder setLabels(@NonNull java.util.Map<android.icu.util.ULocale,java.lang.CharSequence>);
+ method @NonNull public android.media.AudioPresentation.Builder setLocale(@NonNull android.icu.util.ULocale);
method @NonNull public android.media.AudioPresentation.Builder setMasteringIndication(int);
method @NonNull public android.media.AudioPresentation.Builder setProgramId(int);
}
@@ -23528,7 +23528,7 @@
method public android.media.AudioFormat getFormat();
method public boolean isClientSilenced();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.media.AudioRecordingConfiguration> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioRecordingConfiguration> CREATOR;
}
public interface AudioRecordingMonitor {
@@ -24722,7 +24722,7 @@
field public static final long BT_FOLDER_TYPE_PLAYLISTS = 5L; // 0x5L
field public static final long BT_FOLDER_TYPE_TITLES = 1L; // 0x1L
field public static final long BT_FOLDER_TYPE_YEARS = 6L; // 0x6L
- field public static final android.os.Parcelable.Creator<android.media.MediaDescription> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.media.MediaDescription> CREATOR;
field public static final String EXTRA_BT_FOLDER_TYPE = "android.media.extra.BT_FOLDER_TYPE";
}
@@ -25127,7 +25127,7 @@
method public long getStartPosition();
method public void setMetadata(@Nullable android.media.MediaMetadata);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.media.MediaItem2> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.media.MediaItem2> CREATOR;
field public static final long POSITION_UNKNOWN = 576460752303423487L; // 0x7ffffffffffffffL
}
@@ -25151,7 +25151,7 @@
method public java.util.Set<java.lang.String> keySet();
method public int size();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.media.MediaMetadata> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.media.MediaMetadata> CREATOR;
field public static final String METADATA_KEY_ALBUM = "android.media.metadata.ALBUM";
field public static final String METADATA_KEY_ALBUM_ART = "android.media.metadata.ALBUM_ART";
field public static final String METADATA_KEY_ALBUM_ARTIST = "android.media.metadata.ALBUM_ARTIST";
@@ -26189,7 +26189,7 @@
field public static final int AUDIO_FALLBACK_MODE_DEFAULT = 0; // 0x0
field public static final int AUDIO_FALLBACK_MODE_FAIL = 2; // 0x2
field public static final int AUDIO_FALLBACK_MODE_MUTE = 1; // 0x1
- field public static final android.os.Parcelable.Creator<android.media.PlaybackParams> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.media.PlaybackParams> CREATOR;
}
public final class Rating implements android.os.Parcelable {
@@ -26206,7 +26206,7 @@
method public static android.media.Rating newThumbRating(boolean);
method public static android.media.Rating newUnratedRating(int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.media.Rating> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.media.Rating> CREATOR;
field public static final int RATING_3_STARS = 3; // 0x3
field public static final int RATING_4_STARS = 4; // 0x4
field public static final int RATING_5_STARS = 5; // 0x5
@@ -26365,7 +26365,7 @@
method @Nullable public android.os.Bundle getExtras();
method public void writeToParcel(@NonNull android.os.Parcel, int);
field public static final int COMMAND_CODE_CUSTOM = 0; // 0x0
- field public static final android.os.Parcelable.Creator<android.media.Session2Command> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.media.Session2Command> CREATOR;
field public static final int RESULT_ERROR_UNKNOWN_ERROR = -1; // 0xffffffff
field public static final int RESULT_INFO_SKIPPED = 1; // 0x1
field public static final int RESULT_SUCCESS = 0; // 0x0
@@ -26383,7 +26383,7 @@
method public boolean hasCommand(@NonNull android.media.Session2Command);
method public boolean hasCommand(int);
method public void writeToParcel(@NonNull android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.media.Session2CommandGroup> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.media.Session2CommandGroup> CREATOR;
}
public static final class Session2CommandGroup.Builder {
@@ -26405,7 +26405,7 @@
method public int getType();
method public int getUid();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.media.Session2Token> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.media.Session2Token> CREATOR;
field public static final int TYPE_SESSION = 0; // 0x0
field public static final int TYPE_SESSION_SERVICE = 1; // 0x1
}
@@ -26657,7 +26657,7 @@
method public float[] getTimes();
method public float[] getVolumes();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.media.VolumeShaper.Configuration> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.media.VolumeShaper.Configuration> CREATOR;
field public static final android.media.VolumeShaper.Configuration CUBIC_RAMP;
field public static final int INTERPOLATOR_TYPE_CUBIC = 2; // 0x2
field public static final int INTERPOLATOR_TYPE_CUBIC_MONOTONIC = 3; // 0x3
@@ -26684,7 +26684,7 @@
public static final class VolumeShaper.Operation implements android.os.Parcelable {
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.media.VolumeShaper.Operation> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.media.VolumeShaper.Operation> CREATOR;
field public static final android.media.VolumeShaper.Operation PLAY;
field public static final android.media.VolumeShaper.Operation REVERSE;
}
@@ -27237,7 +27237,7 @@
method public boolean isBrowsable();
method public boolean isPlayable();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.media.browse.MediaBrowser.MediaItem> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.media.browse.MediaBrowser.MediaItem> CREATOR;
field public static final int FLAG_BROWSABLE = 1; // 0x1
field public static final int FLAG_PLAYABLE = 2; // 0x2
}
@@ -27331,7 +27331,7 @@
method public int getType();
method public boolean isPrivate();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.media.midi.MidiDeviceInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.media.midi.MidiDeviceInfo> CREATOR;
field public static final String PROPERTY_BLUETOOTH_DEVICE = "bluetooth_device";
field public static final String PROPERTY_MANUFACTURER = "manufacturer";
field public static final String PROPERTY_NAME = "name";
@@ -27369,7 +27369,7 @@
method public int getOutputPortOpenCount(int);
method public boolean isInputPortOpen(int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.media.midi.MidiDeviceStatus> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.media.midi.MidiDeviceStatus> CREATOR;
}
public final class MidiInputPort extends android.media.midi.MidiReceiver implements java.io.Closeable {
@@ -27492,7 +27492,7 @@
method public int getPlaybackType();
method public int getVolumeControl();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.media.session.MediaController.PlaybackInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.media.session.MediaController.PlaybackInfo> CREATOR;
field public static final int PLAYBACK_TYPE_LOCAL = 1; // 0x1
field public static final int PLAYBACK_TYPE_REMOTE = 2; // 0x2
}
@@ -27578,14 +27578,14 @@
method public android.media.MediaDescription getDescription();
method public long getQueueId();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.media.session.MediaSession.QueueItem> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.media.session.MediaSession.QueueItem> CREATOR;
field public static final int UNKNOWN_ID = -1; // 0xffffffff
}
public static final class MediaSession.Token implements android.os.Parcelable {
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.media.session.MediaSession.Token> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.media.session.MediaSession.Token> CREATOR;
}
public final class MediaSessionManager {
@@ -27647,7 +27647,7 @@
field public static final long ACTION_SKIP_TO_PREVIOUS = 16L; // 0x10L
field public static final long ACTION_SKIP_TO_QUEUE_ITEM = 4096L; // 0x1000L
field public static final long ACTION_STOP = 1L; // 0x1L
- field public static final android.os.Parcelable.Creator<android.media.session.PlaybackState> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.media.session.PlaybackState> CREATOR;
field public static final long PLAYBACK_POSITION_UNKNOWN = -1L; // 0xffffffffffffffffL
field public static final int STATE_BUFFERING = 6; // 0x6
field public static final int STATE_CONNECTING = 8; // 0x8
@@ -27685,7 +27685,7 @@
method public int getIcon();
method public CharSequence getName();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.media.session.PlaybackState.CustomAction> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.media.session.PlaybackState.CustomAction> CREATOR;
}
public static final class PlaybackState.CustomAction.Builder {
@@ -28123,7 +28123,7 @@
method public android.graphics.drawable.Drawable loadIcon(@NonNull android.content.Context);
method public CharSequence loadLabel(@NonNull android.content.Context);
method public void writeToParcel(@NonNull android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.media.tv.TvInputInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TvInputInfo> CREATOR;
field public static final String EXTRA_INPUT_ID = "android.media.tv.extra.INPUT_ID";
field public static final int TYPE_COMPONENT = 1004; // 0x3ec
field public static final int TYPE_COMPOSITE = 1001; // 0x3e9
@@ -28292,7 +28292,7 @@
method public float getVideoPixelAspectRatio();
method public int getVideoWidth();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.media.tv.TvTrackInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TvTrackInfo> CREATOR;
field public static final int TYPE_AUDIO = 0; // 0x0
field public static final int TYPE_SUBTITLE = 2; // 0x2
field public static final int TYPE_VIDEO = 1; // 0x1
@@ -28614,7 +28614,7 @@
method public void ignoreNetwork();
method public void reportCaptivePortalDismissed();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.CaptivePortal> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.CaptivePortal> CREATOR;
}
public class ConnectivityManager {
@@ -28764,7 +28764,7 @@
method public int getPrefixLength();
method public byte[] getRawAddress();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.IpPrefix> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.IpPrefix> CREATOR;
}
public final class IpSecAlgorithm implements android.os.Parcelable {
@@ -28781,7 +28781,7 @@
field public static final String AUTH_HMAC_SHA256 = "hmac(sha256)";
field public static final String AUTH_HMAC_SHA384 = "hmac(sha384)";
field public static final String AUTH_HMAC_SHA512 = "hmac(sha512)";
- field public static final android.os.Parcelable.Creator<android.net.IpSecAlgorithm> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.IpSecAlgorithm> CREATOR;
field public static final String CRYPT_AES_CBC = "cbc(aes)";
}
@@ -28838,7 +28838,7 @@
method public int getPrefixLength();
method public int getScope();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.LinkAddress> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.LinkAddress> CREATOR;
}
public final class LinkProperties implements android.os.Parcelable {
@@ -28853,7 +28853,7 @@
method public java.util.List<android.net.RouteInfo> getRoutes();
method public boolean isPrivateDnsActive();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.LinkProperties> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.LinkProperties> CREATOR;
}
public class LocalServerSocket implements java.io.Closeable {
@@ -28921,7 +28921,7 @@
method @NonNull public String toOuiString();
method public void writeToParcel(android.os.Parcel, int);
field public static final android.net.MacAddress BROADCAST_ADDRESS;
- field public static final android.os.Parcelable.Creator<android.net.MacAddress> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.MacAddress> CREATOR;
field public static final int TYPE_BROADCAST = 3; // 0x3
field public static final int TYPE_MULTICAST = 2; // 0x2
field public static final int TYPE_UNICAST = 1; // 0x1
@@ -28951,7 +28951,7 @@
method public java.net.URLConnection openConnection(java.net.URL) throws java.io.IOException;
method public java.net.URLConnection openConnection(java.net.URL, java.net.Proxy) throws java.io.IOException;
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.Network> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.Network> CREATOR;
}
public final class NetworkCapabilities implements android.os.Parcelable {
@@ -28963,7 +28963,7 @@
method public boolean hasCapability(int);
method public boolean hasTransport(int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.NetworkCapabilities> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkCapabilities> CREATOR;
field public static final int NET_CAPABILITY_CAPTIVE_PORTAL = 17; // 0x11
field public static final int NET_CAPABILITY_CBS = 5; // 0x5
field public static final int NET_CAPABILITY_DUN = 2; // 0x2
@@ -29011,7 +29011,7 @@
method @Deprecated public boolean isFailover();
method @Deprecated public boolean isRoaming();
method @Deprecated public void writeToParcel(android.os.Parcel, int);
- field @Deprecated public static final android.os.Parcelable.Creator<android.net.NetworkInfo> CREATOR;
+ field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkInfo> CREATOR;
}
@Deprecated public enum NetworkInfo.DetailedState {
@@ -29044,7 +29044,7 @@
method public boolean hasCapability(int);
method public boolean hasTransport(int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.NetworkRequest> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkRequest> CREATOR;
}
public static class NetworkRequest.Builder {
@@ -29086,7 +29086,7 @@
method public android.net.Uri getPacFileUrl();
method public int getPort();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.ProxyInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.ProxyInfo> CREATOR;
}
public final class RouteInfo implements android.os.Parcelable {
@@ -29098,7 +29098,7 @@
method public boolean isDefaultRoute();
method public boolean matches(java.net.InetAddress);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.RouteInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.RouteInfo> CREATOR;
}
@Deprecated public class SSLCertificateSocketFactory extends javax.net.ssl.SSLSocketFactory {
@@ -29231,7 +29231,7 @@
method public abstract String toString();
method public static android.net.Uri withAppendedPath(android.net.Uri, String);
method public static void writeToParcel(android.os.Parcel, android.net.Uri);
- field public static final android.os.Parcelable.Creator<android.net.Uri> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.Uri> CREATOR;
field public static final android.net.Uri EMPTY;
}
@@ -29490,7 +29490,7 @@
method public void setServiceName(String);
method public void setServiceType(String);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.nsd.NsdServiceInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.nsd.NsdServiceInfo> CREATOR;
}
}
@@ -29910,7 +29910,7 @@
method public void setRealm(String);
method @Deprecated public void setSubjectMatch(String);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.wifi.WifiEnterpriseConfig> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiEnterpriseConfig> CREATOR;
}
public static final class WifiEnterpriseConfig.Eap {
@@ -30088,7 +30088,7 @@
public final class WifiNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.wifi.WifiNetworkSpecifier> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiNetworkSpecifier> CREATOR;
}
public static class WifiNetworkSpecifier.Builder {
@@ -30109,7 +30109,7 @@
public final class WifiNetworkSuggestion implements android.os.Parcelable {
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.wifi.WifiNetworkSuggestion> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiNetworkSuggestion> CREATOR;
}
public static class WifiNetworkSuggestion.Builder {
@@ -30135,7 +30135,7 @@
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
field public String BSSID;
- field public static final android.os.Parcelable.Creator<android.net.wifi.WpsInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WpsInfo> CREATOR;
field public static final int DISPLAY = 1; // 0x1
field public static final int INVALID = 4; // 0x4
field public static final int KEYPAD = 2; // 0x2
@@ -30161,7 +30161,7 @@
method public int getMaxServiceNameLength();
method public int getMaxServiceSpecificInfoLength();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.wifi.aware.Characteristics> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.Characteristics> CREATOR;
}
public class DiscoverySession implements java.lang.AutoCloseable {
@@ -30194,7 +30194,7 @@
ctor public ParcelablePeerHandle(android.net.wifi.aware.PeerHandle);
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.wifi.aware.ParcelablePeerHandle> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.ParcelablePeerHandle> CREATOR;
}
public class PeerHandle {
@@ -30203,7 +30203,7 @@
public final class PublishConfig implements android.os.Parcelable {
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.wifi.aware.PublishConfig> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.PublishConfig> CREATOR;
field public static final int PUBLISH_TYPE_SOLICITED = 1; // 0x1
field public static final int PUBLISH_TYPE_UNSOLICITED = 0; // 0x0
}
@@ -30227,7 +30227,7 @@
public final class SubscribeConfig implements android.os.Parcelable {
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.wifi.aware.SubscribeConfig> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.SubscribeConfig> CREATOR;
field public static final int SUBSCRIBE_TYPE_ACTIVE = 1; // 0x1
field public static final int SUBSCRIBE_TYPE_PASSIVE = 0; // 0x0
}
@@ -30275,7 +30275,7 @@
method public int getPort();
method public int getTransportProtocol();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.wifi.aware.WifiAwareNetworkInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.WifiAwareNetworkInfo> CREATOR;
}
public class WifiAwareSession implements java.lang.AutoCloseable {
@@ -30303,7 +30303,7 @@
method public void setCredential(android.net.wifi.hotspot2.pps.Credential);
method public void setHomeSp(android.net.wifi.hotspot2.pps.HomeSp);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.PasspointConfiguration> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.PasspointConfiguration> CREATOR;
}
}
@@ -30337,7 +30337,7 @@
method public void setSimCredential(android.net.wifi.hotspot2.pps.Credential.SimCredential);
method public void setUserCredential(android.net.wifi.hotspot2.pps.Credential.UserCredential);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential> CREATOR;
}
public static final class Credential.CertificateCredential implements android.os.Parcelable {
@@ -30349,7 +30349,7 @@
method public void setCertSha256Fingerprint(byte[]);
method public void setCertType(String);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential.CertificateCredential> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential.CertificateCredential> CREATOR;
}
public static final class Credential.SimCredential implements android.os.Parcelable {
@@ -30361,7 +30361,7 @@
method public void setEapType(int);
method public void setImsi(String);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential.SimCredential> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential.SimCredential> CREATOR;
}
public static final class Credential.UserCredential implements android.os.Parcelable {
@@ -30377,7 +30377,7 @@
method public void setPassword(String);
method public void setUsername(String);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential.UserCredential> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.Credential.UserCredential> CREATOR;
}
public final class HomeSp implements android.os.Parcelable {
@@ -30391,7 +30391,7 @@
method public void setFriendlyName(String);
method public void setRoamingConsortiumOis(long[]);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.HomeSp> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.pps.HomeSp> CREATOR;
}
}
@@ -30403,7 +30403,7 @@
ctor public WifiP2pConfig(android.net.wifi.p2p.WifiP2pConfig);
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pConfig> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pConfig> CREATOR;
field public static final int GROUP_OWNER_BAND_2GHZ = 1; // 0x1
field public static final int GROUP_OWNER_BAND_5GHZ = 2; // 0x2
field public static final int GROUP_OWNER_BAND_AUTO = 0; // 0x0
@@ -30435,7 +30435,7 @@
method public void writeToParcel(android.os.Parcel, int);
field public static final int AVAILABLE = 3; // 0x3
field public static final int CONNECTED = 0; // 0x0
- field public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pDevice> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pDevice> CREATOR;
field public static final int FAILED = 2; // 0x2
field public static final int INVITED = 1; // 0x1
field public static final int UNAVAILABLE = 4; // 0x4
@@ -30453,7 +30453,7 @@
method public android.net.wifi.p2p.WifiP2pDevice get(String);
method public java.util.Collection<android.net.wifi.p2p.WifiP2pDevice> getDeviceList();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pDeviceList> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pDeviceList> CREATOR;
}
public class WifiP2pGroup implements android.os.Parcelable {
@@ -30468,7 +30468,7 @@
method public String getPassphrase();
method public boolean isGroupOwner();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pGroup> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pGroup> CREATOR;
}
public class WifiP2pInfo implements android.os.Parcelable {
@@ -30476,7 +30476,7 @@
ctor public WifiP2pInfo(android.net.wifi.p2p.WifiP2pInfo);
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pInfo> CREATOR;
field public boolean groupFormed;
field public java.net.InetAddress groupOwnerAddress;
field public boolean isGroupOwner;
@@ -30634,7 +30634,7 @@
method public int describeContents();
method public static int getMaxPeers();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.wifi.rtt.RangingRequest> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.RangingRequest> CREATOR;
}
public static final class RangingRequest.Builder {
@@ -30659,7 +30659,7 @@
method public int getRssi();
method public int getStatus();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.wifi.rtt.RangingResult> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.RangingResult> CREATOR;
field public static final int STATUS_FAIL = 1; // 0x1
field public static final int STATUS_RESPONDER_DOES_NOT_SUPPORT_IEEE80211MC = 2; // 0x2
field public static final int STATUS_SUCCESS = 0; // 0x0
@@ -30697,7 +30697,7 @@
field public static final int ALTITUDE_FLOORS = 2; // 0x2
field public static final int ALTITUDE_METERS = 1; // 0x1
field public static final int ALTITUDE_UNDEFINED = 0; // 0x0
- field public static final android.os.Parcelable.Creator<android.net.wifi.rtt.ResponderLocation> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.ResponderLocation> CREATOR;
field public static final int DATUM_NAD83_MLLW = 3; // 0x3
field public static final int DATUM_NAD83_NAV88 = 2; // 0x2
field public static final int DATUM_UNDEFINED = 0; // 0x0
@@ -30756,7 +30756,7 @@
method public android.nfc.NdefRecord[] getRecords();
method public byte[] toByteArray();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.nfc.NdefMessage> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.nfc.NdefMessage> CREATOR;
}
public final class NdefRecord implements android.os.Parcelable {
@@ -30777,7 +30777,7 @@
method public String toMimeType();
method public android.net.Uri toUri();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.nfc.NdefRecord> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.nfc.NdefRecord> CREATOR;
field public static final byte[] RTD_ALTERNATIVE_CARRIER;
field public static final byte[] RTD_HANDOVER_CARRIER;
field public static final byte[] RTD_HANDOVER_REQUEST;
@@ -30875,7 +30875,7 @@
method public byte[] getId();
method public String[] getTechList();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.nfc.Tag> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.nfc.Tag> CREATOR;
}
public class TagLostException extends java.io.IOException {
@@ -34387,7 +34387,7 @@
method public void readFromParcel(android.os.Parcel);
method public void setClassLoader(ClassLoader);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.os.Bundle> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.os.Bundle> CREATOR;
field public static final android.os.Bundle EMPTY;
}
@@ -34425,7 +34425,7 @@
method public long getActive();
method public long getTotal();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.os.CpuUsageInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.os.CpuUsageInfo> CREATOR;
}
public class DeadObjectException extends android.os.RemoteException {
@@ -34533,7 +34533,7 @@
method public int getTotalSwappablePss();
method public void readFromParcel(android.os.Parcel);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.os.Debug.MemoryInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.os.Debug.MemoryInfo> CREATOR;
field public int dalvikPrivateDirty;
field public int dalvikPss;
field public int dalvikSharedDirty;
@@ -34574,7 +34574,7 @@
method public String getText(int);
method public long getTimeMillis();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.os.DropBoxManager.Entry> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.os.DropBoxManager.Entry> CREATOR;
}
public class Environment {
@@ -34585,7 +34585,7 @@
method public static java.io.File getExternalStoragePublicDirectory(String);
method public static String getExternalStorageState();
method public static String getExternalStorageState(java.io.File);
- method public static java.io.File getRootDirectory();
+ method @NonNull public static java.io.File getRootDirectory();
method @Deprecated public static String getStorageState(java.io.File);
method public static boolean isExternalStorageEmulated();
method public static boolean isExternalStorageEmulated(java.io.File);
@@ -34771,7 +34771,7 @@
method @IntRange(from=0) public int size();
method @NonNull public String toLanguageTags();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.os.LocaleList> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.os.LocaleList> CREATOR;
}
public final class Looper {
@@ -34826,7 +34826,7 @@
method public void setData(android.os.Bundle);
method public void setTarget(android.os.Handler);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.os.Message> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.os.Message> CREATOR;
field public int arg1;
field public int arg2;
field public Object obj;
@@ -34863,7 +34863,7 @@
method public void send(android.os.Message) throws android.os.RemoteException;
method public static void writeMessengerOrNullToParcel(android.os.Messenger, android.os.Parcel);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.os.Messenger> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.os.Messenger> CREATOR;
}
public class NetworkOnMainThreadException extends java.lang.RuntimeException {
@@ -35020,7 +35020,7 @@
method public static android.os.ParcelFileDescriptor open(java.io.File, int, android.os.Handler, android.os.ParcelFileDescriptor.OnCloseListener) throws java.io.IOException;
method public static int parseMode(String);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.os.ParcelFileDescriptor> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.os.ParcelFileDescriptor> CREATOR;
field public static final int MODE_APPEND = 33554432; // 0x2000000
field public static final int MODE_CREATE = 134217728; // 0x8000000
field public static final int MODE_READ_ONLY = 268435456; // 0x10000000
@@ -35058,7 +35058,7 @@
method public static android.os.ParcelUuid fromString(String);
method public java.util.UUID getUuid();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.os.ParcelUuid> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.os.ParcelUuid> CREATOR;
}
public interface Parcelable {
@@ -35085,7 +35085,7 @@
method public final int getType();
method public boolean match(String);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.os.PatternMatcher> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.os.PatternMatcher> CREATOR;
field public static final int PATTERN_ADVANCED_GLOB = 3; // 0x3
field public static final int PATTERN_LITERAL = 0; // 0x0
field public static final int PATTERN_PREFIX = 1; // 0x1
@@ -35102,7 +35102,7 @@
method @Nullable public android.os.PersistableBundle getPersistableBundle(@Nullable String);
method public void putPersistableBundle(@Nullable String, @Nullable android.os.PersistableBundle);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.os.PersistableBundle> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.os.PersistableBundle> CREATOR;
field public static final android.os.PersistableBundle EMPTY;
}
@@ -35251,7 +35251,7 @@
method protected void onReceiveResult(int, android.os.Bundle);
method public void send(int, android.os.Bundle);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.os.ResultReceiver> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.os.ResultReceiver> CREATOR;
}
public final class SharedMemory implements java.io.Closeable android.os.Parcelable {
@@ -35265,7 +35265,7 @@
method public boolean setProtect(int);
method public static void unmap(@NonNull java.nio.ByteBuffer);
method public void writeToParcel(@NonNull android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.os.SharedMemory> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.os.SharedMemory> CREATOR;
}
public class StatFs {
@@ -35311,27 +35311,27 @@
ctor public StrictMode.ThreadPolicy.Builder();
ctor public StrictMode.ThreadPolicy.Builder(android.os.StrictMode.ThreadPolicy);
method public android.os.StrictMode.ThreadPolicy build();
- method public android.os.StrictMode.ThreadPolicy.Builder detectAll();
- method public android.os.StrictMode.ThreadPolicy.Builder detectCustomSlowCalls();
- method public android.os.StrictMode.ThreadPolicy.Builder detectDiskReads();
- method public android.os.StrictMode.ThreadPolicy.Builder detectDiskWrites();
- method public android.os.StrictMode.ThreadPolicy.Builder detectNetwork();
- method public android.os.StrictMode.ThreadPolicy.Builder detectResourceMismatches();
- method public android.os.StrictMode.ThreadPolicy.Builder detectUnbufferedIo();
- method public android.os.StrictMode.ThreadPolicy.Builder penaltyDeath();
- method public android.os.StrictMode.ThreadPolicy.Builder penaltyDeathOnNetwork();
- method public android.os.StrictMode.ThreadPolicy.Builder penaltyDialog();
- method public android.os.StrictMode.ThreadPolicy.Builder penaltyDropBox();
- method public android.os.StrictMode.ThreadPolicy.Builder penaltyFlashScreen();
- method public android.os.StrictMode.ThreadPolicy.Builder penaltyListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.StrictMode.OnThreadViolationListener);
- method public android.os.StrictMode.ThreadPolicy.Builder penaltyLog();
- method public android.os.StrictMode.ThreadPolicy.Builder permitAll();
- method public android.os.StrictMode.ThreadPolicy.Builder permitCustomSlowCalls();
- method public android.os.StrictMode.ThreadPolicy.Builder permitDiskReads();
- method public android.os.StrictMode.ThreadPolicy.Builder permitDiskWrites();
- method public android.os.StrictMode.ThreadPolicy.Builder permitNetwork();
- method public android.os.StrictMode.ThreadPolicy.Builder permitResourceMismatches();
- method public android.os.StrictMode.ThreadPolicy.Builder permitUnbufferedIo();
+ method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectAll();
+ method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectCustomSlowCalls();
+ method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectDiskReads();
+ method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectDiskWrites();
+ method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectNetwork();
+ method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectResourceMismatches();
+ method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectUnbufferedIo();
+ method @NonNull public android.os.StrictMode.ThreadPolicy.Builder penaltyDeath();
+ method @NonNull public android.os.StrictMode.ThreadPolicy.Builder penaltyDeathOnNetwork();
+ method @NonNull public android.os.StrictMode.ThreadPolicy.Builder penaltyDialog();
+ method @NonNull public android.os.StrictMode.ThreadPolicy.Builder penaltyDropBox();
+ method @NonNull public android.os.StrictMode.ThreadPolicy.Builder penaltyFlashScreen();
+ method @NonNull public android.os.StrictMode.ThreadPolicy.Builder penaltyListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.StrictMode.OnThreadViolationListener);
+ method @NonNull public android.os.StrictMode.ThreadPolicy.Builder penaltyLog();
+ method @NonNull public android.os.StrictMode.ThreadPolicy.Builder permitAll();
+ method @NonNull public android.os.StrictMode.ThreadPolicy.Builder permitCustomSlowCalls();
+ method @NonNull public android.os.StrictMode.ThreadPolicy.Builder permitDiskReads();
+ method @NonNull public android.os.StrictMode.ThreadPolicy.Builder permitDiskWrites();
+ method @NonNull public android.os.StrictMode.ThreadPolicy.Builder permitNetwork();
+ method @NonNull public android.os.StrictMode.ThreadPolicy.Builder permitResourceMismatches();
+ method @NonNull public android.os.StrictMode.ThreadPolicy.Builder permitUnbufferedIo();
}
public static final class StrictMode.VmPolicy {
@@ -35342,26 +35342,26 @@
ctor public StrictMode.VmPolicy.Builder();
ctor public StrictMode.VmPolicy.Builder(android.os.StrictMode.VmPolicy);
method public android.os.StrictMode.VmPolicy build();
- method public android.os.StrictMode.VmPolicy.Builder detectActivityLeaks();
- method public android.os.StrictMode.VmPolicy.Builder detectAll();
- method public android.os.StrictMode.VmPolicy.Builder detectCleartextNetwork();
- method public android.os.StrictMode.VmPolicy.Builder detectContentUriWithoutPermission();
- method public android.os.StrictMode.VmPolicy.Builder detectCredentialProtectedWhileLocked();
- method public android.os.StrictMode.VmPolicy.Builder detectFileUriExposure();
- method public android.os.StrictMode.VmPolicy.Builder detectImplicitDirectBoot();
- method public android.os.StrictMode.VmPolicy.Builder detectLeakedClosableObjects();
- method public android.os.StrictMode.VmPolicy.Builder detectLeakedRegistrationObjects();
- method public android.os.StrictMode.VmPolicy.Builder detectLeakedSqlLiteObjects();
- method public android.os.StrictMode.VmPolicy.Builder detectNonSdkApiUsage();
- method public android.os.StrictMode.VmPolicy.Builder detectUntaggedSockets();
- method public android.os.StrictMode.VmPolicy.Builder penaltyDeath();
- method public android.os.StrictMode.VmPolicy.Builder penaltyDeathOnCleartextNetwork();
- method public android.os.StrictMode.VmPolicy.Builder penaltyDeathOnFileUriExposure();
- method public android.os.StrictMode.VmPolicy.Builder penaltyDropBox();
- method public android.os.StrictMode.VmPolicy.Builder penaltyListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.StrictMode.OnVmViolationListener);
- method public android.os.StrictMode.VmPolicy.Builder penaltyLog();
- method public android.os.StrictMode.VmPolicy.Builder permitNonSdkApiUsage();
- method public android.os.StrictMode.VmPolicy.Builder setClassInstanceLimit(Class, int);
+ method @NonNull public android.os.StrictMode.VmPolicy.Builder detectActivityLeaks();
+ method @NonNull public android.os.StrictMode.VmPolicy.Builder detectAll();
+ method @NonNull public android.os.StrictMode.VmPolicy.Builder detectCleartextNetwork();
+ method @NonNull public android.os.StrictMode.VmPolicy.Builder detectContentUriWithoutPermission();
+ method @NonNull public android.os.StrictMode.VmPolicy.Builder detectCredentialProtectedWhileLocked();
+ method @NonNull public android.os.StrictMode.VmPolicy.Builder detectFileUriExposure();
+ method @NonNull public android.os.StrictMode.VmPolicy.Builder detectImplicitDirectBoot();
+ method @NonNull public android.os.StrictMode.VmPolicy.Builder detectLeakedClosableObjects();
+ method @NonNull public android.os.StrictMode.VmPolicy.Builder detectLeakedRegistrationObjects();
+ method @NonNull public android.os.StrictMode.VmPolicy.Builder detectLeakedSqlLiteObjects();
+ method @NonNull public android.os.StrictMode.VmPolicy.Builder detectNonSdkApiUsage();
+ method @NonNull public android.os.StrictMode.VmPolicy.Builder detectUntaggedSockets();
+ method @NonNull public android.os.StrictMode.VmPolicy.Builder penaltyDeath();
+ method @NonNull public android.os.StrictMode.VmPolicy.Builder penaltyDeathOnCleartextNetwork();
+ method @NonNull public android.os.StrictMode.VmPolicy.Builder penaltyDeathOnFileUriExposure();
+ method @NonNull public android.os.StrictMode.VmPolicy.Builder penaltyDropBox();
+ method @NonNull public android.os.StrictMode.VmPolicy.Builder penaltyListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.StrictMode.OnVmViolationListener);
+ method @NonNull public android.os.StrictMode.VmPolicy.Builder penaltyLog();
+ method @NonNull public android.os.StrictMode.VmPolicy.Builder permitNonSdkApiUsage();
+ method @NonNull public android.os.StrictMode.VmPolicy.Builder setClassInstanceLimit(Class, int);
}
public final class SystemClock {
@@ -35416,7 +35416,7 @@
method public static android.os.UserHandle readFromParcel(android.os.Parcel);
method public void writeToParcel(android.os.Parcel, int);
method public static void writeToParcel(android.os.UserHandle, android.os.Parcel);
- field public static final android.os.Parcelable.Creator<android.os.UserHandle> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.os.UserHandle> CREATOR;
}
public class UserManager {
@@ -35521,7 +35521,7 @@
method public static android.os.VibrationEffect createWaveform(long[], int);
method public static android.os.VibrationEffect createWaveform(long[], int[], int);
method public int describeContents();
- field public static final android.os.Parcelable.Creator<android.os.VibrationEffect> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.os.VibrationEffect> CREATOR;
field public static final int DEFAULT_AMPLITUDE = -1; // 0xffffffff
field public static final int EFFECT_CLICK = 0; // 0x0
field public static final int EFFECT_DOUBLE_CLICK = 1; // 0x1
@@ -35551,7 +35551,7 @@
method public boolean remove(android.os.WorkSource);
method public void set(android.os.WorkSource);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.os.WorkSource> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.os.WorkSource> CREATOR;
}
}
@@ -35625,7 +35625,7 @@
method public void setCount(int);
method public void setTime(long);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.os.health.TimerStat> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.os.health.TimerStat> CREATOR;
}
public final class UidHealthStats {
@@ -35750,7 +35750,7 @@
method public boolean isPrimary();
method public boolean isRemovable();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.os.storage.StorageVolume> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.os.storage.StorageVolume> CREATOR;
field public static final String EXTRA_STORAGE_VOLUME = "android.os.storage.extra.STORAGE_VOLUME";
}
@@ -36008,7 +36008,7 @@
@Deprecated public static class Preference.BaseSavedState extends android.view.AbsSavedState {
ctor @Deprecated public Preference.BaseSavedState(android.os.Parcel);
ctor @Deprecated public Preference.BaseSavedState(android.os.Parcelable);
- field @Deprecated public static final android.os.Parcelable.Creator<android.preference.Preference.BaseSavedState> CREATOR;
+ field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.preference.Preference.BaseSavedState> CREATOR;
}
@Deprecated public static interface Preference.OnPreferenceChangeListener {
@@ -36068,7 +36068,7 @@
method @Deprecated public CharSequence getTitle(android.content.res.Resources);
method @Deprecated public void readFromParcel(android.os.Parcel);
method @Deprecated public void writeToParcel(android.os.Parcel, int);
- field @Deprecated public static final android.os.Parcelable.Creator<android.preference.PreferenceActivity.Header> CREATOR;
+ field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.preference.PreferenceActivity.Header> CREATOR;
field @Deprecated public CharSequence breadCrumbShortTitle;
field @Deprecated @StringRes public int breadCrumbShortTitleRes;
field @Deprecated public CharSequence breadCrumbTitle;
@@ -36242,7 +36242,7 @@
method @IntRange(from=0) public int getStart();
method public void writeToParcel(android.os.Parcel, int);
field public static final android.print.PageRange ALL_PAGES;
- field public static final android.os.Parcelable.Creator<android.print.PageRange> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.print.PageRange> CREATOR;
}
public final class PrintAttributes implements android.os.Parcelable {
@@ -36255,7 +36255,7 @@
method public void writeToParcel(android.os.Parcel, int);
field public static final int COLOR_MODE_COLOR = 2; // 0x2
field public static final int COLOR_MODE_MONOCHROME = 1; // 0x1
- field public static final android.os.Parcelable.Creator<android.print.PrintAttributes> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.print.PrintAttributes> CREATOR;
field public static final int DUPLEX_MODE_LONG_EDGE = 2; // 0x2
field public static final int DUPLEX_MODE_NONE = 1; // 0x1
field public static final int DUPLEX_MODE_SHORT_EDGE = 4; // 0x4
@@ -36413,7 +36413,7 @@
field public static final int CONTENT_TYPE_DOCUMENT = 0; // 0x0
field public static final int CONTENT_TYPE_PHOTO = 1; // 0x1
field public static final int CONTENT_TYPE_UNKNOWN = -1; // 0xffffffff
- field public static final android.os.Parcelable.Creator<android.print.PrintDocumentInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.print.PrintDocumentInfo> CREATOR;
field public static final int PAGE_COUNT_UNKNOWN = -1; // 0xffffffff
}
@@ -36440,7 +36440,7 @@
public final class PrintJobId implements android.os.Parcelable {
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.print.PrintJobId> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.print.PrintJobId> CREATOR;
}
public final class PrintJobInfo implements android.os.Parcelable {
@@ -36457,7 +36457,7 @@
method public int getState();
method public boolean hasAdvancedOption(String);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.print.PrintJobInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.print.PrintJobInfo> CREATOR;
field public static final int STATE_BLOCKED = 4; // 0x4
field public static final int STATE_CANCELED = 7; // 0x7
field public static final int STATE_COMPLETED = 5; // 0x5
@@ -36491,7 +36491,7 @@
method @NonNull public android.print.PrintAttributes.Margins getMinMargins();
method @NonNull public java.util.List<android.print.PrintAttributes.Resolution> getResolutions();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.print.PrinterCapabilitiesInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.print.PrinterCapabilitiesInfo> CREATOR;
}
public static final class PrinterCapabilitiesInfo.Builder {
@@ -36508,7 +36508,7 @@
method public int describeContents();
method @NonNull public String getLocalId();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.print.PrinterId> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.print.PrinterId> CREATOR;
}
public final class PrinterInfo implements android.os.Parcelable {
@@ -36519,7 +36519,7 @@
method @NonNull public String getName();
method public int getStatus();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.print.PrinterInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.print.PrinterInfo> CREATOR;
field public static final int STATUS_BUSY = 2; // 0x2
field public static final int STATUS_IDLE = 1; // 0x1
field public static final int STATUS_UNAVAILABLE = 3; // 0x3
@@ -38266,7 +38266,7 @@
method public java.util.List<java.lang.String> getPath();
method @Nullable public String getRootId();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.provider.DocumentsContract.Path> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.provider.DocumentsContract.Path> CREATOR;
}
public static final class DocumentsContract.Root {
@@ -38407,14 +38407,12 @@
public final class MediaStore {
ctor public MediaStore();
- method @NonNull public static android.net.Uri createPending(@NonNull android.content.Context, @NonNull android.provider.MediaStore.PendingParams);
- method @NonNull public static java.util.Set<java.lang.String> getAllVolumeNames(android.content.Context);
- method public static android.net.Uri getDocumentUri(android.content.Context, android.net.Uri);
+ method @NonNull public static java.util.Set<java.lang.String> getAllVolumeNames(@NonNull android.content.Context);
+ method @Nullable public static android.net.Uri getDocumentUri(@NonNull android.content.Context, @NonNull android.net.Uri);
method public static android.net.Uri getMediaScannerUri();
- method public static android.net.Uri getMediaUri(android.content.Context, android.net.Uri);
+ method @Nullable public static android.net.Uri getMediaUri(@NonNull android.content.Context, @NonNull android.net.Uri);
method public static String getVersion(android.content.Context);
method @NonNull public static String getVolumeName(@NonNull android.net.Uri);
- method @NonNull public static android.provider.MediaStore.PendingSession openPending(@NonNull android.content.Context, @NonNull android.net.Uri);
method @NonNull public static android.net.Uri setIncludePending(@NonNull android.net.Uri);
method @NonNull public static android.net.Uri setRequireOriginal(@NonNull android.net.Uri);
field public static final String ACTION_IMAGE_CAPTURE = "android.media.action.IMAGE_CAPTURE";
@@ -38603,10 +38601,10 @@
}
public static final class MediaStore.Downloads implements android.provider.MediaStore.DownloadColumns {
- method public static android.net.Uri getContentUri(String);
+ method @NonNull public static android.net.Uri getContentUri(@NonNull String);
field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/download";
- field public static final android.net.Uri EXTERNAL_CONTENT_URI;
- field public static final android.net.Uri INTERNAL_CONTENT_URI;
+ field @NonNull public static final android.net.Uri EXTERNAL_CONTENT_URI;
+ field @NonNull public static final android.net.Uri INTERNAL_CONTENT_URI;
}
public static final class MediaStore.Files {
@@ -38687,6 +38685,7 @@
public static interface MediaStore.MediaColumns extends android.provider.BaseColumns {
field @Deprecated public static final String DATA = "_data";
field public static final String DATE_ADDED = "date_added";
+ field public static final String DATE_EXPIRES = "date_expires";
field public static final String DATE_MODIFIED = "date_modified";
field public static final String DISPLAY_NAME = "_display_name";
field public static final String DOCUMENT_ID = "document_id";
@@ -38703,23 +38702,6 @@
field public static final String WIDTH = "width";
}
- public static class MediaStore.PendingParams {
- ctor public MediaStore.PendingParams(@NonNull android.net.Uri, @NonNull String, @NonNull String);
- method public void setDownloadUri(@Nullable android.net.Uri);
- method public void setPrimaryDirectory(@Nullable String);
- method public void setRefererUri(@Nullable android.net.Uri);
- method public void setSecondaryDirectory(@Nullable String);
- }
-
- public static class MediaStore.PendingSession implements java.lang.AutoCloseable {
- method public void abandon();
- method public void close();
- method public void notifyProgress(@IntRange(from=0, to=100) int);
- method @NonNull public android.os.ParcelFileDescriptor open() throws java.io.FileNotFoundException;
- method @NonNull public java.io.OutputStream openOutputStream() throws java.io.FileNotFoundException;
- method @NonNull public android.net.Uri publish();
- }
-
public static final class MediaStore.Video {
ctor public MediaStore.Video();
method @Deprecated public static android.database.Cursor query(android.content.ContentResolver, android.net.Uri, String[]);
@@ -39258,7 +39240,7 @@
}
public static final class Telephony.CarrierId implements android.provider.BaseColumns {
- method public static android.net.Uri getPreciseCarrierIdUriForSubscriptionId(int);
+ method @NonNull public static android.net.Uri getPreciseCarrierIdUriForSubscriptionId(int);
method public static android.net.Uri getUriForSubscriptionId(int);
field public static final String CARRIER_ID = "carrier_id";
field public static final String CARRIER_NAME = "carrier_name";
@@ -41109,7 +41091,7 @@
public final class BatchUpdates implements android.os.Parcelable {
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.autofill.BatchUpdates> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.BatchUpdates> CREATOR;
}
public static class BatchUpdates.Builder {
@@ -41122,7 +41104,7 @@
public final class CharSequenceTransformation implements android.os.Parcelable android.service.autofill.Transformation {
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.autofill.CharSequenceTransformation> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.CharSequenceTransformation> CREATOR;
}
public static class CharSequenceTransformation.Builder {
@@ -41134,7 +41116,7 @@
public final class CustomDescription implements android.os.Parcelable {
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.autofill.CustomDescription> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.CustomDescription> CREATOR;
}
public static class CustomDescription.Builder {
@@ -41148,7 +41130,7 @@
public final class Dataset implements android.os.Parcelable {
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.autofill.Dataset> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.Dataset> CREATOR;
}
public static final class Dataset.Builder {
@@ -41167,14 +41149,14 @@
ctor public DateTransformation(@NonNull android.view.autofill.AutofillId, @NonNull android.icu.text.DateFormat);
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.autofill.DateTransformation> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.DateTransformation> CREATOR;
}
public final class DateValueSanitizer implements android.os.Parcelable android.service.autofill.Sanitizer {
ctor public DateValueSanitizer(@NonNull android.icu.text.DateFormat);
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.autofill.DateValueSanitizer> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.DateValueSanitizer> CREATOR;
}
public final class FieldClassification {
@@ -41193,10 +41175,11 @@
public final class FillContext implements android.os.Parcelable {
method public int describeContents();
+ method @NonNull public android.view.autofill.AutofillId getFocusedId();
method public int getRequestId();
- method public android.app.assist.AssistStructure getStructure();
+ method @NonNull public android.app.assist.AssistStructure getStructure();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.autofill.FillContext> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.FillContext> CREATOR;
}
public final class FillEventHistory implements android.os.Parcelable {
@@ -41204,7 +41187,7 @@
method @Deprecated @Nullable public android.os.Bundle getClientState();
method @Nullable public java.util.List<android.service.autofill.FillEventHistory.Event> getEvents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.autofill.FillEventHistory> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.FillEventHistory> CREATOR;
}
public static final class FillEventHistory.Event {
@@ -41230,7 +41213,7 @@
method public int getFlags();
method public int getId();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.autofill.FillRequest> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.FillRequest> CREATOR;
field public static final int FLAG_COMPATIBILITY_MODE_REQUEST = 2; // 0x2
field public static final int FLAG_MANUAL_REQUEST = 1; // 0x1
}
@@ -41238,7 +41221,7 @@
public final class FillResponse implements android.os.Parcelable {
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.autofill.FillResponse> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.FillResponse> CREATOR;
field public static final int FLAG_DISABLE_ACTIVITY_ONLY = 2; // 0x2
field public static final int FLAG_TRACK_CONTEXT_COMMITED = 1; // 0x1
}
@@ -41262,7 +41245,7 @@
public final class ImageTransformation implements android.os.Parcelable android.service.autofill.Transformation {
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.autofill.ImageTransformation> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.ImageTransformation> CREATOR;
}
public static class ImageTransformation.Builder {
@@ -41277,7 +41260,7 @@
ctor public LuhnChecksumValidator(@NonNull android.view.autofill.AutofillId...);
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.autofill.LuhnChecksumValidator> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.LuhnChecksumValidator> CREATOR;
}
public interface OnClickAction {
@@ -41287,7 +41270,7 @@
ctor public RegexValidator(@NonNull android.view.autofill.AutofillId, @NonNull java.util.regex.Pattern);
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.autofill.RegexValidator> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.RegexValidator> CREATOR;
}
public interface Sanitizer {
@@ -41302,7 +41285,7 @@
public final class SaveInfo implements android.os.Parcelable {
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.autofill.SaveInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.SaveInfo> CREATOR;
field public static final int FLAG_DELAY_SAVE = 4; // 0x4
field public static final int FLAG_DONT_SAVE_ON_FINISH = 2; // 0x2
field public static final int FLAG_SAVE_ON_ALL_VIEWS_INVISIBLE = 1; // 0x1
@@ -41336,14 +41319,14 @@
method @Nullable public java.util.List<java.lang.String> getDatasetIds();
method @NonNull public java.util.List<android.service.autofill.FillContext> getFillContexts();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.autofill.SaveRequest> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.SaveRequest> CREATOR;
}
public final class TextValueSanitizer implements android.os.Parcelable android.service.autofill.Sanitizer {
ctor public TextValueSanitizer(@NonNull java.util.regex.Pattern, @NonNull String);
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.autofill.TextValueSanitizer> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.TextValueSanitizer> CREATOR;
}
public interface Transformation {
@@ -41360,7 +41343,7 @@
method public static int getMaxValueLength();
method public static int getMinValueLength();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.autofill.UserData> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.UserData> CREATOR;
}
public static final class UserData.Builder {
@@ -41383,13 +41366,13 @@
public final class VisibilitySetterAction implements android.service.autofill.OnClickAction android.os.Parcelable {
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.autofill.VisibilitySetterAction> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.VisibilitySetterAction> CREATOR;
}
- public static class VisibilitySetterAction.Builder {
+ public static final class VisibilitySetterAction.Builder {
ctor public VisibilitySetterAction.Builder(@IdRes int, int);
- method public android.service.autofill.VisibilitySetterAction build();
- method public android.service.autofill.VisibilitySetterAction.Builder setVisibility(@IdRes int, int);
+ method @NonNull public android.service.autofill.VisibilitySetterAction build();
+ method @NonNull public android.service.autofill.VisibilitySetterAction.Builder setVisibility(@IdRes int, int);
}
}
@@ -41410,12 +41393,12 @@
method public int getPreciseCarrierId();
method @Nullable public String getSpn();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.carrier.CarrierIdentifier> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.carrier.CarrierIdentifier> CREATOR;
}
public class CarrierMessagingClientService extends android.app.Service {
ctor public CarrierMessagingClientService();
- method public final android.os.IBinder onBind(android.content.Intent);
+ method @NonNull public final android.os.IBinder onBind(@Nullable android.content.Intent);
}
public abstract class CarrierMessagingService extends android.app.Service {
@@ -41479,7 +41462,7 @@
method public int describeContents();
method @NonNull public java.util.List<byte[]> getPdus();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.carrier.MessagePdu> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.carrier.MessagePdu> CREATOR;
}
}
@@ -41495,7 +41478,7 @@
method public float getScore();
method public CharSequence getTitle();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.chooser.ChooserTarget> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.chooser.ChooserTarget> CREATOR;
}
public abstract class ChooserTargetService extends android.app.Service {
@@ -41615,7 +41598,7 @@
method public android.os.Bundle getSignals();
method public android.os.UserHandle getUserHandle();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.notification.Adjustment> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.Adjustment> CREATOR;
field public static final String KEY_CONTEXTUAL_ACTIONS = "key_contextual_actions";
field public static final String KEY_IMPORTANCE = "key_importance";
field public static final String KEY_SNOOZE_CRITERIA = "key_snooze_criteria";
@@ -41634,7 +41617,7 @@
method public static String relevanceToString(int);
method public static String stateToString(int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.notification.Condition> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.Condition> CREATOR;
field public static final int FLAG_RELEVANT_ALWAYS = 2; // 0x2
field public static final int FLAG_RELEVANT_NOW = 1; // 0x1
field public static final String SCHEME = "condition";
@@ -41788,7 +41771,7 @@
method public String[] getOrderedKeys();
method public boolean getRanking(String, android.service.notification.NotificationListenerService.Ranking);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.notification.NotificationListenerService.RankingMap> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.NotificationListenerService.RankingMap> CREATOR;
}
public final class NotificationStats implements android.os.Parcelable {
@@ -41810,7 +41793,7 @@
method public void setSnoozed();
method public void setViewedSettings();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.notification.NotificationStats> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.NotificationStats> CREATOR;
field public static final int DISMISSAL_AOD = 2; // 0x2
field public static final int DISMISSAL_NOT_DISMISSED = -1; // 0xffffffff
field public static final int DISMISSAL_OTHER = 0; // 0x0
@@ -41844,7 +41827,7 @@
method public boolean isOngoing();
method public void setOverrideGroupKey(String);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.notification.StatusBarNotification> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.StatusBarNotification> CREATOR;
}
public final class ZenPolicy implements android.os.Parcelable {
@@ -41867,7 +41850,7 @@
method public int getVisualEffectPeek();
method public int getVisualEffectStatusBar();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.notification.ZenPolicy> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.ZenPolicy> CREATOR;
field public static final int PEOPLE_TYPE_ANYONE = 1; // 0x1
field public static final int PEOPLE_TYPE_CONTACTS = 2; // 0x2
field public static final int PEOPLE_TYPE_NONE = 4; // 0x4
@@ -41920,7 +41903,7 @@
method public void setSubtitle(@Nullable CharSequence);
method public void updateTile();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.quicksettings.Tile> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.quicksettings.Tile> CREATOR;
field public static final int STATE_ACTIVE = 2; // 0x2
field public static final int STATE_INACTIVE = 1; // 0x1
field public static final int STATE_UNAVAILABLE = 0; // 0x0
@@ -42482,7 +42465,7 @@
method public int getQuality();
method public boolean isNetworkConnectionRequired();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.speech.tts.Voice> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.speech.tts.Voice> CREATOR;
field public static final int LATENCY_HIGH = 400; // 0x190
field public static final int LATENCY_LOW = 200; // 0xc8
field public static final int LATENCY_NORMAL = 300; // 0x12c
@@ -43339,7 +43322,7 @@
method public int getSupportedRouteMask();
method public boolean isMuted();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telecom.CallAudioState> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telecom.CallAudioState> CREATOR;
field public static final int ROUTE_BLUETOOTH = 2; // 0x2
field public static final int ROUTE_EARPIECE = 1; // 0x1
field public static final int ROUTE_SPEAKER = 8; // 0x8
@@ -43362,7 +43345,7 @@
field public static final int CONFIDENCE_NOT_NUISANCE = -2; // 0xfffffffe
field public static final int CONFIDENCE_NUISANCE = 2; // 0x2
field public static final int CONFIDENCE_UNKNOWN = 0; // 0x0
- field public static final android.os.Parcelable.Creator<android.telecom.CallIdentification> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telecom.CallIdentification> CREATOR;
}
public static class CallIdentification.Builder {
@@ -43655,7 +43638,7 @@
method public int getVideoState();
method public boolean isRequestingRtt();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telecom.ConnectionRequest> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ConnectionRequest> CREATOR;
}
public abstract class ConnectionService extends android.app.Service {
@@ -43701,7 +43684,7 @@
field public static final int CALL_PULLED = 12; // 0xc
field public static final int CANCELED = 4; // 0x4
field public static final int CONNECTION_MANAGER_NOT_SUPPORTED = 10; // 0xa
- field public static final android.os.Parcelable.Creator<android.telecom.DisconnectCause> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telecom.DisconnectCause> CREATOR;
field public static final int ERROR = 1; // 0x1
field public static final int LOCAL = 2; // 0x2
field public static final int MISSED = 5; // 0x5
@@ -43720,7 +43703,7 @@
method public android.net.Uri getOriginalAddress();
method public boolean isEmpty();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telecom.GatewayInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telecom.GatewayInfo> CREATOR;
}
public abstract class InCallService extends android.app.Service {
@@ -43798,7 +43781,7 @@
field public static final int CAPABILITY_SUPPORTS_VIDEO_CALLING = 1024; // 0x400
field public static final int CAPABILITY_VIDEO_CALLING = 8; // 0x8
field public static final int CAPABILITY_VIDEO_CALLING_RELIES_ON_PRESENCE = 256; // 0x100
- field public static final android.os.Parcelable.Creator<android.telecom.PhoneAccount> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telecom.PhoneAccount> CREATOR;
field public static final String EXTRA_CALL_SUBJECT_CHARACTER_ENCODING = "android.telecom.extra.CALL_SUBJECT_CHARACTER_ENCODING";
field public static final String EXTRA_CALL_SUBJECT_MAX_LENGTH = "android.telecom.extra.CALL_SUBJECT_MAX_LENGTH";
field public static final String EXTRA_LOG_SELF_MANAGED_CALLS = "android.telecom.extra.LOG_SELF_MANAGED_CALLS";
@@ -43834,7 +43817,7 @@
method public String getId();
method public android.os.UserHandle getUserHandle();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telecom.PhoneAccountHandle> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telecom.PhoneAccountHandle> CREATOR;
}
public final class PhoneAccountSuggestion implements android.os.Parcelable {
@@ -43843,7 +43826,7 @@
method public int getReason();
method public boolean shouldAutoSelect();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telecom.PhoneAccountSuggestion> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telecom.PhoneAccountSuggestion> CREATOR;
field public static final int REASON_FREQUENT = 2; // 0x2
field public static final int REASON_INTRA_CARRIER = 1; // 0x1
field public static final int REASON_NONE = 0; // 0x0
@@ -43974,7 +43957,7 @@
method public android.graphics.drawable.Icon getIcon();
method public CharSequence getLabel();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telecom.StatusHints> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telecom.StatusHints> CREATOR;
}
public class TelecomManager {
@@ -44070,7 +44053,7 @@
method public static boolean isVideo(int);
method public static String videoStateToString(int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telecom.VideoProfile> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telecom.VideoProfile> CREATOR;
field public static final int QUALITY_DEFAULT = 4; // 0x4
field public static final int QUALITY_HIGH = 1; // 0x1
field public static final int QUALITY_LOW = 3; // 0x3
@@ -44091,7 +44074,7 @@
method public int getWidth();
method public boolean isZoomSupported();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telecom.VideoProfile.CameraCapabilities> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telecom.VideoProfile.CameraCapabilities> CREATOR;
}
}
@@ -44208,7 +44191,7 @@
method public int getPriority();
method public int getSubId();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.AvailableNetworkInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.AvailableNetworkInfo> CREATOR;
field public static final int PRIORITY_HIGH = 1; // 0x1
field public static final int PRIORITY_LOW = 3; // 0x3
field public static final int PRIORITY_MED = 2; // 0x2
@@ -44397,7 +44380,7 @@
method @Nullable public CharSequence getOperatorAlphaLong();
method @Nullable public CharSequence getOperatorAlphaShort();
method @CallSuper public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.CellIdentity> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellIdentity> CREATOR;
}
public final class CellIdentityCdma extends android.telephony.CellIdentity {
@@ -44407,7 +44390,7 @@
method public int getNetworkId();
method public int getSystemId();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.CellIdentityCdma> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellIdentityCdma> CREATOR;
}
public final class CellIdentityGsm extends android.telephony.CellIdentity {
@@ -44422,7 +44405,7 @@
method @Nullable public String getMobileNetworkOperator();
method @Deprecated public int getPsc();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.CellIdentityGsm> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellIdentityGsm> CREATOR;
}
public final class CellIdentityLte extends android.telephony.CellIdentity {
@@ -44437,7 +44420,7 @@
method public int getPci();
method public int getTac();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.CellIdentityLte> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellIdentityLte> CREATOR;
}
public final class CellIdentityNr extends android.telephony.CellIdentity {
@@ -44448,7 +44431,7 @@
method public int getPci();
method public int getTac();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.CellIdentityNr> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellIdentityNr> CREATOR;
}
public final class CellIdentityTdscdma extends android.telephony.CellIdentity {
@@ -44460,7 +44443,7 @@
method @Nullable public String getMobileNetworkOperator();
method public int getUarfcn();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.CellIdentityTdscdma> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellIdentityTdscdma> CREATOR;
}
public final class CellIdentityWcdma extends android.telephony.CellIdentity {
@@ -44474,7 +44457,7 @@
method public int getPsc();
method public int getUarfcn();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.CellIdentityWcdma> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellIdentityWcdma> CREATOR;
}
public abstract class CellInfo implements android.os.Parcelable {
@@ -44486,43 +44469,44 @@
field public static final int CONNECTION_PRIMARY_SERVING = 1; // 0x1
field public static final int CONNECTION_SECONDARY_SERVING = 2; // 0x2
field public static final int CONNECTION_UNKNOWN = 2147483647; // 0x7fffffff
- field public static final android.os.Parcelable.Creator<android.telephony.CellInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellInfo> CREATOR;
field public static final int UNAVAILABLE = 2147483647; // 0x7fffffff
+ field public static final long UNAVAILABLE_LONG = 9223372036854775807L; // 0x7fffffffffffffffL
}
public final class CellInfoCdma extends android.telephony.CellInfo implements android.os.Parcelable {
method public android.telephony.CellIdentityCdma getCellIdentity();
method public android.telephony.CellSignalStrengthCdma getCellSignalStrength();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.CellInfoCdma> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellInfoCdma> CREATOR;
}
public final class CellInfoGsm extends android.telephony.CellInfo implements android.os.Parcelable {
method public android.telephony.CellIdentityGsm getCellIdentity();
method public android.telephony.CellSignalStrengthGsm getCellSignalStrength();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.CellInfoGsm> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellInfoGsm> CREATOR;
}
public final class CellInfoLte extends android.telephony.CellInfo implements android.os.Parcelable {
method public android.telephony.CellIdentityLte getCellIdentity();
method public android.telephony.CellSignalStrengthLte getCellSignalStrength();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.CellInfoLte> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellInfoLte> CREATOR;
}
public final class CellInfoNr extends android.telephony.CellInfo {
method public android.telephony.CellIdentity getCellIdentity();
method public android.telephony.CellSignalStrength getCellSignalStrength();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.CellInfoNr> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellInfoNr> CREATOR;
}
public final class CellInfoWcdma extends android.telephony.CellInfo implements android.os.Parcelable {
method public android.telephony.CellIdentityWcdma getCellIdentity();
method public android.telephony.CellSignalStrengthWcdma getCellSignalStrength();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.CellInfoWcdma> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellInfoWcdma> CREATOR;
}
public abstract class CellLocation {
@@ -44557,7 +44541,7 @@
method public int getEvdoSnr();
method public int getLevel();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.CellSignalStrengthCdma> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellSignalStrengthCdma> CREATOR;
}
public final class CellSignalStrengthGsm extends android.telephony.CellSignalStrength implements android.os.Parcelable {
@@ -44568,7 +44552,7 @@
method public int getLevel();
method public int getTimingAdvance();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.CellSignalStrengthGsm> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellSignalStrengthGsm> CREATOR;
}
public final class CellSignalStrengthLte extends android.telephony.CellSignalStrength implements android.os.Parcelable {
@@ -44583,7 +44567,7 @@
method public int getRssnr();
method public int getTimingAdvance();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.CellSignalStrengthLte> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellSignalStrengthLte> CREATOR;
}
public final class CellSignalStrengthNr extends android.telephony.CellSignalStrength implements android.os.Parcelable {
@@ -44598,7 +44582,7 @@
method public int getSsRsrq();
method public int getSsSinr();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.CellSignalStrengthNr> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellSignalStrengthNr> CREATOR;
}
public final class CellSignalStrengthWcdma extends android.telephony.CellSignalStrength implements android.os.Parcelable {
@@ -44607,7 +44591,7 @@
method public int getDbm();
method public int getLevel();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.CellSignalStrengthWcdma> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellSignalStrengthWcdma> CREATOR;
}
public class IccOpenLogicalChannelResponse implements android.os.Parcelable {
@@ -44616,7 +44600,7 @@
method public byte[] getSelectResponse();
method public int getStatus();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.IccOpenLogicalChannelResponse> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.IccOpenLogicalChannelResponse> CREATOR;
field public static final int INVALID_CHANNEL = -1; // 0xffffffff
field public static final int STATUS_MISSING_RESOURCE = 2; // 0x2
field public static final int STATUS_NO_ERROR = 1; // 0x1
@@ -44689,7 +44673,7 @@
method @Deprecated public void setCid(int);
method @Deprecated public void setRssi(int);
method @Deprecated public void writeToParcel(android.os.Parcel, int);
- field @Deprecated public static final android.os.Parcelable.Creator<android.telephony.NeighboringCellInfo> CREATOR;
+ field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.telephony.NeighboringCellInfo> CREATOR;
field @Deprecated public static final int UNKNOWN_CID = -1; // 0xffffffff
field @Deprecated public static final int UNKNOWN_RSSI = 99; // 0x63
}
@@ -44717,7 +44701,7 @@
method public int getSearchPeriodicity();
method public android.telephony.RadioAccessSpecifier[] getSpecifiers();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.NetworkScanRequest> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.NetworkScanRequest> CREATOR;
field public static final int SCAN_TYPE_ONE_SHOT = 0; // 0x0
field public static final int SCAN_TYPE_PERIODIC = 1; // 0x1
}
@@ -44825,7 +44809,7 @@
method public int[] getChannels();
method public int getRadioAccessNetwork();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.RadioAccessSpecifier> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.RadioAccessSpecifier> CREATOR;
}
public class ServiceState implements android.os.Parcelable {
@@ -44852,7 +44836,7 @@
method public void setStateOff();
method public void setStateOutOfService();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.ServiceState> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ServiceState> CREATOR;
field public static final int DUPLEX_MODE_FDD = 1; // 0x1
field public static final int DUPLEX_MODE_TDD = 2; // 0x2
field public static final int DUPLEX_MODE_UNKNOWN = 0; // 0x0
@@ -45039,7 +45023,7 @@
method public boolean isEmbedded();
method public boolean isOpportunistic();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.SubscriptionInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SubscriptionInfo> CREATOR;
}
public class SubscriptionManager {
@@ -45112,7 +45096,7 @@
method public void writeToParcel(android.os.Parcel, int);
field public static final long BYTES_UNKNOWN = -1L; // 0xffffffffffffffffL
field public static final long BYTES_UNLIMITED = 9223372036854775807L; // 0x7fffffffffffffffL
- field public static final android.os.Parcelable.Creator<android.telephony.SubscriptionPlan> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SubscriptionPlan> CREATOR;
field public static final int LIMIT_BEHAVIOR_BILLED = 1; // 0x1
field public static final int LIMIT_BEHAVIOR_DISABLED = 0; // 0x0
field public static final int LIMIT_BEHAVIOR_THROTTLED = 2; // 0x2
@@ -45363,7 +45347,7 @@
method public boolean isEuicc();
method public boolean isRemovable();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.UiccCardInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.UiccCardInfo> CREATOR;
}
public abstract class VisualVoicemailService extends android.app.Service {
@@ -45387,13 +45371,13 @@
method public android.telecom.PhoneAccountHandle getPhoneAccountHandle();
method public String getPrefix();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.VisualVoicemailSms> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.VisualVoicemailSms> CREATOR;
}
public final class VisualVoicemailSmsFilterSettings implements android.os.Parcelable {
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.VisualVoicemailSmsFilterSettings> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.VisualVoicemailSmsFilterSettings> CREATOR;
field public static final int DESTINATION_PORT_ANY = -1; // 0xffffffff
field public static final int DESTINATION_PORT_DATA_SMS = -2; // 0xfffffffe
field public final String clientPrefix;
@@ -45460,7 +45444,7 @@
field public static final int AUTH_TYPE_NONE = 0; // 0x0
field public static final int AUTH_TYPE_PAP = 1; // 0x1
field public static final int AUTH_TYPE_PAP_OR_CHAP = 3; // 0x3
- field public static final android.os.Parcelable.Creator<android.telephony.data.ApnSetting> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.ApnSetting> CREATOR;
field public static final int MVNO_TYPE_GID = 2; // 0x2
field public static final int MVNO_TYPE_ICCID = 3; // 0x3
field public static final int MVNO_TYPE_IMSI = 1; // 0x1
@@ -45527,7 +45511,7 @@
method public boolean isFromSources(int);
method public boolean isInEmergencyServiceCategories(int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.emergency.EmergencyNumber> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.emergency.EmergencyNumber> CREATOR;
field public static final int EMERGENCY_CALL_ROUTING_EMERGENCY = 1; // 0x1
field public static final int EMERGENCY_CALL_ROUTING_NORMAL = 2; // 0x2
field public static final int EMERGENCY_CALL_ROUTING_UNKNOWN = 0; // 0x0
@@ -45556,7 +45540,7 @@
method @Nullable public String getConfirmationCode();
method @Nullable public String getEncodedActivationCode();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.euicc.DownloadableSubscription> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.euicc.DownloadableSubscription> CREATOR;
}
public final class EuiccInfo implements android.os.Parcelable {
@@ -45564,7 +45548,7 @@
method public int describeContents();
method @Nullable public String getOsVersion();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.euicc.EuiccInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.euicc.EuiccInfo> CREATOR;
}
public class EuiccManager {
@@ -45693,7 +45677,7 @@
method public int getSubscriptionId();
method public byte[] toByteArray();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.mbms.DownloadRequest> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.mbms.DownloadRequest> CREATOR;
}
public static class DownloadRequest.Builder {
@@ -45716,14 +45700,14 @@
method public String getMimeType();
method public android.net.Uri getUri();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.mbms.FileInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.mbms.FileInfo> CREATOR;
}
public final class FileServiceInfo extends android.telephony.mbms.ServiceInfo implements android.os.Parcelable {
method public int describeContents();
method public java.util.List<android.telephony.mbms.FileInfo> getFiles();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.mbms.FileServiceInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.mbms.FileServiceInfo> CREATOR;
}
public class GroupCall implements java.lang.AutoCloseable {
@@ -45856,7 +45840,7 @@
public final class StreamingServiceInfo extends android.telephony.mbms.ServiceInfo implements android.os.Parcelable {
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.mbms.StreamingServiceInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.mbms.StreamingServiceInfo> CREATOR;
}
}
@@ -47255,7 +47239,7 @@
method public void updateDrawState(android.text.TextPaint);
method public void writeToParcel(android.os.Parcel, int);
field @Deprecated public static final String ACTION_SUGGESTION_PICKED = "android.text.style.SUGGESTION_PICKED";
- field public static final android.os.Parcelable.Creator<android.text.style.SuggestionSpan> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.text.style.SuggestionSpan> CREATOR;
field public static final int FLAG_AUTO_CORRECTION = 4; // 0x4
field public static final int FLAG_EASY_CORRECT = 1; // 0x1
field public static final int FLAG_MISSPELLED = 2; // 0x2
@@ -48712,7 +48696,7 @@
method public int describeContents();
method public final android.os.Parcelable getSuperState();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.AbsSavedState> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.AbsSavedState> CREATOR;
field public static final android.view.AbsSavedState EMPTY_STATE;
}
@@ -48862,7 +48846,7 @@
method public float getDesiredMinLuminance();
method public int[] getSupportedHdrTypes();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.Display.HdrCapabilities> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.Display.HdrCapabilities> CREATOR;
field public static final int HDR_TYPE_DOLBY_VISION = 1; // 0x1
field public static final int HDR_TYPE_HDR10 = 2; // 0x2
field public static final int HDR_TYPE_HDR10_PLUS = 4; // 0x4
@@ -48877,7 +48861,7 @@
method public int getPhysicalWidth();
method public float getRefreshRate();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.Display.Mode> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.Display.Mode> CREATOR;
}
public final class DisplayCutout {
@@ -48898,7 +48882,7 @@
method public int describeContents();
method public void release();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.DragAndDropPermissions> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.DragAndDropPermissions> CREATOR;
}
public class DragEvent implements android.os.Parcelable {
@@ -48917,7 +48901,7 @@
field public static final int ACTION_DRAG_LOCATION = 2; // 0x2
field public static final int ACTION_DRAG_STARTED = 1; // 0x1
field public static final int ACTION_DROP = 3; // 0x3
- field public static final android.os.Parcelable.Creator<android.view.DragEvent> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.DragEvent> CREATOR;
}
public class FocusFinder {
@@ -49087,7 +49071,7 @@
method public boolean isVirtual();
method public boolean supportsSource(int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.InputDevice> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.InputDevice> CREATOR;
field public static final int KEYBOARD_TYPE_ALPHABETIC = 2; // 0x2
field public static final int KEYBOARD_TYPE_NONE = 0; // 0x0
field public static final int KEYBOARD_TYPE_NON_ALPHABETIC = 1; // 0x1
@@ -49144,7 +49128,7 @@
method public abstract long getEventTime();
method public abstract int getSource();
method public boolean isFromSource(int);
- field public static final android.os.Parcelable.Creator<android.view.InputEvent> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.InputEvent> CREATOR;
}
public final class InputQueue {
@@ -49176,7 +49160,7 @@
field @Deprecated public static final int BUILT_IN_KEYBOARD = 0; // 0x0
field public static final int COMBINING_ACCENT = -2147483648; // 0x80000000
field public static final int COMBINING_ACCENT_MASK = 2147483647; // 0x7fffffff
- field public static final android.os.Parcelable.Creator<android.view.KeyCharacterMap> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.KeyCharacterMap> CREATOR;
field public static final int FULL = 4; // 0x4
field public static final char HEX_INPUT = 61184; // 0xef00 '\uef00'
field public static final int MODIFIER_BEHAVIOR_CHORDED = 0; // 0x0
@@ -49269,7 +49253,7 @@
field public static final int ACTION_DOWN = 0; // 0x0
field @Deprecated public static final int ACTION_MULTIPLE = 2; // 0x2
field public static final int ACTION_UP = 1; // 0x1
- field public static final android.os.Parcelable.Creator<android.view.KeyEvent> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.KeyEvent> CREATOR;
field public static final int FLAG_CANCELED = 32; // 0x20
field public static final int FLAG_CANCELED_LONG_PRESS = 256; // 0x100
field public static final int FLAG_EDITOR_ACTION = 16; // 0x10
@@ -49619,7 +49603,7 @@
method public java.util.List<android.view.KeyboardShortcutInfo> getItems();
method public CharSequence getLabel();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.KeyboardShortcutGroup> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.KeyboardShortcutGroup> CREATOR;
}
public final class KeyboardShortcutInfo implements android.os.Parcelable {
@@ -49631,7 +49615,7 @@
method @Nullable public CharSequence getLabel();
method public int getModifiers();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.KeyboardShortcutInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.KeyboardShortcutInfo> CREATOR;
}
public abstract class LayoutInflater {
@@ -49952,7 +49936,7 @@
field public static final int CLASSIFICATION_AMBIGUOUS_GESTURE = 1; // 0x1
field public static final int CLASSIFICATION_DEEP_PRESS = 2; // 0x2
field public static final int CLASSIFICATION_NONE = 0; // 0x0
- field public static final android.os.Parcelable.Creator<android.view.MotionEvent> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.MotionEvent> CREATOR;
field public static final int EDGE_BOTTOM = 2; // 0x2
field public static final int EDGE_LEFT = 4; // 0x4
field public static final int EDGE_RIGHT = 8; // 0x8
@@ -50040,7 +50024,7 @@
method public static android.view.PointerIcon getSystemIcon(@NonNull android.content.Context, int);
method public static android.view.PointerIcon load(@NonNull android.content.res.Resources, @XmlRes int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.PointerIcon> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.PointerIcon> CREATOR;
field public static final int TYPE_ALIAS = 1010; // 0x3f2
field public static final int TYPE_ALL_SCROLL = 1013; // 0x3f5
field public static final int TYPE_ARROW = 1000; // 0x3e8
@@ -50139,7 +50123,7 @@
method @Deprecated public void unlockCanvas(android.graphics.Canvas);
method public void unlockCanvasAndPost(android.graphics.Canvas);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.Surface> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.Surface> CREATOR;
field public static final int ROTATION_0 = 0; // 0x0
field public static final int ROTATION_180 = 2; // 0x2
field public static final int ROTATION_270 = 3; // 0x3
@@ -50157,7 +50141,7 @@
method public void readFromParcel(android.os.Parcel);
method public void release();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.SurfaceControl> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.SurfaceControl> CREATOR;
}
public static class SurfaceControl.Builder {
@@ -50520,6 +50504,7 @@
method public android.animation.StateListAnimator getStateListAnimator();
method protected int getSuggestedMinimumHeight();
method protected int getSuggestedMinimumWidth();
+ method @NonNull public java.util.List<android.graphics.Rect> getSystemGestureExclusionRects();
method public int getSystemUiVisibility();
method @android.view.ViewDebug.ExportedProperty public Object getTag();
method public Object getTag(int);
@@ -50858,6 +50843,7 @@
method public void setSelected(boolean);
method public void setSoundEffectsEnabled(boolean);
method public void setStateListAnimator(android.animation.StateListAnimator);
+ method public void setSystemGestureExclusionRects(@NonNull java.util.List<android.graphics.Rect>);
method public void setSystemUiVisibility(int);
method public void setTag(Object);
method public void setTag(int, Object);
@@ -51091,7 +51077,7 @@
ctor public View.BaseSavedState(android.os.Parcel);
ctor public View.BaseSavedState(android.os.Parcel, ClassLoader);
ctor public View.BaseSavedState(android.os.Parcelable);
- field public static final android.os.Parcelable.Creator<android.view.View.BaseSavedState> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.View.BaseSavedState> CREATOR;
}
public static class View.DragShadowBuilder {
@@ -51686,6 +51672,7 @@
method public void addOnGlobalLayoutListener(android.view.ViewTreeObserver.OnGlobalLayoutListener);
method public void addOnPreDrawListener(android.view.ViewTreeObserver.OnPreDrawListener);
method public void addOnScrollChangedListener(android.view.ViewTreeObserver.OnScrollChangedListener);
+ method public void addOnSystemGestureExclusionRectsChangedListener(java.util.function.Consumer<java.util.List<android.graphics.Rect>>);
method public void addOnTouchModeChangeListener(android.view.ViewTreeObserver.OnTouchModeChangeListener);
method public void addOnWindowAttachListener(android.view.ViewTreeObserver.OnWindowAttachListener);
method public void addOnWindowFocusChangeListener(android.view.ViewTreeObserver.OnWindowFocusChangeListener);
@@ -51700,6 +51687,7 @@
method public void removeOnGlobalLayoutListener(android.view.ViewTreeObserver.OnGlobalLayoutListener);
method public void removeOnPreDrawListener(android.view.ViewTreeObserver.OnPreDrawListener);
method public void removeOnScrollChangedListener(android.view.ViewTreeObserver.OnScrollChangedListener);
+ method public void removeOnSystemGestureExclusionRectsChangedListener(java.util.function.Consumer<java.util.List<android.graphics.Rect>>);
method public void removeOnTouchModeChangeListener(android.view.ViewTreeObserver.OnTouchModeChangeListener);
method public void removeOnWindowAttachListener(android.view.ViewTreeObserver.OnWindowAttachListener);
method public void removeOnWindowFocusChangeListener(android.view.ViewTreeObserver.OnWindowFocusChangeListener);
@@ -51940,7 +51928,7 @@
public final class WindowAnimationFrameStats extends android.view.FrameStats implements android.os.Parcelable {
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.WindowAnimationFrameStats> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.WindowAnimationFrameStats> CREATOR;
}
public final class WindowContentFrameStats extends android.view.FrameStats implements android.os.Parcelable {
@@ -51948,7 +51936,7 @@
method public long getFramePostedTimeNano(int);
method public long getFrameReadyTimeNano(int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.WindowContentFrameStats> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.WindowContentFrameStats> CREATOR;
}
public class WindowId implements android.os.Parcelable {
@@ -51957,7 +51945,7 @@
method public void registerFocusObserver(android.view.WindowId.FocusObserver);
method public void unregisterFocusObserver(android.view.WindowId.FocusObserver);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.WindowId> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.WindowId> CREATOR;
}
public abstract static class WindowId.FocusObserver {
@@ -52038,7 +52026,7 @@
field public static final float BRIGHTNESS_OVERRIDE_FULL = 1.0f;
field public static final float BRIGHTNESS_OVERRIDE_NONE = -1.0f;
field public static final float BRIGHTNESS_OVERRIDE_OFF = 0.0f;
- field public static final android.os.Parcelable.Creator<android.view.WindowManager.LayoutParams> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.WindowManager.LayoutParams> CREATOR;
field public static final int DIM_AMOUNT_CHANGED = 32; // 0x20
field public static final int FIRST_APPLICATION_WINDOW = 1; // 0x1
field public static final int FIRST_SUB_WINDOW = 1000; // 0x3e8
@@ -52198,7 +52186,7 @@
field public static final int CONTENT_CHANGE_TYPE_SUBTREE = 1; // 0x1
field public static final int CONTENT_CHANGE_TYPE_TEXT = 2; // 0x2
field public static final int CONTENT_CHANGE_TYPE_UNDEFINED = 0; // 0x0
- field public static final android.os.Parcelable.Creator<android.view.accessibility.AccessibilityEvent> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.accessibility.AccessibilityEvent> CREATOR;
field public static final int INVALID_POSITION = -1; // 0xffffffff
field @Deprecated public static final int MAX_TEXT_LENGTH = 500; // 0x1f4
field public static final int TYPES_ALL_MASK = -1; // 0xffffffff
@@ -52448,7 +52436,7 @@
field public static final int ACTION_SELECT = 4; // 0x4
field public static final int ACTION_SET_SELECTION = 131072; // 0x20000
field public static final int ACTION_SET_TEXT = 2097152; // 0x200000
- field public static final android.os.Parcelable.Creator<android.view.accessibility.AccessibilityNodeInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.accessibility.AccessibilityNodeInfo> CREATOR;
field public static final String EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_LENGTH = "android.view.accessibility.extra.DATA_TEXT_CHARACTER_LOCATION_ARG_LENGTH";
field public static final String EXTRA_DATA_TEXT_CHARACTER_LOCATION_ARG_START_INDEX = "android.view.accessibility.extra.DATA_TEXT_CHARACTER_LOCATION_ARG_START_INDEX";
field public static final String EXTRA_DATA_TEXT_CHARACTER_LOCATION_KEY = "android.view.accessibility.extra.DATA_TEXT_CHARACTER_LOCATION_KEY";
@@ -52545,7 +52533,7 @@
method public int getRegionCount();
method @Nullable public android.view.accessibility.AccessibilityNodeInfo getTargetForRegion(@NonNull android.graphics.Region);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.accessibility.AccessibilityNodeInfo.TouchDelegateInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.accessibility.AccessibilityNodeInfo.TouchDelegateInfo> CREATOR;
}
public abstract class AccessibilityNodeProvider {
@@ -52638,7 +52626,7 @@
method public static android.view.accessibility.AccessibilityWindowInfo obtain(android.view.accessibility.AccessibilityWindowInfo);
method public void recycle();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.accessibility.AccessibilityWindowInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.accessibility.AccessibilityWindowInfo> CREATOR;
field public static final int TYPE_ACCESSIBILITY_OVERLAY = 4; // 0x4
field public static final int TYPE_APPLICATION = 1; // 0x1
field public static final int TYPE_INPUT_METHOD = 2; // 0x2
@@ -52971,7 +52959,7 @@
public final class AutofillId implements android.os.Parcelable {
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.autofill.AutofillId> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.autofill.AutofillId> CREATOR;
}
public final class AutofillManager {
@@ -53032,7 +53020,7 @@
method public boolean isText();
method public boolean isToggle();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.autofill.AutofillValue> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.autofill.AutofillValue> CREATOR;
}
}
@@ -53041,16 +53029,16 @@
public final class ContentCaptureContext implements android.os.Parcelable {
method public int describeContents();
- method public static android.view.contentcapture.ContentCaptureContext forLocusId(@NonNull android.net.Uri);
+ method @NonNull public static android.view.contentcapture.ContentCaptureContext forLocusId(@NonNull android.net.Uri);
method @Nullable public android.os.Bundle getExtras();
method @NonNull public android.content.LocusId getLocusId();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.contentcapture.ContentCaptureContext> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.contentcapture.ContentCaptureContext> CREATOR;
}
public static final class ContentCaptureContext.Builder {
ctor public ContentCaptureContext.Builder(@NonNull android.content.LocusId);
- method public android.view.contentcapture.ContentCaptureContext build();
+ method @NonNull public android.view.contentcapture.ContentCaptureContext build();
method @NonNull public android.view.contentcapture.ContentCaptureContext.Builder setExtras(@NonNull android.os.Bundle);
}
@@ -53066,7 +53054,7 @@
method @NonNull public final android.view.contentcapture.ContentCaptureSession createContentCaptureSession(@NonNull android.view.contentcapture.ContentCaptureContext);
method public final void destroy();
method @Nullable public final android.view.contentcapture.ContentCaptureContext getContentCaptureContext();
- method public final android.view.contentcapture.ContentCaptureSessionId getContentCaptureSessionId();
+ method @NonNull public final android.view.contentcapture.ContentCaptureSessionId getContentCaptureSessionId();
method @NonNull public android.view.autofill.AutofillId newAutofillId(@NonNull android.view.autofill.AutofillId, long);
method @NonNull public final android.view.ViewStructure newVirtualViewStructure(@NonNull android.view.autofill.AutofillId, long);
method public final void notifyViewAppeared(@NonNull android.view.ViewStructure);
@@ -53079,7 +53067,7 @@
public final class ContentCaptureSessionId implements android.os.Parcelable {
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.contentcapture.ContentCaptureSessionId> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.contentcapture.ContentCaptureSessionId> CREATOR;
}
public final class UserDataRemovalRequest implements android.os.Parcelable {
@@ -53088,12 +53076,12 @@
method @NonNull public String getPackageName();
method public boolean isForEverything();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.contentcapture.UserDataRemovalRequest> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.contentcapture.UserDataRemovalRequest> CREATOR;
}
public static final class UserDataRemovalRequest.Builder {
ctor public UserDataRemovalRequest.Builder();
- method public android.view.contentcapture.UserDataRemovalRequest.Builder addLocusId(@NonNull android.content.LocusId, boolean);
+ method @NonNull public android.view.contentcapture.UserDataRemovalRequest.Builder addLocusId(@NonNull android.content.LocusId, boolean);
method @NonNull public android.view.contentcapture.UserDataRemovalRequest build();
method @NonNull public android.view.contentcapture.UserDataRemovalRequest.Builder forEverything();
}
@@ -53151,7 +53139,7 @@
method public int getPosition();
method public CharSequence getText();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.inputmethod.CompletionInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.CompletionInfo> CREATOR;
}
public final class CorrectionInfo implements android.os.Parcelable {
@@ -53161,7 +53149,7 @@
method public int getOffset();
method public CharSequence getOldText();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.inputmethod.CorrectionInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.CorrectionInfo> CREATOR;
}
public final class CursorAnchorInfo implements android.os.Parcelable {
@@ -53180,7 +53168,7 @@
method public int getSelectionEnd();
method public int getSelectionStart();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.inputmethod.CursorAnchorInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.CursorAnchorInfo> CREATOR;
field public static final int FLAG_HAS_INVISIBLE_REGION = 2; // 0x2
field public static final int FLAG_HAS_VISIBLE_REGION = 1; // 0x1
field public static final int FLAG_IS_RTL = 4; // 0x4
@@ -53203,7 +53191,7 @@
method public void dump(android.util.Printer, String);
method public final void makeCompatible(int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.inputmethod.EditorInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.EditorInfo> CREATOR;
field public static final int IME_ACTION_DONE = 6; // 0x6
field public static final int IME_ACTION_GO = 2; // 0x2
field public static final int IME_ACTION_NEXT = 5; // 0x5
@@ -53244,7 +53232,7 @@
ctor public ExtractedText();
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.inputmethod.ExtractedText> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.ExtractedText> CREATOR;
field public static final int FLAG_SELECTING = 2; // 0x2
field public static final int FLAG_SINGLE_LINE = 1; // 0x1
field public int flags;
@@ -53261,7 +53249,7 @@
ctor public ExtractedTextRequest();
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.inputmethod.ExtractedTextRequest> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.ExtractedTextRequest> CREATOR;
field public int flags;
field public int hintMaxChars;
field public int hintMaxLines;
@@ -53277,7 +53265,7 @@
method public int getPid();
method public int getUid();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.inputmethod.InputBinding> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.InputBinding> CREATOR;
}
public interface InputConnection {
@@ -53355,7 +53343,7 @@
method public void releasePermission();
method public void requestPermission();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.inputmethod.InputContentInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.InputContentInfo> CREATOR;
}
public interface InputMethod {
@@ -53397,7 +53385,7 @@
method public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager);
method public CharSequence loadLabel(android.content.pm.PackageManager);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.inputmethod.InputMethodInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.InputMethodInfo> CREATOR;
}
public final class InputMethodManager {
@@ -53486,7 +53474,7 @@
method public boolean isAuxiliary();
method public boolean overridesImplicitlyEnabledSubtype();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.inputmethod.InputMethodSubtype> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.inputmethod.InputMethodSubtype> CREATOR;
}
public static class InputMethodSubtype.InputMethodSubtypeBuilder {
@@ -53607,7 +53595,7 @@
method @Nullable public CharSequence getTextReply();
method @NonNull public String getType();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.textclassifier.ConversationAction> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.ConversationAction> CREATOR;
field public static final String TYPE_CALL_PHONE = "call_phone";
field public static final String TYPE_CREATE_REMINDER = "create_reminder";
field public static final String TYPE_OPEN_URL = "open_url";
@@ -53635,7 +53623,7 @@
method @NonNull public java.util.List<android.view.textclassifier.ConversationAction> getConversationActions();
method @Nullable public String getId();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.textclassifier.ConversationActions> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.ConversationActions> CREATOR;
}
public static final class ConversationActions.Message implements android.os.Parcelable {
@@ -53645,7 +53633,7 @@
method @Nullable public java.time.ZonedDateTime getReferenceTime();
method @Nullable public CharSequence getText();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.textclassifier.ConversationActions.Message> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.ConversationActions.Message> CREATOR;
field public static final android.app.Person PERSON_USER_OTHERS;
field public static final android.app.Person PERSON_USER_SELF;
}
@@ -53667,7 +53655,7 @@
method @IntRange(from=0xffffffff) public int getMaxSuggestions();
method @NonNull public android.view.textclassifier.TextClassifier.EntityConfig getTypeConfig();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.textclassifier.ConversationActions.Request> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.ConversationActions.Request> CREATOR;
field public static final String HINT_FOR_IN_APP = "in_app";
field public static final String HINT_FOR_NOTIFICATION = "notification";
}
@@ -53718,7 +53706,7 @@
field public static final int ACTION_SELECT_ALL = 200; // 0xc8
field public static final int ACTION_SHARE = 104; // 0x68
field public static final int ACTION_SMART_SHARE = 105; // 0x69
- field public static final android.os.Parcelable.Creator<android.view.textclassifier.SelectionEvent> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.SelectionEvent> CREATOR;
field public static final int EVENT_AUTO_SELECTION = 5; // 0x5
field public static final int EVENT_SELECTION_MODIFIED = 2; // 0x2
field public static final int EVENT_SELECTION_STARTED = 1; // 0x1
@@ -53743,7 +53731,7 @@
method @Deprecated @Nullable public android.view.View.OnClickListener getOnClickListener();
method @Nullable public String getText();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.textclassifier.TextClassification> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextClassification> CREATOR;
}
public static final class TextClassification.Builder {
@@ -53770,7 +53758,7 @@
method @IntRange(from=0) public int getStartIndex();
method @NonNull public CharSequence getText();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.textclassifier.TextClassification.Request> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextClassification.Request> CREATOR;
}
public static final class TextClassification.Request.Builder {
@@ -53787,7 +53775,7 @@
method @NonNull public String getWidgetType();
method @Nullable public String getWidgetVersion();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.textclassifier.TextClassificationContext> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextClassificationContext> CREATOR;
}
public static final class TextClassificationContext.Builder {
@@ -53810,7 +53798,7 @@
public final class TextClassificationSessionId implements android.os.Parcelable {
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.textclassifier.TextClassificationSessionId> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextClassificationSessionId> CREATOR;
}
public interface TextClassifier {
@@ -53860,7 +53848,7 @@
method public java.util.Collection<java.lang.String> resolveEntityListModifications(@NonNull java.util.Collection<java.lang.String>);
method public boolean shouldIncludeTypesFromTextClassifier();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.textclassifier.TextClassifier.EntityConfig> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextClassifier.EntityConfig> CREATOR;
}
public static final class TextClassifier.EntityConfig.Builder {
@@ -53895,7 +53883,7 @@
field public static final int CATEGORY_LINKIFY = 2; // 0x2
field public static final int CATEGORY_SELECTION = 1; // 0x1
field public static final int CATEGORY_UNDEFINED = 0; // 0x0
- field public static final android.os.Parcelable.Creator<android.view.textclassifier.TextClassifierEvent> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextClassifierEvent> CREATOR;
field public static final int TYPE_ACTIONS_GENERATED = 20; // 0x14
field public static final int TYPE_ACTIONS_SHOWN = 6; // 0x6
field public static final int TYPE_AUTO_SELECTION = 5; // 0x5
@@ -53945,7 +53933,7 @@
method @NonNull public android.icu.util.ULocale getLocale(int);
method @IntRange(from=0) public int getLocaleHypothesisCount();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.textclassifier.TextLanguage> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextLanguage> CREATOR;
}
public static final class TextLanguage.Builder {
@@ -53962,7 +53950,7 @@
method @NonNull public android.os.Bundle getExtras();
method @NonNull public CharSequence getText();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.textclassifier.TextLanguage.Request> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextLanguage.Request> CREATOR;
}
public static final class TextLanguage.Request.Builder {
@@ -53979,7 +53967,7 @@
method public void writeToParcel(android.os.Parcel, int);
field public static final int APPLY_STRATEGY_IGNORE = 0; // 0x0
field public static final int APPLY_STRATEGY_REPLACE = 1; // 0x1
- field public static final android.os.Parcelable.Creator<android.view.textclassifier.TextLinks> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextLinks> CREATOR;
field public static final int STATUS_DIFFERENT_TEXT = 3; // 0x3
field public static final int STATUS_LINKS_APPLIED = 0; // 0x0
field public static final int STATUS_NO_LINKS_APPLIED = 2; // 0x2
@@ -54004,7 +53992,7 @@
method @NonNull public android.os.Bundle getExtras();
method @NonNull public CharSequence getText();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.textclassifier.TextLinks.Request> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextLinks.Request> CREATOR;
}
public static final class TextLinks.Request.Builder {
@@ -54024,7 +54012,7 @@
method public android.os.Bundle getExtras();
method public int getStart();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.textclassifier.TextLinks.TextLink> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextLinks.TextLink> CREATOR;
}
public static class TextLinks.TextLinkSpan extends android.text.style.ClickableSpan {
@@ -54043,7 +54031,7 @@
method public int getSelectionEndIndex();
method public int getSelectionStartIndex();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.textclassifier.TextSelection> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextSelection> CREATOR;
}
public static final class TextSelection.Builder {
@@ -54063,7 +54051,7 @@
method @IntRange(from=0) public int getStartIndex();
method @NonNull public CharSequence getText();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.textclassifier.TextSelection.Request> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.TextSelection.Request> CREATOR;
}
public static final class TextSelection.Request.Builder {
@@ -54086,7 +54074,7 @@
method public int getSuggestionsCount();
method public android.view.textservice.SuggestionsInfo getSuggestionsInfoAt(int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.textservice.SentenceSuggestionsInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.textservice.SentenceSuggestionsInfo> CREATOR;
}
public final class SpellCheckerInfo implements android.os.Parcelable {
@@ -54101,7 +54089,7 @@
method public android.graphics.drawable.Drawable loadIcon(android.content.pm.PackageManager);
method public CharSequence loadLabel(android.content.pm.PackageManager);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.textservice.SpellCheckerInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.textservice.SpellCheckerInfo> CREATOR;
}
public class SpellCheckerSession {
@@ -54131,7 +54119,7 @@
method @Deprecated @NonNull public String getLocale();
method public int getNameResId();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.textservice.SpellCheckerSubtype> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.textservice.SpellCheckerSubtype> CREATOR;
}
public final class SuggestionsInfo implements android.os.Parcelable {
@@ -54146,7 +54134,7 @@
method public int getSuggestionsCount();
method public void setCookieAndSequence(int, int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.textservice.SuggestionsInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.textservice.SuggestionsInfo> CREATOR;
field public static final int RESULT_ATTR_HAS_RECOMMENDED_SUGGESTIONS = 4; // 0x4
field public static final int RESULT_ATTR_IN_THE_DICTIONARY = 1; // 0x1
field public static final int RESULT_ATTR_LOOKS_LIKE_TYPO = 2; // 0x2
@@ -54163,7 +54151,7 @@
method public int getSequence();
method public String getText();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.textservice.TextInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.textservice.TextInfo> CREATOR;
}
public final class TextServicesManager {
@@ -56720,7 +56708,7 @@
method public void showNext(int);
method public void showPrevious(int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.widget.RemoteViews> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.widget.RemoteViews> CREATOR;
field public static final String EXTRA_SHARED_ELEMENT_BOUNDS = "android.widget.extra.SHARED_ELEMENT_BOUNDS";
}
@@ -57503,7 +57491,7 @@
}
public static class TextView.SavedState extends android.view.View.BaseSavedState {
- field public static final android.os.Parcelable.Creator<android.widget.TextView.SavedState> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.widget.TextView.SavedState> CREATOR;
}
public interface ThemedSpinnerAdapter extends android.widget.SpinnerAdapter {
@@ -57778,16 +57766,16 @@
method @Deprecated public void onZoom(boolean);
}
- public class ZoomControls extends android.widget.LinearLayout {
- ctor public ZoomControls(android.content.Context);
- ctor public ZoomControls(android.content.Context, android.util.AttributeSet);
- method public void hide();
- method public void setIsZoomInEnabled(boolean);
- method public void setIsZoomOutEnabled(boolean);
- method public void setOnZoomInClickListener(android.view.View.OnClickListener);
- method public void setOnZoomOutClickListener(android.view.View.OnClickListener);
- method public void setZoomSpeed(long);
- method public void show();
+ @Deprecated public class ZoomControls extends android.widget.LinearLayout {
+ ctor @Deprecated public ZoomControls(android.content.Context);
+ ctor @Deprecated public ZoomControls(android.content.Context, android.util.AttributeSet);
+ method @Deprecated public void hide();
+ method @Deprecated public void setIsZoomInEnabled(boolean);
+ method @Deprecated public void setIsZoomOutEnabled(boolean);
+ method @Deprecated public void setOnZoomInClickListener(android.view.View.OnClickListener);
+ method @Deprecated public void setOnZoomOutClickListener(android.view.View.OnClickListener);
+ method @Deprecated public void setZoomSpeed(long);
+ method @Deprecated public void show();
}
}
diff --git a/api/removed.txt b/api/removed.txt
index c4ed871..fdfaf91 100644
--- a/api/removed.txt
+++ b/api/removed.txt
@@ -32,7 +32,7 @@
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
field public static final int CONTENTS_FILE_DESCRIPTOR = 1; // 0x1
- field public static final android.os.Parcelable.Creator<android.app.PictureInPictureArgs> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.PictureInPictureArgs> CREATOR;
field public static final int PARCELABLE_WRITE_RETURN_VALUE = 1; // 0x1
}
@@ -352,11 +352,11 @@
}
public static final class StrictMode.ThreadPolicy.Builder {
- method public android.os.StrictMode.ThreadPolicy.Builder penaltyListener(@NonNull android.os.StrictMode.OnThreadViolationListener, @NonNull java.util.concurrent.Executor);
+ method @NonNull public android.os.StrictMode.ThreadPolicy.Builder penaltyListener(@NonNull android.os.StrictMode.OnThreadViolationListener, @NonNull java.util.concurrent.Executor);
}
public static final class StrictMode.VmPolicy.Builder {
- method public android.os.StrictMode.VmPolicy.Builder penaltyListener(@NonNull android.os.StrictMode.OnVmViolationListener, @NonNull java.util.concurrent.Executor);
+ method @NonNull public android.os.StrictMode.VmPolicy.Builder penaltyListener(@NonNull android.os.StrictMode.OnVmViolationListener, @NonNull java.util.concurrent.Executor);
}
public final class SystemClock {
@@ -508,6 +508,8 @@
}
public final class MediaStore {
+ method @Deprecated @NonNull public static android.net.Uri createPending(@NonNull android.content.Context, @NonNull android.provider.MediaStore.PendingParams);
+ method @Deprecated @NonNull public static android.provider.MediaStore.PendingSession openPending(@NonNull android.content.Context, @NonNull android.net.Uri);
method @Deprecated @NonNull public static android.net.Uri setIncludeTrashed(@NonNull android.net.Uri);
method @Deprecated public static void trash(@NonNull android.content.Context, @NonNull android.net.Uri);
method @Deprecated public static void trash(@NonNull android.content.Context, @NonNull android.net.Uri, long);
@@ -515,11 +517,27 @@
}
public static interface MediaStore.MediaColumns extends android.provider.BaseColumns {
- field @Deprecated public static final String DATE_EXPIRES = "date_expires";
field @Deprecated public static final String HASH = "_hash";
field @Deprecated public static final String IS_TRASHED = "is_trashed";
}
+ @Deprecated public static class MediaStore.PendingParams {
+ ctor public MediaStore.PendingParams(@NonNull android.net.Uri, @NonNull String, @NonNull String);
+ method public void setDownloadUri(@Nullable android.net.Uri);
+ method public void setPrimaryDirectory(@Nullable String);
+ method public void setRefererUri(@Nullable android.net.Uri);
+ method public void setSecondaryDirectory(@Nullable String);
+ }
+
+ @Deprecated public static class MediaStore.PendingSession implements java.lang.AutoCloseable {
+ method public void abandon();
+ method public void close();
+ method public void notifyProgress(@IntRange(from=0, to=100) int);
+ method @NonNull public android.os.ParcelFileDescriptor open() throws java.io.FileNotFoundException;
+ method @NonNull public java.io.OutputStream openOutputStream() throws java.io.FileNotFoundException;
+ method @NonNull public android.net.Uri publish();
+ }
+
public static final class Settings.Global extends android.provider.Settings.NameValueTable {
field @Deprecated public static final String CONTACT_METADATA_SYNC = "contact_metadata_sync";
}
diff --git a/api/system-current.txt b/api/system-current.txt
index 81e9322..94bc1dd 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -384,7 +384,7 @@
method @NonNull public String getOpName();
method public long getRejectCount(int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalOp> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalOp> CREATOR;
}
public static final class AppOpsManager.HistoricalOps implements android.os.Parcelable {
@@ -395,7 +395,7 @@
method @Nullable public android.app.AppOpsManager.HistoricalUidOps getUidOps(int);
method @NonNull public android.app.AppOpsManager.HistoricalUidOps getUidOpsAt(int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalOps> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalOps> CREATOR;
}
public static final class AppOpsManager.HistoricalOpsRequest {
@@ -416,7 +416,7 @@
method public int getOpCount();
method @NonNull public String getPackageName();
method public void writeToParcel(@NonNull android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalPackageOps> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalPackageOps> CREATOR;
}
public static final class AppOpsManager.HistoricalUidOps implements android.os.Parcelable {
@@ -426,7 +426,7 @@
method @NonNull public android.app.AppOpsManager.HistoricalPackageOps getPackageOpsAt(int);
method public int getUid();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalUidOps> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalUidOps> CREATOR;
}
public static final class AppOpsManager.OpEntry implements android.os.Parcelable {
@@ -444,7 +444,7 @@
method public int getProxyUid();
method public boolean isRunning();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.AppOpsManager.OpEntry> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.OpEntry> CREATOR;
}
public static final class AppOpsManager.PackageOps implements android.os.Parcelable {
@@ -453,7 +453,7 @@
method public String getPackageName();
method public int getUid();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.AppOpsManager.PackageOps> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.PackageOps> CREATOR;
}
public class BroadcastOptions {
@@ -565,12 +565,12 @@
}
public class StatusBarManager {
- method public android.app.StatusBarManager.DisableInfo getDisableInfo();
- method public void setDisabledForSetup(boolean);
+ method @NonNull @RequiresPermission(android.Manifest.permission.STATUS_BAR) public android.app.StatusBarManager.DisableInfo getDisableInfo();
+ method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void setDisabledForSetup(boolean);
}
public static final class StatusBarManager.DisableInfo {
- method public boolean areNoComponentsDisabled();
+ method public boolean areAllComponentsEnabled();
method public boolean isNavigateToHomeDisabled();
method public boolean isNotificationPeekingDisabled();
method public boolean isRecentsDisabled();
@@ -588,7 +588,7 @@
method public int getRemovedFlags();
method public int getWidth();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.Vr2dDisplayProperties> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.Vr2dDisplayProperties> CREATOR;
field public static final int FLAG_VIRTUAL_DISPLAY_ENABLED = 1; // 0x1
}
@@ -833,7 +833,7 @@
ctor public BackupProgress(long, long);
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.backup.BackupProgress> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.BackupProgress> CREATOR;
field public final long bytesExpected;
field public final long bytesTransferred;
}
@@ -891,7 +891,7 @@
method public int getDataType();
method public String getPackageName();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.backup.RestoreDescription> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.RestoreDescription> CREATOR;
field public static final android.app.backup.RestoreDescription NO_MORE_PACKAGES;
field public static final int TYPE_FULL_STREAM = 2; // 0x2
field public static final int TYPE_KEY_VALUE = 1; // 0x1
@@ -918,7 +918,7 @@
ctor public RestoreSet(String, String, long);
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.backup.RestoreSet> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.RestoreSet> CREATOR;
field public String device;
field public String name;
field public long token;
@@ -939,7 +939,7 @@
method @Nullable public android.os.Bundle getExtras();
method @NonNull public java.util.List<android.app.contentsuggestions.ContentSelection> getSelections();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ClassificationsRequest> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ClassificationsRequest> CREATOR;
}
public static final class ClassificationsRequest.Builder {
@@ -954,7 +954,7 @@
method @NonNull public android.os.Bundle getExtras();
method @NonNull public String getId();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ContentClassification> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ContentClassification> CREATOR;
}
public final class ContentSelection implements android.os.Parcelable {
@@ -963,7 +963,7 @@
method @NonNull public android.os.Bundle getExtras();
method @NonNull public String getId();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ContentSelection> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ContentSelection> CREATOR;
}
public final class ContentSuggestionsManager {
@@ -987,7 +987,7 @@
method @Nullable public android.graphics.Point getInterestPoint();
method public int getTaskId();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.contentsuggestions.SelectionsRequest> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.SelectionsRequest> CREATOR;
}
public static final class SelectionsRequest.Builder {
@@ -1016,7 +1016,7 @@
method public int getPredictedTargetCount();
method public String getUiSurface();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.prediction.AppPredictionContext> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppPredictionContext> CREATOR;
}
public static final class AppPredictionContext.Builder {
@@ -1034,7 +1034,7 @@
public final class AppPredictionSessionId implements android.os.Parcelable {
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.prediction.AppPredictionSessionId> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppPredictionSessionId> CREATOR;
}
public final class AppPredictor {
@@ -1062,7 +1062,7 @@
method @Nullable public android.content.pm.ShortcutInfo getShortcutInfo();
method @NonNull public android.os.UserHandle getUser();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.prediction.AppTarget> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTarget> CREATOR;
}
public final class AppTargetEvent implements android.os.Parcelable {
@@ -1074,7 +1074,7 @@
field public static final int ACTION_DISMISS = 2; // 0x2
field public static final int ACTION_LAUNCH = 1; // 0x1
field public static final int ACTION_PIN = 3; // 0x3
- field public static final android.os.Parcelable.Creator<android.app.prediction.AppTargetEvent> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTargetEvent> CREATOR;
}
public static final class AppTargetEvent.Builder {
@@ -1087,7 +1087,7 @@
ctor public AppTargetId(@NonNull String);
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.prediction.AppTargetId> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTargetId> CREATOR;
}
}
@@ -1130,7 +1130,7 @@
method public android.app.usage.UsageStats getUsageStats();
method public String getVolumeUuid();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.usage.CacheQuotaHint> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.usage.CacheQuotaHint> CREATOR;
field public static final long QUOTA_NOT_SET = -1L; // 0xffffffffffffffffL
}
@@ -1277,7 +1277,7 @@
method public int getOffset();
method public int getType();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.bluetooth.le.ResultStorageDescriptor> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ResultStorageDescriptor> CREATOR;
}
public final class ScanSettings implements android.os.Parcelable {
@@ -1445,7 +1445,7 @@
method public int describeContents();
method public boolean isEnabled();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.om.OverlayInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.om.OverlayInfo> CREATOR;
field public final String category;
field public final String packageName;
field public final String targetPackageName;
@@ -1484,7 +1484,7 @@
method @NonNull public android.graphics.drawable.Drawable loadIcon(@NonNull android.content.pm.PackageManager);
method @NonNull public CharSequence loadLabel(@NonNull android.content.pm.PackageManager);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.pm.InstantAppInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppInfo> CREATOR;
}
public final class InstantAppIntentFilter implements android.os.Parcelable {
@@ -1493,7 +1493,7 @@
method public java.util.List<android.content.IntentFilter> getFilters();
method public String getSplitName();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.pm.InstantAppIntentFilter> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppIntentFilter> CREATOR;
}
public final class InstantAppResolveInfo implements android.os.Parcelable {
@@ -1511,7 +1511,7 @@
method @Deprecated public int getVersionCode();
method public boolean shouldLetInstallerDecide();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.pm.InstantAppResolveInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppResolveInfo> CREATOR;
}
public static final class InstantAppResolveInfo.InstantAppDigest implements android.os.Parcelable {
@@ -1520,7 +1520,7 @@
method public byte[][] getDigestBytes();
method public int[] getDigestPrefix();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.pm.InstantAppResolveInfo.InstantAppDigest> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppResolveInfo.InstantAppDigest> CREATOR;
field public static final android.content.pm.InstantAppResolveInfo.InstantAppDigest UNDEFINED;
}
@@ -1530,7 +1530,7 @@
method public String getPackageName();
method public int getStatus();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.pm.IntentFilterVerificationInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.IntentFilterVerificationInfo> CREATOR;
}
public class PackageInstaller {
@@ -1728,13 +1728,13 @@
method public android.content.pm.ShortcutInfo getShortcutInfo();
method public android.content.ComponentName getTargetComponent();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.pm.ShortcutManager.ShareShortcutInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ShortcutManager.ShareShortcutInfo> CREATOR;
}
public final class SuspendDialogInfo implements android.os.Parcelable {
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.pm.SuspendDialogInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.SuspendDialogInfo> CREATOR;
}
public static final class SuspendDialogInfo.Builder {
@@ -1778,7 +1778,7 @@
method @Deprecated public boolean isGranted();
method @Deprecated public boolean isStandard();
method @Deprecated public void writeToParcel(android.os.Parcel, int);
- field @Deprecated public static final android.os.Parcelable.Creator<android.content.pm.permission.RuntimePermissionPresentationInfo> CREATOR;
+ field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.content.pm.permission.RuntimePermissionPresentationInfo> CREATOR;
}
}
@@ -1791,7 +1791,7 @@
method public android.content.pm.VersionedPackage getVersionRolledBackFrom();
method public android.content.pm.VersionedPackage getVersionRolledBackTo();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.rollback.PackageRollbackInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.rollback.PackageRollbackInfo> CREATOR;
}
public final class RollbackInfo implements android.os.Parcelable {
@@ -1802,7 +1802,7 @@
method public int getRollbackId();
method public boolean isStaged();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.rollback.RollbackInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.rollback.RollbackInfo> CREATOR;
}
public final class RollbackManager {
@@ -1872,13 +1872,13 @@
method public java.time.LocalDate getLocalDate();
method public float[] getStats();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.hardware.display.AmbientBrightnessDayStats> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.AmbientBrightnessDayStats> CREATOR;
}
public final class BrightnessChangeEvent implements android.os.Parcelable {
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessChangeEvent> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessChangeEvent> CREATOR;
field public final float batteryLevel;
field public final float brightness;
field public final long colorSampleDuration;
@@ -1901,17 +1901,17 @@
method @Nullable public android.hardware.display.BrightnessCorrection getCorrectionByPackageName(@NonNull String);
method public android.util.Pair<float[],float[]> getCurve();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessConfiguration> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessConfiguration> CREATOR;
}
public static class BrightnessConfiguration.Builder {
ctor public BrightnessConfiguration.Builder(float[], float[]);
- method public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByCategory(int, @NonNull android.hardware.display.BrightnessCorrection);
- method public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByPackageName(@NonNull String, @NonNull android.hardware.display.BrightnessCorrection);
- method public android.hardware.display.BrightnessConfiguration build();
+ method @NonNull public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByCategory(int, @NonNull android.hardware.display.BrightnessCorrection);
+ method @NonNull public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByPackageName(@NonNull String, @NonNull android.hardware.display.BrightnessCorrection);
+ method @NonNull public android.hardware.display.BrightnessConfiguration build();
method public int getMaxCorrectionsByCategory();
method public int getMaxCorrectionsByPackageName();
- method public android.hardware.display.BrightnessConfiguration.Builder setDescription(@Nullable String);
+ method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setDescription(@Nullable String);
}
public final class BrightnessCorrection implements android.os.Parcelable {
@@ -1919,7 +1919,7 @@
method @NonNull public static android.hardware.display.BrightnessCorrection createScaleAndTranslateLog(float, float);
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessCorrection> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessCorrection> CREATOR;
}
public final class ColorDisplayManager {
@@ -2096,7 +2096,7 @@
method public boolean isSourceType();
method public void writeToParcel(android.os.Parcel, int);
field public static final int ADDR_INTERNAL = 0; // 0x0
- field public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiDeviceInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiDeviceInfo> CREATOR;
field public static final int DEVICE_AUDIO_SYSTEM = 5; // 0x5
field public static final int DEVICE_INACTIVE = -1; // 0xffffffff
field public static final int DEVICE_PLAYBACK = 4; // 0x4
@@ -2116,7 +2116,7 @@
method public int getPort();
method public boolean isConnected();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiHotplugEvent> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiHotplugEvent> CREATOR;
}
public final class HdmiPlaybackClient extends android.hardware.hdmi.HdmiClient {
@@ -2144,7 +2144,7 @@
method public boolean isCecSupported();
method public boolean isMhlSupported();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiPortInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiPortInfo> CREATOR;
field public static final int PORT_INPUT = 0; // 0x0
field public static final int PORT_OUTPUT = 1; // 0x1
}
@@ -2307,7 +2307,7 @@
method public int getToolchainVersion();
method public String getVendor();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.hardware.location.ContextHubInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.ContextHubInfo> CREATOR;
}
public class ContextHubIntentEvent {
@@ -2368,7 +2368,7 @@
method @Deprecated public void setMsgType(int);
method @Deprecated public void setVersion(int);
method @Deprecated public void writeToParcel(android.os.Parcel, int);
- field @Deprecated public static final android.os.Parcelable.Creator<android.hardware.location.ContextHubMessage> CREATOR;
+ field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.ContextHubMessage> CREATOR;
}
public class ContextHubTransaction<T> {
@@ -2456,7 +2456,7 @@
method public int getMonitoringType();
method public int getSourceTechnologies();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.hardware.location.GeofenceHardwareMonitorEvent> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.GeofenceHardwareMonitorEvent> CREATOR;
}
public final class GeofenceHardwareRequest {
@@ -2486,7 +2486,7 @@
method public boolean isReadable();
method public boolean isWritable();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.hardware.location.MemoryRegion> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.MemoryRegion> CREATOR;
}
@Deprecated public class NanoApp implements android.os.Parcelable {
@@ -2515,7 +2515,7 @@
method @Deprecated public void setOutputEvents(int[]);
method @Deprecated public void setPublisher(String);
method @Deprecated public void writeToParcel(android.os.Parcel, int);
- field @Deprecated public static final android.os.Parcelable.Creator<android.hardware.location.NanoApp> CREATOR;
+ field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoApp> CREATOR;
}
public final class NanoAppBinary implements android.os.Parcelable {
@@ -2534,7 +2534,7 @@
method public boolean isEncrypted();
method public boolean isSigned();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppBinary> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppBinary> CREATOR;
}
@Deprecated public class NanoAppFilter implements android.os.Parcelable {
@@ -2543,7 +2543,7 @@
method @Deprecated public boolean testMatch(android.hardware.location.NanoAppInstanceInfo);
method @Deprecated public void writeToParcel(android.os.Parcel, int);
field @Deprecated public static final int APP_ANY = -1; // 0xffffffff
- field @Deprecated public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppFilter> CREATOR;
+ field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppFilter> CREATOR;
field @Deprecated public static final int FLAGS_VERSION_ANY = -1; // 0xffffffff
field @Deprecated public static final int FLAGS_VERSION_GREAT_THAN = 2; // 0x2
field @Deprecated public static final int FLAGS_VERSION_LESS_THAN = 4; // 0x4
@@ -2567,7 +2567,7 @@
method @Deprecated @NonNull public int[] getOutputEvents();
method @Deprecated public String getPublisher();
method @Deprecated public void writeToParcel(android.os.Parcel, int);
- field @Deprecated public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppInstanceInfo> CREATOR;
+ field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppInstanceInfo> CREATOR;
}
public final class NanoAppMessage implements android.os.Parcelable {
@@ -2579,7 +2579,7 @@
method public long getNanoAppId();
method public boolean isBroadcastMessage();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppMessage> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppMessage> CREATOR;
}
public final class NanoAppState implements android.os.Parcelable {
@@ -2589,7 +2589,7 @@
method public long getNanoAppVersion();
method public boolean isEnabled();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppState> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppState> CREATOR;
}
}
@@ -2602,7 +2602,7 @@
method public int getType();
method @NonNull public java.util.Map<java.lang.String,java.lang.String> getVendorInfo();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.hardware.radio.Announcement> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.Announcement> CREATOR;
field public static final int TYPE_EMERGENCY = 1; // 0x1
field public static final int TYPE_EVENT = 6; // 0x6
field public static final int TYPE_MISC = 8; // 0x8
@@ -2637,7 +2637,7 @@
method @NonNull public java.util.Set<java.lang.Integer> getIdentifierTypes();
method @NonNull public java.util.Set<android.hardware.radio.ProgramSelector.Identifier> getIdentifiers();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramList.Filter> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramList.Filter> CREATOR;
}
public abstract static class ProgramList.ListCallback {
@@ -2663,7 +2663,7 @@
method @Deprecated @NonNull public long[] getVendorIds();
method @NonNull public android.hardware.radio.ProgramSelector withSecondaryPreferred(@NonNull android.hardware.radio.ProgramSelector.Identifier);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramSelector> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramSelector> CREATOR;
field public static final int IDENTIFIER_TYPE_AMFM_FREQUENCY = 1; // 0x1
field public static final int IDENTIFIER_TYPE_DAB_ENSEMBLE = 6; // 0x6
field public static final int IDENTIFIER_TYPE_DAB_FREQUENCY = 8; // 0x8
@@ -2702,7 +2702,7 @@
method @android.hardware.radio.ProgramSelector.IdentifierType public int getType();
method public long getValue();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramSelector.Identifier> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramSelector.Identifier> CREATOR;
}
@IntDef(prefix={"IDENTIFIER_TYPE_"}, value={android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_INVALID, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_AMFM_FREQUENCY, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_RDS_PI, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_HD_STATION_ID_EXT, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_HD_SUBCHANNEL, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_HD_STATION_NAME, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DAB_SID_EXT, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DAB_SIDECC, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DAB_ENSEMBLE, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DAB_SCID, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DAB_FREQUENCY, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DRMO_SERVICE_ID, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DRMO_FREQUENCY, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DRMO_MODULATION, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_SXM_SERVICE_ID, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_SXM_CHANNEL}) @IntRange(from=android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_VENDOR_START, to=android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_VENDOR_END) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface ProgramSelector.IdentifierType {
@@ -2751,7 +2751,7 @@
public static class RadioManager.AmBandConfig extends android.hardware.radio.RadioManager.BandConfig {
method public boolean getStereo();
- field public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.AmBandConfig> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.AmBandConfig> CREATOR;
}
public static class RadioManager.AmBandConfig.Builder {
@@ -2763,7 +2763,7 @@
public static class RadioManager.AmBandDescriptor extends android.hardware.radio.RadioManager.BandDescriptor {
method public boolean isStereoSupported();
- field public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.AmBandDescriptor> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.AmBandDescriptor> CREATOR;
}
@IntDef(prefix={"BAND_"}, value={android.hardware.radio.RadioManager.BAND_INVALID, android.hardware.radio.RadioManager.BAND_AM, android.hardware.radio.RadioManager.BAND_FM, android.hardware.radio.RadioManager.BAND_AM_HD, android.hardware.radio.RadioManager.BAND_FM_HD}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface RadioManager.Band {
@@ -2777,7 +2777,7 @@
method public int getType();
method public int getUpperLimit();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.BandConfig> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.BandConfig> CREATOR;
}
public static class RadioManager.BandDescriptor implements android.os.Parcelable {
@@ -2790,7 +2790,7 @@
method public boolean isAmBand();
method public boolean isFmBand();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.BandDescriptor> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.BandDescriptor> CREATOR;
}
public static class RadioManager.FmBandConfig extends android.hardware.radio.RadioManager.BandConfig {
@@ -2799,7 +2799,7 @@
method public boolean getRds();
method public boolean getStereo();
method public boolean getTa();
- field public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.FmBandConfig> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.FmBandConfig> CREATOR;
}
public static class RadioManager.FmBandConfig.Builder {
@@ -2819,7 +2819,7 @@
method public boolean isRdsSupported();
method public boolean isStereoSupported();
method public boolean isTaSupported();
- field public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.FmBandDescriptor> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.FmBandDescriptor> CREATOR;
}
public static class RadioManager.ModuleProperties implements android.os.Parcelable {
@@ -2842,7 +2842,7 @@
method public boolean isProgramIdentifierSupported(@android.hardware.radio.ProgramSelector.IdentifierType int);
method public boolean isProgramTypeSupported(@android.hardware.radio.ProgramSelector.ProgramType int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.ModuleProperties> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.ModuleProperties> CREATOR;
}
public static class RadioManager.ProgramInfo implements android.os.Parcelable {
@@ -2864,7 +2864,7 @@
method public boolean isTrafficProgram();
method public boolean isTuned();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.ProgramInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.ProgramInfo> CREATOR;
}
public final class RadioMetadata implements android.os.Parcelable {
@@ -2877,7 +2877,7 @@
method public java.util.Set<java.lang.String> keySet();
method public int size();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.hardware.radio.RadioMetadata> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioMetadata> CREATOR;
field public static final String METADATA_KEY_ALBUM = "android.hardware.radio.metadata.ALBUM";
field public static final String METADATA_KEY_ART = "android.hardware.radio.metadata.ART";
field public static final String METADATA_KEY_ARTIST = "android.hardware.radio.metadata.ARTIST";
@@ -2915,7 +2915,7 @@
method public int getTimezoneOffsetMinutes();
method public long getUtcEpochSeconds();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.hardware.radio.RadioMetadata.Clock> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioMetadata.Clock> CREATOR;
}
public abstract class RadioTuner {
@@ -3015,7 +3015,7 @@
method public boolean isConnected();
method public boolean isRoleCombinationSupported(int, int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.hardware.usb.UsbPortStatus> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.usb.UsbPortStatus> CREATOR;
field public static final int DATA_ROLE_DEVICE = 2; // 0x2
field public static final int DATA_ROLE_HOST = 1; // 0x1
field public static final int DATA_ROLE_NONE = 0; // 0x0
@@ -3048,7 +3048,7 @@
method public long getToaGpsNanosecondsOfWeek();
method public double getVerticalPositionUncertaintyMeters();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.location.GnssMeasurementCorrections> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssMeasurementCorrections> CREATOR;
}
public static final class GnssMeasurementCorrections.Builder {
@@ -3070,7 +3070,7 @@
method public double getLatitudeDegrees();
method public double getLongitudeDegrees();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.location.GnssReflectingPlane> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssReflectingPlane> CREATOR;
}
public static final class GnssReflectingPlane.Builder {
@@ -3097,7 +3097,7 @@
method public boolean hasReflectingPlane();
method public boolean hasValidSatelliteLineOfSight();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.location.GnssSingleSatCorrection> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssSingleSatCorrection> CREATOR;
field public static final int HAS_EXCESS_PATH_LENGTH_MASK = 2; // 0x2
field public static final int HAS_EXCESS_PATH_LENGTH_UNC_MASK = 4; // 0x4
field public static final int HAS_PROB_SAT_IS_LOS_MASK = 1; // 0x1
@@ -3154,7 +3154,7 @@
method public void setTimeUncertaintyInNs(double);
method public void setType(byte);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.location.GpsClock> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.location.GpsClock> CREATOR;
field public static final byte TYPE_GPS_TIME = 2; // 0x2
field public static final byte TYPE_LOCAL_HW_TIME = 1; // 0x1
field public static final byte TYPE_UNKNOWN = 0; // 0x0
@@ -3266,7 +3266,7 @@
field public static final short ADR_STATE_RESET = 2; // 0x2
field public static final short ADR_STATE_UNKNOWN = 0; // 0x0
field public static final short ADR_STATE_VALID = 1; // 0x1
- field public static final android.os.Parcelable.Creator<android.location.GpsMeasurement> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.location.GpsMeasurement> CREATOR;
field public static final byte LOSS_OF_LOCK_CYCLE_SLIP = 2; // 0x2
field public static final byte LOSS_OF_LOCK_OK = 1; // 0x1
field public static final byte LOSS_OF_LOCK_UNKNOWN = 0; // 0x0
@@ -3287,7 +3287,7 @@
method @NonNull public android.location.GpsClock getClock();
method @NonNull public java.util.Collection<android.location.GpsMeasurement> getMeasurements();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.location.GpsMeasurementsEvent> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.location.GpsMeasurementsEvent> CREATOR;
field public static final int STATUS_GPS_LOCATION_DISABLED = 2; // 0x2
field public static final int STATUS_NOT_SUPPORTED = 0; // 0x0
field public static final int STATUS_READY = 1; // 0x1
@@ -3315,7 +3315,7 @@
method public void setSubmessageId(short);
method public void setType(byte);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.location.GpsNavigationMessage> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.location.GpsNavigationMessage> CREATOR;
field public static final short STATUS_PARITY_PASSED = 1; // 0x1
field public static final short STATUS_PARITY_REBUILT = 2; // 0x2
field public static final short STATUS_UNKNOWN = 0; // 0x0
@@ -3331,7 +3331,7 @@
method public int describeContents();
method @NonNull public android.location.GpsNavigationMessage getNavigationMessage();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.location.GpsNavigationMessageEvent> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.location.GpsNavigationMessageEvent> CREATOR;
field public static int STATUS_GPS_LOCATION_DISABLED;
field public static int STATUS_NOT_SUPPORTED;
field public static int STATUS_READY;
@@ -3404,7 +3404,7 @@
field public static final int ACCURACY_BLOCK = 102; // 0x66
field public static final int ACCURACY_CITY = 104; // 0x68
field public static final int ACCURACY_FINE = 100; // 0x64
- field public static final android.os.Parcelable.Creator<android.location.LocationRequest> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.location.LocationRequest> CREATOR;
field public static final int POWER_HIGH = 203; // 0xcb
field public static final int POWER_LOW = 201; // 0xc9
field public static final int POWER_NONE = 200; // 0xc8
@@ -3440,7 +3440,7 @@
method public int getLossReceived();
method @NonNull public String getPackageName();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.media.AudioFocusInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioFocusInfo> CREATOR;
}
public final class AudioFocusRequest {
@@ -3666,7 +3666,7 @@
method public java.util.Iterator<android.media.audiopolicy.AudioProductStrategy> iterator();
method public int size();
method public void writeToParcel(@NonNull android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.media.audiopolicy.AudioProductStrategies> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.media.audiopolicy.AudioProductStrategies> CREATOR;
}
public final class AudioProductStrategy implements android.os.Parcelable {
@@ -3675,7 +3675,7 @@
method public int getId();
method @NonNull public String name();
method public void writeToParcel(@NonNull android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.media.audiopolicy.AudioProductStrategy> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.media.audiopolicy.AudioProductStrategy> CREATOR;
}
public final class AudioVolumeGroup implements android.os.Parcelable {
@@ -3831,7 +3831,7 @@
field public static final int CABLE_CONNECTION_STATUS_CONNECTED = 1; // 0x1
field public static final int CABLE_CONNECTION_STATUS_DISCONNECTED = 2; // 0x2
field public static final int CABLE_CONNECTION_STATUS_UNKNOWN = 0; // 0x0
- field public static final android.os.Parcelable.Creator<android.media.tv.TvInputHardwareInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TvInputHardwareInfo> CREATOR;
field public static final int TV_INPUT_TYPE_COMPONENT = 6; // 0x6
field public static final int TV_INPUT_TYPE_COMPOSITE = 3; // 0x3
field public static final int TV_INPUT_TYPE_DISPLAY_PORT = 10; // 0xa
@@ -3939,7 +3939,7 @@
method public int getStreamId();
method public int getType();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.media.tv.TvStreamConfig> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TvStreamConfig> CREATOR;
field public static final int STREAM_TYPE_BUFFER_PRODUCER = 2; // 0x2
field public static final int STREAM_TYPE_INDEPENDENT_VIDEO_SOURCE = 1; // 0x1
}
@@ -4136,7 +4136,7 @@
ctor public NetworkKey(android.net.WifiKey);
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.NetworkKey> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkKey> CREATOR;
field public static final int TYPE_WIFI = 1; // 0x1
field public final int type;
field public final android.net.WifiKey wifiKey;
@@ -4187,7 +4187,7 @@
method public byte lookupScore(int);
method public byte lookupScore(int, boolean);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.RssiCurve> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.RssiCurve> CREATOR;
field public final int activeNetworkRssiBoost;
field public final int bucketWidth;
field public final byte[] rssiBuckets;
@@ -4204,7 +4204,7 @@
field public static final String ATTRIBUTES_KEY_BADGING_CURVE = "android.net.attributes.key.BADGING_CURVE";
field public static final String ATTRIBUTES_KEY_HAS_CAPTIVE_PORTAL = "android.net.attributes.key.HAS_CAPTIVE_PORTAL";
field public static final String ATTRIBUTES_KEY_RANKING_SCORE_OFFSET = "android.net.attributes.key.RANKING_SCORE_OFFSET";
- field public static final android.os.Parcelable.Creator<android.net.ScoredNetwork> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.ScoredNetwork> CREATOR;
field @Nullable public final android.os.Bundle attributes;
field public final boolean meteredHint;
field public final android.net.NetworkKey networkKey;
@@ -4226,7 +4226,7 @@
method public void setGateway(java.net.InetAddress);
method public void setIpAddress(android.net.LinkAddress);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.StaticIpConfiguration> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.StaticIpConfiguration> CREATOR;
}
public class TrafficStats {
@@ -4250,7 +4250,7 @@
ctor public WifiKey(String, String);
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.WifiKey> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.WifiKey> CREATOR;
field public final String bssid;
field public final String ssid;
}
@@ -4593,7 +4593,7 @@
ctor @Deprecated public RttManager.ResponderConfig();
method @Deprecated public int describeContents();
method @Deprecated public void writeToParcel(android.os.Parcel, int);
- field @Deprecated public static final android.os.Parcelable.Creator<android.net.wifi.RttManager.ResponderConfig> CREATOR;
+ field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.RttManager.ResponderConfig> CREATOR;
field @Deprecated public int centerFreq0;
field @Deprecated public int centerFreq1;
field @Deprecated public int channelWidth;
@@ -4787,7 +4787,7 @@
ctor public WifiNetworkConnectionStatistics(android.net.wifi.WifiNetworkConnectionStatistics);
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.wifi.WifiNetworkConnectionStatistics> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiNetworkConnectionStatistics> CREATOR;
field public int numConnection;
field public int numUsage;
}
@@ -4914,7 +4914,7 @@
public final class WifiUsabilityStatsEntry implements android.os.Parcelable {
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry> CREATOR;
field public static final int PROBE_STATUS_FAILURE = 3; // 0x3
field public static final int PROBE_STATUS_NO_PROBE = 1; // 0x1
field public static final int PROBE_STATUS_SUCCESS = 2; // 0x2
@@ -4969,7 +4969,7 @@
method public String getFriendlyName();
method public android.net.Uri getServerUri();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.OsuProvider> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.OsuProvider> CREATOR;
}
public abstract class ProvisioningCallback {
@@ -5039,7 +5039,7 @@
field public static final int CHANNEL_WIDTH_40MHZ = 1; // 0x1
field public static final int CHANNEL_WIDTH_80MHZ = 2; // 0x2
field public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 4; // 0x4
- field public static final android.os.Parcelable.Creator<android.net.wifi.rtt.ResponderConfig> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.ResponderConfig> CREATOR;
field public static final int PREAMBLE_HT = 1; // 0x1
field public static final int PREAMBLE_LEGACY = 0; // 0x0
field public static final int PREAMBLE_VHT = 2; // 0x2
@@ -5121,7 +5121,7 @@
method public boolean getForceBackgroundCheck();
method public int getLocationMode();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.os.BatterySaverPolicyConfig> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.os.BatterySaverPolicyConfig> CREATOR;
}
public static final class BatterySaverPolicyConfig.Builder {
@@ -5210,11 +5210,11 @@
}
public class Environment {
- method public static java.io.File getOdmDirectory();
- method public static java.io.File getOemDirectory();
- method public static java.io.File getProductDirectory();
- method public static java.io.File getProductServicesDirectory();
- method public static java.io.File getVendorDirectory();
+ method @NonNull public static java.io.File getOdmDirectory();
+ method @NonNull public static java.io.File getOemDirectory();
+ method @NonNull public static java.io.File getProductDirectory();
+ method @NonNull public static java.io.File getProductServicesDirectory();
+ method @NonNull public static java.io.File getVendorDirectory();
}
public class HidlSupport {
@@ -5382,7 +5382,7 @@
method public long getPrivacyPolicy();
method public long getTimestamp();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.os.IncidentManager.IncidentReport> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.os.IncidentManager.IncidentReport> CREATOR;
}
public static class IncidentManager.PendingReport {
@@ -5406,7 +5406,7 @@
method public void setAll(boolean);
method public void setPrivacyPolicy(int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.os.IncidentReportArgs> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.os.IncidentReportArgs> CREATOR;
}
public final class LocaleList implements android.os.Parcelable {
@@ -5460,7 +5460,7 @@
method public int describeContents();
method public void sendResult(@Nullable android.os.Bundle);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.os.RemoteCallback> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.os.RemoteCallback> CREATOR;
}
public static interface RemoteCallback.OnResultListener {
@@ -5486,7 +5486,7 @@
method public boolean isValueType(int);
method public void writeToParcel(android.os.Parcel, int);
field public static final int BOOLEAN_VALUE_TYPE = 5; // 0x5
- field public static final android.os.Parcelable.Creator<android.os.StatsDimensionsValue> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.os.StatsDimensionsValue> CREATOR;
field public static final int FLOAT_VALUE_TYPE = 6; // 0x6
field public static final int INT_VALUE_TYPE = 3; // 0x3
field public static final int LONG_VALUE_TYPE = 4; // 0x4
@@ -5615,7 +5615,7 @@
method public android.os.UserHandle getUserHandle();
method @android.os.UserManager.UserRestrictionSource public int getUserRestrictionSource();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.os.UserManager.EnforcingUser> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.os.UserManager.EnforcingUser> CREATOR;
}
@IntDef(flag=true, prefix={"RESTRICTION_"}, value={android.os.UserManager.RESTRICTION_NOT_SET, android.os.UserManager.RESTRICTION_SOURCE_SYSTEM, android.os.UserManager.RESTRICTION_SOURCE_DEVICE_OWNER, android.os.UserManager.RESTRICTION_SOURCE_PROFILE_OWNER}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface UserManager.UserRestrictionSource {
@@ -5632,7 +5632,7 @@
method public String getAttributionTag();
method public int getAttributionUid();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.os.WorkSource.WorkChain> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.os.WorkSource.WorkChain> CREATOR;
}
}
@@ -5698,7 +5698,7 @@
method public boolean isGranted();
method public boolean isStandard();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.permission.RuntimePermissionPresentationInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.permission.RuntimePermissionPresentationInfo> CREATOR;
}
public final class RuntimePermissionUsageInfo implements android.os.Parcelable {
@@ -5707,7 +5707,7 @@
method public int getAppAccessCount();
method @NonNull public CharSequence getName();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.permission.RuntimePermissionUsageInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.permission.RuntimePermissionUsageInfo> CREATOR;
}
}
@@ -5761,7 +5761,7 @@
method public int describeContents();
method @NonNull public android.content.ComponentName getComponentName();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.printservice.PrintServiceInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.printservice.PrintServiceInfo> CREATOR;
}
}
@@ -5778,7 +5778,7 @@
method public CharSequence getPackageName();
method public boolean recommendsMultiVendorService();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.printservice.recommendation.RecommendationInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.printservice.recommendation.RecommendationInfo> CREATOR;
}
public abstract class RecommendationService extends android.app.Service {
@@ -5826,10 +5826,16 @@
public final class DeviceConfig {
method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static void addOnPropertyChangedListener(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.provider.DeviceConfig.OnPropertyChangedListener);
+ method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static boolean getBoolean(String, String, boolean);
+ method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static float getFloat(String, String, float);
+ method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static int getInt(String, String, int);
+ method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static long getLong(String, String, long);
method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static String getProperty(String, String);
+ method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static String getString(String, String, String);
method public static void removeOnPropertyChangedListener(android.provider.DeviceConfig.OnPropertyChangedListener);
method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static void resetToDefaults(int, @Nullable String);
method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static boolean setProperty(String, String, String, boolean);
+ field public static final String NAMESPACE_ACTIVITY_MANAGER = "activity_manager";
field public static final String NAMESPACE_AUTOFILL = "autofill";
field public static final String NAMESPACE_CONTENT_CAPTURE = "content_capture";
field public static final String NAMESPACE_GAME_DRIVER = "game_driver";
@@ -5838,19 +5844,6 @@
field public static final String NAMESPACE_SYSTEMUI = "systemui";
}
- public static interface DeviceConfig.ActivityManager {
- field public static final String KEY_COMPACT_ACTION_1 = "compact_action_1";
- field public static final String KEY_COMPACT_ACTION_2 = "compact_action_2";
- field public static final String KEY_COMPACT_STATSD_SAMPLE_RATE = "compact_statsd_sample_rate";
- field public static final String KEY_COMPACT_THROTTLE_1 = "compact_throttle_1";
- field public static final String KEY_COMPACT_THROTTLE_2 = "compact_throttle_2";
- field public static final String KEY_COMPACT_THROTTLE_3 = "compact_throttle_3";
- field public static final String KEY_COMPACT_THROTTLE_4 = "compact_throttle_4";
- field public static final String KEY_MAX_CACHED_PROCESSES = "max_cached_processes";
- field public static final String KEY_USE_COMPACTION = "use_compaction";
- field public static final String NAMESPACE = "activity_manager";
- }
-
public static interface DeviceConfig.ActivityManagerNativeBoot {
field public static final String NAMESPACE = "activity_manager_native_boot";
field public static final String OFFLOAD_QUEUE_ENABLED = "offload_queue_enabled";
@@ -6211,7 +6204,7 @@
method @NonNull public byte[] getSecret();
method public int getUserSecretType();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyChainProtectionParams> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyChainProtectionParams> CREATOR;
field public static final int TYPE_LOCKSCREEN = 100; // 0x64
field public static final int UI_FORMAT_PASSWORD = 2; // 0x2
field public static final int UI_FORMAT_PATTERN = 3; // 0x3
@@ -6238,7 +6231,7 @@
method @NonNull public java.security.cert.CertPath getTrustedHardwareCertPath();
method @NonNull public java.util.List<android.security.keystore.recovery.WrappedApplicationKey> getWrappedApplicationKeys();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyChainSnapshot> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyChainSnapshot> CREATOR;
}
public final class KeyDerivationParams implements android.os.Parcelable {
@@ -6251,7 +6244,7 @@
method public void writeToParcel(android.os.Parcel, int);
field public static final int ALGORITHM_SCRYPT = 2; // 0x2
field public static final int ALGORITHM_SHA256 = 1; // 0x1
- field public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyDerivationParams> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyDerivationParams> CREATOR;
}
public class LockScreenRequiredException extends java.security.GeneralSecurityException {
@@ -6299,7 +6292,7 @@
method @NonNull public byte[] getEncryptedKeyMaterial();
method @Nullable public byte[] getMetadata();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.security.keystore.recovery.WrappedApplicationKey> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.WrappedApplicationKey> CREATOR;
}
public static class WrappedApplicationKey.Builder {
@@ -6400,9 +6393,8 @@
public static final class FillResponse.Builder {
ctor public FillResponse.Builder();
- method public android.service.autofill.augmented.FillResponse build();
- method public android.service.autofill.augmented.FillResponse.Builder setFillWindow(@NonNull android.service.autofill.augmented.FillWindow);
- method public android.service.autofill.augmented.FillResponse.Builder setIgnoredIds(@NonNull java.util.List<android.view.autofill.AutofillId>);
+ method @NonNull public android.service.autofill.augmented.FillResponse build();
+ method @NonNull public android.service.autofill.augmented.FillResponse.Builder setFillWindow(@NonNull android.service.autofill.augmented.FillWindow);
}
public final class FillWindow implements java.lang.AutoCloseable {
@@ -6450,11 +6442,11 @@
public final class SnapshotData implements android.os.Parcelable {
method public int describeContents();
- method public android.app.assist.AssistContent getAssistContent();
- method public android.os.Bundle getAssistData();
- method public android.app.assist.AssistStructure getAssistStructure();
+ method @Nullable public android.app.assist.AssistContent getAssistContent();
+ method @NonNull public android.os.Bundle getAssistData();
+ method @NonNull public android.app.assist.AssistStructure getAssistStructure();
method public void writeToParcel(@NonNull android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.contentcapture.SnapshotData> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.contentcapture.SnapshotData> CREATOR;
}
}
@@ -6481,7 +6473,7 @@
method public int getResolvableErrors();
method public int getResult();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.euicc.DownloadSubscriptionResult> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.DownloadSubscriptionResult> CREATOR;
}
public final class EuiccProfileInfo implements android.os.Parcelable {
@@ -6498,7 +6490,7 @@
method public boolean hasPolicyRule(@android.service.euicc.EuiccProfileInfo.PolicyRule int);
method public boolean hasPolicyRules();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.euicc.EuiccProfileInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.EuiccProfileInfo> CREATOR;
field public static final int POLICY_RULE_DELETE_AFTER_DISABLING = 4; // 0x4
field public static final int POLICY_RULE_DO_NOT_DELETE = 2; // 0x2
field public static final int POLICY_RULE_DO_NOT_DISABLE = 1; // 0x1
@@ -6589,7 +6581,7 @@
method @Nullable public java.util.List<android.telephony.euicc.DownloadableSubscription> getDownloadableSubscriptions();
method public int getResult();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.euicc.GetDefaultDownloadableSubscriptionListResult> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.GetDefaultDownloadableSubscriptionListResult> CREATOR;
}
public final class GetDownloadableSubscriptionMetadataResult implements android.os.Parcelable {
@@ -6598,7 +6590,7 @@
method @Nullable public android.telephony.euicc.DownloadableSubscription getDownloadableSubscription();
method public int getResult();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.euicc.GetDownloadableSubscriptionMetadataResult> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.GetDownloadableSubscriptionMetadataResult> CREATOR;
}
public final class GetEuiccProfileInfoListResult implements android.os.Parcelable {
@@ -6608,7 +6600,7 @@
method @Nullable public java.util.List<android.service.euicc.EuiccProfileInfo> getProfiles();
method public int getResult();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.euicc.GetEuiccProfileInfoListResult> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.GetEuiccProfileInfoListResult> CREATOR;
}
}
@@ -6634,7 +6626,7 @@
method public CharSequence getExplanation();
method public String getId();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.notification.SnoozeCriterion> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.SnoozeCriterion> CREATOR;
}
}
@@ -6706,7 +6698,7 @@
method public void setSelectProbability(float);
method public void setTimeSpentScore(float);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.resolver.ResolverTarget> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.resolver.ResolverTarget> CREATOR;
}
}
@@ -6722,7 +6714,7 @@
method public CharSequence getSummary();
method public CharSequence getTitle();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.settings.suggestions.Suggestion> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.settings.suggestions.Suggestion> CREATOR;
field public static final int FLAG_HAS_BUTTON = 1; // 0x1
}
@@ -6836,7 +6828,7 @@
method @Deprecated public int getSupportedRouteMask();
method @Deprecated public boolean isMuted();
method @Deprecated public void writeToParcel(android.os.Parcel, int);
- field @Deprecated public static final android.os.Parcelable.Creator<android.telecom.AudioState> CREATOR;
+ field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.telecom.AudioState> CREATOR;
field @Deprecated public static final int ROUTE_BLUETOOTH = 2; // 0x2
field @Deprecated public static final int ROUTE_EARPIECE = 1; // 0x1
field @Deprecated public static final int ROUTE_SPEAKER = 8; // 0x8
@@ -6894,7 +6886,7 @@
field public static final int CALLTYPE_OUTGOING = 2; // 0x2
field public static final int CALLTYPE_UNKNOWN = 0; // 0x0
field public static final int CDMA_PHONE = 1; // 0x1
- field public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics> CREATOR;
field public static final int GSM_PHONE = 2; // 0x2
field public static final int IMS_PHONE = 4; // 0x4
field public static final long MILLIS_IN_1_SECOND = 1000L; // 0x3e8L
@@ -6918,7 +6910,7 @@
field public static final int BLOCK_CHECK_FINISHED = 105; // 0x69
field public static final int BLOCK_CHECK_INITIATED = 104; // 0x68
field public static final int CONFERENCE_WITH = 300; // 0x12c
- field public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics.AnalyticsEvent> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics.AnalyticsEvent> CREATOR;
field public static final int CS_BOUND = 6; // 0x6
field public static final int DIRECT_TO_VM_FINISHED = 103; // 0x67
field public static final int DIRECT_TO_VM_INITIATED = 102; // 0x66
@@ -6958,7 +6950,7 @@
field public static final int ACCEPT_TIMING = 0; // 0x0
field public static final int BIND_CS_TIMING = 6; // 0x6
field public static final int BLOCK_CHECK_FINISHED_TIMING = 9; // 0x9
- field public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics.EventTiming> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics.EventTiming> CREATOR;
field public static final int DIRECT_TO_VM_FINISHED_TIMING = 8; // 0x8
field public static final int DISCONNECT_TIMING = 2; // 0x2
field public static final int FILTERING_COMPLETED_TIMING = 10; // 0xa
@@ -7031,7 +7023,7 @@
method public java.util.List<android.telecom.ParcelableCallAnalytics> getCallAnalytics();
method public java.util.List<android.telecom.TelecomAnalytics.SessionTiming> getSessionTimings();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telecom.TelecomAnalytics> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telecom.TelecomAnalytics> CREATOR;
}
public static final class TelecomAnalytics.SessionTiming implements android.os.Parcelable {
@@ -7040,7 +7032,7 @@
method public Integer getKey();
method public long getTime();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telecom.TelecomAnalytics.SessionTiming> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telecom.TelecomAnalytics.SessionTiming> CREATOR;
field public static final int CSW_ADD_CONFERENCE_CALL = 108; // 0x6c
field public static final int CSW_HANDLE_CREATE_CONNECTION_COMPLETE = 100; // 0x64
field public static final int CSW_REMOVE_CALL = 106; // 0x6a
@@ -7105,7 +7097,7 @@
method public int getNetworkType();
method public android.telephony.PreciseCallState getPreciseCallState();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.CallAttributes> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallAttributes> CREATOR;
}
public final class CallQuality implements android.os.Parcelable {
@@ -7129,7 +7121,7 @@
field public static final int CALL_QUALITY_GOOD = 1; // 0x1
field public static final int CALL_QUALITY_NOT_AVAILABLE = 5; // 0x5
field public static final int CALL_QUALITY_POOR = 3; // 0x3
- field public static final android.os.Parcelable.Creator<android.telephony.CallQuality> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallQuality> CREATOR;
}
public class CarrierConfigManager {
@@ -7150,7 +7142,7 @@
method public void writeToParcel(android.os.Parcel, int);
field public static final int CARRIER_RESTRICTION_DEFAULT_ALLOWED = 1; // 0x1
field public static final int CARRIER_RESTRICTION_DEFAULT_NOT_ALLOWED = 0; // 0x0
- field public static final android.os.Parcelable.Creator<android.telephony.CarrierRestrictionRules> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CarrierRestrictionRules> CREATOR;
field public static final int MULTISIM_POLICY_NONE = 0; // 0x0
field public static final int MULTISIM_POLICY_ONE_VALID_SIM_MUST_BE_PRESENT = 1; // 0x1
}
@@ -7511,7 +7503,7 @@
method public int describeContents();
method @NonNull public android.telephony.LteVopsSupportInfo getLteVopsSupportInfo();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.DataSpecificRegistrationStates> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.DataSpecificRegistrationStates> CREATOR;
}
public final class DisconnectCause {
@@ -7597,7 +7589,7 @@
method public int getEmcBearerSupport();
method public int getVopsSupport();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.LteVopsSupportInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.LteVopsSupportInfo> CREATOR;
field public static final int LTE_STATUS_NOT_AVAILABLE = 1; // 0x1
field public static final int LTE_STATUS_NOT_SUPPORTED = 3; // 0x3
field public static final int LTE_STATUS_SUPPORTED = 2; // 0x2
@@ -7631,7 +7623,7 @@
method public boolean isEmergencyEnabled();
method public boolean isRoaming();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.NetworkRegistrationState> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.NetworkRegistrationState> CREATOR;
field public static final int DOMAIN_CS = 1; // 0x1
field public static final int DOMAIN_PS = 2; // 0x2
field public static final int REG_STATE_DENIED = 3; // 0x3
@@ -7688,7 +7680,7 @@
method public int describeContents();
method public boolean matches(String);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.PhoneNumberRange> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PhoneNumberRange> CREATOR;
}
public class PhoneStateListener {
@@ -7696,7 +7688,7 @@
method @RequiresPermission("android.permission.READ_PRECISE_PHONE_STATE") public void onCallDisconnectCauseChanged(int, int);
method @RequiresPermission("android.permission.READ_PRECISE_PHONE_STATE") public void onImsCallDisconnectCauseChanged(@NonNull android.telephony.ims.ImsReasonInfo);
method @RequiresPermission("android.permission.READ_PRECISE_PHONE_STATE") public void onPreciseCallStateChanged(@NonNull android.telephony.PreciseCallState);
- method @RequiresPermission("android.permission.READ_PRECISE_PHONE_STATE") public void onPreciseDataConnectionStateChanged(android.telephony.PreciseDataConnectionState);
+ method @RequiresPermission("android.permission.READ_PRECISE_PHONE_STATE") public void onPreciseDataConnectionStateChanged(@NonNull android.telephony.PreciseDataConnectionState);
method public void onRadioPowerStateChanged(int);
method public void onSrvccStateChanged(int);
method public void onVoiceActivationStateChanged(int);
@@ -7716,7 +7708,7 @@
method public int getForegroundCallState();
method public int getRingingCallState();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.PreciseCallState> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PreciseCallState> CREATOR;
field public static final int PRECISE_CALL_STATE_ACTIVE = 1; // 0x1
field public static final int PRECISE_CALL_STATE_ALERTING = 4; // 0x4
field public static final int PRECISE_CALL_STATE_DIALING = 3; // 0x3
@@ -7731,12 +7723,12 @@
public final class PreciseDataConnectionState implements android.os.Parcelable {
method public int describeContents();
- method public String getDataConnectionApn();
+ method @Nullable public String getDataConnectionApn();
method public int getDataConnectionApnTypeBitMask();
method public int getDataConnectionFailCause();
method public int getDataConnectionState();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.PreciseDataConnectionState> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PreciseDataConnectionState> CREATOR;
}
public final class PreciseDisconnectCause {
@@ -7886,17 +7878,17 @@
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultSmsSubId(int);
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setPreferredDataSubscriptionId(int, boolean, @NonNull java.util.concurrent.Executor, java.util.function.Consumer<java.lang.Integer>);
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setSubscriptionEnabled(int, boolean);
- field public static final android.net.Uri ADVANCED_CALLING_ENABLED_CONTENT_URI;
+ field @NonNull public static final android.net.Uri ADVANCED_CALLING_ENABLED_CONTENT_URI;
field public static final int PROFILE_CLASS_DEFAULT = -1; // 0xffffffff
field public static final int PROFILE_CLASS_OPERATIONAL = 2; // 0x2
field public static final int PROFILE_CLASS_PROVISIONING = 1; // 0x1
field public static final int PROFILE_CLASS_TESTING = 0; // 0x0
field public static final int PROFILE_CLASS_UNSET = -1; // 0xffffffff
- field public static final android.net.Uri VT_ENABLED_CONTENT_URI;
- field public static final android.net.Uri WFC_ENABLED_CONTENT_URI;
- field public static final android.net.Uri WFC_MODE_CONTENT_URI;
- field public static final android.net.Uri WFC_ROAMING_ENABLED_CONTENT_URI;
- field public static final android.net.Uri WFC_ROAMING_MODE_CONTENT_URI;
+ field @NonNull public static final android.net.Uri VT_ENABLED_CONTENT_URI;
+ field @NonNull public static final android.net.Uri WFC_ENABLED_CONTENT_URI;
+ field @NonNull public static final android.net.Uri WFC_MODE_CONTENT_URI;
+ field @NonNull public static final android.net.Uri WFC_ROAMING_ENABLED_CONTENT_URI;
+ field @NonNull public static final android.net.Uri WFC_ROAMING_MODE_CONTENT_URI;
}
public static class SubscriptionPlan.Builder {
@@ -7921,7 +7913,7 @@
method public int getMinTime();
method public int getSampleCount();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.TelephonyHistogram> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.TelephonyHistogram> CREATOR;
field public static final int TELEPHONY_CATEGORY_RIL = 1; // 0x1
}
@@ -8062,7 +8054,7 @@
method public String getCertificateHexString();
method @Nullable public String getPackageName();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.UiccAccessRule> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.UiccAccessRule> CREATOR;
}
public class UiccSlotInfo implements android.os.Parcelable {
@@ -8080,7 +8072,7 @@
field public static final int CARD_STATE_INFO_ERROR = 3; // 0x3
field public static final int CARD_STATE_INFO_PRESENT = 2; // 0x2
field public static final int CARD_STATE_INFO_RESTRICTED = 4; // 0x4
- field public static final android.os.Parcelable.Creator<android.telephony.UiccSlotInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.UiccSlotInfo> CREATOR;
}
public abstract class VisualVoicemailService extends android.app.Service {
@@ -8108,7 +8100,7 @@
method public int getStatus();
method public int getSuggestedRetryTime();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.data.DataCallResponse> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.DataCallResponse> CREATOR;
}
public final class DataProfile implements android.os.Parcelable {
@@ -8287,7 +8279,7 @@
method public String getTargetAddr();
method public void writeToParcel(android.os.Parcel, int);
field @android.telephony.euicc.EuiccNotification.Event public static final int ALL_EVENTS = 15; // 0xf
- field public static final android.os.Parcelable.Creator<android.telephony.euicc.EuiccNotification> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.euicc.EuiccNotification> CREATOR;
field public static final int EVENT_DELETE = 8; // 0x8
field public static final int EVENT_DISABLE = 4; // 0x4
field public static final int EVENT_ENABLE = 2; // 0x2
@@ -8302,7 +8294,7 @@
method public int findIndex(@android.service.euicc.EuiccProfileInfo.PolicyRule int, android.service.carrier.CarrierIdentifier);
method public boolean hasPolicyRuleFlag(int, @android.telephony.euicc.EuiccRulesAuthTable.PolicyRuleFlag int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.euicc.EuiccRulesAuthTable> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.euicc.EuiccRulesAuthTable> CREATOR;
field public static final int POLICY_RULE_FLAG_CONSENT_REQUIRED = 1; // 0x1
}
@@ -8336,7 +8328,7 @@
field public static final int CDIV_CF_REASON_NOT_REACHABLE = 3; // 0x3
field public static final int CDIV_CF_REASON_NO_REPLY = 2; // 0x2
field public static final int CDIV_CF_REASON_UNCONDITIONAL = 0; // 0x0
- field public static final android.os.Parcelable.Creator<android.telephony.ims.ImsCallForwardInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsCallForwardInfo> CREATOR;
field public static final int STATUS_ACTIVE = 1; // 0x1
field public static final int STATUS_NOT_ACTIVE = 0; // 0x0
field public static final int TYPE_OF_ADDRESS_INTERNATIONAL = 145; // 0x91
@@ -8397,7 +8389,7 @@
field public static final int CALL_TYPE_VT_NODIR = 7; // 0x7
field public static final int CALL_TYPE_VT_RX = 6; // 0x6
field public static final int CALL_TYPE_VT_TX = 5; // 0x5
- field public static final android.os.Parcelable.Creator<android.telephony.ims.ImsCallProfile> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsCallProfile> CREATOR;
field public static final int DIALSTRING_NORMAL = 0; // 0x0
field public static final int DIALSTRING_SS_CONF = 1; // 0x1
field public static final int DIALSTRING_USSD = 2; // 0x2
@@ -8469,7 +8461,7 @@
method public int describeContents();
method public static int getConnectionStateForStatus(String);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.ims.ImsConferenceState> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsConferenceState> CREATOR;
field public static final String DISPLAY_TEXT = "display-text";
field public static final String ENDPOINT = "endpoint";
field public static final String SIP_STATUS_CODE = "sipstatuscode";
@@ -8513,7 +8505,7 @@
method public void writeToParcel(android.os.Parcel, int);
field public static final int CALL_STATE_CONFIRMED = 1; // 0x1
field public static final int CALL_STATE_TERMINATED = 2; // 0x2
- field public static final android.os.Parcelable.Creator<android.telephony.ims.ImsExternalCallState> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsExternalCallState> CREATOR;
}
public class ImsMmTelManager {
@@ -8528,14 +8520,14 @@
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isVtSettingEnabled();
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void registerImsRegistrationCallback(java.util.concurrent.Executor, @NonNull android.telephony.ims.ImsMmTelManager.RegistrationCallback) throws android.telephony.ims.ImsException;
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void registerMmTelCapabilityCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.ImsMmTelManager.CapabilityCallback) throws android.telephony.ims.ImsException;
- method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setAdvancedCallingSetting(boolean);
+ method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setAdvancedCallingSettingEnabled(boolean);
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setRttCapabilitySetting(boolean);
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiModeSetting(int);
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiNonPersistent(boolean, int);
method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiRoamingModeSetting(int);
- method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiRoamingSetting(boolean);
- method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiSetting(boolean);
- method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVtSetting(boolean);
+ method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiRoamingSettingEnabled(boolean);
+ method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiSettingEnabled(boolean);
+ method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVtSettingEnabled(boolean);
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterImsRegistrationCallback(@NonNull android.telephony.ims.ImsMmTelManager.RegistrationCallback);
method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterMmTelCapabilityCallback(@NonNull android.telephony.ims.ImsMmTelManager.CapabilityCallback);
field public static final int WIFI_MODE_CELLULAR_PREFERRED = 1; // 0x1
@@ -8550,10 +8542,10 @@
public static class ImsMmTelManager.RegistrationCallback {
ctor public ImsMmTelManager.RegistrationCallback();
- method public void onDeregistered(android.telephony.ims.ImsReasonInfo);
method public void onRegistered(int);
method public void onRegistering(int);
method public void onTechnologyChangeFailed(int, android.telephony.ims.ImsReasonInfo);
+ method public void onUnregistered(android.telephony.ims.ImsReasonInfo);
}
public final class ImsReasonInfo implements android.os.Parcelable {
@@ -8733,7 +8725,7 @@
field public static final int CODE_UT_SS_MODIFIED_TO_SS = 824; // 0x338
field public static final int CODE_UT_SS_MODIFIED_TO_USSD = 823; // 0x337
field public static final int CODE_WIFI_LOST = 1407; // 0x57f
- field public static final android.os.Parcelable.Creator<android.telephony.ims.ImsReasonInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsReasonInfo> CREATOR;
field public static final int EXTRA_CODE_CALL_RETRY_BY_SETTINGS = 3; // 0x3
field public static final int EXTRA_CODE_CALL_RETRY_NORMAL = 1; // 0x1
field public static final int EXTRA_CODE_CALL_RETRY_SILENT_REDIAL = 2; // 0x2
@@ -8774,7 +8766,7 @@
method public boolean isTypeInterrogation();
method public boolean isTypeUnConditional();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSsData> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSsData> CREATOR;
field public static final int RESULT_SUCCESS = 0; // 0x0
field public static final int SERVICE_CLASS_DATA = 2; // 0x2
field public static final int SERVICE_CLASS_DATA_CIRCUIT_ASYNC = 32; // 0x20
@@ -8846,7 +8838,7 @@
field public static final int CLIR_STATUS_TEMPORARILY_ALLOWED = 4; // 0x4
field public static final int CLIR_STATUS_TEMPORARILY_RESTRICTED = 3; // 0x3
field public static final int CLIR_STATUS_UNKNOWN = 2; // 0x2
- field public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSsInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSsInfo> CREATOR;
field public static final int DISABLED = 0; // 0x0
field public static final int ENABLED = 1; // 0x1
field public static final int NOT_REGISTERED = -1; // 0xffffffff
@@ -8899,7 +8891,7 @@
field public static final int AUDIO_QUALITY_GSM_HR = 10; // 0xa
field public static final int AUDIO_QUALITY_NONE = 0; // 0x0
field public static final int AUDIO_QUALITY_QCELP13K = 3; // 0x3
- field public static final android.os.Parcelable.Creator<android.telephony.ims.ImsStreamMediaProfile> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsStreamMediaProfile> CREATOR;
field public static final int DIRECTION_INACTIVE = 0; // 0x0
field public static final int DIRECTION_INVALID = -1; // 0xffffffff
field public static final int DIRECTION_RECEIVE = 1; // 0x1
@@ -8919,7 +8911,7 @@
ctor public ImsSuppServiceNotification(int, int, int, int, String, String[]);
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSuppServiceNotification> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSuppServiceNotification> CREATOR;
field public final int code;
field public final String[] history;
field public final int index;
@@ -8996,7 +8988,7 @@
method public java.util.List<android.telephony.ims.feature.CapabilityChangeRequest.CapabilityPair> getCapabilitiesToDisable();
method public java.util.List<android.telephony.ims.feature.CapabilityChangeRequest.CapabilityPair> getCapabilitiesToEnable();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.ims.feature.CapabilityChangeRequest> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.feature.CapabilityChangeRequest> CREATOR;
}
public static class CapabilityChangeRequest.CapabilityPair {
@@ -9158,7 +9150,7 @@
method public int describeContents();
method public java.util.Set<android.telephony.ims.stub.ImsFeatureConfiguration.FeatureSlotPair> getServiceFeatures();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.ims.stub.ImsFeatureConfiguration> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.stub.ImsFeatureConfiguration> CREATOR;
}
public static class ImsFeatureConfiguration.Builder {
@@ -9271,7 +9263,7 @@
method public android.net.Uri getContentUri();
method public android.net.Uri getFilePathUri();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.mbms.UriPathPair> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.mbms.UriPathPair> CREATOR;
}
}
@@ -9449,7 +9441,7 @@
method public int getType();
method @Nullable public android.view.contentcapture.ViewNode getViewNode();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.contentcapture.ContentCaptureEvent> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.contentcapture.ContentCaptureEvent> CREATOR;
field public static final int TYPE_CONTEXT_UPDATED = 6; // 0x6
field public static final int TYPE_SESSION_PAUSED = 8; // 0x8
field public static final int TYPE_SESSION_RESUMED = 7; // 0x7
@@ -9843,7 +9835,7 @@
method public default void onMovedToDisplay(int, android.content.res.Configuration);
method public void onOverScrolled(int, int, boolean, boolean);
method public default void onProvideAutofillVirtualStructure(android.view.ViewStructure, int);
- method public default void onProvideContentCaptureStructure(android.view.ViewStructure, int);
+ method public default void onProvideContentCaptureStructure(@NonNull android.view.ViewStructure, int);
method public void onProvideVirtualStructure(android.view.ViewStructure);
method public void onScrollChanged(int, int, int, int);
method public void onSizeChanged(int, int, int, int);
@@ -9871,7 +9863,7 @@
ctor public WebViewProviderInfo(String, String, boolean, boolean, String[]);
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.webkit.WebViewProviderInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.webkit.WebViewProviderInfo> CREATOR;
field public final boolean availableByDefault;
field public final String description;
field public final boolean isFallback;
diff --git a/api/test-current.txt b/api/test-current.txt
index 1089761..9a2d503 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -217,7 +217,7 @@
method @NonNull public String getOpName();
method public long getRejectCount(int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalOp> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalOp> CREATOR;
}
public static final class AppOpsManager.HistoricalOps implements android.os.Parcelable {
@@ -233,7 +233,7 @@
method public void increaseRejectCount(int, int, @NonNull String, int, long);
method public void offsetBeginAndEndTime(long);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalOps> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalOps> CREATOR;
}
public static final class AppOpsManager.HistoricalOpsRequest {
@@ -254,7 +254,7 @@
method public int getOpCount();
method @NonNull public String getPackageName();
method public void writeToParcel(@NonNull android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalPackageOps> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalPackageOps> CREATOR;
}
public static final class AppOpsManager.HistoricalUidOps implements android.os.Parcelable {
@@ -264,13 +264,17 @@
method @NonNull public android.app.AppOpsManager.HistoricalPackageOps getPackageOpsAt(int);
method public int getUid();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalUidOps> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalUidOps> CREATOR;
}
public static interface AppOpsManager.OnOpActiveChangedListener {
method public void onOpActiveChanged(int, int, String, boolean);
}
+ public class DownloadManager {
+ field public static final String COLUMN_MEDIASTORE_URI = "mediastore_uri";
+ }
+
public final class NotificationChannel implements android.os.Parcelable {
method public boolean isImportanceLockedByOEM();
method public void setImportanceLockedByOEM(boolean);
@@ -392,7 +396,7 @@
method public int getPredictedTargetCount();
method public String getUiSurface();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.prediction.AppPredictionContext> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppPredictionContext> CREATOR;
}
public static final class AppPredictionContext.Builder {
@@ -410,7 +414,7 @@
public final class AppPredictionSessionId implements android.os.Parcelable {
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.prediction.AppPredictionSessionId> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppPredictionSessionId> CREATOR;
}
public final class AppPredictor {
@@ -438,7 +442,7 @@
method @Nullable public android.content.pm.ShortcutInfo getShortcutInfo();
method @NonNull public android.os.UserHandle getUser();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.prediction.AppTarget> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTarget> CREATOR;
}
public final class AppTargetEvent implements android.os.Parcelable {
@@ -450,7 +454,7 @@
field public static final int ACTION_DISMISS = 2; // 0x2
field public static final int ACTION_LAUNCH = 1; // 0x1
field public static final int ACTION_PIN = 3; // 0x3
- field public static final android.os.Parcelable.Creator<android.app.prediction.AppTargetEvent> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTargetEvent> CREATOR;
}
public static final class AppTargetEvent.Builder {
@@ -463,7 +467,7 @@
ctor public AppTargetId(@NonNull String);
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.app.prediction.AppTargetId> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTargetId> CREATOR;
}
}
@@ -517,7 +521,7 @@
method public int describeContents();
method public static android.content.AutofillOptions forWhitelistingItself();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.AutofillOptions> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.AutofillOptions> CREATOR;
field public boolean augmentedEnabled;
field public final boolean compatModeEnabled;
field public final int loggingLevel;
@@ -528,7 +532,7 @@
method public int describeContents();
method public static android.content.ContentCaptureOptions forWhitelistingItself();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.content.ContentCaptureOptions> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.ContentCaptureOptions> CREATOR;
field public final int idleFlushingFrequencyMs;
field public final int logHistorySize;
field public final int loggingLevel;
@@ -737,7 +741,7 @@
method public java.time.LocalDate getLocalDate();
method public float[] getStats();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.hardware.display.AmbientBrightnessDayStats> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.AmbientBrightnessDayStats> CREATOR;
}
public class AmbientDisplayConfiguration {
@@ -750,7 +754,7 @@
public final class BrightnessChangeEvent implements android.os.Parcelable {
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessChangeEvent> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessChangeEvent> CREATOR;
field public final float batteryLevel;
field public final float brightness;
field public final long colorSampleDuration;
@@ -773,17 +777,17 @@
method @Nullable public android.hardware.display.BrightnessCorrection getCorrectionByPackageName(@NonNull String);
method public android.util.Pair<float[],float[]> getCurve();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessConfiguration> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessConfiguration> CREATOR;
}
public static class BrightnessConfiguration.Builder {
ctor public BrightnessConfiguration.Builder(float[], float[]);
- method public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByCategory(int, @NonNull android.hardware.display.BrightnessCorrection);
- method public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByPackageName(@NonNull String, @NonNull android.hardware.display.BrightnessCorrection);
- method public android.hardware.display.BrightnessConfiguration build();
+ method @NonNull public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByCategory(int, @NonNull android.hardware.display.BrightnessCorrection);
+ method @NonNull public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByPackageName(@NonNull String, @NonNull android.hardware.display.BrightnessCorrection);
+ method @NonNull public android.hardware.display.BrightnessConfiguration build();
method public int getMaxCorrectionsByCategory();
method public int getMaxCorrectionsByPackageName();
- method public android.hardware.display.BrightnessConfiguration.Builder setDescription(@Nullable String);
+ method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setDescription(@Nullable String);
}
public final class BrightnessCorrection implements android.os.Parcelable {
@@ -791,7 +795,7 @@
method @NonNull public static android.hardware.display.BrightnessCorrection createScaleAndTranslateLog(float, float);
method public int describeContents();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessCorrection> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessCorrection> CREATOR;
}
public final class DisplayManager {
@@ -910,7 +914,7 @@
field public static final int ACCURACY_BLOCK = 102; // 0x66
field public static final int ACCURACY_CITY = 104; // 0x68
field public static final int ACCURACY_FINE = 100; // 0x64
- field public static final android.os.Parcelable.Creator<android.location.LocationRequest> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.location.LocationRequest> CREATOR;
field public static final int POWER_HIGH = 203; // 0xcb
field public static final int POWER_LOW = 201; // 0xc9
field public static final int POWER_NONE = 200; // 0xc8
@@ -941,7 +945,7 @@
method public int getInitialMarkMs();
method public int getResumePlaybackMarkMs();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.media.BufferingParams> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.media.BufferingParams> CREATOR;
}
public static class BufferingParams.Builder {
@@ -1155,7 +1159,7 @@
method public void setGateway(java.net.InetAddress);
method public void setIpAddress(android.net.LinkAddress);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.StaticIpConfiguration> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.net.StaticIpConfiguration> CREATOR;
}
public class TrafficStats {
@@ -1412,8 +1416,8 @@
public class Environment {
method public static java.io.File buildPath(java.io.File, java.lang.String...);
- method public static java.io.File getProductDirectory();
- method public static java.io.File getStorageDirectory();
+ method @NonNull public static java.io.File getProductDirectory();
+ method @NonNull public static java.io.File getStorageDirectory();
}
public final class FileUtils {
@@ -1578,7 +1582,7 @@
method public long getPrivacyPolicy();
method public long getTimestamp();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.os.IncidentManager.IncidentReport> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.os.IncidentManager.IncidentReport> CREATOR;
}
public static class IncidentManager.PendingReport {
@@ -1602,7 +1606,7 @@
method public void setAll(boolean);
method public void setPrivacyPolicy(int);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.os.IncidentReportArgs> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.os.IncidentReportArgs> CREATOR;
}
public final class MessageQueue {
@@ -1649,7 +1653,7 @@
method public int describeContents();
method public void sendResult(@Nullable android.os.Bundle);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.os.RemoteCallback> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.os.RemoteCallback> CREATOR;
}
public static interface RemoteCallback.OnResultListener {
@@ -1662,7 +1666,7 @@
}
public static final class StrictMode.ThreadPolicy.Builder {
- method public android.os.StrictMode.ThreadPolicy.Builder detectExplicitGc();
+ method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectExplicitGc();
}
public static final class StrictMode.ViolationInfo implements android.os.Parcelable {
@@ -1674,7 +1678,7 @@
method public Class<? extends android.os.strictmode.Violation> getViolationClass();
method public String getViolationDetails();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.os.StrictMode.ViolationInfo> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.os.StrictMode.ViolationInfo> CREATOR;
field public String broadcastIntentAction;
field public int durationMillis;
field public int numAnimationsRunning;
@@ -1729,7 +1733,7 @@
method public android.os.VibrationEffect.OneShot scale(float, int);
method public void validate();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.os.VibrationEffect.OneShot> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.os.VibrationEffect.OneShot> CREATOR;
}
public static class VibrationEffect.Prebaked extends android.os.VibrationEffect implements android.os.Parcelable {
@@ -1742,7 +1746,7 @@
method public boolean shouldFallback();
method public void validate();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.os.VibrationEffect.Prebaked> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.os.VibrationEffect.Prebaked> CREATOR;
}
public static class VibrationEffect.Waveform extends android.os.VibrationEffect implements android.os.Parcelable {
@@ -1755,7 +1759,7 @@
method public android.os.VibrationEffect.Waveform scale(float, int);
method public void validate();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.os.VibrationEffect.Waveform> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.os.VibrationEffect.Waveform> CREATOR;
}
public class VintfObject {
@@ -1829,7 +1833,7 @@
method public int describeContents();
method public android.os.health.HealthStats getHealthStats();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.os.health.HealthStatsParceler> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.os.health.HealthStatsParceler> CREATOR;
}
public class HealthStatsWriter {
@@ -1921,7 +1925,12 @@
public final class DeviceConfig {
method @RequiresPermission("android.permission.READ_DEVICE_CONFIG") public static void addOnPropertyChangedListener(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.provider.DeviceConfig.OnPropertyChangedListener);
+ method @RequiresPermission("android.permission.READ_DEVICE_CONFIG") public static boolean getBoolean(String, String, boolean);
+ method @RequiresPermission("android.permission.READ_DEVICE_CONFIG") public static float getFloat(String, String, float);
+ method @RequiresPermission("android.permission.READ_DEVICE_CONFIG") public static int getInt(String, String, int);
+ method @RequiresPermission("android.permission.READ_DEVICE_CONFIG") public static long getLong(String, String, long);
method @RequiresPermission("android.permission.READ_DEVICE_CONFIG") public static String getProperty(String, String);
+ method @RequiresPermission("android.permission.READ_DEVICE_CONFIG") public static String getString(String, String, String);
method public static void removeOnPropertyChangedListener(android.provider.DeviceConfig.OnPropertyChangedListener);
method @RequiresPermission("android.permission.WRITE_DEVICE_CONFIG") public static void resetToDefaults(int, @Nullable String);
method @RequiresPermission("android.permission.WRITE_DEVICE_CONFIG") public static boolean setProperty(String, String, String, boolean);
@@ -2100,7 +2109,7 @@
method public android.util.ArrayMap<java.lang.String,android.os.Bundle> getFieldClassificationArgs();
method public String[] getValues();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.autofill.CompositeUserData> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.autofill.CompositeUserData> CREATOR;
}
public final class CustomDescription implements android.os.Parcelable {
@@ -2203,9 +2212,8 @@
public static final class FillResponse.Builder {
ctor public FillResponse.Builder();
- method public android.service.autofill.augmented.FillResponse build();
- method public android.service.autofill.augmented.FillResponse.Builder setFillWindow(@NonNull android.service.autofill.augmented.FillWindow);
- method public android.service.autofill.augmented.FillResponse.Builder setIgnoredIds(@NonNull java.util.List<android.view.autofill.AutofillId>);
+ method @NonNull public android.service.autofill.augmented.FillResponse build();
+ method @NonNull public android.service.autofill.augmented.FillResponse.Builder setFillWindow(@NonNull android.service.autofill.augmented.FillWindow);
}
public final class FillWindow implements java.lang.AutoCloseable {
@@ -2243,11 +2251,11 @@
public final class SnapshotData implements android.os.Parcelable {
method public int describeContents();
- method public android.app.assist.AssistContent getAssistContent();
- method public android.os.Bundle getAssistData();
- method public android.app.assist.AssistStructure getAssistStructure();
+ method @Nullable public android.app.assist.AssistContent getAssistContent();
+ method @NonNull public android.os.Bundle getAssistData();
+ method @NonNull public android.app.assist.AssistStructure getAssistStructure();
method public void writeToParcel(@NonNull android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.contentcapture.SnapshotData> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.contentcapture.SnapshotData> CREATOR;
}
}
@@ -2270,7 +2278,7 @@
method public CharSequence getExplanation();
method public String getId();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.service.notification.SnoozeCriterion> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.SnoozeCriterion> CREATOR;
}
}
@@ -2381,7 +2389,7 @@
method public android.net.Uri getContentUri();
method public android.net.Uri getFilePathUri();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.telephony.mbms.UriPathPair> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.telephony.mbms.UriPathPair> CREATOR;
}
}
@@ -2868,7 +2876,7 @@
method public int getType();
method @Nullable public android.view.contentcapture.ViewNode getViewNode();
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.view.contentcapture.ContentCaptureEvent> CREATOR;
+ field @NonNull public static final android.os.Parcelable.Creator<android.view.contentcapture.ContentCaptureEvent> CREATOR;
field public static final int TYPE_CONTEXT_UPDATED = 6; // 0x6
field public static final int TYPE_SESSION_PAUSED = 8; // 0x8
field public static final int TYPE_SESSION_RESUMED = 7; // 0x7
diff --git a/config/hiddenapi-greylist.txt b/config/hiddenapi-greylist.txt
index 07fba3b..e6ba40d 100644
--- a/config/hiddenapi-greylist.txt
+++ b/config/hiddenapi-greylist.txt
@@ -1361,9 +1361,6 @@
Landroid/telephony/SmsCbMessage;->isCmasMessage()Z
Landroid/telephony/SmsCbMessage;->isEmergencyMessage()Z
Landroid/telephony/TelephonyManager$MultiSimVariants;->values()[Landroid/telephony/TelephonyManager$MultiSimVariants;
-Landroid/test/AndroidTestCase;->getTestContext()Landroid/content/Context;
-Landroid/test/AndroidTestCase;->setTestContext(Landroid/content/Context;)V
-Landroid/test/InstrumentationTestCase;->runMethod(Ljava/lang/reflect/Method;I)V
Landroid/util/Singleton;-><init>()V
Landroid/util/XmlPullAttributes;-><init>(Lorg/xmlpull/v1/XmlPullParser;)V
Landroid/util/XmlPullAttributes;->mParser:Lorg/xmlpull/v1/XmlPullParser;
@@ -4176,9 +4173,6 @@
Lgov/nist/javax/sip/address/SipUri;->setUserParam(Ljava/lang/String;)V
Lgov/nist/javax/sip/parser/URLParser;-><init>(Ljava/lang/String;)V
Lgov/nist/javax/sip/parser/URLParser;->sipURL(Z)Lgov/nist/javax/sip/address/SipUri;
-Ljunit/framework/TestCase;->fName:Ljava/lang/String;
-Ljunit/framework/TestSuite;->isPublicTestMethod(Ljava/lang/reflect/Method;)Z
-Ljunit/framework/TestSuite;->isTestMethod(Ljava/lang/reflect/Method;)Z
Lorg/apache/xalan/extensions/ExpressionContext;->getContextNode()Lorg/w3c/dom/Node;
Lorg/apache/xalan/extensions/ExpressionContext;->getErrorListener()Ljavax/xml/transform/ErrorListener;
Lorg/apache/xalan/extensions/ExpressionContext;->getVariableOrParam(Lorg/apache/xml/utils/QName;)Lorg/apache/xpath/objects/XObject;
diff --git a/core/java/android/accessibilityservice/AccessibilityServiceInfo.java b/core/java/android/accessibilityservice/AccessibilityServiceInfo.java
index e86fa89..cf24b8e 100644
--- a/core/java/android/accessibilityservice/AccessibilityServiceInfo.java
+++ b/core/java/android/accessibilityservice/AccessibilityServiceInfo.java
@@ -1225,7 +1225,7 @@
/**
* @see Parcelable.Creator
*/
- public static final Parcelable.Creator<AccessibilityServiceInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<AccessibilityServiceInfo> CREATOR =
new Parcelable.Creator<AccessibilityServiceInfo>() {
public AccessibilityServiceInfo createFromParcel(Parcel parcel) {
AccessibilityServiceInfo info = new AccessibilityServiceInfo();
diff --git a/core/java/android/accessibilityservice/GestureDescription.java b/core/java/android/accessibilityservice/GestureDescription.java
index 56f4ae2..a3e7ad5 100644
--- a/core/java/android/accessibilityservice/GestureDescription.java
+++ b/core/java/android/accessibilityservice/GestureDescription.java
@@ -455,7 +455,7 @@
dest.writeFloat(mY);
}
- public static final Parcelable.Creator<TouchPoint> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<TouchPoint> CREATOR
= new Parcelable.Creator<TouchPoint>() {
public TouchPoint createFromParcel(Parcel in) {
return new TouchPoint(in);
@@ -509,7 +509,7 @@
dest.writeParcelableArray(touchPoints, flags);
}
- public static final Parcelable.Creator<GestureStep> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<GestureStep> CREATOR
= new Parcelable.Creator<GestureStep>() {
public GestureStep createFromParcel(Parcel in) {
return new GestureStep(in);
diff --git a/core/java/android/accounts/Account.java b/core/java/android/accounts/Account.java
index d3b2238..2637764 100644
--- a/core/java/android/accounts/Account.java
+++ b/core/java/android/accounts/Account.java
@@ -124,7 +124,7 @@
dest.writeString(accessId);
}
- public static final Creator<Account> CREATOR = new Creator<Account>() {
+ public static final @android.annotation.NonNull Creator<Account> CREATOR = new Creator<Account>() {
public Account createFromParcel(Parcel source) {
return new Account(source);
}
diff --git a/core/java/android/accounts/AccountAuthenticatorResponse.java b/core/java/android/accounts/AccountAuthenticatorResponse.java
index bcc9f90..bb2e327 100644
--- a/core/java/android/accounts/AccountAuthenticatorResponse.java
+++ b/core/java/android/accounts/AccountAuthenticatorResponse.java
@@ -87,7 +87,7 @@
dest.writeStrongBinder(mAccountAuthenticatorResponse.asBinder());
}
- public static final Creator<AccountAuthenticatorResponse> CREATOR =
+ public static final @android.annotation.NonNull Creator<AccountAuthenticatorResponse> CREATOR =
new Creator<AccountAuthenticatorResponse>() {
public AccountAuthenticatorResponse createFromParcel(Parcel source) {
return new AccountAuthenticatorResponse(source);
diff --git a/core/java/android/accounts/AccountManagerResponse.java b/core/java/android/accounts/AccountManagerResponse.java
index 11c6e60..369a7c3 100644
--- a/core/java/android/accounts/AccountManagerResponse.java
+++ b/core/java/android/accounts/AccountManagerResponse.java
@@ -66,7 +66,7 @@
}
/** @hide */
- public static final Creator<AccountManagerResponse> CREATOR =
+ public static final @android.annotation.NonNull Creator<AccountManagerResponse> CREATOR =
new Creator<AccountManagerResponse>() {
public AccountManagerResponse createFromParcel(Parcel source) {
return new AccountManagerResponse(source);
diff --git a/core/java/android/accounts/AuthenticatorDescription.java b/core/java/android/accounts/AuthenticatorDescription.java
index 2360cec..5556394 100644
--- a/core/java/android/accounts/AuthenticatorDescription.java
+++ b/core/java/android/accounts/AuthenticatorDescription.java
@@ -134,7 +134,7 @@
}
/** Used to create the object from a parcel. */
- public static final Creator<AuthenticatorDescription> CREATOR =
+ public static final @android.annotation.NonNull Creator<AuthenticatorDescription> CREATOR =
new Creator<AuthenticatorDescription>() {
/** @inheritDoc */
public AuthenticatorDescription createFromParcel(Parcel source) {
diff --git a/core/java/android/app/ActivityManager.java b/core/java/android/app/ActivityManager.java
index ee7288f..c067f9d 100644
--- a/core/java/android/app/ActivityManager.java
+++ b/core/java/android/app/ActivityManager.java
@@ -1345,7 +1345,7 @@
mIconFilename = source.readInt() > 0 ? source.readString() : null;
}
- public static final Creator<TaskDescription> CREATOR
+ public static final @android.annotation.NonNull Creator<TaskDescription> CREATOR
= new Creator<TaskDescription>() {
public TaskDescription createFromParcel(Parcel source) {
return new TaskDescription(source);
@@ -1431,7 +1431,7 @@
super.writeToParcel(dest, flags);
}
- public static final Creator<RecentTaskInfo> CREATOR
+ public static final @android.annotation.NonNull Creator<RecentTaskInfo> CREATOR
= new Creator<RecentTaskInfo>() {
public RecentTaskInfo createFromParcel(Parcel source) {
return new RecentTaskInfo(source);
@@ -1601,7 +1601,7 @@
super.writeToParcel(dest, flags);
}
- public static final Creator<RunningTaskInfo> CREATOR = new Creator<RunningTaskInfo>() {
+ public static final @android.annotation.NonNull Creator<RunningTaskInfo> CREATOR = new Creator<RunningTaskInfo>() {
public RunningTaskInfo createFromParcel(Parcel source) {
return new RunningTaskInfo(source);
}
@@ -1936,7 +1936,7 @@
+ " mIsTranslucent=" + mIsTranslucent;
}
- public static final Creator<TaskSnapshot> CREATOR = new Creator<TaskSnapshot>() {
+ public static final @android.annotation.NonNull Creator<TaskSnapshot> CREATOR = new Creator<TaskSnapshot>() {
public TaskSnapshot createFromParcel(Parcel source) {
return new TaskSnapshot(source);
}
@@ -2177,7 +2177,7 @@
clientLabel = source.readInt();
}
- public static final Creator<RunningServiceInfo> CREATOR = new Creator<RunningServiceInfo>() {
+ public static final @android.annotation.NonNull Creator<RunningServiceInfo> CREATOR = new Creator<RunningServiceInfo>() {
public RunningServiceInfo createFromParcel(Parcel source) {
return new RunningServiceInfo(source);
}
@@ -2309,7 +2309,7 @@
foregroundAppThreshold = source.readLong();
}
- public static final Creator<MemoryInfo> CREATOR
+ public static final @android.annotation.NonNull Creator<MemoryInfo> CREATOR
= new Creator<MemoryInfo>() {
public MemoryInfo createFromParcel(Parcel source) {
return new MemoryInfo(source);
@@ -2440,7 +2440,7 @@
configuration.readFromParcel(source);
}
- public static final Creator<StackInfo> CREATOR = new Creator<StackInfo>() {
+ public static final @android.annotation.NonNull Creator<StackInfo> CREATOR = new Creator<StackInfo>() {
@Override
public StackInfo createFromParcel(Parcel source) {
return new StackInfo(source);
@@ -2646,7 +2646,7 @@
stackTrace = source.readString();
}
- public static final Creator<ProcessErrorStateInfo> CREATOR =
+ public static final @android.annotation.NonNull Creator<ProcessErrorStateInfo> CREATOR =
new Creator<ProcessErrorStateInfo>() {
public ProcessErrorStateInfo createFromParcel(Parcel source) {
return new ProcessErrorStateInfo(source);
@@ -3110,7 +3110,7 @@
lastActivityTime = source.readLong();
}
- public static final Creator<RunningAppProcessInfo> CREATOR =
+ public static final @android.annotation.NonNull Creator<RunningAppProcessInfo> CREATOR =
new Creator<RunningAppProcessInfo>() {
public RunningAppProcessInfo createFromParcel(Parcel source) {
return new RunningAppProcessInfo(source);
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java
index b18c4de..b654258 100644
--- a/core/java/android/app/ActivityThread.java
+++ b/core/java/android/app/ActivityThread.java
@@ -182,6 +182,7 @@
import java.lang.ref.WeakReference;
import java.lang.reflect.Method;
import java.net.InetAddress;
+import java.nio.file.Files;
import java.text.DateFormat;
import java.util.ArrayList;
import java.util.Arrays;
@@ -6961,6 +6962,23 @@
}
}
+ private void deleteDeprecatedDataPath(String path) throws ErrnoException {
+ final Uri uri = ContentResolver.translateDeprecatedDataPath(path);
+ Log.v(TAG, "Redirecting " + path + " to " + uri);
+
+ final ContentResolver cr = currentActivityThread().getApplication()
+ .getContentResolver();
+ try {
+ if (cr.delete(uri, null, null) == 0) {
+ throw new FileNotFoundException();
+ }
+ } catch (SecurityException e) {
+ throw new ErrnoException(e.getMessage(), OsConstants.EACCES);
+ } catch (FileNotFoundException e) {
+ throw new ErrnoException(e.getMessage(), OsConstants.ENOENT);
+ }
+ }
+
@Override
public boolean access(String path, int mode) throws ErrnoException {
if (path != null && path.startsWith(DEPRECATE_DATA_PREFIX)) {
@@ -6995,6 +7013,42 @@
return super.stat(path);
}
}
+
+ @Override
+ public void unlink(String path) throws ErrnoException {
+ if (path != null && path.startsWith(DEPRECATE_DATA_PREFIX)) {
+ deleteDeprecatedDataPath(path);
+ } else {
+ super.unlink(path);
+ }
+ }
+
+ @Override
+ public void remove(String path) throws ErrnoException {
+ if (path != null && path.startsWith(DEPRECATE_DATA_PREFIX)) {
+ deleteDeprecatedDataPath(path);
+ } else {
+ super.remove(path);
+ }
+ }
+
+ @Override
+ public void rename(String oldPath, String newPath) throws ErrnoException {
+ try {
+ super.rename(oldPath, newPath);
+ } catch (ErrnoException e) {
+ if (e.errno == OsConstants.EXDEV) {
+ Log.v(TAG, "Recovering failed rename " + oldPath + " to " + newPath);
+ try {
+ Files.move(new File(oldPath).toPath(), new File(newPath).toPath());
+ } catch (IOException e2) {
+ throw e;
+ }
+ } else {
+ throw e;
+ }
+ }
+ }
}
public static void main(String[] args) {
diff --git a/core/java/android/app/AlarmManager.java b/core/java/android/app/AlarmManager.java
index 2f0f14aa..3a34b79 100644
--- a/core/java/android/app/AlarmManager.java
+++ b/core/java/android/app/AlarmManager.java
@@ -1135,7 +1135,7 @@
dest.writeParcelable(mShowIntent, flags);
}
- public static final Creator<AlarmClockInfo> CREATOR = new Creator<AlarmClockInfo>() {
+ public static final @android.annotation.NonNull Creator<AlarmClockInfo> CREATOR = new Creator<AlarmClockInfo>() {
@Override
public AlarmClockInfo createFromParcel(Parcel in) {
return new AlarmClockInfo(in);
diff --git a/core/java/android/app/AppOpsManager.java b/core/java/android/app/AppOpsManager.java
index 040ad06..2e82e620 100644
--- a/core/java/android/app/AppOpsManager.java
+++ b/core/java/android/app/AppOpsManager.java
@@ -1984,7 +1984,7 @@
}
}
- public static final Creator<PackageOps> CREATOR = new Creator<PackageOps>() {
+ public static final @android.annotation.NonNull Creator<PackageOps> CREATOR = new Creator<PackageOps>() {
@Override public PackageOps createFromParcel(Parcel source) {
return new PackageOps(source);
}
@@ -2192,7 +2192,7 @@
mProxyPackageName = source.readString();
}
- public static final Creator<OpEntry> CREATOR = new Creator<OpEntry>() {
+ public static final @android.annotation.NonNull Creator<OpEntry> CREATOR = new Creator<OpEntry>() {
@Override public OpEntry createFromParcel(Parcel source) {
return new OpEntry(source);
}
@@ -2725,7 +2725,7 @@
+ mBeginTimeMillis + " to:" + mEndTimeMillis + "]";
}
- public static final Creator<HistoricalOps> CREATOR = new Creator<HistoricalOps>() {
+ public static final @android.annotation.NonNull Creator<HistoricalOps> CREATOR = new Creator<HistoricalOps>() {
@Override
public @NonNull HistoricalOps createFromParcel(@NonNull Parcel parcel) {
return new HistoricalOps(parcel);
@@ -2935,7 +2935,7 @@
}
- public static final Creator<HistoricalUidOps> CREATOR = new Creator<HistoricalUidOps>() {
+ public static final @android.annotation.NonNull Creator<HistoricalUidOps> CREATOR = new Creator<HistoricalUidOps>() {
@Override
public @NonNull HistoricalUidOps createFromParcel(@NonNull Parcel parcel) {
return new HistoricalUidOps(parcel);
@@ -3167,7 +3167,7 @@
return op;
}
- public static final Creator<HistoricalPackageOps> CREATOR =
+ public static final @android.annotation.NonNull Creator<HistoricalPackageOps> CREATOR =
new Creator<HistoricalPackageOps>() {
@Override
public @NonNull HistoricalPackageOps createFromParcel(@NonNull Parcel parcel) {
@@ -3589,7 +3589,7 @@
}
}
- public static final Creator<HistoricalOp> CREATOR = new Creator<HistoricalOp>() {
+ public static final @android.annotation.NonNull Creator<HistoricalOp> CREATOR = new Creator<HistoricalOp>() {
@Override
public @NonNull HistoricalOp createFromParcel(@NonNull Parcel source) {
return new HistoricalOp(source);
diff --git a/core/java/android/app/ApplicationErrorReport.java b/core/java/android/app/ApplicationErrorReport.java
index 8874554..a0b3dc0 100644
--- a/core/java/android/app/ApplicationErrorReport.java
+++ b/core/java/android/app/ApplicationErrorReport.java
@@ -492,7 +492,7 @@
return 0;
}
- public static final Parcelable.Creator<ParcelableCrashInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ParcelableCrashInfo> CREATOR =
new Parcelable.Creator<ParcelableCrashInfo>() {
@Override
public ParcelableCrashInfo createFromParcel(Parcel in) {
@@ -666,7 +666,7 @@
}
}
- public static final Parcelable.Creator<ApplicationErrorReport> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<ApplicationErrorReport> CREATOR
= new Parcelable.Creator<ApplicationErrorReport>() {
public ApplicationErrorReport createFromParcel(Parcel source) {
return new ApplicationErrorReport(source);
diff --git a/core/java/android/app/AuthenticationRequiredException.java b/core/java/android/app/AuthenticationRequiredException.java
index 04e5e0a..0d87336 100644
--- a/core/java/android/app/AuthenticationRequiredException.java
+++ b/core/java/android/app/AuthenticationRequiredException.java
@@ -81,7 +81,7 @@
mUserAction.writeToParcel(dest, flags);
}
- public static final Creator<AuthenticationRequiredException> CREATOR =
+ public static final @android.annotation.NonNull Creator<AuthenticationRequiredException> CREATOR =
new Creator<AuthenticationRequiredException>() {
@Override
public AuthenticationRequiredException createFromParcel(Parcel source) {
diff --git a/core/java/android/app/AutomaticZenRule.java b/core/java/android/app/AutomaticZenRule.java
index fe23e21..4a826d1 100644
--- a/core/java/android/app/AutomaticZenRule.java
+++ b/core/java/android/app/AutomaticZenRule.java
@@ -304,7 +304,7 @@
configurationActivity, mZenPolicy, mModified, creationTime);
}
- public static final Parcelable.Creator<AutomaticZenRule> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<AutomaticZenRule> CREATOR
= new Parcelable.Creator<AutomaticZenRule>() {
@Override
public AutomaticZenRule createFromParcel(Parcel source) {
diff --git a/core/java/android/app/BackStackRecord.java b/core/java/android/app/BackStackRecord.java
index 46e6def..351e737 100644
--- a/core/java/android/app/BackStackRecord.java
+++ b/core/java/android/app/BackStackRecord.java
@@ -155,7 +155,7 @@
dest.writeInt(mReorderingAllowed ? 1 : 0);
}
- public static final Parcelable.Creator<BackStackState> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<BackStackState> CREATOR
= new Parcelable.Creator<BackStackState>() {
public BackStackState createFromParcel(Parcel in) {
return new BackStackState(in);
diff --git a/core/java/android/app/ContentProviderHolder.java b/core/java/android/app/ContentProviderHolder.java
index 2a13c71..004dca1a 100644
--- a/core/java/android/app/ContentProviderHolder.java
+++ b/core/java/android/app/ContentProviderHolder.java
@@ -61,7 +61,7 @@
dest.writeInt(noReleaseNeeded ? 1 : 0);
}
- public static final Parcelable.Creator<ContentProviderHolder> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<ContentProviderHolder> CREATOR
= new Parcelable.Creator<ContentProviderHolder>() {
@Override
public ContentProviderHolder createFromParcel(Parcel source) {
diff --git a/core/java/android/app/DownloadManager.java b/core/java/android/app/DownloadManager.java
index fde1d29e..e20c490 100644
--- a/core/java/android/app/DownloadManager.java
+++ b/core/java/android/app/DownloadManager.java
@@ -21,6 +21,7 @@
import android.annotation.SdkConstant.SdkConstantType;
import android.annotation.SystemApi;
import android.annotation.SystemService;
+import android.annotation.TestApi;
import android.annotation.UnsupportedAppUsage;
import android.content.ContentResolver;
import android.content.ContentUris;
@@ -163,6 +164,10 @@
*/
public static final String COLUMN_MEDIAPROVIDER_URI = Downloads.Impl.COLUMN_MEDIAPROVIDER_URI;
+ /** @hide */
+ @TestApi
+ public static final String COLUMN_MEDIASTORE_URI = Downloads.Impl.COLUMN_MEDIASTORE_URI;
+
/**
* @hide
*/
diff --git a/core/java/android/app/FragmentManager.java b/core/java/android/app/FragmentManager.java
index 5e7921b..68daf44 100644
--- a/core/java/android/app/FragmentManager.java
+++ b/core/java/android/app/FragmentManager.java
@@ -623,7 +623,7 @@
dest.writeInt(mNextFragmentIndex);
}
- public static final Parcelable.Creator<FragmentManagerState> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<FragmentManagerState> CREATOR
= new Parcelable.Creator<FragmentManagerState>() {
public FragmentManagerState createFromParcel(Parcel in) {
return new FragmentManagerState(in);
diff --git a/core/java/android/app/FragmentState.java b/core/java/android/app/FragmentState.java
index a61da3bb..a66f069 100644
--- a/core/java/android/app/FragmentState.java
+++ b/core/java/android/app/FragmentState.java
@@ -122,7 +122,7 @@
dest.writeBundle(mSavedFragmentState);
}
- public static final Parcelable.Creator<FragmentState> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<FragmentState> CREATOR =
new Parcelable.Creator<FragmentState>() {
@Override
public FragmentState createFromParcel(Parcel in) {
diff --git a/core/java/android/app/GrantedUriPermission.java b/core/java/android/app/GrantedUriPermission.java
index 9e84fe1..48d5b8c 100644
--- a/core/java/android/app/GrantedUriPermission.java
+++ b/core/java/android/app/GrantedUriPermission.java
@@ -54,7 +54,7 @@
out.writeString(packageName);
}
- public static final Parcelable.Creator<GrantedUriPermission> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<GrantedUriPermission> CREATOR =
new Parcelable.Creator<GrantedUriPermission>() {
@Override
public GrantedUriPermission createFromParcel(Parcel in) {
diff --git a/core/java/android/app/IActivityTaskManager.aidl b/core/java/android/app/IActivityTaskManager.aidl
index b01cd0e..b16188f 100644
--- a/core/java/android/app/IActivityTaskManager.aidl
+++ b/core/java/android/app/IActivityTaskManager.aidl
@@ -129,6 +129,7 @@
oneway void activityIdle(in IBinder token, in Configuration config,
in boolean stopProfiling);
void activityResumed(in IBinder token);
+ void activityTopResumedStateLost();
void activityPaused(in IBinder token);
void activityStopped(in IBinder token, in Bundle state,
in PersistableBundle persistentState, in CharSequence description);
diff --git a/core/java/android/app/Instrumentation.java b/core/java/android/app/Instrumentation.java
index dda5569..4f94209 100644
--- a/core/java/android/app/Instrumentation.java
+++ b/core/java/android/app/Instrumentation.java
@@ -52,6 +52,7 @@
import android.view.MotionEvent;
import android.view.ViewConfiguration;
import android.view.Window;
+import android.view.WindowManagerGlobal;
import com.android.internal.content.ReferrerIntent;
@@ -1102,8 +1103,11 @@
if ((event.getSource() & InputDevice.SOURCE_CLASS_POINTER) == 0) {
event.setSource(InputDevice.SOURCE_TOUCHSCREEN);
}
- InputManager.getInstance().injectInputEvent(event,
- InputManager.INJECT_INPUT_EVENT_MODE_WAIT_FOR_FINISH);
+ try {
+ WindowManagerGlobal.getWindowManagerService().injectInputAfterTransactionsApplied(event,
+ InputManager.INJECT_INPUT_EVENT_MODE_WAIT_FOR_FINISH);
+ } catch (RemoteException e) {
+ }
}
/**
diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java
index 2e7093d..e0cf561 100644
--- a/core/java/android/app/Notification.java
+++ b/core/java/android/app/Notification.java
@@ -1802,7 +1802,7 @@
out.writeInt(mIsContextual ? 1 : 0);
}
- public static final Parcelable.Creator<Action> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<Action> CREATOR =
new Parcelable.Creator<Action>() {
public Action createFromParcel(Parcel in) {
return new Action(in);
@@ -2731,7 +2731,7 @@
/**
* Parcelable.Creator that instantiates Notification objects
*/
- public static final Parcelable.Creator<Notification> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<Notification> CREATOR
= new Parcelable.Creator<Notification>()
{
public Notification createFromParcel(Parcel parcel)
@@ -3471,6 +3471,7 @@
* @param shortcutId the {@link ShortcutInfo#getId() id} of the shortcut this notification
* supersedes
*/
+ @NonNull
public Builder setShortcutId(String shortcutId) {
mN.mShortcutId = shortcutId;
return this;
@@ -3484,6 +3485,7 @@
*
* Note: This value might be ignored, for launchers that don't support badge icons.
*/
+ @NonNull
public Builder setBadgeIconType(int icon) {
mN.mBadgeIcon = icon;
return this;
@@ -3499,6 +3501,7 @@
*
* <p> The default value is {@link #GROUP_ALERT_ALL}.</p>
*/
+ @NonNull
public Builder setGroupAlertBehavior(@GroupAlertBehavior int groupAlertBehavior) {
mN.mGroupAlertBehavior = groupAlertBehavior;
return this;
@@ -3515,6 +3518,7 @@
* outside of the notification shade on unlocked devices. When a user interacts with the
* collapsed state, the bubble intent will be invoked and displayed.</b>
*/
+ @NonNull
public Builder setBubbleMetadata(BubbleMetadata data) {
mN.mBubbleMetadata = data;
return this;
@@ -3530,6 +3534,7 @@
/**
* Specifies the channel the notification should be delivered on.
*/
+ @NonNull
public Builder setChannelId(String channelId) {
mN.mChannelId = channelId;
return this;
@@ -3546,6 +3551,7 @@
* Specifies a duration in milliseconds after which this notification should be canceled,
* if it is not already canceled.
*/
+ @NonNull
public Builder setTimeoutAfter(long durationMs) {
mN.mTimeout = durationMs;
return this;
@@ -3560,6 +3566,7 @@
*
* @see Notification#when
*/
+ @NonNull
public Builder setWhen(long when) {
mN.when = when;
return this;
@@ -3571,6 +3578,7 @@
* For apps targeting {@link android.os.Build.VERSION_CODES#N} and above, this defaults to
* {@code false}. For earlier apps, the default is {@code true}.
*/
+ @NonNull
public Builder setShowWhen(boolean show) {
mN.extras.putBoolean(EXTRA_SHOW_WHEN, show);
return this;
@@ -3591,6 +3599,7 @@
* @see Notification#when
* @see #setChronometerCountDown(boolean)
*/
+ @NonNull
public Builder setUsesChronometer(boolean b) {
mN.extras.putBoolean(EXTRA_SHOW_CHRONOMETER, b);
return this;
@@ -3604,6 +3613,7 @@
*
* @see #setUsesChronometer(boolean)
*/
+ @NonNull
public Builder setChronometerCountDown(boolean countDown) {
mN.extras.putBoolean(EXTRA_CHRONOMETER_COUNT_DOWN, countDown);
return this;
@@ -3623,6 +3633,7 @@
* A resource ID in the application's package of the drawable to use.
* @see Notification#icon
*/
+ @NonNull
public Builder setSmallIcon(@DrawableRes int icon) {
return setSmallIcon(icon != 0
? Icon.createWithResource(mContext, icon)
@@ -3640,6 +3651,7 @@
* @see Notification#icon
* @see Notification#iconLevel
*/
+ @NonNull
public Builder setSmallIcon(@DrawableRes int icon, int level) {
mN.iconLevel = level;
return setSmallIcon(icon);
@@ -3653,6 +3665,7 @@
* @param icon An Icon object to use.
* @see Notification#icon
*/
+ @NonNull
public Builder setSmallIcon(Icon icon) {
mN.setSmallIcon(icon);
if (icon != null && icon.getType() == Icon.TYPE_RESOURCE) {
@@ -3664,6 +3677,7 @@
/**
* Set the first line of text in the platform notification template.
*/
+ @NonNull
public Builder setContentTitle(CharSequence title) {
mN.extras.putCharSequence(EXTRA_TITLE, safeCharSequence(title));
return this;
@@ -3672,6 +3686,7 @@
/**
* Set the second line of text in the platform notification template.
*/
+ @NonNull
public Builder setContentText(CharSequence text) {
mN.extras.putCharSequence(EXTRA_TEXT, safeCharSequence(text));
return this;
@@ -3695,6 +3710,7 @@
* same time on those versions; they occupy the same place.
* </p>
*/
+ @NonNull
public Builder setSubText(CharSequence text) {
mN.extras.putCharSequence(EXTRA_SUB_TEXT, safeCharSequence(text));
return this;
@@ -3713,6 +3729,7 @@
* @param text
* @return
*/
+ @NonNull
public Builder setSettingsText(CharSequence text) {
mN.mSettingsText = safeCharSequence(text);
return this;
@@ -3732,6 +3749,7 @@
* <p>Note: The reply text will only be shown on notifications that have least one action
* with a {@code RemoteInput}.</p>
*/
+ @NonNull
public Builder setRemoteInputHistory(CharSequence[] text) {
if (text == null) {
mN.extras.putCharSequenceArray(EXTRA_REMOTE_INPUT_HISTORY, null);
@@ -3750,6 +3768,7 @@
* Sets whether remote history entries view should have a spinner.
* @hide
*/
+ @NonNull
public Builder setShowRemoteInputSpinner(boolean showSpinner) {
mN.extras.putBoolean(EXTRA_SHOW_REMOTE_INPUT_SPINNER, showSpinner);
return this;
@@ -3759,6 +3778,7 @@
* Sets whether smart reply buttons should be hidden.
* @hide
*/
+ @NonNull
public Builder setHideSmartReplies(boolean hideSmartReplies) {
mN.extras.putBoolean(EXTRA_HIDE_SMART_REPLIES, hideSmartReplies);
return this;
@@ -3768,6 +3788,7 @@
* Sets the number of items this notification represents. May be displayed as a badge count
* for Launchers that support badging.
*/
+ @NonNull
public Builder setNumber(int number) {
mN.number = number;
return this;
@@ -3794,6 +3815,7 @@
*
* The platform template will represent this using a {@link ProgressBar}.
*/
+ @NonNull
public Builder setProgress(int max, int progress, boolean indeterminate) {
mN.extras.putInt(EXTRA_PROGRESS, progress);
mN.extras.putInt(EXTRA_PROGRESS_MAX, max);
@@ -3817,6 +3839,7 @@
* This will override the layout that would otherwise be constructed by this Builder
* object.
*/
+ @NonNull
public Builder setCustomContentView(RemoteViews contentView) {
mN.contentView = contentView;
return this;
@@ -3828,6 +3851,7 @@
* This will override the expanded layout that would otherwise be constructed by this
* Builder object.
*/
+ @NonNull
public Builder setCustomBigContentView(RemoteViews contentView) {
mN.bigContentView = contentView;
return this;
@@ -3839,6 +3863,7 @@
* This will override the heads-up layout that would otherwise be constructed by this
* Builder object.
*/
+ @NonNull
public Builder setCustomHeadsUpContentView(RemoteViews contentView) {
mN.headsUpContentView = contentView;
return this;
@@ -3855,6 +3880,7 @@
*
* @see Notification#contentIntent Notification.contentIntent
*/
+ @NonNull
public Builder setContentIntent(PendingIntent intent) {
mN.contentIntent = intent;
return this;
@@ -3865,6 +3891,7 @@
*
* @see Notification#deleteIntent
*/
+ @NonNull
public Builder setDeleteIntent(PendingIntent intent) {
mN.deleteIntent = intent;
return this;
@@ -3893,6 +3920,7 @@
*
* @see Notification#fullScreenIntent
*/
+ @NonNull
public Builder setFullScreenIntent(PendingIntent intent, boolean highPriority) {
mN.fullScreenIntent = intent;
setFlag(FLAG_HIGH_PRIORITY, highPriority);
@@ -3904,6 +3932,7 @@
*
* @see Notification#tickerText
*/
+ @NonNull
public Builder setTicker(CharSequence tickerText) {
mN.tickerText = safeCharSequence(tickerText);
return this;
@@ -3927,6 +3956,7 @@
* in place of the {@link #setSmallIcon(Icon) small icon} (which will be placed in a small
* badge atop the large icon).
*/
+ @NonNull
public Builder setLargeIcon(Bitmap b) {
return setLargeIcon(b != null ? Icon.createWithBitmap(b) : null);
}
@@ -3938,6 +3968,7 @@
* in place of the {@link #setSmallIcon(Icon) small icon} (which will be placed in a small
* badge atop the large icon).
*/
+ @NonNull
public Builder setLargeIcon(Icon icon) {
mN.mLargeIcon = icon;
mN.extras.putParcelable(EXTRA_LARGE_ICON, icon);
@@ -4045,6 +4076,7 @@
* @see Notification#FLAG_ONGOING_EVENT
*/
+ @NonNull
public Builder setOngoing(boolean ongoing) {
setFlag(FLAG_ONGOING_EVENT, ongoing);
return this;
@@ -4065,6 +4097,7 @@
* @see #setColor(int)
* @see MediaStyle#setMediaSession(MediaSession.Token)
*/
+ @NonNull
public Builder setColorized(boolean colorize) {
mN.extras.putBoolean(EXTRA_COLORIZED, colorize);
return this;
@@ -4076,6 +4109,7 @@
*
* @see Notification#FLAG_ONLY_ALERT_ONCE
*/
+ @NonNull
public Builder setOnlyAlertOnce(boolean onlyAlertOnce) {
setFlag(FLAG_ONLY_ALERT_ONCE, onlyAlertOnce);
return this;
@@ -4086,6 +4120,7 @@
*
* @see Notification#FLAG_AUTO_CANCEL
*/
+ @NonNull
public Builder setAutoCancel(boolean autoCancel) {
setFlag(FLAG_AUTO_CANCEL, autoCancel);
return this;
@@ -4097,6 +4132,7 @@
* <p>Some notifications can be bridged to other devices for remote display.
* This hint can be set to recommend this notification not be bridged.
*/
+ @NonNull
public Builder setLocalOnly(boolean localOnly) {
setFlag(FLAG_LOCAL_ONLY, localOnly);
return this;
@@ -4138,6 +4174,7 @@
*
* @see Notification#category
*/
+ @NonNull
public Builder setCategory(String category) {
mN.category = category;
return this;
@@ -4195,6 +4232,7 @@
* @param person the person to add.
* @see Notification#EXTRA_PEOPLE_LIST
*/
+ @NonNull
public Builder addPerson(Person person) {
mPersonList.add(person);
return this;
@@ -4211,6 +4249,7 @@
* @param groupKey The group key of the group.
* @return this object for method chaining
*/
+ @NonNull
public Builder setGroup(String groupKey) {
mN.mGroupKey = groupKey;
return this;
@@ -4224,6 +4263,7 @@
* @param isGroupSummary Whether this notification should be a group summary.
* @return this object for method chaining
*/
+ @NonNull
public Builder setGroupSummary(boolean isGroupSummary) {
setFlag(FLAG_GROUP_SUMMARY, isGroupSummary);
return this;
@@ -4241,6 +4281,7 @@
*
* @see String#compareTo(String)
*/
+ @NonNull
public Builder setSortKey(String sortKey) {
mN.mSortKey = sortKey;
return this;
@@ -4253,6 +4294,7 @@
*
* @see Notification#extras
*/
+ @NonNull
public Builder addExtras(Bundle extras) {
if (extras != null) {
mUserExtras.putAll(extras);
@@ -4272,6 +4314,7 @@
*
* @see Notification#extras
*/
+ @NonNull
public Builder setExtras(Bundle extras) {
if (extras != null) {
mUserExtras = extras;
@@ -4339,6 +4382,7 @@
*
* @param action The action to add.
*/
+ @NonNull
public Builder addAction(Action action) {
if (action != null) {
mActions.add(action);
@@ -4353,6 +4397,7 @@
* @param actions
* @return
*/
+ @NonNull
public Builder setActions(Action... actions) {
mActions.clear();
for (int i = 0; i < actions.length; i++) {
@@ -4368,6 +4413,7 @@
*
* @param style Object responsible for modifying the notification style.
*/
+ @NonNull
public Builder setStyle(Style style) {
if (mStyle != style) {
mStyle = style;
@@ -4393,6 +4439,7 @@
*
* @return The same Builder.
*/
+ @NonNull
public Builder setVisibility(@Visibility int visibility) {
mN.visibility = visibility;
return this;
@@ -4404,6 +4451,7 @@
* @param n A replacement notification, presumably with some or all info redacted.
* @return The same Builder.
*/
+ @NonNull
public Builder setPublicVersion(Notification n) {
if (n != null) {
mN.publicVersion = new Notification();
@@ -4418,6 +4466,7 @@
* Apply an extender to this notification builder. Extenders may be used to add
* metadata or change options on this builder.
*/
+ @NonNull
public Builder extend(Extender extender) {
extender.extend(this);
return this;
@@ -4426,6 +4475,7 @@
/**
* @hide
*/
+ @NonNull
public Builder setFlag(int mask, boolean value) {
if (value) {
mN.flags |= mask;
@@ -4442,6 +4492,7 @@
*
* @return The same Builder.
*/
+ @NonNull
public Builder setColor(@ColorInt int argb) {
mN.color = argb;
sanitizeColor();
@@ -5674,6 +5725,7 @@
* Apply the unstyled operations and return a new {@link Notification} object.
* @hide
*/
+ @NonNull
public Notification buildUnstyled() {
if (mActions.size() > 0) {
mN.actions = new Action[mActions.size()];
@@ -5694,6 +5746,7 @@
* @param context The context for your application / activity.
* @param n The notification to create a Builder from.
*/
+ @NonNull
public static Notification.Builder recoverBuilder(Context context, Notification n) {
// Re-create notification context so we can access app resources.
ApplicationInfo applicationInfo = n.extras.getParcelable(
@@ -5718,6 +5771,7 @@
* Determines whether the platform can generate contextual actions for a notification.
* By default this is true.
*/
+ @NonNull
public Builder setAllowSystemGeneratedContextualActions(boolean allowed) {
mN.mAllowSystemGeneratedContextualActions = allowed;
return this;
@@ -5735,6 +5789,7 @@
* Combine all of the options that have been set and return a new {@link Notification}
* object.
*/
+ @NonNull
public Notification build() {
// first, add any extras from the calling code
if (mUserExtras != null) {
@@ -5793,7 +5848,8 @@
*
* @hide
*/
- public Notification buildInto(Notification n) {
+ @NonNull
+ public Notification buildInto(@NonNull Notification n) {
build().cloneInto(n, true);
return n;
}
@@ -8511,7 +8567,7 @@
return (mFlags & FLAG_SUPPRESS_INITIAL_NOTIFICATION) != 0;
}
- public static final Parcelable.Creator<BubbleMetadata> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<BubbleMetadata> CREATOR =
new Parcelable.Creator<BubbleMetadata>() {
@Override
diff --git a/core/java/android/app/NotificationChannel.java b/core/java/android/app/NotificationChannel.java
index cfe27c7..5cdf85a 100644
--- a/core/java/android/app/NotificationChannel.java
+++ b/core/java/android/app/NotificationChannel.java
@@ -942,7 +942,7 @@
return sb.toString();
}
- public static final Creator<NotificationChannel> CREATOR = new Creator<NotificationChannel>() {
+ public static final @android.annotation.NonNull Creator<NotificationChannel> CREATOR = new Creator<NotificationChannel>() {
@Override
public NotificationChannel createFromParcel(Parcel in) {
return new NotificationChannel(in);
diff --git a/core/java/android/app/NotificationChannelGroup.java b/core/java/android/app/NotificationChannelGroup.java
index 34cd9f0..a8ee414 100644
--- a/core/java/android/app/NotificationChannelGroup.java
+++ b/core/java/android/app/NotificationChannelGroup.java
@@ -272,7 +272,7 @@
return record;
}
- public static final Creator<NotificationChannelGroup> CREATOR =
+ public static final @android.annotation.NonNull Creator<NotificationChannelGroup> CREATOR =
new Creator<NotificationChannelGroup>() {
@Override
public NotificationChannelGroup createFromParcel(Parcel in) {
diff --git a/core/java/android/app/NotificationManager.java b/core/java/android/app/NotificationManager.java
index 8207e0a..e252f78 100644
--- a/core/java/android/app/NotificationManager.java
+++ b/core/java/android/app/NotificationManager.java
@@ -1842,7 +1842,7 @@
}
}
- public static final Parcelable.Creator<Policy> CREATOR = new Parcelable.Creator<Policy>() {
+ public static final @android.annotation.NonNull Parcelable.Creator<Policy> CREATOR = new Parcelable.Creator<Policy>() {
@Override
public Policy createFromParcel(Parcel in) {
return new Policy(in);
diff --git a/core/java/android/app/PendingIntent.java b/core/java/android/app/PendingIntent.java
index 55014eb..6f7a060 100644
--- a/core/java/android/app/PendingIntent.java
+++ b/core/java/android/app/PendingIntent.java
@@ -1208,7 +1208,7 @@
}
- public static final Parcelable.Creator<PendingIntent> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<PendingIntent> CREATOR
= new Parcelable.Creator<PendingIntent>() {
public PendingIntent createFromParcel(Parcel in) {
IBinder target = in.readStrongBinder();
diff --git a/core/java/android/app/Person.java b/core/java/android/app/Person.java
index 0abc998..14a5589 100644
--- a/core/java/android/app/Person.java
+++ b/core/java/android/app/Person.java
@@ -278,7 +278,7 @@
}
}
- public static final Creator<Person> CREATOR = new Creator<Person>() {
+ public static final @android.annotation.NonNull Creator<Person> CREATOR = new Creator<Person>() {
@Override
public Person createFromParcel(Parcel in) {
return new Person(in);
diff --git a/core/java/android/app/PictureInPictureArgs.java b/core/java/android/app/PictureInPictureArgs.java
index adcc495..3ee5173 100644
--- a/core/java/android/app/PictureInPictureArgs.java
+++ b/core/java/android/app/PictureInPictureArgs.java
@@ -346,7 +346,7 @@
}
}
- public static final Creator<PictureInPictureArgs> CREATOR =
+ public static final @android.annotation.NonNull Creator<PictureInPictureArgs> CREATOR =
new Creator<PictureInPictureArgs>() {
public PictureInPictureArgs createFromParcel(Parcel in) {
return new PictureInPictureArgs(in);
diff --git a/core/java/android/app/PictureInPictureParams.java b/core/java/android/app/PictureInPictureParams.java
index edaae75..bfd966c5 100644
--- a/core/java/android/app/PictureInPictureParams.java
+++ b/core/java/android/app/PictureInPictureParams.java
@@ -275,7 +275,7 @@
}
}
- public static final Creator<PictureInPictureParams> CREATOR =
+ public static final @android.annotation.NonNull Creator<PictureInPictureParams> CREATOR =
new Creator<PictureInPictureParams>() {
public PictureInPictureParams createFromParcel(Parcel in) {
return new PictureInPictureParams(in);
diff --git a/core/java/android/app/ProcessMemoryHighWaterMark.java b/core/java/android/app/ProcessMemoryHighWaterMark.java
index 5fea8ef..d1cae94 100644
--- a/core/java/android/app/ProcessMemoryHighWaterMark.java
+++ b/core/java/android/app/ProcessMemoryHighWaterMark.java
@@ -40,7 +40,7 @@
rssHighWaterMarkInBytes = in.readLong();
}
- public static final Creator<ProcessMemoryHighWaterMark> CREATOR =
+ public static final @android.annotation.NonNull Creator<ProcessMemoryHighWaterMark> CREATOR =
new Creator<ProcessMemoryHighWaterMark>() {
@Override
public ProcessMemoryHighWaterMark createFromParcel(Parcel in) {
diff --git a/core/java/android/app/ProcessMemoryState.java b/core/java/android/app/ProcessMemoryState.java
index 95d5d19..e28d79c 100644
--- a/core/java/android/app/ProcessMemoryState.java
+++ b/core/java/android/app/ProcessMemoryState.java
@@ -60,7 +60,7 @@
startTimeNanos = in.readLong();
}
- public static final Creator<ProcessMemoryState> CREATOR = new Creator<ProcessMemoryState>() {
+ public static final @android.annotation.NonNull Creator<ProcessMemoryState> CREATOR = new Creator<ProcessMemoryState>() {
@Override
public ProcessMemoryState createFromParcel(Parcel in) {
return new ProcessMemoryState(in);
diff --git a/core/java/android/app/ProfilerInfo.java b/core/java/android/app/ProfilerInfo.java
index 6fbe9c6..25589f8 100644
--- a/core/java/android/app/ProfilerInfo.java
+++ b/core/java/android/app/ProfilerInfo.java
@@ -148,7 +148,7 @@
proto.end(token);
}
- public static final Parcelable.Creator<ProfilerInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ProfilerInfo> CREATOR =
new Parcelable.Creator<ProfilerInfo>() {
@Override
public ProfilerInfo createFromParcel(Parcel in) {
diff --git a/core/java/android/app/RecoverableSecurityException.java b/core/java/android/app/RecoverableSecurityException.java
index 7cc3dab..21fb2a6 100644
--- a/core/java/android/app/RecoverableSecurityException.java
+++ b/core/java/android/app/RecoverableSecurityException.java
@@ -190,7 +190,7 @@
mUserAction.writeToParcel(dest, flags);
}
- public static final Creator<RecoverableSecurityException> CREATOR =
+ public static final @android.annotation.NonNull Creator<RecoverableSecurityException> CREATOR =
new Creator<RecoverableSecurityException>() {
@Override
public RecoverableSecurityException createFromParcel(Parcel source) {
diff --git a/core/java/android/app/RemoteAction.java b/core/java/android/app/RemoteAction.java
index c174665..1b13772 100644
--- a/core/java/android/app/RemoteAction.java
+++ b/core/java/android/app/RemoteAction.java
@@ -152,7 +152,7 @@
pw.println();
}
- public static final Parcelable.Creator<RemoteAction> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<RemoteAction> CREATOR =
new Parcelable.Creator<RemoteAction>() {
public RemoteAction createFromParcel(Parcel in) {
return new RemoteAction(in);
diff --git a/core/java/android/app/RemoteInput.java b/core/java/android/app/RemoteInput.java
index 392921e..36c524b 100644
--- a/core/java/android/app/RemoteInput.java
+++ b/core/java/android/app/RemoteInput.java
@@ -561,7 +561,7 @@
out.writeArraySet(mAllowedDataTypes);
}
- public static final Creator<RemoteInput> CREATOR = new Creator<RemoteInput>() {
+ public static final @android.annotation.NonNull Creator<RemoteInput> CREATOR = new Creator<RemoteInput>() {
@Override
public RemoteInput createFromParcel(Parcel in) {
return new RemoteInput(in);
diff --git a/core/java/android/app/ResultInfo.java b/core/java/android/app/ResultInfo.java
index d916c94..9ee0f31 100644
--- a/core/java/android/app/ResultInfo.java
+++ b/core/java/android/app/ResultInfo.java
@@ -67,7 +67,7 @@
}
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
- public static final Parcelable.Creator<ResultInfo> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<ResultInfo> CREATOR
= new Parcelable.Creator<ResultInfo>() {
public ResultInfo createFromParcel(Parcel in) {
return new ResultInfo(in);
diff --git a/core/java/android/app/SearchableInfo.java b/core/java/android/app/SearchableInfo.java
index ae6d32a..a01cec7 100644
--- a/core/java/android/app/SearchableInfo.java
+++ b/core/java/android/app/SearchableInfo.java
@@ -800,7 +800,7 @@
/**
* Support for parcelable and aidl operations.
*/
- public static final Parcelable.Creator<SearchableInfo> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<SearchableInfo> CREATOR
= new Parcelable.Creator<SearchableInfo>() {
public SearchableInfo createFromParcel(Parcel in) {
return new SearchableInfo(in);
diff --git a/core/java/android/app/ServiceStartArgs.java b/core/java/android/app/ServiceStartArgs.java
index f030cba..0b000af5 100644
--- a/core/java/android/app/ServiceStartArgs.java
+++ b/core/java/android/app/ServiceStartArgs.java
@@ -58,7 +58,7 @@
}
}
- public static final Parcelable.Creator<ServiceStartArgs> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<ServiceStartArgs> CREATOR
= new Parcelable.Creator<ServiceStartArgs>() {
public ServiceStartArgs createFromParcel(Parcel in) {
return new ServiceStartArgs(in);
diff --git a/core/java/android/app/StatusBarManager.java b/core/java/android/app/StatusBarManager.java
index 077652c..9ff363d 100644
--- a/core/java/android/app/StatusBarManager.java
+++ b/core/java/android/app/StatusBarManager.java
@@ -17,7 +17,9 @@
package android.app;
import android.annotation.IntDef;
+import android.annotation.NonNull;
import android.annotation.Nullable;
+import android.annotation.RequiresPermission;
import android.annotation.SystemApi;
import android.annotation.SystemService;
import android.annotation.UnsupportedAppUsage;
@@ -364,6 +366,7 @@
* @hide
*/
@SystemApi
+ @RequiresPermission(android.Manifest.permission.STATUS_BAR)
public void setDisabledForSetup(boolean disabled) {
try {
final int userId = Binder.getCallingUserHandle().getIdentifier();
@@ -387,6 +390,8 @@
* @hide
*/
@SystemApi
+ @RequiresPermission(android.Manifest.permission.STATUS_BAR)
+ @NonNull
public DisableInfo getDisableInfo() {
try {
final int userId = Binder.getCallingUserHandle().getIdentifier();
@@ -518,7 +523,7 @@
* @hide
*/
@SystemApi
- public boolean areNoComponentsDisabled() {
+ public boolean areAllComponentsEnabled() {
return !mStatusBarExpansion && !mNavigateHome && !mNotificationPeeking && !mRecents
&& !mSearch;
}
diff --git a/core/java/android/app/VoiceInteractor.java b/core/java/android/app/VoiceInteractor.java
index 823c427..36ba78b 100644
--- a/core/java/android/app/VoiceInteractor.java
+++ b/core/java/android/app/VoiceInteractor.java
@@ -500,7 +500,7 @@
dest.writeBundle(mExtras);
}
- public static final Parcelable.Creator<Option> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<Option> CREATOR
= new Parcelable.Creator<Option>() {
public Option createFromParcel(Parcel in) {
return new Option(in);
@@ -869,7 +869,7 @@
dest.writeCharSequence(mVisualPrompt);
}
- public static final Creator<Prompt> CREATOR
+ public static final @android.annotation.NonNull Creator<Prompt> CREATOR
= new Creator<Prompt>() {
public Prompt createFromParcel(Parcel in) {
return new Prompt(in);
diff --git a/core/java/android/app/Vr2dDisplayProperties.java b/core/java/android/app/Vr2dDisplayProperties.java
index 1752131..bcb8592 100644
--- a/core/java/android/app/Vr2dDisplayProperties.java
+++ b/core/java/android/app/Vr2dDisplayProperties.java
@@ -112,7 +112,7 @@
dest.writeInt(mRemovedFlags);
}
- public static final Parcelable.Creator<Vr2dDisplayProperties> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<Vr2dDisplayProperties> CREATOR
= new Parcelable.Creator<Vr2dDisplayProperties>() {
@Override
public Vr2dDisplayProperties createFromParcel(Parcel source) {
diff --git a/core/java/android/app/WaitResult.java b/core/java/android/app/WaitResult.java
index ad9f680..d65be9b 100644
--- a/core/java/android/app/WaitResult.java
+++ b/core/java/android/app/WaitResult.java
@@ -86,7 +86,7 @@
dest.writeInt(launchState);
}
- public static final Parcelable.Creator<WaitResult> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<WaitResult> CREATOR
= new Parcelable.Creator<WaitResult>() {
@Override
public WaitResult createFromParcel(Parcel source) {
diff --git a/core/java/android/app/WallpaperColors.java b/core/java/android/app/WallpaperColors.java
index 38a98d3c8..6765d0b 100644
--- a/core/java/android/app/WallpaperColors.java
+++ b/core/java/android/app/WallpaperColors.java
@@ -260,7 +260,7 @@
mColorHints = colorHints;
}
- public static final Creator<WallpaperColors> CREATOR = new Creator<WallpaperColors>() {
+ public static final @android.annotation.NonNull Creator<WallpaperColors> CREATOR = new Creator<WallpaperColors>() {
@Override
public WallpaperColors createFromParcel(Parcel in) {
return new WallpaperColors(in);
diff --git a/core/java/android/app/WallpaperInfo.java b/core/java/android/app/WallpaperInfo.java
index 28c79aa..c2be4b0 100644
--- a/core/java/android/app/WallpaperInfo.java
+++ b/core/java/android/app/WallpaperInfo.java
@@ -423,7 +423,7 @@
/**
* Used to make this class parcelable.
*/
- public static final Parcelable.Creator<WallpaperInfo> CREATOR = new Parcelable.Creator<WallpaperInfo>() {
+ public static final @android.annotation.NonNull Parcelable.Creator<WallpaperInfo> CREATOR = new Parcelable.Creator<WallpaperInfo>() {
public WallpaperInfo createFromParcel(Parcel source) {
return new WallpaperInfo(source);
}
diff --git a/core/java/android/app/WindowConfiguration.java b/core/java/android/app/WindowConfiguration.java
index e0a15a5..affc8b9 100644
--- a/core/java/android/app/WindowConfiguration.java
+++ b/core/java/android/app/WindowConfiguration.java
@@ -239,7 +239,7 @@
}
/** @hide */
- public static final Creator<WindowConfiguration> CREATOR = new Creator<WindowConfiguration>() {
+ public static final @android.annotation.NonNull Creator<WindowConfiguration> CREATOR = new Creator<WindowConfiguration>() {
@Override
public WindowConfiguration createFromParcel(Parcel in) {
return new WindowConfiguration(in);
diff --git a/core/java/android/app/admin/ConnectEvent.java b/core/java/android/app/admin/ConnectEvent.java
index d511c57..dc32384 100644
--- a/core/java/android/app/admin/ConnectEvent.java
+++ b/core/java/android/app/admin/ConnectEvent.java
@@ -72,7 +72,7 @@
mPackageName);
}
- public static final Parcelable.Creator<ConnectEvent> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<ConnectEvent> CREATOR
= new Parcelable.Creator<ConnectEvent>() {
@Override
public ConnectEvent createFromParcel(Parcel in) {
diff --git a/core/java/android/app/admin/DeviceAdminInfo.java b/core/java/android/app/admin/DeviceAdminInfo.java
index 121161e..00903c4 100644
--- a/core/java/android/app/admin/DeviceAdminInfo.java
+++ b/core/java/android/app/admin/DeviceAdminInfo.java
@@ -525,7 +525,7 @@
/**
* Used to make this class parcelable.
*/
- public static final Parcelable.Creator<DeviceAdminInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<DeviceAdminInfo> CREATOR =
new Parcelable.Creator<DeviceAdminInfo>() {
public DeviceAdminInfo createFromParcel(Parcel source) {
return new DeviceAdminInfo(source);
diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java
index a32e01f..d593ad1 100644
--- a/core/java/android/app/admin/DevicePolicyManager.java
+++ b/core/java/android/app/admin/DevicePolicyManager.java
@@ -59,7 +59,6 @@
import android.os.Bundle;
import android.os.ParcelFileDescriptor;
import android.os.Parcelable;
-import android.os.ParcelableException;
import android.os.PersistableBundle;
import android.os.Process;
import android.os.RemoteCallback;
@@ -1453,7 +1452,7 @@
* Constant for {@link #getPasswordComplexity()}: password satisfies one of the following:
* <ul>
* <li>PIN with <b>no</b> repeating (4444) or ordered (1234, 4321, 2468) sequences, length at
- * least 4
+ * least 8
* <li>alphabetic, length at least 6
* <li>alphanumeric, length at least 6
* </ul>
diff --git a/core/java/android/app/admin/DnsEvent.java b/core/java/android/app/admin/DnsEvent.java
index a2d704b..aade934 100644
--- a/core/java/android/app/admin/DnsEvent.java
+++ b/core/java/android/app/admin/DnsEvent.java
@@ -101,7 +101,7 @@
mIpAddressesCount, mTimestamp, mPackageName);
}
- public static final Parcelable.Creator<DnsEvent> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<DnsEvent> CREATOR
= new Parcelable.Creator<DnsEvent>() {
@Override
public DnsEvent createFromParcel(Parcel in) {
diff --git a/core/java/android/app/admin/NetworkEvent.java b/core/java/android/app/admin/NetworkEvent.java
index 947e4fe..c00ec83 100644
--- a/core/java/android/app/admin/NetworkEvent.java
+++ b/core/java/android/app/admin/NetworkEvent.java
@@ -85,7 +85,7 @@
return 0;
}
- public static final Parcelable.Creator<NetworkEvent> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<NetworkEvent> CREATOR
= new Parcelable.Creator<NetworkEvent>() {
public NetworkEvent createFromParcel(Parcel in) {
final int initialPosition = in.dataPosition();
diff --git a/core/java/android/app/admin/PasswordMetrics.java b/core/java/android/app/admin/PasswordMetrics.java
index a6bf501..d71d355 100644
--- a/core/java/android/app/admin/PasswordMetrics.java
+++ b/core/java/android/app/admin/PasswordMetrics.java
@@ -210,7 +210,7 @@
dest.writeInt(nonLetter);
}
- public static final Parcelable.Creator<PasswordMetrics> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<PasswordMetrics> CREATOR
= new Parcelable.Creator<PasswordMetrics>() {
public PasswordMetrics createFromParcel(Parcel in) {
return new PasswordMetrics(in);
diff --git a/core/java/android/app/admin/SecurityLog.java b/core/java/android/app/admin/SecurityLog.java
index 170c802..6386573 100644
--- a/core/java/android/app/admin/SecurityLog.java
+++ b/core/java/android/app/admin/SecurityLog.java
@@ -602,7 +602,7 @@
dest.writeByteArray(mEvent.getBytes());
}
- public static final Parcelable.Creator<SecurityEvent> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<SecurityEvent> CREATOR =
new Parcelable.Creator<SecurityEvent>() {
@Override
public SecurityEvent createFromParcel(Parcel source) {
diff --git a/core/java/android/app/admin/SystemUpdateInfo.java b/core/java/android/app/admin/SystemUpdateInfo.java
index b0376b5..4019290 100644
--- a/core/java/android/app/admin/SystemUpdateInfo.java
+++ b/core/java/android/app/admin/SystemUpdateInfo.java
@@ -111,7 +111,7 @@
return mSecurityPatchState;
}
- public static final Creator<SystemUpdateInfo> CREATOR =
+ public static final @android.annotation.NonNull Creator<SystemUpdateInfo> CREATOR =
new Creator<SystemUpdateInfo>() {
@Override
public SystemUpdateInfo createFromParcel(Parcel in) {
diff --git a/core/java/android/app/admin/SystemUpdatePolicy.java b/core/java/android/app/admin/SystemUpdatePolicy.java
index dd72845..2ba2c04 100644
--- a/core/java/android/app/admin/SystemUpdatePolicy.java
+++ b/core/java/android/app/admin/SystemUpdatePolicy.java
@@ -280,7 +280,7 @@
dest.writeString(getMessage());
}
- public static final Parcelable.Creator<ValidationFailedException> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ValidationFailedException> CREATOR =
new Parcelable.Creator<ValidationFailedException>() {
@Override
public ValidationFailedException createFromParcel(Parcel source) {
@@ -710,7 +710,7 @@
}
}
- public static final Parcelable.Creator<SystemUpdatePolicy> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<SystemUpdatePolicy> CREATOR =
new Parcelable.Creator<SystemUpdatePolicy>() {
@Override
diff --git a/core/java/android/app/assist/AssistContent.java b/core/java/android/app/assist/AssistContent.java
index ff7e181..db6ae4f 100644
--- a/core/java/android/app/assist/AssistContent.java
+++ b/core/java/android/app/assist/AssistContent.java
@@ -216,7 +216,7 @@
writeToParcelInternal(dest, flags);
}
- public static final Parcelable.Creator<AssistContent> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<AssistContent> CREATOR
= new Parcelable.Creator<AssistContent>() {
public AssistContent createFromParcel(Parcel in) {
return new AssistContent(in);
diff --git a/core/java/android/app/assist/AssistStructure.java b/core/java/android/app/assist/AssistStructure.java
index 2b1e7cd..ed3a296 100644
--- a/core/java/android/app/assist/AssistStructure.java
+++ b/core/java/android/app/assist/AssistStructure.java
@@ -2074,7 +2074,7 @@
}
@SuppressWarnings("hiding")
- public static final Creator<HtmlInfoNode> CREATOR = new Creator<HtmlInfoNode>() {
+ public static final @android.annotation.NonNull Creator<HtmlInfoNode> CREATOR = new Creator<HtmlInfoNode>() {
@Override
public HtmlInfoNode createFromParcel(Parcel parcel) {
// Always go through the builder to ensure the data ingested by
@@ -2430,7 +2430,7 @@
}
}
- public static final Parcelable.Creator<AssistStructure> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<AssistStructure> CREATOR
= new Parcelable.Creator<AssistStructure>() {
@Override
public AssistStructure createFromParcel(Parcel in) {
diff --git a/core/java/android/app/backup/BackupProgress.java b/core/java/android/app/backup/BackupProgress.java
index 32e6212..56f69fb 100644
--- a/core/java/android/app/backup/BackupProgress.java
+++ b/core/java/android/app/backup/BackupProgress.java
@@ -52,7 +52,7 @@
out.writeLong(bytesTransferred);
}
- public static final Creator<BackupProgress> CREATOR = new Creator<BackupProgress>() {
+ public static final @android.annotation.NonNull Creator<BackupProgress> CREATOR = new Creator<BackupProgress>() {
public BackupProgress createFromParcel(Parcel in) {
return new BackupProgress(in);
}
diff --git a/core/java/android/app/backup/RestoreDescription.java b/core/java/android/app/backup/RestoreDescription.java
index 0250326..7854394 100644
--- a/core/java/android/app/backup/RestoreDescription.java
+++ b/core/java/android/app/backup/RestoreDescription.java
@@ -89,7 +89,7 @@
out.writeInt(mDataType);
}
- public static final Parcelable.Creator<RestoreDescription> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<RestoreDescription> CREATOR
= new Parcelable.Creator<RestoreDescription>() {
public RestoreDescription createFromParcel(Parcel in) {
final RestoreDescription unparceled = new RestoreDescription(in);
diff --git a/core/java/android/app/backup/RestoreSet.java b/core/java/android/app/backup/RestoreSet.java
index 4a6316c..6759346 100644
--- a/core/java/android/app/backup/RestoreSet.java
+++ b/core/java/android/app/backup/RestoreSet.java
@@ -69,7 +69,7 @@
out.writeLong(token);
}
- public static final Parcelable.Creator<RestoreSet> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<RestoreSet> CREATOR
= new Parcelable.Creator<RestoreSet>() {
public RestoreSet createFromParcel(Parcel in) {
return new RestoreSet(in);
diff --git a/core/java/android/app/contentsuggestions/ClassificationsRequest.java b/core/java/android/app/contentsuggestions/ClassificationsRequest.java
index 9bb39e5..1b50015 100644
--- a/core/java/android/app/contentsuggestions/ClassificationsRequest.java
+++ b/core/java/android/app/contentsuggestions/ClassificationsRequest.java
@@ -71,7 +71,7 @@
dest.writeBundle(mExtras);
}
- public static final Creator<ClassificationsRequest> CREATOR =
+ public static final @android.annotation.NonNull Creator<ClassificationsRequest> CREATOR =
new Creator<ClassificationsRequest>() {
@Override
public ClassificationsRequest createFromParcel(Parcel source) {
diff --git a/core/java/android/app/contentsuggestions/ContentClassification.java b/core/java/android/app/contentsuggestions/ContentClassification.java
index 2a00b40..2317e4a 100644
--- a/core/java/android/app/contentsuggestions/ContentClassification.java
+++ b/core/java/android/app/contentsuggestions/ContentClassification.java
@@ -71,7 +71,7 @@
dest.writeBundle(mExtras);
}
- public static final Creator<ContentClassification> CREATOR =
+ public static final @android.annotation.NonNull Creator<ContentClassification> CREATOR =
new Creator<ContentClassification>() {
@Override
public ContentClassification createFromParcel(Parcel source) {
diff --git a/core/java/android/app/contentsuggestions/ContentSelection.java b/core/java/android/app/contentsuggestions/ContentSelection.java
index 16b4f3f..4c83f59 100644
--- a/core/java/android/app/contentsuggestions/ContentSelection.java
+++ b/core/java/android/app/contentsuggestions/ContentSelection.java
@@ -71,7 +71,7 @@
dest.writeBundle(mExtras);
}
- public static final Creator<ContentSelection> CREATOR =
+ public static final @android.annotation.NonNull Creator<ContentSelection> CREATOR =
new Creator<ContentSelection>() {
@Override
public ContentSelection createFromParcel(Parcel source) {
diff --git a/core/java/android/app/contentsuggestions/SelectionsRequest.java b/core/java/android/app/contentsuggestions/SelectionsRequest.java
index e3c8bc5..257f98d 100644
--- a/core/java/android/app/contentsuggestions/SelectionsRequest.java
+++ b/core/java/android/app/contentsuggestions/SelectionsRequest.java
@@ -81,7 +81,7 @@
dest.writeBundle(mExtras);
}
- public static final Creator<SelectionsRequest> CREATOR =
+ public static final @android.annotation.NonNull Creator<SelectionsRequest> CREATOR =
new Creator<SelectionsRequest>() {
@Override
public SelectionsRequest createFromParcel(Parcel source) {
diff --git a/core/java/android/app/job/JobInfo.java b/core/java/android/app/job/JobInfo.java
index e7fe161..907d1f7 100644
--- a/core/java/android/app/job/JobInfo.java
+++ b/core/java/android/app/job/JobInfo.java
@@ -870,7 +870,7 @@
out.writeInt(this.flags);
}
- public static final Creator<JobInfo> CREATOR = new Creator<JobInfo>() {
+ public static final @android.annotation.NonNull Creator<JobInfo> CREATOR = new Creator<JobInfo>() {
@Override
public JobInfo createFromParcel(Parcel in) {
return new JobInfo(in);
@@ -963,7 +963,7 @@
out.writeInt(mFlags);
}
- public static final Creator<TriggerContentUri> CREATOR = new Creator<TriggerContentUri>() {
+ public static final @android.annotation.NonNull Creator<TriggerContentUri> CREATOR = new Creator<TriggerContentUri>() {
@Override
public TriggerContentUri createFromParcel(Parcel in) {
return new TriggerContentUri(in);
diff --git a/core/java/android/app/job/JobParameters.java b/core/java/android/app/job/JobParameters.java
index 3cc56ae..dadfe3d 100644
--- a/core/java/android/app/job/JobParameters.java
+++ b/core/java/android/app/job/JobParameters.java
@@ -344,7 +344,7 @@
dest.writeString(debugStopReason);
}
- public static final Creator<JobParameters> CREATOR = new Creator<JobParameters>() {
+ public static final @android.annotation.NonNull Creator<JobParameters> CREATOR = new Creator<JobParameters>() {
@Override
public JobParameters createFromParcel(Parcel in) {
return new JobParameters(in);
diff --git a/core/java/android/app/job/JobSnapshot.java b/core/java/android/app/job/JobSnapshot.java
index ceeaab7..2c58908 100644
--- a/core/java/android/app/job/JobSnapshot.java
+++ b/core/java/android/app/job/JobSnapshot.java
@@ -105,7 +105,7 @@
out.writeBoolean(mIsRunnable);
}
- public static final Creator<JobSnapshot> CREATOR = new Creator<JobSnapshot>() {
+ public static final @android.annotation.NonNull Creator<JobSnapshot> CREATOR = new Creator<JobSnapshot>() {
@Override
public JobSnapshot createFromParcel(Parcel in) {
return new JobSnapshot(in);
diff --git a/core/java/android/app/job/JobWorkItem.java b/core/java/android/app/job/JobWorkItem.java
index f804681..a055ab4 100644
--- a/core/java/android/app/job/JobWorkItem.java
+++ b/core/java/android/app/job/JobWorkItem.java
@@ -214,7 +214,7 @@
out.writeInt(mWorkId);
}
- public static final Parcelable.Creator<JobWorkItem> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<JobWorkItem> CREATOR
= new Parcelable.Creator<JobWorkItem>() {
public JobWorkItem createFromParcel(Parcel in) {
return new JobWorkItem(in);
diff --git a/core/java/android/app/prediction/AppPredictionContext.java b/core/java/android/app/prediction/AppPredictionContext.java
index 2fbe6e36..2da4671 100644
--- a/core/java/android/app/prediction/AppPredictionContext.java
+++ b/core/java/android/app/prediction/AppPredictionContext.java
@@ -101,7 +101,7 @@
/**
* @see Parcelable.Creator
*/
- public static final Parcelable.Creator<AppPredictionContext> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<AppPredictionContext> CREATOR =
new Parcelable.Creator<AppPredictionContext>() {
public AppPredictionContext createFromParcel(Parcel parcel) {
return new AppPredictionContext(parcel);
diff --git a/core/java/android/app/prediction/AppPredictionSessionId.java b/core/java/android/app/prediction/AppPredictionSessionId.java
index 1e76c24..1c5d8b4 100644
--- a/core/java/android/app/prediction/AppPredictionSessionId.java
+++ b/core/java/android/app/prediction/AppPredictionSessionId.java
@@ -75,7 +75,7 @@
/**
* @see Parcelable.Creator
*/
- public static final Parcelable.Creator<AppPredictionSessionId> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<AppPredictionSessionId> CREATOR =
new Parcelable.Creator<AppPredictionSessionId>() {
public AppPredictionSessionId createFromParcel(Parcel parcel) {
return new AppPredictionSessionId(parcel);
diff --git a/core/java/android/app/prediction/AppTarget.java b/core/java/android/app/prediction/AppTarget.java
index b924cec..752c92b 100644
--- a/core/java/android/app/prediction/AppTarget.java
+++ b/core/java/android/app/prediction/AppTarget.java
@@ -183,7 +183,7 @@
/**
* @see Parcelable.Creator
*/
- public static final Parcelable.Creator<AppTarget> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<AppTarget> CREATOR =
new Parcelable.Creator<AppTarget>() {
public AppTarget createFromParcel(Parcel parcel) {
return new AppTarget(parcel);
diff --git a/core/java/android/app/prediction/AppTargetEvent.java b/core/java/android/app/prediction/AppTargetEvent.java
index 37e41de..01452df 100644
--- a/core/java/android/app/prediction/AppTargetEvent.java
+++ b/core/java/android/app/prediction/AppTargetEvent.java
@@ -122,7 +122,7 @@
/**
* @see Creator
*/
- public static final Creator<AppTargetEvent> CREATOR =
+ public static final @android.annotation.NonNull Creator<AppTargetEvent> CREATOR =
new Creator<AppTargetEvent>() {
public AppTargetEvent createFromParcel(Parcel parcel) {
return new AppTargetEvent(parcel);
diff --git a/core/java/android/app/prediction/AppTargetId.java b/core/java/android/app/prediction/AppTargetId.java
index 639ba78..aa2ec1f 100644
--- a/core/java/android/app/prediction/AppTargetId.java
+++ b/core/java/android/app/prediction/AppTargetId.java
@@ -83,7 +83,7 @@
/**
* @see Creator
*/
- public static final Creator<AppTargetId> CREATOR =
+ public static final @android.annotation.NonNull Creator<AppTargetId> CREATOR =
new Creator<AppTargetId>() {
public AppTargetId createFromParcel(Parcel parcel) {
return new AppTargetId(parcel);
diff --git a/core/java/android/app/servertransaction/ActivityConfigurationChangeItem.java b/core/java/android/app/servertransaction/ActivityConfigurationChangeItem.java
index 8ee9e53..0d4e16b 100644
--- a/core/java/android/app/servertransaction/ActivityConfigurationChangeItem.java
+++ b/core/java/android/app/servertransaction/ActivityConfigurationChangeItem.java
@@ -86,7 +86,7 @@
mConfiguration = in.readTypedObject(Configuration.CREATOR);
}
- public static final Creator<ActivityConfigurationChangeItem> CREATOR =
+ public static final @android.annotation.NonNull Creator<ActivityConfigurationChangeItem> CREATOR =
new Creator<ActivityConfigurationChangeItem>() {
public ActivityConfigurationChangeItem createFromParcel(Parcel in) {
return new ActivityConfigurationChangeItem(in);
diff --git a/core/java/android/app/servertransaction/ActivityRelaunchItem.java b/core/java/android/app/servertransaction/ActivityRelaunchItem.java
index d8a7463..9844de7 100644
--- a/core/java/android/app/servertransaction/ActivityRelaunchItem.java
+++ b/core/java/android/app/servertransaction/ActivityRelaunchItem.java
@@ -130,7 +130,7 @@
mPreserveWindow = in.readBoolean();
}
- public static final Creator<ActivityRelaunchItem> CREATOR =
+ public static final @android.annotation.NonNull Creator<ActivityRelaunchItem> CREATOR =
new Creator<ActivityRelaunchItem>() {
public ActivityRelaunchItem createFromParcel(Parcel in) {
return new ActivityRelaunchItem(in);
diff --git a/core/java/android/app/servertransaction/ActivityResultItem.java b/core/java/android/app/servertransaction/ActivityResultItem.java
index bab17dc..52ec3e6 100644
--- a/core/java/android/app/servertransaction/ActivityResultItem.java
+++ b/core/java/android/app/servertransaction/ActivityResultItem.java
@@ -88,7 +88,7 @@
mResultInfoList = in.createTypedArrayList(ResultInfo.CREATOR);
}
- public static final Parcelable.Creator<ActivityResultItem> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ActivityResultItem> CREATOR =
new Parcelable.Creator<ActivityResultItem>() {
public ActivityResultItem createFromParcel(Parcel in) {
return new ActivityResultItem(in);
diff --git a/core/java/android/app/servertransaction/ClientTransaction.java b/core/java/android/app/servertransaction/ClientTransaction.java
index f1d87ac..b08e5973 100644
--- a/core/java/android/app/servertransaction/ClientTransaction.java
+++ b/core/java/android/app/servertransaction/ClientTransaction.java
@@ -204,7 +204,7 @@
}
}
- public static final Creator<ClientTransaction> CREATOR =
+ public static final @android.annotation.NonNull Creator<ClientTransaction> CREATOR =
new Creator<ClientTransaction>() {
public ClientTransaction createFromParcel(Parcel in) {
return new ClientTransaction(in);
diff --git a/core/java/android/app/servertransaction/ConfigurationChangeItem.java b/core/java/android/app/servertransaction/ConfigurationChangeItem.java
index 4ab7251..0f244d0 100644
--- a/core/java/android/app/servertransaction/ConfigurationChangeItem.java
+++ b/core/java/android/app/servertransaction/ConfigurationChangeItem.java
@@ -78,7 +78,7 @@
mConfiguration = in.readTypedObject(Configuration.CREATOR);
}
- public static final Creator<ConfigurationChangeItem> CREATOR =
+ public static final @android.annotation.NonNull Creator<ConfigurationChangeItem> CREATOR =
new Creator<ConfigurationChangeItem>() {
public ConfigurationChangeItem createFromParcel(Parcel in) {
return new ConfigurationChangeItem(in);
diff --git a/core/java/android/app/servertransaction/DestroyActivityItem.java b/core/java/android/app/servertransaction/DestroyActivityItem.java
index 5941486..3ee7614 100644
--- a/core/java/android/app/servertransaction/DestroyActivityItem.java
+++ b/core/java/android/app/servertransaction/DestroyActivityItem.java
@@ -92,7 +92,7 @@
mConfigChanges = in.readInt();
}
- public static final Creator<DestroyActivityItem> CREATOR =
+ public static final @android.annotation.NonNull Creator<DestroyActivityItem> CREATOR =
new Creator<DestroyActivityItem>() {
public DestroyActivityItem createFromParcel(Parcel in) {
return new DestroyActivityItem(in);
diff --git a/core/java/android/app/servertransaction/LaunchActivityItem.java b/core/java/android/app/servertransaction/LaunchActivityItem.java
index ed793bf..db22f8d 100644
--- a/core/java/android/app/servertransaction/LaunchActivityItem.java
+++ b/core/java/android/app/servertransaction/LaunchActivityItem.java
@@ -148,7 +148,7 @@
in.readTypedObject(ProfilerInfo.CREATOR));
}
- public static final Creator<LaunchActivityItem> CREATOR =
+ public static final @android.annotation.NonNull Creator<LaunchActivityItem> CREATOR =
new Creator<LaunchActivityItem>() {
public LaunchActivityItem createFromParcel(Parcel in) {
return new LaunchActivityItem(in);
diff --git a/core/java/android/app/servertransaction/MoveToDisplayItem.java b/core/java/android/app/servertransaction/MoveToDisplayItem.java
index b3dddfb3..f6d3dbd 100644
--- a/core/java/android/app/servertransaction/MoveToDisplayItem.java
+++ b/core/java/android/app/servertransaction/MoveToDisplayItem.java
@@ -83,7 +83,7 @@
mConfiguration = in.readTypedObject(Configuration.CREATOR);
}
- public static final Creator<MoveToDisplayItem> CREATOR = new Creator<MoveToDisplayItem>() {
+ public static final @android.annotation.NonNull Creator<MoveToDisplayItem> CREATOR = new Creator<MoveToDisplayItem>() {
public MoveToDisplayItem createFromParcel(Parcel in) {
return new MoveToDisplayItem(in);
}
diff --git a/core/java/android/app/servertransaction/MultiWindowModeChangeItem.java b/core/java/android/app/servertransaction/MultiWindowModeChangeItem.java
index c3022d6..b150717 100644
--- a/core/java/android/app/servertransaction/MultiWindowModeChangeItem.java
+++ b/core/java/android/app/servertransaction/MultiWindowModeChangeItem.java
@@ -81,7 +81,7 @@
mOverrideConfig = in.readTypedObject(Configuration.CREATOR);
}
- public static final Creator<MultiWindowModeChangeItem> CREATOR =
+ public static final @android.annotation.NonNull Creator<MultiWindowModeChangeItem> CREATOR =
new Creator<MultiWindowModeChangeItem>() {
public MultiWindowModeChangeItem createFromParcel(Parcel in) {
return new MultiWindowModeChangeItem(in);
diff --git a/core/java/android/app/servertransaction/NewIntentItem.java b/core/java/android/app/servertransaction/NewIntentItem.java
index 4f28cd2..4c7f56d 100644
--- a/core/java/android/app/servertransaction/NewIntentItem.java
+++ b/core/java/android/app/servertransaction/NewIntentItem.java
@@ -92,7 +92,7 @@
mIntents = in.createTypedArrayList(ReferrerIntent.CREATOR);
}
- public static final Parcelable.Creator<NewIntentItem> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<NewIntentItem> CREATOR =
new Parcelable.Creator<NewIntentItem>() {
public NewIntentItem createFromParcel(Parcel in) {
return new NewIntentItem(in);
diff --git a/core/java/android/app/servertransaction/PauseActivityItem.java b/core/java/android/app/servertransaction/PauseActivityItem.java
index cae93b3..f65c843 100644
--- a/core/java/android/app/servertransaction/PauseActivityItem.java
+++ b/core/java/android/app/servertransaction/PauseActivityItem.java
@@ -130,7 +130,7 @@
mDontReport = in.readBoolean();
}
- public static final Creator<PauseActivityItem> CREATOR =
+ public static final @android.annotation.NonNull Creator<PauseActivityItem> CREATOR =
new Creator<PauseActivityItem>() {
public PauseActivityItem createFromParcel(Parcel in) {
return new PauseActivityItem(in);
diff --git a/core/java/android/app/servertransaction/PipModeChangeItem.java b/core/java/android/app/servertransaction/PipModeChangeItem.java
index b999cd7..1955897 100644
--- a/core/java/android/app/servertransaction/PipModeChangeItem.java
+++ b/core/java/android/app/servertransaction/PipModeChangeItem.java
@@ -79,7 +79,7 @@
mOverrideConfig = in.readTypedObject(Configuration.CREATOR);
}
- public static final Creator<PipModeChangeItem> CREATOR =
+ public static final @android.annotation.NonNull Creator<PipModeChangeItem> CREATOR =
new Creator<PipModeChangeItem>() {
public PipModeChangeItem createFromParcel(Parcel in) {
return new PipModeChangeItem(in);
diff --git a/core/java/android/app/servertransaction/ResumeActivityItem.java b/core/java/android/app/servertransaction/ResumeActivityItem.java
index a5b6f7c..905076b 100644
--- a/core/java/android/app/servertransaction/ResumeActivityItem.java
+++ b/core/java/android/app/servertransaction/ResumeActivityItem.java
@@ -128,7 +128,7 @@
mIsForward = in.readBoolean();
}
- public static final Creator<ResumeActivityItem> CREATOR =
+ public static final @android.annotation.NonNull Creator<ResumeActivityItem> CREATOR =
new Creator<ResumeActivityItem>() {
public ResumeActivityItem createFromParcel(Parcel in) {
return new ResumeActivityItem(in);
diff --git a/core/java/android/app/servertransaction/StopActivityItem.java b/core/java/android/app/servertransaction/StopActivityItem.java
index 87db206..63efa6f 100644
--- a/core/java/android/app/servertransaction/StopActivityItem.java
+++ b/core/java/android/app/servertransaction/StopActivityItem.java
@@ -95,7 +95,7 @@
mConfigChanges = in.readInt();
}
- public static final Creator<StopActivityItem> CREATOR =
+ public static final @android.annotation.NonNull Creator<StopActivityItem> CREATOR =
new Creator<StopActivityItem>() {
public StopActivityItem createFromParcel(Parcel in) {
return new StopActivityItem(in);
diff --git a/core/java/android/app/servertransaction/TopResumedActivityChangeItem.java b/core/java/android/app/servertransaction/TopResumedActivityChangeItem.java
index 4064a02..c7e4c36 100644
--- a/core/java/android/app/servertransaction/TopResumedActivityChangeItem.java
+++ b/core/java/android/app/servertransaction/TopResumedActivityChangeItem.java
@@ -17,9 +17,11 @@
import static android.os.Trace.TRACE_TAG_ACTIVITY_MANAGER;
+import android.app.ActivityTaskManager;
import android.app.ClientTransactionHandler;
import android.os.IBinder;
import android.os.Parcel;
+import android.os.RemoteException;
import android.os.Trace;
/**
@@ -38,6 +40,26 @@
Trace.traceEnd(TRACE_TAG_ACTIVITY_MANAGER);
}
+ @Override
+ public void postExecute(ClientTransactionHandler client, IBinder token,
+ PendingTransactionActions pendingActions) {
+ if (mOnTop) {
+ return;
+ }
+
+ // The loss of top resumed state can always be reported immediately in postExecute
+ // because only three cases are possible:
+ // 1. Activity is in RESUMED state now and it just handled the callback in #execute().
+ // 2. Activity wasn't RESUMED yet, which means that it didn't receive the top state yet.
+ // 3. Activity is PAUSED or in other lifecycle state after PAUSED. In this case top resumed
+ // state loss was already called right before pausing.
+ try {
+ ActivityTaskManager.getService().activityTopResumedStateLost();
+ } catch (RemoteException ex) {
+ throw ex.rethrowFromSystemServer();
+ }
+ }
+
// ObjectPoolItem implementation
@@ -75,7 +97,7 @@
mOnTop = in.readBoolean();
}
- public static final Creator<TopResumedActivityChangeItem> CREATOR =
+ public static final @android.annotation.NonNull Creator<TopResumedActivityChangeItem> CREATOR =
new Creator<TopResumedActivityChangeItem>() {
public TopResumedActivityChangeItem createFromParcel(Parcel in) {
return new TopResumedActivityChangeItem(in);
diff --git a/core/java/android/app/servertransaction/WindowVisibilityItem.java b/core/java/android/app/servertransaction/WindowVisibilityItem.java
index d9956b1..115d1ec 100644
--- a/core/java/android/app/servertransaction/WindowVisibilityItem.java
+++ b/core/java/android/app/servertransaction/WindowVisibilityItem.java
@@ -34,7 +34,8 @@
@Override
public void execute(ClientTransactionHandler client, IBinder token,
PendingTransactionActions pendingActions) {
- Trace.traceBegin(TRACE_TAG_ACTIVITY_MANAGER, "activityShowWindow");
+ Trace.traceBegin(TRACE_TAG_ACTIVITY_MANAGER,
+ mShowWindow ? "activityShowWindow" : "activityHideWindow");
client.handleWindowVisibility(token, mShowWindow);
Trace.traceEnd(TRACE_TAG_ACTIVITY_MANAGER);
}
@@ -75,7 +76,7 @@
mShowWindow = in.readBoolean();
}
- public static final Creator<WindowVisibilityItem> CREATOR =
+ public static final @android.annotation.NonNull Creator<WindowVisibilityItem> CREATOR =
new Creator<WindowVisibilityItem>() {
public WindowVisibilityItem createFromParcel(Parcel in) {
return new WindowVisibilityItem(in);
diff --git a/core/java/android/app/slice/Slice.java b/core/java/android/app/slice/Slice.java
index d1aec04..a7319f6 100644
--- a/core/java/android/app/slice/Slice.java
+++ b/core/java/android/app/slice/Slice.java
@@ -543,7 +543,7 @@
}
}
- public static final Creator<Slice> CREATOR = new Creator<Slice>() {
+ public static final @android.annotation.NonNull Creator<Slice> CREATOR = new Creator<Slice>() {
@Override
public Slice createFromParcel(Parcel in) {
return new Slice(in);
diff --git a/core/java/android/app/slice/SliceItem.java b/core/java/android/app/slice/SliceItem.java
index c058a14..ed32a1b 100644
--- a/core/java/android/app/slice/SliceItem.java
+++ b/core/java/android/app/slice/SliceItem.java
@@ -378,7 +378,7 @@
throw new RuntimeException("Unsupported type " + type);
}
- public static final Creator<SliceItem> CREATOR = new Creator<SliceItem>() {
+ public static final @android.annotation.NonNull Creator<SliceItem> CREATOR = new Creator<SliceItem>() {
@Override
public SliceItem createFromParcel(Parcel in) {
return new SliceItem(in);
diff --git a/core/java/android/app/slice/SliceSpec.java b/core/java/android/app/slice/SliceSpec.java
index b3790e2..b1080e0 100644
--- a/core/java/android/app/slice/SliceSpec.java
+++ b/core/java/android/app/slice/SliceSpec.java
@@ -108,7 +108,7 @@
return String.format("SliceSpec{%s,%d}", mType, mRevision);
}
- public static final Creator<SliceSpec> CREATOR = new Creator<SliceSpec>() {
+ public static final @android.annotation.NonNull Creator<SliceSpec> CREATOR = new Creator<SliceSpec>() {
@Override
public SliceSpec createFromParcel(Parcel source) {
return new SliceSpec(source);
diff --git a/core/java/android/app/timedetector/TimeSignal.java b/core/java/android/app/timedetector/TimeSignal.java
index 7ba03cc..da21794 100644
--- a/core/java/android/app/timedetector/TimeSignal.java
+++ b/core/java/android/app/timedetector/TimeSignal.java
@@ -33,7 +33,7 @@
*/
public final class TimeSignal implements Parcelable {
- public static final Parcelable.Creator<TimeSignal> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<TimeSignal> CREATOR =
new Parcelable.Creator<TimeSignal>() {
public TimeSignal createFromParcel(Parcel in) {
return TimeSignal.createFromParcel(in);
diff --git a/core/java/android/app/timezone/DistroFormatVersion.java b/core/java/android/app/timezone/DistroFormatVersion.java
index be732e4..04e3142 100644
--- a/core/java/android/app/timezone/DistroFormatVersion.java
+++ b/core/java/android/app/timezone/DistroFormatVersion.java
@@ -45,7 +45,7 @@
mMinorVersion = Utils.validateVersion("minor", minorVersion);
}
- public static final Creator<DistroFormatVersion> CREATOR = new Creator<DistroFormatVersion>() {
+ public static final @android.annotation.NonNull Creator<DistroFormatVersion> CREATOR = new Creator<DistroFormatVersion>() {
public DistroFormatVersion createFromParcel(Parcel in) {
int majorVersion = in.readInt();
int minorVersion = in.readInt();
diff --git a/core/java/android/app/timezone/DistroRulesVersion.java b/core/java/android/app/timezone/DistroRulesVersion.java
index a680594..3fae161 100644
--- a/core/java/android/app/timezone/DistroRulesVersion.java
+++ b/core/java/android/app/timezone/DistroRulesVersion.java
@@ -46,7 +46,7 @@
mRevision = validateVersion("revision", revision);
}
- public static final Creator<DistroRulesVersion> CREATOR = new Creator<DistroRulesVersion>() {
+ public static final @android.annotation.NonNull Creator<DistroRulesVersion> CREATOR = new Creator<DistroRulesVersion>() {
public DistroRulesVersion createFromParcel(Parcel in) {
String rulesVersion = in.readString();
int revision = in.readInt();
diff --git a/core/java/android/app/timezone/RulesState.java b/core/java/android/app/timezone/RulesState.java
index 38dd1eb..d35967d 100644
--- a/core/java/android/app/timezone/RulesState.java
+++ b/core/java/android/app/timezone/RulesState.java
@@ -182,7 +182,7 @@
return mBaseRulesVersion.compareTo(distroRulesVersion.getRulesVersion()) > 0;
}
- public static final Parcelable.Creator<RulesState> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<RulesState> CREATOR =
new Parcelable.Creator<RulesState>() {
public RulesState createFromParcel(Parcel in) {
return RulesState.createFromParcel(in);
diff --git a/core/java/android/app/usage/AppStandbyInfo.java b/core/java/android/app/usage/AppStandbyInfo.java
index 51fe0e2..ebdbf83 100644
--- a/core/java/android/app/usage/AppStandbyInfo.java
+++ b/core/java/android/app/usage/AppStandbyInfo.java
@@ -50,7 +50,7 @@
dest.writeInt(mStandbyBucket);
}
- public static final Creator<AppStandbyInfo> CREATOR = new Creator<AppStandbyInfo>() {
+ public static final @android.annotation.NonNull Creator<AppStandbyInfo> CREATOR = new Creator<AppStandbyInfo>() {
@Override
public AppStandbyInfo createFromParcel(Parcel source) {
return new AppStandbyInfo(source);
diff --git a/core/java/android/app/usage/CacheQuotaHint.java b/core/java/android/app/usage/CacheQuotaHint.java
index 1d5c2b0..b92d538 100644
--- a/core/java/android/app/usage/CacheQuotaHint.java
+++ b/core/java/android/app/usage/CacheQuotaHint.java
@@ -140,7 +140,7 @@
}
}
- public static final Parcelable.Creator<CacheQuotaHint> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<CacheQuotaHint> CREATOR =
new Creator<CacheQuotaHint>() {
@Override
public CacheQuotaHint createFromParcel(Parcel in) {
diff --git a/core/java/android/app/usage/ConfigurationStats.java b/core/java/android/app/usage/ConfigurationStats.java
index 87a737d..da3b769 100644
--- a/core/java/android/app/usage/ConfigurationStats.java
+++ b/core/java/android/app/usage/ConfigurationStats.java
@@ -146,7 +146,7 @@
dest.writeInt(mActivationCount);
}
- public static final Creator<ConfigurationStats> CREATOR = new Creator<ConfigurationStats>() {
+ public static final @android.annotation.NonNull Creator<ConfigurationStats> CREATOR = new Creator<ConfigurationStats>() {
@Override
public ConfigurationStats createFromParcel(Parcel source) {
ConfigurationStats stats = new ConfigurationStats();
diff --git a/core/java/android/app/usage/EventStats.java b/core/java/android/app/usage/EventStats.java
index ea95a05..7ada092 100644
--- a/core/java/android/app/usage/EventStats.java
+++ b/core/java/android/app/usage/EventStats.java
@@ -160,7 +160,7 @@
dest.writeInt(mCount);
}
- public static final Creator<EventStats> CREATOR = new Creator<EventStats>() {
+ public static final @android.annotation.NonNull Creator<EventStats> CREATOR = new Creator<EventStats>() {
@Override
public EventStats createFromParcel(Parcel in) {
EventStats stats = new EventStats();
diff --git a/core/java/android/app/usage/ExternalStorageStats.java b/core/java/android/app/usage/ExternalStorageStats.java
index f00e5c2..3a51207 100644
--- a/core/java/android/app/usage/ExternalStorageStats.java
+++ b/core/java/android/app/usage/ExternalStorageStats.java
@@ -131,7 +131,7 @@
dest.writeLong(obbBytes);
}
- public static final Creator<ExternalStorageStats> CREATOR = new Creator<ExternalStorageStats>() {
+ public static final @android.annotation.NonNull Creator<ExternalStorageStats> CREATOR = new Creator<ExternalStorageStats>() {
@Override
public ExternalStorageStats createFromParcel(Parcel in) {
return new ExternalStorageStats(in);
diff --git a/core/java/android/app/usage/StorageStats.java b/core/java/android/app/usage/StorageStats.java
index 3a27751..a2ff159 100644
--- a/core/java/android/app/usage/StorageStats.java
+++ b/core/java/android/app/usage/StorageStats.java
@@ -106,7 +106,7 @@
dest.writeLong(cacheBytes);
}
- public static final Creator<StorageStats> CREATOR = new Creator<StorageStats>() {
+ public static final @android.annotation.NonNull Creator<StorageStats> CREATOR = new Creator<StorageStats>() {
@Override
public StorageStats createFromParcel(Parcel in) {
return new StorageStats(in);
diff --git a/core/java/android/app/usage/UsageEvents.java b/core/java/android/app/usage/UsageEvents.java
index fafea34..0d0e466 100644
--- a/core/java/android/app/usage/UsageEvents.java
+++ b/core/java/android/app/usage/UsageEvents.java
@@ -880,7 +880,7 @@
dest.writeBlob(data.marshall());
}
- public static final Creator<UsageEvents> CREATOR = new Creator<UsageEvents>() {
+ public static final @android.annotation.NonNull Creator<UsageEvents> CREATOR = new Creator<UsageEvents>() {
@Override
public UsageEvents createFromParcel(Parcel source) {
return new UsageEvents(source);
diff --git a/core/java/android/app/usage/UsageStats.java b/core/java/android/app/usage/UsageStats.java
index 97efa01..2c021cc 100644
--- a/core/java/android/app/usage/UsageStats.java
+++ b/core/java/android/app/usage/UsageStats.java
@@ -636,7 +636,7 @@
return bundle;
}
- public static final Creator<UsageStats> CREATOR = new Creator<UsageStats>() {
+ public static final @android.annotation.NonNull Creator<UsageStats> CREATOR = new Creator<UsageStats>() {
@Override
public UsageStats createFromParcel(Parcel in) {
UsageStats stats = new UsageStats();
diff --git a/core/java/android/app/usage/UsageStatsManager.java b/core/java/android/app/usage/UsageStatsManager.java
index 9c6bd92..d34e6d3 100644
--- a/core/java/android/app/usage/UsageStatsManager.java
+++ b/core/java/android/app/usage/UsageStatsManager.java
@@ -195,6 +195,8 @@
/** @hide */
public static final int REASON_SUB_USAGE_EXEMPTED_SYNC_START = 0x000D;
/** @hide */
+ public static final int REASON_SUB_USAGE_UNEXEMPTED_SYNC_SCHEDULED = 0x000E;
+ /** @hide */
public static final int REASON_SUB_PREDICTED_RESTORED = 0x0001;
@@ -972,6 +974,9 @@
case REASON_SUB_USAGE_EXEMPTED_SYNC_START:
sb.append("-es");
break;
+ case REASON_SUB_USAGE_UNEXEMPTED_SYNC_SCHEDULED:
+ sb.append("-uss");
+ break;
}
break;
}
diff --git a/core/java/android/app/usage/UsageStatsManagerInternal.java b/core/java/android/app/usage/UsageStatsManagerInternal.java
index 43ce521..bbec6b3 100644
--- a/core/java/android/app/usage/UsageStatsManagerInternal.java
+++ b/core/java/android/app/usage/UsageStatsManagerInternal.java
@@ -257,12 +257,14 @@
int numDeferredJobs, long timeSinceLastJobRun);
/**
- * Report a sync is scheduled by a foreground app.
+ * Report a sync that was scheduled.
*
* @param packageName name of the package that owns the sync adapter.
* @param userId which user the app is associated with
+ * @param exempted is sync app standby exempted
*/
- public abstract void reportExemptedSyncScheduled(String packageName, @UserIdInt int userId);
+ public abstract void reportSyncScheduled(String packageName, @UserIdInt int userId,
+ boolean exempted);
/**
* Report a sync that was scheduled by a foreground app is about to be executed.
diff --git a/core/java/android/appwidget/AppWidgetProviderInfo.java b/core/java/android/appwidget/AppWidgetProviderInfo.java
index d148afb..2faa900 100644
--- a/core/java/android/appwidget/AppWidgetProviderInfo.java
+++ b/core/java/android/appwidget/AppWidgetProviderInfo.java
@@ -446,7 +446,7 @@
/**
* Parcelable.Creator that instantiates AppWidgetProviderInfo objects
*/
- public static final Parcelable.Creator<AppWidgetProviderInfo> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<AppWidgetProviderInfo> CREATOR
= new Parcelable.Creator<AppWidgetProviderInfo>()
{
public AppWidgetProviderInfo createFromParcel(Parcel parcel)
diff --git a/core/java/android/appwidget/PendingHostUpdate.java b/core/java/android/appwidget/PendingHostUpdate.java
index 5780319..e1bf159 100644
--- a/core/java/android/appwidget/PendingHostUpdate.java
+++ b/core/java/android/appwidget/PendingHostUpdate.java
@@ -112,7 +112,7 @@
/**
* Parcelable.Creator that instantiates PendingHostUpdate objects
*/
- public static final Parcelable.Creator<PendingHostUpdate> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<PendingHostUpdate> CREATOR
= new Parcelable.Creator<PendingHostUpdate>() {
public PendingHostUpdate createFromParcel(Parcel parcel) {
return new PendingHostUpdate(parcel);
diff --git a/core/java/android/bluetooth/BluetoothActivityEnergyInfo.java b/core/java/android/bluetooth/BluetoothActivityEnergyInfo.java
index 43b79db..df065bf 100644
--- a/core/java/android/bluetooth/BluetoothActivityEnergyInfo.java
+++ b/core/java/android/bluetooth/BluetoothActivityEnergyInfo.java
@@ -76,7 +76,7 @@
+ " }";
}
- public static final Parcelable.Creator<BluetoothActivityEnergyInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<BluetoothActivityEnergyInfo> CREATOR =
new Parcelable.Creator<BluetoothActivityEnergyInfo>() {
public BluetoothActivityEnergyInfo createFromParcel(Parcel in) {
return new BluetoothActivityEnergyInfo(in);
diff --git a/core/java/android/bluetooth/BluetoothAudioConfig.java b/core/java/android/bluetooth/BluetoothAudioConfig.java
index a441056..9591a70 100644
--- a/core/java/android/bluetooth/BluetoothAudioConfig.java
+++ b/core/java/android/bluetooth/BluetoothAudioConfig.java
@@ -64,7 +64,7 @@
return 0;
}
- public static final Parcelable.Creator<BluetoothAudioConfig> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<BluetoothAudioConfig> CREATOR =
new Parcelable.Creator<BluetoothAudioConfig>() {
public BluetoothAudioConfig createFromParcel(Parcel in) {
int sampleRate = in.readInt();
diff --git a/core/java/android/bluetooth/BluetoothAvrcpPlayerSettings.java b/core/java/android/bluetooth/BluetoothAvrcpPlayerSettings.java
index 3d3d80e..30aea1a 100644
--- a/core/java/android/bluetooth/BluetoothAvrcpPlayerSettings.java
+++ b/core/java/android/bluetooth/BluetoothAvrcpPlayerSettings.java
@@ -118,7 +118,7 @@
}
}
- public static final Parcelable.Creator<BluetoothAvrcpPlayerSettings> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<BluetoothAvrcpPlayerSettings> CREATOR =
new Parcelable.Creator<BluetoothAvrcpPlayerSettings>() {
public BluetoothAvrcpPlayerSettings createFromParcel(Parcel in) {
return new BluetoothAvrcpPlayerSettings(in);
diff --git a/core/java/android/bluetooth/BluetoothClass.java b/core/java/android/bluetooth/BluetoothClass.java
index 1edbacb..260e2fb 100755
--- a/core/java/android/bluetooth/BluetoothClass.java
+++ b/core/java/android/bluetooth/BluetoothClass.java
@@ -94,7 +94,7 @@
return 0;
}
- public static final Parcelable.Creator<BluetoothClass> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<BluetoothClass> CREATOR =
new Parcelable.Creator<BluetoothClass>() {
public BluetoothClass createFromParcel(Parcel in) {
return new BluetoothClass(in.readInt());
diff --git a/core/java/android/bluetooth/BluetoothCodecConfig.java b/core/java/android/bluetooth/BluetoothCodecConfig.java
index c9d0ef2..591c418 100644
--- a/core/java/android/bluetooth/BluetoothCodecConfig.java
+++ b/core/java/android/bluetooth/BluetoothCodecConfig.java
@@ -247,7 +247,7 @@
return 0;
}
- public static final Parcelable.Creator<BluetoothCodecConfig> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<BluetoothCodecConfig> CREATOR =
new Parcelable.Creator<BluetoothCodecConfig>() {
public BluetoothCodecConfig createFromParcel(Parcel in) {
final int codecType = in.readInt();
diff --git a/core/java/android/bluetooth/BluetoothCodecStatus.java b/core/java/android/bluetooth/BluetoothCodecStatus.java
index 2cb7b2d..8eae2b4 100644
--- a/core/java/android/bluetooth/BluetoothCodecStatus.java
+++ b/core/java/android/bluetooth/BluetoothCodecStatus.java
@@ -108,7 +108,7 @@
return 0;
}
- public static final Parcelable.Creator<BluetoothCodecStatus> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<BluetoothCodecStatus> CREATOR =
new Parcelable.Creator<BluetoothCodecStatus>() {
public BluetoothCodecStatus createFromParcel(Parcel in) {
final BluetoothCodecConfig codecConfig = in.readTypedObject(
diff --git a/core/java/android/bluetooth/BluetoothDevice.java b/core/java/android/bluetooth/BluetoothDevice.java
index 4d8dc35..f718415 100644
--- a/core/java/android/bluetooth/BluetoothDevice.java
+++ b/core/java/android/bluetooth/BluetoothDevice.java
@@ -959,7 +959,7 @@
return 0;
}
- public static final Parcelable.Creator<BluetoothDevice> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<BluetoothDevice> CREATOR =
new Parcelable.Creator<BluetoothDevice>() {
public BluetoothDevice createFromParcel(Parcel in) {
return new BluetoothDevice(in.readString());
diff --git a/core/java/android/bluetooth/BluetoothGattCharacteristic.java b/core/java/android/bluetooth/BluetoothGattCharacteristic.java
index 6d46b3a..edacf3e 100644
--- a/core/java/android/bluetooth/BluetoothGattCharacteristic.java
+++ b/core/java/android/bluetooth/BluetoothGattCharacteristic.java
@@ -302,7 +302,7 @@
out.writeTypedList(mDescriptors);
}
- public static final Parcelable.Creator<BluetoothGattCharacteristic> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<BluetoothGattCharacteristic> CREATOR =
new Parcelable.Creator<BluetoothGattCharacteristic>() {
public BluetoothGattCharacteristic createFromParcel(Parcel in) {
return new BluetoothGattCharacteristic(in);
diff --git a/core/java/android/bluetooth/BluetoothGattDescriptor.java b/core/java/android/bluetooth/BluetoothGattDescriptor.java
index 3ffbb9e..0783cd2 100644
--- a/core/java/android/bluetooth/BluetoothGattDescriptor.java
+++ b/core/java/android/bluetooth/BluetoothGattDescriptor.java
@@ -177,7 +177,7 @@
out.writeInt(mPermissions);
}
- public static final Parcelable.Creator<BluetoothGattDescriptor> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<BluetoothGattDescriptor> CREATOR =
new Parcelable.Creator<BluetoothGattDescriptor>() {
public BluetoothGattDescriptor createFromParcel(Parcel in) {
return new BluetoothGattDescriptor(in);
diff --git a/core/java/android/bluetooth/BluetoothGattIncludedService.java b/core/java/android/bluetooth/BluetoothGattIncludedService.java
index bccf20e..5580619 100644
--- a/core/java/android/bluetooth/BluetoothGattIncludedService.java
+++ b/core/java/android/bluetooth/BluetoothGattIncludedService.java
@@ -64,7 +64,7 @@
out.writeInt(mServiceType);
}
- public static final Parcelable.Creator<BluetoothGattIncludedService> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<BluetoothGattIncludedService> CREATOR =
new Parcelable.Creator<BluetoothGattIncludedService>() {
public BluetoothGattIncludedService createFromParcel(Parcel in) {
return new BluetoothGattIncludedService(in);
diff --git a/core/java/android/bluetooth/BluetoothGattService.java b/core/java/android/bluetooth/BluetoothGattService.java
index 8e740ee..c20faf9 100644
--- a/core/java/android/bluetooth/BluetoothGattService.java
+++ b/core/java/android/bluetooth/BluetoothGattService.java
@@ -165,7 +165,7 @@
out.writeTypedList(includedServices);
}
- public static final Parcelable.Creator<BluetoothGattService> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<BluetoothGattService> CREATOR =
new Parcelable.Creator<BluetoothGattService>() {
public BluetoothGattService createFromParcel(Parcel in) {
return new BluetoothGattService(in);
diff --git a/core/java/android/bluetooth/BluetoothHeadsetClientCall.java b/core/java/android/bluetooth/BluetoothHeadsetClientCall.java
index e02a2f4..7165dd5 100644
--- a/core/java/android/bluetooth/BluetoothHeadsetClientCall.java
+++ b/core/java/android/bluetooth/BluetoothHeadsetClientCall.java
@@ -280,7 +280,7 @@
/**
* {@link Parcelable.Creator} interface implementation.
*/
- public static final Parcelable.Creator<BluetoothHeadsetClientCall> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<BluetoothHeadsetClientCall> CREATOR =
new Parcelable.Creator<BluetoothHeadsetClientCall>() {
@Override
public BluetoothHeadsetClientCall createFromParcel(Parcel in) {
diff --git a/core/java/android/bluetooth/BluetoothHealthAppConfiguration.java b/core/java/android/bluetooth/BluetoothHealthAppConfiguration.java
index 9788bbf..88e06e5 100644
--- a/core/java/android/bluetooth/BluetoothHealthAppConfiguration.java
+++ b/core/java/android/bluetooth/BluetoothHealthAppConfiguration.java
@@ -90,7 +90,7 @@
* {@link BluetoothDevice#createL2capChannel(int)}
*/
@Deprecated
- public static final Parcelable.Creator<BluetoothHealthAppConfiguration> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<BluetoothHealthAppConfiguration> CREATOR =
new Parcelable.Creator<BluetoothHealthAppConfiguration>() {
@Override
public BluetoothHealthAppConfiguration createFromParcel(Parcel in) {
diff --git a/core/java/android/bluetooth/BluetoothHidDeviceAppQosSettings.java b/core/java/android/bluetooth/BluetoothHidDeviceAppQosSettings.java
index a485b89..b21ebe5 100644
--- a/core/java/android/bluetooth/BluetoothHidDeviceAppQosSettings.java
+++ b/core/java/android/bluetooth/BluetoothHidDeviceAppQosSettings.java
@@ -98,7 +98,7 @@
return 0;
}
- public static final Parcelable.Creator<BluetoothHidDeviceAppQosSettings> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<BluetoothHidDeviceAppQosSettings> CREATOR =
new Parcelable.Creator<BluetoothHidDeviceAppQosSettings>() {
@Override
diff --git a/core/java/android/bluetooth/BluetoothHidDeviceAppSdpSettings.java b/core/java/android/bluetooth/BluetoothHidDeviceAppSdpSettings.java
index 2f0b44f..4e1a2aa 100644
--- a/core/java/android/bluetooth/BluetoothHidDeviceAppSdpSettings.java
+++ b/core/java/android/bluetooth/BluetoothHidDeviceAppSdpSettings.java
@@ -92,7 +92,7 @@
return 0;
}
- public static final Parcelable.Creator<BluetoothHidDeviceAppSdpSettings> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<BluetoothHidDeviceAppSdpSettings> CREATOR =
new Parcelable.Creator<BluetoothHidDeviceAppSdpSettings>() {
@Override
diff --git a/core/java/android/bluetooth/BluetoothMasInstance.java b/core/java/android/bluetooth/BluetoothMasInstance.java
index 7a31328..b64d049 100644
--- a/core/java/android/bluetooth/BluetoothMasInstance.java
+++ b/core/java/android/bluetooth/BluetoothMasInstance.java
@@ -57,7 +57,7 @@
return 0;
}
- public static final Parcelable.Creator<BluetoothMasInstance> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<BluetoothMasInstance> CREATOR =
new Parcelable.Creator<BluetoothMasInstance>() {
public BluetoothMasInstance createFromParcel(Parcel in) {
return new BluetoothMasInstance(in.readInt(), in.readString(),
diff --git a/core/java/android/bluetooth/OobData.java b/core/java/android/bluetooth/OobData.java
index d632572..0d0c6ab 100644
--- a/core/java/android/bluetooth/OobData.java
+++ b/core/java/android/bluetooth/OobData.java
@@ -98,7 +98,7 @@
out.writeByteArray(mLeSecureConnectionsRandom);
}
- public static final Parcelable.Creator<OobData> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<OobData> CREATOR =
new Parcelable.Creator<OobData>() {
public OobData createFromParcel(Parcel in) {
return new OobData(in);
diff --git a/core/java/android/bluetooth/UidTraffic.java b/core/java/android/bluetooth/UidTraffic.java
index cef362b..2ee786a 100644
--- a/core/java/android/bluetooth/UidTraffic.java
+++ b/core/java/android/bluetooth/UidTraffic.java
@@ -95,7 +95,7 @@
+ mTxBytes + '}';
}
- public static final Creator<UidTraffic> CREATOR = new Creator<UidTraffic>() {
+ public static final @android.annotation.NonNull Creator<UidTraffic> CREATOR = new Creator<UidTraffic>() {
@Override
public UidTraffic createFromParcel(Parcel source) {
return new UidTraffic(source);
diff --git a/core/java/android/bluetooth/le/AdvertiseData.java b/core/java/android/bluetooth/le/AdvertiseData.java
index b65c31d1d..5fd8258 100644
--- a/core/java/android/bluetooth/le/AdvertiseData.java
+++ b/core/java/android/bluetooth/le/AdvertiseData.java
@@ -159,7 +159,7 @@
dest.writeByte((byte) (getIncludeDeviceName() ? 1 : 0));
}
- public static final Parcelable.Creator<AdvertiseData> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<AdvertiseData> CREATOR =
new Creator<AdvertiseData>() {
@Override
public AdvertiseData[] newArray(int size) {
diff --git a/core/java/android/bluetooth/le/AdvertiseSettings.java b/core/java/android/bluetooth/le/AdvertiseSettings.java
index 35e232c7..7129d76 100644
--- a/core/java/android/bluetooth/le/AdvertiseSettings.java
+++ b/core/java/android/bluetooth/le/AdvertiseSettings.java
@@ -139,7 +139,7 @@
dest.writeInt(mAdvertiseTimeoutMillis);
}
- public static final Parcelable.Creator<AdvertiseSettings> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<AdvertiseSettings> CREATOR =
new Creator<AdvertiseSettings>() {
@Override
public AdvertiseSettings[] newArray(int size) {
diff --git a/core/java/android/bluetooth/le/AdvertisingSetParameters.java b/core/java/android/bluetooth/le/AdvertisingSetParameters.java
index 0c0291eb..e39b198 100644
--- a/core/java/android/bluetooth/le/AdvertisingSetParameters.java
+++ b/core/java/android/bluetooth/le/AdvertisingSetParameters.java
@@ -227,7 +227,7 @@
dest.writeInt(mTxPowerLevel);
}
- public static final Parcelable.Creator<AdvertisingSetParameters> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<AdvertisingSetParameters> CREATOR =
new Creator<AdvertisingSetParameters>() {
@Override
public AdvertisingSetParameters[] newArray(int size) {
diff --git a/core/java/android/bluetooth/le/PeriodicAdvertisingReport.java b/core/java/android/bluetooth/le/PeriodicAdvertisingReport.java
index 73a2e74..7a8c2c6 100644
--- a/core/java/android/bluetooth/le/PeriodicAdvertisingReport.java
+++ b/core/java/android/bluetooth/le/PeriodicAdvertisingReport.java
@@ -171,7 +171,7 @@
+ ", data=" + Objects.toString(mData) + ", timestampNanos=" + mTimestampNanos + '}';
}
- public static final Parcelable.Creator<PeriodicAdvertisingReport> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<PeriodicAdvertisingReport> CREATOR =
new Creator<PeriodicAdvertisingReport>() {
@Override
public PeriodicAdvertisingReport createFromParcel(Parcel source) {
diff --git a/core/java/android/bluetooth/le/ResultStorageDescriptor.java b/core/java/android/bluetooth/le/ResultStorageDescriptor.java
index 63bdf69..796c815 100644
--- a/core/java/android/bluetooth/le/ResultStorageDescriptor.java
+++ b/core/java/android/bluetooth/le/ResultStorageDescriptor.java
@@ -78,7 +78,7 @@
mLength = in.readInt();
}
- public static final Parcelable.Creator<ResultStorageDescriptor> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ResultStorageDescriptor> CREATOR =
new Creator<ResultStorageDescriptor>() {
@Override
public ResultStorageDescriptor createFromParcel(Parcel source) {
diff --git a/core/java/android/bluetooth/le/ScanFilter.java b/core/java/android/bluetooth/le/ScanFilter.java
index c5d435b..78140cf 100644
--- a/core/java/android/bluetooth/le/ScanFilter.java
+++ b/core/java/android/bluetooth/le/ScanFilter.java
@@ -161,7 +161,7 @@
/**
* A {@link android.os.Parcelable.Creator} to create {@link ScanFilter} from parcel.
*/
- public static final Creator<ScanFilter> CREATOR =
+ public static final @android.annotation.NonNull Creator<ScanFilter> CREATOR =
new Creator<ScanFilter>() {
@Override
diff --git a/core/java/android/bluetooth/le/ScanResult.java b/core/java/android/bluetooth/le/ScanResult.java
index f87a47f..855d345 100644
--- a/core/java/android/bluetooth/le/ScanResult.java
+++ b/core/java/android/bluetooth/le/ScanResult.java
@@ -338,7 +338,7 @@
+ ", periodicAdvertisingInterval=" + mPeriodicAdvertisingInterval + '}';
}
- public static final Parcelable.Creator<ScanResult> CREATOR = new Creator<ScanResult>() {
+ public static final @android.annotation.NonNull Parcelable.Creator<ScanResult> CREATOR = new Creator<ScanResult>() {
@Override
public ScanResult createFromParcel(Parcel source) {
return new ScanResult(source);
diff --git a/core/java/android/bluetooth/le/ScanSettings.java b/core/java/android/bluetooth/le/ScanSettings.java
index 8fdcba8..504118e 100644
--- a/core/java/android/bluetooth/le/ScanSettings.java
+++ b/core/java/android/bluetooth/le/ScanSettings.java
@@ -242,7 +242,7 @@
return 0;
}
- public static final Parcelable.Creator<ScanSettings> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ScanSettings> CREATOR =
new Creator<ScanSettings>() {
@Override
public ScanSettings[] newArray(int size) {
diff --git a/core/java/android/companion/AssociationRequest.java b/core/java/android/companion/AssociationRequest.java
index db54f08..e4114c6 100644
--- a/core/java/android/companion/AssociationRequest.java
+++ b/core/java/android/companion/AssociationRequest.java
@@ -105,7 +105,7 @@
return 0;
}
- public static final Creator<AssociationRequest> CREATOR = new Creator<AssociationRequest>() {
+ public static final @android.annotation.NonNull Creator<AssociationRequest> CREATOR = new Creator<AssociationRequest>() {
@Override
public AssociationRequest createFromParcel(Parcel in) {
return new AssociationRequest(in);
diff --git a/core/java/android/companion/BluetoothDeviceFilter.java b/core/java/android/companion/BluetoothDeviceFilter.java
index 7507e17..fe0123c 100644
--- a/core/java/android/companion/BluetoothDeviceFilter.java
+++ b/core/java/android/companion/BluetoothDeviceFilter.java
@@ -146,7 +146,7 @@
return 0;
}
- public static final Creator<BluetoothDeviceFilter> CREATOR
+ public static final @android.annotation.NonNull Creator<BluetoothDeviceFilter> CREATOR
= new Creator<BluetoothDeviceFilter>() {
@Override
public BluetoothDeviceFilter createFromParcel(Parcel in) {
diff --git a/core/java/android/companion/BluetoothLeDeviceFilter.java b/core/java/android/companion/BluetoothLeDeviceFilter.java
index 1de931e..37c9cb6 100644
--- a/core/java/android/companion/BluetoothLeDeviceFilter.java
+++ b/core/java/android/companion/BluetoothLeDeviceFilter.java
@@ -247,7 +247,7 @@
'}';
}
- public static final Creator<BluetoothLeDeviceFilter> CREATOR
+ public static final @android.annotation.NonNull Creator<BluetoothLeDeviceFilter> CREATOR
= new Creator<BluetoothLeDeviceFilter>() {
@Override
public BluetoothLeDeviceFilter createFromParcel(Parcel in) {
diff --git a/core/java/android/companion/WifiDeviceFilter.java b/core/java/android/companion/WifiDeviceFilter.java
index b6e704c..62098d5 100644
--- a/core/java/android/companion/WifiDeviceFilter.java
+++ b/core/java/android/companion/WifiDeviceFilter.java
@@ -98,7 +98,7 @@
return 0;
}
- public static final Creator<WifiDeviceFilter> CREATOR
+ public static final @android.annotation.NonNull Creator<WifiDeviceFilter> CREATOR
= new Creator<WifiDeviceFilter>() {
@Override
public WifiDeviceFilter createFromParcel(Parcel in) {
diff --git a/core/java/android/content/AutofillOptions.java b/core/java/android/content/AutofillOptions.java
index fd7e52a..0d25f4d 100644
--- a/core/java/android/content/AutofillOptions.java
+++ b/core/java/android/content/AutofillOptions.java
@@ -110,7 +110,7 @@
parcel.writeBoolean(augmentedEnabled);
}
- public static final Parcelable.Creator<AutofillOptions> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<AutofillOptions> CREATOR =
new Parcelable.Creator<AutofillOptions>() {
@Override
diff --git a/core/java/android/content/ClipData.java b/core/java/android/content/ClipData.java
index 8777b67..88e2c22 100644
--- a/core/java/android/content/ClipData.java
+++ b/core/java/android/content/ClipData.java
@@ -1176,7 +1176,7 @@
}
}
- public static final Parcelable.Creator<ClipData> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ClipData> CREATOR =
new Parcelable.Creator<ClipData>() {
@Override
diff --git a/core/java/android/content/ClipDescription.java b/core/java/android/content/ClipDescription.java
index 19295fc..29acd5d 100644
--- a/core/java/android/content/ClipDescription.java
+++ b/core/java/android/content/ClipDescription.java
@@ -380,7 +380,7 @@
mTimeStamp = in.readLong();
}
- public static final Parcelable.Creator<ClipDescription> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ClipDescription> CREATOR =
new Parcelable.Creator<ClipDescription>() {
public ClipDescription createFromParcel(Parcel source) {
diff --git a/core/java/android/content/ComponentName.java b/core/java/android/content/ComponentName.java
index e6ffe8b4..a5460e9 100644
--- a/core/java/android/content/ComponentName.java
+++ b/core/java/android/content/ComponentName.java
@@ -376,7 +376,7 @@
return pkg != null ? new ComponentName(pkg, in) : null;
}
- public static final Parcelable.Creator<ComponentName> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<ComponentName> CREATOR
= new Parcelable.Creator<ComponentName>() {
public ComponentName createFromParcel(Parcel in) {
return new ComponentName(in);
diff --git a/core/java/android/content/ContentCaptureOptions.java b/core/java/android/content/ContentCaptureOptions.java
index 2fe9f14..6be0bea 100644
--- a/core/java/android/content/ContentCaptureOptions.java
+++ b/core/java/android/content/ContentCaptureOptions.java
@@ -149,7 +149,7 @@
parcel.writeArraySet(whitelistedComponents);
}
- public static final Parcelable.Creator<ContentCaptureOptions> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ContentCaptureOptions> CREATOR =
new Parcelable.Creator<ContentCaptureOptions>() {
@Override
diff --git a/core/java/android/content/ContentProvider.java b/core/java/android/content/ContentProvider.java
index e06322df..ddfe755 100644
--- a/core/java/android/content/ContentProvider.java
+++ b/core/java/android/content/ContentProvider.java
@@ -209,9 +209,10 @@
* @hide
*/
class Transport extends ContentProviderNative {
- AppOpsManager mAppOpsManager = null;
- int mReadOp = AppOpsManager.OP_NONE;
- int mWriteOp = AppOpsManager.OP_NONE;
+ volatile AppOpsManager mAppOpsManager = null;
+ volatile int mReadOp = AppOpsManager.OP_NONE;
+ volatile int mWriteOp = AppOpsManager.OP_NONE;
+ volatile ContentInterface mInterface = ContentProvider.this;
ContentProvider getContentProvider() {
return ContentProvider.this;
@@ -245,9 +246,11 @@
Cursor cursor;
final String original = setCallingPackage(callingPkg);
try {
- cursor = ContentProvider.this.query(
+ cursor = mInterface.query(
uri, projection, queryArgs,
CancellationSignal.fromTransport(cancellationSignal));
+ } catch (RemoteException e) {
+ throw e.rethrowAsRuntimeException();
} finally {
setCallingPackage(original);
}
@@ -261,9 +264,11 @@
Trace.traceBegin(TRACE_TAG_DATABASE, "query");
final String original = setCallingPackage(callingPkg);
try {
- return ContentProvider.this.query(
+ return mInterface.query(
uri, projection, queryArgs,
CancellationSignal.fromTransport(cancellationSignal));
+ } catch (RemoteException e) {
+ throw e.rethrowAsRuntimeException();
} finally {
setCallingPackage(original);
Trace.traceEnd(TRACE_TAG_DATABASE);
@@ -277,7 +282,9 @@
uri = maybeGetUriWithoutUserId(uri);
Trace.traceBegin(TRACE_TAG_DATABASE, "getType");
try {
- return ContentProvider.this.getType(uri);
+ return mInterface.getType(uri);
+ } catch (RemoteException e) {
+ throw e.rethrowAsRuntimeException();
} finally {
Trace.traceEnd(TRACE_TAG_DATABASE);
}
@@ -299,7 +306,9 @@
Trace.traceBegin(TRACE_TAG_DATABASE, "insert");
final String original = setCallingPackage(callingPkg);
try {
- return maybeAddUserId(ContentProvider.this.insert(uri, initialValues), userId);
+ return maybeAddUserId(mInterface.insert(uri, initialValues), userId);
+ } catch (RemoteException e) {
+ throw e.rethrowAsRuntimeException();
} finally {
setCallingPackage(original);
Trace.traceEnd(TRACE_TAG_DATABASE);
@@ -316,7 +325,9 @@
Trace.traceBegin(TRACE_TAG_DATABASE, "bulkInsert");
final String original = setCallingPackage(callingPkg);
try {
- return ContentProvider.this.bulkInsert(uri, initialValues);
+ return mInterface.bulkInsert(uri, initialValues);
+ } catch (RemoteException e) {
+ throw e.rethrowAsRuntimeException();
} finally {
setCallingPackage(original);
Trace.traceEnd(TRACE_TAG_DATABASE);
@@ -357,7 +368,7 @@
Trace.traceBegin(TRACE_TAG_DATABASE, "applyBatch");
final String original = setCallingPackage(callingPkg);
try {
- ContentProviderResult[] results = ContentProvider.this.applyBatch(authority,
+ ContentProviderResult[] results = mInterface.applyBatch(authority,
operations);
if (results != null) {
for (int i = 0; i < results.length ; i++) {
@@ -368,6 +379,8 @@
}
}
return results;
+ } catch (RemoteException e) {
+ throw e.rethrowAsRuntimeException();
} finally {
setCallingPackage(original);
Trace.traceEnd(TRACE_TAG_DATABASE);
@@ -384,7 +397,9 @@
Trace.traceBegin(TRACE_TAG_DATABASE, "delete");
final String original = setCallingPackage(callingPkg);
try {
- return ContentProvider.this.delete(uri, selection, selectionArgs);
+ return mInterface.delete(uri, selection, selectionArgs);
+ } catch (RemoteException e) {
+ throw e.rethrowAsRuntimeException();
} finally {
setCallingPackage(original);
Trace.traceEnd(TRACE_TAG_DATABASE);
@@ -402,7 +417,9 @@
Trace.traceBegin(TRACE_TAG_DATABASE, "update");
final String original = setCallingPackage(callingPkg);
try {
- return ContentProvider.this.update(uri, values, selection, selectionArgs);
+ return mInterface.update(uri, values, selection, selectionArgs);
+ } catch (RemoteException e) {
+ throw e.rethrowAsRuntimeException();
} finally {
setCallingPackage(original);
Trace.traceEnd(TRACE_TAG_DATABASE);
@@ -419,8 +436,10 @@
Trace.traceBegin(TRACE_TAG_DATABASE, "openFile");
final String original = setCallingPackage(callingPkg);
try {
- return ContentProvider.this.openFile(
+ return mInterface.openFile(
uri, mode, CancellationSignal.fromTransport(cancellationSignal));
+ } catch (RemoteException e) {
+ throw e.rethrowAsRuntimeException();
} finally {
setCallingPackage(original);
Trace.traceEnd(TRACE_TAG_DATABASE);
@@ -437,8 +456,10 @@
Trace.traceBegin(TRACE_TAG_DATABASE, "openAssetFile");
final String original = setCallingPackage(callingPkg);
try {
- return ContentProvider.this.openAssetFile(
+ return mInterface.openAssetFile(
uri, mode, CancellationSignal.fromTransport(cancellationSignal));
+ } catch (RemoteException e) {
+ throw e.rethrowAsRuntimeException();
} finally {
setCallingPackage(original);
Trace.traceEnd(TRACE_TAG_DATABASE);
@@ -453,7 +474,9 @@
Trace.traceBegin(TRACE_TAG_DATABASE, "call");
final String original = setCallingPackage(callingPkg);
try {
- return ContentProvider.this.call(authority, method, arg, extras);
+ return mInterface.call(authority, method, arg, extras);
+ } catch (RemoteException e) {
+ throw e.rethrowAsRuntimeException();
} finally {
setCallingPackage(original);
Trace.traceEnd(TRACE_TAG_DATABASE);
@@ -467,7 +490,9 @@
uri = maybeGetUriWithoutUserId(uri);
Trace.traceBegin(TRACE_TAG_DATABASE, "getStreamTypes");
try {
- return ContentProvider.this.getStreamTypes(uri, mimeTypeFilter);
+ return mInterface.getStreamTypes(uri, mimeTypeFilter);
+ } catch (RemoteException e) {
+ throw e.rethrowAsRuntimeException();
} finally {
Trace.traceEnd(TRACE_TAG_DATABASE);
}
@@ -483,8 +508,10 @@
Trace.traceBegin(TRACE_TAG_DATABASE, "openTypedAssetFile");
final String original = setCallingPackage(callingPkg);
try {
- return ContentProvider.this.openTypedAssetFile(
+ return mInterface.openTypedAssetFile(
uri, mimeType, opts, CancellationSignal.fromTransport(cancellationSignal));
+ } catch (RemoteException e) {
+ throw e.rethrowAsRuntimeException();
} finally {
setCallingPackage(original);
Trace.traceEnd(TRACE_TAG_DATABASE);
@@ -507,7 +534,9 @@
Trace.traceBegin(TRACE_TAG_DATABASE, "canonicalize");
final String original = setCallingPackage(callingPkg);
try {
- return maybeAddUserId(ContentProvider.this.canonicalize(uri), userId);
+ return maybeAddUserId(mInterface.canonicalize(uri), userId);
+ } catch (RemoteException e) {
+ throw e.rethrowAsRuntimeException();
} finally {
setCallingPackage(original);
Trace.traceEnd(TRACE_TAG_DATABASE);
@@ -525,7 +554,9 @@
Trace.traceBegin(TRACE_TAG_DATABASE, "uncanonicalize");
final String original = setCallingPackage(callingPkg);
try {
- return maybeAddUserId(ContentProvider.this.uncanonicalize(uri), userId);
+ return maybeAddUserId(mInterface.uncanonicalize(uri), userId);
+ } catch (RemoteException e) {
+ throw e.rethrowAsRuntimeException();
} finally {
setCallingPackage(original);
Trace.traceEnd(TRACE_TAG_DATABASE);
@@ -543,7 +574,7 @@
Trace.traceBegin(TRACE_TAG_DATABASE, "refresh");
final String original = setCallingPackage(callingPkg);
try {
- return ContentProvider.this.refresh(uri, args,
+ return mInterface.refresh(uri, args,
CancellationSignal.fromTransport(cancellationSignal));
} finally {
setCallingPackage(original);
@@ -986,6 +1017,15 @@
return mTransport.mAppOpsManager;
}
+ /** @hide */
+ public final void setTransportLoggingEnabled(boolean enabled) {
+ if (enabled) {
+ mTransport.mInterface = new LoggingContentInterface(getClass().getSimpleName(), this);
+ } else {
+ mTransport.mInterface = this;
+ }
+ }
+
/**
* Implement this to initialize your content provider on startup.
* This method is called for all registered content providers on the
diff --git a/core/java/android/content/ContentProviderOperation.java b/core/java/android/content/ContentProviderOperation.java
index 6a3fa6b2..a41b5d3 100644
--- a/core/java/android/content/ContentProviderOperation.java
+++ b/core/java/android/content/ContentProviderOperation.java
@@ -460,7 +460,7 @@
return 0;
}
- public static final Creator<ContentProviderOperation> CREATOR =
+ public static final @android.annotation.NonNull Creator<ContentProviderOperation> CREATOR =
new Creator<ContentProviderOperation>() {
public ContentProviderOperation createFromParcel(Parcel source) {
return new ContentProviderOperation(source);
diff --git a/core/java/android/content/ContentProviderResult.java b/core/java/android/content/ContentProviderResult.java
index 4196f27..d90173c 100644
--- a/core/java/android/content/ContentProviderResult.java
+++ b/core/java/android/content/ContentProviderResult.java
@@ -71,7 +71,7 @@
return 0;
}
- public static final Creator<ContentProviderResult> CREATOR =
+ public static final @android.annotation.NonNull Creator<ContentProviderResult> CREATOR =
new Creator<ContentProviderResult>() {
public ContentProviderResult createFromParcel(Parcel source) {
return new ContentProviderResult(source);
diff --git a/core/java/android/content/ContentValues.java b/core/java/android/content/ContentValues.java
index 06d0f66..eafeed2 100644
--- a/core/java/android/content/ContentValues.java
+++ b/core/java/android/content/ContentValues.java
@@ -497,7 +497,7 @@
return mMap.keySet();
}
- public static final Parcelable.Creator<ContentValues> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ContentValues> CREATOR =
new Parcelable.Creator<ContentValues>() {
@Override
public ContentValues createFromParcel(Parcel in) {
diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java
index b67349f..0589f43 100644
--- a/core/java/android/content/Intent.java
+++ b/core/java/android/content/Intent.java
@@ -855,7 +855,7 @@
/**
* Used to read a ShortcutIconResource from a Parcel.
*/
- public static final Parcelable.Creator<ShortcutIconResource> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ShortcutIconResource> CREATOR =
new Parcelable.Creator<ShortcutIconResource>() {
public ShortcutIconResource createFromParcel(Parcel source) {
@@ -10344,7 +10344,7 @@
out.writeBundle(mExtras);
}
- public static final Parcelable.Creator<Intent> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<Intent> CREATOR
= new Parcelable.Creator<Intent>() {
public Intent createFromParcel(Parcel in) {
return new Intent(in);
diff --git a/core/java/android/content/IntentFilter.java b/core/java/android/content/IntentFilter.java
index 36d8a37..9d52363 100644
--- a/core/java/android/content/IntentFilter.java
+++ b/core/java/android/content/IntentFilter.java
@@ -1896,7 +1896,7 @@
}
}
- public static final Parcelable.Creator<IntentFilter> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<IntentFilter> CREATOR
= new Parcelable.Creator<IntentFilter>() {
public IntentFilter createFromParcel(Parcel source) {
return new IntentFilter(source);
diff --git a/core/java/android/content/IntentSender.java b/core/java/android/content/IntentSender.java
index bfd1a43..ec0bac4 100644
--- a/core/java/android/content/IntentSender.java
+++ b/core/java/android/content/IntentSender.java
@@ -316,7 +316,7 @@
out.writeStrongBinder(mTarget.asBinder());
}
- public static final Parcelable.Creator<IntentSender> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<IntentSender> CREATOR
= new Parcelable.Creator<IntentSender>() {
public IntentSender createFromParcel(Parcel in) {
IBinder target = in.readStrongBinder();
diff --git a/core/java/android/content/LocusId.java b/core/java/android/content/LocusId.java
index 9548f9c..2142cf3 100644
--- a/core/java/android/content/LocusId.java
+++ b/core/java/android/content/LocusId.java
@@ -98,15 +98,17 @@
dest.writeParcelable(mUri, flags);
}
- public static final Parcelable.Creator<LocusId> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<LocusId> CREATOR =
new Parcelable.Creator<LocusId>() {
+ @NonNull
@Override
public LocusId createFromParcel(Parcel source) {
final Uri uri = source.readParcelable(null);
return new LocusId(uri);
}
+ @NonNull
@Override
public LocusId[] newArray(int size) {
return new LocusId[size];
diff --git a/core/java/android/content/LoggingContentInterface.java b/core/java/android/content/LoggingContentInterface.java
new file mode 100644
index 0000000..26d01b9
--- /dev/null
+++ b/core/java/android/content/LoggingContentInterface.java
@@ -0,0 +1,199 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.content;
+
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.content.res.AssetFileDescriptor;
+import android.database.Cursor;
+import android.database.DatabaseUtils;
+import android.net.Uri;
+import android.os.Binder;
+import android.os.Bundle;
+import android.os.CancellationSignal;
+import android.os.ParcelFileDescriptor;
+import android.os.RemoteException;
+import android.util.Log;
+
+import java.io.FileNotFoundException;
+import java.util.ArrayList;
+import java.util.Arrays;
+
+/**
+ * Instance of {@link ContentInterface} that logs all inputs and outputs while
+ * delegating to another {@link ContentInterface}.
+ *
+ * @hide
+ */
+public class LoggingContentInterface implements ContentInterface {
+ private final String tag;
+ private final ContentInterface delegate;
+
+ public LoggingContentInterface(String tag, ContentInterface delegate) {
+ this.tag = tag;
+ this.delegate = delegate;
+ }
+
+ private void log(String method, Object res, Object... args) {
+ // First, force-unparcel any bundles so we can log them
+ for (Object arg : args) {
+ if (arg instanceof Bundle) {
+ ((Bundle) arg).size();
+ }
+ }
+
+ final StringBuilder sb = new StringBuilder();
+ sb.append("callingUid=").append(Binder.getCallingUid()).append(' ');
+ sb.append(method);
+ sb.append('(').append(deepToString(args)).append(')');
+ if (res instanceof Cursor) {
+ sb.append('\n');
+ DatabaseUtils.dumpCursor((Cursor) res, sb);
+ } else {
+ sb.append(" = ").append(deepToString(res));
+ }
+ Log.v(tag, sb.toString());
+ }
+
+ private String deepToString(Object value) {
+ if (value != null && value.getClass().isArray()) {
+ return Arrays.deepToString((Object[]) value);
+ } else {
+ return String.valueOf(value);
+ }
+ }
+
+ @Override
+ public @Nullable Cursor query(@NonNull Uri uri, @Nullable String[] projection,
+ @Nullable Bundle queryArgs, @Nullable CancellationSignal cancellationSignal)
+ throws RemoteException {
+ final Cursor res = delegate.query(uri, projection, queryArgs, cancellationSignal);
+ log("query", res, uri, projection, queryArgs, cancellationSignal);
+ return res;
+ }
+
+ @Override
+ public @Nullable String getType(@NonNull Uri uri) throws RemoteException {
+ final String res = delegate.getType(uri);
+ log("getType", res, uri);
+ return res;
+ }
+
+ @Override
+ public @Nullable String[] getStreamTypes(@NonNull Uri uri, @NonNull String mimeTypeFilter)
+ throws RemoteException {
+ final String[] res = delegate.getStreamTypes(uri, mimeTypeFilter);
+ log("getStreamTypes", res, uri, mimeTypeFilter);
+ return res;
+ }
+
+ @Override
+ public @Nullable Uri canonicalize(@NonNull Uri uri) throws RemoteException {
+ final Uri res = delegate.canonicalize(uri);
+ log("canonicalize", res, uri);
+ return res;
+ }
+
+ @Override
+ public @Nullable Uri uncanonicalize(@NonNull Uri uri) throws RemoteException {
+ final Uri res = delegate.uncanonicalize(uri);
+ log("uncanonicalize", res, uri);
+ return res;
+ }
+
+ @Override
+ public boolean refresh(@NonNull Uri uri, @Nullable Bundle args,
+ @Nullable CancellationSignal cancellationSignal) throws RemoteException {
+ final boolean res = delegate.refresh(uri, args, cancellationSignal);
+ log("refresh", res, uri, args, cancellationSignal);
+ return res;
+ }
+
+ @Override
+ public @Nullable Uri insert(@NonNull Uri uri, @Nullable ContentValues initialValues)
+ throws RemoteException {
+ final Uri res = delegate.insert(uri, initialValues);
+ log("insert", res, uri, initialValues);
+ return res;
+ }
+
+ @Override
+ public int bulkInsert(@NonNull Uri uri, @NonNull ContentValues[] initialValues)
+ throws RemoteException {
+ final int res = delegate.bulkInsert(uri, initialValues);
+ log("bulkInsert", res, uri, initialValues);
+ return res;
+ }
+
+ @Override
+ public int delete(@NonNull Uri uri, @Nullable String selection,
+ @Nullable String[] selectionArgs) throws RemoteException {
+ final int res = delegate.delete(uri, selection, selectionArgs);
+ log("delete", res, uri, selection, selectionArgs);
+ return res;
+ }
+
+ @Override
+ public int update(@NonNull Uri uri, @Nullable ContentValues values, @Nullable String selection,
+ @Nullable String[] selectionArgs) throws RemoteException {
+ final int res = delegate.update(uri, values, selection, selectionArgs);
+ log("update", res, uri, values, selection, selectionArgs);
+ return res;
+ }
+
+ @Override
+ public @Nullable ParcelFileDescriptor openFile(@NonNull Uri uri, @NonNull String mode,
+ @Nullable CancellationSignal signal) throws RemoteException, FileNotFoundException {
+ final ParcelFileDescriptor res = delegate.openFile(uri, mode, signal);
+ log("openFile", res, uri, mode, signal);
+ return res;
+ }
+
+ @Override
+ public @Nullable AssetFileDescriptor openAssetFile(@NonNull Uri uri, @NonNull String mode,
+ @Nullable CancellationSignal signal) throws RemoteException, FileNotFoundException {
+ final AssetFileDescriptor res = delegate.openAssetFile(uri, mode, signal);
+ log("openAssetFile", res, uri, mode, signal);
+ return res;
+ }
+
+ @Override
+ public @Nullable AssetFileDescriptor openTypedAssetFile(@NonNull Uri uri,
+ @NonNull String mimeTypeFilter, @Nullable Bundle opts,
+ @Nullable CancellationSignal signal) throws RemoteException, FileNotFoundException {
+ final AssetFileDescriptor res = delegate.openTypedAssetFile(uri, mimeTypeFilter, opts, signal);
+ log("openTypedAssetFile", res, uri, mimeTypeFilter, opts, signal);
+ return res;
+ }
+
+ @Override
+ public @NonNull ContentProviderResult[] applyBatch(@NonNull String authority,
+ @NonNull ArrayList<ContentProviderOperation> operations)
+ throws RemoteException, OperationApplicationException {
+ final ContentProviderResult[] res = delegate.applyBatch(authority, operations);
+ log("applyBatch", res, authority, operations);
+ return res;
+ }
+
+ @Override
+ public @Nullable Bundle call(@NonNull String authority, @NonNull String method,
+ @Nullable String arg, @Nullable Bundle extras) throws RemoteException {
+ final Bundle res = delegate.call(authority, method, arg, extras);
+ log("call", res, authority, method, arg, extras);
+ return res;
+ }
+}
diff --git a/core/java/android/content/PeriodicSync.java b/core/java/android/content/PeriodicSync.java
index 0441ccc..a075148 100644
--- a/core/java/android/content/PeriodicSync.java
+++ b/core/java/android/content/PeriodicSync.java
@@ -104,7 +104,7 @@
dest.writeLong(flexTime);
}
- public static final Creator<PeriodicSync> CREATOR = new Creator<PeriodicSync>() {
+ public static final @android.annotation.NonNull Creator<PeriodicSync> CREATOR = new Creator<PeriodicSync>() {
@Override
public PeriodicSync createFromParcel(Parcel source) {
return new PeriodicSync(source);
diff --git a/core/java/android/content/RestrictionEntry.java b/core/java/android/content/RestrictionEntry.java
index 0473475..010992c 100644
--- a/core/java/android/content/RestrictionEntry.java
+++ b/core/java/android/content/RestrictionEntry.java
@@ -531,7 +531,7 @@
dest.writeParcelableArray(mRestrictions, 0);
}
- public static final Creator<RestrictionEntry> CREATOR = new Creator<RestrictionEntry>() {
+ public static final @android.annotation.NonNull Creator<RestrictionEntry> CREATOR = new Creator<RestrictionEntry>() {
public RestrictionEntry createFromParcel(Parcel source) {
return new RestrictionEntry(source);
}
diff --git a/core/java/android/content/SyncAdapterType.java b/core/java/android/content/SyncAdapterType.java
index 6cd4841..8c8fe5a 100644
--- a/core/java/android/content/SyncAdapterType.java
+++ b/core/java/android/content/SyncAdapterType.java
@@ -241,7 +241,7 @@
source.readString());
}
- public static final Creator<SyncAdapterType> CREATOR = new Creator<SyncAdapterType>() {
+ public static final @android.annotation.NonNull Creator<SyncAdapterType> CREATOR = new Creator<SyncAdapterType>() {
public SyncAdapterType createFromParcel(Parcel source) {
return new SyncAdapterType(source);
}
diff --git a/core/java/android/content/SyncInfo.java b/core/java/android/content/SyncInfo.java
index 403cbcb..d3f2eed 100644
--- a/core/java/android/content/SyncInfo.java
+++ b/core/java/android/content/SyncInfo.java
@@ -106,7 +106,7 @@
/** @hide */
@UnsupportedAppUsage
- public static final Creator<SyncInfo> CREATOR = new Creator<SyncInfo>() {
+ public static final @android.annotation.NonNull Creator<SyncInfo> CREATOR = new Creator<SyncInfo>() {
public SyncInfo createFromParcel(Parcel in) {
return new SyncInfo(in);
}
diff --git a/core/java/android/content/SyncRequest.java b/core/java/android/content/SyncRequest.java
index c18b282..5f1f180 100644
--- a/core/java/android/content/SyncRequest.java
+++ b/core/java/android/content/SyncRequest.java
@@ -122,7 +122,7 @@
return mSyncRunTimeSecs;
}
- public static final Creator<SyncRequest> CREATOR = new Creator<SyncRequest>() {
+ public static final @android.annotation.NonNull Creator<SyncRequest> CREATOR = new Creator<SyncRequest>() {
@Override
public SyncRequest createFromParcel(Parcel in) {
diff --git a/core/java/android/content/SyncResult.java b/core/java/android/content/SyncResult.java
index f67d7f5..8280f8e 100644
--- a/core/java/android/content/SyncResult.java
+++ b/core/java/android/content/SyncResult.java
@@ -235,7 +235,7 @@
stats.clear();
}
- public static final Creator<SyncResult> CREATOR = new Creator<SyncResult>() {
+ public static final @android.annotation.NonNull Creator<SyncResult> CREATOR = new Creator<SyncResult>() {
public SyncResult createFromParcel(Parcel in) {
return new SyncResult(in);
}
diff --git a/core/java/android/content/SyncStats.java b/core/java/android/content/SyncStats.java
index b7f2a85..03b2250e 100644
--- a/core/java/android/content/SyncStats.java
+++ b/core/java/android/content/SyncStats.java
@@ -166,7 +166,7 @@
dest.writeLong(numSkippedEntries);
}
- public static final Creator<SyncStats> CREATOR = new Creator<SyncStats>() {
+ public static final @android.annotation.NonNull Creator<SyncStats> CREATOR = new Creator<SyncStats>() {
public SyncStats createFromParcel(Parcel in) {
return new SyncStats(in);
}
diff --git a/core/java/android/content/SyncStatusInfo.java b/core/java/android/content/SyncStatusInfo.java
index a9065ca..3f64515 100644
--- a/core/java/android/content/SyncStatusInfo.java
+++ b/core/java/android/content/SyncStatusInfo.java
@@ -401,7 +401,7 @@
}
@UnsupportedAppUsage
- public static final Creator<SyncStatusInfo> CREATOR = new Creator<SyncStatusInfo>() {
+ public static final @android.annotation.NonNull Creator<SyncStatusInfo> CREATOR = new Creator<SyncStatusInfo>() {
public SyncStatusInfo createFromParcel(Parcel in) {
return new SyncStatusInfo(in);
}
diff --git a/core/java/android/content/UriPermission.java b/core/java/android/content/UriPermission.java
index df9200d..d3a9cb8 100644
--- a/core/java/android/content/UriPermission.java
+++ b/core/java/android/content/UriPermission.java
@@ -103,7 +103,7 @@
dest.writeLong(mPersistedTime);
}
- public static final Creator<UriPermission> CREATOR = new Creator<UriPermission>() {
+ public static final @android.annotation.NonNull Creator<UriPermission> CREATOR = new Creator<UriPermission>() {
@Override
public UriPermission createFromParcel(Parcel source) {
return new UriPermission(source);
diff --git a/core/java/android/content/om/OverlayInfo.java b/core/java/android/content/om/OverlayInfo.java
index 1989f06..999d986 100644
--- a/core/java/android/content/om/OverlayInfo.java
+++ b/core/java/android/content/om/OverlayInfo.java
@@ -264,7 +264,7 @@
dest.writeBoolean(isStatic);
}
- public static final Parcelable.Creator<OverlayInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<OverlayInfo> CREATOR =
new Parcelable.Creator<OverlayInfo>() {
@Override
public OverlayInfo createFromParcel(Parcel source) {
diff --git a/core/java/android/content/pm/ActivityInfo.java b/core/java/android/content/pm/ActivityInfo.java
index 7cc4391..415c242 100644
--- a/core/java/android/content/pm/ActivityInfo.java
+++ b/core/java/android/content/pm/ActivityInfo.java
@@ -1314,7 +1314,7 @@
}
}
- public static final Parcelable.Creator<ActivityInfo> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<ActivityInfo> CREATOR
= new Parcelable.Creator<ActivityInfo>() {
public ActivityInfo createFromParcel(Parcel source) {
return new ActivityInfo(source);
diff --git a/core/java/android/content/pm/ApplicationInfo.java b/core/java/android/content/pm/ApplicationInfo.java
index dad1a1a..4f09d5a 100644
--- a/core/java/android/content/pm/ApplicationInfo.java
+++ b/core/java/android/content/pm/ApplicationInfo.java
@@ -1636,7 +1636,7 @@
dest.writeString(zygotePreloadName);
}
- public static final Parcelable.Creator<ApplicationInfo> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<ApplicationInfo> CREATOR
= new Parcelable.Creator<ApplicationInfo>() {
public ApplicationInfo createFromParcel(Parcel source) {
return new ApplicationInfo(source);
diff --git a/core/java/android/content/pm/BaseParceledListSlice.java b/core/java/android/content/pm/BaseParceledListSlice.java
index a3e5d6d..4178309 100644
--- a/core/java/android/content/pm/BaseParceledListSlice.java
+++ b/core/java/android/content/pm/BaseParceledListSlice.java
@@ -128,8 +128,8 @@
private static void verifySameType(final Class<?> expected, final Class<?> actual) {
if (!actual.equals(expected)) {
throw new IllegalArgumentException("Can't unparcel type "
- + actual.getName() + " in list of type "
- + expected.getName());
+ + (actual == null ? null : actual.getName()) + " in list of type "
+ + (expected == null ? null : expected.getName()));
}
}
diff --git a/core/java/android/content/pm/ChangedPackages.java b/core/java/android/content/pm/ChangedPackages.java
index b78c71d..950a29a 100644
--- a/core/java/android/content/pm/ChangedPackages.java
+++ b/core/java/android/content/pm/ChangedPackages.java
@@ -71,7 +71,7 @@
return mPackageNames;
}
- public static final Parcelable.Creator<ChangedPackages> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ChangedPackages> CREATOR =
new Parcelable.Creator<ChangedPackages>() {
public ChangedPackages createFromParcel(Parcel in) {
return new ChangedPackages(in);
diff --git a/core/java/android/content/pm/ConfigurationInfo.java b/core/java/android/content/pm/ConfigurationInfo.java
index 8edd436..20494e9 100644
--- a/core/java/android/content/pm/ConfigurationInfo.java
+++ b/core/java/android/content/pm/ConfigurationInfo.java
@@ -113,7 +113,7 @@
dest.writeInt(reqGlEsVersion);
}
- public static final Creator<ConfigurationInfo> CREATOR =
+ public static final @android.annotation.NonNull Creator<ConfigurationInfo> CREATOR =
new Creator<ConfigurationInfo>() {
public ConfigurationInfo createFromParcel(Parcel source) {
return new ConfigurationInfo(source);
diff --git a/core/java/android/content/pm/FeatureGroupInfo.java b/core/java/android/content/pm/FeatureGroupInfo.java
index 79a6eea..38c8f74 100644
--- a/core/java/android/content/pm/FeatureGroupInfo.java
+++ b/core/java/android/content/pm/FeatureGroupInfo.java
@@ -49,7 +49,7 @@
dest.writeTypedArray(features, flags);
}
- public static final Creator<FeatureGroupInfo> CREATOR = new Creator<FeatureGroupInfo>() {
+ public static final @android.annotation.NonNull Creator<FeatureGroupInfo> CREATOR = new Creator<FeatureGroupInfo>() {
@Override
public FeatureGroupInfo createFromParcel(Parcel source) {
FeatureGroupInfo group = new FeatureGroupInfo();
diff --git a/core/java/android/content/pm/FeatureInfo.java b/core/java/android/content/pm/FeatureInfo.java
index ff9fd8e..dc576e8 100644
--- a/core/java/android/content/pm/FeatureInfo.java
+++ b/core/java/android/content/pm/FeatureInfo.java
@@ -126,7 +126,7 @@
proto.end(token);
}
- public static final Creator<FeatureInfo> CREATOR = new Creator<FeatureInfo>() {
+ public static final @android.annotation.NonNull Creator<FeatureInfo> CREATOR = new Creator<FeatureInfo>() {
@Override
public FeatureInfo createFromParcel(Parcel source) {
return new FeatureInfo(source);
diff --git a/core/java/android/content/pm/InstantAppInfo.java b/core/java/android/content/pm/InstantAppInfo.java
index cb04fc3..24d6a07 100644
--- a/core/java/android/content/pm/InstantAppInfo.java
+++ b/core/java/android/content/pm/InstantAppInfo.java
@@ -136,7 +136,7 @@
parcel.writeParcelable(mApplicationInfo, flags);
}
- public static final Creator<InstantAppInfo> CREATOR =
+ public static final @android.annotation.NonNull Creator<InstantAppInfo> CREATOR =
new Creator<InstantAppInfo>() {
@Override
public InstantAppInfo createFromParcel(Parcel parcel) {
diff --git a/core/java/android/content/pm/InstantAppIntentFilter.java b/core/java/android/content/pm/InstantAppIntentFilter.java
index 257ab967..7c63406 100644
--- a/core/java/android/content/pm/InstantAppIntentFilter.java
+++ b/core/java/android/content/pm/InstantAppIntentFilter.java
@@ -68,7 +68,7 @@
out.writeList(mFilters);
}
- public static final Parcelable.Creator<InstantAppIntentFilter> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<InstantAppIntentFilter> CREATOR
= new Parcelable.Creator<InstantAppIntentFilter>() {
@Override
public InstantAppIntentFilter createFromParcel(Parcel in) {
diff --git a/core/java/android/content/pm/InstantAppResolveInfo.java b/core/java/android/content/pm/InstantAppResolveInfo.java
index 8184361..4c963a6 100644
--- a/core/java/android/content/pm/InstantAppResolveInfo.java
+++ b/core/java/android/content/pm/InstantAppResolveInfo.java
@@ -208,7 +208,7 @@
out.writeLong(mVersionCode);
}
- public static final Parcelable.Creator<InstantAppResolveInfo> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<InstantAppResolveInfo> CREATOR
= new Parcelable.Creator<InstantAppResolveInfo>() {
public InstantAppResolveInfo createFromParcel(Parcel in) {
return new InstantAppResolveInfo(in);
@@ -383,7 +383,7 @@
}
@SuppressWarnings("hiding")
- public static final Parcelable.Creator<InstantAppDigest> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<InstantAppDigest> CREATOR =
new Parcelable.Creator<InstantAppDigest>() {
@Override
public InstantAppDigest createFromParcel(Parcel in) {
diff --git a/core/java/android/content/pm/InstrumentationInfo.java b/core/java/android/content/pm/InstrumentationInfo.java
index fb2e4a04..574a1ee 100644
--- a/core/java/android/content/pm/InstrumentationInfo.java
+++ b/core/java/android/content/pm/InstrumentationInfo.java
@@ -176,7 +176,7 @@
dest.writeInt((functionalTest == false) ? 0 : 1);
}
- public static final Parcelable.Creator<InstrumentationInfo> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<InstrumentationInfo> CREATOR
= new Parcelable.Creator<InstrumentationInfo>() {
public InstrumentationInfo createFromParcel(Parcel source) {
return new InstrumentationInfo(source);
diff --git a/core/java/android/content/pm/IntentFilterVerificationInfo.java b/core/java/android/content/pm/IntentFilterVerificationInfo.java
index 068973b..67bda2c 100644
--- a/core/java/android/content/pm/IntentFilterVerificationInfo.java
+++ b/core/java/android/content/pm/IntentFilterVerificationInfo.java
@@ -246,7 +246,7 @@
dest.writeStringList(new ArrayList<>(mDomains));
}
- public static final Creator<IntentFilterVerificationInfo> CREATOR =
+ public static final @android.annotation.NonNull Creator<IntentFilterVerificationInfo> CREATOR =
new Creator<IntentFilterVerificationInfo>() {
public IntentFilterVerificationInfo createFromParcel(Parcel source) {
return new IntentFilterVerificationInfo(source);
diff --git a/core/java/android/content/pm/KeySet.java b/core/java/android/content/pm/KeySet.java
index 643db7e..5c1d35e 100644
--- a/core/java/android/content/pm/KeySet.java
+++ b/core/java/android/content/pm/KeySet.java
@@ -63,7 +63,7 @@
* Implement Parcelable
* @hide
*/
- public static final Parcelable.Creator<KeySet> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<KeySet> CREATOR
= new Parcelable.Creator<KeySet>() {
/**
diff --git a/core/java/android/content/pm/LabeledIntent.java b/core/java/android/content/pm/LabeledIntent.java
index 68b0046..ae41252 100644
--- a/core/java/android/content/pm/LabeledIntent.java
+++ b/core/java/android/content/pm/LabeledIntent.java
@@ -180,7 +180,7 @@
mIcon = in.readInt();
}
- public static final Creator<LabeledIntent> CREATOR
+ public static final @android.annotation.NonNull Creator<LabeledIntent> CREATOR
= new Creator<LabeledIntent>() {
public LabeledIntent createFromParcel(Parcel source) {
return new LabeledIntent(source);
diff --git a/core/java/android/content/pm/LauncherApps.java b/core/java/android/content/pm/LauncherApps.java
index bf556ba..38ea43e 100644
--- a/core/java/android/content/pm/LauncherApps.java
+++ b/core/java/android/content/pm/LauncherApps.java
@@ -1725,7 +1725,7 @@
dest.writeStrongBinder(mInner.asBinder());
}
- public static final Creator<PinItemRequest> CREATOR =
+ public static final @android.annotation.NonNull Creator<PinItemRequest> CREATOR =
new Creator<PinItemRequest>() {
public PinItemRequest createFromParcel(Parcel source) {
return new PinItemRequest(source);
@@ -1785,7 +1785,7 @@
mUsageRemaining = source.readLong();
}
- public static final Creator<AppUsageLimit> CREATOR = new Creator<AppUsageLimit>() {
+ public static final @android.annotation.NonNull Creator<AppUsageLimit> CREATOR = new Creator<AppUsageLimit>() {
@Override
public AppUsageLimit createFromParcel(Parcel source) {
return new AppUsageLimit(source);
diff --git a/core/java/android/content/pm/ModuleInfo.java b/core/java/android/content/pm/ModuleInfo.java
index 044e87d..d930c92 100644
--- a/core/java/android/content/pm/ModuleInfo.java
+++ b/core/java/android/content/pm/ModuleInfo.java
@@ -134,7 +134,7 @@
mHidden = source.readBoolean();
}
- public static final Parcelable.Creator<ModuleInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ModuleInfo> CREATOR =
new Parcelable.Creator<ModuleInfo>() {
public ModuleInfo createFromParcel(Parcel source) {
return new ModuleInfo(source);
diff --git a/core/java/android/content/pm/PackageInfo.java b/core/java/android/content/pm/PackageInfo.java
index 27a5b39..725d601 100644
--- a/core/java/android/content/pm/PackageInfo.java
+++ b/core/java/android/content/pm/PackageInfo.java
@@ -489,7 +489,7 @@
dest.writeBoolean(isApex);
}
- public static final Parcelable.Creator<PackageInfo> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<PackageInfo> CREATOR
= new Parcelable.Creator<PackageInfo>() {
@Override
public PackageInfo createFromParcel(Parcel source) {
diff --git a/core/java/android/content/pm/PackageInfoLite.java b/core/java/android/content/pm/PackageInfoLite.java
index b878a95..f5442ec 100644
--- a/core/java/android/content/pm/PackageInfoLite.java
+++ b/core/java/android/content/pm/PackageInfoLite.java
@@ -118,7 +118,7 @@
}
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
- public static final Parcelable.Creator<PackageInfoLite> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<PackageInfoLite> CREATOR
= new Parcelable.Creator<PackageInfoLite>() {
public PackageInfoLite createFromParcel(Parcel source) {
return new PackageInfoLite(source);
diff --git a/core/java/android/content/pm/PackageManagerInternal.java b/core/java/android/content/pm/PackageManagerInternal.java
index 270e387..2c1842c 100644
--- a/core/java/android/content/pm/PackageManagerInternal.java
+++ b/core/java/android/content/pm/PackageManagerInternal.java
@@ -160,6 +160,14 @@
* @return whether the default browser was successfully set.
*/
boolean setDefaultBrowser(@Nullable String packageName, @UserIdInt int userId);
+
+ /**
+ * Set the package name of the default browser asynchronously.
+ *
+ * @param packageName package name of the default browser, or {@code null} to remove
+ * @param userId the user id
+ */
+ void setDefaultBrowserAsync(@Nullable String packageName, @UserIdInt int userId);
}
/**
diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java
index f899800..a006f23 100644
--- a/core/java/android/content/pm/PackageParser.java
+++ b/core/java/android/content/pm/PackageParser.java
@@ -6408,7 +6408,7 @@
this.pastSigningCertificates = in.createTypedArray(Signature.CREATOR);
}
- public static final Creator<SigningDetails> CREATOR = new Creator<SigningDetails>() {
+ public static final @android.annotation.NonNull Creator<SigningDetails> CREATOR = new Creator<SigningDetails>() {
@Override
public SigningDetails createFromParcel(Parcel source) {
if (source.readBoolean()) {
@@ -8444,6 +8444,21 @@
public static PackageInfo generatePackageInfoFromApex(File apexFile, boolean collectCerts)
throws PackageParserException {
PackageInfo pi = new PackageInfo();
+ int parseFlags = 0;
+ if (collectCerts) {
+ parseFlags |= PARSE_COLLECT_CERTIFICATES;
+ try {
+ if (apexFile.getCanonicalPath().startsWith("/system")) {
+ // Don't need verify the APK integrity of APEXes on /system, just like
+ // we don't do that for APKs.
+ // TODO(b/126514108): we may be able to do this for APEXes on /data as well.
+ parseFlags |= PARSE_IS_SYSTEM_DIR;
+ }
+ } catch (IOException e) {
+ throw new PackageParserException(INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION,
+ "Failed to get path for " + apexFile.getPath(), e);
+ }
+ }
// TODO(b/123086053) properly fill in the ApplicationInfo with data from AndroidManifest
// Add ApplicationInfo to the PackageInfo.
@@ -8458,8 +8473,7 @@
// TODO(b/123052859): We should avoid these repeated calls to parseApkLite each time
// we want to generate information for APEX modules.
- PackageParser.ApkLite apk = PackageParser.parseApkLite(apexFile,
- collectCerts ? PackageParser.PARSE_COLLECT_CERTIFICATES : 0);
+ PackageParser.ApkLite apk = PackageParser.parseApkLite(apexFile, parseFlags);
pi.packageName = apk.packageName;
ai.packageName = apk.packageName;
diff --git a/core/java/android/content/pm/PackageStats.java b/core/java/android/content/pm/PackageStats.java
index d3e86a3..b0fecfa 100644
--- a/core/java/android/content/pm/PackageStats.java
+++ b/core/java/android/content/pm/PackageStats.java
@@ -79,7 +79,7 @@
/** Size of the package's OBBs placed on external media. */
public long externalObbSize;
- public static final Parcelable.Creator<PackageStats> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<PackageStats> CREATOR
= new Parcelable.Creator<PackageStats>() {
public PackageStats createFromParcel(Parcel in) {
return new PackageStats(in);
diff --git a/core/java/android/content/pm/PathPermission.java b/core/java/android/content/pm/PathPermission.java
index 7e49d7d..11c9a7d 100644
--- a/core/java/android/content/pm/PathPermission.java
+++ b/core/java/android/content/pm/PathPermission.java
@@ -55,7 +55,7 @@
mWritePermission = src.readString();
}
- public static final Parcelable.Creator<PathPermission> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<PathPermission> CREATOR
= new Parcelable.Creator<PathPermission>() {
public PathPermission createFromParcel(Parcel source) {
return new PathPermission(source);
diff --git a/core/java/android/content/pm/PermissionGroupInfo.java b/core/java/android/content/pm/PermissionGroupInfo.java
index f21612a..3a87eca 100644
--- a/core/java/android/content/pm/PermissionGroupInfo.java
+++ b/core/java/android/content/pm/PermissionGroupInfo.java
@@ -166,7 +166,7 @@
dest.writeInt(priority);
}
- public static final Creator<PermissionGroupInfo> CREATOR =
+ public static final @android.annotation.NonNull Creator<PermissionGroupInfo> CREATOR =
new Creator<PermissionGroupInfo>() {
public PermissionGroupInfo createFromParcel(Parcel source) {
return new PermissionGroupInfo(source);
diff --git a/core/java/android/content/pm/PermissionInfo.java b/core/java/android/content/pm/PermissionInfo.java
index e245234..b093867 100644
--- a/core/java/android/content/pm/PermissionInfo.java
+++ b/core/java/android/content/pm/PermissionInfo.java
@@ -551,7 +551,7 @@
return (protectionLevel & PermissionInfo.PROTECTION_FLAG_APPOP) != 0;
}
- public static final Creator<PermissionInfo> CREATOR =
+ public static final @android.annotation.NonNull Creator<PermissionInfo> CREATOR =
new Creator<PermissionInfo>() {
@Override
public PermissionInfo createFromParcel(Parcel source) {
diff --git a/core/java/android/content/pm/ProviderInfo.java b/core/java/android/content/pm/ProviderInfo.java
index f06a628..07d42dc 100644
--- a/core/java/android/content/pm/ProviderInfo.java
+++ b/core/java/android/content/pm/ProviderInfo.java
@@ -158,7 +158,7 @@
out.writeInt(isSyncable ? 1 : 0);
}
- public static final Parcelable.Creator<ProviderInfo> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<ProviderInfo> CREATOR
= new Parcelable.Creator<ProviderInfo>() {
public ProviderInfo createFromParcel(Parcel in) {
return new ProviderInfo(in);
diff --git a/core/java/android/content/pm/ResolveInfo.java b/core/java/android/content/pm/ResolveInfo.java
index 894de94..1734182 100644
--- a/core/java/android/content/pm/ResolveInfo.java
+++ b/core/java/android/content/pm/ResolveInfo.java
@@ -445,7 +445,7 @@
dest.writeInt(isInstantAppAvailable ? 1 : 0);
}
- public static final Creator<ResolveInfo> CREATOR
+ public static final @android.annotation.NonNull Creator<ResolveInfo> CREATOR
= new Creator<ResolveInfo>() {
public ResolveInfo createFromParcel(Parcel source) {
return new ResolveInfo(source);
diff --git a/core/java/android/content/pm/ServiceInfo.java b/core/java/android/content/pm/ServiceInfo.java
index 4a2f800..cd40c95 100644
--- a/core/java/android/content/pm/ServiceInfo.java
+++ b/core/java/android/content/pm/ServiceInfo.java
@@ -217,7 +217,7 @@
dest.writeInt(mForegroundServiceType);
}
- public static final Creator<ServiceInfo> CREATOR =
+ public static final @android.annotation.NonNull Creator<ServiceInfo> CREATOR =
new Creator<ServiceInfo>() {
public ServiceInfo createFromParcel(Parcel source) {
return new ServiceInfo(source);
diff --git a/core/java/android/content/pm/SharedLibraryInfo.java b/core/java/android/content/pm/SharedLibraryInfo.java
index 35609c9..13c49a0 100644
--- a/core/java/android/content/pm/SharedLibraryInfo.java
+++ b/core/java/android/content/pm/SharedLibraryInfo.java
@@ -342,7 +342,7 @@
}
}
- public static final Parcelable.Creator<SharedLibraryInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<SharedLibraryInfo> CREATOR =
new Parcelable.Creator<SharedLibraryInfo>() {
public SharedLibraryInfo createFromParcel(Parcel source) {
return new SharedLibraryInfo(source);
diff --git a/core/java/android/content/pm/ShortcutInfo.java b/core/java/android/content/pm/ShortcutInfo.java
index e674b8b..d5273db 100644
--- a/core/java/android/content/pm/ShortcutInfo.java
+++ b/core/java/android/content/pm/ShortcutInfo.java
@@ -2050,7 +2050,7 @@
dest.writeParcelableArray(mPersons, flags);
}
- public static final Creator<ShortcutInfo> CREATOR =
+ public static final @android.annotation.NonNull Creator<ShortcutInfo> CREATOR =
new Creator<ShortcutInfo>() {
public ShortcutInfo createFromParcel(Parcel source) {
return new ShortcutInfo(source);
diff --git a/core/java/android/content/pm/ShortcutManager.java b/core/java/android/content/pm/ShortcutManager.java
index bd327b0..2287243 100644
--- a/core/java/android/content/pm/ShortcutManager.java
+++ b/core/java/android/content/pm/ShortcutManager.java
@@ -624,7 +624,7 @@
dest.writeParcelable(mTargetComponent, flags);
}
- public static final Parcelable.Creator<ShareShortcutInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ShareShortcutInfo> CREATOR =
new Parcelable.Creator<ShareShortcutInfo>() {
public ShareShortcutInfo createFromParcel(Parcel in) {
return new ShareShortcutInfo(in);
diff --git a/core/java/android/content/pm/Signature.java b/core/java/android/content/pm/Signature.java
index 349bb69..25a4dca 100644
--- a/core/java/android/content/pm/Signature.java
+++ b/core/java/android/content/pm/Signature.java
@@ -262,7 +262,7 @@
dest.writeByteArray(mSignature);
}
- public static final Parcelable.Creator<Signature> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<Signature> CREATOR
= new Parcelable.Creator<Signature>() {
public Signature createFromParcel(Parcel source) {
return new Signature(source);
diff --git a/core/java/android/content/pm/SigningInfo.java b/core/java/android/content/pm/SigningInfo.java
index ef87403..d14be9c 100644
--- a/core/java/android/content/pm/SigningInfo.java
+++ b/core/java/android/content/pm/SigningInfo.java
@@ -124,7 +124,7 @@
mSigningDetails.writeToParcel(dest, parcelableFlags);
}
- public static final Parcelable.Creator<SigningInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<SigningInfo> CREATOR =
new Parcelable.Creator<SigningInfo>() {
@Override
public SigningInfo createFromParcel(Parcel source) {
diff --git a/core/java/android/content/pm/SuspendDialogInfo.java b/core/java/android/content/pm/SuspendDialogInfo.java
index 53b52f5..db8f8c2 100644
--- a/core/java/android/content/pm/SuspendDialogInfo.java
+++ b/core/java/android/content/pm/SuspendDialogInfo.java
@@ -261,7 +261,7 @@
mNeutralButtonTextResId = b.mNeutralButtonTextResId;
}
- public static final Creator<SuspendDialogInfo> CREATOR = new Creator<SuspendDialogInfo>() {
+ public static final @android.annotation.NonNull Creator<SuspendDialogInfo> CREATOR = new Creator<SuspendDialogInfo>() {
@Override
public SuspendDialogInfo createFromParcel(Parcel source) {
return new SuspendDialogInfo(source);
diff --git a/core/java/android/content/pm/UserInfo.java b/core/java/android/content/pm/UserInfo.java
index b75ed35..2b1b32e 100644
--- a/core/java/android/content/pm/UserInfo.java
+++ b/core/java/android/content/pm/UserInfo.java
@@ -289,7 +289,7 @@
}
@UnsupportedAppUsage
- public static final Parcelable.Creator<UserInfo> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<UserInfo> CREATOR
= new Parcelable.Creator<UserInfo>() {
public UserInfo createFromParcel(Parcel source) {
return new UserInfo(source);
diff --git a/core/java/android/content/pm/VerificationParams.java b/core/java/android/content/pm/VerificationParams.java
index f90d295..f072167 100644
--- a/core/java/android/content/pm/VerificationParams.java
+++ b/core/java/android/content/pm/VerificationParams.java
@@ -198,7 +198,7 @@
mInstallerUid = source.readInt();
}
- public static final Parcelable.Creator<VerificationParams> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<VerificationParams> CREATOR =
new Parcelable.Creator<VerificationParams>() {
public VerificationParams createFromParcel(Parcel source) {
return new VerificationParams(source);
diff --git a/core/java/android/content/pm/VerifierDeviceIdentity.java b/core/java/android/content/pm/VerifierDeviceIdentity.java
index 90be6f31..f29aaec 100644
--- a/core/java/android/content/pm/VerifierDeviceIdentity.java
+++ b/core/java/android/content/pm/VerifierDeviceIdentity.java
@@ -230,7 +230,7 @@
dest.writeLong(mIdentity);
}
- public static final Parcelable.Creator<VerifierDeviceIdentity> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<VerifierDeviceIdentity> CREATOR
= new Parcelable.Creator<VerifierDeviceIdentity>() {
public VerifierDeviceIdentity createFromParcel(Parcel source) {
return new VerifierDeviceIdentity(source);
diff --git a/core/java/android/content/pm/VerifierInfo.java b/core/java/android/content/pm/VerifierInfo.java
index b4e72e6..224ca62 100644
--- a/core/java/android/content/pm/VerifierInfo.java
+++ b/core/java/android/content/pm/VerifierInfo.java
@@ -72,7 +72,7 @@
dest.writeSerializable(publicKey);
}
- public static final Parcelable.Creator<VerifierInfo> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<VerifierInfo> CREATOR
= new Parcelable.Creator<VerifierInfo>() {
public VerifierInfo createFromParcel(Parcel source) {
return new VerifierInfo(source);
diff --git a/core/java/android/content/pm/VersionedPackage.java b/core/java/android/content/pm/VersionedPackage.java
index 3953466..3e22eb2 100644
--- a/core/java/android/content/pm/VersionedPackage.java
+++ b/core/java/android/content/pm/VersionedPackage.java
@@ -106,7 +106,7 @@
parcel.writeLong(mVersionCode);
}
- public static final Creator<VersionedPackage> CREATOR = new Creator<VersionedPackage>() {
+ public static final @android.annotation.NonNull Creator<VersionedPackage> CREATOR = new Creator<VersionedPackage>() {
@Override
public VersionedPackage createFromParcel(Parcel source) {
return new VersionedPackage(source);
diff --git a/core/java/android/content/pm/permission/RuntimePermissionPresentationInfo.java b/core/java/android/content/pm/permission/RuntimePermissionPresentationInfo.java
index 9fa863c..97312c44 100644
--- a/core/java/android/content/pm/permission/RuntimePermissionPresentationInfo.java
+++ b/core/java/android/content/pm/permission/RuntimePermissionPresentationInfo.java
@@ -101,7 +101,7 @@
parcel.writeInt(mFlags);
}
- public static final Creator<RuntimePermissionPresentationInfo> CREATOR =
+ public static final @android.annotation.NonNull Creator<RuntimePermissionPresentationInfo> CREATOR =
new Creator<RuntimePermissionPresentationInfo>() {
public RuntimePermissionPresentationInfo createFromParcel(Parcel source) {
return new RuntimePermissionPresentationInfo(source);
diff --git a/core/java/android/content/res/AssetFileDescriptor.java b/core/java/android/content/res/AssetFileDescriptor.java
index b6cbf08..2ba5579 100644
--- a/core/java/android/content/res/AssetFileDescriptor.java
+++ b/core/java/android/content/res/AssetFileDescriptor.java
@@ -370,7 +370,7 @@
}
}
- public static final Parcelable.Creator<AssetFileDescriptor> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<AssetFileDescriptor> CREATOR
= new Parcelable.Creator<AssetFileDescriptor>() {
public AssetFileDescriptor createFromParcel(Parcel in) {
return new AssetFileDescriptor(in);
diff --git a/core/java/android/content/res/ColorStateList.java b/core/java/android/content/res/ColorStateList.java
index 16b9726..b5b097b 100644
--- a/core/java/android/content/res/ColorStateList.java
+++ b/core/java/android/content/res/ColorStateList.java
@@ -727,7 +727,7 @@
dest.writeIntArray(mColors);
}
- public static final Parcelable.Creator<ColorStateList> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ColorStateList> CREATOR =
new Parcelable.Creator<ColorStateList>() {
@Override
public ColorStateList[] newArray(int size) {
diff --git a/core/java/android/content/res/CompatibilityInfo.java b/core/java/android/content/res/CompatibilityInfo.java
index 7d101b8..a99a0b5 100644
--- a/core/java/android/content/res/CompatibilityInfo.java
+++ b/core/java/android/content/res/CompatibilityInfo.java
@@ -613,7 +613,7 @@
}
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
- public static final Parcelable.Creator<CompatibilityInfo> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<CompatibilityInfo> CREATOR
= new Parcelable.Creator<CompatibilityInfo>() {
@Override
public CompatibilityInfo createFromParcel(Parcel source) {
diff --git a/core/java/android/content/res/Configuration.java b/core/java/android/content/res/Configuration.java
index 8a92017..8b02cae 100644
--- a/core/java/android/content/res/Configuration.java
+++ b/core/java/android/content/res/Configuration.java
@@ -1829,7 +1829,7 @@
seq = source.readInt();
}
- public static final Parcelable.Creator<Configuration> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<Configuration> CREATOR
= new Parcelable.Creator<Configuration>() {
public Configuration createFromParcel(Parcel source) {
return new Configuration(source);
diff --git a/core/java/android/content/res/ObbInfo.java b/core/java/android/content/res/ObbInfo.java
index 1d10b4f..8af27ca 100644
--- a/core/java/android/content/res/ObbInfo.java
+++ b/core/java/android/content/res/ObbInfo.java
@@ -88,7 +88,7 @@
dest.writeByteArray(salt);
}
- public static final Parcelable.Creator<ObbInfo> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<ObbInfo> CREATOR
= new Parcelable.Creator<ObbInfo>() {
public ObbInfo createFromParcel(Parcel source) {
return new ObbInfo(source);
diff --git a/core/java/android/content/rollback/PackageRollbackInfo.java b/core/java/android/content/rollback/PackageRollbackInfo.java
index 7e5532c..03810f5 100644
--- a/core/java/android/content/rollback/PackageRollbackInfo.java
+++ b/core/java/android/content/rollback/PackageRollbackInfo.java
@@ -208,7 +208,7 @@
out.writeBoolean(mIsApex);
}
- public static final Parcelable.Creator<PackageRollbackInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<PackageRollbackInfo> CREATOR =
new Parcelable.Creator<PackageRollbackInfo>() {
public PackageRollbackInfo createFromParcel(Parcel in) {
return new PackageRollbackInfo(in);
diff --git a/core/java/android/content/rollback/RollbackInfo.java b/core/java/android/content/rollback/RollbackInfo.java
index 9459ad3..29b99e0 100644
--- a/core/java/android/content/rollback/RollbackInfo.java
+++ b/core/java/android/content/rollback/RollbackInfo.java
@@ -123,7 +123,7 @@
out.writeInt(mCommittedSessionId);
}
- public static final Parcelable.Creator<RollbackInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<RollbackInfo> CREATOR =
new Parcelable.Creator<RollbackInfo>() {
public RollbackInfo createFromParcel(Parcel in) {
return new RollbackInfo(in);
diff --git a/core/java/android/database/BulkCursorDescriptor.java b/core/java/android/database/BulkCursorDescriptor.java
index c1e5e63..80a0319 100644
--- a/core/java/android/database/BulkCursorDescriptor.java
+++ b/core/java/android/database/BulkCursorDescriptor.java
@@ -26,7 +26,7 @@
* {@hide}
*/
public final class BulkCursorDescriptor implements Parcelable {
- public static final Parcelable.Creator<BulkCursorDescriptor> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<BulkCursorDescriptor> CREATOR =
new Parcelable.Creator<BulkCursorDescriptor>() {
@Override
public BulkCursorDescriptor createFromParcel(Parcel in) {
diff --git a/core/java/android/database/Cursor.java b/core/java/android/database/Cursor.java
index 1379138..2afb755 100644
--- a/core/java/android/database/Cursor.java
+++ b/core/java/android/database/Cursor.java
@@ -17,6 +17,7 @@
package android.database;
import android.annotation.NonNull;
+import android.annotation.Nullable;
import android.content.ContentResolver;
import android.net.Uri;
import android.os.Bundle;
@@ -473,7 +474,7 @@
* ContentResolver.registerContentObserver} to find out about changes to this Cursor's
* data. May be null if no notification URI has been set.
*/
- default List<Uri> getNotificationUris() {
+ default @Nullable List<Uri> getNotificationUris() {
final Uri notifyUri = getNotificationUri();
return notifyUri == null ? null : Arrays.asList(notifyUri);
}
diff --git a/core/java/android/database/CursorWindow.java b/core/java/android/database/CursorWindow.java
index d9443d9..44bd883 100644
--- a/core/java/android/database/CursorWindow.java
+++ b/core/java/android/database/CursorWindow.java
@@ -709,7 +709,7 @@
}
}
- public static final Parcelable.Creator<CursorWindow> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<CursorWindow> CREATOR
= new Parcelable.Creator<CursorWindow>() {
public CursorWindow createFromParcel(Parcel source) {
return new CursorWindow(source);
diff --git a/core/java/android/database/sqlite/SQLiteQueryBuilder.java b/core/java/android/database/sqlite/SQLiteQueryBuilder.java
index 03e8507..a73a719 100644
--- a/core/java/android/database/sqlite/SQLiteQueryBuilder.java
+++ b/core/java/android/database/sqlite/SQLiteQueryBuilder.java
@@ -89,7 +89,7 @@
*
* @return the list of tables being queried
*/
- public String getTables() {
+ public @Nullable String getTables() {
return mTables;
}
@@ -101,7 +101,7 @@
*
* @param inTables the list of tables to query on
*/
- public void setTables(String inTables) {
+ public void setTables(@Nullable String inTables) {
mTables = inTables;
}
@@ -170,7 +170,7 @@
*
* @param columnMap maps from the user column names to the database column names
*/
- public void setProjectionMap(Map<String, String> columnMap) {
+ public void setProjectionMap(@Nullable Map<String, String> columnMap) {
mProjectionMap = columnMap;
}
@@ -178,7 +178,7 @@
* Gets the projection map for the query, as last configured by
* {@link #setProjectionMap(Map)}.
*/
- public Map<String, String> getProjectionMap() {
+ public @Nullable Map<String, String> getProjectionMap() {
return mProjectionMap;
}
@@ -189,7 +189,7 @@
*
* @hide
*/
- public void setProjectionGreylist(List<Pattern> projectionGreylist) {
+ public void setProjectionGreylist(@Nullable List<Pattern> projectionGreylist) {
mProjectionGreylist = projectionGreylist;
}
@@ -199,7 +199,7 @@
*
* @hide
*/
- public List<Pattern> getProjectionGreylist() {
+ public @Nullable List<Pattern> getProjectionGreylist() {
return mProjectionGreylist;
}
@@ -210,7 +210,7 @@
*
* @param factory the factory to use.
*/
- public void setCursorFactory(SQLiteDatabase.CursorFactory factory) {
+ public void setCursorFactory(@Nullable SQLiteDatabase.CursorFactory factory) {
mFactory = factory;
}
@@ -218,7 +218,7 @@
* Sets the cursor factory to be used for the query, as last configured by
* {@link #setCursorFactory(android.database.sqlite.SQLiteDatabase.CursorFactory)}.
*/
- public SQLiteDatabase.CursorFactory getCursorFactory() {
+ public @Nullable SQLiteDatabase.CursorFactory getCursorFactory() {
return mFactory;
}
diff --git a/core/java/android/gesture/Gesture.java b/core/java/android/gesture/Gesture.java
index c6a2a87..08920c1 100644
--- a/core/java/android/gesture/Gesture.java
+++ b/core/java/android/gesture/Gesture.java
@@ -280,7 +280,7 @@
return gesture;
}
- public static final Parcelable.Creator<Gesture> CREATOR = new Parcelable.Creator<Gesture>() {
+ public static final @android.annotation.NonNull Parcelable.Creator<Gesture> CREATOR = new Parcelable.Creator<Gesture>() {
public Gesture createFromParcel(Parcel in) {
Gesture gesture = null;
final long gestureID = in.readLong();
diff --git a/core/java/android/hardware/CameraInfo.java b/core/java/android/hardware/CameraInfo.java
index 53da0ce..072be50 100644
--- a/core/java/android/hardware/CameraInfo.java
+++ b/core/java/android/hardware/CameraInfo.java
@@ -45,7 +45,7 @@
info.orientation = in.readInt();
}
- public static final Parcelable.Creator<CameraInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<CameraInfo> CREATOR =
new Parcelable.Creator<CameraInfo>() {
@Override
public CameraInfo createFromParcel(Parcel in) {
diff --git a/core/java/android/hardware/CameraStatus.java b/core/java/android/hardware/CameraStatus.java
index bc97e38..08b5b77 100644
--- a/core/java/android/hardware/CameraStatus.java
+++ b/core/java/android/hardware/CameraStatus.java
@@ -47,7 +47,7 @@
status = in.readInt();
}
- public static final Parcelable.Creator<CameraStatus> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<CameraStatus> CREATOR =
new Parcelable.Creator<CameraStatus>() {
@Override
public CameraStatus createFromParcel(Parcel in) {
diff --git a/core/java/android/hardware/HardwareBuffer.java b/core/java/android/hardware/HardwareBuffer.java
index 87cffc9..c569e05 100644
--- a/core/java/android/hardware/HardwareBuffer.java
+++ b/core/java/android/hardware/HardwareBuffer.java
@@ -376,7 +376,7 @@
nWriteHardwareBufferToParcel(mNativeObject, dest);
}
- public static final Parcelable.Creator<HardwareBuffer> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<HardwareBuffer> CREATOR =
new Parcelable.Creator<HardwareBuffer>() {
public HardwareBuffer createFromParcel(Parcel in) {
long nativeObject = nReadHardwareBufferFromParcel(in);
diff --git a/core/java/android/hardware/biometrics/BiometricPrompt.java b/core/java/android/hardware/biometrics/BiometricPrompt.java
index baf972b..c64e48f 100644
--- a/core/java/android/hardware/biometrics/BiometricPrompt.java
+++ b/core/java/android/hardware/biometrics/BiometricPrompt.java
@@ -139,7 +139,7 @@
* @param title
* @return
*/
- public Builder setTitle(@NonNull CharSequence title) {
+ @NonNull public Builder setTitle(@NonNull CharSequence title) {
mBundle.putCharSequence(KEY_TITLE, title);
return this;
}
@@ -150,7 +150,7 @@
* @hide
*/
@RequiresPermission(USE_BIOMETRIC_INTERNAL)
- public Builder setUseDefaultTitle() {
+ @NonNull public Builder setUseDefaultTitle() {
mBundle.putBoolean(KEY_USE_DEFAULT_TITLE, true);
return this;
}
@@ -160,7 +160,7 @@
* @param subtitle
* @return
*/
- public Builder setSubtitle(@NonNull CharSequence subtitle) {
+ @NonNull public Builder setSubtitle(@NonNull CharSequence subtitle) {
mBundle.putCharSequence(KEY_SUBTITLE, subtitle);
return this;
}
@@ -170,7 +170,7 @@
* @param description
* @return
*/
- public Builder setDescription(@NonNull CharSequence description) {
+ @NonNull public Builder setDescription(@NonNull CharSequence description) {
mBundle.putCharSequence(KEY_DESCRIPTION, description);
return this;
}
@@ -182,7 +182,7 @@
* @return
* @hide
*/
- public Builder setPositiveButton(@NonNull CharSequence text,
+ @NonNull public Builder setPositiveButton(@NonNull CharSequence text,
@NonNull @CallbackExecutor Executor executor,
@NonNull DialogInterface.OnClickListener listener) {
if (TextUtils.isEmpty(text)) {
@@ -210,7 +210,7 @@
* @param text
* @return
*/
- public Builder setNegativeButton(@NonNull CharSequence text,
+ @NonNull public Builder setNegativeButton(@NonNull CharSequence text,
@NonNull @CallbackExecutor Executor executor,
@NonNull DialogInterface.OnClickListener listener) {
if (TextUtils.isEmpty(text)) {
@@ -245,7 +245,7 @@
*
* @param requireConfirmation
*/
- public Builder setRequireConfirmation(boolean requireConfirmation) {
+ @NonNull public Builder setRequireConfirmation(boolean requireConfirmation) {
mBundle.putBoolean(KEY_REQUIRE_CONFIRMATION, requireConfirmation);
return this;
}
@@ -255,7 +255,8 @@
* option to authenticate with their device PIN, pattern, or password. Developers should
* first check {@link KeyguardManager#isDeviceSecure()} before enabling this. If the device
* is not secure, {@link BiometricPrompt#BIOMETRIC_ERROR_NO_DEVICE_CREDENTIAL} will be
- * returned in {@link AuthenticationCallback#onAuthenticationError(int, CharSequence)}}
+ * returned in {@link AuthenticationCallback#onAuthenticationError(int, CharSequence)}}.
+ * Defaults to false.
*
* Note that {@link #setNegativeButton(CharSequence, Executor,
* DialogInterface.OnClickListener)} should not be set if this is set to true.
@@ -264,7 +265,7 @@
* credentials (PIN, pattern, or password).
* @return
*/
- public Builder setAllowDeviceCredential(boolean enable) {
+ @NonNull public Builder setAllowDeviceCredential(boolean enable) {
mBundle.putBoolean(KEY_ALLOW_DEVICE_CREDENTIAL, enable);
return this;
}
@@ -274,7 +275,7 @@
* @return a {@link BiometricPrompt}
* @throws IllegalArgumentException if any of the required fields are not set.
*/
- public BiometricPrompt build() {
+ @NonNull public BiometricPrompt build() {
final CharSequence title = mBundle.getCharSequence(KEY_TITLE);
final CharSequence negative = mBundle.getCharSequence(KEY_NEGATIVE_TEXT);
final boolean useDefaultTitle = mBundle.getBoolean(KEY_USE_DEFAULT_TITLE);
@@ -616,8 +617,15 @@
mExecutor = executor;
mAuthenticationCallback = callback;
final long sessionId = crypto != null ? crypto.getOpId() : 0;
- mService.authenticate(mToken, sessionId, userId, mBiometricServiceReceiver,
- mContext.getOpPackageName(), mBundle);
+ if (BiometricManager.hasBiometrics(mContext)) {
+ mService.authenticate(mToken, sessionId, userId, mBiometricServiceReceiver,
+ mContext.getOpPackageName(), mBundle);
+ } else {
+ mExecutor.execute(() -> {
+ callback.onAuthenticationError(BiometricPrompt.BIOMETRIC_ERROR_HW_NOT_PRESENT,
+ mContext.getString(R.string.biometric_error_hw_unavailable));
+ });
+ }
} catch (RemoteException e) {
Log.e(TAG, "Remote exception while authenticating", e);
mExecutor.execute(() -> {
diff --git a/core/java/android/hardware/biometrics/BiometricSourceType.java b/core/java/android/hardware/biometrics/BiometricSourceType.java
index 4a08cf2..f35958f 100644
--- a/core/java/android/hardware/biometrics/BiometricSourceType.java
+++ b/core/java/android/hardware/biometrics/BiometricSourceType.java
@@ -37,7 +37,7 @@
dest.writeString(name());
}
- public static final Creator<BiometricSourceType> CREATOR = new Creator<BiometricSourceType>() {
+ public static final @android.annotation.NonNull Creator<BiometricSourceType> CREATOR = new Creator<BiometricSourceType>() {
@Override
public BiometricSourceType createFromParcel(final Parcel source) {
return BiometricSourceType.valueOf(source.readString());
diff --git a/core/java/android/hardware/camera2/CameraCharacteristics.java b/core/java/android/hardware/camera2/CameraCharacteristics.java
index 0e4ff78..f7b7ef2 100644
--- a/core/java/android/hardware/camera2/CameraCharacteristics.java
+++ b/core/java/android/hardware/camera2/CameraCharacteristics.java
@@ -682,6 +682,7 @@
* @see CaptureRequest#COLOR_CORRECTION_ABERRATION_MODE
*/
@PublicKey
+ @NonNull
public static final Key<int[]> COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES =
new Key<int[]>("android.colorCorrection.availableAberrationModes", int[].class);
@@ -700,6 +701,7 @@
* @see CaptureRequest#CONTROL_AE_ANTIBANDING_MODE
*/
@PublicKey
+ @NonNull
public static final Key<int[]> CONTROL_AE_AVAILABLE_ANTIBANDING_MODES =
new Key<int[]>("android.control.aeAvailableAntibandingModes", int[].class);
@@ -725,6 +727,7 @@
* @see CaptureRequest#CONTROL_AE_MODE
*/
@PublicKey
+ @NonNull
public static final Key<int[]> CONTROL_AE_AVAILABLE_MODES =
new Key<int[]>("android.control.aeAvailableModes", int[].class);
@@ -764,6 +767,7 @@
* @see CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE
*/
@PublicKey
+ @NonNull
public static final Key<android.util.Range<Integer>[]> CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES =
new Key<android.util.Range<Integer>[]>("android.control.aeAvailableTargetFpsRanges", new TypeReference<android.util.Range<Integer>[]>() {{ }});
@@ -784,6 +788,7 @@
* @see CaptureRequest#CONTROL_AE_EXPOSURE_COMPENSATION
*/
@PublicKey
+ @NonNull
public static final Key<android.util.Range<Integer>> CONTROL_AE_COMPENSATION_RANGE =
new Key<android.util.Range<Integer>>("android.control.aeCompensationRange", new TypeReference<android.util.Range<Integer>>() {{ }});
@@ -801,6 +806,7 @@
* @see CaptureRequest#CONTROL_AE_EXPOSURE_COMPENSATION
*/
@PublicKey
+ @NonNull
public static final Key<Rational> CONTROL_AE_COMPENSATION_STEP =
new Key<Rational>("android.control.aeCompensationStep", Rational.class);
@@ -825,6 +831,7 @@
* @see CameraCharacteristics#LENS_INFO_MINIMUM_FOCUS_DISTANCE
*/
@PublicKey
+ @NonNull
public static final Key<int[]> CONTROL_AF_AVAILABLE_MODES =
new Key<int[]>("android.control.afAvailableModes", int[].class);
@@ -848,6 +855,7 @@
* @see CaptureRequest#CONTROL_MODE
*/
@PublicKey
+ @NonNull
public static final Key<int[]> CONTROL_AVAILABLE_EFFECTS =
new Key<int[]>("android.control.availableEffects", int[].class);
@@ -871,6 +879,7 @@
* @see CameraCharacteristics#STATISTICS_INFO_MAX_FACE_COUNT
*/
@PublicKey
+ @NonNull
public static final Key<int[]> CONTROL_AVAILABLE_SCENE_MODES =
new Key<int[]>("android.control.availableSceneModes", int[].class);
@@ -885,6 +894,7 @@
* @see CaptureRequest#CONTROL_VIDEO_STABILIZATION_MODE
*/
@PublicKey
+ @NonNull
public static final Key<int[]> CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES =
new Key<int[]>("android.control.availableVideoStabilizationModes", int[].class);
@@ -909,6 +919,7 @@
* @see CaptureRequest#CONTROL_AWB_MODE
*/
@PublicKey
+ @NonNull
public static final Key<int[]> CONTROL_AWB_AVAILABLE_MODES =
new Key<int[]>("android.control.awbAvailableModes", int[].class);
@@ -945,6 +956,7 @@
* @see CaptureRequest#CONTROL_AE_REGIONS
*/
@PublicKey
+ @NonNull
@SyntheticKey
public static final Key<Integer> CONTROL_MAX_REGIONS_AE =
new Key<Integer>("android.control.maxRegionsAe", int.class);
@@ -961,6 +973,7 @@
* @see CaptureRequest#CONTROL_AWB_REGIONS
*/
@PublicKey
+ @NonNull
@SyntheticKey
public static final Key<Integer> CONTROL_MAX_REGIONS_AWB =
new Key<Integer>("android.control.maxRegionsAwb", int.class);
@@ -977,6 +990,7 @@
* @see CaptureRequest#CONTROL_AF_REGIONS
*/
@PublicKey
+ @NonNull
@SyntheticKey
public static final Key<Integer> CONTROL_MAX_REGIONS_AF =
new Key<Integer>("android.control.maxRegionsAf", int.class);
@@ -1025,7 +1039,7 @@
* normal capture session, or it will cause request error.</p>
* <p><b>Range of valid values:</b><br></p>
* <p>For each configuration, the fps_max >= 120fps.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Limited capability</b> -
* Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -1046,6 +1060,7 @@
* @see CaptureRequest#CONTROL_AE_LOCK
*/
@PublicKey
+ @NonNull
public static final Key<Boolean> CONTROL_AE_LOCK_AVAILABLE =
new Key<Boolean>("android.control.aeLockAvailable", boolean.class);
@@ -1058,6 +1073,7 @@
* @see CaptureRequest#CONTROL_AWB_LOCK
*/
@PublicKey
+ @NonNull
public static final Key<Boolean> CONTROL_AWB_LOCK_AVAILABLE =
new Key<Boolean>("android.control.awbLockAvailable", boolean.class);
@@ -1074,6 +1090,7 @@
* @see CaptureRequest#CONTROL_MODE
*/
@PublicKey
+ @NonNull
public static final Key<int[]> CONTROL_AVAILABLE_MODES =
new Key<int[]>("android.control.availableModes", int[].class);
@@ -1088,12 +1105,13 @@
* present, and if a device does not support post RAW sensitivity boost, it will
* list <code>(100, 100)</code> in this key.</p>
* <p><b>Units</b>: ISO arithmetic units, the same as {@link CaptureRequest#SENSOR_SENSITIVITY android.sensor.sensitivity}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CaptureRequest#CONTROL_POST_RAW_SENSITIVITY_BOOST
* @see CaptureRequest#SENSOR_SENSITIVITY
*/
@PublicKey
+ @NonNull
public static final Key<android.util.Range<Integer>> CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE =
new Key<android.util.Range<Integer>>("android.control.postRawSensitivityBoostRange", new TypeReference<android.util.Range<Integer>>() {{ }});
@@ -1105,7 +1123,7 @@
* list FAST.</p>
* <p><b>Range of valid values:</b><br>
* Any value listed in {@link CaptureRequest#EDGE_MODE android.edge.mode}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -1114,6 +1132,7 @@
* @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
*/
@PublicKey
+ @NonNull
public static final Key<int[]> EDGE_AVAILABLE_EDGE_MODES =
new Key<int[]>("android.edge.availableEdgeModes", int[].class);
@@ -1126,6 +1145,7 @@
* This key is available on all devices.</p>
*/
@PublicKey
+ @NonNull
public static final Key<Boolean> FLASH_INFO_AVAILABLE =
new Key<Boolean>("android.flash.info.available", boolean.class);
@@ -1135,11 +1155,12 @@
* <p>FULL mode camera devices will always support FAST.</p>
* <p><b>Range of valid values:</b><br>
* Any value listed in {@link CaptureRequest#HOT_PIXEL_MODE android.hotPixel.mode}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CaptureRequest#HOT_PIXEL_MODE
*/
@PublicKey
+ @NonNull
public static final Key<int[]> HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES =
new Key<int[]>("android.hotPixel.availableHotPixelModes", int[].class);
@@ -1167,6 +1188,7 @@
* @see CaptureRequest#JPEG_THUMBNAIL_SIZE
*/
@PublicKey
+ @NonNull
public static final Key<android.util.Size[]> JPEG_AVAILABLE_THUMBNAIL_SIZES =
new Key<android.util.Size[]>("android.jpeg.availableThumbnailSizes", android.util.Size[].class);
@@ -1178,7 +1200,7 @@
* <p>If the camera device supports a variable aperture, the aperture values
* in this list will be sorted in ascending order.</p>
* <p><b>Units</b>: The aperture f-number</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -1187,6 +1209,7 @@
* @see CaptureRequest#LENS_APERTURE
*/
@PublicKey
+ @NonNull
public static final Key<float[]> LENS_INFO_AVAILABLE_APERTURES =
new Key<float[]>("android.lens.info.availableApertures", float[].class);
@@ -1199,7 +1222,7 @@
* <p><b>Units</b>: Exposure value (EV)</p>
* <p><b>Range of valid values:</b><br></p>
* <p>Values are >= 0</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -1208,6 +1231,7 @@
* @see CaptureRequest#LENS_FILTER_DENSITY
*/
@PublicKey
+ @NonNull
public static final Key<float[]> LENS_INFO_AVAILABLE_FILTER_DENSITIES =
new Key<float[]>("android.lens.info.availableFilterDensities", float[].class);
@@ -1226,6 +1250,7 @@
* @see CaptureRequest#LENS_FOCAL_LENGTH
*/
@PublicKey
+ @NonNull
public static final Key<float[]> LENS_INFO_AVAILABLE_FOCAL_LENGTHS =
new Key<float[]>("android.lens.info.availableFocalLengths", float[].class);
@@ -1236,7 +1261,7 @@
* contain only OFF.</p>
* <p><b>Range of valid values:</b><br>
* Any value listed in {@link CaptureRequest#LENS_OPTICAL_STABILIZATION_MODE android.lens.opticalStabilizationMode}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Limited capability</b> -
* Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -1245,6 +1270,7 @@
* @see CaptureRequest#LENS_OPTICAL_STABILIZATION_MODE
*/
@PublicKey
+ @NonNull
public static final Key<int[]> LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION =
new Key<int[]>("android.lens.info.availableOpticalStabilization", int[].class);
@@ -1256,7 +1282,7 @@
* <p><b>Range of valid values:</b><br>
* If lens is fixed focus, >= 0. If lens has focuser unit, the value is
* within <code>(0.0f, {@link CameraCharacteristics#LENS_INFO_MINIMUM_FOCUS_DISTANCE android.lens.info.minimumFocusDistance}]</code></p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Limited capability</b> -
* Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -1267,6 +1293,7 @@
* @see CameraCharacteristics#LENS_INFO_MINIMUM_FOCUS_DISTANCE
*/
@PublicKey
+ @NonNull
public static final Key<Float> LENS_INFO_HYPERFOCAL_DISTANCE =
new Key<Float>("android.lens.info.hyperfocalDistance", float.class);
@@ -1278,7 +1305,7 @@
* <p><b>Units</b>: See {@link CameraCharacteristics#LENS_INFO_FOCUS_DISTANCE_CALIBRATION android.lens.info.focusDistanceCalibration} for details</p>
* <p><b>Range of valid values:</b><br>
* >= 0</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Limited capability</b> -
* Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -1288,6 +1315,7 @@
* @see CameraCharacteristics#LENS_INFO_FOCUS_DISTANCE_CALIBRATION
*/
@PublicKey
+ @NonNull
public static final Key<Float> LENS_INFO_MINIMUM_FOCUS_DISTANCE =
new Key<Float>("android.lens.info.minimumFocusDistance", float.class);
@@ -1297,7 +1325,7 @@
* must be smaller than 64x64.</p>
* <p><b>Range of valid values:</b><br>
* Both values >= 1</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -1329,7 +1357,7 @@
* <li>{@link #LENS_INFO_FOCUS_DISTANCE_CALIBRATION_APPROXIMATE APPROXIMATE}</li>
* <li>{@link #LENS_INFO_FOCUS_DISTANCE_CALIBRATION_CALIBRATED CALIBRATED}</li>
* </ul></p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Limited capability</b> -
* Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -1344,6 +1372,7 @@
* @see #LENS_INFO_FOCUS_DISTANCE_CALIBRATION_CALIBRATED
*/
@PublicKey
+ @NonNull
public static final Key<Integer> LENS_INFO_FOCUS_DISTANCE_CALIBRATION =
new Key<Integer>("android.lens.info.focusDistanceCalibration", int.class);
@@ -1362,6 +1391,7 @@
* @see #LENS_FACING_EXTERNAL
*/
@PublicKey
+ @NonNull
public static final Key<Integer> LENS_FACING =
new Key<Integer>("android.lens.facing", int.class);
@@ -1396,10 +1426,11 @@
* <code>p'</code> is in the camera-oriented coordinate system.</p>
* <p><b>Units</b>:
* Quaternion coefficients</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
*/
@PublicKey
+ @NonNull
public static final Key<float[]> LENS_POSE_ROTATION =
new Key<float[]>("android.lens.poseRotation", float[].class);
@@ -1432,7 +1463,7 @@
* the center of the primary gyroscope on the device. The axis definitions are the same as
* with PRIMARY_CAMERA.</p>
* <p><b>Units</b>: Meters</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
*
* @see CameraCharacteristics#LENS_DISTORTION
@@ -1441,6 +1472,7 @@
* @see CameraCharacteristics#LENS_POSE_ROTATION
*/
@PublicKey
+ @NonNull
public static final Key<float[]> LENS_POSE_TRANSLATION =
new Key<float[]>("android.lens.poseTranslation", float[].class);
@@ -1504,7 +1536,7 @@
* Pixels in the
* {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}
* coordinate system.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
*
* @see CameraCharacteristics#LENS_DISTORTION
@@ -1514,6 +1546,7 @@
* @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
*/
@PublicKey
+ @NonNull
public static final Key<float[]> LENS_INTRINSIC_CALIBRATION =
new Key<float[]>("android.lens.intrinsicCalibration", float[].class);
@@ -1548,7 +1581,7 @@
* <p>The distortion model used is the Brown-Conrady model.</p>
* <p><b>Units</b>:
* Unitless coefficients.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
*
* @see CameraCharacteristics#LENS_INTRINSIC_CALIBRATION
@@ -1561,6 +1594,7 @@
*/
@Deprecated
@PublicKey
+ @NonNull
public static final Key<float[]> LENS_RADIAL_DISTORTION =
new Key<float[]>("android.lens.radialDistortion", float[].class);
@@ -1573,7 +1607,7 @@
* <li>{@link #LENS_POSE_REFERENCE_PRIMARY_CAMERA PRIMARY_CAMERA}</li>
* <li>{@link #LENS_POSE_REFERENCE_GYROSCOPE GYROSCOPE}</li>
* </ul></p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
*
* @see CameraCharacteristics#LENS_POSE_TRANSLATION
@@ -1581,6 +1615,7 @@
* @see #LENS_POSE_REFERENCE_GYROSCOPE
*/
@PublicKey
+ @NonNull
public static final Key<Integer> LENS_POSE_REFERENCE =
new Key<Integer>("android.lens.poseReference", int.class);
@@ -1615,13 +1650,14 @@
* <p>The distortion model used is the Brown-Conrady model.</p>
* <p><b>Units</b>:
* Unitless coefficients.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
*
* @see CameraCharacteristics#LENS_INTRINSIC_CALIBRATION
* @see CameraCharacteristics#LENS_RADIAL_DISTORTION
*/
@PublicKey
+ @NonNull
public static final Key<float[]> LENS_DISTORTION =
new Key<float[]>("android.lens.distortion", float[].class);
@@ -1634,7 +1670,7 @@
* <p>Legacy-capability camera devices will only support FAST mode.</p>
* <p><b>Range of valid values:</b><br>
* Any value listed in {@link CaptureRequest#NOISE_REDUCTION_MODE android.noiseReduction.mode}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Limited capability</b> -
* Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -1643,6 +1679,7 @@
* @see CaptureRequest#NOISE_REDUCTION_MODE
*/
@PublicKey
+ @NonNull
public static final Key<int[]> NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES =
new Key<int[]>("android.noiseReduction.availableNoiseReductionModes", int[].class);
@@ -1655,7 +1692,7 @@
* future versions of camera service. This quirk will stop
* working at that point; DO NOT USE without careful
* consideration of future support.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* @deprecated
* <p>Not used in HALv3 or newer; replaced by better partials mechanism</p>
@@ -1728,6 +1765,7 @@
* @see CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP
*/
@PublicKey
+ @NonNull
@SyntheticKey
public static final Key<Integer> REQUEST_MAX_NUM_OUTPUT_RAW =
new Key<Integer>("android.request.maxNumOutputRaw", int.class);
@@ -1764,6 +1802,7 @@
* @see CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP
*/
@PublicKey
+ @NonNull
@SyntheticKey
public static final Key<Integer> REQUEST_MAX_NUM_OUTPUT_PROC =
new Key<Integer>("android.request.maxNumOutputProc", int.class);
@@ -1790,6 +1829,7 @@
* @see CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP
*/
@PublicKey
+ @NonNull
@SyntheticKey
public static final Key<Integer> REQUEST_MAX_NUM_OUTPUT_PROC_STALLING =
new Key<Integer>("android.request.maxNumOutputProcStalling", int.class);
@@ -1809,7 +1849,7 @@
* should be JPEG.</p>
* <p><b>Range of valid values:</b><br></p>
* <p>0 or 1.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -1817,6 +1857,7 @@
* @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
*/
@PublicKey
+ @NonNull
public static final Key<Integer> REQUEST_MAX_NUM_INPUT_STREAMS =
new Key<Integer>("android.request.maxNumInputStreams", int.class);
@@ -1841,6 +1882,7 @@
* @see CaptureResult#REQUEST_PIPELINE_DEPTH
*/
@PublicKey
+ @NonNull
public static final Key<Byte> REQUEST_PIPELINE_MAX_DEPTH =
new Key<Byte>("android.request.pipelineMaxDepth", byte.class);
@@ -1861,9 +1903,10 @@
* partial results.</p>
* <p><b>Range of valid values:</b><br>
* >= 1</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*/
@PublicKey
+ @NonNull
public static final Key<Integer> REQUEST_PARTIAL_RESULT_COUNT =
new Key<Integer>("android.request.partialResultCount", int.class);
@@ -1923,6 +1966,7 @@
* @see #REQUEST_AVAILABLE_CAPABILITIES_SECURE_IMAGE_DATA
*/
@PublicKey
+ @NonNull
public static final Key<int[]> REQUEST_AVAILABLE_CAPABILITIES =
new Key<int[]>("android.request.availableCapabilities", int[].class);
@@ -2036,7 +2080,7 @@
* {@link CaptureRequest.Builder#getPhysicalCameraKey }. Capture requests that contain
* individual physical device requests must be built via
* {@link android.hardware.camera2.CameraDevice#createCaptureRequest(int, Set)}.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Limited capability</b> -
* Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -2067,7 +2111,7 @@
* camera device for output streams.</p>
* <p>All camera devices will support JPEG and YUV_420_888 formats.</p>
* <p>When set to YUV_420_888, application can access the YUV420 data directly.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* @deprecated
* <p>Not used in HALv3 or newer</p>
@@ -2089,7 +2133,7 @@
* <p><b>Units</b>: Nanoseconds</p>
* <p><b>Range of valid values:</b><br>
* TODO: Remove property.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* @deprecated
* <p>Not used in HALv3 or newer</p>
@@ -2105,7 +2149,7 @@
* sensor maximum resolution (defined by {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}).</p>
* <p><b>Range of valid values:</b><br>
* TODO: Remove property.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
* @deprecated
@@ -2135,6 +2179,7 @@
* @see CaptureRequest#SCALER_CROP_REGION
*/
@PublicKey
+ @NonNull
public static final Key<Float> SCALER_AVAILABLE_MAX_DIGITAL_ZOOM =
new Key<Float>("android.scaler.availableMaxDigitalZoom", float.class);
@@ -2148,7 +2193,7 @@
* <p>When multiple streams are configured, the minimum frame duration will
* be >= max(individual stream min durations).</p>
* <p><b>Units</b>: Nanoseconds</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* @deprecated
* <p>Not used in HALv3 or newer</p>
@@ -2172,7 +2217,7 @@
* can provide.</p>
* <p>Please reference the documentation for the image data destination to
* check if it limits the maximum size for image data.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* @deprecated
* <p>Not used in HALv3 or newer</p>
@@ -2257,7 +2302,7 @@
* </tr>
* </tbody>
* </table>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES
* @see CameraCharacteristics#REQUEST_MAX_NUM_INPUT_STREAMS
@@ -2551,6 +2596,7 @@
* @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
*/
@PublicKey
+ @NonNull
@SyntheticKey
public static final Key<android.hardware.camera2.params.StreamConfigurationMap> SCALER_STREAM_CONFIGURATION_MAP =
new Key<android.hardware.camera2.params.StreamConfigurationMap>("android.scaler.streamConfigurationMap", android.hardware.camera2.params.StreamConfigurationMap.class);
@@ -2579,6 +2625,7 @@
* @see #SCALER_CROPPING_TYPE_FREEFORM
*/
@PublicKey
+ @NonNull
public static final Key<Integer> SCALER_CROPPING_TYPE =
new Key<Integer>("android.scaler.croppingType", int.class);
@@ -2591,7 +2638,7 @@
* power and performance efficient for specific use cases. For more information about
* retrieving the suggestions see
* {@link android.hardware.camera2.CameraCharacteristics#getRecommendedStreamConfigurationMap }.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* @hide
*/
public static final Key<android.hardware.camera2.params.RecommendedStreamConfiguration[]> SCALER_AVAILABLE_RECOMMENDED_STREAM_CONFIGURATIONS =
@@ -2607,7 +2654,7 @@
* If set, the information will be available in the ZERO_SHUTTER_LAG recommended stream
* configuration see
* {@link android.hardware.camera2.CameraCharacteristics#getRecommendedStreamConfigurationMap }.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* @hide
*/
public static final Key<android.hardware.camera2.params.ReprocessFormatsMap> SCALER_AVAILABLE_RECOMMENDED_INPUT_OUTPUT_FORMATS_MAP =
@@ -2634,7 +2681,7 @@
* physical camera not independently exposed in
* {@link android.hardware.camera2.CameraManager#getCameraIdList } or is not backward
* compatible.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Limited capability</b> -
* Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -2642,6 +2689,7 @@
* @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
*/
@PublicKey
+ @NonNull
@SyntheticKey
public static final Key<android.hardware.camera2.params.MandatoryStreamCombination[]> SCALER_MANDATORY_STREAM_COMBINATIONS =
new Key<android.hardware.camera2.params.MandatoryStreamCombination[]>("android.scaler.mandatoryStreamCombinations", android.hardware.camera2.params.MandatoryStreamCombination[].class);
@@ -2681,6 +2729,7 @@
* @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
*/
@PublicKey
+ @NonNull
public static final Key<android.graphics.Rect> SENSOR_INFO_ACTIVE_ARRAY_SIZE =
new Key<android.graphics.Rect>("android.sensor.info.activeArraySize", android.graphics.Rect.class);
@@ -2691,7 +2740,7 @@
* as defined in ISO 12232:2006.</p>
* <p><b>Range of valid values:</b><br>
* Min <= 100, Max >= 800</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -2700,6 +2749,7 @@
* @see CaptureRequest#SENSOR_SENSITIVITY
*/
@PublicKey
+ @NonNull
public static final Key<android.util.Range<Integer>> SENSOR_INFO_SENSITIVITY_RANGE =
new Key<android.util.Range<Integer>>("android.sensor.info.sensitivityRange", new TypeReference<android.util.Range<Integer>>() {{ }});
@@ -2718,7 +2768,7 @@
* <li>{@link #SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_MONO MONO}</li>
* <li>{@link #SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR NIR}</li>
* </ul></p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -2733,6 +2783,7 @@
* @see #SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_NIR
*/
@PublicKey
+ @NonNull
public static final Key<Integer> SENSOR_INFO_COLOR_FILTER_ARRANGEMENT =
new Key<Integer>("android.sensor.info.colorFilterArrangement", int.class);
@@ -2744,7 +2795,7 @@
* The minimum exposure time will be less than 100 us. For FULL
* capability devices ({@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} == FULL),
* the maximum exposure time will be greater than 100ms.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -2753,6 +2804,7 @@
* @see CaptureRequest#SENSOR_EXPOSURE_TIME
*/
@PublicKey
+ @NonNull
public static final Key<android.util.Range<Long>> SENSOR_INFO_EXPOSURE_TIME_RANGE =
new Key<android.util.Range<Long>>("android.sensor.info.exposureTimeRange", new TypeReference<android.util.Range<Long>>() {{ }});
@@ -2768,7 +2820,7 @@
* <p><b>Range of valid values:</b><br>
* For FULL capability devices
* ({@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} == FULL), at least 100ms.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -2777,6 +2829,7 @@
* @see CaptureRequest#SENSOR_FRAME_DURATION
*/
@PublicKey
+ @NonNull
public static final Key<Long> SENSOR_INFO_MAX_FRAME_DURATION =
new Key<Long>("android.sensor.info.maxFrameDuration", long.class);
@@ -2791,6 +2844,7 @@
* @see CameraCharacteristics#SENSOR_INFO_PIXEL_ARRAY_SIZE
*/
@PublicKey
+ @NonNull
public static final Key<android.util.SizeF> SENSOR_INFO_PHYSICAL_SIZE =
new Key<android.util.SizeF>("android.sensor.info.physicalSize", android.util.SizeF.class);
@@ -2816,6 +2870,7 @@
* @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
*/
@PublicKey
+ @NonNull
public static final Key<android.util.Size> SENSOR_INFO_PIXEL_ARRAY_SIZE =
new Key<android.util.Size>("android.sensor.info.pixelArraySize", android.util.Size.class);
@@ -2837,13 +2892,14 @@
* by the camera device, which provides more accurate white level values.</p>
* <p><b>Range of valid values:</b><br>
* > 255 (8-bit output)</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CameraCharacteristics#SENSOR_BLACK_LEVEL_PATTERN
* @see CaptureResult#SENSOR_DYNAMIC_WHITE_LEVEL
* @see CaptureRequest#SENSOR_SENSITIVITY
*/
@PublicKey
+ @NonNull
public static final Key<Integer> SENSOR_INFO_WHITE_LEVEL =
new Key<Integer>("android.sensor.info.whiteLevel", int.class);
@@ -2863,6 +2919,7 @@
* @see #SENSOR_INFO_TIMESTAMP_SOURCE_REALTIME
*/
@PublicKey
+ @NonNull
public static final Key<Integer> SENSOR_INFO_TIMESTAMP_SOURCE =
new Key<Integer>("android.sensor.info.timestampSource", int.class);
@@ -2875,11 +2932,12 @@
* See {@link CameraCharacteristics#REQUEST_MAX_NUM_OUTPUT_RAW android.request.maxNumOutputRaw} for a list of RAW image formats.</p>
* <p>This key will be <code>null</code> for all devices do not report this information.
* Devices with RAW capability will always report this information in this key.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CameraCharacteristics#REQUEST_MAX_NUM_OUTPUT_RAW
*/
@PublicKey
+ @NonNull
public static final Key<Boolean> SENSOR_INFO_LENS_SHADING_APPLIED =
new Key<Boolean>("android.sensor.info.lensShadingApplied", boolean.class);
@@ -2945,6 +3003,7 @@
* @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
*/
@PublicKey
+ @NonNull
public static final Key<android.graphics.Rect> SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE =
new Key<android.graphics.Rect>("android.sensor.info.preCorrectionActiveArraySize", android.graphics.Rect.class);
@@ -2986,7 +3045,7 @@
* <li>{@link #SENSOR_REFERENCE_ILLUMINANT1_D50 D50}</li>
* <li>{@link #SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN ISO_STUDIO_TUNGSTEN}</li>
* </ul></p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
*
* @see CameraCharacteristics#SENSOR_CALIBRATION_TRANSFORM1
@@ -3014,6 +3073,7 @@
* @see #SENSOR_REFERENCE_ILLUMINANT1_ISO_STUDIO_TUNGSTEN
*/
@PublicKey
+ @NonNull
public static final Key<Integer> SENSOR_REFERENCE_ILLUMINANT1 =
new Key<Integer>("android.sensor.referenceIlluminant1", int.class);
@@ -3030,7 +3090,7 @@
* the camera device has RAW capability.</p>
* <p><b>Range of valid values:</b><br>
* Any value listed in {@link CameraCharacteristics#SENSOR_REFERENCE_ILLUMINANT1 android.sensor.referenceIlluminant1}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
*
* @see CameraCharacteristics#SENSOR_CALIBRATION_TRANSFORM2
@@ -3039,6 +3099,7 @@
* @see CameraCharacteristics#SENSOR_REFERENCE_ILLUMINANT1
*/
@PublicKey
+ @NonNull
public static final Key<Byte> SENSOR_REFERENCE_ILLUMINANT2 =
new Key<Byte>("android.sensor.referenceIlluminant2", byte.class);
@@ -3055,12 +3116,13 @@
* ({@link CameraCharacteristics#SENSOR_REFERENCE_ILLUMINANT1 android.sensor.referenceIlluminant1}).</p>
* <p>Starting from Android Q, this key will not be present for a MONOCHROME camera, even if
* the camera device has RAW capability.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
*
* @see CameraCharacteristics#SENSOR_REFERENCE_ILLUMINANT1
*/
@PublicKey
+ @NonNull
public static final Key<android.hardware.camera2.params.ColorSpaceTransform> SENSOR_CALIBRATION_TRANSFORM1 =
new Key<android.hardware.camera2.params.ColorSpaceTransform>("android.sensor.calibrationTransform1", android.hardware.camera2.params.ColorSpaceTransform.class);
@@ -3080,12 +3142,13 @@
* illuminant is present.</p>
* <p>Starting from Android Q, this key will not be present for a MONOCHROME camera, even if
* the camera device has RAW capability.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
*
* @see CameraCharacteristics#SENSOR_REFERENCE_ILLUMINANT2
*/
@PublicKey
+ @NonNull
public static final Key<android.hardware.camera2.params.ColorSpaceTransform> SENSOR_CALIBRATION_TRANSFORM2 =
new Key<android.hardware.camera2.params.ColorSpaceTransform>("android.sensor.calibrationTransform2", android.hardware.camera2.params.ColorSpaceTransform.class);
@@ -3106,12 +3169,13 @@
* (i.e. no chromatic adaptation will be applied by this transform).</p>
* <p>Starting from Android Q, this key will not be present for a MONOCHROME camera, even if
* the camera device has RAW capability.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
*
* @see CameraCharacteristics#SENSOR_REFERENCE_ILLUMINANT1
*/
@PublicKey
+ @NonNull
public static final Key<android.hardware.camera2.params.ColorSpaceTransform> SENSOR_COLOR_TRANSFORM1 =
new Key<android.hardware.camera2.params.ColorSpaceTransform>("android.sensor.colorTransform1", android.hardware.camera2.params.ColorSpaceTransform.class);
@@ -3134,12 +3198,13 @@
* illuminant is present.</p>
* <p>Starting from Android Q, this key will not be present for a MONOCHROME camera, even if
* the camera device has RAW capability.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
*
* @see CameraCharacteristics#SENSOR_REFERENCE_ILLUMINANT2
*/
@PublicKey
+ @NonNull
public static final Key<android.hardware.camera2.params.ColorSpaceTransform> SENSOR_COLOR_TRANSFORM2 =
new Key<android.hardware.camera2.params.ColorSpaceTransform>("android.sensor.colorTransform2", android.hardware.camera2.params.ColorSpaceTransform.class);
@@ -3158,12 +3223,13 @@
* CIE XYZ colorspace.</p>
* <p>Starting from Android Q, this key will not be present for a MONOCHROME camera, even if
* the camera device has RAW capability.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
*
* @see CameraCharacteristics#SENSOR_REFERENCE_ILLUMINANT1
*/
@PublicKey
+ @NonNull
public static final Key<android.hardware.camera2.params.ColorSpaceTransform> SENSOR_FORWARD_MATRIX1 =
new Key<android.hardware.camera2.params.ColorSpaceTransform>("android.sensor.forwardMatrix1", android.hardware.camera2.params.ColorSpaceTransform.class);
@@ -3184,12 +3250,13 @@
* illuminant is present.</p>
* <p>Starting from Android Q, this key will not be present for a MONOCHROME camera, even if
* the camera device has RAW capability.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
*
* @see CameraCharacteristics#SENSOR_REFERENCE_ILLUMINANT2
*/
@PublicKey
+ @NonNull
public static final Key<android.hardware.camera2.params.ColorSpaceTransform> SENSOR_FORWARD_MATRIX2 =
new Key<android.hardware.camera2.params.ColorSpaceTransform>("android.sensor.forwardMatrix2", android.hardware.camera2.params.ColorSpaceTransform.class);
@@ -3215,7 +3282,7 @@
* <p>For a MONOCHROME camera device, all of the 2x2 channels must have the same values.</p>
* <p><b>Range of valid values:</b><br>
* >= 0 for each.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CaptureResult#SENSOR_DYNAMIC_BLACK_LEVEL
* @see CameraCharacteristics#SENSOR_INFO_COLOR_FILTER_ARRANGEMENT
@@ -3224,6 +3291,7 @@
* @see CaptureRequest#SENSOR_SENSITIVITY
*/
@PublicKey
+ @NonNull
public static final Key<android.hardware.camera2.params.BlackLevelPattern> SENSOR_BLACK_LEVEL_PATTERN =
new Key<android.hardware.camera2.params.BlackLevelPattern>("android.sensor.blackLevelPattern", android.hardware.camera2.params.BlackLevelPattern.class);
@@ -3234,7 +3302,7 @@
* equal to this, all applied gain must be analog. For
* values above this, the gain applied can be a mix of analog and
* digital.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -3243,6 +3311,7 @@
* @see CaptureRequest#SENSOR_SENSITIVITY
*/
@PublicKey
+ @NonNull
public static final Key<Integer> SENSOR_MAX_ANALOG_SENSITIVITY =
new Key<Integer>("android.sensor.maxAnalogSensitivity", int.class);
@@ -3258,6 +3327,7 @@
* <p>This key is available on all devices.</p>
*/
@PublicKey
+ @NonNull
public static final Key<Integer> SENSOR_ORIENTATION =
new Key<Integer>("android.sensor.orientation", int.class);
@@ -3267,11 +3337,12 @@
* <p>Defaults to OFF, and always includes OFF if defined.</p>
* <p><b>Range of valid values:</b><br>
* Any value listed in {@link CaptureRequest#SENSOR_TEST_PATTERN_MODE android.sensor.testPatternMode}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CaptureRequest#SENSOR_TEST_PATTERN_MODE
*/
@PublicKey
+ @NonNull
public static final Key<int[]> SENSOR_AVAILABLE_TEST_PATTERN_MODES =
new Key<int[]>("android.sensor.availableTestPatternModes", int[].class);
@@ -3291,13 +3362,14 @@
* black level of each captured raw images.</p>
* <p>When this key is reported, the {@link CaptureResult#SENSOR_DYNAMIC_BLACK_LEVEL android.sensor.dynamicBlackLevel} and
* {@link CaptureResult#SENSOR_DYNAMIC_WHITE_LEVEL android.sensor.dynamicWhiteLevel} will also be reported.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CameraCharacteristics#SENSOR_BLACK_LEVEL_PATTERN
* @see CaptureResult#SENSOR_DYNAMIC_BLACK_LEVEL
* @see CaptureResult#SENSOR_DYNAMIC_WHITE_LEVEL
*/
@PublicKey
+ @NonNull
public static final Key<android.graphics.Rect[]> SENSOR_OPTICAL_BLACK_REGIONS =
new Key<android.graphics.Rect[]>("android.sensor.opticalBlackRegions", android.graphics.Rect[].class);
@@ -3314,6 +3386,7 @@
* @see CaptureRequest#SHADING_MODE
*/
@PublicKey
+ @NonNull
public static final Key<int[]> SHADING_AVAILABLE_MODES =
new Key<int[]>("android.shading.availableModes", int[].class);
@@ -3328,6 +3401,7 @@
* @see CaptureRequest#STATISTICS_FACE_DETECT_MODE
*/
@PublicKey
+ @NonNull
public static final Key<int[]> STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES =
new Key<int[]>("android.statistics.info.availableFaceDetectModes", int[].class);
@@ -3341,6 +3415,7 @@
* <p>This key is available on all devices.</p>
*/
@PublicKey
+ @NonNull
public static final Key<Integer> STATISTICS_INFO_MAX_FACE_COUNT =
new Key<Integer>("android.statistics.info.maxFaceCount", int.class);
@@ -3352,11 +3427,12 @@
* <p>ON is always supported on devices with the RAW capability.</p>
* <p><b>Range of valid values:</b><br>
* Any value listed in {@link CaptureRequest#STATISTICS_HOT_PIXEL_MAP_MODE android.statistics.hotPixelMapMode}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CaptureRequest#STATISTICS_HOT_PIXEL_MAP_MODE
*/
@PublicKey
+ @NonNull
public static final Key<boolean[]> STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES =
new Key<boolean[]>("android.statistics.info.availableHotPixelMapModes", boolean[].class);
@@ -3369,11 +3445,12 @@
* LEGACY mode devices will always only support OFF.</p>
* <p><b>Range of valid values:</b><br>
* Any value listed in {@link CaptureRequest#STATISTICS_LENS_SHADING_MAP_MODE android.statistics.lensShadingMapMode}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CaptureRequest#STATISTICS_LENS_SHADING_MAP_MODE
*/
@PublicKey
+ @NonNull
public static final Key<int[]> STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES =
new Key<int[]>("android.statistics.info.availableLensShadingMapModes", int[].class);
@@ -3384,11 +3461,12 @@
* contain only OFF.</p>
* <p><b>Range of valid values:</b><br>
* Any value listed in {@link CaptureRequest#STATISTICS_OIS_DATA_MODE android.statistics.oisDataMode}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CaptureRequest#STATISTICS_OIS_DATA_MODE
*/
@PublicKey
+ @NonNull
public static final Key<int[]> STATISTICS_INFO_AVAILABLE_OIS_DATA_MODES =
new Key<int[]>("android.statistics.info.availableOisDataModes", int[].class);
@@ -3401,7 +3479,7 @@
* <p>The output curves in the result metadata may have a different number
* of points than the input curves, and will represent the actual
* hardware curves used as closely as possible when linearly interpolated.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -3410,6 +3488,7 @@
* @see CaptureRequest#TONEMAP_CURVE
*/
@PublicKey
+ @NonNull
public static final Key<Integer> TONEMAP_MAX_CURVE_POINTS =
new Key<Integer>("android.tonemap.maxCurvePoints", int.class);
@@ -3425,7 +3504,7 @@
* <p>This includes all FULL level devices.</p>
* <p><b>Range of valid values:</b><br>
* Any value listed in {@link CaptureRequest#TONEMAP_MODE android.tonemap.mode}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -3434,6 +3513,7 @@
* @see CaptureRequest#TONEMAP_MODE
*/
@PublicKey
+ @NonNull
public static final Key<int[]> TONEMAP_AVAILABLE_TONE_MAP_MODES =
new Key<int[]>("android.tonemap.availableToneMapModes", int[].class);
@@ -3443,7 +3523,7 @@
* <ul>
* <li>{@link #LED_AVAILABLE_LEDS_TRANSMIT TRANSMIT}</li>
* </ul></p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* @see #LED_AVAILABLE_LEDS_TRANSMIT
* @hide
*/
@@ -3534,6 +3614,7 @@
* @see #INFO_SUPPORTED_HARDWARE_LEVEL_EXTERNAL
*/
@PublicKey
+ @NonNull
public static final Key<Integer> INFO_SUPPORTED_HARDWARE_LEVEL =
new Key<Integer>("android.info.supportedHardwareLevel", int.class);
@@ -3543,9 +3624,10 @@
* <p>This can be used in {@link android.media.ExifInterface#TAG_IMAGE_DESCRIPTION TAG_IMAGE_DESCRIPTION}
* in jpeg EXIF. This key may be absent if no version information is available on the
* device.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*/
@PublicKey
+ @NonNull
public static final Key<String> INFO_VERSION =
new Key<String>("android.info.version", String.class);
@@ -3572,6 +3654,7 @@
* @see #SYNC_MAX_LATENCY_UNKNOWN
*/
@PublicKey
+ @NonNull
public static final Key<Integer> SYNC_MAX_LATENCY =
new Key<Integer>("android.sync.maxLatency", int.class);
@@ -3598,7 +3681,7 @@
* <p><b>Units</b>: Number of frames.</p>
* <p><b>Range of valid values:</b><br>
* <= 4</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Limited capability</b> -
* Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -3607,6 +3690,7 @@
* @see CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES
*/
@PublicKey
+ @NonNull
public static final Key<Integer> REPROCESS_MAX_CAPTURE_STALL =
new Key<Integer>("android.reprocess.maxCaptureStall", int.class);
@@ -3625,7 +3709,7 @@
* the format in this list as <code>(HAL_PIXEL_FORMAT_BLOB,
* android.depth.maxDepthSamples, 1, OUTPUT)</code> in addition to
* the entries for HAL_PIXEL_FORMAT_Y16.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Limited capability</b> -
* Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -3650,7 +3734,7 @@
* android.scaler.availableStallDurations for more details about
* calculating the max frame rate.</p>
* <p><b>Units</b>: (format, width, height, ns) x n</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Limited capability</b> -
* Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -3674,7 +3758,7 @@
* <p>All depth output stream formats may have a nonzero stall
* duration.</p>
* <p><b>Units</b>: (format, width, height, ns) x n</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Limited capability</b> -
* Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -3697,7 +3781,7 @@
* need to emit a specific pattern or wavelength of light to
* measure depth values, which causes the color image to be
* corrupted during depth measurement.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Limited capability</b> -
* Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -3705,6 +3789,7 @@
* @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
*/
@PublicKey
+ @NonNull
public static final Key<Boolean> DEPTH_DEPTH_IS_EXCLUSIVE =
new Key<Boolean>("android.depth.depthIsExclusive", boolean.class);
@@ -3717,7 +3802,7 @@
* power and performance efficient for specific use cases. For more information about
* retrieving the suggestions see
* {@link android.hardware.camera2.CameraCharacteristics#getRecommendedStreamConfigurationMap }.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* @hide
*/
public static final Key<android.hardware.camera2.params.RecommendedStreamConfiguration[]> DEPTH_AVAILABLE_RECOMMENDED_DEPTH_STREAM_CONFIGURATIONS =
@@ -3736,7 +3821,7 @@
* the same aspect ratio can have dynamic depth dataspace
* stream configuration. {@link CameraCharacteristics#DEPTH_DEPTH_IS_EXCLUSIVE android.depth.depthIsExclusive} also
* needs to be set to FALSE.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CameraCharacteristics#DEPTH_DEPTH_IS_EXCLUSIVE
* @hide
@@ -3755,7 +3840,7 @@
* <p>The minimum frame duration of a stream (of a particular format, size)
* is the same regardless of whether the stream is input or output.</p>
* <p><b>Units</b>: (format, width, height, ns) x n</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* @hide
*/
public static final Key<android.hardware.camera2.params.StreamConfigurationDuration[]> DEPTH_AVAILABLE_DYNAMIC_DEPTH_MIN_FRAME_DURATIONS =
@@ -3770,7 +3855,7 @@
* <p>All dynamic depth output streams may have a nonzero stall
* duration.</p>
* <p><b>Units</b>: (format, width, height, ns) x n</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* @hide
*/
public static final Key<android.hardware.camera2.params.StreamConfigurationDuration[]> DEPTH_AVAILABLE_DYNAMIC_DEPTH_STALL_DURATIONS =
@@ -3785,7 +3870,7 @@
* value of this tag will be ['2', '\0', '3', '\0'].</p>
* <p>The number of physical camera IDs must be no less than 2.</p>
* <p><b>Units</b>: UTF-8 null-terminated string</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Limited capability</b> -
* Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -3811,7 +3896,7 @@
* <li>{@link #LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_APPROXIMATE APPROXIMATE}</li>
* <li>{@link #LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED CALIBRATED}</li>
* </ul></p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Limited capability</b> -
* Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -3821,6 +3906,7 @@
* @see #LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE_CALIBRATED
*/
@PublicKey
+ @NonNull
public static final Key<Integer> LOGICAL_MULTI_CAMERA_SENSOR_SYNC_TYPE =
new Key<Integer>("android.logicalMultiCamera.sensorSyncType", int.class);
@@ -3831,11 +3917,12 @@
* All devices that support this API will list both FAST and HIGH_QUALITY.</p>
* <p><b>Range of valid values:</b><br>
* Any value listed in {@link CaptureRequest#DISTORTION_CORRECTION_MODE android.distortionCorrection.mode}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CaptureRequest#DISTORTION_CORRECTION_MODE
*/
@PublicKey
+ @NonNull
public static final Key<int[]> DISTORTION_CORRECTION_AVAILABLE_MODES =
new Key<int[]>("android.distortionCorrection.availableModes", int[].class);
@@ -3849,7 +3936,7 @@
* image format as required by the device's hardware level and capabilities.</p>
* <p>All the static, control, and dynamic metadata tags related to JPEG apply to HEIC formats.
* Configuring JPEG and HEIC streams at the same time is not supported.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Limited capability</b> -
* Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -3872,7 +3959,7 @@
* android.scaler.availableStallDurations for more details about
* calculating the max frame rate.</p>
* <p><b>Units</b>: (format, width, height, ns) x n</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Limited capability</b> -
* Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -3896,7 +3983,7 @@
* <p>All HEIC output stream formats may have a nonzero stall
* duration.</p>
* <p><b>Units</b>: (format, width, height, ns) x n</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Limited capability</b> -
* Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -3913,4 +4000,7 @@
+
+
+
}
diff --git a/core/java/android/hardware/camera2/CaptureRequest.java b/core/java/android/hardware/camera2/CaptureRequest.java
index 5250701..da1bfe4 100644
--- a/core/java/android/hardware/camera2/CaptureRequest.java
+++ b/core/java/android/hardware/camera2/CaptureRequest.java
@@ -493,7 +493,7 @@
return HashCodeHelpers.hashCodeGeneric(mPhysicalCameraSettings, mSurfaceSet, mUserTag);
}
- public static final Parcelable.Creator<CaptureRequest> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<CaptureRequest> CREATOR =
new Parcelable.Creator<CaptureRequest>() {
@Override
public CaptureRequest createFromParcel(Parcel in) {
@@ -978,7 +978,7 @@
* <li>{@link #COLOR_CORRECTION_MODE_FAST FAST}</li>
* <li>{@link #COLOR_CORRECTION_MODE_HIGH_QUALITY HIGH_QUALITY}</li>
* </ul></p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -992,6 +992,7 @@
* @see #COLOR_CORRECTION_MODE_HIGH_QUALITY
*/
@PublicKey
+ @NonNull
public static final Key<Integer> COLOR_CORRECTION_MODE =
new Key<Integer>("android.colorCorrection.mode", int.class);
@@ -1010,7 +1011,7 @@
* <p>The valid range of each matrix element varies on different devices, but
* values within [-1.5, 3.0] are guaranteed not to be clipped.</p>
* <p><b>Units</b>: Unitless scale factors</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -1019,6 +1020,7 @@
* @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
*/
@PublicKey
+ @NonNull
public static final Key<android.hardware.camera2.params.ColorSpaceTransform> COLOR_CORRECTION_TRANSFORM =
new Key<android.hardware.camera2.params.ColorSpaceTransform>("android.colorCorrection.transform", android.hardware.camera2.params.ColorSpaceTransform.class);
@@ -1037,7 +1039,7 @@
* device allows gains below 1.0, this is usually not recommended because
* this can create color artifacts.</p>
* <p><b>Units</b>: Unitless gain factors</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -1046,6 +1048,7 @@
* @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
*/
@PublicKey
+ @NonNull
public static final Key<android.hardware.camera2.params.RggbChannelVector> COLOR_CORRECTION_GAINS =
new Key<android.hardware.camera2.params.RggbChannelVector>("android.colorCorrection.gains", android.hardware.camera2.params.RggbChannelVector.class);
@@ -1078,6 +1081,7 @@
* @see #COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY
*/
@PublicKey
+ @NonNull
public static final Key<Integer> COLOR_CORRECTION_ABERRATION_MODE =
new Key<Integer>("android.colorCorrection.aberrationMode", int.class);
@@ -1134,6 +1138,7 @@
* @see #CONTROL_AE_ANTIBANDING_MODE_AUTO
*/
@PublicKey
+ @NonNull
public static final Key<Integer> CONTROL_AE_ANTIBANDING_MODE =
new Key<Integer>("android.control.aeAntibandingMode", int.class);
@@ -1167,6 +1172,7 @@
* @see CaptureResult#CONTROL_AE_STATE
*/
@PublicKey
+ @NonNull
public static final Key<Integer> CONTROL_AE_EXPOSURE_COMPENSATION =
new Key<Integer>("android.control.aeExposureCompensation", int.class);
@@ -1217,6 +1223,7 @@
* @see CaptureRequest#SENSOR_SENSITIVITY
*/
@PublicKey
+ @NonNull
public static final Key<Boolean> CONTROL_AE_LOCK =
new Key<Boolean>("android.control.aeLock", boolean.class);
@@ -1269,6 +1276,7 @@
* @see #CONTROL_AE_MODE_ON_EXTERNAL_FLASH
*/
@PublicKey
+ @NonNull
public static final Key<Integer> CONTROL_AE_MODE =
new Key<Integer>("android.control.aeMode", int.class);
@@ -1320,7 +1328,7 @@
* Coordinates must be between <code>[(0,0), (width, height))</code> of
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize} or {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}
* depending on distortion correction capability and mode</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CameraCharacteristics#CONTROL_MAX_REGIONS_AE
* @see CaptureRequest#DISTORTION_CORRECTION_MODE
@@ -1329,6 +1337,7 @@
* @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
*/
@PublicKey
+ @NonNull
public static final Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AE_REGIONS =
new Key<android.hardware.camera2.params.MeteringRectangle[]>("android.control.aeRegions", android.hardware.camera2.params.MeteringRectangle[].class);
@@ -1349,6 +1358,7 @@
* @see CaptureRequest#SENSOR_FRAME_DURATION
*/
@PublicKey
+ @NonNull
public static final Key<android.util.Range<Integer>> CONTROL_AE_TARGET_FPS_RANGE =
new Key<android.util.Range<Integer>>("android.control.aeTargetFpsRange", new TypeReference<android.util.Range<Integer>>() {{ }});
@@ -1407,7 +1417,7 @@
* <li>{@link #CONTROL_AE_PRECAPTURE_TRIGGER_START START}</li>
* <li>{@link #CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL CANCEL}</li>
* </ul></p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Limited capability</b> -
* Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -1422,6 +1432,7 @@
* @see #CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL
*/
@PublicKey
+ @NonNull
public static final Key<Integer> CONTROL_AE_PRECAPTURE_TRIGGER =
new Key<Integer>("android.control.aePrecaptureTrigger", int.class);
@@ -1463,6 +1474,7 @@
* @see #CONTROL_AF_MODE_EDOF
*/
@PublicKey
+ @NonNull
public static final Key<Integer> CONTROL_AF_MODE =
new Key<Integer>("android.control.afMode", int.class);
@@ -1515,7 +1527,7 @@
* Coordinates must be between <code>[(0,0), (width, height))</code> of
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize} or {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}
* depending on distortion correction capability and mode</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CameraCharacteristics#CONTROL_MAX_REGIONS_AF
* @see CaptureRequest#DISTORTION_CORRECTION_MODE
@@ -1524,6 +1536,7 @@
* @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
*/
@PublicKey
+ @NonNull
public static final Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AF_REGIONS =
new Key<android.hardware.camera2.params.MeteringRectangle[]>("android.control.afRegions", android.hardware.camera2.params.MeteringRectangle[].class);
@@ -1561,6 +1574,7 @@
* @see #CONTROL_AF_TRIGGER_CANCEL
*/
@PublicKey
+ @NonNull
public static final Key<Integer> CONTROL_AF_TRIGGER =
new Key<Integer>("android.control.afTrigger", int.class);
@@ -1591,6 +1605,7 @@
* @see CaptureRequest#CONTROL_AWB_MODE
*/
@PublicKey
+ @NonNull
public static final Key<Boolean> CONTROL_AWB_LOCK =
new Key<Boolean>("android.control.awbLock", boolean.class);
@@ -1651,6 +1666,7 @@
* @see #CONTROL_AWB_MODE_SHADE
*/
@PublicKey
+ @NonNull
public static final Key<Integer> CONTROL_AWB_MODE =
new Key<Integer>("android.control.awbMode", int.class);
@@ -1703,7 +1719,7 @@
* Coordinates must be between <code>[(0,0), (width, height))</code> of
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize} or {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}
* depending on distortion correction capability and mode</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CameraCharacteristics#CONTROL_MAX_REGIONS_AWB
* @see CaptureRequest#DISTORTION_CORRECTION_MODE
@@ -1712,6 +1728,7 @@
* @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
*/
@PublicKey
+ @NonNull
public static final Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AWB_REGIONS =
new Key<android.hardware.camera2.params.MeteringRectangle[]>("android.control.awbRegions", android.hardware.camera2.params.MeteringRectangle[].class);
@@ -1754,6 +1771,7 @@
* @see #CONTROL_CAPTURE_INTENT_MOTION_TRACKING
*/
@PublicKey
+ @NonNull
public static final Key<Integer> CONTROL_CAPTURE_INTENT =
new Key<Integer>("android.control.captureIntent", int.class);
@@ -1793,6 +1811,7 @@
* @see #CONTROL_EFFECT_MODE_AQUA
*/
@PublicKey
+ @NonNull
public static final Key<Integer> CONTROL_EFFECT_MODE =
new Key<Integer>("android.control.effectMode", int.class);
@@ -1833,6 +1852,7 @@
* @see #CONTROL_MODE_OFF_KEEP_STATE
*/
@PublicKey
+ @NonNull
public static final Key<Integer> CONTROL_MODE =
new Key<Integer>("android.control.mode", int.class);
@@ -1900,6 +1920,7 @@
* @see #CONTROL_SCENE_MODE_HDR
*/
@PublicKey
+ @NonNull
public static final Key<Integer> CONTROL_SCENE_MODE =
new Key<Integer>("android.control.sceneMode", int.class);
@@ -1943,6 +1964,7 @@
* @see #CONTROL_VIDEO_STABILIZATION_MODE_ON
*/
@PublicKey
+ @NonNull
public static final Key<Integer> CONTROL_VIDEO_STABILIZATION_MODE =
new Key<Integer>("android.control.videoStabilizationMode", int.class);
@@ -1969,7 +1991,7 @@
* <p><b>Units</b>: ISO arithmetic units, the same as {@link CaptureRequest#SENSOR_SENSITIVITY android.sensor.sensitivity}</p>
* <p><b>Range of valid values:</b><br>
* {@link CameraCharacteristics#CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE android.control.postRawSensitivityBoostRange}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CaptureRequest#CONTROL_AE_MODE
* @see CaptureRequest#CONTROL_MODE
@@ -1978,6 +2000,7 @@
* @see CaptureRequest#SENSOR_SENSITIVITY
*/
@PublicKey
+ @NonNull
public static final Key<Integer> CONTROL_POST_RAW_SENSITIVITY_BOOST =
new Key<Integer>("android.control.postRawSensitivityBoost", int.class);
@@ -2005,12 +2028,13 @@
* <p>For applications targeting SDK versions older than O, the value of enableZsl in all
* capture templates is always <code>false</code> if present.</p>
* <p>For application-operated ZSL, use CAMERA3_TEMPLATE_ZERO_SHUTTER_LAG template.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CaptureRequest#CONTROL_CAPTURE_INTENT
* @see CaptureResult#SENSOR_TIMESTAMP
*/
@PublicKey
+ @NonNull
public static final Key<Boolean> CONTROL_ENABLE_ZSL =
new Key<Boolean>("android.control.enableZsl", boolean.class);
@@ -2045,7 +2069,7 @@
* </ul></p>
* <p><b>Available values for this device:</b><br>
* {@link CameraCharacteristics#EDGE_AVAILABLE_EDGE_MODES android.edge.availableEdgeModes}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -2059,6 +2083,7 @@
* @see #EDGE_MODE_ZERO_SHUTTER_LAG
*/
@PublicKey
+ @NonNull
public static final Key<Integer> EDGE_MODE =
new Key<Integer>("android.edge.mode", int.class);
@@ -2094,6 +2119,7 @@
* @see #FLASH_MODE_TORCH
*/
@PublicKey
+ @NonNull
public static final Key<Integer> FLASH_MODE =
new Key<Integer>("android.flash.mode", int.class);
@@ -2110,7 +2136,7 @@
* </ul></p>
* <p><b>Available values for this device:</b><br>
* {@link CameraCharacteristics#HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES android.hotPixel.availableHotPixelModes}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CameraCharacteristics#HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES
* @see #HOT_PIXEL_MODE_OFF
@@ -2118,6 +2144,7 @@
* @see #HOT_PIXEL_MODE_HIGH_QUALITY
*/
@PublicKey
+ @NonNull
public static final Key<Integer> HOT_PIXEL_MODE =
new Key<Integer>("android.hotPixel.mode", int.class);
@@ -2130,6 +2157,7 @@
* <p>This key is available on all devices.</p>
*/
@PublicKey
+ @NonNull
@SyntheticKey
public static final Key<android.location.Location> JPEG_GPS_LOCATION =
new Key<android.location.Location>("android.jpeg.gpsLocation", android.location.Location.class);
@@ -2211,6 +2239,7 @@
* @see CameraCharacteristics#SENSOR_ORIENTATION
*/
@PublicKey
+ @NonNull
public static final Key<Integer> JPEG_ORIENTATION =
new Key<Integer>("android.jpeg.orientation", int.class);
@@ -2224,6 +2253,7 @@
* <p>This key is available on all devices.</p>
*/
@PublicKey
+ @NonNull
public static final Key<Byte> JPEG_QUALITY =
new Key<Byte>("android.jpeg.quality", byte.class);
@@ -2236,6 +2266,7 @@
* <p>This key is available on all devices.</p>
*/
@PublicKey
+ @NonNull
public static final Key<Byte> JPEG_THUMBNAIL_QUALITY =
new Key<Byte>("android.jpeg.thumbnailQuality", byte.class);
@@ -2275,6 +2306,7 @@
* @see CaptureRequest#JPEG_ORIENTATION
*/
@PublicKey
+ @NonNull
public static final Key<android.util.Size> JPEG_THUMBNAIL_SIZE =
new Key<android.util.Size>("android.jpeg.thumbnailSize", android.util.Size.class);
@@ -2298,7 +2330,7 @@
* <p><b>Units</b>: The f-number (f/N)</p>
* <p><b>Range of valid values:</b><br>
* {@link CameraCharacteristics#LENS_INFO_AVAILABLE_APERTURES android.lens.info.availableApertures}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -2312,6 +2344,7 @@
* @see CaptureRequest#SENSOR_SENSITIVITY
*/
@PublicKey
+ @NonNull
public static final Key<Float> LENS_APERTURE =
new Key<Float>("android.lens.aperture", float.class);
@@ -2332,7 +2365,7 @@
* <p><b>Units</b>: Exposure Value (EV)</p>
* <p><b>Range of valid values:</b><br>
* {@link CameraCharacteristics#LENS_INFO_AVAILABLE_FILTER_DENSITIES android.lens.info.availableFilterDensities}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -2342,6 +2375,7 @@
* @see CaptureResult#LENS_STATE
*/
@PublicKey
+ @NonNull
public static final Key<Float> LENS_FILTER_DENSITY =
new Key<Float>("android.lens.filterDensity", float.class);
@@ -2367,6 +2401,7 @@
* @see CaptureResult#LENS_STATE
*/
@PublicKey
+ @NonNull
public static final Key<Float> LENS_FOCAL_LENGTH =
new Key<Float>("android.lens.focalLength", float.class);
@@ -2387,7 +2422,7 @@
* <p><b>Units</b>: See {@link CameraCharacteristics#LENS_INFO_FOCUS_DISTANCE_CALIBRATION android.lens.info.focusDistanceCalibration} for details</p>
* <p><b>Range of valid values:</b><br>
* >= 0</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -2399,6 +2434,7 @@
* @see CaptureResult#LENS_STATE
*/
@PublicKey
+ @NonNull
public static final Key<Float> LENS_FOCUS_DISTANCE =
new Key<Float>("android.lens.focusDistance", float.class);
@@ -2429,7 +2465,7 @@
* </ul></p>
* <p><b>Available values for this device:</b><br>
* {@link CameraCharacteristics#LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION android.lens.info.availableOpticalStabilization}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Limited capability</b> -
* Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -2441,6 +2477,7 @@
* @see #LENS_OPTICAL_STABILIZATION_MODE_ON
*/
@PublicKey
+ @NonNull
public static final Key<Integer> LENS_OPTICAL_STABILIZATION_MODE =
new Key<Integer>("android.lens.opticalStabilizationMode", int.class);
@@ -2481,7 +2518,7 @@
* </ul></p>
* <p><b>Available values for this device:</b><br>
* {@link CameraCharacteristics#NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES android.noiseReduction.availableNoiseReductionModes}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -2496,6 +2533,7 @@
* @see #NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG
*/
@PublicKey
+ @NonNull
public static final Key<Integer> NOISE_REDUCTION_MODE =
new Key<Integer>("android.noiseReduction.mode", int.class);
@@ -2506,7 +2544,7 @@
* <p><b>Units</b>: arbitrary integer assigned by application</p>
* <p><b>Range of valid values:</b><br>
* Any int</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* @hide
*/
public static final Key<Integer> REQUEST_ID =
@@ -2570,6 +2608,7 @@
* @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
*/
@PublicKey
+ @NonNull
public static final Key<android.graphics.Rect> SCALER_CROP_REGION =
new Key<android.graphics.Rect>("android.scaler.cropRegion", android.graphics.Rect.class);
@@ -2584,7 +2623,7 @@
* <p><b>Units</b>: Nanoseconds</p>
* <p><b>Range of valid values:</b><br>
* {@link CameraCharacteristics#SENSOR_INFO_EXPOSURE_TIME_RANGE android.sensor.info.exposureTimeRange}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -2595,6 +2634,7 @@
* @see CameraCharacteristics#SENSOR_INFO_EXPOSURE_TIME_RANGE
*/
@PublicKey
+ @NonNull
public static final Key<Long> SENSOR_EXPOSURE_TIME =
new Key<Long>("android.sensor.exposureTime", long.class);
@@ -2665,7 +2705,7 @@
* <p><b>Range of valid values:</b><br>
* See {@link CameraCharacteristics#SENSOR_INFO_MAX_FRAME_DURATION android.sensor.info.maxFrameDuration}, {@link android.hardware.camera2.params.StreamConfigurationMap }.
* The duration is capped to <code>max(duration, exposureTime + overhead)</code>.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -2676,6 +2716,7 @@
* @see CameraCharacteristics#SENSOR_INFO_MAX_FRAME_DURATION
*/
@PublicKey
+ @NonNull
public static final Key<Long> SENSOR_FRAME_DURATION =
new Key<Long>("android.sensor.frameDuration", long.class);
@@ -2696,7 +2737,7 @@
* <p><b>Units</b>: ISO arithmetic units</p>
* <p><b>Range of valid values:</b><br>
* {@link CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE android.sensor.info.sensitivityRange}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -2708,6 +2749,7 @@
* @see CameraCharacteristics#SENSOR_MAX_ANALOG_SENSITIVITY
*/
@PublicKey
+ @NonNull
public static final Key<Integer> SENSOR_SENSITIVITY =
new Key<Integer>("android.sensor.sensitivity", int.class);
@@ -2720,11 +2762,12 @@
* output.</p>
* <p>For example, a sensor with RAW10 Bayer output would use the
* 10 most significant bits from each color channel.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CaptureRequest#SENSOR_TEST_PATTERN_MODE
*/
@PublicKey
+ @NonNull
public static final Key<int[]> SENSOR_TEST_PATTERN_DATA =
new Key<int[]>("android.sensor.testPatternData", int[].class);
@@ -2749,7 +2792,7 @@
* </ul></p>
* <p><b>Available values for this device:</b><br>
* {@link CameraCharacteristics#SENSOR_AVAILABLE_TEST_PATTERN_MODES android.sensor.availableTestPatternModes}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CameraCharacteristics#SENSOR_AVAILABLE_TEST_PATTERN_MODES
* @see #SENSOR_TEST_PATTERN_MODE_OFF
@@ -2760,6 +2803,7 @@
* @see #SENSOR_TEST_PATTERN_MODE_CUSTOM1
*/
@PublicKey
+ @NonNull
public static final Key<Integer> SENSOR_TEST_PATTERN_MODE =
new Key<Integer>("android.sensor.testPatternMode", int.class);
@@ -2797,7 +2841,7 @@
* </ul></p>
* <p><b>Available values for this device:</b><br>
* {@link CameraCharacteristics#SHADING_AVAILABLE_MODES android.shading.availableModes}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -2813,6 +2857,7 @@
* @see #SHADING_MODE_HIGH_QUALITY
*/
@PublicKey
+ @NonNull
public static final Key<Integer> SHADING_MODE =
new Key<Integer>("android.shading.mode", int.class);
@@ -2838,6 +2883,7 @@
* @see #STATISTICS_FACE_DETECT_MODE_FULL
*/
@PublicKey
+ @NonNull
public static final Key<Integer> STATISTICS_FACE_DETECT_MODE =
new Key<Integer>("android.statistics.faceDetectMode", int.class);
@@ -2847,12 +2893,13 @@
* If set to <code>false</code>, no hot pixel map will be returned.</p>
* <p><b>Range of valid values:</b><br>
* {@link CameraCharacteristics#STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES android.statistics.info.availableHotPixelMapModes}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CaptureResult#STATISTICS_HOT_PIXEL_MAP
* @see CameraCharacteristics#STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES
*/
@PublicKey
+ @NonNull
public static final Key<Boolean> STATISTICS_HOT_PIXEL_MAP_MODE =
new Key<Boolean>("android.statistics.hotPixelMapMode", boolean.class);
@@ -2870,7 +2917,7 @@
* </ul></p>
* <p><b>Available values for this device:</b><br>
* {@link CameraCharacteristics#STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES android.statistics.info.availableLensShadingMapModes}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -2881,6 +2928,7 @@
* @see #STATISTICS_LENS_SHADING_MAP_MODE_ON
*/
@PublicKey
+ @NonNull
public static final Key<Integer> STATISTICS_LENS_SHADING_MAP_MODE =
new Key<Integer>("android.statistics.lensShadingMapMode", int.class);
@@ -2900,13 +2948,14 @@
* </ul></p>
* <p><b>Available values for this device:</b><br>
* {@link CameraCharacteristics#STATISTICS_INFO_AVAILABLE_OIS_DATA_MODES android.statistics.info.availableOisDataModes}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CameraCharacteristics#STATISTICS_INFO_AVAILABLE_OIS_DATA_MODES
* @see #STATISTICS_OIS_DATA_MODE_OFF
* @see #STATISTICS_OIS_DATA_MODE_ON
*/
@PublicKey
+ @NonNull
public static final Key<Integer> STATISTICS_OIS_DATA_MODE =
new Key<Integer>("android.statistics.oisDataMode", int.class);
@@ -2915,7 +2964,7 @@
* channel, to use when {@link CaptureRequest#TONEMAP_MODE android.tonemap.mode} is
* CONTRAST_CURVE.</p>
* <p>See android.tonemap.curveRed for more details.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -2932,7 +2981,7 @@
* channel, to use when {@link CaptureRequest#TONEMAP_MODE android.tonemap.mode} is
* CONTRAST_CURVE.</p>
* <p>See android.tonemap.curveRed for more details.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -2993,7 +3042,7 @@
* <p><b>Range of valid values:</b><br>
* 0-1 on both input and output coordinates, normalized
* as a floating-point value such that 0 == black and 1 == white.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -3054,7 +3103,7 @@
* (0.8000, 0.9063), (0.8667, 0.9389), (0.9333, 0.9701), (1.0000, 1.0000) ]
* </code></pre>
* <p><img alt="sRGB tonemapping curve" src="/reference/images/camera2/metadata/android.tonemap.curveRed/srgb_tonemap.png" /></p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -3064,6 +3113,7 @@
* @see CaptureRequest#TONEMAP_MODE
*/
@PublicKey
+ @NonNull
@SyntheticKey
public static final Key<android.hardware.camera2.params.TonemapCurve> TONEMAP_CURVE =
new Key<android.hardware.camera2.params.TonemapCurve>("android.tonemap.curve", android.hardware.camera2.params.TonemapCurve.class);
@@ -3098,7 +3148,7 @@
* </ul></p>
* <p><b>Available values for this device:</b><br>
* {@link CameraCharacteristics#TONEMAP_AVAILABLE_TONE_MAP_MODES android.tonemap.availableToneMapModes}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -3114,6 +3164,7 @@
* @see #TONEMAP_MODE_PRESET_CURVE
*/
@PublicKey
+ @NonNull
public static final Key<Integer> TONEMAP_MODE =
new Key<Integer>("android.tonemap.mode", int.class);
@@ -3130,11 +3181,12 @@
* value will be returned in capture result.</p>
* <p>The valid range of gamma value varies on different devices, but values
* within [1.0, 5.0] are guaranteed not to be clipped.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CaptureRequest#TONEMAP_MODE
*/
@PublicKey
+ @NonNull
public static final Key<Float> TONEMAP_GAMMA =
new Key<Float>("android.tonemap.gamma", float.class);
@@ -3153,13 +3205,14 @@
* <li>{@link #TONEMAP_PRESET_CURVE_SRGB SRGB}</li>
* <li>{@link #TONEMAP_PRESET_CURVE_REC709 REC709}</li>
* </ul></p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CaptureRequest#TONEMAP_MODE
* @see #TONEMAP_PRESET_CURVE_SRGB
* @see #TONEMAP_PRESET_CURVE_REC709
*/
@PublicKey
+ @NonNull
public static final Key<Integer> TONEMAP_PRESET_CURVE =
new Key<Integer>("android.tonemap.presetCurve", int.class);
@@ -3174,7 +3227,7 @@
* data is stored locally on the device.</p>
* <p>The LED <em>may</em> be off if a trusted application is using the data that
* doesn't violate the above rules.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* @hide
*/
public static final Key<Boolean> LED_TRANSMIT =
@@ -3218,7 +3271,7 @@
* possible, only overriding the lock to OFF when changes to
* other request parameters require a black level recalculation
* or reset.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -3226,6 +3279,7 @@
* @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
*/
@PublicKey
+ @NonNull
public static final Key<Boolean> BLACK_LEVEL_LOCK =
new Key<Boolean>("android.blackLevel.lock", boolean.class);
@@ -3265,7 +3319,7 @@
* <p><b>Units</b>: Relative exposure time increase factor.</p>
* <p><b>Range of valid values:</b><br>
* >= 1.0</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Limited capability</b> -
* Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -3276,6 +3330,7 @@
* @see CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES
*/
@PublicKey
+ @NonNull
public static final Key<Float> REPROCESS_EFFECTIVE_EXPOSURE_FACTOR =
new Key<Float>("android.reprocess.effectiveExposureFactor", float.class);
@@ -3322,7 +3377,7 @@
* </ul></p>
* <p><b>Available values for this device:</b><br>
* {@link CameraCharacteristics#DISTORTION_CORRECTION_AVAILABLE_MODES android.distortionCorrection.availableModes}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CaptureRequest#CONTROL_AE_REGIONS
* @see CaptureRequest#CONTROL_AF_REGIONS
@@ -3338,6 +3393,7 @@
* @see #DISTORTION_CORRECTION_MODE_HIGH_QUALITY
*/
@PublicKey
+ @NonNull
public static final Key<Integer> DISTORTION_CORRECTION_MODE =
new Key<Integer>("android.distortionCorrection.mode", int.class);
@@ -3347,4 +3403,7 @@
+
+
+
}
diff --git a/core/java/android/hardware/camera2/CaptureResult.java b/core/java/android/hardware/camera2/CaptureResult.java
index 13ad092..0900f3b 100644
--- a/core/java/android/hardware/camera2/CaptureResult.java
+++ b/core/java/android/hardware/camera2/CaptureResult.java
@@ -437,7 +437,7 @@
* <li>{@link #COLOR_CORRECTION_MODE_FAST FAST}</li>
* <li>{@link #COLOR_CORRECTION_MODE_HIGH_QUALITY HIGH_QUALITY}</li>
* </ul></p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -451,6 +451,7 @@
* @see #COLOR_CORRECTION_MODE_HIGH_QUALITY
*/
@PublicKey
+ @NonNull
public static final Key<Integer> COLOR_CORRECTION_MODE =
new Key<Integer>("android.colorCorrection.mode", int.class);
@@ -469,7 +470,7 @@
* <p>The valid range of each matrix element varies on different devices, but
* values within [-1.5, 3.0] are guaranteed not to be clipped.</p>
* <p><b>Units</b>: Unitless scale factors</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -478,6 +479,7 @@
* @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
*/
@PublicKey
+ @NonNull
public static final Key<android.hardware.camera2.params.ColorSpaceTransform> COLOR_CORRECTION_TRANSFORM =
new Key<android.hardware.camera2.params.ColorSpaceTransform>("android.colorCorrection.transform", android.hardware.camera2.params.ColorSpaceTransform.class);
@@ -496,7 +498,7 @@
* device allows gains below 1.0, this is usually not recommended because
* this can create color artifacts.</p>
* <p><b>Units</b>: Unitless gain factors</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -505,6 +507,7 @@
* @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
*/
@PublicKey
+ @NonNull
public static final Key<android.hardware.camera2.params.RggbChannelVector> COLOR_CORRECTION_GAINS =
new Key<android.hardware.camera2.params.RggbChannelVector>("android.colorCorrection.gains", android.hardware.camera2.params.RggbChannelVector.class);
@@ -537,6 +540,7 @@
* @see #COLOR_CORRECTION_ABERRATION_MODE_HIGH_QUALITY
*/
@PublicKey
+ @NonNull
public static final Key<Integer> COLOR_CORRECTION_ABERRATION_MODE =
new Key<Integer>("android.colorCorrection.aberrationMode", int.class);
@@ -593,6 +597,7 @@
* @see #CONTROL_AE_ANTIBANDING_MODE_AUTO
*/
@PublicKey
+ @NonNull
public static final Key<Integer> CONTROL_AE_ANTIBANDING_MODE =
new Key<Integer>("android.control.aeAntibandingMode", int.class);
@@ -626,6 +631,7 @@
* @see CaptureResult#CONTROL_AE_STATE
*/
@PublicKey
+ @NonNull
public static final Key<Integer> CONTROL_AE_EXPOSURE_COMPENSATION =
new Key<Integer>("android.control.aeExposureCompensation", int.class);
@@ -676,6 +682,7 @@
* @see CaptureRequest#SENSOR_SENSITIVITY
*/
@PublicKey
+ @NonNull
public static final Key<Boolean> CONTROL_AE_LOCK =
new Key<Boolean>("android.control.aeLock", boolean.class);
@@ -728,6 +735,7 @@
* @see #CONTROL_AE_MODE_ON_EXTERNAL_FLASH
*/
@PublicKey
+ @NonNull
public static final Key<Integer> CONTROL_AE_MODE =
new Key<Integer>("android.control.aeMode", int.class);
@@ -779,7 +787,7 @@
* Coordinates must be between <code>[(0,0), (width, height))</code> of
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize} or {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}
* depending on distortion correction capability and mode</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CameraCharacteristics#CONTROL_MAX_REGIONS_AE
* @see CaptureRequest#DISTORTION_CORRECTION_MODE
@@ -788,6 +796,7 @@
* @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
*/
@PublicKey
+ @NonNull
public static final Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AE_REGIONS =
new Key<android.hardware.camera2.params.MeteringRectangle[]>("android.control.aeRegions", android.hardware.camera2.params.MeteringRectangle[].class);
@@ -808,6 +817,7 @@
* @see CaptureRequest#SENSOR_FRAME_DURATION
*/
@PublicKey
+ @NonNull
public static final Key<android.util.Range<Integer>> CONTROL_AE_TARGET_FPS_RANGE =
new Key<android.util.Range<Integer>>("android.control.aeTargetFpsRange", new TypeReference<android.util.Range<Integer>>() {{ }});
@@ -866,7 +876,7 @@
* <li>{@link #CONTROL_AE_PRECAPTURE_TRIGGER_START START}</li>
* <li>{@link #CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL CANCEL}</li>
* </ul></p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Limited capability</b> -
* Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -881,6 +891,7 @@
* @see #CONTROL_AE_PRECAPTURE_TRIGGER_CANCEL
*/
@PublicKey
+ @NonNull
public static final Key<Integer> CONTROL_AE_PRECAPTURE_TRIGGER =
new Key<Integer>("android.control.aePrecaptureTrigger", int.class);
@@ -1108,7 +1119,7 @@
* <li>{@link #CONTROL_AE_STATE_FLASH_REQUIRED FLASH_REQUIRED}</li>
* <li>{@link #CONTROL_AE_STATE_PRECAPTURE PRECAPTURE}</li>
* </ul></p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Limited capability</b> -
* Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -1129,6 +1140,7 @@
* @see #CONTROL_AE_STATE_PRECAPTURE
*/
@PublicKey
+ @NonNull
public static final Key<Integer> CONTROL_AE_STATE =
new Key<Integer>("android.control.aeState", int.class);
@@ -1170,6 +1182,7 @@
* @see #CONTROL_AF_MODE_EDOF
*/
@PublicKey
+ @NonNull
public static final Key<Integer> CONTROL_AF_MODE =
new Key<Integer>("android.control.afMode", int.class);
@@ -1222,7 +1235,7 @@
* Coordinates must be between <code>[(0,0), (width, height))</code> of
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize} or {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}
* depending on distortion correction capability and mode</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CameraCharacteristics#CONTROL_MAX_REGIONS_AF
* @see CaptureRequest#DISTORTION_CORRECTION_MODE
@@ -1231,6 +1244,7 @@
* @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
*/
@PublicKey
+ @NonNull
public static final Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AF_REGIONS =
new Key<android.hardware.camera2.params.MeteringRectangle[]>("android.control.afRegions", android.hardware.camera2.params.MeteringRectangle[].class);
@@ -1268,6 +1282,7 @@
* @see #CONTROL_AF_TRIGGER_CANCEL
*/
@PublicKey
+ @NonNull
public static final Key<Integer> CONTROL_AF_TRIGGER =
new Key<Integer>("android.control.afTrigger", int.class);
@@ -1677,6 +1692,7 @@
* @see #CONTROL_AF_STATE_PASSIVE_UNFOCUSED
*/
@PublicKey
+ @NonNull
public static final Key<Integer> CONTROL_AF_STATE =
new Key<Integer>("android.control.afState", int.class);
@@ -1707,6 +1723,7 @@
* @see CaptureRequest#CONTROL_AWB_MODE
*/
@PublicKey
+ @NonNull
public static final Key<Boolean> CONTROL_AWB_LOCK =
new Key<Boolean>("android.control.awbLock", boolean.class);
@@ -1767,6 +1784,7 @@
* @see #CONTROL_AWB_MODE_SHADE
*/
@PublicKey
+ @NonNull
public static final Key<Integer> CONTROL_AWB_MODE =
new Key<Integer>("android.control.awbMode", int.class);
@@ -1819,7 +1837,7 @@
* Coordinates must be between <code>[(0,0), (width, height))</code> of
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize} or {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}
* depending on distortion correction capability and mode</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CameraCharacteristics#CONTROL_MAX_REGIONS_AWB
* @see CaptureRequest#DISTORTION_CORRECTION_MODE
@@ -1828,6 +1846,7 @@
* @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
*/
@PublicKey
+ @NonNull
public static final Key<android.hardware.camera2.params.MeteringRectangle[]> CONTROL_AWB_REGIONS =
new Key<android.hardware.camera2.params.MeteringRectangle[]>("android.control.awbRegions", android.hardware.camera2.params.MeteringRectangle[].class);
@@ -1870,6 +1889,7 @@
* @see #CONTROL_CAPTURE_INTENT_MOTION_TRACKING
*/
@PublicKey
+ @NonNull
public static final Key<Integer> CONTROL_CAPTURE_INTENT =
new Key<Integer>("android.control.captureIntent", int.class);
@@ -1997,7 +2017,7 @@
* <li>{@link #CONTROL_AWB_STATE_CONVERGED CONVERGED}</li>
* <li>{@link #CONTROL_AWB_STATE_LOCKED LOCKED}</li>
* </ul></p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Limited capability</b> -
* Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -2013,6 +2033,7 @@
* @see #CONTROL_AWB_STATE_LOCKED
*/
@PublicKey
+ @NonNull
public static final Key<Integer> CONTROL_AWB_STATE =
new Key<Integer>("android.control.awbState", int.class);
@@ -2052,6 +2073,7 @@
* @see #CONTROL_EFFECT_MODE_AQUA
*/
@PublicKey
+ @NonNull
public static final Key<Integer> CONTROL_EFFECT_MODE =
new Key<Integer>("android.control.effectMode", int.class);
@@ -2092,6 +2114,7 @@
* @see #CONTROL_MODE_OFF_KEEP_STATE
*/
@PublicKey
+ @NonNull
public static final Key<Integer> CONTROL_MODE =
new Key<Integer>("android.control.mode", int.class);
@@ -2159,6 +2182,7 @@
* @see #CONTROL_SCENE_MODE_HDR
*/
@PublicKey
+ @NonNull
public static final Key<Integer> CONTROL_SCENE_MODE =
new Key<Integer>("android.control.sceneMode", int.class);
@@ -2202,6 +2226,7 @@
* @see #CONTROL_VIDEO_STABILIZATION_MODE_ON
*/
@PublicKey
+ @NonNull
public static final Key<Integer> CONTROL_VIDEO_STABILIZATION_MODE =
new Key<Integer>("android.control.videoStabilizationMode", int.class);
@@ -2228,7 +2253,7 @@
* <p><b>Units</b>: ISO arithmetic units, the same as {@link CaptureRequest#SENSOR_SENSITIVITY android.sensor.sensitivity}</p>
* <p><b>Range of valid values:</b><br>
* {@link CameraCharacteristics#CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE android.control.postRawSensitivityBoostRange}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CaptureRequest#CONTROL_AE_MODE
* @see CaptureRequest#CONTROL_MODE
@@ -2237,6 +2262,7 @@
* @see CaptureRequest#SENSOR_SENSITIVITY
*/
@PublicKey
+ @NonNull
public static final Key<Integer> CONTROL_POST_RAW_SENSITIVITY_BOOST =
new Key<Integer>("android.control.postRawSensitivityBoost", int.class);
@@ -2264,12 +2290,13 @@
* <p>For applications targeting SDK versions older than O, the value of enableZsl in all
* capture templates is always <code>false</code> if present.</p>
* <p>For application-operated ZSL, use CAMERA3_TEMPLATE_ZERO_SHUTTER_LAG template.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CaptureRequest#CONTROL_CAPTURE_INTENT
* @see CaptureResult#SENSOR_TIMESTAMP
*/
@PublicKey
+ @NonNull
public static final Key<Boolean> CONTROL_ENABLE_ZSL =
new Key<Boolean>("android.control.enableZsl", boolean.class);
@@ -2287,11 +2314,12 @@
* <li>{@link #CONTROL_AF_SCENE_CHANGE_NOT_DETECTED NOT_DETECTED}</li>
* <li>{@link #CONTROL_AF_SCENE_CHANGE_DETECTED DETECTED}</li>
* </ul></p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* @see #CONTROL_AF_SCENE_CHANGE_NOT_DETECTED
* @see #CONTROL_AF_SCENE_CHANGE_DETECTED
*/
@PublicKey
+ @NonNull
public static final Key<Integer> CONTROL_AF_SCENE_CHANGE =
new Key<Integer>("android.control.afSceneChange", int.class);
@@ -2326,7 +2354,7 @@
* </ul></p>
* <p><b>Available values for this device:</b><br>
* {@link CameraCharacteristics#EDGE_AVAILABLE_EDGE_MODES android.edge.availableEdgeModes}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -2340,6 +2368,7 @@
* @see #EDGE_MODE_ZERO_SHUTTER_LAG
*/
@PublicKey
+ @NonNull
public static final Key<Integer> EDGE_MODE =
new Key<Integer>("android.edge.mode", int.class);
@@ -2375,6 +2404,7 @@
* @see #FLASH_MODE_TORCH
*/
@PublicKey
+ @NonNull
public static final Key<Integer> FLASH_MODE =
new Key<Integer>("android.flash.mode", int.class);
@@ -2402,7 +2432,7 @@
* <li>{@link #FLASH_STATE_FIRED FIRED}</li>
* <li>{@link #FLASH_STATE_PARTIAL PARTIAL}</li>
* </ul></p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Limited capability</b> -
* Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -2418,6 +2448,7 @@
* @see #FLASH_STATE_PARTIAL
*/
@PublicKey
+ @NonNull
public static final Key<Integer> FLASH_STATE =
new Key<Integer>("android.flash.state", int.class);
@@ -2434,7 +2465,7 @@
* </ul></p>
* <p><b>Available values for this device:</b><br>
* {@link CameraCharacteristics#HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES android.hotPixel.availableHotPixelModes}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CameraCharacteristics#HOT_PIXEL_AVAILABLE_HOT_PIXEL_MODES
* @see #HOT_PIXEL_MODE_OFF
@@ -2442,6 +2473,7 @@
* @see #HOT_PIXEL_MODE_HIGH_QUALITY
*/
@PublicKey
+ @NonNull
public static final Key<Integer> HOT_PIXEL_MODE =
new Key<Integer>("android.hotPixel.mode", int.class);
@@ -2454,6 +2486,7 @@
* <p>This key is available on all devices.</p>
*/
@PublicKey
+ @NonNull
@SyntheticKey
public static final Key<android.location.Location> JPEG_GPS_LOCATION =
new Key<android.location.Location>("android.jpeg.gpsLocation", android.location.Location.class);
@@ -2535,6 +2568,7 @@
* @see CameraCharacteristics#SENSOR_ORIENTATION
*/
@PublicKey
+ @NonNull
public static final Key<Integer> JPEG_ORIENTATION =
new Key<Integer>("android.jpeg.orientation", int.class);
@@ -2548,6 +2582,7 @@
* <p>This key is available on all devices.</p>
*/
@PublicKey
+ @NonNull
public static final Key<Byte> JPEG_QUALITY =
new Key<Byte>("android.jpeg.quality", byte.class);
@@ -2560,6 +2595,7 @@
* <p>This key is available on all devices.</p>
*/
@PublicKey
+ @NonNull
public static final Key<Byte> JPEG_THUMBNAIL_QUALITY =
new Key<Byte>("android.jpeg.thumbnailQuality", byte.class);
@@ -2599,6 +2635,7 @@
* @see CaptureRequest#JPEG_ORIENTATION
*/
@PublicKey
+ @NonNull
public static final Key<android.util.Size> JPEG_THUMBNAIL_SIZE =
new Key<android.util.Size>("android.jpeg.thumbnailSize", android.util.Size.class);
@@ -2622,7 +2659,7 @@
* <p><b>Units</b>: The f-number (f/N)</p>
* <p><b>Range of valid values:</b><br>
* {@link CameraCharacteristics#LENS_INFO_AVAILABLE_APERTURES android.lens.info.availableApertures}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -2636,6 +2673,7 @@
* @see CaptureRequest#SENSOR_SENSITIVITY
*/
@PublicKey
+ @NonNull
public static final Key<Float> LENS_APERTURE =
new Key<Float>("android.lens.aperture", float.class);
@@ -2656,7 +2694,7 @@
* <p><b>Units</b>: Exposure Value (EV)</p>
* <p><b>Range of valid values:</b><br>
* {@link CameraCharacteristics#LENS_INFO_AVAILABLE_FILTER_DENSITIES android.lens.info.availableFilterDensities}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -2666,6 +2704,7 @@
* @see CaptureResult#LENS_STATE
*/
@PublicKey
+ @NonNull
public static final Key<Float> LENS_FILTER_DENSITY =
new Key<Float>("android.lens.filterDensity", float.class);
@@ -2691,6 +2730,7 @@
* @see CaptureResult#LENS_STATE
*/
@PublicKey
+ @NonNull
public static final Key<Float> LENS_FOCAL_LENGTH =
new Key<Float>("android.lens.focalLength", float.class);
@@ -2701,7 +2741,7 @@
* <p><b>Units</b>: See {@link CameraCharacteristics#LENS_INFO_FOCUS_DISTANCE_CALIBRATION android.lens.info.focusDistanceCalibration} for details</p>
* <p><b>Range of valid values:</b><br>
* >= 0</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -2710,6 +2750,7 @@
* @see CameraCharacteristics#LENS_INFO_FOCUS_DISTANCE_CALIBRATION
*/
@PublicKey
+ @NonNull
public static final Key<Float> LENS_FOCUS_DISTANCE =
new Key<Float>("android.lens.focusDistance", float.class);
@@ -2722,7 +2763,7 @@
* far); see {@link CameraCharacteristics#LENS_INFO_FOCUS_DISTANCE_CALIBRATION android.lens.info.focusDistanceCalibration} for details.</p>
* <p><b>Range of valid values:</b><br>
* >=0</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Limited capability</b> -
* Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -2731,6 +2772,7 @@
* @see CameraCharacteristics#LENS_INFO_FOCUS_DISTANCE_CALIBRATION
*/
@PublicKey
+ @NonNull
public static final Key<android.util.Pair<Float,Float>> LENS_FOCUS_RANGE =
new Key<android.util.Pair<Float,Float>>("android.lens.focusRange", new TypeReference<android.util.Pair<Float,Float>>() {{ }});
@@ -2761,7 +2803,7 @@
* </ul></p>
* <p><b>Available values for this device:</b><br>
* {@link CameraCharacteristics#LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION android.lens.info.availableOpticalStabilization}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Limited capability</b> -
* Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -2773,6 +2815,7 @@
* @see #LENS_OPTICAL_STABILIZATION_MODE_ON
*/
@PublicKey
+ @NonNull
public static final Key<Integer> LENS_OPTICAL_STABILIZATION_MODE =
new Key<Integer>("android.lens.opticalStabilizationMode", int.class);
@@ -2802,7 +2845,7 @@
* <li>{@link #LENS_STATE_STATIONARY STATIONARY}</li>
* <li>{@link #LENS_STATE_MOVING MOVING}</li>
* </ul></p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Limited capability</b> -
* Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -2820,6 +2863,7 @@
* @see #LENS_STATE_MOVING
*/
@PublicKey
+ @NonNull
public static final Key<Integer> LENS_STATE =
new Key<Integer>("android.lens.state", int.class);
@@ -2854,10 +2898,11 @@
* <code>p'</code> is in the camera-oriented coordinate system.</p>
* <p><b>Units</b>:
* Quaternion coefficients</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
*/
@PublicKey
+ @NonNull
public static final Key<float[]> LENS_POSE_ROTATION =
new Key<float[]>("android.lens.poseRotation", float[].class);
@@ -2890,7 +2935,7 @@
* the center of the primary gyroscope on the device. The axis definitions are the same as
* with PRIMARY_CAMERA.</p>
* <p><b>Units</b>: Meters</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
*
* @see CameraCharacteristics#LENS_DISTORTION
@@ -2899,6 +2944,7 @@
* @see CameraCharacteristics#LENS_POSE_ROTATION
*/
@PublicKey
+ @NonNull
public static final Key<float[]> LENS_POSE_TRANSLATION =
new Key<float[]>("android.lens.poseTranslation", float[].class);
@@ -2962,7 +3008,7 @@
* Pixels in the
* {@link CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE android.sensor.info.preCorrectionActiveArraySize}
* coordinate system.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
*
* @see CameraCharacteristics#LENS_DISTORTION
@@ -2972,6 +3018,7 @@
* @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
*/
@PublicKey
+ @NonNull
public static final Key<float[]> LENS_INTRINSIC_CALIBRATION =
new Key<float[]>("android.lens.intrinsicCalibration", float[].class);
@@ -3006,7 +3053,7 @@
* <p>The distortion model used is the Brown-Conrady model.</p>
* <p><b>Units</b>:
* Unitless coefficients.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
*
* @see CameraCharacteristics#LENS_INTRINSIC_CALIBRATION
@@ -3019,6 +3066,7 @@
*/
@Deprecated
@PublicKey
+ @NonNull
public static final Key<float[]> LENS_RADIAL_DISTORTION =
new Key<float[]>("android.lens.radialDistortion", float[].class);
@@ -3053,13 +3101,14 @@
* <p>The distortion model used is the Brown-Conrady model.</p>
* <p><b>Units</b>:
* Unitless coefficients.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Permission {@link android.Manifest.permission#CAMERA } is needed to access this property</b></p>
*
* @see CameraCharacteristics#LENS_INTRINSIC_CALIBRATION
* @see CameraCharacteristics#LENS_RADIAL_DISTORTION
*/
@PublicKey
+ @NonNull
public static final Key<float[]> LENS_DISTORTION =
new Key<float[]>("android.lens.distortion", float[].class);
@@ -3100,7 +3149,7 @@
* </ul></p>
* <p><b>Available values for this device:</b><br>
* {@link CameraCharacteristics#NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES android.noiseReduction.availableNoiseReductionModes}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -3115,6 +3164,7 @@
* @see #NOISE_REDUCTION_MODE_ZERO_SHUTTER_LAG
*/
@PublicKey
+ @NonNull
public static final Key<Integer> NOISE_REDUCTION_MODE =
new Key<Integer>("android.noiseReduction.mode", int.class);
@@ -3134,7 +3184,7 @@
* only be used by the camera device if quirks.usePartialResult is set to 1.</p>
* <p><b>Range of valid values:</b><br>
* Optional. Default value is FINAL.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* @deprecated
* <p>Not used in HALv3 or newer</p>
@@ -3152,7 +3202,7 @@
* <p><b>Units</b>: count of frames</p>
* <p><b>Range of valid values:</b><br>
* > 0</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* @deprecated
* <p>Not used in HALv3 or newer</p>
@@ -3169,7 +3219,7 @@
* <p><b>Units</b>: arbitrary integer assigned by application</p>
* <p><b>Range of valid values:</b><br>
* Any int</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* @hide
*/
public static final Key<Integer> REQUEST_ID =
@@ -3190,6 +3240,7 @@
* @see CameraCharacteristics#REQUEST_PIPELINE_MAX_DEPTH
*/
@PublicKey
+ @NonNull
public static final Key<Byte> REQUEST_PIPELINE_DEPTH =
new Key<Byte>("android.request.pipelineDepth", byte.class);
@@ -3251,6 +3302,7 @@
* @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
*/
@PublicKey
+ @NonNull
public static final Key<android.graphics.Rect> SCALER_CROP_REGION =
new Key<android.graphics.Rect>("android.scaler.cropRegion", android.graphics.Rect.class);
@@ -3265,7 +3317,7 @@
* <p><b>Units</b>: Nanoseconds</p>
* <p><b>Range of valid values:</b><br>
* {@link CameraCharacteristics#SENSOR_INFO_EXPOSURE_TIME_RANGE android.sensor.info.exposureTimeRange}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -3276,6 +3328,7 @@
* @see CameraCharacteristics#SENSOR_INFO_EXPOSURE_TIME_RANGE
*/
@PublicKey
+ @NonNull
public static final Key<Long> SENSOR_EXPOSURE_TIME =
new Key<Long>("android.sensor.exposureTime", long.class);
@@ -3346,7 +3399,7 @@
* <p><b>Range of valid values:</b><br>
* See {@link CameraCharacteristics#SENSOR_INFO_MAX_FRAME_DURATION android.sensor.info.maxFrameDuration}, {@link android.hardware.camera2.params.StreamConfigurationMap }.
* The duration is capped to <code>max(duration, exposureTime + overhead)</code>.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -3357,6 +3410,7 @@
* @see CameraCharacteristics#SENSOR_INFO_MAX_FRAME_DURATION
*/
@PublicKey
+ @NonNull
public static final Key<Long> SENSOR_FRAME_DURATION =
new Key<Long>("android.sensor.frameDuration", long.class);
@@ -3377,7 +3431,7 @@
* <p><b>Units</b>: ISO arithmetic units</p>
* <p><b>Range of valid values:</b><br>
* {@link CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE android.sensor.info.sensitivityRange}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -3389,6 +3443,7 @@
* @see CameraCharacteristics#SENSOR_MAX_ANALOG_SENSITIVITY
*/
@PublicKey
+ @NonNull
public static final Key<Integer> SENSOR_SENSITIVITY =
new Key<Integer>("android.sensor.sensitivity", int.class);
@@ -3419,6 +3474,7 @@
* @see CameraCharacteristics#SENSOR_INFO_TIMESTAMP_SOURCE
*/
@PublicKey
+ @NonNull
public static final Key<Long> SENSOR_TIMESTAMP =
new Key<Long>("android.sensor.timestamp", long.class);
@@ -3433,9 +3489,10 @@
* <p>The order of the values is R, G, B; where R is in the lowest index.</p>
* <p>Starting from Android Q, this key will not be present for a MONOCHROME camera, even if
* the camera device has RAW capability.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*/
@PublicKey
+ @NonNull
public static final Key<Rational[]> SENSOR_NEUTRAL_COLOR_POINT =
new Key<Rational[]>("android.sensor.neutralColorPoint", Rational[].class);
@@ -3460,11 +3517,12 @@
* Adobe DNG specification for the NoiseProfile tag.</p>
* <p>For a MONOCHROME camera, there is only one color channel. So the noise model coefficients
* will only contain one S and one O.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CameraCharacteristics#SENSOR_INFO_COLOR_FILTER_ARRANGEMENT
*/
@PublicKey
+ @NonNull
public static final Key<android.util.Pair<Double,Double>[]> SENSOR_NOISE_PROFILE =
new Key<android.util.Pair<Double,Double>[]>("android.sensor.noiseProfile", new TypeReference<android.util.Pair<Double,Double>[]>() {{ }});
@@ -3504,9 +3562,10 @@
* the camera device has RAW capability.</p>
* <p><b>Range of valid values:</b><br></p>
* <p>>= 0</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*/
@PublicKey
+ @NonNull
public static final Key<Float> SENSOR_GREEN_SPLIT =
new Key<Float>("android.sensor.greenSplit", float.class);
@@ -3519,11 +3578,12 @@
* output.</p>
* <p>For example, a sensor with RAW10 Bayer output would use the
* 10 most significant bits from each color channel.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CaptureRequest#SENSOR_TEST_PATTERN_MODE
*/
@PublicKey
+ @NonNull
public static final Key<int[]> SENSOR_TEST_PATTERN_DATA =
new Key<int[]>("android.sensor.testPatternData", int[].class);
@@ -3548,7 +3608,7 @@
* </ul></p>
* <p><b>Available values for this device:</b><br>
* {@link CameraCharacteristics#SENSOR_AVAILABLE_TEST_PATTERN_MODES android.sensor.availableTestPatternModes}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CameraCharacteristics#SENSOR_AVAILABLE_TEST_PATTERN_MODES
* @see #SENSOR_TEST_PATTERN_MODE_OFF
@@ -3559,6 +3619,7 @@
* @see #SENSOR_TEST_PATTERN_MODE_CUSTOM1
*/
@PublicKey
+ @NonNull
public static final Key<Integer> SENSOR_TEST_PATTERN_MODE =
new Key<Integer>("android.sensor.testPatternMode", int.class);
@@ -3575,7 +3636,7 @@
* <p><b>Range of valid values:</b><br>
* >= 0 and <
* {@link android.hardware.camera2.params.StreamConfigurationMap#getOutputMinFrameDuration }.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Limited capability</b> -
* Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -3584,6 +3645,7 @@
* @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
*/
@PublicKey
+ @NonNull
public static final Key<Long> SENSOR_ROLLING_SHUTTER_SKEW =
new Key<Long>("android.sensor.rollingShutterSkew", long.class);
@@ -3617,7 +3679,7 @@
* camera device advertises this key via {@link android.hardware.camera2.CameraCharacteristics#getAvailableCaptureResultKeys }.</p>
* <p><b>Range of valid values:</b><br>
* >= 0 for each.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CameraCharacteristics#SENSOR_BLACK_LEVEL_PATTERN
* @see CameraCharacteristics#SENSOR_INFO_COLOR_FILTER_ARRANGEMENT
@@ -3625,6 +3687,7 @@
* @see CaptureRequest#SENSOR_SENSITIVITY
*/
@PublicKey
+ @NonNull
public static final Key<float[]> SENSOR_DYNAMIC_BLACK_LEVEL =
new Key<float[]>("android.sensor.dynamicBlackLevel", float[].class);
@@ -3640,7 +3703,7 @@
* {@link android.hardware.camera2.CameraCharacteristics#getAvailableCaptureRequestKeys }.</p>
* <p><b>Range of valid values:</b><br>
* >= 0</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CameraCharacteristics#SENSOR_BLACK_LEVEL_PATTERN
* @see CameraCharacteristics#SENSOR_INFO_WHITE_LEVEL
@@ -3648,6 +3711,7 @@
* @see CaptureRequest#SENSOR_SENSITIVITY
*/
@PublicKey
+ @NonNull
public static final Key<Integer> SENSOR_DYNAMIC_WHITE_LEVEL =
new Key<Integer>("android.sensor.dynamicWhiteLevel", int.class);
@@ -3685,7 +3749,7 @@
* </ul></p>
* <p><b>Available values for this device:</b><br>
* {@link CameraCharacteristics#SHADING_AVAILABLE_MODES android.shading.availableModes}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -3701,6 +3765,7 @@
* @see #SHADING_MODE_HIGH_QUALITY
*/
@PublicKey
+ @NonNull
public static final Key<Integer> SHADING_MODE =
new Key<Integer>("android.shading.mode", int.class);
@@ -3726,6 +3791,7 @@
* @see #STATISTICS_FACE_DETECT_MODE_FULL
*/
@PublicKey
+ @NonNull
public static final Key<Integer> STATISTICS_FACE_DETECT_MODE =
new Key<Integer>("android.statistics.faceDetectMode", int.class);
@@ -3818,6 +3884,7 @@
* @see CaptureRequest#STATISTICS_FACE_DETECT_MODE
*/
@PublicKey
+ @NonNull
@SyntheticKey
public static final Key<android.hardware.camera2.params.Face[]> STATISTICS_FACES =
new Key<android.hardware.camera2.params.Face[]>("android.statistics.faces", android.hardware.camera2.params.Face[].class);
@@ -3886,7 +3953,7 @@
* </code></pre>
* <p><b>Range of valid values:</b><br>
* Each gain factor is >= 1</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -3896,6 +3963,7 @@
* @see CameraCharacteristics#SENSOR_INFO_LENS_SHADING_APPLIED
*/
@PublicKey
+ @NonNull
public static final Key<android.hardware.camera2.params.LensShadingMap> STATISTICS_LENS_SHADING_CORRECTION_MAP =
new Key<android.hardware.camera2.params.LensShadingMap>("android.statistics.lensShadingCorrectionMap", android.hardware.camera2.params.LensShadingMap.class);
@@ -3976,7 +4044,7 @@
* formats.</p>
* <p><b>Range of valid values:</b><br>
* Each gain factor is >= 1</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -4001,7 +4069,7 @@
* see {@link CaptureRequest#COLOR_CORRECTION_GAINS android.colorCorrection.gains} for details.</p>
* <p>This value should always be calculated by the auto-white balance (AWB) block,
* regardless of the android.control.* current values.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CaptureRequest#COLOR_CORRECTION_GAINS
* @deprecated
@@ -4029,7 +4097,7 @@
* capture settings and color transforms are set by the application.</p>
* <p>This value should always be calculated by the auto-white balance (AWB) block,
* regardless of the android.control.* current values.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* @deprecated
* <p>Never fully implemented or specified; do not use</p>
@@ -4061,7 +4129,7 @@
* <li>{@link #STATISTICS_SCENE_FLICKER_50HZ 50HZ}</li>
* <li>{@link #STATISTICS_SCENE_FLICKER_60HZ 60HZ}</li>
* </ul></p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -4075,6 +4143,7 @@
* @see #STATISTICS_SCENE_FLICKER_60HZ
*/
@PublicKey
+ @NonNull
public static final Key<Integer> STATISTICS_SCENE_FLICKER =
new Key<Integer>("android.statistics.sceneFlicker", int.class);
@@ -4084,12 +4153,13 @@
* If set to <code>false</code>, no hot pixel map will be returned.</p>
* <p><b>Range of valid values:</b><br>
* {@link CameraCharacteristics#STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES android.statistics.info.availableHotPixelMapModes}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CaptureResult#STATISTICS_HOT_PIXEL_MAP
* @see CameraCharacteristics#STATISTICS_INFO_AVAILABLE_HOT_PIXEL_MAP_MODES
*/
@PublicKey
+ @NonNull
public static final Key<Boolean> STATISTICS_HOT_PIXEL_MAP_MODE =
new Key<Boolean>("android.statistics.hotPixelMapMode", boolean.class);
@@ -4105,12 +4175,13 @@
* <p>n <= number of pixels on the sensor.
* The <code>(x, y)</code> coordinates must be bounded by
* {@link CameraCharacteristics#SENSOR_INFO_PIXEL_ARRAY_SIZE android.sensor.info.pixelArraySize}.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
* @see CameraCharacteristics#SENSOR_INFO_PIXEL_ARRAY_SIZE
*/
@PublicKey
+ @NonNull
public static final Key<android.graphics.Point[]> STATISTICS_HOT_PIXEL_MAP =
new Key<android.graphics.Point[]>("android.statistics.hotPixelMap", android.graphics.Point[].class);
@@ -4128,7 +4199,7 @@
* </ul></p>
* <p><b>Available values for this device:</b><br>
* {@link CameraCharacteristics#STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES android.statistics.info.availableLensShadingMapModes}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -4139,6 +4210,7 @@
* @see #STATISTICS_LENS_SHADING_MAP_MODE_ON
*/
@PublicKey
+ @NonNull
public static final Key<Integer> STATISTICS_LENS_SHADING_MAP_MODE =
new Key<Integer>("android.statistics.lensShadingMapMode", int.class);
@@ -4158,13 +4230,14 @@
* </ul></p>
* <p><b>Available values for this device:</b><br>
* {@link CameraCharacteristics#STATISTICS_INFO_AVAILABLE_OIS_DATA_MODES android.statistics.info.availableOisDataModes}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CameraCharacteristics#STATISTICS_INFO_AVAILABLE_OIS_DATA_MODES
* @see #STATISTICS_OIS_DATA_MODE_OFF
* @see #STATISTICS_OIS_DATA_MODE_ON
*/
@PublicKey
+ @NonNull
public static final Key<Integer> STATISTICS_OIS_DATA_MODE =
new Key<Integer>("android.statistics.oisDataMode", int.class);
@@ -4173,7 +4246,7 @@
* <p>The array contains the timestamps of OIS samples. The timestamps are in the same
* timebase as and comparable to {@link CaptureResult#SENSOR_TIMESTAMP android.sensor.timestamp}.</p>
* <p><b>Units</b>: nanoseconds</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CaptureResult#SENSOR_TIMESTAMP
* @hide
@@ -4194,7 +4267,7 @@
* since the scaling of OIS shifts would depend on the specific spot on the sensor the shift
* is needed.</p>
* <p><b>Units</b>: Pixels in active array.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* @hide
*/
public static final Key<float[]> STATISTICS_OIS_X_SHIFTS =
@@ -4213,7 +4286,7 @@
* since the scaling of OIS shifts would depend on the specific spot on the sensor the shift
* is needed.</p>
* <p><b>Units</b>: Pixels in active array.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* @hide
*/
public static final Key<float[]> STATISTICS_OIS_Y_SHIFTS =
@@ -4235,9 +4308,10 @@
* supporting devices). They are always reported in pre-correction active array coordinates,
* since the scaling of OIS shifts would depend on the specific spot on the sensor the shift
* is needed.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*/
@PublicKey
+ @NonNull
@SyntheticKey
public static final Key<android.hardware.camera2.params.OisSample[]> STATISTICS_OIS_SAMPLES =
new Key<android.hardware.camera2.params.OisSample[]>("android.statistics.oisSamples", android.hardware.camera2.params.OisSample[].class);
@@ -4247,7 +4321,7 @@
* channel, to use when {@link CaptureRequest#TONEMAP_MODE android.tonemap.mode} is
* CONTRAST_CURVE.</p>
* <p>See android.tonemap.curveRed for more details.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -4264,7 +4338,7 @@
* channel, to use when {@link CaptureRequest#TONEMAP_MODE android.tonemap.mode} is
* CONTRAST_CURVE.</p>
* <p>See android.tonemap.curveRed for more details.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -4325,7 +4399,7 @@
* <p><b>Range of valid values:</b><br>
* 0-1 on both input and output coordinates, normalized
* as a floating-point value such that 0 == black and 1 == white.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -4386,7 +4460,7 @@
* (0.8000, 0.9063), (0.8667, 0.9389), (0.9333, 0.9701), (1.0000, 1.0000) ]
* </code></pre>
* <p><img alt="sRGB tonemapping curve" src="/reference/images/camera2/metadata/android.tonemap.curveRed/srgb_tonemap.png" /></p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -4396,6 +4470,7 @@
* @see CaptureRequest#TONEMAP_MODE
*/
@PublicKey
+ @NonNull
@SyntheticKey
public static final Key<android.hardware.camera2.params.TonemapCurve> TONEMAP_CURVE =
new Key<android.hardware.camera2.params.TonemapCurve>("android.tonemap.curve", android.hardware.camera2.params.TonemapCurve.class);
@@ -4430,7 +4505,7 @@
* </ul></p>
* <p><b>Available values for this device:</b><br>
* {@link CameraCharacteristics#TONEMAP_AVAILABLE_TONE_MAP_MODES android.tonemap.availableToneMapModes}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -4446,6 +4521,7 @@
* @see #TONEMAP_MODE_PRESET_CURVE
*/
@PublicKey
+ @NonNull
public static final Key<Integer> TONEMAP_MODE =
new Key<Integer>("android.tonemap.mode", int.class);
@@ -4462,11 +4538,12 @@
* value will be returned in capture result.</p>
* <p>The valid range of gamma value varies on different devices, but values
* within [1.0, 5.0] are guaranteed not to be clipped.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CaptureRequest#TONEMAP_MODE
*/
@PublicKey
+ @NonNull
public static final Key<Float> TONEMAP_GAMMA =
new Key<Float>("android.tonemap.gamma", float.class);
@@ -4485,13 +4562,14 @@
* <li>{@link #TONEMAP_PRESET_CURVE_SRGB SRGB}</li>
* <li>{@link #TONEMAP_PRESET_CURVE_REC709 REC709}</li>
* </ul></p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CaptureRequest#TONEMAP_MODE
* @see #TONEMAP_PRESET_CURVE_SRGB
* @see #TONEMAP_PRESET_CURVE_REC709
*/
@PublicKey
+ @NonNull
public static final Key<Integer> TONEMAP_PRESET_CURVE =
new Key<Integer>("android.tonemap.presetCurve", int.class);
@@ -4506,7 +4584,7 @@
* data is stored locally on the device.</p>
* <p>The LED <em>may</em> be off if a trusted application is using the data that
* doesn't violate the above rules.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* @hide
*/
public static final Key<Boolean> LED_TRANSMIT =
@@ -4519,7 +4597,7 @@
* ON if {@link CaptureRequest#BLACK_LEVEL_LOCK android.blackLevel.lock} was ON in the capture request, unless
* a change in other capture settings forced the camera device to
* perform a black level reset.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Full capability</b> -
* Present on all camera devices that report being {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_FULL HARDWARE_LEVEL_FULL} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -4528,6 +4606,7 @@
* @see CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL
*/
@PublicKey
+ @NonNull
public static final Key<Boolean> BLACK_LEVEL_LOCK =
new Key<Boolean>("android.blackLevel.lock", boolean.class);
@@ -4637,7 +4716,7 @@
* <p><b>Units</b>: Relative exposure time increase factor.</p>
* <p><b>Range of valid values:</b><br>
* >= 1.0</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Limited capability</b> -
* Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} key</p>
@@ -4648,6 +4727,7 @@
* @see CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES
*/
@PublicKey
+ @NonNull
public static final Key<Float> REPROCESS_EFFECTIVE_EXPOSURE_FACTOR =
new Key<Float>("android.reprocess.effectiveExposureFactor", float.class);
@@ -4662,9 +4742,10 @@
* cameras when application changes FOCAL_LENGTH or SCALER_CROP_REGION.
* At the time of lens switch, this result metadata reflects the new active physical camera
* ID.</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*/
@PublicKey
+ @NonNull
public static final Key<String> LOGICAL_MULTI_CAMERA_ACTIVE_PHYSICAL_ID =
new Key<String>("android.logicalMultiCamera.activePhysicalId", String.class);
@@ -4711,7 +4792,7 @@
* </ul></p>
* <p><b>Available values for this device:</b><br>
* {@link CameraCharacteristics#DISTORTION_CORRECTION_AVAILABLE_MODES android.distortionCorrection.availableModes}</p>
- * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
*
* @see CaptureRequest#CONTROL_AE_REGIONS
* @see CaptureRequest#CONTROL_AF_REGIONS
@@ -4727,6 +4808,7 @@
* @see #DISTORTION_CORRECTION_MODE_HIGH_QUALITY
*/
@PublicKey
+ @NonNull
public static final Key<Integer> DISTORTION_CORRECTION_MODE =
new Key<Integer>("android.distortionCorrection.mode", int.class);
@@ -4736,4 +4818,7 @@
+
+
+
}
diff --git a/core/java/android/hardware/camera2/impl/CameraMetadataNative.java b/core/java/android/hardware/camera2/impl/CameraMetadataNative.java
index 65026b6..1cdf235 100644
--- a/core/java/android/hardware/camera2/impl/CameraMetadataNative.java
+++ b/core/java/android/hardware/camera2/impl/CameraMetadataNative.java
@@ -350,7 +350,7 @@
return newObject;
}
- public static final Parcelable.Creator<CameraMetadataNative> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<CameraMetadataNative> CREATOR =
new Parcelable.Creator<CameraMetadataNative>() {
@Override
public CameraMetadataNative createFromParcel(Parcel in) {
diff --git a/core/java/android/hardware/camera2/impl/CaptureResultExtras.java b/core/java/android/hardware/camera2/impl/CaptureResultExtras.java
index 40535e2..edc3d91 100644
--- a/core/java/android/hardware/camera2/impl/CaptureResultExtras.java
+++ b/core/java/android/hardware/camera2/impl/CaptureResultExtras.java
@@ -30,7 +30,7 @@
private int partialResultCount;
private int errorStreamId;
- public static final Parcelable.Creator<CaptureResultExtras> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<CaptureResultExtras> CREATOR =
new Parcelable.Creator<CaptureResultExtras>() {
@Override
public CaptureResultExtras createFromParcel(Parcel in) {
diff --git a/core/java/android/hardware/camera2/impl/PhysicalCaptureResultInfo.java b/core/java/android/hardware/camera2/impl/PhysicalCaptureResultInfo.java
index 30eaf13..09619d0 100644
--- a/core/java/android/hardware/camera2/impl/PhysicalCaptureResultInfo.java
+++ b/core/java/android/hardware/camera2/impl/PhysicalCaptureResultInfo.java
@@ -27,7 +27,7 @@
private String cameraId;
private CameraMetadataNative cameraMetadata;
- public static final Parcelable.Creator<PhysicalCaptureResultInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<PhysicalCaptureResultInfo> CREATOR =
new Parcelable.Creator<PhysicalCaptureResultInfo>() {
@Override
public PhysicalCaptureResultInfo createFromParcel(Parcel in) {
diff --git a/core/java/android/hardware/camera2/params/OutputConfiguration.java b/core/java/android/hardware/camera2/params/OutputConfiguration.java
index cb33659..d7db1f5 100644
--- a/core/java/android/hardware/camera2/params/OutputConfiguration.java
+++ b/core/java/android/hardware/camera2/params/OutputConfiguration.java
@@ -626,7 +626,7 @@
return mSurfaceGroupId;
}
- public static final Parcelable.Creator<OutputConfiguration> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<OutputConfiguration> CREATOR =
new Parcelable.Creator<OutputConfiguration>() {
@Override
public OutputConfiguration createFromParcel(Parcel source) {
diff --git a/core/java/android/hardware/camera2/params/SessionConfiguration.java b/core/java/android/hardware/camera2/params/SessionConfiguration.java
index 3ea58ad..555ff9a 100644
--- a/core/java/android/hardware/camera2/params/SessionConfiguration.java
+++ b/core/java/android/hardware/camera2/params/SessionConfiguration.java
@@ -134,7 +134,7 @@
mOutputConfigurations = outConfigs;
}
- public static final Parcelable.Creator<SessionConfiguration> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<SessionConfiguration> CREATOR =
new Parcelable.Creator<SessionConfiguration> () {
@Override
public SessionConfiguration createFromParcel(Parcel source) {
diff --git a/core/java/android/hardware/camera2/params/VendorTagDescriptor.java b/core/java/android/hardware/camera2/params/VendorTagDescriptor.java
index ea424e5..4845ec3 100644
--- a/core/java/android/hardware/camera2/params/VendorTagDescriptor.java
+++ b/core/java/android/hardware/camera2/params/VendorTagDescriptor.java
@@ -32,7 +32,7 @@
private VendorTagDescriptor(Parcel source) {
}
- public static final Parcelable.Creator<VendorTagDescriptor> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<VendorTagDescriptor> CREATOR =
new Parcelable.Creator<VendorTagDescriptor>() {
@Override
public VendorTagDescriptor createFromParcel(Parcel source) {
diff --git a/core/java/android/hardware/camera2/params/VendorTagDescriptorCache.java b/core/java/android/hardware/camera2/params/VendorTagDescriptorCache.java
index 1f92f6d..450b70b 100644
--- a/core/java/android/hardware/camera2/params/VendorTagDescriptorCache.java
+++ b/core/java/android/hardware/camera2/params/VendorTagDescriptorCache.java
@@ -32,7 +32,7 @@
private VendorTagDescriptorCache(Parcel source) {
}
- public static final Parcelable.Creator<VendorTagDescriptorCache> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<VendorTagDescriptorCache> CREATOR =
new Parcelable.Creator<VendorTagDescriptorCache>() {
@Override
public VendorTagDescriptorCache createFromParcel(Parcel source) {
diff --git a/core/java/android/hardware/camera2/utils/LongParcelable.java b/core/java/android/hardware/camera2/utils/LongParcelable.java
index c89b339..d36736e 100644
--- a/core/java/android/hardware/camera2/utils/LongParcelable.java
+++ b/core/java/android/hardware/camera2/utils/LongParcelable.java
@@ -32,7 +32,7 @@
this.number = number;
}
- public static final Parcelable.Creator<LongParcelable> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<LongParcelable> CREATOR =
new Parcelable.Creator<LongParcelable>() {
@Override
public LongParcelable createFromParcel(Parcel in) {
diff --git a/core/java/android/hardware/camera2/utils/SubmitInfo.java b/core/java/android/hardware/camera2/utils/SubmitInfo.java
index d1692b5..9df09c4 100644
--- a/core/java/android/hardware/camera2/utils/SubmitInfo.java
+++ b/core/java/android/hardware/camera2/utils/SubmitInfo.java
@@ -43,7 +43,7 @@
mLastFrameNumber = lastFrameNumber;
}
- public static final Parcelable.Creator<SubmitInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<SubmitInfo> CREATOR =
new Parcelable.Creator<SubmitInfo>() {
@Override
public SubmitInfo createFromParcel(Parcel in) {
diff --git a/core/java/android/hardware/display/AmbientBrightnessDayStats.java b/core/java/android/hardware/display/AmbientBrightnessDayStats.java
index 1aa2557..b25ef8d 100644
--- a/core/java/android/hardware/display/AmbientBrightnessDayStats.java
+++ b/core/java/android/hardware/display/AmbientBrightnessDayStats.java
@@ -121,7 +121,7 @@
mStats = source.createFloatArray();
}
- public static final Creator<AmbientBrightnessDayStats> CREATOR =
+ public static final @android.annotation.NonNull Creator<AmbientBrightnessDayStats> CREATOR =
new Creator<AmbientBrightnessDayStats>() {
@Override
diff --git a/core/java/android/hardware/display/BrightnessChangeEvent.java b/core/java/android/hardware/display/BrightnessChangeEvent.java
index c6186bb..7fa1cfb 100644
--- a/core/java/android/hardware/display/BrightnessChangeEvent.java
+++ b/core/java/android/hardware/display/BrightnessChangeEvent.java
@@ -153,7 +153,7 @@
colorSampleDuration = source.readLong();
}
- public static final Creator<BrightnessChangeEvent> CREATOR =
+ public static final @android.annotation.NonNull Creator<BrightnessChangeEvent> CREATOR =
new Creator<BrightnessChangeEvent>() {
public BrightnessChangeEvent createFromParcel(Parcel source) {
return new BrightnessChangeEvent(source);
diff --git a/core/java/android/hardware/display/BrightnessConfiguration.java b/core/java/android/hardware/display/BrightnessConfiguration.java
index ed8a97c..5b63dcf 100644
--- a/core/java/android/hardware/display/BrightnessConfiguration.java
+++ b/core/java/android/hardware/display/BrightnessConfiguration.java
@@ -198,7 +198,7 @@
&& Objects.equals(mDescription, other.mDescription);
}
- public static final Creator<BrightnessConfiguration> CREATOR =
+ public static final @android.annotation.NonNull Creator<BrightnessConfiguration> CREATOR =
new Creator<BrightnessConfiguration>() {
public BrightnessConfiguration createFromParcel(Parcel in) {
float[] lux = in.createFloatArray();
@@ -444,6 +444,7 @@
* {@link #getMaxCorrectionsByPackageName}).
*
*/
+ @NonNull
public Builder addCorrectionByPackageName(@NonNull String packageName,
@NonNull BrightnessCorrection correction) {
Objects.requireNonNull(packageName, "packageName must not be null");
@@ -472,6 +473,7 @@
* {@link #getMaxCorrectionsByCategory}).
*
*/
+ @NonNull
public Builder addCorrectionByCategory(@ApplicationInfo.Category int category,
@NonNull BrightnessCorrection correction) {
Objects.requireNonNull(correction, "correction must not be null");
@@ -488,6 +490,7 @@
* @param description brief text describing the curve pushed. It maybe truncated
* and will not be displayed in the UI
*/
+ @NonNull
public Builder setDescription(@Nullable String description) {
mDescription = description;
return this;
@@ -496,6 +499,7 @@
/**
* Builds the {@link BrightnessConfiguration}.
*/
+ @NonNull
public BrightnessConfiguration build() {
if (mCurveLux == null || mCurveNits == null) {
throw new IllegalStateException("A curve must be set!");
diff --git a/core/java/android/hardware/display/BrightnessCorrection.java b/core/java/android/hardware/display/BrightnessCorrection.java
index ee8d846..b029acc 100644
--- a/core/java/android/hardware/display/BrightnessCorrection.java
+++ b/core/java/android/hardware/display/BrightnessCorrection.java
@@ -120,7 +120,7 @@
return mImplementation.hashCode();
}
- public static final Creator<BrightnessCorrection> CREATOR =
+ public static final @android.annotation.NonNull Creator<BrightnessCorrection> CREATOR =
new Creator<BrightnessCorrection>() {
public BrightnessCorrection createFromParcel(Parcel in) {
final int type = in.readInt();
diff --git a/core/java/android/hardware/display/Curve.java b/core/java/android/hardware/display/Curve.java
index 41f66f5..0010515 100644
--- a/core/java/android/hardware/display/Curve.java
+++ b/core/java/android/hardware/display/Curve.java
@@ -37,7 +37,7 @@
return mY;
}
- public static final Creator<Curve> CREATOR = new Creator<Curve>() {
+ public static final @android.annotation.NonNull Creator<Curve> CREATOR = new Creator<Curve>() {
public Curve createFromParcel(Parcel in) {
float[] x = in.createFloatArray();
float[] y = in.createFloatArray();
diff --git a/core/java/android/hardware/display/Time.java b/core/java/android/hardware/display/Time.java
index b943ac6..87e5b38 100644
--- a/core/java/android/hardware/display/Time.java
+++ b/core/java/android/hardware/display/Time.java
@@ -62,7 +62,7 @@
return LocalTime.of(mHour, mMinute, mSecond, mNano);
}
- public static final Parcelable.Creator<Time> CREATOR = new Parcelable.Creator<Time>() {
+ public static final @android.annotation.NonNull Parcelable.Creator<Time> CREATOR = new Parcelable.Creator<Time>() {
@Override
public Time createFromParcel(Parcel source) {
diff --git a/core/java/android/hardware/display/WifiDisplay.java b/core/java/android/hardware/display/WifiDisplay.java
index 12486e8..55e6051 100644
--- a/core/java/android/hardware/display/WifiDisplay.java
+++ b/core/java/android/hardware/display/WifiDisplay.java
@@ -40,7 +40,7 @@
public static final WifiDisplay[] EMPTY_ARRAY = new WifiDisplay[0];
- public static final Creator<WifiDisplay> CREATOR = new Creator<WifiDisplay>() {
+ public static final @android.annotation.NonNull Creator<WifiDisplay> CREATOR = new Creator<WifiDisplay>() {
public WifiDisplay createFromParcel(Parcel in) {
String deviceAddress = in.readString();
String deviceName = in.readString();
diff --git a/core/java/android/hardware/display/WifiDisplaySessionInfo.java b/core/java/android/hardware/display/WifiDisplaySessionInfo.java
index 33d2725..9fb85f9 100644
--- a/core/java/android/hardware/display/WifiDisplaySessionInfo.java
+++ b/core/java/android/hardware/display/WifiDisplaySessionInfo.java
@@ -36,7 +36,7 @@
private final String mPassphrase;
private final String mIP;
- public static final Creator<WifiDisplaySessionInfo> CREATOR =
+ public static final @android.annotation.NonNull Creator<WifiDisplaySessionInfo> CREATOR =
new Creator<WifiDisplaySessionInfo>() {
@Override
public WifiDisplaySessionInfo createFromParcel(Parcel in) {
diff --git a/core/java/android/hardware/display/WifiDisplayStatus.java b/core/java/android/hardware/display/WifiDisplayStatus.java
index c267834..1973e51 100644
--- a/core/java/android/hardware/display/WifiDisplayStatus.java
+++ b/core/java/android/hardware/display/WifiDisplayStatus.java
@@ -69,7 +69,7 @@
@UnsupportedAppUsage
public static final int DISPLAY_STATE_CONNECTED = 2;
- public static final Creator<WifiDisplayStatus> CREATOR = new Creator<WifiDisplayStatus>() {
+ public static final @android.annotation.NonNull Creator<WifiDisplayStatus> CREATOR = new Creator<WifiDisplayStatus>() {
public WifiDisplayStatus createFromParcel(Parcel in) {
int featureState = in.readInt();
int scanState = in.readInt();
diff --git a/core/java/android/hardware/face/Face.java b/core/java/android/hardware/face/Face.java
index d6724d7..b90fafe 100644
--- a/core/java/android/hardware/face/Face.java
+++ b/core/java/android/hardware/face/Face.java
@@ -54,7 +54,7 @@
out.writeLong(getDeviceId());
}
- public static final Parcelable.Creator<Face> CREATOR = new Parcelable.Creator<Face>() {
+ public static final @android.annotation.NonNull Parcelable.Creator<Face> CREATOR = new Parcelable.Creator<Face>() {
public Face createFromParcel(Parcel in) {
return new Face(in);
}
diff --git a/core/java/android/hardware/fingerprint/Fingerprint.java b/core/java/android/hardware/fingerprint/Fingerprint.java
index bbd3d05..57e52d9 100644
--- a/core/java/android/hardware/fingerprint/Fingerprint.java
+++ b/core/java/android/hardware/fingerprint/Fingerprint.java
@@ -55,7 +55,7 @@
out.writeInt(mGroupId);
}
- public static final Parcelable.Creator<Fingerprint> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<Fingerprint> CREATOR
= new Parcelable.Creator<Fingerprint>() {
public Fingerprint createFromParcel(Parcel in) {
return new Fingerprint(in);
diff --git a/core/java/android/hardware/hdmi/HdmiDeviceInfo.java b/core/java/android/hardware/hdmi/HdmiDeviceInfo.java
index 48ea9a6..1362116 100644
--- a/core/java/android/hardware/hdmi/HdmiDeviceInfo.java
+++ b/core/java/android/hardware/hdmi/HdmiDeviceInfo.java
@@ -116,7 +116,7 @@
/**
* A helper class to deserialize {@link HdmiDeviceInfo} for a parcel.
*/
- public static final Parcelable.Creator<HdmiDeviceInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<HdmiDeviceInfo> CREATOR =
new Parcelable.Creator<HdmiDeviceInfo>() {
@Override
public HdmiDeviceInfo createFromParcel(Parcel source) {
diff --git a/core/java/android/hardware/hdmi/HdmiHotplugEvent.java b/core/java/android/hardware/hdmi/HdmiHotplugEvent.java
index 9476742..07cbdcc 100644
--- a/core/java/android/hardware/hdmi/HdmiHotplugEvent.java
+++ b/core/java/android/hardware/hdmi/HdmiHotplugEvent.java
@@ -83,7 +83,7 @@
dest.writeByte((byte) (mConnected ? 1 : 0));
}
- public static final Parcelable.Creator<HdmiHotplugEvent> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<HdmiHotplugEvent> CREATOR
= new Parcelable.Creator<HdmiHotplugEvent>() {
/**
* Rebuilds a {@link HdmiHotplugEvent} previously stored with
diff --git a/core/java/android/hardware/hdmi/HdmiPortInfo.java b/core/java/android/hardware/hdmi/HdmiPortInfo.java
index 1f0f45a..f17cfba 100644
--- a/core/java/android/hardware/hdmi/HdmiPortInfo.java
+++ b/core/java/android/hardware/hdmi/HdmiPortInfo.java
@@ -126,7 +126,7 @@
/**
* A helper class to deserialize {@link HdmiPortInfo} for a parcel.
*/
- public static final Parcelable.Creator<HdmiPortInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<HdmiPortInfo> CREATOR =
new Parcelable.Creator<HdmiPortInfo>() {
@Override
public HdmiPortInfo createFromParcel(Parcel source) {
diff --git a/core/java/android/hardware/input/InputDeviceIdentifier.java b/core/java/android/hardware/input/InputDeviceIdentifier.java
index 801da88..26f2393 100644
--- a/core/java/android/hardware/input/InputDeviceIdentifier.java
+++ b/core/java/android/hardware/input/InputDeviceIdentifier.java
@@ -83,7 +83,7 @@
return Objects.hash(mDescriptor, mVendorId, mProductId);
}
- public static final Parcelable.Creator<InputDeviceIdentifier> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<InputDeviceIdentifier> CREATOR =
new Parcelable.Creator<InputDeviceIdentifier>() {
@Override
diff --git a/core/java/android/hardware/input/KeyboardLayout.java b/core/java/android/hardware/input/KeyboardLayout.java
index d395578..5bdbae3 100644
--- a/core/java/android/hardware/input/KeyboardLayout.java
+++ b/core/java/android/hardware/input/KeyboardLayout.java
@@ -39,7 +39,7 @@
private final int mVendorId;
private final int mProductId;
- public static final Parcelable.Creator<KeyboardLayout> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<KeyboardLayout> CREATOR =
new Parcelable.Creator<KeyboardLayout>() {
public KeyboardLayout createFromParcel(Parcel source) {
return new KeyboardLayout(source);
diff --git a/core/java/android/hardware/input/TouchCalibration.java b/core/java/android/hardware/input/TouchCalibration.java
index 025fad0..7a6eba2 100644
--- a/core/java/android/hardware/input/TouchCalibration.java
+++ b/core/java/android/hardware/input/TouchCalibration.java
@@ -28,7 +28,7 @@
public static final TouchCalibration IDENTITY = new TouchCalibration();
- public static final Parcelable.Creator<TouchCalibration> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<TouchCalibration> CREATOR
= new Parcelable.Creator<TouchCalibration>() {
public TouchCalibration createFromParcel(Parcel in) {
return new TouchCalibration(in);
diff --git a/core/java/android/hardware/location/ActivityChangedEvent.java b/core/java/android/hardware/location/ActivityChangedEvent.java
index 16cfe6e..d538f57 100644
--- a/core/java/android/hardware/location/ActivityChangedEvent.java
+++ b/core/java/android/hardware/location/ActivityChangedEvent.java
@@ -46,7 +46,7 @@
return mActivityRecognitionEvents;
}
- public static final Creator<ActivityChangedEvent> CREATOR =
+ public static final @android.annotation.NonNull Creator<ActivityChangedEvent> CREATOR =
new Creator<ActivityChangedEvent>() {
@Override
public ActivityChangedEvent createFromParcel(Parcel source) {
diff --git a/core/java/android/hardware/location/ActivityRecognitionEvent.java b/core/java/android/hardware/location/ActivityRecognitionEvent.java
index 190030a..08ce86f 100644
--- a/core/java/android/hardware/location/ActivityRecognitionEvent.java
+++ b/core/java/android/hardware/location/ActivityRecognitionEvent.java
@@ -47,7 +47,7 @@
return mTimestampNs;
}
- public static final Creator<ActivityRecognitionEvent> CREATOR =
+ public static final @android.annotation.NonNull Creator<ActivityRecognitionEvent> CREATOR =
new Creator<ActivityRecognitionEvent>() {
@Override
public ActivityRecognitionEvent createFromParcel(Parcel source) {
diff --git a/core/java/android/hardware/location/ContextHubInfo.java b/core/java/android/hardware/location/ContextHubInfo.java
index 51daa92..b5da381 100644
--- a/core/java/android/hardware/location/ContextHubInfo.java
+++ b/core/java/android/hardware/location/ContextHubInfo.java
@@ -345,7 +345,7 @@
out.writeTypedArray(mMemoryRegions, flags);
}
- public static final Parcelable.Creator<ContextHubInfo> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<ContextHubInfo> CREATOR
= new Parcelable.Creator<ContextHubInfo>() {
public ContextHubInfo createFromParcel(Parcel in) {
return new ContextHubInfo(in);
diff --git a/core/java/android/hardware/location/ContextHubMessage.java b/core/java/android/hardware/location/ContextHubMessage.java
index e1c69d7..bf10048 100644
--- a/core/java/android/hardware/location/ContextHubMessage.java
+++ b/core/java/android/hardware/location/ContextHubMessage.java
@@ -125,7 +125,7 @@
out.writeByteArray(mData);
}
- public static final Parcelable.Creator<ContextHubMessage> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<ContextHubMessage> CREATOR
= new Parcelable.Creator<ContextHubMessage>() {
public ContextHubMessage createFromParcel(Parcel in) {
return new ContextHubMessage(in);
diff --git a/core/java/android/hardware/location/GeofenceHardwareMonitorEvent.java b/core/java/android/hardware/location/GeofenceHardwareMonitorEvent.java
index 7079237..fbbf687 100644
--- a/core/java/android/hardware/location/GeofenceHardwareMonitorEvent.java
+++ b/core/java/android/hardware/location/GeofenceHardwareMonitorEvent.java
@@ -72,7 +72,7 @@
return mLocation;
}
- public static final Creator<GeofenceHardwareMonitorEvent> CREATOR =
+ public static final @android.annotation.NonNull Creator<GeofenceHardwareMonitorEvent> CREATOR =
new Creator<GeofenceHardwareMonitorEvent>() {
@Override
public GeofenceHardwareMonitorEvent createFromParcel(Parcel source) {
diff --git a/core/java/android/hardware/location/GeofenceHardwareRequestParcelable.java b/core/java/android/hardware/location/GeofenceHardwareRequestParcelable.java
index d3311f5..df13ade 100644
--- a/core/java/android/hardware/location/GeofenceHardwareRequestParcelable.java
+++ b/core/java/android/hardware/location/GeofenceHardwareRequestParcelable.java
@@ -134,7 +134,7 @@
/**
* Method definitions to support Parcelable operations.
*/
- public static final Parcelable.Creator<GeofenceHardwareRequestParcelable> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<GeofenceHardwareRequestParcelable> CREATOR =
new Parcelable.Creator<GeofenceHardwareRequestParcelable>() {
@Override
public GeofenceHardwareRequestParcelable createFromParcel(Parcel parcel) {
diff --git a/core/java/android/hardware/location/MemoryRegion.java b/core/java/android/hardware/location/MemoryRegion.java
index 3d9e859..ecd369a 100644
--- a/core/java/android/hardware/location/MemoryRegion.java
+++ b/core/java/android/hardware/location/MemoryRegion.java
@@ -147,7 +147,7 @@
mIsExecutable = source.readInt() != 0;
}
- public static final Parcelable.Creator<MemoryRegion> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<MemoryRegion> CREATOR
= new Parcelable.Creator<MemoryRegion>() {
public MemoryRegion createFromParcel(Parcel in) {
return new MemoryRegion(in);
diff --git a/core/java/android/hardware/location/NanoApp.java b/core/java/android/hardware/location/NanoApp.java
index 62e7182..3fbb069 100644
--- a/core/java/android/hardware/location/NanoApp.java
+++ b/core/java/android/hardware/location/NanoApp.java
@@ -359,7 +359,7 @@
out.writeByteArray(mAppBinary);
}
- public static final Parcelable.Creator<NanoApp> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<NanoApp> CREATOR
= new Parcelable.Creator<NanoApp>() {
public NanoApp createFromParcel(Parcel in) {
return new NanoApp(in);
diff --git a/core/java/android/hardware/location/NanoAppBinary.java b/core/java/android/hardware/location/NanoAppBinary.java
index ba01ca2..b311a92 100644
--- a/core/java/android/hardware/location/NanoAppBinary.java
+++ b/core/java/android/hardware/location/NanoAppBinary.java
@@ -237,7 +237,7 @@
out.writeByteArray(mNanoAppBinary);
}
- public static final Creator<NanoAppBinary> CREATOR =
+ public static final @android.annotation.NonNull Creator<NanoAppBinary> CREATOR =
new Creator<NanoAppBinary>() {
@Override
public NanoAppBinary createFromParcel(Parcel in) {
diff --git a/core/java/android/hardware/location/NanoAppFilter.java b/core/java/android/hardware/location/NanoAppFilter.java
index 562065e..0700dd1 100644
--- a/core/java/android/hardware/location/NanoAppFilter.java
+++ b/core/java/android/hardware/location/NanoAppFilter.java
@@ -139,7 +139,7 @@
+ ", vendorMask: " + mAppIdVendorMask;
}
- public static final Parcelable.Creator<NanoAppFilter> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<NanoAppFilter> CREATOR
= new Parcelable.Creator<NanoAppFilter>() {
public NanoAppFilter createFromParcel(Parcel in) {
return new NanoAppFilter(in);
diff --git a/core/java/android/hardware/location/NanoAppInstanceInfo.java b/core/java/android/hardware/location/NanoAppInstanceInfo.java
index 2db6a79..a6c754d 100644
--- a/core/java/android/hardware/location/NanoAppInstanceInfo.java
+++ b/core/java/android/hardware/location/NanoAppInstanceInfo.java
@@ -208,7 +208,7 @@
out.writeIntArray(mOutputEvents);
}
- public static final Parcelable.Creator<NanoAppInstanceInfo> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<NanoAppInstanceInfo> CREATOR
= new Parcelable.Creator<NanoAppInstanceInfo>() {
public NanoAppInstanceInfo createFromParcel(Parcel in) {
return new NanoAppInstanceInfo(in);
diff --git a/core/java/android/hardware/location/NanoAppMessage.java b/core/java/android/hardware/location/NanoAppMessage.java
index 9f90d59..d5e3529 100644
--- a/core/java/android/hardware/location/NanoAppMessage.java
+++ b/core/java/android/hardware/location/NanoAppMessage.java
@@ -134,7 +134,7 @@
out.writeByteArray(mMessageBody);
}
- public static final Creator<NanoAppMessage> CREATOR =
+ public static final @android.annotation.NonNull Creator<NanoAppMessage> CREATOR =
new Creator<NanoAppMessage>() {
@Override
public NanoAppMessage createFromParcel(Parcel in) {
diff --git a/core/java/android/hardware/location/NanoAppState.java b/core/java/android/hardware/location/NanoAppState.java
index d05277d..8de7ecd 100644
--- a/core/java/android/hardware/location/NanoAppState.java
+++ b/core/java/android/hardware/location/NanoAppState.java
@@ -75,7 +75,7 @@
out.writeInt(mIsEnabled ? 1 : 0);
}
- public static final Creator<NanoAppState> CREATOR =
+ public static final @android.annotation.NonNull Creator<NanoAppState> CREATOR =
new Creator<NanoAppState>() {
@Override
public NanoAppState createFromParcel(Parcel in) {
diff --git a/core/java/android/hardware/radio/Announcement.java b/core/java/android/hardware/radio/Announcement.java
index 166fe60..8febed3 100644
--- a/core/java/android/hardware/radio/Announcement.java
+++ b/core/java/android/hardware/radio/Announcement.java
@@ -108,7 +108,7 @@
return 0;
}
- public static final Parcelable.Creator<Announcement> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<Announcement> CREATOR =
new Parcelable.Creator<Announcement>() {
public Announcement createFromParcel(Parcel in) {
return new Announcement(in);
diff --git a/core/java/android/hardware/radio/ProgramList.java b/core/java/android/hardware/radio/ProgramList.java
index e6f523c..69f9273 100644
--- a/core/java/android/hardware/radio/ProgramList.java
+++ b/core/java/android/hardware/radio/ProgramList.java
@@ -304,7 +304,7 @@
return 0;
}
- public static final Parcelable.Creator<Filter> CREATOR = new Parcelable.Creator<Filter>() {
+ public static final @android.annotation.NonNull Parcelable.Creator<Filter> CREATOR = new Parcelable.Creator<Filter>() {
public Filter createFromParcel(Parcel in) {
return new Filter(in);
}
@@ -409,7 +409,7 @@
return 0;
}
- public static final Parcelable.Creator<Chunk> CREATOR = new Parcelable.Creator<Chunk>() {
+ public static final @android.annotation.NonNull Parcelable.Creator<Chunk> CREATOR = new Parcelable.Creator<Chunk>() {
public Chunk createFromParcel(Parcel in) {
return new Chunk(in);
}
diff --git a/core/java/android/hardware/radio/ProgramSelector.java b/core/java/android/hardware/radio/ProgramSelector.java
index 90d407c..277a186 100644
--- a/core/java/android/hardware/radio/ProgramSelector.java
+++ b/core/java/android/hardware/radio/ProgramSelector.java
@@ -534,7 +534,7 @@
return 0;
}
- public static final Parcelable.Creator<ProgramSelector> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ProgramSelector> CREATOR =
new Parcelable.Creator<ProgramSelector>() {
public ProgramSelector createFromParcel(Parcel in) {
return new ProgramSelector(in);
@@ -632,7 +632,7 @@
return 0;
}
- public static final Parcelable.Creator<Identifier> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<Identifier> CREATOR =
new Parcelable.Creator<Identifier>() {
public Identifier createFromParcel(Parcel in) {
return new Identifier(in);
diff --git a/core/java/android/hardware/radio/RadioManager.java b/core/java/android/hardware/radio/RadioManager.java
index 8263bb8..92653d18 100644
--- a/core/java/android/hardware/radio/RadioManager.java
+++ b/core/java/android/hardware/radio/RadioManager.java
@@ -448,7 +448,7 @@
mVendorInfo = Utils.readStringMap(in);
}
- public static final Parcelable.Creator<ModuleProperties> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<ModuleProperties> CREATOR
= new Parcelable.Creator<ModuleProperties>() {
public ModuleProperties createFromParcel(Parcel in) {
return new ModuleProperties(in);
@@ -625,7 +625,7 @@
return type;
}
- public static final Parcelable.Creator<BandDescriptor> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<BandDescriptor> CREATOR
= new Parcelable.Creator<BandDescriptor>() {
public BandDescriptor createFromParcel(Parcel in) {
int type = lookupTypeFromParcel(in);
@@ -762,7 +762,7 @@
mEa = in.readByte() == 1;
}
- public static final Parcelable.Creator<FmBandDescriptor> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<FmBandDescriptor> CREATOR
= new Parcelable.Creator<FmBandDescriptor>() {
public FmBandDescriptor createFromParcel(Parcel in) {
return new FmBandDescriptor(in);
@@ -855,7 +855,7 @@
mStereo = in.readByte() == 1;
}
- public static final Parcelable.Creator<AmBandDescriptor> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<AmBandDescriptor> CREATOR
= new Parcelable.Creator<AmBandDescriptor>() {
public AmBandDescriptor createFromParcel(Parcel in) {
return new AmBandDescriptor(in);
@@ -966,7 +966,7 @@
}
- public static final Parcelable.Creator<BandConfig> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<BandConfig> CREATOR
= new Parcelable.Creator<BandConfig>() {
public BandConfig createFromParcel(Parcel in) {
int type = BandDescriptor.lookupTypeFromParcel(in);
@@ -1099,7 +1099,7 @@
mEa = in.readByte() == 1;
}
- public static final Parcelable.Creator<FmBandConfig> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<FmBandConfig> CREATOR
= new Parcelable.Creator<FmBandConfig>() {
public FmBandConfig createFromParcel(Parcel in) {
return new FmBandConfig(in);
@@ -1295,7 +1295,7 @@
mStereo = in.readByte() == 1;
}
- public static final Parcelable.Creator<AmBandConfig> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<AmBandConfig> CREATOR
= new Parcelable.Creator<AmBandConfig>() {
public AmBandConfig createFromParcel(Parcel in) {
return new AmBandConfig(in);
@@ -1628,7 +1628,7 @@
mVendorInfo = Utils.readStringMap(in);
}
- public static final Parcelable.Creator<ProgramInfo> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<ProgramInfo> CREATOR
= new Parcelable.Creator<ProgramInfo>() {
public ProgramInfo createFromParcel(Parcel in) {
return new ProgramInfo(in);
diff --git a/core/java/android/hardware/radio/RadioMetadata.java b/core/java/android/hardware/radio/RadioMetadata.java
index baa7a50..1cbb171 100644
--- a/core/java/android/hardware/radio/RadioMetadata.java
+++ b/core/java/android/hardware/radio/RadioMetadata.java
@@ -225,7 +225,7 @@
out.writeInt(mTimezoneOffsetMinutes);
}
- public static final Parcelable.Creator<Clock> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<Clock> CREATOR
= new Parcelable.Creator<Clock>() {
public Clock createFromParcel(Parcel in) {
return new Clock(in);
@@ -426,7 +426,7 @@
return NATIVE_KEY_MAPPING.get(nativeKey, null);
}
- public static final Parcelable.Creator<RadioMetadata> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<RadioMetadata> CREATOR =
new Parcelable.Creator<RadioMetadata>() {
@Override
public RadioMetadata createFromParcel(Parcel in) {
diff --git a/core/java/android/hardware/soundtrigger/SoundTrigger.java b/core/java/android/hardware/soundtrigger/SoundTrigger.java
index dc4f0b7..cf3395a 100644
--- a/core/java/android/hardware/soundtrigger/SoundTrigger.java
+++ b/core/java/android/hardware/soundtrigger/SoundTrigger.java
@@ -140,7 +140,7 @@
this.returnsTriggerInEvent = returnsTriggerInEvent;
}
- public static final Parcelable.Creator<ModuleProperties> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<ModuleProperties> CREATOR
= new Parcelable.Creator<ModuleProperties>() {
public ModuleProperties createFromParcel(Parcel in) {
return ModuleProperties.fromParcel(in);
@@ -326,7 +326,7 @@
this.users = users;
}
- public static final Parcelable.Creator<Keyphrase> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<Keyphrase> CREATOR
= new Parcelable.Creator<Keyphrase>() {
public Keyphrase createFromParcel(Parcel in) {
return Keyphrase.fromParcel(in);
@@ -436,7 +436,7 @@
this.keyphrases = keyphrases;
}
- public static final Parcelable.Creator<KeyphraseSoundModel> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<KeyphraseSoundModel> CREATOR
= new Parcelable.Creator<KeyphraseSoundModel>() {
public KeyphraseSoundModel createFromParcel(Parcel in) {
return KeyphraseSoundModel.fromParcel(in);
@@ -516,7 +516,7 @@
****************************************************************************/
public static class GenericSoundModel extends SoundModel implements Parcelable {
- public static final Parcelable.Creator<GenericSoundModel> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<GenericSoundModel> CREATOR
= new Parcelable.Creator<GenericSoundModel>() {
public GenericSoundModel createFromParcel(Parcel in) {
return GenericSoundModel.fromParcel(in);
@@ -746,7 +746,7 @@
}
/** @hide */
- public static final Parcelable.Creator<RecognitionEvent> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<RecognitionEvent> CREATOR
= new Parcelable.Creator<RecognitionEvent>() {
public RecognitionEvent createFromParcel(Parcel in) {
return RecognitionEvent.fromParcel(in);
@@ -920,7 +920,7 @@
this.data = data;
}
- public static final Parcelable.Creator<RecognitionConfig> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<RecognitionConfig> CREATOR
= new Parcelable.Creator<RecognitionConfig>() {
public RecognitionConfig createFromParcel(Parcel in) {
return RecognitionConfig.fromParcel(in);
@@ -983,7 +983,7 @@
this.confidenceLevel = confidenceLevel;
}
- public static final Parcelable.Creator<ConfidenceLevel> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<ConfidenceLevel> CREATOR
= new Parcelable.Creator<ConfidenceLevel>() {
public ConfidenceLevel createFromParcel(Parcel in) {
return ConfidenceLevel.fromParcel(in);
@@ -1077,7 +1077,7 @@
this.confidenceLevels = confidenceLevels;
}
- public static final Parcelable.Creator<KeyphraseRecognitionExtra> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<KeyphraseRecognitionExtra> CREATOR
= new Parcelable.Creator<KeyphraseRecognitionExtra>() {
public KeyphraseRecognitionExtra createFromParcel(Parcel in) {
return KeyphraseRecognitionExtra.fromParcel(in);
@@ -1169,7 +1169,7 @@
this.keyphraseExtras = keyphraseExtras;
}
- public static final Parcelable.Creator<KeyphraseRecognitionEvent> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<KeyphraseRecognitionEvent> CREATOR
= new Parcelable.Creator<KeyphraseRecognitionEvent>() {
public KeyphraseRecognitionEvent createFromParcel(Parcel in) {
return KeyphraseRecognitionEvent.fromParcelForKeyphrase(in);
@@ -1290,7 +1290,7 @@
data);
}
- public static final Parcelable.Creator<GenericRecognitionEvent> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<GenericRecognitionEvent> CREATOR
= new Parcelable.Creator<GenericRecognitionEvent>() {
public GenericRecognitionEvent createFromParcel(Parcel in) {
return GenericRecognitionEvent.fromParcelForGeneric(in);
@@ -1357,7 +1357,7 @@
this.data = data;
}
- public static final Parcelable.Creator<SoundModelEvent> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<SoundModelEvent> CREATOR
= new Parcelable.Creator<SoundModelEvent>() {
public SoundModelEvent createFromParcel(Parcel in) {
return SoundModelEvent.fromParcel(in);
diff --git a/core/java/android/hardware/usb/ParcelableUsbPort.java b/core/java/android/hardware/usb/ParcelableUsbPort.java
index 30388af..19655ed 100644
--- a/core/java/android/hardware/usb/ParcelableUsbPort.java
+++ b/core/java/android/hardware/usb/ParcelableUsbPort.java
@@ -89,7 +89,7 @@
dest.writeBoolean(mSupportsEnableContaminantPresenceDetection);
}
- public static final Creator<ParcelableUsbPort> CREATOR =
+ public static final @android.annotation.NonNull Creator<ParcelableUsbPort> CREATOR =
new Creator<ParcelableUsbPort>() {
@Override
public ParcelableUsbPort createFromParcel(Parcel in) {
diff --git a/core/java/android/hardware/usb/UsbAccessory.java b/core/java/android/hardware/usb/UsbAccessory.java
index b418d43..a76e4ad 100644
--- a/core/java/android/hardware/usb/UsbAccessory.java
+++ b/core/java/android/hardware/usb/UsbAccessory.java
@@ -215,7 +215,7 @@
", mSerialNumberReader=" + mSerialNumberReader + "]";
}
- public static final Parcelable.Creator<UsbAccessory> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<UsbAccessory> CREATOR =
new Parcelable.Creator<UsbAccessory>() {
public UsbAccessory createFromParcel(Parcel in) {
String manufacturer = in.readString();
diff --git a/core/java/android/hardware/usb/UsbConfiguration.java b/core/java/android/hardware/usb/UsbConfiguration.java
index 6ce4201..66269cb 100644
--- a/core/java/android/hardware/usb/UsbConfiguration.java
+++ b/core/java/android/hardware/usb/UsbConfiguration.java
@@ -165,7 +165,7 @@
return builder.toString();
}
- public static final Parcelable.Creator<UsbConfiguration> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<UsbConfiguration> CREATOR =
new Parcelable.Creator<UsbConfiguration>() {
public UsbConfiguration createFromParcel(Parcel in) {
int id = in.readInt();
diff --git a/core/java/android/hardware/usb/UsbDevice.java b/core/java/android/hardware/usb/UsbDevice.java
index b08212c..08c9eea 100644
--- a/core/java/android/hardware/usb/UsbDevice.java
+++ b/core/java/android/hardware/usb/UsbDevice.java
@@ -300,7 +300,7 @@
return builder.toString();
}
- public static final Parcelable.Creator<UsbDevice> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<UsbDevice> CREATOR =
new Parcelable.Creator<UsbDevice>() {
public UsbDevice createFromParcel(Parcel in) {
String name = in.readString();
diff --git a/core/java/android/hardware/usb/UsbEndpoint.java b/core/java/android/hardware/usb/UsbEndpoint.java
index c346700..82117e7 100644
--- a/core/java/android/hardware/usb/UsbEndpoint.java
+++ b/core/java/android/hardware/usb/UsbEndpoint.java
@@ -133,7 +133,7 @@
",mMaxPacketSize=" + mMaxPacketSize + ",mInterval=" + mInterval +"]";
}
- public static final Parcelable.Creator<UsbEndpoint> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<UsbEndpoint> CREATOR =
new Parcelable.Creator<UsbEndpoint>() {
public UsbEndpoint createFromParcel(Parcel in) {
int address = in.readInt();
diff --git a/core/java/android/hardware/usb/UsbInterface.java b/core/java/android/hardware/usb/UsbInterface.java
index 4b5278c..5cb55a2 100644
--- a/core/java/android/hardware/usb/UsbInterface.java
+++ b/core/java/android/hardware/usb/UsbInterface.java
@@ -162,7 +162,7 @@
return builder.toString();
}
- public static final Parcelable.Creator<UsbInterface> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<UsbInterface> CREATOR =
new Parcelable.Creator<UsbInterface>() {
public UsbInterface createFromParcel(Parcel in) {
int id = in.readInt();
diff --git a/core/java/android/hardware/usb/UsbPortStatus.java b/core/java/android/hardware/usb/UsbPortStatus.java
index 426dba8..5e9a410 100644
--- a/core/java/android/hardware/usb/UsbPortStatus.java
+++ b/core/java/android/hardware/usb/UsbPortStatus.java
@@ -352,7 +352,7 @@
dest.writeInt(mContaminantDetectionStatus);
}
- public static final Parcelable.Creator<UsbPortStatus> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<UsbPortStatus> CREATOR =
new Parcelable.Creator<UsbPortStatus>() {
@Override
public UsbPortStatus createFromParcel(Parcel in) {
diff --git a/core/java/android/net/CaptivePortal.java b/core/java/android/net/CaptivePortal.java
index 3ab35e1..f208724 100644
--- a/core/java/android/net/CaptivePortal.java
+++ b/core/java/android/net/CaptivePortal.java
@@ -61,7 +61,7 @@
out.writeStrongBinder(mBinder);
}
- public static final Parcelable.Creator<CaptivePortal> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<CaptivePortal> CREATOR
= new Parcelable.Creator<CaptivePortal>() {
@Override
public CaptivePortal createFromParcel(Parcel in) {
diff --git a/core/java/android/net/ConnectionInfo.java b/core/java/android/net/ConnectionInfo.java
index 58d0e05..4514a84 100644
--- a/core/java/android/net/ConnectionInfo.java
+++ b/core/java/android/net/ConnectionInfo.java
@@ -54,7 +54,7 @@
out.writeInt(remote.getPort());
}
- public static final Creator<ConnectionInfo> CREATOR = new Creator<ConnectionInfo>() {
+ public static final @android.annotation.NonNull Creator<ConnectionInfo> CREATOR = new Creator<ConnectionInfo>() {
public ConnectionInfo createFromParcel(Parcel in) {
int protocol = in.readInt();
InetAddress localAddress;
diff --git a/core/java/android/net/ConnectivityMetricsEvent.java b/core/java/android/net/ConnectivityMetricsEvent.java
index 394ac42..522add1 100644
--- a/core/java/android/net/ConnectivityMetricsEvent.java
+++ b/core/java/android/net/ConnectivityMetricsEvent.java
@@ -51,7 +51,7 @@
}
/** Implement the Parcelable interface */
- public static final Parcelable.Creator<ConnectivityMetricsEvent> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<ConnectivityMetricsEvent> CREATOR
= new Parcelable.Creator<ConnectivityMetricsEvent> (){
public ConnectivityMetricsEvent createFromParcel(Parcel source) {
return new ConnectivityMetricsEvent(source);
diff --git a/core/java/android/net/DataUsageRequest.java b/core/java/android/net/DataUsageRequest.java
index ac9a5a3..0ac8f7e7 100644
--- a/core/java/android/net/DataUsageRequest.java
+++ b/core/java/android/net/DataUsageRequest.java
@@ -69,7 +69,7 @@
dest.writeLong(thresholdInBytes);
}
- public static final Creator<DataUsageRequest> CREATOR =
+ public static final @android.annotation.NonNull Creator<DataUsageRequest> CREATOR =
new Creator<DataUsageRequest>() {
@Override
public DataUsageRequest createFromParcel(Parcel in) {
diff --git a/core/java/android/net/DhcpInfo.java b/core/java/android/net/DhcpInfo.java
index 788d7d9..98bab44 100644
--- a/core/java/android/net/DhcpInfo.java
+++ b/core/java/android/net/DhcpInfo.java
@@ -84,7 +84,7 @@
}
/** Implement the Parcelable interface {@hide} */
- public static final Creator<DhcpInfo> CREATOR =
+ public static final @android.annotation.NonNull Creator<DhcpInfo> CREATOR =
new Creator<DhcpInfo>() {
public DhcpInfo createFromParcel(Parcel in) {
DhcpInfo info = new DhcpInfo();
diff --git a/core/java/android/net/DhcpResults.java b/core/java/android/net/DhcpResults.java
index 6f9e65f..1a3a6f8 100644
--- a/core/java/android/net/DhcpResults.java
+++ b/core/java/android/net/DhcpResults.java
@@ -164,7 +164,7 @@
/**
* Implement the Parcelable interface
*/
- public static final Creator<DhcpResults> CREATOR =
+ public static final @android.annotation.NonNull Creator<DhcpResults> CREATOR =
new Creator<DhcpResults>() {
public DhcpResults createFromParcel(Parcel in) {
return readFromParcel(in);
diff --git a/core/java/android/net/IConnectivityManager.aidl b/core/java/android/net/IConnectivityManager.aidl
index bd2b4eb..6728712 100644
--- a/core/java/android/net/IConnectivityManager.aidl
+++ b/core/java/android/net/IConnectivityManager.aidl
@@ -133,8 +133,6 @@
LegacyVpnInfo getLegacyVpnInfo(int userId);
- VpnInfo[] getAllVpnInfo();
-
boolean updateLockdownVpn();
boolean isAlwaysOnVpnPackageSupported(int userId, String packageName);
boolean setAlwaysOnVpnPackage(int userId, String packageName, boolean lockdown,
diff --git a/core/java/android/net/INetworkStatsService.aidl b/core/java/android/net/INetworkStatsService.aidl
index 92b685c..41efc50 100644
--- a/core/java/android/net/INetworkStatsService.aidl
+++ b/core/java/android/net/INetworkStatsService.aidl
@@ -19,11 +19,13 @@
import android.net.DataUsageRequest;
import android.net.INetworkStatsSession;
import android.net.Network;
+import android.net.NetworkState;
import android.net.NetworkStats;
import android.net.NetworkStatsHistory;
import android.net.NetworkTemplate;
import android.os.IBinder;
import android.os.Messenger;
+import com.android.internal.net.VpnInfo;
/** {@hide} */
interface INetworkStatsService {
@@ -62,7 +64,11 @@
void incrementOperationCount(int uid, int tag, int operationCount);
/** Force update of ifaces. */
- void forceUpdateIfaces(in Network[] defaultNetworks);
+ void forceUpdateIfaces(
+ in Network[] defaultNetworks,
+ in VpnInfo[] vpnArray,
+ in NetworkState[] networkStates,
+ in String activeIface);
/** Force update of statistics. */
@UnsupportedAppUsage
void forceUpdate();
diff --git a/core/java/android/net/InterfaceConfiguration.java b/core/java/android/net/InterfaceConfiguration.java
index b9d49c1..c638491 100644
--- a/core/java/android/net/InterfaceConfiguration.java
+++ b/core/java/android/net/InterfaceConfiguration.java
@@ -194,7 +194,7 @@
}
}
- public static final Creator<InterfaceConfiguration> CREATOR = new Creator<
+ public static final @android.annotation.NonNull Creator<InterfaceConfiguration> CREATOR = new Creator<
InterfaceConfiguration>() {
public InterfaceConfiguration createFromParcel(Parcel in) {
InterfaceConfiguration info = new InterfaceConfiguration();
diff --git a/core/java/android/net/IpConfiguration.java b/core/java/android/net/IpConfiguration.java
index 3319f33..2af82d7 100644
--- a/core/java/android/net/IpConfiguration.java
+++ b/core/java/android/net/IpConfiguration.java
@@ -189,7 +189,7 @@
}
/** Implement the Parcelable interface */
- public static final Creator<IpConfiguration> CREATOR =
+ public static final @android.annotation.NonNull Creator<IpConfiguration> CREATOR =
new Creator<IpConfiguration>() {
public IpConfiguration createFromParcel(Parcel in) {
IpConfiguration config = new IpConfiguration();
diff --git a/core/java/android/net/IpPrefix.java b/core/java/android/net/IpPrefix.java
index 175263f..21bbd30 100644
--- a/core/java/android/net/IpPrefix.java
+++ b/core/java/android/net/IpPrefix.java
@@ -285,7 +285,7 @@
/**
* Implement the Parcelable interface.
*/
- public static final Creator<IpPrefix> CREATOR =
+ public static final @android.annotation.NonNull Creator<IpPrefix> CREATOR =
new Creator<IpPrefix>() {
public IpPrefix createFromParcel(Parcel in) {
byte[] address = in.createByteArray();
diff --git a/core/java/android/net/IpSecAlgorithm.java b/core/java/android/net/IpSecAlgorithm.java
index 8034bb6..38d9883 100644
--- a/core/java/android/net/IpSecAlgorithm.java
+++ b/core/java/android/net/IpSecAlgorithm.java
@@ -191,7 +191,7 @@
}
/** Parcelable Creator */
- public static final Parcelable.Creator<IpSecAlgorithm> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<IpSecAlgorithm> CREATOR =
new Parcelable.Creator<IpSecAlgorithm>() {
public IpSecAlgorithm createFromParcel(Parcel in) {
final String name = in.readString();
diff --git a/core/java/android/net/IpSecConfig.java b/core/java/android/net/IpSecConfig.java
index 3552655..a64014f 100644
--- a/core/java/android/net/IpSecConfig.java
+++ b/core/java/android/net/IpSecConfig.java
@@ -322,7 +322,7 @@
return strBuilder.toString();
}
- public static final Parcelable.Creator<IpSecConfig> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<IpSecConfig> CREATOR =
new Parcelable.Creator<IpSecConfig>() {
public IpSecConfig createFromParcel(Parcel in) {
return new IpSecConfig(in);
diff --git a/core/java/android/net/IpSecSpiResponse.java b/core/java/android/net/IpSecSpiResponse.java
index 71dfa03..f99e570 100644
--- a/core/java/android/net/IpSecSpiResponse.java
+++ b/core/java/android/net/IpSecSpiResponse.java
@@ -65,7 +65,7 @@
spi = in.readInt();
}
- public static final Parcelable.Creator<IpSecSpiResponse> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<IpSecSpiResponse> CREATOR =
new Parcelable.Creator<IpSecSpiResponse>() {
public IpSecSpiResponse createFromParcel(Parcel in) {
return new IpSecSpiResponse(in);
diff --git a/core/java/android/net/IpSecTransformResponse.java b/core/java/android/net/IpSecTransformResponse.java
index cfc1762..a384889 100644
--- a/core/java/android/net/IpSecTransformResponse.java
+++ b/core/java/android/net/IpSecTransformResponse.java
@@ -60,7 +60,7 @@
resourceId = in.readInt();
}
- public static final Parcelable.Creator<IpSecTransformResponse> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<IpSecTransformResponse> CREATOR =
new Parcelable.Creator<IpSecTransformResponse>() {
public IpSecTransformResponse createFromParcel(Parcel in) {
return new IpSecTransformResponse(in);
diff --git a/core/java/android/net/IpSecTunnelInterfaceResponse.java b/core/java/android/net/IpSecTunnelInterfaceResponse.java
index c23d831..e3411e0 100644
--- a/core/java/android/net/IpSecTunnelInterfaceResponse.java
+++ b/core/java/android/net/IpSecTunnelInterfaceResponse.java
@@ -65,7 +65,7 @@
interfaceName = in.readString();
}
- public static final Parcelable.Creator<IpSecTunnelInterfaceResponse> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<IpSecTunnelInterfaceResponse> CREATOR =
new Parcelable.Creator<IpSecTunnelInterfaceResponse>() {
public IpSecTunnelInterfaceResponse createFromParcel(Parcel in) {
return new IpSecTunnelInterfaceResponse(in);
diff --git a/core/java/android/net/IpSecUdpEncapResponse.java b/core/java/android/net/IpSecUdpEncapResponse.java
index 4679267..4e7ba9b 100644
--- a/core/java/android/net/IpSecUdpEncapResponse.java
+++ b/core/java/android/net/IpSecUdpEncapResponse.java
@@ -83,7 +83,7 @@
fileDescriptor = in.readParcelable(ParcelFileDescriptor.class.getClassLoader());
}
- public static final Parcelable.Creator<IpSecUdpEncapResponse> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<IpSecUdpEncapResponse> CREATOR =
new Parcelable.Creator<IpSecUdpEncapResponse>() {
public IpSecUdpEncapResponse createFromParcel(Parcel in) {
return new IpSecUdpEncapResponse(in);
diff --git a/core/java/android/net/KeepalivePacketData.java b/core/java/android/net/KeepalivePacketData.java
index 18726f7..9b8b732 100644
--- a/core/java/android/net/KeepalivePacketData.java
+++ b/core/java/android/net/KeepalivePacketData.java
@@ -105,7 +105,7 @@
}
/** Parcelable Creator */
- public static final Parcelable.Creator<KeepalivePacketData> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<KeepalivePacketData> CREATOR =
new Parcelable.Creator<KeepalivePacketData>() {
public KeepalivePacketData createFromParcel(Parcel in) {
return new KeepalivePacketData(in);
diff --git a/core/java/android/net/LinkAddress.java b/core/java/android/net/LinkAddress.java
index 8d779aa..dcf64d5 100644
--- a/core/java/android/net/LinkAddress.java
+++ b/core/java/android/net/LinkAddress.java
@@ -356,7 +356,7 @@
/**
* Implement the Parcelable interface.
*/
- public static final Creator<LinkAddress> CREATOR =
+ public static final @android.annotation.NonNull Creator<LinkAddress> CREATOR =
new Creator<LinkAddress>() {
public LinkAddress createFromParcel(Parcel in) {
InetAddress address = null;
diff --git a/core/java/android/net/LinkProperties.java b/core/java/android/net/LinkProperties.java
index 42db0fd..b52b15e 100644
--- a/core/java/android/net/LinkProperties.java
+++ b/core/java/android/net/LinkProperties.java
@@ -1574,7 +1574,7 @@
/**
* Implement the Parcelable interface.
*/
- public static final Creator<LinkProperties> CREATOR =
+ public static final @android.annotation.NonNull Creator<LinkProperties> CREATOR =
new Creator<LinkProperties>() {
public LinkProperties createFromParcel(Parcel in) {
LinkProperties netProp = new LinkProperties();
diff --git a/core/java/android/net/LinkQualityInfo.java b/core/java/android/net/LinkQualityInfo.java
index b6f8825..3c5d474 100644
--- a/core/java/android/net/LinkQualityInfo.java
+++ b/core/java/android/net/LinkQualityInfo.java
@@ -111,7 +111,7 @@
/**
* @hide
*/
- public static final Creator<LinkQualityInfo> CREATOR =
+ public static final @android.annotation.NonNull Creator<LinkQualityInfo> CREATOR =
new Creator<LinkQualityInfo>() {
public LinkQualityInfo createFromParcel(Parcel in) {
int objectType = in.readInt();
diff --git a/core/java/android/net/MacAddress.java b/core/java/android/net/MacAddress.java
index 77d83f5..aa8e010 100644
--- a/core/java/android/net/MacAddress.java
+++ b/core/java/android/net/MacAddress.java
@@ -167,7 +167,7 @@
return 0;
}
- public static final Parcelable.Creator<MacAddress> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<MacAddress> CREATOR =
new Parcelable.Creator<MacAddress>() {
public MacAddress createFromParcel(Parcel in) {
return new MacAddress(in.readLong());
diff --git a/core/java/android/net/MatchAllNetworkSpecifier.java b/core/java/android/net/MatchAllNetworkSpecifier.java
index 7aafc93..ab4f627 100644
--- a/core/java/android/net/MatchAllNetworkSpecifier.java
+++ b/core/java/android/net/MatchAllNetworkSpecifier.java
@@ -68,7 +68,7 @@
// Nothing to write.
}
- public static final Parcelable.Creator<MatchAllNetworkSpecifier> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<MatchAllNetworkSpecifier> CREATOR =
new Parcelable.Creator<MatchAllNetworkSpecifier>() {
public MatchAllNetworkSpecifier createFromParcel(Parcel in) {
return new MatchAllNetworkSpecifier();
diff --git a/core/java/android/net/Network.java b/core/java/android/net/Network.java
index e04b5fc..0fafdf7 100644
--- a/core/java/android/net/Network.java
+++ b/core/java/android/net/Network.java
@@ -470,7 +470,7 @@
dest.writeInt(netId);
}
- public static final Creator<Network> CREATOR =
+ public static final @android.annotation.NonNull Creator<Network> CREATOR =
new Creator<Network>() {
public Network createFromParcel(Parcel in) {
int netId = in.readInt();
diff --git a/core/java/android/net/NetworkCapabilities.java b/core/java/android/net/NetworkCapabilities.java
index 1d2d81d..a17ebcb 100644
--- a/core/java/android/net/NetworkCapabilities.java
+++ b/core/java/android/net/NetworkCapabilities.java
@@ -1442,7 +1442,7 @@
dest.writeString(mSSID);
}
- public static final Creator<NetworkCapabilities> CREATOR =
+ public static final @android.annotation.NonNull Creator<NetworkCapabilities> CREATOR =
new Creator<NetworkCapabilities>() {
@Override
public NetworkCapabilities createFromParcel(Parcel in) {
diff --git a/core/java/android/net/NetworkInfo.java b/core/java/android/net/NetworkInfo.java
index 89d9961..cd83531 100644
--- a/core/java/android/net/NetworkInfo.java
+++ b/core/java/android/net/NetworkInfo.java
@@ -557,7 +557,7 @@
}
}
- public static final Creator<NetworkInfo> CREATOR = new Creator<NetworkInfo>() {
+ public static final @android.annotation.NonNull Creator<NetworkInfo> CREATOR = new Creator<NetworkInfo>() {
@Override
public NetworkInfo createFromParcel(Parcel in) {
int netType = in.readInt();
diff --git a/core/java/android/net/NetworkKey.java b/core/java/android/net/NetworkKey.java
index 31a74dc..0a9a3c8 100644
--- a/core/java/android/net/NetworkKey.java
+++ b/core/java/android/net/NetworkKey.java
@@ -178,7 +178,7 @@
}
}
- public static final Parcelable.Creator<NetworkKey> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<NetworkKey> CREATOR =
new Parcelable.Creator<NetworkKey>() {
@Override
public NetworkKey createFromParcel(Parcel in) {
diff --git a/core/java/android/net/NetworkMisc.java b/core/java/android/net/NetworkMisc.java
index c0487b5..ed0b61e 100644
--- a/core/java/android/net/NetworkMisc.java
+++ b/core/java/android/net/NetworkMisc.java
@@ -100,7 +100,7 @@
out.writeInt(skip464xlat ? 1 : 0);
}
- public static final Creator<NetworkMisc> CREATOR = new Creator<NetworkMisc>() {
+ public static final @android.annotation.NonNull Creator<NetworkMisc> CREATOR = new Creator<NetworkMisc>() {
@Override
public NetworkMisc createFromParcel(Parcel in) {
NetworkMisc networkMisc = new NetworkMisc();
diff --git a/core/java/android/net/NetworkPolicy.java b/core/java/android/net/NetworkPolicy.java
index f8973eb..33baebb 100644
--- a/core/java/android/net/NetworkPolicy.java
+++ b/core/java/android/net/NetworkPolicy.java
@@ -237,7 +237,7 @@
}
@UnsupportedAppUsage
- public static final Creator<NetworkPolicy> CREATOR = new Creator<NetworkPolicy>() {
+ public static final @android.annotation.NonNull Creator<NetworkPolicy> CREATOR = new Creator<NetworkPolicy>() {
@Override
public NetworkPolicy createFromParcel(Parcel in) {
return new NetworkPolicy(in);
diff --git a/core/java/android/net/NetworkQuotaInfo.java b/core/java/android/net/NetworkQuotaInfo.java
index e7182f7..a46cdde 100644
--- a/core/java/android/net/NetworkQuotaInfo.java
+++ b/core/java/android/net/NetworkQuotaInfo.java
@@ -62,7 +62,7 @@
}
@UnsupportedAppUsage
- public static final Creator<NetworkQuotaInfo> CREATOR = new Creator<NetworkQuotaInfo>() {
+ public static final @android.annotation.NonNull Creator<NetworkQuotaInfo> CREATOR = new Creator<NetworkQuotaInfo>() {
@Override
public NetworkQuotaInfo createFromParcel(Parcel in) {
return new NetworkQuotaInfo(in);
diff --git a/core/java/android/net/NetworkRequest.java b/core/java/android/net/NetworkRequest.java
index 9508217..dcb027d 100644
--- a/core/java/android/net/NetworkRequest.java
+++ b/core/java/android/net/NetworkRequest.java
@@ -363,7 +363,7 @@
dest.writeInt(requestId);
dest.writeString(type.name());
}
- public static final Creator<NetworkRequest> CREATOR =
+ public static final @android.annotation.NonNull Creator<NetworkRequest> CREATOR =
new Creator<NetworkRequest>() {
public NetworkRequest createFromParcel(Parcel in) {
NetworkCapabilities nc = NetworkCapabilities.CREATOR.createFromParcel(in);
diff --git a/core/java/android/net/NetworkScorerAppData.java b/core/java/android/net/NetworkScorerAppData.java
index 1734b34..116e39e 100644
--- a/core/java/android/net/NetworkScorerAppData.java
+++ b/core/java/android/net/NetworkScorerAppData.java
@@ -61,7 +61,7 @@
return 0;
}
- public static final Creator<NetworkScorerAppData> CREATOR =
+ public static final @android.annotation.NonNull Creator<NetworkScorerAppData> CREATOR =
new Creator<NetworkScorerAppData>() {
@Override
public NetworkScorerAppData createFromParcel(Parcel in) {
diff --git a/core/java/android/net/NetworkState.java b/core/java/android/net/NetworkState.java
index 97fb3fb..292cf50 100644
--- a/core/java/android/net/NetworkState.java
+++ b/core/java/android/net/NetworkState.java
@@ -87,7 +87,7 @@
}
@UnsupportedAppUsage
- public static final Creator<NetworkState> CREATOR = new Creator<NetworkState>() {
+ public static final @android.annotation.NonNull Creator<NetworkState> CREATOR = new Creator<NetworkState>() {
@Override
public NetworkState createFromParcel(Parcel in) {
return new NetworkState(in);
diff --git a/core/java/android/net/NetworkStats.java b/core/java/android/net/NetworkStats.java
index 9cf582b..e892b65 100644
--- a/core/java/android/net/NetworkStats.java
+++ b/core/java/android/net/NetworkStats.java
@@ -1153,7 +1153,7 @@
}
@UnsupportedAppUsage
- public static final Creator<NetworkStats> CREATOR = new Creator<NetworkStats>() {
+ public static final @android.annotation.NonNull Creator<NetworkStats> CREATOR = new Creator<NetworkStats>() {
@Override
public NetworkStats createFromParcel(Parcel in) {
return new NetworkStats(in);
diff --git a/core/java/android/net/NetworkStatsHistory.java b/core/java/android/net/NetworkStatsHistory.java
index d53e032..f61260e 100644
--- a/core/java/android/net/NetworkStatsHistory.java
+++ b/core/java/android/net/NetworkStatsHistory.java
@@ -719,7 +719,7 @@
}
@UnsupportedAppUsage
- public static final Creator<NetworkStatsHistory> CREATOR = new Creator<NetworkStatsHistory>() {
+ public static final @android.annotation.NonNull Creator<NetworkStatsHistory> CREATOR = new Creator<NetworkStatsHistory>() {
@Override
public NetworkStatsHistory createFromParcel(Parcel in) {
return new NetworkStatsHistory(in);
diff --git a/core/java/android/net/NetworkTemplate.java b/core/java/android/net/NetworkTemplate.java
index bb75c63..d42fce3 100644
--- a/core/java/android/net/NetworkTemplate.java
+++ b/core/java/android/net/NetworkTemplate.java
@@ -482,7 +482,7 @@
}
@UnsupportedAppUsage
- public static final Creator<NetworkTemplate> CREATOR = new Creator<NetworkTemplate>() {
+ public static final @android.annotation.NonNull Creator<NetworkTemplate> CREATOR = new Creator<NetworkTemplate>() {
@Override
public NetworkTemplate createFromParcel(Parcel in) {
return new NetworkTemplate(in);
diff --git a/core/java/android/net/ProxyInfo.java b/core/java/android/net/ProxyInfo.java
index ef2269a..807c467 100644
--- a/core/java/android/net/ProxyInfo.java
+++ b/core/java/android/net/ProxyInfo.java
@@ -342,7 +342,7 @@
dest.writeStringArray(mParsedExclusionList);
}
- public static final Creator<ProxyInfo> CREATOR =
+ public static final @android.annotation.NonNull Creator<ProxyInfo> CREATOR =
new Creator<ProxyInfo>() {
public ProxyInfo createFromParcel(Parcel in) {
String host = null;
diff --git a/core/java/android/net/RouteInfo.java b/core/java/android/net/RouteInfo.java
index 5c0f758..c1c8f6e 100644
--- a/core/java/android/net/RouteInfo.java
+++ b/core/java/android/net/RouteInfo.java
@@ -486,7 +486,7 @@
/**
* Implement the Parcelable interface.
*/
- public static final Creator<RouteInfo> CREATOR =
+ public static final @android.annotation.NonNull Creator<RouteInfo> CREATOR =
new Creator<RouteInfo>() {
public RouteInfo createFromParcel(Parcel in) {
IpPrefix dest = in.readParcelable(null);
diff --git a/core/java/android/net/RssiCurve.java b/core/java/android/net/RssiCurve.java
index 5b81f52..a173b0c 100644
--- a/core/java/android/net/RssiCurve.java
+++ b/core/java/android/net/RssiCurve.java
@@ -209,7 +209,7 @@
return sb.toString();
}
- public static final Creator<RssiCurve> CREATOR =
+ public static final @android.annotation.NonNull Creator<RssiCurve> CREATOR =
new Creator<RssiCurve>() {
@Override
public RssiCurve createFromParcel(Parcel in) {
diff --git a/core/java/android/net/ScoredNetwork.java b/core/java/android/net/ScoredNetwork.java
index e38d227..effc1aa 100644
--- a/core/java/android/net/ScoredNetwork.java
+++ b/core/java/android/net/ScoredNetwork.java
@@ -302,7 +302,7 @@
return NetworkBadging.BADGING_NONE;
}
- public static final Parcelable.Creator<ScoredNetwork> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ScoredNetwork> CREATOR =
new Parcelable.Creator<ScoredNetwork>() {
@Override
public ScoredNetwork createFromParcel(Parcel in) {
diff --git a/core/java/android/net/StaticIpConfiguration.java b/core/java/android/net/StaticIpConfiguration.java
index 99cf3a9..8b264ee 100644
--- a/core/java/android/net/StaticIpConfiguration.java
+++ b/core/java/android/net/StaticIpConfiguration.java
@@ -212,7 +212,7 @@
}
/** Implement the Parcelable interface */
- public static final Creator<StaticIpConfiguration> CREATOR =
+ public static final @android.annotation.NonNull Creator<StaticIpConfiguration> CREATOR =
new Creator<StaticIpConfiguration>() {
public StaticIpConfiguration createFromParcel(Parcel in) {
return readFromParcel(in);
diff --git a/core/java/android/net/StringNetworkSpecifier.java b/core/java/android/net/StringNetworkSpecifier.java
index b5d12f9..21dee55 100644
--- a/core/java/android/net/StringNetworkSpecifier.java
+++ b/core/java/android/net/StringNetworkSpecifier.java
@@ -69,7 +69,7 @@
dest.writeString(specifier);
}
- public static final Parcelable.Creator<StringNetworkSpecifier> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<StringNetworkSpecifier> CREATOR =
new Parcelable.Creator<StringNetworkSpecifier>() {
public StringNetworkSpecifier createFromParcel(Parcel in) {
return new StringNetworkSpecifier(in.readString());
diff --git a/core/java/android/net/TcpKeepalivePacketData.java b/core/java/android/net/TcpKeepalivePacketData.java
index f07dfb6..99d36c5 100644
--- a/core/java/android/net/TcpKeepalivePacketData.java
+++ b/core/java/android/net/TcpKeepalivePacketData.java
@@ -194,7 +194,7 @@
}
/** Parcelable Creator. */
- public static final Parcelable.Creator<TcpKeepalivePacketData> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<TcpKeepalivePacketData> CREATOR =
new Parcelable.Creator<TcpKeepalivePacketData>() {
public TcpKeepalivePacketData createFromParcel(Parcel in) {
return new TcpKeepalivePacketData(in);
diff --git a/core/java/android/net/UidRange.java b/core/java/android/net/UidRange.java
index 793c82d..d4a4cf4 100644
--- a/core/java/android/net/UidRange.java
+++ b/core/java/android/net/UidRange.java
@@ -91,7 +91,7 @@
* The parceling code is autogenerated by the superclass.
*/
- public static final Creator<UidRange> CREATOR =
+ public static final @android.annotation.NonNull Creator<UidRange> CREATOR =
new Creator<UidRange>() {
@Override
public UidRange createFromParcel(Parcel in) {
diff --git a/core/java/android/net/Uri.java b/core/java/android/net/Uri.java
index af3ee09..84368e14 100644
--- a/core/java/android/net/Uri.java
+++ b/core/java/android/net/Uri.java
@@ -1799,7 +1799,7 @@
/**
* Reads Uris from Parcels.
*/
- public static final Parcelable.Creator<Uri> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<Uri> CREATOR
= new Parcelable.Creator<Uri>() {
public Uri createFromParcel(Parcel in) {
int type = in.readInt();
diff --git a/core/java/android/net/WifiKey.java b/core/java/android/net/WifiKey.java
index 68b505d..e3a93a8 100644
--- a/core/java/android/net/WifiKey.java
+++ b/core/java/android/net/WifiKey.java
@@ -110,7 +110,7 @@
return "WifiKey[SSID=" + ssid + ",BSSID=" + bssid + "]";
}
- public static final Creator<WifiKey> CREATOR =
+ public static final @android.annotation.NonNull Creator<WifiKey> CREATOR =
new Creator<WifiKey>() {
@Override
public WifiKey createFromParcel(Parcel in) {
diff --git a/core/java/android/net/metrics/ApfProgramEvent.java b/core/java/android/net/metrics/ApfProgramEvent.java
index 8601005..b30d8cb 100644
--- a/core/java/android/net/metrics/ApfProgramEvent.java
+++ b/core/java/android/net/metrics/ApfProgramEvent.java
@@ -185,7 +185,7 @@
}
/** @hide */
- public static final Parcelable.Creator<ApfProgramEvent> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<ApfProgramEvent> CREATOR
= new Parcelable.Creator<ApfProgramEvent>() {
public ApfProgramEvent createFromParcel(Parcel in) {
return new ApfProgramEvent(in);
diff --git a/core/java/android/net/metrics/ApfStats.java b/core/java/android/net/metrics/ApfStats.java
index 844a134..e1c8888 100644
--- a/core/java/android/net/metrics/ApfStats.java
+++ b/core/java/android/net/metrics/ApfStats.java
@@ -264,7 +264,7 @@
}
/** @hide */
- public static final Parcelable.Creator<ApfStats> CREATOR = new Parcelable.Creator<ApfStats>() {
+ public static final @android.annotation.NonNull Parcelable.Creator<ApfStats> CREATOR = new Parcelable.Creator<ApfStats>() {
public ApfStats createFromParcel(Parcel in) {
return new ApfStats(in);
}
diff --git a/core/java/android/net/metrics/DhcpClientEvent.java b/core/java/android/net/metrics/DhcpClientEvent.java
index 3008115..e4faea9 100644
--- a/core/java/android/net/metrics/DhcpClientEvent.java
+++ b/core/java/android/net/metrics/DhcpClientEvent.java
@@ -98,7 +98,7 @@
}
/** @hide */
- public static final Parcelable.Creator<DhcpClientEvent> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<DhcpClientEvent> CREATOR
= new Parcelable.Creator<DhcpClientEvent>() {
public DhcpClientEvent createFromParcel(Parcel in) {
return new DhcpClientEvent(in);
diff --git a/core/java/android/net/metrics/DhcpErrorEvent.java b/core/java/android/net/metrics/DhcpErrorEvent.java
index 18fde80..91318a2 100644
--- a/core/java/android/net/metrics/DhcpErrorEvent.java
+++ b/core/java/android/net/metrics/DhcpErrorEvent.java
@@ -87,7 +87,7 @@
}
/** @hide */
- public static final Parcelable.Creator<DhcpErrorEvent> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<DhcpErrorEvent> CREATOR
= new Parcelable.Creator<DhcpErrorEvent>() {
public DhcpErrorEvent createFromParcel(Parcel in) {
return new DhcpErrorEvent(in);
diff --git a/core/java/android/net/metrics/IpManagerEvent.java b/core/java/android/net/metrics/IpManagerEvent.java
index 013e353..9d358d1 100644
--- a/core/java/android/net/metrics/IpManagerEvent.java
+++ b/core/java/android/net/metrics/IpManagerEvent.java
@@ -84,7 +84,7 @@
}
/** @hide */
- public static final Parcelable.Creator<IpManagerEvent> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<IpManagerEvent> CREATOR
= new Parcelable.Creator<IpManagerEvent>() {
public IpManagerEvent createFromParcel(Parcel in) {
return new IpManagerEvent(in);
diff --git a/core/java/android/net/metrics/IpReachabilityEvent.java b/core/java/android/net/metrics/IpReachabilityEvent.java
index c736297..80c8211 100644
--- a/core/java/android/net/metrics/IpReachabilityEvent.java
+++ b/core/java/android/net/metrics/IpReachabilityEvent.java
@@ -74,7 +74,7 @@
}
/** @hide */
- public static final Parcelable.Creator<IpReachabilityEvent> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<IpReachabilityEvent> CREATOR
= new Parcelable.Creator<IpReachabilityEvent>() {
public IpReachabilityEvent createFromParcel(Parcel in) {
return new IpReachabilityEvent(in);
diff --git a/core/java/android/net/metrics/NetworkEvent.java b/core/java/android/net/metrics/NetworkEvent.java
index f5b2ff1..ed58843 100644
--- a/core/java/android/net/metrics/NetworkEvent.java
+++ b/core/java/android/net/metrics/NetworkEvent.java
@@ -101,7 +101,7 @@
}
/** @hide */
- public static final Parcelable.Creator<NetworkEvent> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<NetworkEvent> CREATOR
= new Parcelable.Creator<NetworkEvent>() {
public NetworkEvent createFromParcel(Parcel in) {
return new NetworkEvent(in);
diff --git a/core/java/android/net/metrics/RaEvent.java b/core/java/android/net/metrics/RaEvent.java
index 04a2e6e..0d43f12 100644
--- a/core/java/android/net/metrics/RaEvent.java
+++ b/core/java/android/net/metrics/RaEvent.java
@@ -97,7 +97,7 @@
}
/** @hide */
- public static final Parcelable.Creator<RaEvent> CREATOR = new Parcelable.Creator<RaEvent>() {
+ public static final @android.annotation.NonNull Parcelable.Creator<RaEvent> CREATOR = new Parcelable.Creator<RaEvent>() {
public RaEvent createFromParcel(Parcel in) {
return new RaEvent(in);
}
diff --git a/core/java/android/net/metrics/ValidationProbeEvent.java b/core/java/android/net/metrics/ValidationProbeEvent.java
index a43dc60..052758d 100644
--- a/core/java/android/net/metrics/ValidationProbeEvent.java
+++ b/core/java/android/net/metrics/ValidationProbeEvent.java
@@ -133,7 +133,7 @@
}
/** @hide */
- public static final Parcelable.Creator<ValidationProbeEvent> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<ValidationProbeEvent> CREATOR
= new Parcelable.Creator<ValidationProbeEvent>() {
public ValidationProbeEvent createFromParcel(Parcel in) {
return new ValidationProbeEvent(in);
diff --git a/core/java/android/net/nsd/DnsSdTxtRecord.java b/core/java/android/net/nsd/DnsSdTxtRecord.java
index 2f20d44..e4a91c5 100644
--- a/core/java/android/net/nsd/DnsSdTxtRecord.java
+++ b/core/java/android/net/nsd/DnsSdTxtRecord.java
@@ -310,7 +310,7 @@
}
/** Implement the Parcelable interface */
- public static final Creator<DnsSdTxtRecord> CREATOR =
+ public static final @android.annotation.NonNull Creator<DnsSdTxtRecord> CREATOR =
new Creator<DnsSdTxtRecord>() {
public DnsSdTxtRecord createFromParcel(Parcel in) {
DnsSdTxtRecord info = new DnsSdTxtRecord();
diff --git a/core/java/android/net/nsd/NsdServiceInfo.java b/core/java/android/net/nsd/NsdServiceInfo.java
index 9ba17ed..459b140 100644
--- a/core/java/android/net/nsd/NsdServiceInfo.java
+++ b/core/java/android/net/nsd/NsdServiceInfo.java
@@ -355,7 +355,7 @@
}
/** Implement the Parcelable interface */
- public static final Creator<NsdServiceInfo> CREATOR =
+ public static final @android.annotation.NonNull Creator<NsdServiceInfo> CREATOR =
new Creator<NsdServiceInfo>() {
public NsdServiceInfo createFromParcel(Parcel in) {
NsdServiceInfo info = new NsdServiceInfo();
diff --git a/core/java/android/nfc/ApduList.java b/core/java/android/nfc/ApduList.java
index 85b0547..027141d 100644
--- a/core/java/android/nfc/ApduList.java
+++ b/core/java/android/nfc/ApduList.java
@@ -24,7 +24,7 @@
return commands;
}
- public static final Parcelable.Creator<ApduList> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ApduList> CREATOR =
new Parcelable.Creator<ApduList>() {
@Override
public ApduList createFromParcel(Parcel in) {
diff --git a/core/java/android/nfc/BeamShareData.java b/core/java/android/nfc/BeamShareData.java
index 918ec3d..ed3b74a 100644
--- a/core/java/android/nfc/BeamShareData.java
+++ b/core/java/android/nfc/BeamShareData.java
@@ -42,7 +42,7 @@
dest.writeInt(this.flags);
}
- public static final Parcelable.Creator<BeamShareData> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<BeamShareData> CREATOR =
new Parcelable.Creator<BeamShareData>() {
@Override
public BeamShareData createFromParcel(Parcel source) {
diff --git a/core/java/android/nfc/NdefMessage.java b/core/java/android/nfc/NdefMessage.java
index 0bb1108..57d79c8 100644
--- a/core/java/android/nfc/NdefMessage.java
+++ b/core/java/android/nfc/NdefMessage.java
@@ -213,7 +213,7 @@
dest.writeTypedArray(mRecords, flags);
}
- public static final Parcelable.Creator<NdefMessage> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<NdefMessage> CREATOR =
new Parcelable.Creator<NdefMessage>() {
@Override
public NdefMessage createFromParcel(Parcel in) {
diff --git a/core/java/android/nfc/NdefRecord.java b/core/java/android/nfc/NdefRecord.java
index b0090ca..5044a86 100644
--- a/core/java/android/nfc/NdefRecord.java
+++ b/core/java/android/nfc/NdefRecord.java
@@ -992,7 +992,7 @@
dest.writeByteArray(mPayload);
}
- public static final Parcelable.Creator<NdefRecord> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<NdefRecord> CREATOR =
new Parcelable.Creator<NdefRecord>() {
@Override
public NdefRecord createFromParcel(Parcel in) {
diff --git a/core/java/android/nfc/Tag.java b/core/java/android/nfc/Tag.java
index ce684cf..5a4c465 100644
--- a/core/java/android/nfc/Tag.java
+++ b/core/java/android/nfc/Tag.java
@@ -421,7 +421,7 @@
}
}
- public static final Parcelable.Creator<Tag> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<Tag> CREATOR =
new Parcelable.Creator<Tag>() {
@Override
public Tag createFromParcel(Parcel in) {
diff --git a/core/java/android/nfc/TechListParcel.java b/core/java/android/nfc/TechListParcel.java
index 396f0f1..90645dd 100644
--- a/core/java/android/nfc/TechListParcel.java
+++ b/core/java/android/nfc/TechListParcel.java
@@ -47,7 +47,7 @@
}
}
- public static final Creator<TechListParcel> CREATOR = new Creator<TechListParcel>() {
+ public static final @android.annotation.NonNull Creator<TechListParcel> CREATOR = new Creator<TechListParcel>() {
@Override
public TechListParcel createFromParcel(Parcel source) {
int count = source.readInt();
diff --git a/core/java/android/nfc/TransceiveResult.java b/core/java/android/nfc/TransceiveResult.java
index 3538825..7992094 100644
--- a/core/java/android/nfc/TransceiveResult.java
+++ b/core/java/android/nfc/TransceiveResult.java
@@ -67,7 +67,7 @@
}
}
- public static final Parcelable.Creator<TransceiveResult> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<TransceiveResult> CREATOR =
new Parcelable.Creator<TransceiveResult>() {
@Override
public TransceiveResult createFromParcel(Parcel in) {
diff --git a/core/java/android/nfc/cardemulation/AidGroup.java b/core/java/android/nfc/cardemulation/AidGroup.java
index 63776c4..77b5552 100644
--- a/core/java/android/nfc/cardemulation/AidGroup.java
+++ b/core/java/android/nfc/cardemulation/AidGroup.java
@@ -132,7 +132,7 @@
}
@UnsupportedAppUsage
- public static final Parcelable.Creator<AidGroup> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<AidGroup> CREATOR =
new Parcelable.Creator<AidGroup>() {
@Override
diff --git a/core/java/android/nfc/cardemulation/ApduServiceInfo.java b/core/java/android/nfc/cardemulation/ApduServiceInfo.java
index 911ec84..6f9858c 100644
--- a/core/java/android/nfc/cardemulation/ApduServiceInfo.java
+++ b/core/java/android/nfc/cardemulation/ApduServiceInfo.java
@@ -540,7 +540,7 @@
};
@UnsupportedAppUsage
- public static final Parcelable.Creator<ApduServiceInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ApduServiceInfo> CREATOR =
new Parcelable.Creator<ApduServiceInfo>() {
@Override
public ApduServiceInfo createFromParcel(Parcel source) {
diff --git a/core/java/android/nfc/cardemulation/NfcFServiceInfo.java b/core/java/android/nfc/cardemulation/NfcFServiceInfo.java
index 1d3f9c2..bda14299 100644
--- a/core/java/android/nfc/cardemulation/NfcFServiceInfo.java
+++ b/core/java/android/nfc/cardemulation/NfcFServiceInfo.java
@@ -289,7 +289,7 @@
dest.writeString(mT3tPmm);
};
- public static final Parcelable.Creator<NfcFServiceInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<NfcFServiceInfo> CREATOR =
new Parcelable.Creator<NfcFServiceInfo>() {
@Override
public NfcFServiceInfo createFromParcel(Parcel source) {
diff --git a/core/java/android/os/BatteryProperty.java b/core/java/android/os/BatteryProperty.java
index b7e7b17..b40988a 100644
--- a/core/java/android/os/BatteryProperty.java
+++ b/core/java/android/os/BatteryProperty.java
@@ -67,7 +67,7 @@
p.writeLong(mValueLong);
}
- public static final Parcelable.Creator<BatteryProperty> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<BatteryProperty> CREATOR
= new Parcelable.Creator<BatteryProperty>() {
public BatteryProperty createFromParcel(Parcel p) {
return new BatteryProperty(p);
diff --git a/core/java/android/os/BatterySaverPolicyConfig.java b/core/java/android/os/BatterySaverPolicyConfig.java
index a107a7a..af7d11d 100644
--- a/core/java/android/os/BatterySaverPolicyConfig.java
+++ b/core/java/android/os/BatterySaverPolicyConfig.java
@@ -111,7 +111,7 @@
Math.min(in.readInt(), PowerManager.MAX_LOCATION_MODE));
}
- public static final Creator<BatterySaverPolicyConfig> CREATOR =
+ public static final @android.annotation.NonNull Creator<BatterySaverPolicyConfig> CREATOR =
new Creator<BatterySaverPolicyConfig>() {
@Override
public BatterySaverPolicyConfig createFromParcel(Parcel in) {
diff --git a/core/java/android/os/Bundle.java b/core/java/android/os/Bundle.java
index 7ae5a67..8e6a554 100644
--- a/core/java/android/os/Bundle.java
+++ b/core/java/android/os/Bundle.java
@@ -1196,7 +1196,7 @@
}
}
- public static final Parcelable.Creator<Bundle> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<Bundle> CREATOR =
new Parcelable.Creator<Bundle>() {
@Override
public Bundle createFromParcel(Parcel in) {
diff --git a/core/java/android/os/CpuUsageInfo.java b/core/java/android/os/CpuUsageInfo.java
index 54caa15..444579f 100644
--- a/core/java/android/os/CpuUsageInfo.java
+++ b/core/java/android/os/CpuUsageInfo.java
@@ -23,7 +23,7 @@
private long mActive;
private long mTotal;
- public static final Parcelable.Creator<CpuUsageInfo> CREATOR = new
+ public static final @android.annotation.NonNull Parcelable.Creator<CpuUsageInfo> CREATOR = new
Parcelable.Creator<CpuUsageInfo>() {
public CpuUsageInfo createFromParcel(Parcel in) {
return new CpuUsageInfo(in);
diff --git a/core/java/android/os/Debug.java b/core/java/android/os/Debug.java
index 149ef54..a395ed4 100644
--- a/core/java/android/os/Debug.java
+++ b/core/java/android/os/Debug.java
@@ -859,7 +859,7 @@
otherStats = source.createIntArray();
}
- public static final Creator<MemoryInfo> CREATOR = new Creator<MemoryInfo>() {
+ public static final @android.annotation.NonNull Creator<MemoryInfo> CREATOR = new Creator<MemoryInfo>() {
public MemoryInfo createFromParcel(Parcel source) {
return new MemoryInfo(source);
}
diff --git a/core/java/android/os/DropBoxManager.java b/core/java/android/os/DropBoxManager.java
index eeae25e..1be7b6b 100644
--- a/core/java/android/os/DropBoxManager.java
+++ b/core/java/android/os/DropBoxManager.java
@@ -227,7 +227,7 @@
return (mFlags & IS_GZIPPED) != 0 ? new GZIPInputStream(is) : is;
}
- public static final Parcelable.Creator<Entry> CREATOR = new Parcelable.Creator() {
+ public static final @android.annotation.NonNull Parcelable.Creator<Entry> CREATOR = new Parcelable.Creator() {
public Entry[] newArray(int size) { return new Entry[size]; }
public Entry createFromParcel(Parcel in) {
String tag = in.readString();
diff --git a/core/java/android/os/Environment.java b/core/java/android/os/Environment.java
index 0aed981..b3e35b6 100644
--- a/core/java/android/os/Environment.java
+++ b/core/java/android/os/Environment.java
@@ -16,6 +16,7 @@
package android.os;
+import android.annotation.NonNull;
import android.annotation.SystemApi;
import android.annotation.TestApi;
import android.app.admin.DevicePolicyManager;
@@ -155,13 +156,13 @@
* Return root of the "system" partition holding the core Android OS.
* Always present and mounted read-only.
*/
- public static File getRootDirectory() {
+ public static @NonNull File getRootDirectory() {
return DIR_ANDROID_ROOT;
}
/** {@hide} */
@TestApi
- public static File getStorageDirectory() {
+ public static @NonNull File getStorageDirectory() {
return DIR_ANDROID_STORAGE;
}
@@ -172,7 +173,7 @@
* @hide
*/
@SystemApi
- public static File getOemDirectory() {
+ public static @NonNull File getOemDirectory() {
return DIR_OEM_ROOT;
}
@@ -183,7 +184,7 @@
* @hide
*/
@SystemApi
- public static File getOdmDirectory() {
+ public static @NonNull File getOdmDirectory() {
return DIR_ODM_ROOT;
}
@@ -193,7 +194,7 @@
* @hide
*/
@SystemApi
- public static File getVendorDirectory() {
+ public static @NonNull File getVendorDirectory() {
return DIR_VENDOR_ROOT;
}
@@ -205,7 +206,7 @@
*/
@SystemApi
@TestApi
- public static File getProductDirectory() {
+ public static @NonNull File getProductDirectory() {
return DIR_PRODUCT_ROOT;
}
@@ -216,7 +217,7 @@
* @hide
*/
@SystemApi
- public static File getProductServicesDirectory() {
+ public static @NonNull File getProductServicesDirectory() {
return DIR_PRODUCT_SERVICES_ROOT;
}
diff --git a/core/java/android/os/ExternalVibration.java b/core/java/android/os/ExternalVibration.java
index 69ab1d9..b93bef8 100644
--- a/core/java/android/os/ExternalVibration.java
+++ b/core/java/android/os/ExternalVibration.java
@@ -156,7 +156,7 @@
return 0;
}
- public static final Parcelable.Creator<ExternalVibration> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ExternalVibration> CREATOR =
new Parcelable.Creator<ExternalVibration>() {
@Override
public ExternalVibration createFromParcel(Parcel in) {
diff --git a/core/java/android/os/IncidentManager.java b/core/java/android/os/IncidentManager.java
index a1c7b08..0bdf6f1 100644
--- a/core/java/android/os/IncidentManager.java
+++ b/core/java/android/os/IncidentManager.java
@@ -323,7 +323,7 @@
/**
* {@link Parcelable.Creator Creator} for {@link IncidentReport}.
*/
- public static final Parcelable.Creator<IncidentReport> CREATOR = new Parcelable.Creator() {
+ public static final @android.annotation.NonNull Parcelable.Creator<IncidentReport> CREATOR = new Parcelable.Creator() {
/**
* @inheritDoc
*/
diff --git a/core/java/android/os/IncidentReportArgs.java b/core/java/android/os/IncidentReportArgs.java
index 8d44727..1bdfd94 100644
--- a/core/java/android/os/IncidentReportArgs.java
+++ b/core/java/android/os/IncidentReportArgs.java
@@ -93,7 +93,7 @@
mPrivacyPolicy = in.readInt();
}
- public static final Parcelable.Creator<IncidentReportArgs> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<IncidentReportArgs> CREATOR
= new Parcelable.Creator<IncidentReportArgs>() {
public IncidentReportArgs createFromParcel(Parcel in) {
return new IncidentReportArgs(in);
diff --git a/core/java/android/os/LocaleList.java b/core/java/android/os/LocaleList.java
index 1420e2f..a9da080 100644
--- a/core/java/android/os/LocaleList.java
+++ b/core/java/android/os/LocaleList.java
@@ -256,7 +256,7 @@
mStringRepresentation = sb.toString();
}
- public static final Parcelable.Creator<LocaleList> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<LocaleList> CREATOR
= new Parcelable.Creator<LocaleList>() {
@Override
public LocaleList createFromParcel(Parcel source) {
diff --git a/core/java/android/os/Message.java b/core/java/android/os/Message.java
index 5d5e5e2..317579e 100644
--- a/core/java/android/os/Message.java
+++ b/core/java/android/os/Message.java
@@ -595,7 +595,7 @@
proto.end(messageToken);
}
- public static final Parcelable.Creator<Message> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<Message> CREATOR
= new Parcelable.Creator<Message>() {
public Message createFromParcel(Parcel source) {
Message msg = Message.obtain();
diff --git a/core/java/android/os/Messenger.java b/core/java/android/os/Messenger.java
index f362f56..ed5c470 100644
--- a/core/java/android/os/Messenger.java
+++ b/core/java/android/os/Messenger.java
@@ -95,7 +95,7 @@
out.writeStrongBinder(mTarget.asBinder());
}
- public static final Parcelable.Creator<Messenger> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<Messenger> CREATOR
= new Parcelable.Creator<Messenger>() {
public Messenger createFromParcel(Parcel in) {
IBinder target = in.readStrongBinder();
diff --git a/core/java/android/os/ParcelFileDescriptor.java b/core/java/android/os/ParcelFileDescriptor.java
index d68eeed..7a8727c 100644
--- a/core/java/android/os/ParcelFileDescriptor.java
+++ b/core/java/android/os/ParcelFileDescriptor.java
@@ -1032,7 +1032,7 @@
}
}
- public static final Parcelable.Creator<ParcelFileDescriptor> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<ParcelFileDescriptor> CREATOR
= new Parcelable.Creator<ParcelFileDescriptor>() {
@Override
public ParcelFileDescriptor createFromParcel(Parcel in) {
diff --git a/core/java/android/os/ParcelUuid.java b/core/java/android/os/ParcelUuid.java
index 5b45ac2..cc50c89 100644
--- a/core/java/android/os/ParcelUuid.java
+++ b/core/java/android/os/ParcelUuid.java
@@ -109,7 +109,7 @@
return (this.mUuid.equals(that.mUuid));
}
- public static final Parcelable.Creator<ParcelUuid> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ParcelUuid> CREATOR =
new Parcelable.Creator<ParcelUuid>() {
@UnsupportedAppUsage
public ParcelUuid createFromParcel(Parcel source) {
diff --git a/core/java/android/os/ParcelableException.java b/core/java/android/os/ParcelableException.java
index 7f71905..81b9d15 100644
--- a/core/java/android/os/ParcelableException.java
+++ b/core/java/android/os/ParcelableException.java
@@ -76,7 +76,7 @@
writeToParcel(dest, getCause());
}
- public static final Creator<ParcelableException> CREATOR = new Creator<ParcelableException>() {
+ public static final @android.annotation.NonNull Creator<ParcelableException> CREATOR = new Creator<ParcelableException>() {
@Override
public ParcelableException createFromParcel(Parcel source) {
return new ParcelableException(readFromParcel(source));
diff --git a/core/java/android/os/PatternMatcher.java b/core/java/android/os/PatternMatcher.java
index 76b2142..ef03e8c 100644
--- a/core/java/android/os/PatternMatcher.java
+++ b/core/java/android/os/PatternMatcher.java
@@ -158,7 +158,7 @@
mParsedPattern = src.createIntArray();
}
- public static final Parcelable.Creator<PatternMatcher> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<PatternMatcher> CREATOR
= new Parcelable.Creator<PatternMatcher>() {
public PatternMatcher createFromParcel(Parcel source) {
return new PatternMatcher(source);
diff --git a/core/java/android/os/PersistableBundle.java b/core/java/android/os/PersistableBundle.java
index 40eceb8..6f1bf71 100644
--- a/core/java/android/os/PersistableBundle.java
+++ b/core/java/android/os/PersistableBundle.java
@@ -212,7 +212,7 @@
}
}
- public static final Parcelable.Creator<PersistableBundle> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<PersistableBundle> CREATOR =
new Parcelable.Creator<PersistableBundle>() {
@Override
public PersistableBundle createFromParcel(Parcel in) {
diff --git a/core/java/android/os/PowerManager.java b/core/java/android/os/PowerManager.java
index 91ddf82..4b32df7 100644
--- a/core/java/android/os/PowerManager.java
+++ b/core/java/android/os/PowerManager.java
@@ -694,9 +694,11 @@
ServiceType.BATTERY_STATS,
ServiceType.DATA_SAVER,
ServiceType.FORCE_ALL_APPS_STANDBY,
+ ServiceType.FORCE_BACKGROUND_CHECK,
ServiceType.OPTIONAL_SENSORS,
ServiceType.AOD,
ServiceType.QUICK_DOZE,
+ ServiceType.NIGHT_MODE,
})
public @interface ServiceType {
int NULL = 0;
diff --git a/core/java/android/os/RemoteCallback.java b/core/java/android/os/RemoteCallback.java
index 5914739..22cf404 100644
--- a/core/java/android/os/RemoteCallback.java
+++ b/core/java/android/os/RemoteCallback.java
@@ -94,7 +94,7 @@
parcel.writeStrongBinder(mCallback.asBinder());
}
- public static final Parcelable.Creator<RemoteCallback> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<RemoteCallback> CREATOR
= new Parcelable.Creator<RemoteCallback>() {
public RemoteCallback createFromParcel(Parcel parcel) {
return new RemoteCallback(parcel);
diff --git a/core/java/android/os/ResultReceiver.java b/core/java/android/os/ResultReceiver.java
index 34a66b6..f2d8fe4 100644
--- a/core/java/android/os/ResultReceiver.java
+++ b/core/java/android/os/ResultReceiver.java
@@ -125,7 +125,7 @@
mReceiver = IResultReceiver.Stub.asInterface(in.readStrongBinder());
}
- public static final Parcelable.Creator<ResultReceiver> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<ResultReceiver> CREATOR
= new Parcelable.Creator<ResultReceiver>() {
public ResultReceiver createFromParcel(Parcel in) {
return new ResultReceiver(in);
diff --git a/core/java/android/os/SharedMemory.java b/core/java/android/os/SharedMemory.java
index e6c7a17..395485b 100644
--- a/core/java/android/os/SharedMemory.java
+++ b/core/java/android/os/SharedMemory.java
@@ -270,7 +270,7 @@
dest.writeFileDescriptor(mFileDescriptor);
}
- public static final Parcelable.Creator<SharedMemory> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<SharedMemory> CREATOR =
new Parcelable.Creator<SharedMemory>() {
@Override
public SharedMemory createFromParcel(Parcel source) {
diff --git a/core/java/android/os/ShellCallback.java b/core/java/android/os/ShellCallback.java
index 6a62424..632f6c8 100644
--- a/core/java/android/os/ShellCallback.java
+++ b/core/java/android/os/ShellCallback.java
@@ -110,7 +110,7 @@
}
}
- public static final Parcelable.Creator<ShellCallback> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<ShellCallback> CREATOR
= new Parcelable.Creator<ShellCallback>() {
public ShellCallback createFromParcel(Parcel in) {
return new ShellCallback(in);
diff --git a/core/java/android/os/StatsDimensionsValue.java b/core/java/android/os/StatsDimensionsValue.java
index 257cc52..da13ea1 100644
--- a/core/java/android/os/StatsDimensionsValue.java
+++ b/core/java/android/os/StatsDimensionsValue.java
@@ -264,7 +264,7 @@
/**
* Parcelable Creator for StatsDimensionsValue.
*/
- public static final Parcelable.Creator<StatsDimensionsValue> CREATOR = new
+ public static final @android.annotation.NonNull Parcelable.Creator<StatsDimensionsValue> CREATOR = new
Parcelable.Creator<StatsDimensionsValue>() {
public StatsDimensionsValue createFromParcel(Parcel in) {
return new StatsDimensionsValue(in);
diff --git a/core/java/android/os/StatsLogEventWrapper.java b/core/java/android/os/StatsLogEventWrapper.java
index 2334242..89c9bb2 100644
--- a/core/java/android/os/StatsLogEventWrapper.java
+++ b/core/java/android/os/StatsLogEventWrapper.java
@@ -54,7 +54,7 @@
/**
* Boilerplate for Parcel.
*/
- public static final Parcelable.Creator<StatsLogEventWrapper> CREATOR = new
+ public static final @android.annotation.NonNull Parcelable.Creator<StatsLogEventWrapper> CREATOR = new
Parcelable.Creator<StatsLogEventWrapper>() {
public StatsLogEventWrapper createFromParcel(Parcel in) {
return new StatsLogEventWrapper(in);
diff --git a/core/java/android/os/StrictMode.java b/core/java/android/os/StrictMode.java
index 5ff6e55..f0b83d8 100644
--- a/core/java/android/os/StrictMode.java
+++ b/core/java/android/os/StrictMode.java
@@ -482,7 +482,7 @@
* <p>As of the Gingerbread release this includes network and disk operations but will
* likely expand in future releases.
*/
- public Builder detectAll() {
+ public @NonNull Builder detectAll() {
detectDiskReads();
detectDiskWrites();
detectNetwork();
@@ -501,52 +501,52 @@
}
/** Disable the detection of everything. */
- public Builder permitAll() {
+ public @NonNull Builder permitAll() {
return disable(DETECT_THREAD_ALL);
}
/** Enable detection of network operations. */
- public Builder detectNetwork() {
+ public @NonNull Builder detectNetwork() {
return enable(DETECT_THREAD_NETWORK);
}
/** Disable detection of network operations. */
- public Builder permitNetwork() {
+ public @NonNull Builder permitNetwork() {
return disable(DETECT_THREAD_NETWORK);
}
/** Enable detection of disk reads. */
- public Builder detectDiskReads() {
+ public @NonNull Builder detectDiskReads() {
return enable(DETECT_THREAD_DISK_READ);
}
/** Disable detection of disk reads. */
- public Builder permitDiskReads() {
+ public @NonNull Builder permitDiskReads() {
return disable(DETECT_THREAD_DISK_READ);
}
/** Enable detection of slow calls. */
- public Builder detectCustomSlowCalls() {
+ public @NonNull Builder detectCustomSlowCalls() {
return enable(DETECT_THREAD_CUSTOM);
}
/** Disable detection of slow calls. */
- public Builder permitCustomSlowCalls() {
+ public @NonNull Builder permitCustomSlowCalls() {
return disable(DETECT_THREAD_CUSTOM);
}
/** Disable detection of mismatches between defined resource types and getter calls. */
- public Builder permitResourceMismatches() {
+ public @NonNull Builder permitResourceMismatches() {
return disable(DETECT_THREAD_RESOURCE_MISMATCH);
}
/** Detect unbuffered input/output operations. */
- public Builder detectUnbufferedIo() {
+ public @NonNull Builder detectUnbufferedIo() {
return enable(DETECT_THREAD_UNBUFFERED_IO);
}
/** Disable detection of unbuffered input/output operations. */
- public Builder permitUnbufferedIo() {
+ public @NonNull Builder permitUnbufferedIo() {
return disable(DETECT_THREAD_UNBUFFERED_IO);
}
@@ -562,17 +562,17 @@
* call will return a value without crashing; however, the developer should format the
* resource as an integer to avoid unnecessary type conversion.
*/
- public Builder detectResourceMismatches() {
+ public @NonNull Builder detectResourceMismatches() {
return enable(DETECT_THREAD_RESOURCE_MISMATCH);
}
/** Enable detection of disk writes. */
- public Builder detectDiskWrites() {
+ public @NonNull Builder detectDiskWrites() {
return enable(DETECT_THREAD_DISK_WRITE);
}
/** Disable detection of disk writes. */
- public Builder permitDiskWrites() {
+ public @NonNull Builder permitDiskWrites() {
return disable(DETECT_THREAD_DISK_WRITE);
}
@@ -582,7 +582,7 @@
* @hide
*/
@TestApi
- public Builder detectExplicitGc() {
+ public @NonNull Builder detectExplicitGc() {
// TODO(b/3400644): Un-hide this for next API update
// TODO(b/3400644): Un-hide ExplicitGcViolation for next API update
// TODO(b/3400644): Make DETECT_EXPLICIT_GC a @TestApi for next API update
@@ -595,7 +595,7 @@
*
* @hide
*/
- public Builder permitExplicitGc() {
+ public @NonNull Builder permitExplicitGc() {
// TODO(b/3400644): Un-hide this for next API update
return disable(DETECT_THREAD_EXPLICIT_GC);
}
@@ -604,7 +604,7 @@
* Show an annoying dialog to the developer on detected violations, rate-limited to be
* only a little annoying.
*/
- public Builder penaltyDialog() {
+ public @NonNull Builder penaltyDialog() {
return enable(PENALTY_DIALOG);
}
@@ -616,7 +616,7 @@
* <p>Unlike {@link #penaltyDeathOnNetwork}, this applies to disk reads, disk writes,
* and network usage if their corresponding detect flags are set.
*/
- public Builder penaltyDeath() {
+ public @NonNull Builder penaltyDeath() {
return enable(PENALTY_DEATH);
}
@@ -627,17 +627,17 @@
*
* <p>In the Honeycomb or later SDKs, this is on by default.
*/
- public Builder penaltyDeathOnNetwork() {
+ public @NonNull Builder penaltyDeathOnNetwork() {
return enable(PENALTY_DEATH_ON_NETWORK);
}
/** Flash the screen during a violation. */
- public Builder penaltyFlashScreen() {
+ public @NonNull Builder penaltyFlashScreen() {
return enable(PENALTY_FLASH);
}
/** Log detected violations to the system log. */
- public Builder penaltyLog() {
+ public @NonNull Builder penaltyLog() {
return enable(PENALTY_LOG);
}
@@ -646,7 +646,7 @@
* android.os.DropBoxManager DropBox} on policy violation. Intended mostly for platform
* integrators doing beta user field data collection.
*/
- public Builder penaltyDropBox() {
+ public @NonNull Builder penaltyDropBox() {
return enable(PENALTY_DROPBOX);
}
@@ -654,7 +654,7 @@
* Call #{@link OnThreadViolationListener#onThreadViolation(Violation)} on specified
* executor every violation.
*/
- public Builder penaltyListener(
+ public @NonNull Builder penaltyListener(
@NonNull Executor executor, @NonNull OnThreadViolationListener listener) {
if (executor == null) {
throw new NullPointerException("executor must not be null");
@@ -665,7 +665,7 @@
}
/** @removed */
- public Builder penaltyListener(
+ public @NonNull Builder penaltyListener(
@NonNull OnThreadViolationListener listener, @NonNull Executor executor) {
return penaltyListener(executor, listener);
}
@@ -782,7 +782,7 @@
* Set an upper bound on how many instances of a class can be in memory at once. Helps
* to prevent object leaks.
*/
- public Builder setClassInstanceLimit(Class klass, int instanceLimit) {
+ public @NonNull Builder setClassInstanceLimit(Class klass, int instanceLimit) {
if (klass == null) {
throw new NullPointerException("klass == null");
}
@@ -803,12 +803,12 @@
}
/** Detect leaks of {@link android.app.Activity} subclasses. */
- public Builder detectActivityLeaks() {
+ public @NonNull Builder detectActivityLeaks() {
return enable(DETECT_VM_ACTIVITY_LEAKS);
}
/** @hide */
- public Builder permitActivityLeaks() {
+ public @NonNull Builder permitActivityLeaks() {
return disable(DETECT_VM_ACTIVITY_LEAKS);
}
@@ -819,7 +819,7 @@
* enabled may not be detected. To ensure that all such API accesses are detected,
* you should apply this policy as early as possible after process creation.
*/
- public Builder detectNonSdkApiUsage() {
+ public @NonNull Builder detectNonSdkApiUsage() {
return enable(DETECT_VM_NON_SDK_API_USAGE);
}
@@ -829,7 +829,7 @@
* continue to restrict or warn on access to methods that are not part of the
* public SDK.
*/
- public Builder permitNonSdkApiUsage() {
+ public @NonNull Builder permitNonSdkApiUsage() {
return disable(DETECT_VM_NON_SDK_API_USAGE);
}
@@ -839,7 +839,7 @@
* <p>In the Honeycomb release this includes leaks of SQLite cursors, Activities, and
* other closable objects but will likely expand in future releases.
*/
- public Builder detectAll() {
+ public @NonNull Builder detectAll() {
detectLeakedSqlLiteObjects();
final int targetSdk = VMRuntime.getRuntime().getTargetSdkVersion();
@@ -881,7 +881,7 @@
* <p>You always want to explicitly close your SQLite cursors to avoid unnecessary
* database contention and temporary memory leaks.
*/
- public Builder detectLeakedSqlLiteObjects() {
+ public @NonNull Builder detectLeakedSqlLiteObjects() {
return enable(DETECT_VM_CURSOR_LEAKS);
}
@@ -892,7 +892,7 @@
* <p>You always want to explicitly close such objects to avoid unnecessary resources
* leaks.
*/
- public Builder detectLeakedClosableObjects() {
+ public @NonNull Builder detectLeakedClosableObjects() {
return enable(DETECT_VM_CLOSABLE_LEAKS);
}
@@ -900,7 +900,7 @@
* Detect when a {@link BroadcastReceiver} or {@link ServiceConnection} is leaked during
* {@link Context} teardown.
*/
- public Builder detectLeakedRegistrationObjects() {
+ public @NonNull Builder detectLeakedRegistrationObjects() {
return enable(DETECT_VM_REGISTRATION_LEAKS);
}
@@ -919,7 +919,7 @@
* @see android.support.v4.content.FileProvider
* @see Intent#FLAG_GRANT_READ_URI_PERMISSION
*/
- public Builder detectFileUriExposure() {
+ public @NonNull Builder detectFileUriExposure() {
return enable(DETECT_VM_FILE_URI_EXPOSURE);
}
@@ -938,7 +938,7 @@
* <p>This inspects both IPv4/IPv6 and TCP/UDP network traffic, but it may be subject to
* false positives, such as when STARTTLS protocols or HTTP proxies are used.
*/
- public Builder detectCleartextNetwork() {
+ public @NonNull Builder detectCleartextNetwork() {
return enable(DETECT_VM_CLEARTEXT_NETWORK);
}
@@ -954,7 +954,7 @@
* @see Intent#FLAG_GRANT_READ_URI_PERMISSION
* @see Intent#FLAG_GRANT_WRITE_URI_PERMISSION
*/
- public Builder detectContentUriWithoutPermission() {
+ public @NonNull Builder detectContentUriWithoutPermission() {
return enable(DETECT_VM_CONTENT_URI_WITHOUT_PERMISSION);
}
@@ -969,12 +969,12 @@
* @see TrafficStats#tagSocket(java.net.Socket)
* @see TrafficStats#tagDatagramSocket(java.net.DatagramSocket)
*/
- public Builder detectUntaggedSockets() {
+ public @NonNull Builder detectUntaggedSockets() {
return enable(DETECT_VM_UNTAGGED_SOCKET);
}
/** @hide */
- public Builder permitUntaggedSockets() {
+ public @NonNull Builder permitUntaggedSockets() {
return disable(DETECT_VM_UNTAGGED_SOCKET);
}
@@ -992,12 +992,12 @@
* <li>{@link PackageManager#MATCH_DIRECT_BOOT_AUTO}
* </ul>
*/
- public Builder detectImplicitDirectBoot() {
+ public @NonNull Builder detectImplicitDirectBoot() {
return enable(DETECT_VM_IMPLICIT_DIRECT_BOOT);
}
/** @hide */
- public Builder permitImplicitDirectBoot() {
+ public @NonNull Builder permitImplicitDirectBoot() {
return disable(DETECT_VM_IMPLICIT_DIRECT_BOOT);
}
@@ -1014,12 +1014,12 @@
* @see Context#createCredentialProtectedStorageContext()
* @see Context#createDeviceProtectedStorageContext()
*/
- public Builder detectCredentialProtectedWhileLocked() {
+ public @NonNull Builder detectCredentialProtectedWhileLocked() {
return enable(DETECT_VM_CREDENTIAL_PROTECTED_WHILE_LOCKED);
}
/** @hide */
- public Builder permitCredentialProtectedWhileLocked() {
+ public @NonNull Builder permitCredentialProtectedWhileLocked() {
return disable(DETECT_VM_CREDENTIAL_PROTECTED_WHILE_LOCKED);
}
@@ -1028,7 +1028,7 @@
* penalties so you'll still get your logging or other violations before the process
* dies.
*/
- public Builder penaltyDeath() {
+ public @NonNull Builder penaltyDeath() {
return enable(PENALTY_DEATH);
}
@@ -1037,7 +1037,7 @@
*
* @see #detectCleartextNetwork()
*/
- public Builder penaltyDeathOnCleartextNetwork() {
+ public @NonNull Builder penaltyDeathOnCleartextNetwork() {
return enable(PENALTY_DEATH_ON_CLEARTEXT_NETWORK);
}
@@ -1047,12 +1047,12 @@
*
* @see #detectFileUriExposure()
*/
- public Builder penaltyDeathOnFileUriExposure() {
+ public @NonNull Builder penaltyDeathOnFileUriExposure() {
return enable(PENALTY_DEATH_ON_FILE_URI_EXPOSURE);
}
/** Log detected violations to the system log. */
- public Builder penaltyLog() {
+ public @NonNull Builder penaltyLog() {
return enable(PENALTY_LOG);
}
@@ -1061,14 +1061,14 @@
* android.os.DropBoxManager DropBox} on policy violation. Intended mostly for platform
* integrators doing beta user field data collection.
*/
- public Builder penaltyDropBox() {
+ public @NonNull Builder penaltyDropBox() {
return enable(PENALTY_DROPBOX);
}
/**
* Call #{@link OnVmViolationListener#onVmViolation(Violation)} on every violation.
*/
- public Builder penaltyListener(
+ public @NonNull Builder penaltyListener(
@NonNull Executor executor, @NonNull OnVmViolationListener listener) {
if (executor == null) {
throw new NullPointerException("executor must not be null");
@@ -1079,7 +1079,7 @@
}
/** @removed */
- public Builder penaltyListener(
+ public @NonNull Builder penaltyListener(
@NonNull OnVmViolationListener listener, @NonNull Executor executor) {
return penaltyListener(executor, listener);
}
@@ -2853,7 +2853,7 @@
return 0;
}
- public static final Parcelable.Creator<ViolationInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ViolationInfo> CREATOR =
new Parcelable.Creator<ViolationInfo>() {
@Override
public ViolationInfo createFromParcel(Parcel in) {
diff --git a/core/java/android/os/Temperature.java b/core/java/android/os/Temperature.java
index eee2b52..be7e824 100644
--- a/core/java/android/os/Temperature.java
+++ b/core/java/android/os/Temperature.java
@@ -177,7 +177,7 @@
p.writeInt(mStatus);
}
- public static final Parcelable.Creator<Temperature> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<Temperature> CREATOR =
new Parcelable.Creator<Temperature>() {
@Override
public Temperature createFromParcel(Parcel p) {
diff --git a/core/java/android/os/UserHandle.java b/core/java/android/os/UserHandle.java
index 40c48a0..82d1b1a 100644
--- a/core/java/android/os/UserHandle.java
+++ b/core/java/android/os/UserHandle.java
@@ -481,7 +481,7 @@
return h != USER_NULL ? new UserHandle(h) : null;
}
- public static final Parcelable.Creator<UserHandle> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<UserHandle> CREATOR
= new Parcelable.Creator<UserHandle>() {
public UserHandle createFromParcel(Parcel in) {
return new UserHandle(in);
diff --git a/core/java/android/os/UserManager.java b/core/java/android/os/UserManager.java
index 0673755..7f73dab 100644
--- a/core/java/android/os/UserManager.java
+++ b/core/java/android/os/UserManager.java
@@ -3021,7 +3021,7 @@
userRestrictionSource = in.readInt();
}
- public static final Creator<EnforcingUser> CREATOR = new Creator<EnforcingUser>() {
+ public static final @android.annotation.NonNull Creator<EnforcingUser> CREATOR = new Creator<EnforcingUser>() {
@Override
public EnforcingUser createFromParcel(Parcel in) {
return new EnforcingUser(in);
diff --git a/core/java/android/os/VibrationEffect.java b/core/java/android/os/VibrationEffect.java
index 471ae30..44add87 100644
--- a/core/java/android/os/VibrationEffect.java
+++ b/core/java/android/os/VibrationEffect.java
@@ -471,7 +471,7 @@
out.writeInt(mAmplitude);
}
- public static final Parcelable.Creator<OneShot> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<OneShot> CREATOR =
new Parcelable.Creator<OneShot>() {
@Override
public OneShot createFromParcel(Parcel in) {
@@ -659,7 +659,7 @@
}
- public static final Parcelable.Creator<Waveform> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<Waveform> CREATOR =
new Parcelable.Creator<Waveform>() {
@Override
public Waveform createFromParcel(Parcel in) {
@@ -796,7 +796,7 @@
out.writeInt(mEffectStrength);
}
- public static final Parcelable.Creator<Prebaked> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<Prebaked> CREATOR =
new Parcelable.Creator<Prebaked>() {
@Override
public Prebaked createFromParcel(Parcel in) {
@@ -811,7 +811,7 @@
};
}
- public static final Parcelable.Creator<VibrationEffect> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<VibrationEffect> CREATOR =
new Parcelable.Creator<VibrationEffect>() {
@Override
public VibrationEffect createFromParcel(Parcel in) {
diff --git a/core/java/android/os/WorkSource.java b/core/java/android/os/WorkSource.java
index 76fe560..9980ade 100644
--- a/core/java/android/os/WorkSource.java
+++ b/core/java/android/os/WorkSource.java
@@ -1030,7 +1030,7 @@
dest.writeStringArray(mTags);
}
- public static final Parcelable.Creator<WorkChain> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<WorkChain> CREATOR =
new Parcelable.Creator<WorkChain>() {
public WorkChain createFromParcel(Parcel in) {
return new WorkChain(in);
@@ -1171,7 +1171,7 @@
proto.end(workSourceToken);
}
- public static final Parcelable.Creator<WorkSource> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<WorkSource> CREATOR
= new Parcelable.Creator<WorkSource>() {
public WorkSource createFromParcel(Parcel in) {
return new WorkSource(in);
diff --git a/core/java/android/os/ZygoteProcess.java b/core/java/android/os/ZygoteProcess.java
index e49b65e..650232f 100644
--- a/core/java/android/os/ZygoteProcess.java
+++ b/core/java/android/os/ZygoteProcess.java
@@ -253,6 +253,11 @@
private int mHiddenApiAccessLogSampleRate;
/**
+ * Proportion of hidden API accesses that should be logged to statslog; 0 - 0x10000.
+ */
+ private int mHiddenApiAccessStatslogSampleRate;
+
+ /**
* The state of the connection to the primary zygote.
*/
private ZygoteState primaryZygoteState;
@@ -487,6 +492,7 @@
"--start-child-zygote",
"--set-api-blacklist-exemptions",
"--hidden-api-log-sampling-rate",
+ "--hidden-api-statslog-sampling-rate",
"--invoke-with"
};
@@ -776,6 +782,21 @@
}
}
+ /**
+ * Set the precentage of detected hidden API accesses that are logged to the new event log.
+ *
+ * <p>This rate will take affect for all new processes forked from the zygote after this call.
+ *
+ * @param rate An integer between 0 and 0x10000 inclusive. 0 means no event logging.
+ */
+ public void setHiddenApiAccessStatslogSampleRate(int rate) {
+ synchronized (mLock) {
+ mHiddenApiAccessStatslogSampleRate = rate;
+ maybeSetHiddenApiAccessStatslogSampleRate(primaryZygoteState);
+ maybeSetHiddenApiAccessStatslogSampleRate(secondaryZygoteState);
+ }
+ }
+
@GuardedBy("mLock")
private boolean maybeSetApiBlacklistExemptions(ZygoteState state, boolean sendIfEmpty) {
if (state == null || state.isClosed()) {
@@ -830,6 +851,30 @@
}
}
+ private void maybeSetHiddenApiAccessStatslogSampleRate(ZygoteState state) {
+ if (state == null || state.isClosed()) {
+ return;
+ }
+ if (mHiddenApiAccessStatslogSampleRate == -1) {
+ return;
+ }
+ try {
+ state.mZygoteOutputWriter.write(Integer.toString(1));
+ state.mZygoteOutputWriter.newLine();
+ state.mZygoteOutputWriter.write("--hidden-api-statslog-sampling-rate="
+ + Integer.toString(mHiddenApiAccessStatslogSampleRate));
+ state.mZygoteOutputWriter.newLine();
+ state.mZygoteOutputWriter.flush();
+ int status = state.mZygoteInputStream.readInt();
+ if (status != 0) {
+ Slog.e(LOG_TAG, "Failed to set hidden API statslog sampling rate; status "
+ + status);
+ }
+ } catch (IOException ioe) {
+ Slog.e(LOG_TAG, "Failed to set hidden API statslog sampling rate", ioe);
+ }
+ }
+
/**
* Creates a ZygoteState for the primary zygote if it doesn't exist or has been disconnected.
*/
diff --git a/core/java/android/os/connectivity/CellularBatteryStats.java b/core/java/android/os/connectivity/CellularBatteryStats.java
index c99ecb32..2e09040 100644
--- a/core/java/android/os/connectivity/CellularBatteryStats.java
+++ b/core/java/android/os/connectivity/CellularBatteryStats.java
@@ -46,7 +46,7 @@
private long[] mTxTimeMs;
private long mMonitoredRailChargeConsumedMaMs;
- public static final Parcelable.Creator<CellularBatteryStats> CREATOR = new
+ public static final @android.annotation.NonNull Parcelable.Creator<CellularBatteryStats> CREATOR = new
Parcelable.Creator<CellularBatteryStats>() {
public CellularBatteryStats createFromParcel(Parcel in) {
return new CellularBatteryStats(in);
diff --git a/core/java/android/os/connectivity/GpsBatteryStats.java b/core/java/android/os/connectivity/GpsBatteryStats.java
index f2ac5ef..ef03caa 100644
--- a/core/java/android/os/connectivity/GpsBatteryStats.java
+++ b/core/java/android/os/connectivity/GpsBatteryStats.java
@@ -33,7 +33,7 @@
private long mEnergyConsumedMaMs;
private long[] mTimeInGpsSignalQualityLevel;
- public static final Parcelable.Creator<GpsBatteryStats> CREATOR = new
+ public static final @android.annotation.NonNull Parcelable.Creator<GpsBatteryStats> CREATOR = new
Parcelable.Creator<GpsBatteryStats>() {
public GpsBatteryStats createFromParcel(Parcel in) {
return new GpsBatteryStats(in);
diff --git a/core/java/android/os/connectivity/WifiBatteryStats.java b/core/java/android/os/connectivity/WifiBatteryStats.java
index 3639c71..9d2d5d8 100644
--- a/core/java/android/os/connectivity/WifiBatteryStats.java
+++ b/core/java/android/os/connectivity/WifiBatteryStats.java
@@ -46,7 +46,7 @@
private long[] mTimeInRxSignalStrengthLevelMs;
private long mMonitoredRailChargeConsumedMaMs;
- public static final Parcelable.Creator<WifiBatteryStats> CREATOR = new
+ public static final @android.annotation.NonNull Parcelable.Creator<WifiBatteryStats> CREATOR = new
Parcelable.Creator<WifiBatteryStats>() {
public WifiBatteryStats createFromParcel(Parcel in) {
return new WifiBatteryStats(in);
diff --git a/core/java/android/os/health/HealthStatsParceler.java b/core/java/android/os/health/HealthStatsParceler.java
index d358a2e..de98359 100644
--- a/core/java/android/os/health/HealthStatsParceler.java
+++ b/core/java/android/os/health/HealthStatsParceler.java
@@ -41,7 +41,7 @@
private HealthStatsWriter mWriter;
private HealthStats mHealthStats;
- public static final Parcelable.Creator<HealthStatsParceler> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<HealthStatsParceler> CREATOR
= new Parcelable.Creator<HealthStatsParceler>() {
public HealthStatsParceler createFromParcel(Parcel in) {
return new HealthStatsParceler(in);
diff --git a/core/java/android/os/health/TimerStat.java b/core/java/android/os/health/TimerStat.java
index 6af1faf..4aaa85f 100644
--- a/core/java/android/os/health/TimerStat.java
+++ b/core/java/android/os/health/TimerStat.java
@@ -34,7 +34,7 @@
/**
* The CREATOR instance for use by aidl Binder interfaces.
*/
- public static final Parcelable.Creator<TimerStat> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<TimerStat> CREATOR
= new Parcelable.Creator<TimerStat>() {
public TimerStat createFromParcel(Parcel in) {
return new TimerStat(in);
diff --git a/core/java/android/os/storage/DiskInfo.java b/core/java/android/os/storage/DiskInfo.java
index 828f1c3..b797324 100644
--- a/core/java/android/os/storage/DiskInfo.java
+++ b/core/java/android/os/storage/DiskInfo.java
@@ -198,7 +198,7 @@
}
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
- public static final Creator<DiskInfo> CREATOR = new Creator<DiskInfo>() {
+ public static final @android.annotation.NonNull Creator<DiskInfo> CREATOR = new Creator<DiskInfo>() {
@Override
public DiskInfo createFromParcel(Parcel in) {
return new DiskInfo(in);
diff --git a/core/java/android/os/storage/StorageVolume.java b/core/java/android/os/storage/StorageVolume.java
index 714a061..225ecfa 100644
--- a/core/java/android/os/storage/StorageVolume.java
+++ b/core/java/android/os/storage/StorageVolume.java
@@ -431,7 +431,7 @@
pw.decreaseIndent();
}
- public static final Creator<StorageVolume> CREATOR = new Creator<StorageVolume>() {
+ public static final @android.annotation.NonNull Creator<StorageVolume> CREATOR = new Creator<StorageVolume>() {
@Override
public StorageVolume createFromParcel(Parcel in) {
return new StorageVolume(in);
diff --git a/core/java/android/os/storage/VolumeInfo.java b/core/java/android/os/storage/VolumeInfo.java
index 5d310e1..7699a05 100644
--- a/core/java/android/os/storage/VolumeInfo.java
+++ b/core/java/android/os/storage/VolumeInfo.java
@@ -527,7 +527,7 @@
}
@UnsupportedAppUsage
- public static final Creator<VolumeInfo> CREATOR = new Creator<VolumeInfo>() {
+ public static final @android.annotation.NonNull Creator<VolumeInfo> CREATOR = new Creator<VolumeInfo>() {
@Override
public VolumeInfo createFromParcel(Parcel in) {
return new VolumeInfo(in);
diff --git a/core/java/android/os/storage/VolumeRecord.java b/core/java/android/os/storage/VolumeRecord.java
index bc2d55a..b6ee261 100644
--- a/core/java/android/os/storage/VolumeRecord.java
+++ b/core/java/android/os/storage/VolumeRecord.java
@@ -130,7 +130,7 @@
}
@UnsupportedAppUsage
- public static final Creator<VolumeRecord> CREATOR = new Creator<VolumeRecord>() {
+ public static final @android.annotation.NonNull Creator<VolumeRecord> CREATOR = new Creator<VolumeRecord>() {
@Override
public VolumeRecord createFromParcel(Parcel in) {
return new VolumeRecord(in);
diff --git a/core/java/android/permission/RuntimePermissionPresentationInfo.java b/core/java/android/permission/RuntimePermissionPresentationInfo.java
index ed7b05c..d66789f 100644
--- a/core/java/android/permission/RuntimePermissionPresentationInfo.java
+++ b/core/java/android/permission/RuntimePermissionPresentationInfo.java
@@ -97,7 +97,7 @@
parcel.writeInt(mFlags);
}
- public static final Creator<RuntimePermissionPresentationInfo> CREATOR =
+ public static final @android.annotation.NonNull Creator<RuntimePermissionPresentationInfo> CREATOR =
new Creator<RuntimePermissionPresentationInfo>() {
public RuntimePermissionPresentationInfo createFromParcel(Parcel source) {
return new RuntimePermissionPresentationInfo(source);
diff --git a/core/java/android/permission/RuntimePermissionUsageInfo.java b/core/java/android/permission/RuntimePermissionUsageInfo.java
index af1a1be..9f954f7 100644
--- a/core/java/android/permission/RuntimePermissionUsageInfo.java
+++ b/core/java/android/permission/RuntimePermissionUsageInfo.java
@@ -83,7 +83,7 @@
parcel.writeInt(mNumUsers);
}
- public static final Creator<RuntimePermissionUsageInfo> CREATOR =
+ public static final @android.annotation.NonNull Creator<RuntimePermissionUsageInfo> CREATOR =
new Creator<RuntimePermissionUsageInfo>() {
public RuntimePermissionUsageInfo createFromParcel(Parcel source) {
return new RuntimePermissionUsageInfo(source);
diff --git a/core/java/android/preference/DialogPreference.java b/core/java/android/preference/DialogPreference.java
index 96c8589..8880296 100644
--- a/core/java/android/preference/DialogPreference.java
+++ b/core/java/android/preference/DialogPreference.java
@@ -519,7 +519,7 @@
super(superState);
}
- public static final Parcelable.Creator<SavedState> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<SavedState> CREATOR =
new Parcelable.Creator<SavedState>() {
public SavedState createFromParcel(Parcel in) {
return new SavedState(in);
diff --git a/core/java/android/preference/EditTextPreference.java b/core/java/android/preference/EditTextPreference.java
index c09cec8..74c5e3e 100644
--- a/core/java/android/preference/EditTextPreference.java
+++ b/core/java/android/preference/EditTextPreference.java
@@ -234,7 +234,7 @@
super(superState);
}
- public static final Parcelable.Creator<SavedState> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<SavedState> CREATOR =
new Parcelable.Creator<SavedState>() {
public SavedState createFromParcel(Parcel in) {
return new SavedState(in);
diff --git a/core/java/android/preference/ListPreference.java b/core/java/android/preference/ListPreference.java
index 14c1dc81..830de525 100644
--- a/core/java/android/preference/ListPreference.java
+++ b/core/java/android/preference/ListPreference.java
@@ -348,7 +348,7 @@
super(superState);
}
- public static final Parcelable.Creator<SavedState> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<SavedState> CREATOR =
new Parcelable.Creator<SavedState>() {
public SavedState createFromParcel(Parcel in) {
return new SavedState(in);
diff --git a/core/java/android/preference/MultiCheckPreference.java b/core/java/android/preference/MultiCheckPreference.java
index e3d0e26..4b854ad 100644
--- a/core/java/android/preference/MultiCheckPreference.java
+++ b/core/java/android/preference/MultiCheckPreference.java
@@ -329,7 +329,7 @@
super(superState);
}
- public static final Parcelable.Creator<SavedState> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<SavedState> CREATOR =
new Parcelable.Creator<SavedState>() {
public SavedState createFromParcel(Parcel in) {
return new SavedState(in);
diff --git a/core/java/android/preference/MultiSelectListPreference.java b/core/java/android/preference/MultiSelectListPreference.java
index 43182d9..3d80717 100644
--- a/core/java/android/preference/MultiSelectListPreference.java
+++ b/core/java/android/preference/MultiSelectListPreference.java
@@ -279,7 +279,7 @@
dest.writeStringArray(values.toArray(new String[0]));
}
- public static final Parcelable.Creator<SavedState> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<SavedState> CREATOR =
new Parcelable.Creator<SavedState>() {
public SavedState createFromParcel(Parcel in) {
return new SavedState(in);
diff --git a/core/java/android/preference/Preference.java b/core/java/android/preference/Preference.java
index 3c1ba9d..e82e60d 100644
--- a/core/java/android/preference/Preference.java
+++ b/core/java/android/preference/Preference.java
@@ -2108,7 +2108,7 @@
super(superState);
}
- public static final Parcelable.Creator<BaseSavedState> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<BaseSavedState> CREATOR =
new Parcelable.Creator<BaseSavedState>() {
public BaseSavedState createFromParcel(Parcel in) {
return new BaseSavedState(in);
diff --git a/core/java/android/preference/PreferenceActivity.java b/core/java/android/preference/PreferenceActivity.java
index eab5937..4750971 100644
--- a/core/java/android/preference/PreferenceActivity.java
+++ b/core/java/android/preference/PreferenceActivity.java
@@ -518,7 +518,7 @@
readFromParcel(in);
}
- public static final Creator<Header> CREATOR = new Creator<Header>() {
+ public static final @android.annotation.NonNull Creator<Header> CREATOR = new Creator<Header>() {
public Header createFromParcel(Parcel source) {
return new Header(source);
}
diff --git a/core/java/android/preference/PreferenceScreen.java b/core/java/android/preference/PreferenceScreen.java
index c7653c8..a353dbc 100644
--- a/core/java/android/preference/PreferenceScreen.java
+++ b/core/java/android/preference/PreferenceScreen.java
@@ -315,7 +315,7 @@
super(superState);
}
- public static final Parcelable.Creator<SavedState> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<SavedState> CREATOR =
new Parcelable.Creator<SavedState>() {
public SavedState createFromParcel(Parcel in) {
return new SavedState(in);
diff --git a/core/java/android/preference/SeekBarPreference.java b/core/java/android/preference/SeekBarPreference.java
index f789e31..99ab9db 100644
--- a/core/java/android/preference/SeekBarPreference.java
+++ b/core/java/android/preference/SeekBarPreference.java
@@ -249,7 +249,7 @@
}
@SuppressWarnings("unused")
- public static final Parcelable.Creator<SavedState> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<SavedState> CREATOR =
new Parcelable.Creator<SavedState>() {
public SavedState createFromParcel(Parcel in) {
return new SavedState(in);
diff --git a/core/java/android/preference/TwoStatePreference.java b/core/java/android/preference/TwoStatePreference.java
index 454472a..bb771d7 100644
--- a/core/java/android/preference/TwoStatePreference.java
+++ b/core/java/android/preference/TwoStatePreference.java
@@ -278,7 +278,7 @@
super(superState);
}
- public static final Parcelable.Creator<SavedState> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<SavedState> CREATOR =
new Parcelable.Creator<SavedState>() {
public SavedState createFromParcel(Parcel in) {
return new SavedState(in);
diff --git a/core/java/android/preference/VolumePreference.java b/core/java/android/preference/VolumePreference.java
index 92d848a..a2d5a23 100644
--- a/core/java/android/preference/VolumePreference.java
+++ b/core/java/android/preference/VolumePreference.java
@@ -236,7 +236,7 @@
super(superState);
}
- public static final Parcelable.Creator<SavedState> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<SavedState> CREATOR =
new Parcelable.Creator<SavedState>() {
public SavedState createFromParcel(Parcel in) {
return new SavedState(in);
diff --git a/core/java/android/print/PageRange.java b/core/java/android/print/PageRange.java
index 2941283..1345038 100644
--- a/core/java/android/print/PageRange.java
+++ b/core/java/android/print/PageRange.java
@@ -162,7 +162,7 @@
return builder.toString();
}
- public static final Parcelable.Creator<PageRange> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<PageRange> CREATOR =
new Creator<PageRange>() {
@Override
public PageRange createFromParcel(Parcel parcel) {
diff --git a/core/java/android/print/PrintAttributes.java b/core/java/android/print/PrintAttributes.java
index f0d9a0c..e607ced 100644
--- a/core/java/android/print/PrintAttributes.java
+++ b/core/java/android/print/PrintAttributes.java
@@ -1465,7 +1465,7 @@
}
}
- public static final Parcelable.Creator<PrintAttributes> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<PrintAttributes> CREATOR =
new Creator<PrintAttributes>() {
@Override
public PrintAttributes createFromParcel(Parcel parcel) {
diff --git a/core/java/android/print/PrintDocumentInfo.java b/core/java/android/print/PrintDocumentInfo.java
index 55c902e..e10c507 100644
--- a/core/java/android/print/PrintDocumentInfo.java
+++ b/core/java/android/print/PrintDocumentInfo.java
@@ -367,7 +367,7 @@
}
}
- public static final Parcelable.Creator<PrintDocumentInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<PrintDocumentInfo> CREATOR =
new Creator<PrintDocumentInfo>() {
@Override
public PrintDocumentInfo createFromParcel(Parcel parcel) {
diff --git a/core/java/android/print/PrintJobId.java b/core/java/android/print/PrintJobId.java
index 186ae9b..606cbb8 100644
--- a/core/java/android/print/PrintJobId.java
+++ b/core/java/android/print/PrintJobId.java
@@ -109,7 +109,7 @@
return new PrintJobId(string);
}
- public static final Parcelable.Creator<PrintJobId> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<PrintJobId> CREATOR =
new Parcelable.Creator<PrintJobId>() {
@Override
public PrintJobId createFromParcel(Parcel parcel) {
diff --git a/core/java/android/print/PrintJobInfo.java b/core/java/android/print/PrintJobInfo.java
index 41f261b..25f383c 100644
--- a/core/java/android/print/PrintJobInfo.java
+++ b/core/java/android/print/PrintJobInfo.java
@@ -881,7 +881,7 @@
}
}
- public static final Parcelable.Creator<PrintJobInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<PrintJobInfo> CREATOR =
new Creator<PrintJobInfo>() {
@Override
public PrintJobInfo createFromParcel(Parcel parcel) {
diff --git a/core/java/android/print/PrinterCapabilitiesInfo.java b/core/java/android/print/PrinterCapabilitiesInfo.java
index 01c23f6..e465d3b 100644
--- a/core/java/android/print/PrinterCapabilitiesInfo.java
+++ b/core/java/android/print/PrinterCapabilitiesInfo.java
@@ -646,7 +646,7 @@
}
}
- public static final Parcelable.Creator<PrinterCapabilitiesInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<PrinterCapabilitiesInfo> CREATOR =
new Parcelable.Creator<PrinterCapabilitiesInfo>() {
@Override
public PrinterCapabilitiesInfo createFromParcel(Parcel parcel) {
diff --git a/core/java/android/print/PrinterId.java b/core/java/android/print/PrinterId.java
index 659e56f..42570c6 100644
--- a/core/java/android/print/PrinterId.java
+++ b/core/java/android/print/PrinterId.java
@@ -124,7 +124,7 @@
return builder.toString();
}
- public static final Parcelable.Creator<PrinterId> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<PrinterId> CREATOR =
new Creator<PrinterId>() {
@Override
public PrinterId createFromParcel(Parcel parcel) {
diff --git a/core/java/android/print/PrinterInfo.java b/core/java/android/print/PrinterInfo.java
index e79cc65..4d5ccc0 100644
--- a/core/java/android/print/PrinterInfo.java
+++ b/core/java/android/print/PrinterInfo.java
@@ -563,7 +563,7 @@
}
}
- public static final Parcelable.Creator<PrinterInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<PrinterInfo> CREATOR =
new Parcelable.Creator<PrinterInfo>() {
@Override
public PrinterInfo createFromParcel(Parcel parcel) {
diff --git a/core/java/android/printservice/PrintServiceInfo.java b/core/java/android/printservice/PrintServiceInfo.java
index 57f1229..565843e 100644
--- a/core/java/android/printservice/PrintServiceInfo.java
+++ b/core/java/android/printservice/PrintServiceInfo.java
@@ -328,7 +328,7 @@
return builder.toString();
}
- public static final Parcelable.Creator<PrintServiceInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<PrintServiceInfo> CREATOR =
new Parcelable.Creator<PrintServiceInfo>() {
@Override
public PrintServiceInfo createFromParcel(Parcel parcel) {
diff --git a/core/java/android/printservice/recommendation/RecommendationInfo.java b/core/java/android/printservice/recommendation/RecommendationInfo.java
index a327956..156f182 100644
--- a/core/java/android/printservice/recommendation/RecommendationInfo.java
+++ b/core/java/android/printservice/recommendation/RecommendationInfo.java
@@ -182,7 +182,7 @@
*
* @see #RecommendationInfo(Parcel)
*/
- public static final Creator<RecommendationInfo> CREATOR =
+ public static final @android.annotation.NonNull Creator<RecommendationInfo> CREATOR =
new Creator<RecommendationInfo>() {
@Override
public RecommendationInfo createFromParcel(Parcel in) {
diff --git a/core/java/android/provider/CalendarContract.java b/core/java/android/provider/CalendarContract.java
index 3e5bd4b..5d34aa6 100644
--- a/core/java/android/provider/CalendarContract.java
+++ b/core/java/android/provider/CalendarContract.java
@@ -183,6 +183,22 @@
public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY);
/**
+ * The content:// style URL for the top-level cross-profile calendar uris.
+ * {@link android.database.ContentObserver} for this URL in the primary profile will be
+ * notified when there is a change in the managed profile calendar provider.
+ *
+ * @see Events#ENTERPRISE_CONTENT_URI
+ * @see Calendars#ENTERPRISE_CONTENT_URI
+ * @see Instances#ENTERPRISE_CONTENT_URI
+ * @see Instances#ENTERPRISE_CONTENT_BY_DAY_URI
+ * @see Instances#ENTERPRISE_CONTENT_SEARCH_URI
+ * @see Instances#ENTERPRISE_CONTENT_SEARCH_BY_DAY_URI
+ * @hide
+ */
+ public static final Uri ENTERPRISE_CONTENT_URI = Uri.parse(
+ "content://" + AUTHORITY + "/enterprise");
+
+ /**
* An optional insert, update or delete URI parameter that allows the caller
* to specify that it is a sync adapter. The default value is false. If set
* to true, the modified row is not marked as "dirty" (needs to be synced)
diff --git a/core/java/android/provider/DeviceConfig.java b/core/java/android/provider/DeviceConfig.java
index ddb8758..010e3b1 100644
--- a/core/java/android/provider/DeviceConfig.java
+++ b/core/java/android/provider/DeviceConfig.java
@@ -55,6 +55,15 @@
public static final Uri CONTENT_URI = Uri.parse("content://" + Settings.AUTHORITY + "/config");
/**
+ * Namespace for activity manager related features. These features will be applied
+ * immediately upon change.
+ *
+ * @hide
+ */
+ @SystemApi
+ public static final String NAMESPACE_ACTIVITY_MANAGER = "activity_manager";
+
+ /**
* Namespace for all Game Driver features.
*
* @hide
@@ -281,35 +290,6 @@
}
/**
- * Namespace for activity manager related features. These features will be applied
- * immediately upon change.
- *
- * @hide
- */
- @SystemApi
- public interface ActivityManager {
- String NAMESPACE = "activity_manager";
-
- /**
- * App compaction flags. See {@link com.android.server.am.AppCompactor}.
- */
- String KEY_USE_COMPACTION = "use_compaction";
- String KEY_COMPACT_ACTION_1 = "compact_action_1";
- String KEY_COMPACT_ACTION_2 = "compact_action_2";
- String KEY_COMPACT_THROTTLE_1 = "compact_throttle_1";
- String KEY_COMPACT_THROTTLE_2 = "compact_throttle_2";
- String KEY_COMPACT_THROTTLE_3 = "compact_throttle_3";
- String KEY_COMPACT_THROTTLE_4 = "compact_throttle_4";
- String KEY_COMPACT_STATSD_SAMPLE_RATE = "compact_statsd_sample_rate";
-
- /**
- * Maximum number of cached processes. See
- * {@link com.android.server.am.ActivityManagerConstants}.
- */
- String KEY_MAX_CACHED_PROCESSES = "max_cached_processes";
- }
-
- /**
* Namespace for {@link AttentionManagerService} related features.
*
* @hide
@@ -412,6 +392,110 @@
}
/**
+ * Look up the String value of a property for a particular namespace.
+ *
+ * @param namespace The namespace containing the property to look up.
+ * @param name The name of the property to look up.
+ * @param defaultValue The value to return if the property does not exist or has no non-null
+ * value.
+ * @return the corresponding value, or defaultValue if none exists.
+ * @hide
+ */
+ @SystemApi
+ @TestApi
+ @RequiresPermission(READ_DEVICE_CONFIG)
+ public static String getString(String namespace, String name, String defaultValue) {
+ String value = getProperty(namespace, name);
+ return value != null ? value : defaultValue;
+ }
+
+ /**
+ * Look up the boolean value of a property for a particular namespace.
+ *
+ * @param namespace The namespace containing the property to look up.
+ * @param name The name of the property to look up.
+ * @param defaultValue The value to return if the property does not exist or has no non-null
+ * value.
+ * @return the corresponding value, or defaultValue if none exists.
+ * @hide
+ */
+ @SystemApi
+ @TestApi
+ @RequiresPermission(READ_DEVICE_CONFIG)
+ public static boolean getBoolean(String namespace, String name, boolean defaultValue) {
+ String value = getProperty(namespace, name);
+ return value != null ? Boolean.parseBoolean(value) : defaultValue;
+ }
+
+ /**
+ * Look up the int value of a property for a particular namespace.
+ *
+ * @param namespace The namespace containing the property to look up.
+ * @param name The name of the property to look up.
+ * @param defaultValue The value to return if the property does not exist, has no non-null
+ * value, or fails to parse into an int.
+ * @return the corresponding value, or defaultValue if either none exists or it does not parse.
+ * @hide
+ */
+ @SystemApi
+ @TestApi
+ @RequiresPermission(READ_DEVICE_CONFIG)
+ public static int getInt(String namespace, String name, int defaultValue) {
+ String value = getProperty(namespace, name);
+ try {
+ return Integer.parseInt(value);
+ } catch (NumberFormatException e) {
+ return defaultValue;
+ }
+ }
+
+ /**
+ * Look up the long value of a property for a particular namespace.
+ *
+ * @param namespace The namespace containing the property to look up.
+ * @param name The name of the property to look up.
+ * @param defaultValue The value to return if the property does not exist, has no non-null
+ * value, or fails to parse into a long.
+ * @return the corresponding value, or defaultValue if either none exists or it does not parse.
+ * @hide
+ */
+ @SystemApi
+ @TestApi
+ @RequiresPermission(READ_DEVICE_CONFIG)
+ public static long getLong(String namespace, String name, long defaultValue) {
+ String value = getProperty(namespace, name);
+ try {
+ return Long.parseLong(value);
+ } catch (NumberFormatException e) {
+ return defaultValue;
+ }
+ }
+
+ /**
+ * Look up the float value of a property for a particular namespace.
+ *
+ * @param namespace The namespace containing the property to look up.
+ * @param name The name of the property to look up.
+ * @param defaultValue The value to return if the property does not exist, has no non-null
+ * value, or fails to parse into a float.
+ * @return the corresponding value, or defaultValue if either none exists or it does not parse.
+ * @hide
+ */
+ @SystemApi
+ @TestApi
+ @RequiresPermission(READ_DEVICE_CONFIG)
+ public static float getFloat(String namespace, String name, float defaultValue) {
+ String value = getProperty(namespace, name);
+ try {
+ return Float.parseFloat(value);
+ } catch (NumberFormatException e) {
+ return defaultValue;
+ } catch (NullPointerException e) {
+ return defaultValue;
+ }
+ }
+
+ /**
* Create a new property with the the provided name and value in the provided namespace, or
* update the value of such a property if it already exists. The same name can exist in multiple
* namespaces and might have different values in any or all namespaces.
diff --git a/core/java/android/provider/DocumentsContract.java b/core/java/android/provider/DocumentsContract.java
index d282967..49567b2 100644
--- a/core/java/android/provider/DocumentsContract.java
+++ b/core/java/android/provider/DocumentsContract.java
@@ -1794,7 +1794,7 @@
return 0;
}
- public static final Creator<Path> CREATOR = new Creator<Path>() {
+ public static final @android.annotation.NonNull Creator<Path> CREATOR = new Creator<Path>() {
@Override
public Path createFromParcel(Parcel in) {
final String rootId = in.readString();
diff --git a/core/java/android/provider/MediaStore.java b/core/java/android/provider/MediaStore.java
index 643307e..a34ac70 100644
--- a/core/java/android/provider/MediaStore.java
+++ b/core/java/android/provider/MediaStore.java
@@ -529,7 +529,6 @@
*
* @see MediaColumns#IS_PENDING
* @see MediaStore#setIncludePending(Uri)
- * @see MediaStore#createPending(Context, PendingParams)
*/
public static @NonNull Uri setIncludePending(@NonNull Uri uri) {
return setIncludePending(uri.buildUpon()).build();
@@ -586,7 +585,9 @@
* @see MediaColumns#IS_PENDING
* @see MediaStore#setIncludePending(Uri)
* @see MediaStore#createPending(Context, PendingParams)
+ * @removed
*/
+ @Deprecated
public static @NonNull Uri createPending(@NonNull Context context,
@NonNull PendingParams params) {
return context.getContentResolver().insert(params.insertUri, params.insertValues);
@@ -599,14 +600,19 @@
*
* @param uri token which was previously returned from
* {@link #createPending(Context, PendingParams)}.
+ * @removed
*/
+ @Deprecated
public static @NonNull PendingSession openPending(@NonNull Context context, @NonNull Uri uri) {
return new PendingSession(context, uri);
}
/**
* Parameters that describe a pending media item.
+ *
+ * @removed
*/
+ @Deprecated
public static class PendingParams {
/** {@hide} */
public final Uri insertUri;
@@ -711,7 +717,10 @@
* expected to have a short lifetime, and owners should either
* {@link PendingSession#publish()} or {@link PendingSession#abandon()} a
* pending item within a few hours after first creating it.
+ *
+ * @removed
*/
+ @Deprecated
public static class PendingSession implements AutoCloseable {
/** {@hide} */
private final Context mContext;
@@ -976,9 +985,7 @@
* Flag indicating if a media item is pending, and still being inserted
* by its owner.
*
- * @see MediaColumns#IS_PENDING
* @see MediaStore#setIncludePending(Uri)
- * @see MediaStore#createPending(Context, PendingParams)
*/
@Column(Cursor.FIELD_TYPE_INTEGER)
public static final String IS_PENDING = "is_pending";
@@ -998,12 +1005,8 @@
/**
* The time the media item should be considered expired. Typically only
- * meaningful in the context of {@link #IS_PENDING} or
- * {@link #IS_TRASHED}.
- *
- * @removed
+ * meaningful in the context of {@link #IS_PENDING}.
*/
- @Deprecated
@CurrentTimeSecondsLong
@Column(Cursor.FIELD_TYPE_INTEGER)
public static final String DATE_EXPIRES = "date_expires";
@@ -1030,8 +1033,6 @@
/**
* The primary directory name this media exists under. The value may be
* {@code NULL} if the media doesn't have a primary directory name.
- *
- * @see PendingParams#setPrimaryDirectory(String)
*/
@Column(Cursor.FIELD_TYPE_STRING)
public static final String PRIMARY_DIRECTORY = "primary_directory";
@@ -1039,8 +1040,6 @@
/**
* The secondary directory name this media exists under. The value may
* be {@code NULL} if the media doesn't have a secondary directory name.
- *
- * @see PendingParams#setSecondaryDirectory(String)
*/
@Column(Cursor.FIELD_TYPE_STRING)
public static final String SECONDARY_DIRECTORY = "secondary_directory";
@@ -1292,12 +1291,7 @@
}
/**
- * Container for downloaded files.
- *
- * <p>
- * Querying for downloads from this table will return files contributed via
- * {@link PendingSession} and also ones which were downloaded using
- * {@link android.app.DownloadManager} APIs.
+ * Collection of downloaded items.
*/
public static final class Downloads implements DownloadColumns {
private Downloads() {}
@@ -1305,6 +1299,7 @@
/**
* The content:// style URI for the internal storage.
*/
+ @NonNull
public static final Uri INTERNAL_CONTENT_URI =
getContentUri("internal");
@@ -1312,6 +1307,7 @@
* The content:// style URI for the "primary" external storage
* volume.
*/
+ @NonNull
public static final Uri EXTERNAL_CONTENT_URI =
getContentUri("external");
@@ -1336,13 +1332,13 @@
* @param volumeName the name of the volume to get the URI for
* @return the URI to the image media table on the given volume
*/
- public static Uri getContentUri(String volumeName) {
+ public static @NonNull Uri getContentUri(@NonNull String volumeName) {
return AUTHORITY_URI.buildUpon().appendPath(volumeName)
.appendPath("downloads").build();
}
/** @hide */
- public static Uri getContentUriForPath(@NonNull String path) {
+ public static @NonNull Uri getContentUriForPath(@NonNull String path) {
return getContentUri(getVolumeName(new File(path)));
}
@@ -1620,9 +1616,9 @@
* @param name The name of the image
* @param description The description of the image
* @return The URL to the newly created image
- * @deprecated inserting of images should be performed through
- * {@link MediaStore#createPending(Context, PendingParams)},
- * which offers richer control over lifecycle.
+ * @deprecated inserting of images should be performed using
+ * {@link MediaColumns#IS_PENDING}, which offers richer
+ * control over lifecycle.
*/
@Deprecated
public static final String insertImage(ContentResolver cr, String imagePath,
@@ -1651,9 +1647,9 @@
* @param description The description of the image
* @return The URL to the newly created image, or <code>null</code> if the image failed to be stored
* for any reason.
- * @deprecated inserting of images should be performed through
- * {@link MediaStore#createPending(Context, PendingParams)},
- * which offers richer control over lifecycle.
+ * @deprecated inserting of images should be performed using
+ * {@link MediaColumns#IS_PENDING}, which offers richer
+ * control over lifecycle.
*/
@Deprecated
public static final String insertImage(ContentResolver cr, Bitmap source,
@@ -3180,7 +3176,7 @@
* {@link MediaStore.Images.Media#getContentUri(String)} to query media at
* that location.
*/
- public static @NonNull Set<String> getAllVolumeNames(Context context) {
+ public static @NonNull Set<String> getAllVolumeNames(@NonNull Context context) {
final StorageManager sm = context.getSystemService(StorageManager.class);
final Set<String> volumeNames = new ArraySet<>();
volumeNames.add(VOLUME_INTERNAL);
@@ -3354,7 +3350,7 @@
* if no equivalent was found.
* @see #getMediaUri(Context, Uri)
*/
- public static Uri getDocumentUri(Context context, Uri mediaUri) {
+ public static @Nullable Uri getDocumentUri(@NonNull Context context, @NonNull Uri mediaUri) {
final ContentResolver resolver = context.getContentResolver();
final List<UriPermission> uriPermissions = resolver.getPersistedUriPermissions();
@@ -3384,7 +3380,7 @@
* equivalent was found.
* @see #getDocumentUri(Context, Uri)
*/
- public static Uri getMediaUri(Context context, Uri documentUri) {
+ public static @Nullable Uri getMediaUri(@NonNull Context context, @NonNull Uri documentUri) {
final ContentResolver resolver = context.getContentResolver();
final List<UriPermission> uriPermissions = resolver.getPersistedUriPermissions();
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index 0d7e00f..d395a9f 100644
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -13376,8 +13376,8 @@
"hidden_api_blacklist_exemptions";
/**
- * Sampling rate for hidden API access event logs, as an integer in the range 0 to 0x10000
- * inclusive.
+ * Sampling rate for hidden API access event logs with libmetricslogger, as an integer in
+ * the range 0 to 0x10000 inclusive.
*
* @hide
*/
@@ -13385,6 +13385,15 @@
"hidden_api_access_log_sampling_rate";
/**
+ * Sampling rate for hidden API access event logging with statslog, as an integer in the
+ * range 0 to 0x10000 inclusive.
+ *
+ * @hide
+ */
+ public static final String HIDDEN_API_ACCESS_STATSLOG_SAMPLING_RATE =
+ "hidden_api_access_statslog_sampling_rate";
+
+ /**
* Hidden API enforcement policy for apps.
*
* Values correspond to @{@link
diff --git a/core/java/android/security/KeystoreArguments.java b/core/java/android/security/KeystoreArguments.java
index 7d85ca7..e634234 100644
--- a/core/java/android/security/KeystoreArguments.java
+++ b/core/java/android/security/KeystoreArguments.java
@@ -29,7 +29,7 @@
public byte[][] args;
@UnsupportedAppUsage
- public static final Parcelable.Creator<KeystoreArguments> CREATOR = new
+ public static final @android.annotation.NonNull Parcelable.Creator<KeystoreArguments> CREATOR = new
Parcelable.Creator<KeystoreArguments>() {
public KeystoreArguments createFromParcel(Parcel in) {
return new KeystoreArguments(in);
diff --git a/core/java/android/security/keymaster/ExportResult.java b/core/java/android/security/keymaster/ExportResult.java
index 1ab79fb..1be5ae9 100644
--- a/core/java/android/security/keymaster/ExportResult.java
+++ b/core/java/android/security/keymaster/ExportResult.java
@@ -34,7 +34,7 @@
}
@UnsupportedAppUsage
- public static final Parcelable.Creator<ExportResult> CREATOR = new
+ public static final @android.annotation.NonNull Parcelable.Creator<ExportResult> CREATOR = new
Parcelable.Creator<ExportResult>() {
public ExportResult createFromParcel(Parcel in) {
return new ExportResult(in);
diff --git a/core/java/android/security/keymaster/KeyAttestationApplicationId.java b/core/java/android/security/keymaster/KeyAttestationApplicationId.java
index 8e585f4b..670f30e1b 100644
--- a/core/java/android/security/keymaster/KeyAttestationApplicationId.java
+++ b/core/java/android/security/keymaster/KeyAttestationApplicationId.java
@@ -55,7 +55,7 @@
dest.writeTypedArray(mAttestationPackageInfos, flags);
}
- public static final Parcelable.Creator<KeyAttestationApplicationId> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<KeyAttestationApplicationId> CREATOR
= new Parcelable.Creator<KeyAttestationApplicationId>() {
@Override
public KeyAttestationApplicationId createFromParcel(Parcel source) {
diff --git a/core/java/android/security/keymaster/KeyAttestationPackageInfo.java b/core/java/android/security/keymaster/KeyAttestationPackageInfo.java
index a93d1e1..c0b8d8d 100644
--- a/core/java/android/security/keymaster/KeyAttestationPackageInfo.java
+++ b/core/java/android/security/keymaster/KeyAttestationPackageInfo.java
@@ -74,7 +74,7 @@
dest.writeTypedArray(mPackageSignatures, flags);
}
- public static final Parcelable.Creator<KeyAttestationPackageInfo> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<KeyAttestationPackageInfo> CREATOR
= new Parcelable.Creator<KeyAttestationPackageInfo>() {
@Override
public KeyAttestationPackageInfo createFromParcel(Parcel source) {
diff --git a/core/java/android/security/keymaster/KeyCharacteristics.java b/core/java/android/security/keymaster/KeyCharacteristics.java
index a4fe75d..2eb2cef 100644
--- a/core/java/android/security/keymaster/KeyCharacteristics.java
+++ b/core/java/android/security/keymaster/KeyCharacteristics.java
@@ -32,7 +32,7 @@
public KeymasterArguments swEnforced;
public KeymasterArguments hwEnforced;
- public static final Parcelable.Creator<KeyCharacteristics> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<KeyCharacteristics> CREATOR =
new Parcelable.Creator<KeyCharacteristics>() {
@Override
public KeyCharacteristics createFromParcel(Parcel in) {
diff --git a/core/java/android/security/keymaster/KeymasterArgument.java b/core/java/android/security/keymaster/KeymasterArgument.java
index 6ad53a4..8b86d41 100644
--- a/core/java/android/security/keymaster/KeymasterArgument.java
+++ b/core/java/android/security/keymaster/KeymasterArgument.java
@@ -30,7 +30,7 @@
abstract class KeymasterArgument implements Parcelable {
public final int tag;
- public static final Parcelable.Creator<KeymasterArgument> CREATOR = new
+ public static final @android.annotation.NonNull Parcelable.Creator<KeymasterArgument> CREATOR = new
Parcelable.Creator<KeymasterArgument>() {
@Override
public KeymasterArgument createFromParcel(Parcel in) {
diff --git a/core/java/android/security/keymaster/KeymasterArguments.java b/core/java/android/security/keymaster/KeymasterArguments.java
index 5aa0f91..d2dbdec 100644
--- a/core/java/android/security/keymaster/KeymasterArguments.java
+++ b/core/java/android/security/keymaster/KeymasterArguments.java
@@ -42,7 +42,7 @@
private List<KeymasterArgument> mArguments;
@UnsupportedAppUsage
- public static final Parcelable.Creator<KeymasterArguments> CREATOR = new
+ public static final @android.annotation.NonNull Parcelable.Creator<KeymasterArguments> CREATOR = new
Parcelable.Creator<KeymasterArguments>() {
@Override
public KeymasterArguments createFromParcel(Parcel in) {
diff --git a/core/java/android/security/keymaster/KeymasterBlob.java b/core/java/android/security/keymaster/KeymasterBlob.java
index 0659a22..6a2024f 100644
--- a/core/java/android/security/keymaster/KeymasterBlob.java
+++ b/core/java/android/security/keymaster/KeymasterBlob.java
@@ -30,7 +30,7 @@
this.blob = blob;
}
@UnsupportedAppUsage
- public static final Parcelable.Creator<KeymasterBlob> CREATOR = new
+ public static final @android.annotation.NonNull Parcelable.Creator<KeymasterBlob> CREATOR = new
Parcelable.Creator<KeymasterBlob>() {
public KeymasterBlob createFromParcel(Parcel in) {
return new KeymasterBlob(in);
diff --git a/core/java/android/security/keymaster/KeymasterCertificateChain.java b/core/java/android/security/keymaster/KeymasterCertificateChain.java
index 00a1a1c..4bad462 100644
--- a/core/java/android/security/keymaster/KeymasterCertificateChain.java
+++ b/core/java/android/security/keymaster/KeymasterCertificateChain.java
@@ -32,7 +32,7 @@
private List<byte[]> mCertificates;
- public static final Parcelable.Creator<KeymasterCertificateChain> CREATOR = new
+ public static final @android.annotation.NonNull Parcelable.Creator<KeymasterCertificateChain> CREATOR = new
Parcelable.Creator<KeymasterCertificateChain>() {
public KeymasterCertificateChain createFromParcel(Parcel in) {
return new KeymasterCertificateChain(in);
diff --git a/core/java/android/security/keymaster/OperationResult.java b/core/java/android/security/keymaster/OperationResult.java
index bc4f360..c278eb3 100644
--- a/core/java/android/security/keymaster/OperationResult.java
+++ b/core/java/android/security/keymaster/OperationResult.java
@@ -35,7 +35,7 @@
public final KeymasterArguments outParams;
@UnsupportedAppUsage
- public static final Parcelable.Creator<OperationResult> CREATOR = new
+ public static final @android.annotation.NonNull Parcelable.Creator<OperationResult> CREATOR = new
Parcelable.Creator<OperationResult>() {
@Override
public OperationResult createFromParcel(Parcel in) {
diff --git a/core/java/android/security/keystore/recovery/KeyChainProtectionParams.java b/core/java/android/security/keystore/recovery/KeyChainProtectionParams.java
index 4af1af5..8f6b6ec 100644
--- a/core/java/android/security/keystore/recovery/KeyChainProtectionParams.java
+++ b/core/java/android/security/keystore/recovery/KeyChainProtectionParams.java
@@ -236,7 +236,7 @@
Arrays.fill(mSecret, (byte) 0);
}
- public static final Parcelable.Creator<KeyChainProtectionParams> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<KeyChainProtectionParams> CREATOR =
new Parcelable.Creator<KeyChainProtectionParams>() {
public KeyChainProtectionParams createFromParcel(Parcel in) {
return new KeyChainProtectionParams(in);
diff --git a/core/java/android/security/keystore/recovery/KeyChainSnapshot.java b/core/java/android/security/keystore/recovery/KeyChainSnapshot.java
index 035b226..18517aa 100644
--- a/core/java/android/security/keystore/recovery/KeyChainSnapshot.java
+++ b/core/java/android/security/keystore/recovery/KeyChainSnapshot.java
@@ -147,7 +147,7 @@
return mEncryptedRecoveryKeyBlob;
}
- public static final Creator<KeyChainSnapshot> CREATOR =
+ public static final @android.annotation.NonNull Creator<KeyChainSnapshot> CREATOR =
new Creator<KeyChainSnapshot>() {
public KeyChainSnapshot createFromParcel(Parcel in) {
return new KeyChainSnapshot(in);
diff --git a/core/java/android/security/keystore/recovery/KeyDerivationParams.java b/core/java/android/security/keystore/recovery/KeyDerivationParams.java
index 5165f0c..6d1533e 100644
--- a/core/java/android/security/keystore/recovery/KeyDerivationParams.java
+++ b/core/java/android/security/keystore/recovery/KeyDerivationParams.java
@@ -140,7 +140,7 @@
return mMemoryDifficulty;
}
- public static final Parcelable.Creator<KeyDerivationParams> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<KeyDerivationParams> CREATOR =
new Parcelable.Creator<KeyDerivationParams>() {
public KeyDerivationParams createFromParcel(Parcel in) {
return new KeyDerivationParams(in);
diff --git a/core/java/android/security/keystore/recovery/RecoveryCertPath.java b/core/java/android/security/keystore/recovery/RecoveryCertPath.java
index f3604fe..04e965f 100644
--- a/core/java/android/security/keystore/recovery/RecoveryCertPath.java
+++ b/core/java/android/security/keystore/recovery/RecoveryCertPath.java
@@ -74,7 +74,7 @@
mEncodedCertPath = in.createByteArray();
}
- public static final Parcelable.Creator<RecoveryCertPath> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<RecoveryCertPath> CREATOR =
new Parcelable.Creator<RecoveryCertPath>() {
public RecoveryCertPath createFromParcel(Parcel in) {
return new RecoveryCertPath(in);
diff --git a/core/java/android/security/keystore/recovery/WrappedApplicationKey.java b/core/java/android/security/keystore/recovery/WrappedApplicationKey.java
index dbfd655..c6e6272 100644
--- a/core/java/android/security/keystore/recovery/WrappedApplicationKey.java
+++ b/core/java/android/security/keystore/recovery/WrappedApplicationKey.java
@@ -143,7 +143,7 @@
return mMetadata;
}
- public static final Parcelable.Creator<WrappedApplicationKey> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<WrappedApplicationKey> CREATOR =
new Parcelable.Creator<WrappedApplicationKey>() {
public WrappedApplicationKey createFromParcel(Parcel in) {
return new WrappedApplicationKey(in);
diff --git a/core/java/android/service/autofill/AutofillFieldClassificationService.java b/core/java/android/service/autofill/AutofillFieldClassificationService.java
index 2612917..5f64755 100644
--- a/core/java/android/service/autofill/AutofillFieldClassificationService.java
+++ b/core/java/android/service/autofill/AutofillFieldClassificationService.java
@@ -349,7 +349,7 @@
}
}
- public static final Creator<Scores> CREATOR = new Creator<Scores>() {
+ public static final @android.annotation.NonNull Creator<Scores> CREATOR = new Creator<Scores>() {
@Override
public Scores createFromParcel(Parcel parcel) {
return new Scores(parcel);
diff --git a/core/java/android/service/autofill/BatchUpdates.java b/core/java/android/service/autofill/BatchUpdates.java
index 2ba0376..e0b1c2f 100644
--- a/core/java/android/service/autofill/BatchUpdates.java
+++ b/core/java/android/service/autofill/BatchUpdates.java
@@ -187,7 +187,7 @@
}
dest.writeParcelable(mUpdates, flags);
}
- public static final Parcelable.Creator<BatchUpdates> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<BatchUpdates> CREATOR =
new Parcelable.Creator<BatchUpdates>() {
@Override
public BatchUpdates createFromParcel(Parcel parcel) {
diff --git a/core/java/android/service/autofill/CharSequenceTransformation.java b/core/java/android/service/autofill/CharSequenceTransformation.java
index 271707a..e3e8844 100644
--- a/core/java/android/service/autofill/CharSequenceTransformation.java
+++ b/core/java/android/service/autofill/CharSequenceTransformation.java
@@ -208,7 +208,7 @@
parcel.writeStringArray(substs);
}
- public static final Parcelable.Creator<CharSequenceTransformation> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<CharSequenceTransformation> CREATOR =
new Parcelable.Creator<CharSequenceTransformation>() {
@Override
public CharSequenceTransformation createFromParcel(Parcel parcel) {
diff --git a/core/java/android/service/autofill/CompositeUserData.java b/core/java/android/service/autofill/CompositeUserData.java
index 2df4ddf..c7dc15a 100644
--- a/core/java/android/service/autofill/CompositeUserData.java
+++ b/core/java/android/service/autofill/CompositeUserData.java
@@ -191,7 +191,7 @@
parcel.writeParcelable(mPackageUserData, 0);
}
- public static final Parcelable.Creator<CompositeUserData> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<CompositeUserData> CREATOR =
new Parcelable.Creator<CompositeUserData>() {
@Override
public CompositeUserData createFromParcel(Parcel parcel) {
diff --git a/core/java/android/service/autofill/CustomDescription.java b/core/java/android/service/autofill/CustomDescription.java
index fdbb1c2..ea87f4f 100644
--- a/core/java/android/service/autofill/CustomDescription.java
+++ b/core/java/android/service/autofill/CustomDescription.java
@@ -425,7 +425,7 @@
dest.writeParcelableArray(values, flags);
}
}
- public static final Parcelable.Creator<CustomDescription> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<CustomDescription> CREATOR =
new Parcelable.Creator<CustomDescription>() {
@Override
public CustomDescription createFromParcel(Parcel parcel) {
diff --git a/core/java/android/service/autofill/Dataset.java b/core/java/android/service/autofill/Dataset.java
index f8408be..d53e62a 100644
--- a/core/java/android/service/autofill/Dataset.java
+++ b/core/java/android/service/autofill/Dataset.java
@@ -500,7 +500,7 @@
parcel.writeString(mId);
}
- public static final Creator<Dataset> CREATOR = new Creator<Dataset>() {
+ public static final @android.annotation.NonNull Creator<Dataset> CREATOR = new Creator<Dataset>() {
@Override
public Dataset createFromParcel(Parcel parcel) {
// Always go through the builder to ensure the data ingested by
@@ -572,7 +572,7 @@
}
@SuppressWarnings("hiding")
- public static final Creator<DatasetFieldFilter> CREATOR =
+ public static final @android.annotation.NonNull Creator<DatasetFieldFilter> CREATOR =
new Creator<DatasetFieldFilter>() {
@Override
diff --git a/core/java/android/service/autofill/DateTransformation.java b/core/java/android/service/autofill/DateTransformation.java
index ec24a09..338ba74 100644
--- a/core/java/android/service/autofill/DateTransformation.java
+++ b/core/java/android/service/autofill/DateTransformation.java
@@ -111,7 +111,7 @@
parcel.writeSerializable(mDateFormat);
}
- public static final Parcelable.Creator<DateTransformation> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<DateTransformation> CREATOR =
new Parcelable.Creator<DateTransformation>() {
@Override
public DateTransformation createFromParcel(Parcel parcel) {
diff --git a/core/java/android/service/autofill/DateValueSanitizer.java b/core/java/android/service/autofill/DateValueSanitizer.java
index 4f797f4..707bab1 100644
--- a/core/java/android/service/autofill/DateValueSanitizer.java
+++ b/core/java/android/service/autofill/DateValueSanitizer.java
@@ -108,7 +108,7 @@
parcel.writeSerializable(mDateFormat);
}
- public static final Parcelable.Creator<DateValueSanitizer> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<DateValueSanitizer> CREATOR =
new Parcelable.Creator<DateValueSanitizer>() {
@Override
public DateValueSanitizer createFromParcel(Parcel parcel) {
diff --git a/core/java/android/service/autofill/FillContext.java b/core/java/android/service/autofill/FillContext.java
index 535c00b..70f434c 100644
--- a/core/java/android/service/autofill/FillContext.java
+++ b/core/java/android/service/autofill/FillContext.java
@@ -49,6 +49,7 @@
public final class FillContext implements Parcelable {
private final int mRequestId;
private final @NonNull AssistStructure mStructure;
+ private final @NonNull AutofillId mFocusedId;
/**
* Lookup table AutofillId->ViewNode to speed up {@link #findViewNodesByAutofillIds}
@@ -58,13 +59,15 @@
/** @hide */
- public FillContext(int requestId, @NonNull AssistStructure structure) {
+ public FillContext(int requestId, @NonNull AssistStructure structure,
+ @NonNull AutofillId autofillId) {
mRequestId = requestId;
mStructure = structure;
+ mFocusedId = autofillId;
}
private FillContext(Parcel parcel) {
- this(parcel.readInt(), parcel.readParcelable(null));
+ this(parcel.readInt(), parcel.readParcelable(null), parcel.readParcelable(null));
}
/**
@@ -82,15 +85,24 @@
/**
* @return The screen content.
*/
+ @NonNull
public AssistStructure getStructure() {
return mStructure;
}
+ /**
+ * @return the AutofillId of the view that triggered autofill.
+ */
+ @NonNull
+ public AutofillId getFocusedId() {
+ return mFocusedId;
+ }
+
@Override
public String toString() {
if (!sDebug) return super.toString();
- return "FillContext [reqId=" + mRequestId + "]";
+ return "FillContext [reqId=" + mRequestId + ", focusedId=" + mFocusedId + "]";
}
@Override
@@ -102,6 +114,7 @@
public void writeToParcel(Parcel parcel, int flags) {
parcel.writeInt(mRequestId);
parcel.writeParcelable(mStructure, flags);
+ parcel.writeParcelable(mFocusedId, flags);
}
/**
@@ -177,14 +190,16 @@
return foundNodes;
}
- public static final Parcelable.Creator<FillContext> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<FillContext> CREATOR =
new Parcelable.Creator<FillContext>() {
@Override
+ @NonNull
public FillContext createFromParcel(Parcel parcel) {
return new FillContext(parcel);
}
@Override
+ @NonNull
public FillContext[] newArray(int size) {
return new FillContext[size];
}
diff --git a/core/java/android/service/autofill/FillEventHistory.java b/core/java/android/service/autofill/FillEventHistory.java
index 6e5bacf..c65e773 100644
--- a/core/java/android/service/autofill/FillEventHistory.java
+++ b/core/java/android/service/autofill/FillEventHistory.java
@@ -517,7 +517,7 @@
}
}
- public static final Parcelable.Creator<FillEventHistory> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<FillEventHistory> CREATOR =
new Parcelable.Creator<FillEventHistory>() {
@Override
public FillEventHistory createFromParcel(Parcel parcel) {
diff --git a/core/java/android/service/autofill/FillRequest.java b/core/java/android/service/autofill/FillRequest.java
index cbd0cd9..66864c6 100644
--- a/core/java/android/service/autofill/FillRequest.java
+++ b/core/java/android/service/autofill/FillRequest.java
@@ -176,7 +176,7 @@
parcel.writeInt(mFlags);
}
- public static final Parcelable.Creator<FillRequest> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<FillRequest> CREATOR =
new Parcelable.Creator<FillRequest>() {
@Override
public FillRequest createFromParcel(Parcel parcel) {
diff --git a/core/java/android/service/autofill/FillResponse.java b/core/java/android/service/autofill/FillResponse.java
index 93ee8c3..257114c 100644
--- a/core/java/android/service/autofill/FillResponse.java
+++ b/core/java/android/service/autofill/FillResponse.java
@@ -658,7 +658,7 @@
parcel.writeInt(mRequestId);
}
- public static final Parcelable.Creator<FillResponse> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<FillResponse> CREATOR =
new Parcelable.Creator<FillResponse>() {
@Override
public FillResponse createFromParcel(Parcel parcel) {
diff --git a/core/java/android/service/autofill/ImageTransformation.java b/core/java/android/service/autofill/ImageTransformation.java
index 4afda24..12376e8 100644
--- a/core/java/android/service/autofill/ImageTransformation.java
+++ b/core/java/android/service/autofill/ImageTransformation.java
@@ -242,7 +242,7 @@
parcel.writeCharSequenceArray(contentDescriptions);
}
- public static final Parcelable.Creator<ImageTransformation> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ImageTransformation> CREATOR =
new Parcelable.Creator<ImageTransformation>() {
@Override
public ImageTransformation createFromParcel(Parcel parcel) {
diff --git a/core/java/android/service/autofill/LuhnChecksumValidator.java b/core/java/android/service/autofill/LuhnChecksumValidator.java
index c56ae84..ef0bd74 100644
--- a/core/java/android/service/autofill/LuhnChecksumValidator.java
+++ b/core/java/android/service/autofill/LuhnChecksumValidator.java
@@ -124,7 +124,7 @@
parcel.writeParcelableArray(mIds, flags);
}
- public static final Parcelable.Creator<LuhnChecksumValidator> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<LuhnChecksumValidator> CREATOR =
new Parcelable.Creator<LuhnChecksumValidator>() {
@Override
public LuhnChecksumValidator createFromParcel(Parcel parcel) {
diff --git a/core/java/android/service/autofill/NegationValidator.java b/core/java/android/service/autofill/NegationValidator.java
index a963f9f..2f098e2 100644
--- a/core/java/android/service/autofill/NegationValidator.java
+++ b/core/java/android/service/autofill/NegationValidator.java
@@ -64,7 +64,7 @@
dest.writeParcelable(mValidator, flags);
}
- public static final Parcelable.Creator<NegationValidator> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<NegationValidator> CREATOR =
new Parcelable.Creator<NegationValidator>() {
@Override
public NegationValidator createFromParcel(Parcel parcel) {
diff --git a/core/java/android/service/autofill/OptionalValidators.java b/core/java/android/service/autofill/OptionalValidators.java
index 7aec59f..7189c88 100644
--- a/core/java/android/service/autofill/OptionalValidators.java
+++ b/core/java/android/service/autofill/OptionalValidators.java
@@ -79,7 +79,7 @@
dest.writeParcelableArray(mValidators, flags);
}
- public static final Parcelable.Creator<OptionalValidators> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<OptionalValidators> CREATOR =
new Parcelable.Creator<OptionalValidators>() {
@Override
public OptionalValidators createFromParcel(Parcel parcel) {
diff --git a/core/java/android/service/autofill/RegexValidator.java b/core/java/android/service/autofill/RegexValidator.java
index 9dfe78d..8cb67d0 100644
--- a/core/java/android/service/autofill/RegexValidator.java
+++ b/core/java/android/service/autofill/RegexValidator.java
@@ -93,7 +93,7 @@
parcel.writeSerializable(mRegex);
}
- public static final Parcelable.Creator<RegexValidator> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<RegexValidator> CREATOR =
new Parcelable.Creator<RegexValidator>() {
@Override
public RegexValidator createFromParcel(Parcel parcel) {
diff --git a/core/java/android/service/autofill/RequiredValidators.java b/core/java/android/service/autofill/RequiredValidators.java
index 9e1db2b..619eba0 100644
--- a/core/java/android/service/autofill/RequiredValidators.java
+++ b/core/java/android/service/autofill/RequiredValidators.java
@@ -78,7 +78,7 @@
dest.writeParcelableArray(mValidators, flags);
}
- public static final Parcelable.Creator<RequiredValidators> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<RequiredValidators> CREATOR =
new Parcelable.Creator<RequiredValidators>() {
@Override
public RequiredValidators createFromParcel(Parcel parcel) {
diff --git a/core/java/android/service/autofill/SaveInfo.java b/core/java/android/service/autofill/SaveInfo.java
index dfaf49a..94b9d05 100644
--- a/core/java/android/service/autofill/SaveInfo.java
+++ b/core/java/android/service/autofill/SaveInfo.java
@@ -776,7 +776,7 @@
parcel.writeInt(mFlags);
}
- public static final Parcelable.Creator<SaveInfo> CREATOR = new Parcelable.Creator<SaveInfo>() {
+ public static final @android.annotation.NonNull Parcelable.Creator<SaveInfo> CREATOR = new Parcelable.Creator<SaveInfo>() {
@Override
public SaveInfo createFromParcel(Parcel parcel) {
diff --git a/core/java/android/service/autofill/SaveRequest.java b/core/java/android/service/autofill/SaveRequest.java
index c9b5b55..5dd07c4 100644
--- a/core/java/android/service/autofill/SaveRequest.java
+++ b/core/java/android/service/autofill/SaveRequest.java
@@ -101,7 +101,7 @@
parcel.writeStringList(mDatasetIds);
}
- public static final Creator<SaveRequest> CREATOR =
+ public static final @android.annotation.NonNull Creator<SaveRequest> CREATOR =
new Creator<SaveRequest>() {
@Override
public SaveRequest createFromParcel(Parcel parcel) {
diff --git a/core/java/android/service/autofill/TextValueSanitizer.java b/core/java/android/service/autofill/TextValueSanitizer.java
index a8c080a..cc48fcb 100644
--- a/core/java/android/service/autofill/TextValueSanitizer.java
+++ b/core/java/android/service/autofill/TextValueSanitizer.java
@@ -116,7 +116,7 @@
parcel.writeString(mSubst);
}
- public static final Parcelable.Creator<TextValueSanitizer> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<TextValueSanitizer> CREATOR =
new Parcelable.Creator<TextValueSanitizer>() {
@Override
public TextValueSanitizer createFromParcel(Parcel parcel) {
diff --git a/core/java/android/service/autofill/UserData.java b/core/java/android/service/autofill/UserData.java
index a793e09..cea0496 100644
--- a/core/java/android/service/autofill/UserData.java
+++ b/core/java/android/service/autofill/UserData.java
@@ -435,7 +435,7 @@
parcel.writeMap(mCategoryArgs);
}
- public static final Parcelable.Creator<UserData> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<UserData> CREATOR =
new Parcelable.Creator<UserData>() {
@Override
public UserData createFromParcel(Parcel parcel) {
diff --git a/core/java/android/service/autofill/VisibilitySetterAction.java b/core/java/android/service/autofill/VisibilitySetterAction.java
index 9f977d7..e29a23f 100644
--- a/core/java/android/service/autofill/VisibilitySetterAction.java
+++ b/core/java/android/service/autofill/VisibilitySetterAction.java
@@ -70,7 +70,7 @@
/**
* Builder for {@link VisibilitySetterAction} objects.
*/
- public static class Builder {
+ public static final class Builder {
private final SparseIntArray mVisibilities = new SparseIntArray();
private boolean mDestroyed;
@@ -96,6 +96,7 @@
* @throws IllegalArgumentException if visibility is not one of {@link View#VISIBLE},
* {@link View#INVISIBLE}, or {@link View#GONE}.
*/
+ @NonNull
public Builder setVisibility(@IdRes int id, @Visibility int visibility) {
throwIfDestroyed();
switch (visibility) {
@@ -111,6 +112,7 @@
/**
* Creates a new {@link VisibilitySetterAction} instance.
*/
+ @NonNull
public VisibilitySetterAction build() {
throwIfDestroyed();
mDestroyed = true;
@@ -145,8 +147,10 @@
parcel.writeSparseIntArray(mVisibilities);
}
- public static final Parcelable.Creator<VisibilitySetterAction> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<VisibilitySetterAction> CREATOR =
new Parcelable.Creator<VisibilitySetterAction>() {
+
+ @NonNull
@Override
public VisibilitySetterAction createFromParcel(Parcel parcel) {
// Always go through the builder to ensure the data ingested by
@@ -165,6 +169,7 @@
return builder == null ? null : builder.build();
}
+ @NonNull
@Override
public VisibilitySetterAction[] newArray(int size) {
return new VisibilitySetterAction[size];
diff --git a/core/java/android/service/autofill/augmented/FillResponse.java b/core/java/android/service/autofill/augmented/FillResponse.java
index 2ac406c..48a3c1b 100644
--- a/core/java/android/service/autofill/augmented/FillResponse.java
+++ b/core/java/android/service/autofill/augmented/FillResponse.java
@@ -19,9 +19,6 @@
import android.annotation.Nullable;
import android.annotation.SystemApi;
import android.annotation.TestApi;
-import android.view.autofill.AutofillId;
-
-import java.util.List;
/**
* Response to a {@link FillRequest}.
@@ -63,6 +60,7 @@
*
* @return this builder
*/
+ @NonNull
public Builder setFillWindow(@NonNull FillWindow fillWindow) {
// TODO(b/123100712): check not null / unit test / throw exception if FillWindow not
// updated yet
@@ -71,19 +69,6 @@
}
/**
- * Tells the Android System that the given {@code ids} should not trigger further
- * {@link FillRequest requests} when focused.
- *
- * @param ids ids of the fields that should be ignored
- *
- * @return this builder
- */
- public Builder setIgnoredIds(@NonNull List<AutofillId> ids) {
- // TODO(b/123100695): implement / check not null / unit test
- return this;
- }
-
- /**
* Builds a new {@link FillResponse} instance.
*
* @throws IllegalStateException if any of the following conditions occur:
@@ -95,6 +80,7 @@
*
* @return A built response.
*/
+ @NonNull
public FillResponse build() {
// TODO(b/123100712): check conditions / add unit test
return new FillResponse(this);
diff --git a/core/java/android/service/carrier/CarrierIdentifier.java b/core/java/android/service/carrier/CarrierIdentifier.java
index 568ca0f..3a57e3a 100644
--- a/core/java/android/service/carrier/CarrierIdentifier.java
+++ b/core/java/android/service/carrier/CarrierIdentifier.java
@@ -35,7 +35,7 @@
public class CarrierIdentifier implements Parcelable {
/** Used to create a {@link CarrierIdentifier} from a {@link Parcel}. */
- public static final Creator<CarrierIdentifier> CREATOR = new Creator<CarrierIdentifier>() {
+ public static final @android.annotation.NonNull Creator<CarrierIdentifier> CREATOR = new Creator<CarrierIdentifier>() {
@Override
public CarrierIdentifier createFromParcel(Parcel parcel) {
return new CarrierIdentifier(parcel);
diff --git a/core/java/android/service/carrier/CarrierMessagingClientService.java b/core/java/android/service/carrier/CarrierMessagingClientService.java
index 13f4fc4..767c1d1 100644
--- a/core/java/android/service/carrier/CarrierMessagingClientService.java
+++ b/core/java/android/service/carrier/CarrierMessagingClientService.java
@@ -15,6 +15,8 @@
*/
package android.service.carrier;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
import android.app.Service;
import android.content.ComponentName;
import android.content.Intent;
@@ -71,7 +73,8 @@
}
@Override
- public final IBinder onBind(Intent intent) {
+ @NonNull
+ public final IBinder onBind(@Nullable Intent intent) {
return mImpl.asBinder();
}
diff --git a/core/java/android/service/carrier/MessagePdu.java b/core/java/android/service/carrier/MessagePdu.java
index ca18e53..19c41b1 100644
--- a/core/java/android/service/carrier/MessagePdu.java
+++ b/core/java/android/service/carrier/MessagePdu.java
@@ -72,7 +72,7 @@
/**
* Constructs a {@link MessagePdu} from a {@link Parcel}.
*/
- public static final Parcelable.Creator<MessagePdu> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<MessagePdu> CREATOR
= new Parcelable.Creator<MessagePdu>() {
@Override
public MessagePdu createFromParcel(Parcel source) {
diff --git a/core/java/android/service/chooser/ChooserTarget.java b/core/java/android/service/chooser/ChooserTarget.java
index c2f70cc..5d2d667 100644
--- a/core/java/android/service/chooser/ChooserTarget.java
+++ b/core/java/android/service/chooser/ChooserTarget.java
@@ -202,7 +202,7 @@
dest.writeBundle(mIntentExtras);
}
- public static final Creator<ChooserTarget> CREATOR
+ public static final @android.annotation.NonNull Creator<ChooserTarget> CREATOR
= new Creator<ChooserTarget>() {
@Override
public ChooserTarget createFromParcel(Parcel source) {
diff --git a/core/java/android/service/contentcapture/SnapshotData.java b/core/java/android/service/contentcapture/SnapshotData.java
index c3af1f0..5b3930a 100644
--- a/core/java/android/service/contentcapture/SnapshotData.java
+++ b/core/java/android/service/contentcapture/SnapshotData.java
@@ -60,6 +60,7 @@
/**
* Returns the assist data for this snapshot.
*/
+ @NonNull
public Bundle getAssistData() {
return mAssistData;
}
@@ -67,6 +68,7 @@
/**
* Returns the assist structure for this snapshot.
*/
+ @NonNull
public AssistStructure getAssistStructure() {
return mAssistStructure;
}
@@ -74,6 +76,7 @@
/**
* Returns the assist context for this snapshot.
*/
+ @Nullable
public AssistContent getAssistContent() {
return mAssistContent;
}
@@ -90,15 +93,17 @@
parcel.writeParcelable(mAssistContent, flags);
}
- public static final Creator<SnapshotData> CREATOR =
+ public static final @android.annotation.NonNull Creator<SnapshotData> CREATOR =
new Creator<SnapshotData>() {
@Override
+ @NonNull
public SnapshotData createFromParcel(@NonNull Parcel parcel) {
return new SnapshotData(parcel);
}
@Override
+ @NonNull
public SnapshotData[] newArray(int size) {
return new SnapshotData[size];
}
diff --git a/core/java/android/service/contentsuggestions/ContentSuggestionsService.java b/core/java/android/service/contentsuggestions/ContentSuggestionsService.java
index 333f4be..40333bf 100644
--- a/core/java/android/service/contentsuggestions/ContentSuggestionsService.java
+++ b/core/java/android/service/contentsuggestions/ContentSuggestionsService.java
@@ -60,11 +60,17 @@
@Override
public void provideContextImage(int taskId, GraphicBuffer contextImage,
Bundle imageContextRequestExtras) {
+
+ Bitmap wrappedBuffer = null;
+ if (contextImage != null) {
+ wrappedBuffer = Bitmap.wrapHardwareBuffer(
+ HardwareBuffer.createFromGraphicBuffer(contextImage), null);
+ }
+
mHandler.sendMessage(
obtainMessage(ContentSuggestionsService::processContextImage,
ContentSuggestionsService.this, taskId,
- Bitmap.wrapHardwareBuffer(
- HardwareBuffer.createFromGraphicBuffer(contextImage), null),
+ wrappedBuffer,
imageContextRequestExtras));
}
diff --git a/core/java/android/service/euicc/DownloadSubscriptionResult.java b/core/java/android/service/euicc/DownloadSubscriptionResult.java
index b410e35..3b1a2c9 100644
--- a/core/java/android/service/euicc/DownloadSubscriptionResult.java
+++ b/core/java/android/service/euicc/DownloadSubscriptionResult.java
@@ -28,7 +28,7 @@
@SystemApi
public final class DownloadSubscriptionResult implements Parcelable {
- public static final Creator<DownloadSubscriptionResult> CREATOR =
+ public static final @android.annotation.NonNull Creator<DownloadSubscriptionResult> CREATOR =
new Creator<DownloadSubscriptionResult>() {
@Override
public DownloadSubscriptionResult createFromParcel(Parcel in) {
diff --git a/core/java/android/service/euicc/EuiccProfileInfo.java b/core/java/android/service/euicc/EuiccProfileInfo.java
index 4a39782..702837b 100644
--- a/core/java/android/service/euicc/EuiccProfileInfo.java
+++ b/core/java/android/service/euicc/EuiccProfileInfo.java
@@ -126,7 +126,7 @@
*/
private final @Nullable UiccAccessRule[] mAccessRules;
- public static final Creator<EuiccProfileInfo> CREATOR = new Creator<EuiccProfileInfo>() {
+ public static final @android.annotation.NonNull Creator<EuiccProfileInfo> CREATOR = new Creator<EuiccProfileInfo>() {
@Override
public EuiccProfileInfo createFromParcel(Parcel in) {
return new EuiccProfileInfo(in);
diff --git a/core/java/android/service/euicc/GetDefaultDownloadableSubscriptionListResult.java b/core/java/android/service/euicc/GetDefaultDownloadableSubscriptionListResult.java
index bd91ca0..c7a9851 100644
--- a/core/java/android/service/euicc/GetDefaultDownloadableSubscriptionListResult.java
+++ b/core/java/android/service/euicc/GetDefaultDownloadableSubscriptionListResult.java
@@ -32,7 +32,7 @@
@SystemApi
public final class GetDefaultDownloadableSubscriptionListResult implements Parcelable {
- public static final Creator<GetDefaultDownloadableSubscriptionListResult> CREATOR =
+ public static final @android.annotation.NonNull Creator<GetDefaultDownloadableSubscriptionListResult> CREATOR =
new Creator<GetDefaultDownloadableSubscriptionListResult>() {
@Override
public GetDefaultDownloadableSubscriptionListResult createFromParcel(Parcel in) {
diff --git a/core/java/android/service/euicc/GetDownloadableSubscriptionMetadataResult.java b/core/java/android/service/euicc/GetDownloadableSubscriptionMetadataResult.java
index 71f1d22..abd4065 100644
--- a/core/java/android/service/euicc/GetDownloadableSubscriptionMetadataResult.java
+++ b/core/java/android/service/euicc/GetDownloadableSubscriptionMetadataResult.java
@@ -29,7 +29,7 @@
@SystemApi
public final class GetDownloadableSubscriptionMetadataResult implements Parcelable {
- public static final Creator<GetDownloadableSubscriptionMetadataResult> CREATOR =
+ public static final @android.annotation.NonNull Creator<GetDownloadableSubscriptionMetadataResult> CREATOR =
new Creator<GetDownloadableSubscriptionMetadataResult>() {
@Override
public GetDownloadableSubscriptionMetadataResult createFromParcel(Parcel in) {
diff --git a/core/java/android/service/euicc/GetEuiccProfileInfoListResult.java b/core/java/android/service/euicc/GetEuiccProfileInfoListResult.java
index 464d136..7a9d8a0 100644
--- a/core/java/android/service/euicc/GetEuiccProfileInfoListResult.java
+++ b/core/java/android/service/euicc/GetEuiccProfileInfoListResult.java
@@ -30,7 +30,7 @@
@SystemApi
public final class GetEuiccProfileInfoListResult implements Parcelable {
- public static final Creator<GetEuiccProfileInfoListResult> CREATOR =
+ public static final @android.annotation.NonNull Creator<GetEuiccProfileInfoListResult> CREATOR =
new Creator<GetEuiccProfileInfoListResult>() {
@Override
public GetEuiccProfileInfoListResult createFromParcel(Parcel in) {
diff --git a/core/java/android/service/gatekeeper/GateKeeperResponse.java b/core/java/android/service/gatekeeper/GateKeeperResponse.java
index 9b52934..66fee1e 100644
--- a/core/java/android/service/gatekeeper/GateKeeperResponse.java
+++ b/core/java/android/service/gatekeeper/GateKeeperResponse.java
@@ -66,7 +66,7 @@
return 0;
}
- public static final Parcelable.Creator<GateKeeperResponse> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<GateKeeperResponse> CREATOR
= new Parcelable.Creator<GateKeeperResponse>() {
@Override
public GateKeeperResponse createFromParcel(Parcel source) {
diff --git a/core/java/android/service/notification/Adjustment.java b/core/java/android/service/notification/Adjustment.java
index bddc5ef..d84124d 100644
--- a/core/java/android/service/notification/Adjustment.java
+++ b/core/java/android/service/notification/Adjustment.java
@@ -165,7 +165,7 @@
mUser = in.readInt();
}
- public static final Creator<Adjustment> CREATOR = new Creator<Adjustment>() {
+ public static final @android.annotation.NonNull Creator<Adjustment> CREATOR = new Creator<Adjustment>() {
@Override
public Adjustment createFromParcel(Parcel in) {
return new Adjustment(in);
diff --git a/core/java/android/service/notification/Condition.java b/core/java/android/service/notification/Condition.java
index 30d9804..e506509 100644
--- a/core/java/android/service/notification/Condition.java
+++ b/core/java/android/service/notification/Condition.java
@@ -227,7 +227,7 @@
return id != null && SCHEME.equals(id.getScheme()) && pkg.equals(id.getAuthority());
}
- public static final Parcelable.Creator<Condition> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<Condition> CREATOR
= new Parcelable.Creator<Condition>() {
@Override
public Condition createFromParcel(Parcel source) {
diff --git a/core/java/android/service/notification/NotificationListenerService.java b/core/java/android/service/notification/NotificationListenerService.java
index d3285bb..edb10ec 100644
--- a/core/java/android/service/notification/NotificationListenerService.java
+++ b/core/java/android/service/notification/NotificationListenerService.java
@@ -2163,7 +2163,7 @@
dest.writeParcelable(mRankingUpdate, flags);
}
- public static final Creator<RankingMap> CREATOR = new Creator<RankingMap>() {
+ public static final @android.annotation.NonNull Creator<RankingMap> CREATOR = new Creator<RankingMap>() {
@Override
public RankingMap createFromParcel(Parcel source) {
NotificationRankingUpdate rankingUpdate = source.readParcelable(null);
diff --git a/core/java/android/service/notification/NotificationRankingUpdate.java b/core/java/android/service/notification/NotificationRankingUpdate.java
index 230ae27..c5c70f8 100644
--- a/core/java/android/service/notification/NotificationRankingUpdate.java
+++ b/core/java/android/service/notification/NotificationRankingUpdate.java
@@ -119,7 +119,7 @@
out.writeBooleanArray(mCanBubble);
}
- public static final Parcelable.Creator<NotificationRankingUpdate> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<NotificationRankingUpdate> CREATOR
= new Parcelable.Creator<NotificationRankingUpdate>() {
public NotificationRankingUpdate createFromParcel(Parcel parcel) {
return new NotificationRankingUpdate(parcel);
diff --git a/core/java/android/service/notification/NotificationStats.java b/core/java/android/service/notification/NotificationStats.java
index ebfabbf..5a54a43 100644
--- a/core/java/android/service/notification/NotificationStats.java
+++ b/core/java/android/service/notification/NotificationStats.java
@@ -131,7 +131,7 @@
return 0;
}
- public static final Creator<NotificationStats> CREATOR = new Creator<NotificationStats>() {
+ public static final @android.annotation.NonNull Creator<NotificationStats> CREATOR = new Creator<NotificationStats>() {
@Override
public NotificationStats createFromParcel(Parcel in) {
return new NotificationStats(in);
diff --git a/core/java/android/service/notification/NotifyingApp.java b/core/java/android/service/notification/NotifyingApp.java
index 38f18c6..a560623 100644
--- a/core/java/android/service/notification/NotifyingApp.java
+++ b/core/java/android/service/notification/NotifyingApp.java
@@ -74,7 +74,7 @@
return this;
}
- public static final Creator<NotifyingApp> CREATOR = new Creator<NotifyingApp>() {
+ public static final @android.annotation.NonNull Creator<NotifyingApp> CREATOR = new Creator<NotifyingApp>() {
@Override
public NotifyingApp createFromParcel(Parcel in) {
return new NotifyingApp(in);
diff --git a/core/java/android/service/notification/SnoozeCriterion.java b/core/java/android/service/notification/SnoozeCriterion.java
index bd93eff..938cc10 100644
--- a/core/java/android/service/notification/SnoozeCriterion.java
+++ b/core/java/android/service/notification/SnoozeCriterion.java
@@ -78,7 +78,7 @@
return mConfirmation;
}
- public static final Creator<SnoozeCriterion> CREATOR = new Creator<SnoozeCriterion>() {
+ public static final @android.annotation.NonNull Creator<SnoozeCriterion> CREATOR = new Creator<SnoozeCriterion>() {
@Override
public SnoozeCriterion createFromParcel(Parcel in) {
return new SnoozeCriterion(in);
diff --git a/core/java/android/service/notification/StatusBarNotification.java b/core/java/android/service/notification/StatusBarNotification.java
index 954dc39..0836327 100644
--- a/core/java/android/service/notification/StatusBarNotification.java
+++ b/core/java/android/service/notification/StatusBarNotification.java
@@ -205,7 +205,7 @@
return 0;
}
- public static final Parcelable.Creator<StatusBarNotification> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<StatusBarNotification> CREATOR
= new Parcelable.Creator<StatusBarNotification>()
{
public StatusBarNotification createFromParcel(Parcel parcel)
diff --git a/core/java/android/service/notification/ZenModeConfig.java b/core/java/android/service/notification/ZenModeConfig.java
index bff118e..cb7d41b 100644
--- a/core/java/android/service/notification/ZenModeConfig.java
+++ b/core/java/android/service/notification/ZenModeConfig.java
@@ -921,7 +921,7 @@
}
}
- public static final Parcelable.Creator<ZenModeConfig> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<ZenModeConfig> CREATOR
= new Parcelable.Creator<ZenModeConfig>() {
@Override
public ZenModeConfig createFromParcel(Parcel source) {
@@ -1860,7 +1860,7 @@
|| condition.state == Condition.STATE_UNKNOWN);
}
- public static final Parcelable.Creator<ZenRule> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<ZenRule> CREATOR
= new Parcelable.Creator<ZenRule>() {
@Override
public ZenRule createFromParcel(Parcel source) {
diff --git a/core/java/android/service/notification/ZenPolicy.java b/core/java/android/service/notification/ZenPolicy.java
index 6392704..74e6c6e 100644
--- a/core/java/android/service/notification/ZenPolicy.java
+++ b/core/java/android/service/notification/ZenPolicy.java
@@ -713,7 +713,7 @@
dest.writeInt(mPriorityMessages);
}
- public static final Parcelable.Creator<ZenPolicy> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ZenPolicy> CREATOR =
new Parcelable.Creator<ZenPolicy>() {
@Override
public ZenPolicy createFromParcel(Parcel source) {
diff --git a/core/java/android/service/quicksettings/Tile.java b/core/java/android/service/quicksettings/Tile.java
index 6b569cf..4191040 100644
--- a/core/java/android/service/quicksettings/Tile.java
+++ b/core/java/android/service/quicksettings/Tile.java
@@ -229,7 +229,7 @@
mContentDescription = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(source);
}
- public static final Creator<Tile> CREATOR = new Creator<Tile>() {
+ public static final @android.annotation.NonNull Creator<Tile> CREATOR = new Creator<Tile>() {
@Override
public Tile createFromParcel(Parcel source) {
return new Tile(source);
diff --git a/core/java/android/service/resolver/ResolverTarget.java b/core/java/android/service/resolver/ResolverTarget.java
index fb3e2d7..33b3283 100644
--- a/core/java/android/service/resolver/ResolverTarget.java
+++ b/core/java/android/service/resolver/ResolverTarget.java
@@ -201,7 +201,7 @@
}
// creator definition for the class.
- public static final Creator<ResolverTarget> CREATOR
+ public static final @android.annotation.NonNull Creator<ResolverTarget> CREATOR
= new Creator<ResolverTarget>() {
@Override
public ResolverTarget createFromParcel(Parcel source) {
diff --git a/core/java/android/service/settings/suggestions/Suggestion.java b/core/java/android/service/settings/suggestions/Suggestion.java
index e97f963a..3e63efb 100644
--- a/core/java/android/service/settings/suggestions/Suggestion.java
+++ b/core/java/android/service/settings/suggestions/Suggestion.java
@@ -125,7 +125,7 @@
mPendingIntent = in.readParcelable(PendingIntent.class.getClassLoader());
}
- public static final Creator<Suggestion> CREATOR = new Creator<Suggestion>() {
+ public static final @android.annotation.NonNull Creator<Suggestion> CREATOR = new Creator<Suggestion>() {
@Override
public Suggestion createFromParcel(Parcel in) {
return new Suggestion(in);
diff --git a/core/java/android/speech/tts/Voice.java b/core/java/android/speech/tts/Voice.java
index dcf5980..fefc35e 100644
--- a/core/java/android/speech/tts/Voice.java
+++ b/core/java/android/speech/tts/Voice.java
@@ -106,7 +106,7 @@
return 0;
}
- public static final Parcelable.Creator<Voice> CREATOR = new Parcelable.Creator<Voice>() {
+ public static final @android.annotation.NonNull Parcelable.Creator<Voice> CREATOR = new Parcelable.Creator<Voice>() {
@Override
public Voice createFromParcel(Parcel in) {
return new Voice(in);
diff --git a/core/java/android/text/style/AccessibilityClickableSpan.java b/core/java/android/text/style/AccessibilityClickableSpan.java
index 7f39cc1..534ce63 100644
--- a/core/java/android/text/style/AccessibilityClickableSpan.java
+++ b/core/java/android/text/style/AccessibilityClickableSpan.java
@@ -144,7 +144,7 @@
R.id.accessibilityActionClickOnClickableSpan, arguments);
}
- public static final Parcelable.Creator<AccessibilityClickableSpan> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<AccessibilityClickableSpan> CREATOR =
new Parcelable.Creator<AccessibilityClickableSpan>() {
@Override
public AccessibilityClickableSpan createFromParcel(Parcel parcel) {
diff --git a/core/java/android/text/style/SuggestionSpan.java b/core/java/android/text/style/SuggestionSpan.java
index dd073e9..c000ae3 100644
--- a/core/java/android/text/style/SuggestionSpan.java
+++ b/core/java/android/text/style/SuggestionSpan.java
@@ -344,7 +344,7 @@
languageTag, localeStringForCompatibility});
}
- public static final Parcelable.Creator<SuggestionSpan> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<SuggestionSpan> CREATOR =
new Parcelable.Creator<SuggestionSpan>() {
@Override
public SuggestionSpan createFromParcel(Parcel source) {
diff --git a/core/java/android/util/ArrayMap.java b/core/java/android/util/ArrayMap.java
index 294a179..436cb4f 100644
--- a/core/java/android/util/ArrayMap.java
+++ b/core/java/android/util/ArrayMap.java
@@ -19,6 +19,9 @@
import libcore.util.EmptyArray;
import android.annotation.UnsupportedAppUsage;
+
+import com.android.internal.util.ArrayUtils;
+
import java.util.Collection;
import java.util.ConcurrentModificationException;
import java.util.Map;
@@ -816,7 +819,7 @@
buffer.append('=');
Object value = valueAt(i);
if (value != this) {
- buffer.append(value);
+ buffer.append(ArrayUtils.deepToString(value));
} else {
buffer.append("(this Map)");
}
diff --git a/core/java/android/util/MemoryIntArray.java b/core/java/android/util/MemoryIntArray.java
index d5bec0f..74fea3f 100644
--- a/core/java/android/util/MemoryIntArray.java
+++ b/core/java/android/util/MemoryIntArray.java
@@ -235,7 +235,7 @@
return MAX_SIZE;
}
- public static final Parcelable.Creator<MemoryIntArray> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<MemoryIntArray> CREATOR =
new Parcelable.Creator<MemoryIntArray>() {
@Override
public MemoryIntArray createFromParcel(Parcel parcel) {
diff --git a/core/java/android/util/MergedConfiguration.java b/core/java/android/util/MergedConfiguration.java
index ae66050..2399ada 100644
--- a/core/java/android/util/MergedConfiguration.java
+++ b/core/java/android/util/MergedConfiguration.java
@@ -74,7 +74,7 @@
return 0;
}
- public static final Creator<MergedConfiguration> CREATOR = new Creator<MergedConfiguration>() {
+ public static final @android.annotation.NonNull Creator<MergedConfiguration> CREATOR = new Creator<MergedConfiguration>() {
@Override
public MergedConfiguration createFromParcel(Parcel in) {
return new MergedConfiguration(in);
diff --git a/core/java/android/util/RecurrenceRule.java b/core/java/android/util/RecurrenceRule.java
index 209a5912..9c60228 100644
--- a/core/java/android/util/RecurrenceRule.java
+++ b/core/java/android/util/RecurrenceRule.java
@@ -140,7 +140,7 @@
return false;
}
- public static final Parcelable.Creator<RecurrenceRule> CREATOR = new Parcelable.Creator<RecurrenceRule>() {
+ public static final @android.annotation.NonNull Parcelable.Creator<RecurrenceRule> CREATOR = new Parcelable.Creator<RecurrenceRule>() {
@Override
public RecurrenceRule createFromParcel(Parcel source) {
return new RecurrenceRule(source);
diff --git a/core/java/android/view/AbsSavedState.java b/core/java/android/view/AbsSavedState.java
index 6b616c0..009898e 100644
--- a/core/java/android/view/AbsSavedState.java
+++ b/core/java/android/view/AbsSavedState.java
@@ -80,7 +80,7 @@
dest.writeParcelable(mSuperState, flags);
}
- public static final Parcelable.Creator<AbsSavedState> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<AbsSavedState> CREATOR
= new Parcelable.ClassLoaderCreator<AbsSavedState>() {
@Override
diff --git a/core/java/android/view/AppTransitionAnimationSpec.java b/core/java/android/view/AppTransitionAnimationSpec.java
index 6585e40..4c0ed52 100644
--- a/core/java/android/view/AppTransitionAnimationSpec.java
+++ b/core/java/android/view/AppTransitionAnimationSpec.java
@@ -44,7 +44,7 @@
dest.writeParcelable(buffer, 0);
}
- public static final Parcelable.Creator<AppTransitionAnimationSpec> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<AppTransitionAnimationSpec> CREATOR
= new Parcelable.Creator<AppTransitionAnimationSpec>() {
public AppTransitionAnimationSpec createFromParcel(Parcel in) {
return new AppTransitionAnimationSpec(in);
diff --git a/core/java/android/view/Display.java b/core/java/android/view/Display.java
index 94a9a1c..91c85e7 100644
--- a/core/java/android/view/Display.java
+++ b/core/java/android/view/Display.java
@@ -1375,7 +1375,7 @@
}
@SuppressWarnings("hiding")
- public static final Parcelable.Creator<Mode> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<Mode> CREATOR
= new Parcelable.Creator<Mode>() {
@Override
public Mode createFromParcel(Parcel in) {
@@ -1504,7 +1504,7 @@
return hash;
}
- public static final Creator<HdrCapabilities> CREATOR = new Creator<HdrCapabilities>() {
+ public static final @android.annotation.NonNull Creator<HdrCapabilities> CREATOR = new Creator<HdrCapabilities>() {
@Override
public HdrCapabilities createFromParcel(Parcel source) {
return new HdrCapabilities(source);
diff --git a/core/java/android/view/DisplayAddress.java b/core/java/android/view/DisplayAddress.java
index 17ea4c4..1360815 100644
--- a/core/java/android/view/DisplayAddress.java
+++ b/core/java/android/view/DisplayAddress.java
@@ -109,7 +109,7 @@
mPhysicalDisplayId = physicalDisplayId;
}
- public static final Parcelable.Creator<Physical> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<Physical> CREATOR =
new Parcelable.Creator<Physical>() {
@Override
public Physical createFromParcel(Parcel in) {
@@ -153,7 +153,7 @@
mMacAddress = macAddress;
}
- public static final Parcelable.Creator<Network> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<Network> CREATOR =
new Parcelable.Creator<Network>() {
@Override
public Network createFromParcel(Parcel in) {
diff --git a/core/java/android/view/DisplayCutout.java b/core/java/android/view/DisplayCutout.java
index e9f1edf..610f7ed 100644
--- a/core/java/android/view/DisplayCutout.java
+++ b/core/java/android/view/DisplayCutout.java
@@ -233,6 +233,9 @@
/**
* Creates a DisplayCutout instance.
*
+ * <p>Note that this is only useful for tests. For production code, developers should always
+ * use a {@link DisplayCutout} obtained from the system.</p>
+ *
* @param safeInsets the insets from each edge which avoid the display cutout as returned by
* {@link #getSafeInsetTop()} etc.
* @param boundLeft the left bounding rect of the display cutout in pixels. If null is passed,
@@ -253,6 +256,9 @@
/**
* Creates a DisplayCutout instance.
*
+ * <p>Note that this is only useful for tests. For production code, developers should always
+ * use a {@link DisplayCutout} obtained from the system.</p>
+ *
* @param safeInsets the insets from each edge which avoid the display cutout as returned by
* {@link #getSafeInsetTop()} etc.
* @param boundingRects the bounding rects of the display cutouts as returned by
@@ -765,7 +771,7 @@
mInner = readCutoutFromParcel(in);
}
- public static final Creator<ParcelableWrapper> CREATOR = new Creator<ParcelableWrapper>() {
+ public static final @android.annotation.NonNull Creator<ParcelableWrapper> CREATOR = new Creator<ParcelableWrapper>() {
@Override
public ParcelableWrapper createFromParcel(Parcel in) {
return new ParcelableWrapper(readCutoutFromParcel(in));
diff --git a/core/java/android/view/DisplayInfo.java b/core/java/android/view/DisplayInfo.java
index 3aa779b..11ed357 100644
--- a/core/java/android/view/DisplayInfo.java
+++ b/core/java/android/view/DisplayInfo.java
@@ -271,7 +271,7 @@
// TODO (b/114338689): Remove the flag and use IWindowManager#getRemoveContentMode
public int removeMode = Display.REMOVE_MODE_MOVE_CONTENT_TO_PRIMARY;
- public static final Creator<DisplayInfo> CREATOR = new Creator<DisplayInfo>() {
+ public static final @android.annotation.NonNull Creator<DisplayInfo> CREATOR = new Creator<DisplayInfo>() {
@Override
public DisplayInfo createFromParcel(Parcel source) {
return new DisplayInfo(source);
diff --git a/core/java/android/view/DragAndDropPermissions.java b/core/java/android/view/DragAndDropPermissions.java
index c198e1f..e72ff38 100644
--- a/core/java/android/view/DragAndDropPermissions.java
+++ b/core/java/android/view/DragAndDropPermissions.java
@@ -117,7 +117,7 @@
}
}
- public static final Parcelable.Creator<DragAndDropPermissions> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<DragAndDropPermissions> CREATOR =
new Parcelable.Creator<DragAndDropPermissions> () {
@Override
public DragAndDropPermissions createFromParcel(Parcel source) {
diff --git a/core/java/android/view/DragEvent.java b/core/java/android/view/DragEvent.java
index bd4dda2..2a43bcc 100644
--- a/core/java/android/view/DragEvent.java
+++ b/core/java/android/view/DragEvent.java
@@ -528,7 +528,7 @@
/**
* A container for creating a DragEvent from a Parcel.
*/
- public static final Parcelable.Creator<DragEvent> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<DragEvent> CREATOR =
new Parcelable.Creator<DragEvent>() {
public DragEvent createFromParcel(Parcel in) {
DragEvent event = DragEvent.obtain();
diff --git a/core/java/android/view/GestureExclusionTracker.java b/core/java/android/view/GestureExclusionTracker.java
new file mode 100644
index 0000000..8eccc04
--- /dev/null
+++ b/core/java/android/view/GestureExclusionTracker.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.view;
+
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.graphics.Rect;
+
+import java.lang.ref.WeakReference;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * Used by {@link ViewRootImpl} to track system gesture exclusion rects reported by views.
+ */
+class GestureExclusionTracker {
+ private boolean mGestureExclusionViewsChanged = false;
+ private List<GestureExclusionViewInfo> mGestureExclusionViewInfos = new ArrayList<>();
+ private List<Rect> mGestureExclusionRects = Collections.emptyList();
+
+ public void updateRectsForView(@NonNull View view) {
+ boolean found = false;
+ final Iterator<GestureExclusionViewInfo> i = mGestureExclusionViewInfos.iterator();
+ while (i.hasNext()) {
+ final GestureExclusionViewInfo info = i.next();
+ final View v = info.getView();
+ if (v == null || !v.isAttachedToWindow()) {
+ mGestureExclusionViewsChanged = true;
+ i.remove();
+ continue;
+ }
+ if (v == view) {
+ found = true;
+ info.mDirty = true;
+ break;
+ }
+ }
+ if (!found && view.isAttachedToWindow()) {
+ mGestureExclusionViewInfos.add(new GestureExclusionViewInfo(view));
+ mGestureExclusionViewsChanged = true;
+ }
+ }
+
+ @Nullable
+ public List<Rect> computeChangedRects() {
+ boolean changed = false;
+ final Iterator<GestureExclusionViewInfo> i = mGestureExclusionViewInfos.iterator();
+ final List<Rect> rects = new ArrayList<>();
+ while (i.hasNext()) {
+ final GestureExclusionViewInfo info = i.next();
+ switch (info.update()) {
+ case GestureExclusionViewInfo.CHANGED:
+ changed = true;
+ // Deliberate fall-through
+ case GestureExclusionViewInfo.UNCHANGED:
+ rects.addAll(info.mExclusionRects);
+ break;
+ case GestureExclusionViewInfo.GONE:
+ mGestureExclusionViewsChanged = true;
+ i.remove();
+ break;
+ }
+ }
+ if (changed || mGestureExclusionViewsChanged) {
+ mGestureExclusionViewsChanged = false;
+ if (!mGestureExclusionRects.equals(rects)) {
+ mGestureExclusionRects = rects;
+ return rects;
+ }
+ }
+ return null;
+ }
+
+ private static class GestureExclusionViewInfo {
+ public static final int CHANGED = 0;
+ public static final int UNCHANGED = 1;
+ public static final int GONE = 2;
+
+ private final WeakReference<View> mView;
+ boolean mDirty = true;
+ List<Rect> mExclusionRects = Collections.emptyList();
+
+ GestureExclusionViewInfo(View view) {
+ mView = new WeakReference<>(view);
+ }
+
+ public View getView() {
+ return mView.get();
+ }
+
+ public int update() {
+ final View excludedView = getView();
+ if (excludedView == null || !excludedView.isAttachedToWindow()) return GONE;
+ final List<Rect> localRects = excludedView.getSystemGestureExclusionRects();
+ final List<Rect> newRects = new ArrayList<>(localRects.size());
+ for (Rect src : localRects) {
+ Rect mappedRect = new Rect(src);
+ ViewParent p = excludedView.getParent();
+ if (p != null && p.getChildVisibleRect(excludedView, mappedRect, null)) {
+ newRects.add(mappedRect);
+ }
+ }
+
+ if (mExclusionRects.equals(localRects)) return UNCHANGED;
+ mExclusionRects = newRects;
+ return CHANGED;
+ }
+ }
+}
diff --git a/core/java/android/view/InputChannel.java b/core/java/android/view/InputChannel.java
index 84c8e7a..af2b992 100644
--- a/core/java/android/view/InputChannel.java
+++ b/core/java/android/view/InputChannel.java
@@ -35,7 +35,7 @@
private static final boolean DEBUG = false;
@UnsupportedAppUsage
- public static final Parcelable.Creator<InputChannel> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<InputChannel> CREATOR
= new Parcelable.Creator<InputChannel>() {
public InputChannel createFromParcel(Parcel source) {
InputChannel result = new InputChannel();
diff --git a/core/java/android/view/InputDevice.java b/core/java/android/view/InputDevice.java
index 868a9de..e723f91 100644
--- a/core/java/android/view/InputDevice.java
+++ b/core/java/android/view/InputDevice.java
@@ -397,7 +397,7 @@
private static final int MAX_RANGES = 1000;
- public static final Parcelable.Creator<InputDevice> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<InputDevice> CREATOR =
new Parcelable.Creator<InputDevice>() {
public InputDevice createFromParcel(Parcel in) {
return new InputDevice(in);
diff --git a/core/java/android/view/InputEvent.java b/core/java/android/view/InputEvent.java
index c2848d4..4b88a6a 100644
--- a/core/java/android/view/InputEvent.java
+++ b/core/java/android/view/InputEvent.java
@@ -237,7 +237,7 @@
return 0;
}
- public static final Parcelable.Creator<InputEvent> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<InputEvent> CREATOR
= new Parcelable.Creator<InputEvent>() {
public InputEvent createFromParcel(Parcel in) {
int token = in.readInt();
diff --git a/core/java/android/view/InsetsSource.java b/core/java/android/view/InsetsSource.java
index fbc72a0..16e00da 100644
--- a/core/java/android/view/InsetsSource.java
+++ b/core/java/android/view/InsetsSource.java
@@ -151,7 +151,7 @@
dest.writeBoolean(mVisible);
}
- public static final Creator<InsetsSource> CREATOR = new Creator<InsetsSource>() {
+ public static final @android.annotation.NonNull Creator<InsetsSource> CREATOR = new Creator<InsetsSource>() {
public InsetsSource createFromParcel(Parcel in) {
return new InsetsSource(in);
diff --git a/core/java/android/view/InsetsSourceControl.java b/core/java/android/view/InsetsSourceControl.java
index 9fb6bdb..4940981 100644
--- a/core/java/android/view/InsetsSourceControl.java
+++ b/core/java/android/view/InsetsSourceControl.java
@@ -76,7 +76,7 @@
dest.writeParcelable(mSurfacePosition, 0 /* flags*/);
}
- public static final Creator<InsetsSourceControl> CREATOR
+ public static final @android.annotation.NonNull Creator<InsetsSourceControl> CREATOR
= new Creator<InsetsSourceControl>() {
public InsetsSourceControl createFromParcel(Parcel in) {
return new InsetsSourceControl(in);
diff --git a/core/java/android/view/InsetsState.java b/core/java/android/view/InsetsState.java
index 69f86aa..1382fbc 100644
--- a/core/java/android/view/InsetsState.java
+++ b/core/java/android/view/InsetsState.java
@@ -386,7 +386,7 @@
}
}
- public static final Creator<InsetsState> CREATOR = new Creator<InsetsState>() {
+ public static final @android.annotation.NonNull Creator<InsetsState> CREATOR = new Creator<InsetsState>() {
public InsetsState createFromParcel(Parcel in) {
return new InsetsState(in);
diff --git a/core/java/android/view/KeyCharacterMap.java b/core/java/android/view/KeyCharacterMap.java
index 989bf67..bd03348 100644
--- a/core/java/android/view/KeyCharacterMap.java
+++ b/core/java/android/view/KeyCharacterMap.java
@@ -272,7 +272,7 @@
sDeadKeyCache.put(combination, result);
}
- public static final Parcelable.Creator<KeyCharacterMap> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<KeyCharacterMap> CREATOR =
new Parcelable.Creator<KeyCharacterMap>() {
public KeyCharacterMap createFromParcel(Parcel in) {
return new KeyCharacterMap(in);
diff --git a/core/java/android/view/KeyEvent.java b/core/java/android/view/KeyEvent.java
index f9a46b1..f700d32 100644
--- a/core/java/android/view/KeyEvent.java
+++ b/core/java/android/view/KeyEvent.java
@@ -3065,7 +3065,7 @@
return result.toString();
}
- public static final Parcelable.Creator<KeyEvent> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<KeyEvent> CREATOR
= new Parcelable.Creator<KeyEvent>() {
@Override
public KeyEvent createFromParcel(Parcel in) {
diff --git a/core/java/android/view/KeyboardShortcutGroup.java b/core/java/android/view/KeyboardShortcutGroup.java
index 52e9832..763ca26 100644
--- a/core/java/android/view/KeyboardShortcutGroup.java
+++ b/core/java/android/view/KeyboardShortcutGroup.java
@@ -125,7 +125,7 @@
dest.writeInt(mSystemGroup ? 1 : 0);
}
- public static final Creator<KeyboardShortcutGroup> CREATOR =
+ public static final @android.annotation.NonNull Creator<KeyboardShortcutGroup> CREATOR =
new Creator<KeyboardShortcutGroup>() {
public KeyboardShortcutGroup createFromParcel(Parcel source) {
return new KeyboardShortcutGroup(source);
diff --git a/core/java/android/view/KeyboardShortcutInfo.java b/core/java/android/view/KeyboardShortcutInfo.java
index c934a4e..2660e74 100644
--- a/core/java/android/view/KeyboardShortcutInfo.java
+++ b/core/java/android/view/KeyboardShortcutInfo.java
@@ -156,7 +156,7 @@
dest.writeInt(mModifiers);
}
- public static final Creator<KeyboardShortcutInfo> CREATOR =
+ public static final @android.annotation.NonNull Creator<KeyboardShortcutInfo> CREATOR =
new Creator<KeyboardShortcutInfo>() {
public KeyboardShortcutInfo createFromParcel(Parcel source) {
return new KeyboardShortcutInfo(source);
diff --git a/core/java/android/view/MagnificationSpec.java b/core/java/android/view/MagnificationSpec.java
index 956a211..aea337e 100644
--- a/core/java/android/view/MagnificationSpec.java
+++ b/core/java/android/view/MagnificationSpec.java
@@ -146,7 +146,7 @@
offsetY = parcel.readFloat();
}
- public static final Creator<MagnificationSpec> CREATOR = new Creator<MagnificationSpec>() {
+ public static final @android.annotation.NonNull Creator<MagnificationSpec> CREATOR = new Creator<MagnificationSpec>() {
@Override
public MagnificationSpec[] newArray(int size) {
return new MagnificationSpec[size];
diff --git a/core/java/android/view/MotionEvent.java b/core/java/android/view/MotionEvent.java
index b6c4cbb..86e94f4 100644
--- a/core/java/android/view/MotionEvent.java
+++ b/core/java/android/view/MotionEvent.java
@@ -3660,7 +3660,7 @@
return (getButtonState() & button) == button;
}
- public static final Parcelable.Creator<MotionEvent> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<MotionEvent> CREATOR
= new Parcelable.Creator<MotionEvent>() {
public MotionEvent createFromParcel(Parcel in) {
in.readInt(); // skip token, we already know this is a MotionEvent
diff --git a/core/java/android/view/PointerIcon.java b/core/java/android/view/PointerIcon.java
index c3d13bd..dfe34c8 100644
--- a/core/java/android/view/PointerIcon.java
+++ b/core/java/android/view/PointerIcon.java
@@ -361,7 +361,7 @@
return mType;
}
- public static final Parcelable.Creator<PointerIcon> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<PointerIcon> CREATOR
= new Parcelable.Creator<PointerIcon>() {
public PointerIcon createFromParcel(Parcel in) {
int type = in.readInt();
diff --git a/core/java/android/view/RemoteAnimationAdapter.java b/core/java/android/view/RemoteAnimationAdapter.java
index 6f5a85d..bc2fe54 100644
--- a/core/java/android/view/RemoteAnimationAdapter.java
+++ b/core/java/android/view/RemoteAnimationAdapter.java
@@ -129,7 +129,7 @@
dest.writeBoolean(mChangeNeedsSnapshot);
}
- public static final Creator<RemoteAnimationAdapter> CREATOR
+ public static final @android.annotation.NonNull Creator<RemoteAnimationAdapter> CREATOR
= new Creator<RemoteAnimationAdapter>() {
public RemoteAnimationAdapter createFromParcel(Parcel in) {
return new RemoteAnimationAdapter(in);
diff --git a/core/java/android/view/RemoteAnimationDefinition.java b/core/java/android/view/RemoteAnimationDefinition.java
index beb1c1d..884cae4 100644
--- a/core/java/android/view/RemoteAnimationDefinition.java
+++ b/core/java/android/view/RemoteAnimationDefinition.java
@@ -139,7 +139,7 @@
}
}
- public static final Creator<RemoteAnimationDefinition> CREATOR =
+ public static final @android.annotation.NonNull Creator<RemoteAnimationDefinition> CREATOR =
new Creator<RemoteAnimationDefinition>() {
public RemoteAnimationDefinition createFromParcel(Parcel in) {
return new RemoteAnimationDefinition(in);
@@ -181,7 +181,7 @@
return 0;
}
- private static final Creator<RemoteAnimationAdapterEntry> CREATOR
+ private static final @android.annotation.NonNull Creator<RemoteAnimationAdapterEntry> CREATOR
= new Creator<RemoteAnimationAdapterEntry>() {
@Override
diff --git a/core/java/android/view/RemoteAnimationTarget.java b/core/java/android/view/RemoteAnimationTarget.java
index 9b3efe1..ae3e1d0 100644
--- a/core/java/android/view/RemoteAnimationTarget.java
+++ b/core/java/android/view/RemoteAnimationTarget.java
@@ -255,7 +255,7 @@
proto.end(token);
}
- public static final Creator<RemoteAnimationTarget> CREATOR
+ public static final @android.annotation.NonNull Creator<RemoteAnimationTarget> CREATOR
= new Creator<RemoteAnimationTarget>() {
public RemoteAnimationTarget createFromParcel(Parcel in) {
return new RemoteAnimationTarget(in);
diff --git a/core/java/android/view/Surface.java b/core/java/android/view/Surface.java
index a15a20a..6ff699e 100644
--- a/core/java/android/view/Surface.java
+++ b/core/java/android/view/Surface.java
@@ -84,7 +84,7 @@
private static native int nativeSetSharedBufferModeEnabled(long nativeObject, boolean enabled);
private static native int nativeSetAutoRefreshEnabled(long nativeObject, boolean enabled);
- public static final Parcelable.Creator<Surface> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<Surface> CREATOR =
new Parcelable.Creator<Surface>() {
@Override
public Surface createFromParcel(Parcel source) {
diff --git a/core/java/android/view/SurfaceControl.java b/core/java/android/view/SurfaceControl.java
index 3768aca..54e70ea 100644
--- a/core/java/android/view/SurfaceControl.java
+++ b/core/java/android/view/SurfaceControl.java
@@ -819,7 +819,7 @@
proto.end(token);
}
- public static final Creator<SurfaceControl> CREATOR
+ public static final @android.annotation.NonNull Creator<SurfaceControl> CREATOR
= new Creator<SurfaceControl>() {
public SurfaceControl createFromParcel(Parcel in) {
return new SurfaceControl(in);
diff --git a/core/java/android/view/SurfaceView.java b/core/java/android/view/SurfaceView.java
index fe9aa23..ee8d663 100644
--- a/core/java/android/view/SurfaceView.java
+++ b/core/java/android/view/SurfaceView.java
@@ -210,7 +210,7 @@
public SurfaceView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
- mRenderNode.requestPositionUpdates(mPositionListener);
+ mRenderNode.addPositionUpdateListener(mPositionListener);
setWillNotDraw(true);
}
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index 7afdc70..877b304 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -881,12 +881,6 @@
private static boolean sAlwaysRemeasureExactly = false;
/**
- * Relax constraints around whether setLayoutParams() must be called after
- * modifying the layout params.
- */
- private static boolean sLayoutParamsAlwaysChanged = false;
-
- /**
* Allow setForeground/setBackground to be called (and ignored) on a textureview,
* without throwing
*/
@@ -4603,6 +4597,16 @@
private ArrayList<OnUnhandledKeyEventListener> mUnhandledKeyListeners;
private WindowInsetsAnimationListener mWindowInsetsAnimationListener;
+
+ /**
+ * This lives here since it's only valid for interactive views.
+ */
+ private List<Rect> mSystemGestureExclusionRects;
+
+ /**
+ * Used to track {@link #mSystemGestureExclusionRects}
+ */
+ public RenderNode.PositionUpdateListener mPositionUpdateListener;
}
@UnsupportedAppUsage
@@ -5170,11 +5174,6 @@
// modes, so we always need to run an additional EXACTLY pass.
sAlwaysRemeasureExactly = targetSdkVersion <= Build.VERSION_CODES.M;
- // Prior to N, layout params could change without requiring a
- // subsequent call to setLayoutParams() and they would usually
- // work. Partial layout breaks this assumption.
- sLayoutParamsAlwaysChanged = targetSdkVersion <= Build.VERSION_CODES.M;
-
// Prior to N, TextureView would silently ignore calls to setBackground/setForeground.
// On N+, we throw, but that breaks compatibility with apps that use these methods.
sTextureViewIgnoresDrawableSetters = targetSdkVersion <= Build.VERSION_CODES.M;
@@ -5972,7 +5971,7 @@
@NonNull
public List<Integer> getAttributeResolutionStack(@AttrRes int attribute) {
ArrayList<Integer> stack = new ArrayList<>();
- if (!sDebugViewAttributes) {
+ if (!sDebugViewAttributes || mAttributeResolutionStacks == null) {
return stack;
}
if (mSourceLayoutId != ID_NULL) {
@@ -6004,7 +6003,7 @@
@NonNull
public Map<Integer, Integer> getAttributeSourceResourceMap() {
HashMap<Integer, Integer> map = new HashMap<>();
- if (!sDebugViewAttributes) {
+ if (!sDebugViewAttributes || mAttributeSourceResId == null) {
return map;
}
for (int i = 0; i < mAttributeSourceResId.size(); i++) {
@@ -10974,6 +10973,95 @@
}
/**
+ * Sets a list of areas within this view's post-layout coordinate space where the system
+ * should not intercept touch or other pointing device gestures. <em>This method should
+ * be called by {@link #onLayout(boolean, int, int, int, int)} or {@link #onDraw(Canvas)}.</em>
+ *
+ * <p>Use this to tell the system which specific sub-areas of a view need to receive gesture
+ * input in order to function correctly in the presence of global system gestures that may
+ * conflict. For example, if the system wishes to capture swipe-in-from-screen-edge gestures
+ * to provide system-level navigation functionality, a view such as a navigation drawer
+ * container can mark the left (or starting) edge of itself as requiring gesture capture
+ * priority using this API. The system may then choose to relax its own gesture recognition
+ * to allow the app to consume the user's gesture. It is not necessary for an app to register
+ * exclusion rects for broadly spanning regions such as the entirety of a
+ * <code>ScrollView</code> or for simple press and release click targets such as
+ * <code>Button</code>. Mark an exclusion rect when interacting with a view requires
+ * a precision touch gesture in a small area in either the X or Y dimension, such as
+ * an edge swipe or dragging a <code>SeekBar</code> thumb.</p>
+ *
+ * <p>Do not modify the provided list after this method is called.</p>
+ *
+ * @param rects A list of precision gesture regions that this view needs to function correctly
+ */
+ public void setSystemGestureExclusionRects(@NonNull List<Rect> rects) {
+ if (rects.isEmpty() && mListenerInfo == null) return;
+
+ final ListenerInfo info = getListenerInfo();
+ if (rects.isEmpty()) {
+ info.mSystemGestureExclusionRects = null;
+ if (info.mPositionUpdateListener != null) {
+ mRenderNode.removePositionUpdateListener(info.mPositionUpdateListener);
+ }
+ } else {
+ info.mSystemGestureExclusionRects = rects;
+ if (info.mPositionUpdateListener == null) {
+ info.mPositionUpdateListener = new RenderNode.PositionUpdateListener() {
+ @Override
+ public void positionChanged(long n, int l, int t, int r, int b) {
+ postUpdateSystemGestureExclusionRects();
+ }
+
+ @Override
+ public void positionLost(long frameNumber) {
+ postUpdateSystemGestureExclusionRects();
+ }
+ };
+ mRenderNode.addPositionUpdateListener(info.mPositionUpdateListener);
+ }
+ }
+ postUpdateSystemGestureExclusionRects();
+ }
+
+ /**
+ * WARNING: this can be called by a hwui worker thread, not just the UI thread!
+ */
+ void postUpdateSystemGestureExclusionRects() {
+ // Potentially racey from a background thread. It's ok if it's not perfect.
+ final Handler h = getHandler();
+ if (h != null) {
+ h.postAtFrontOfQueue(this::updateSystemGestureExclusionRects);
+ }
+ }
+
+ void updateSystemGestureExclusionRects() {
+ final AttachInfo ai = mAttachInfo;
+ if (ai != null) {
+ ai.mViewRootImpl.updateSystemGestureExclusionRectsForView(this);
+ }
+ }
+
+ /**
+ * Retrieve the list of areas within this view's post-layout coordinate space where the system
+ * should not intercept touch or other pointing device gestures.
+ *
+ * <p>Do not modify the returned list.</p>
+ *
+ * @return the list set by {@link #setSystemGestureExclusionRects(List)}
+ */
+ @NonNull
+ public List<Rect> getSystemGestureExclusionRects() {
+ final ListenerInfo info = mListenerInfo;
+ if (info != null) {
+ final List<Rect> list = info.mSystemGestureExclusionRects;
+ if (list != null) {
+ return list;
+ }
+ }
+ return Collections.emptyList();
+ }
+
+ /**
* Compute the view's coordinate within the surface.
*
* <p>Computes the coordinates of this view in its surface. The argument
@@ -17988,21 +18076,6 @@
}
/**
- * Utility method to transform a given Rect by the current matrix of this view.
- */
- void transformRect(final Rect rect) {
- if (!getMatrix().isIdentity()) {
- RectF boundingRect = mAttachInfo.mTmpTransformRect;
- boundingRect.set(rect);
- getMatrix().mapRect(boundingRect);
- rect.set((int) Math.floor(boundingRect.left),
- (int) Math.floor(boundingRect.top),
- (int) Math.ceil(boundingRect.right),
- (int) Math.ceil(boundingRect.bottom));
- }
- }
-
- /**
* Used to indicate that the parent of this view should clear its caches. This functionality
* is used to force the parent to rebuild its display list (when hardware-accelerated),
* which is necessary when various parent-managed properties of the view change, such as
@@ -27916,7 +27989,7 @@
out.writeInt(mAutofillViewId);
}
- public static final Parcelable.Creator<BaseSavedState> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<BaseSavedState> CREATOR
= new Parcelable.ClassLoaderCreator<BaseSavedState>() {
@Override
public BaseSavedState createFromParcel(Parcel in) {
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index ad0aaa6..65b1abd 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -605,6 +605,8 @@
private final InsetsController mInsetsController = new InsetsController(this);
+ private final GestureExclusionTracker mGestureExclusionTracker = new GestureExclusionTracker();
+
static final class SystemUiVisibilityInfo {
int seq;
int globalVisibility;
@@ -3977,6 +3979,20 @@
return mAttachInfo.mAccessibilityFocusDrawable;
}
+ void updateSystemGestureExclusionRectsForView(View view) {
+ mGestureExclusionTracker.updateRectsForView(view);
+ mHandler.sendEmptyMessage(MSG_SYSTEM_GESTURE_EXCLUSION_CHANGED);
+ }
+
+ void systemGestureExclusionChanged() {
+ final List<Rect> rectsForWindowManager = mGestureExclusionTracker.computeChangedRects();
+ if (rectsForWindowManager != null) {
+ // TODO Send to WM
+ mAttachInfo.mTreeObserver
+ .dispatchOnSystemGestureExclusionRectsChanged(rectsForWindowManager);
+ }
+ }
+
/**
* Requests that the root render node is invalidated next time we perform a draw, such that
* {@link WindowCallbacks#onPostDraw} gets called.
@@ -4433,35 +4449,36 @@
}
}
- private final static int MSG_INVALIDATE = 1;
- private final static int MSG_INVALIDATE_RECT = 2;
- private final static int MSG_DIE = 3;
- private final static int MSG_RESIZED = 4;
- private final static int MSG_RESIZED_REPORT = 5;
- private final static int MSG_WINDOW_FOCUS_CHANGED = 6;
- private final static int MSG_DISPATCH_INPUT_EVENT = 7;
- private final static int MSG_DISPATCH_APP_VISIBILITY = 8;
- private final static int MSG_DISPATCH_GET_NEW_SURFACE = 9;
- private final static int MSG_DISPATCH_KEY_FROM_IME = 11;
- private final static int MSG_DISPATCH_KEY_FROM_AUTOFILL = 12;
- private final static int MSG_CHECK_FOCUS = 13;
- private final static int MSG_CLOSE_SYSTEM_DIALOGS = 14;
- private final static int MSG_DISPATCH_DRAG_EVENT = 15;
- private final static int MSG_DISPATCH_DRAG_LOCATION_EVENT = 16;
- private final static int MSG_DISPATCH_SYSTEM_UI_VISIBILITY = 17;
- private final static int MSG_UPDATE_CONFIGURATION = 18;
- private final static int MSG_PROCESS_INPUT_EVENTS = 19;
- private final static int MSG_CLEAR_ACCESSIBILITY_FOCUS_HOST = 21;
- private final static int MSG_INVALIDATE_WORLD = 22;
- private final static int MSG_WINDOW_MOVED = 23;
- private final static int MSG_SYNTHESIZE_INPUT_EVENT = 24;
- private final static int MSG_DISPATCH_WINDOW_SHOWN = 25;
- private final static int MSG_REQUEST_KEYBOARD_SHORTCUTS = 26;
- private final static int MSG_UPDATE_POINTER_ICON = 27;
- private final static int MSG_POINTER_CAPTURE_CHANGED = 28;
- private final static int MSG_DRAW_FINISHED = 29;
- private final static int MSG_INSETS_CHANGED = 30;
- private final static int MSG_INSETS_CONTROL_CHANGED = 31;
+ private static final int MSG_INVALIDATE = 1;
+ private static final int MSG_INVALIDATE_RECT = 2;
+ private static final int MSG_DIE = 3;
+ private static final int MSG_RESIZED = 4;
+ private static final int MSG_RESIZED_REPORT = 5;
+ private static final int MSG_WINDOW_FOCUS_CHANGED = 6;
+ private static final int MSG_DISPATCH_INPUT_EVENT = 7;
+ private static final int MSG_DISPATCH_APP_VISIBILITY = 8;
+ private static final int MSG_DISPATCH_GET_NEW_SURFACE = 9;
+ private static final int MSG_DISPATCH_KEY_FROM_IME = 11;
+ private static final int MSG_DISPATCH_KEY_FROM_AUTOFILL = 12;
+ private static final int MSG_CHECK_FOCUS = 13;
+ private static final int MSG_CLOSE_SYSTEM_DIALOGS = 14;
+ private static final int MSG_DISPATCH_DRAG_EVENT = 15;
+ private static final int MSG_DISPATCH_DRAG_LOCATION_EVENT = 16;
+ private static final int MSG_DISPATCH_SYSTEM_UI_VISIBILITY = 17;
+ private static final int MSG_UPDATE_CONFIGURATION = 18;
+ private static final int MSG_PROCESS_INPUT_EVENTS = 19;
+ private static final int MSG_CLEAR_ACCESSIBILITY_FOCUS_HOST = 21;
+ private static final int MSG_INVALIDATE_WORLD = 22;
+ private static final int MSG_WINDOW_MOVED = 23;
+ private static final int MSG_SYNTHESIZE_INPUT_EVENT = 24;
+ private static final int MSG_DISPATCH_WINDOW_SHOWN = 25;
+ private static final int MSG_REQUEST_KEYBOARD_SHORTCUTS = 26;
+ private static final int MSG_UPDATE_POINTER_ICON = 27;
+ private static final int MSG_POINTER_CAPTURE_CHANGED = 28;
+ private static final int MSG_DRAW_FINISHED = 29;
+ private static final int MSG_INSETS_CHANGED = 30;
+ private static final int MSG_INSETS_CONTROL_CHANGED = 31;
+ private static final int MSG_SYSTEM_GESTURE_EXCLUSION_CHANGED = 32;
final class ViewRootHandler extends Handler {
@Override
@@ -4519,6 +4536,10 @@
return "MSG_DRAW_FINISHED";
case MSG_INSETS_CHANGED:
return "MSG_INSETS_CHANGED";
+ case MSG_INSETS_CONTROL_CHANGED:
+ return "MSG_INSETS_CONTROL_CHANGED";
+ case MSG_SYSTEM_GESTURE_EXCLUSION_CHANGED:
+ return "MSG_SYSTEM_GESTURE_EXCLUSION_CHANGED";
}
return super.getMessageName(message);
}
@@ -4750,6 +4771,9 @@
case MSG_DRAW_FINISHED: {
pendingDrawFinished();
} break;
+ case MSG_SYSTEM_GESTURE_EXCLUSION_CHANGED: {
+ systemGestureExclusionChanged();
+ } break;
}
}
}
diff --git a/core/java/android/view/ViewTreeObserver.java b/core/java/android/view/ViewTreeObserver.java
index 763ce4f..2896bd0 100644
--- a/core/java/android/view/ViewTreeObserver.java
+++ b/core/java/android/view/ViewTreeObserver.java
@@ -26,7 +26,9 @@
import android.util.Log;
import java.util.ArrayList;
+import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
+import java.util.function.Consumer;
/**
* A view tree observer is used to register listeners that can be notified of global
@@ -57,6 +59,7 @@
private CopyOnWriteArray<OnScrollChangedListener> mOnScrollChangedListeners;
private CopyOnWriteArray<OnPreDrawListener> mOnPreDrawListeners;
private CopyOnWriteArray<OnWindowShownListener> mOnWindowShownListeners;
+ private CopyOnWriteArray<Consumer<List<Rect>>> mGestureExclusionListeners;
// These listeners cannot be mutated during dispatch
private boolean mInDispatchOnDraw;
@@ -450,6 +453,14 @@
}
}
+ if (observer.mGestureExclusionListeners != null) {
+ if (mGestureExclusionListeners != null) {
+ mGestureExclusionListeners.addAll(observer.mGestureExclusionListeners);
+ } else {
+ mGestureExclusionListeners = observer.mGestureExclusionListeners;
+ }
+ }
+
observer.kill();
}
@@ -913,6 +924,35 @@
mOnEnterAnimationCompleteListeners.remove(listener);
}
+ /**
+ * Add a listener to be notified when the tree's <em>transformed</em> gesture exclusion rects
+ * change. This could be the result of an animation or other layout change, or a view calling
+ * {@link View#setSystemGestureExclusionRects(List)}.
+ *
+ * @param listener listener to add
+ * @see View#setSystemGestureExclusionRects(List)
+ */
+ public void addOnSystemGestureExclusionRectsChangedListener(Consumer<List<Rect>> listener) {
+ checkIsAlive();
+ if (mGestureExclusionListeners == null) {
+ mGestureExclusionListeners = new CopyOnWriteArray<>();
+ }
+ mGestureExclusionListeners.add(listener);
+ }
+
+ /**
+ * Unsubscribe the given listener from gesture exclusion rect changes.
+ * @see #addOnSystemGestureExclusionRectsChangedListener(Consumer)
+ * @see View#setSystemGestureExclusionRects(List)
+ */
+ public void removeOnSystemGestureExclusionRectsChangedListener(Consumer<List<Rect>> listener) {
+ checkIsAlive();
+ if (mGestureExclusionListeners == null) {
+ return;
+ }
+ mGestureExclusionListeners.remove(listener);
+ }
+
private void checkIsAlive() {
if (!mAlive) {
throw new IllegalStateException("This ViewTreeObserver is not alive, call "
@@ -1178,6 +1218,21 @@
}
}
+ void dispatchOnSystemGestureExclusionRectsChanged(@NonNull List<Rect> rects) {
+ final CopyOnWriteArray<Consumer<List<Rect>>> listeners = mGestureExclusionListeners;
+ if (listeners != null && listeners.size() > 0) {
+ CopyOnWriteArray.Access<Consumer<List<Rect>>> access = listeners.start();
+ try {
+ final int count = access.size();
+ for (int i = 0; i < count; i++) {
+ access.get(i).accept(rects);
+ }
+ } finally {
+ listeners.end();
+ }
+ }
+ }
+
/**
* Copy on write array. This array is not thread safe, and only one loop can
* iterate over this array at any given time. This class avoids allocations
diff --git a/core/java/android/view/WindowAnimationFrameStats.java b/core/java/android/view/WindowAnimationFrameStats.java
index 0233c86..399dfba 100644
--- a/core/java/android/view/WindowAnimationFrameStats.java
+++ b/core/java/android/view/WindowAnimationFrameStats.java
@@ -81,7 +81,7 @@
return builder.toString();
}
- public static final Creator<WindowAnimationFrameStats> CREATOR =
+ public static final @android.annotation.NonNull Creator<WindowAnimationFrameStats> CREATOR =
new Creator<WindowAnimationFrameStats>() {
@Override
public WindowAnimationFrameStats createFromParcel(Parcel parcel) {
diff --git a/core/java/android/view/WindowContentFrameStats.java b/core/java/android/view/WindowContentFrameStats.java
index 96878e9..9fa5a00 100644
--- a/core/java/android/view/WindowContentFrameStats.java
+++ b/core/java/android/view/WindowContentFrameStats.java
@@ -139,7 +139,7 @@
return builder.toString();
}
- public static final Parcelable.Creator<WindowContentFrameStats> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<WindowContentFrameStats> CREATOR =
new Creator<WindowContentFrameStats>() {
@Override
public WindowContentFrameStats createFromParcel(Parcel parcel) {
diff --git a/core/java/android/view/WindowId.java b/core/java/android/view/WindowId.java
index 12e58f1..26d3405 100644
--- a/core/java/android/view/WindowId.java
+++ b/core/java/android/view/WindowId.java
@@ -196,7 +196,7 @@
out.writeStrongBinder(mToken.asBinder());
}
- public static final Parcelable.Creator<WindowId> CREATOR = new Parcelable.Creator<WindowId>() {
+ public static final @android.annotation.NonNull Parcelable.Creator<WindowId> CREATOR = new Parcelable.Creator<WindowId>() {
@Override
public WindowId createFromParcel(Parcel in) {
IBinder target = in.readStrongBinder();
diff --git a/core/java/android/view/WindowInfo.java b/core/java/android/view/WindowInfo.java
index 82e9a5c..74fc15a 100644
--- a/core/java/android/view/WindowInfo.java
+++ b/core/java/android/view/WindowInfo.java
@@ -176,7 +176,7 @@
hasFlagWatchOutsideTouch = false;
}
- public static final Parcelable.Creator<WindowInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<WindowInfo> CREATOR =
new Creator<WindowInfo>() {
@Override
public WindowInfo createFromParcel(Parcel parcel) {
diff --git a/core/java/android/view/WindowManager.java b/core/java/android/view/WindowManager.java
index 6326c59..0275c25 100644
--- a/core/java/android/view/WindowManager.java
+++ b/core/java/android/view/WindowManager.java
@@ -2724,7 +2724,7 @@
out.writeLong(hideTimeoutMilliseconds);
}
- public static final Parcelable.Creator<LayoutParams> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<LayoutParams> CREATOR
= new Parcelable.Creator<LayoutParams>() {
public LayoutParams createFromParcel(Parcel in) {
return new LayoutParams(in);
diff --git a/core/java/android/view/accessibility/AccessibilityCache.java b/core/java/android/view/accessibility/AccessibilityCache.java
index 87e18b7..5d59e42 100644
--- a/core/java/android/view/accessibility/AccessibilityCache.java
+++ b/core/java/android/view/accessibility/AccessibilityCache.java
@@ -424,20 +424,28 @@
*
* @param nodes The nodes in the hosting window.
* @param rootNodeId The id of the root to evict.
+ *
+ * @return {@code true} if the cache was cleared
*/
- private void clearSubTreeRecursiveLocked(LongSparseArray<AccessibilityNodeInfo> nodes,
+ private boolean clearSubTreeRecursiveLocked(LongSparseArray<AccessibilityNodeInfo> nodes,
long rootNodeId) {
AccessibilityNodeInfo current = nodes.get(rootNodeId);
if (current == null) {
- return;
+ // The node isn't in the cache, but its descendents might be.
+ clear();
+ return true;
}
nodes.remove(rootNodeId);
final int childCount = current.getChildCount();
for (int i = 0; i < childCount; i++) {
final long childNodeId = current.getChildId(i);
- clearSubTreeRecursiveLocked(nodes, childNodeId);
+ if (clearSubTreeRecursiveLocked(nodes, childNodeId)) {
+ current.recycle();
+ return true;
+ }
}
current.recycle();
+ return false;
}
/**
diff --git a/core/java/android/view/accessibility/AccessibilityEvent.java b/core/java/android/view/accessibility/AccessibilityEvent.java
index dccf9d4..2ac44d2 100644
--- a/core/java/android/view/accessibility/AccessibilityEvent.java
+++ b/core/java/android/view/accessibility/AccessibilityEvent.java
@@ -1430,7 +1430,7 @@
/**
* @see Parcelable.Creator
*/
- public static final Parcelable.Creator<AccessibilityEvent> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<AccessibilityEvent> CREATOR =
new Parcelable.Creator<AccessibilityEvent>() {
public AccessibilityEvent createFromParcel(Parcel parcel) {
AccessibilityEvent event = AccessibilityEvent.obtain();
diff --git a/core/java/android/view/accessibility/AccessibilityNodeInfo.java b/core/java/android/view/accessibility/AccessibilityNodeInfo.java
index 793c315..a8a787e 100644
--- a/core/java/android/view/accessibility/AccessibilityNodeInfo.java
+++ b/core/java/android/view/accessibility/AccessibilityNodeInfo.java
@@ -5144,7 +5144,7 @@
/**
* @see android.os.Parcelable.Creator
*/
- public static final Parcelable.Creator<TouchDelegateInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<TouchDelegateInfo> CREATOR =
new Parcelable.Creator<TouchDelegateInfo>() {
@Override
public TouchDelegateInfo createFromParcel(Parcel parcel) {
@@ -5173,7 +5173,7 @@
/**
* @see android.os.Parcelable.Creator
*/
- public static final Parcelable.Creator<AccessibilityNodeInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<AccessibilityNodeInfo> CREATOR =
new Parcelable.Creator<AccessibilityNodeInfo>() {
@Override
public AccessibilityNodeInfo createFromParcel(Parcel parcel) {
diff --git a/core/java/android/view/accessibility/AccessibilityWindowInfo.java b/core/java/android/view/accessibility/AccessibilityWindowInfo.java
index c1c9174..4383f8a 100644
--- a/core/java/android/view/accessibility/AccessibilityWindowInfo.java
+++ b/core/java/android/view/accessibility/AccessibilityWindowInfo.java
@@ -770,7 +770,7 @@
return changes;
}
- public static final Parcelable.Creator<AccessibilityWindowInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<AccessibilityWindowInfo> CREATOR =
new Creator<AccessibilityWindowInfo>() {
@Override
public AccessibilityWindowInfo createFromParcel(Parcel parcel) {
diff --git a/core/java/android/view/animation/Animation.java b/core/java/android/view/animation/Animation.java
index e095094..3b60aee 100644
--- a/core/java/android/view/animation/Animation.java
+++ b/core/java/android/view/animation/Animation.java
@@ -207,6 +207,7 @@
private float mScaleFactor = 1f;
private boolean mShowWallpaper;
+ private boolean mHasRoundedCorners;
private boolean mMore = true;
private boolean mOneMoreTime = true;
@@ -263,6 +264,8 @@
a.getBoolean(com.android.internal.R.styleable.Animation_detachWallpaper, false));
setShowWallpaper(
a.getBoolean(com.android.internal.R.styleable.Animation_showWallpaper, false));
+ setHasRoundedCorners(
+ a.getBoolean(com.android.internal.R.styleable.Animation_hasRoundedCorners, false));
final int resID = a.getResourceId(com.android.internal.R.styleable.Animation_interpolator, 0);
@@ -678,6 +681,19 @@
}
/**
+ * If this is a window animation, the window will have rounded corners matching the display
+ * corner radius.
+ *
+ * @param hasRoundedCorners Whether the window should have rounded corners or not.
+ * @attr ref android.R.styleable#Animation_hasRoundedCorners
+ * @see com.android.internal.policy.ScreenDecorationsUtils#getWindowCornerRadius(Resources)
+ * @hide
+ */
+ public void setHasRoundedCorners(boolean hasRoundedCorners) {
+ mHasRoundedCorners = hasRoundedCorners;
+ }
+
+ /**
* Gets the acceleration curve type for this animation.
*
* @return the {@link Interpolator} associated to this animation
@@ -804,6 +820,16 @@
}
/**
+ * @return if a window animation should have rounded corners or not.
+ *
+ * @attr ref android.R.styleable#Animation_hasRoundedCorners
+ * @hide
+ */
+ public boolean hasRoundedCorners() {
+ return mHasRoundedCorners;
+ }
+
+ /**
* <p>Indicates whether or not this animation will affect the transformation
* matrix. For instance, a fade animation will not affect the matrix whereas
* a scale animation will.</p>
diff --git a/core/java/android/view/autofill/AutofillId.java b/core/java/android/view/autofill/AutofillId.java
index 5608bb3..8fa29f3 100644
--- a/core/java/android/view/autofill/AutofillId.java
+++ b/core/java/android/view/autofill/AutofillId.java
@@ -206,7 +206,7 @@
}
}
- public static final Parcelable.Creator<AutofillId> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<AutofillId> CREATOR =
new Parcelable.Creator<AutofillId>() {
@Override
public AutofillId createFromParcel(Parcel source) {
diff --git a/core/java/android/view/autofill/AutofillValue.java b/core/java/android/view/autofill/AutofillValue.java
index 186a97d..64c8777 100644
--- a/core/java/android/view/autofill/AutofillValue.java
+++ b/core/java/android/view/autofill/AutofillValue.java
@@ -241,7 +241,7 @@
}
}
- public static final Parcelable.Creator<AutofillValue> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<AutofillValue> CREATOR =
new Parcelable.Creator<AutofillValue>() {
@Override
public AutofillValue createFromParcel(Parcel source) {
diff --git a/core/java/android/view/autofill/ParcelableMap.java b/core/java/android/view/autofill/ParcelableMap.java
index f97b1a0..d8459aa 100644
--- a/core/java/android/view/autofill/ParcelableMap.java
+++ b/core/java/android/view/autofill/ParcelableMap.java
@@ -47,7 +47,7 @@
}
}
- public static final Parcelable.Creator<ParcelableMap> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ParcelableMap> CREATOR =
new Parcelable.Creator<ParcelableMap>() {
@Override
public ParcelableMap createFromParcel(Parcel source) {
diff --git a/core/java/android/view/contentcapture/ContentCaptureContext.java b/core/java/android/view/contentcapture/ContentCaptureContext.java
index 8bb4d21..86f85bf 100644
--- a/core/java/android/view/contentcapture/ContentCaptureContext.java
+++ b/core/java/android/view/contentcapture/ContentCaptureContext.java
@@ -214,6 +214,7 @@
/**
* Helper that creates a {@link ContentCaptureContext} associated with the given {@code uri}.
*/
+ @NonNull
public static ContentCaptureContext forLocusId(@NonNull Uri uri) {
return new Builder(new LocusId(uri)).build();
}
@@ -269,6 +270,7 @@
*
* @return the built {@code ContentCaptureContext}
*/
+ @NonNull
public ContentCaptureContext build() {
throwIfDestroyed();
mDestroyed = true;
@@ -351,10 +353,11 @@
}
}
- public static final Parcelable.Creator<ContentCaptureContext> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ContentCaptureContext> CREATOR =
new Parcelable.Creator<ContentCaptureContext>() {
@Override
+ @NonNull
public ContentCaptureContext createFromParcel(Parcel parcel) {
final boolean hasClientContext = parcel.readInt() == 1;
@@ -383,6 +386,7 @@
}
@Override
+ @NonNull
public ContentCaptureContext[] newArray(int size) {
return new ContentCaptureContext[size];
}
diff --git a/core/java/android/view/contentcapture/ContentCaptureEvent.java b/core/java/android/view/contentcapture/ContentCaptureEvent.java
index 2585b74..67d3629 100644
--- a/core/java/android/view/contentcapture/ContentCaptureEvent.java
+++ b/core/java/android/view/contentcapture/ContentCaptureEvent.java
@@ -383,10 +383,11 @@
}
}
- public static final Parcelable.Creator<ContentCaptureEvent> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ContentCaptureEvent> CREATOR =
new Parcelable.Creator<ContentCaptureEvent>() {
@Override
+ @NonNull
public ContentCaptureEvent createFromParcel(Parcel parcel) {
final String sessionId = parcel.readString();
final int type = parcel.readInt();
@@ -415,6 +416,7 @@
}
@Override
+ @NonNull
public ContentCaptureEvent[] newArray(int size) {
return new ContentCaptureEvent[size];
}
diff --git a/core/java/android/view/contentcapture/ContentCaptureSession.java b/core/java/android/view/contentcapture/ContentCaptureSession.java
index ab8f346..6bf1eba 100644
--- a/core/java/android/view/contentcapture/ContentCaptureSession.java
+++ b/core/java/android/view/contentcapture/ContentCaptureSession.java
@@ -208,6 +208,7 @@
/**
* Gets the id used to identify this session.
*/
+ @NonNull
public final ContentCaptureSessionId getContentCaptureSessionId() {
if (mContentCaptureSessionId == null) {
mContentCaptureSessionId = new ContentCaptureSessionId(mId);
diff --git a/core/java/android/view/contentcapture/ContentCaptureSessionId.java b/core/java/android/view/contentcapture/ContentCaptureSessionId.java
index d7f9fcc..e7c350a 100644
--- a/core/java/android/view/contentcapture/ContentCaptureSessionId.java
+++ b/core/java/android/view/contentcapture/ContentCaptureSessionId.java
@@ -96,15 +96,17 @@
parcel.writeString(mValue);
}
- public static final Parcelable.Creator<ContentCaptureSessionId> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ContentCaptureSessionId> CREATOR =
new Parcelable.Creator<ContentCaptureSessionId>() {
@Override
+ @NonNull
public ContentCaptureSessionId createFromParcel(Parcel parcel) {
return new ContentCaptureSessionId(parcel.readString());
}
@Override
+ @NonNull
public ContentCaptureSessionId[] newArray(int size) {
return new ContentCaptureSessionId[size];
}
diff --git a/core/java/android/view/contentcapture/UserDataRemovalRequest.java b/core/java/android/view/contentcapture/UserDataRemovalRequest.java
index 7d66af9..b273f7c 100644
--- a/core/java/android/view/contentcapture/UserDataRemovalRequest.java
+++ b/core/java/android/view/contentcapture/UserDataRemovalRequest.java
@@ -121,6 +121,7 @@
*
* @return this builder
*/
+ @NonNull
public Builder addLocusId(@NonNull LocusId locusId, boolean recursive) {
throwIfDestroyed();
Preconditions.checkState(!mForEverything, "Already is for everything");
@@ -174,15 +175,17 @@
}
}
- public static final Parcelable.Creator<UserDataRemovalRequest> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<UserDataRemovalRequest> CREATOR =
new Parcelable.Creator<UserDataRemovalRequest>() {
@Override
+ @NonNull
public UserDataRemovalRequest createFromParcel(Parcel parcel) {
return new UserDataRemovalRequest(parcel);
}
@Override
+ @NonNull
public UserDataRemovalRequest[] newArray(int size) {
return new UserDataRemovalRequest[size];
}
diff --git a/core/java/android/view/inputmethod/CompletionInfo.java b/core/java/android/view/inputmethod/CompletionInfo.java
index 70b8059..eee8a62 100644
--- a/core/java/android/view/inputmethod/CompletionInfo.java
+++ b/core/java/android/view/inputmethod/CompletionInfo.java
@@ -153,7 +153,7 @@
/**
* Used to make this class parcelable.
*/
- public static final Parcelable.Creator<CompletionInfo> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<CompletionInfo> CREATOR
= new Parcelable.Creator<CompletionInfo>() {
public CompletionInfo createFromParcel(Parcel source) {
return new CompletionInfo(source);
diff --git a/core/java/android/view/inputmethod/CorrectionInfo.java b/core/java/android/view/inputmethod/CorrectionInfo.java
index a43dfe8..6db5784 100644
--- a/core/java/android/view/inputmethod/CorrectionInfo.java
+++ b/core/java/android/view/inputmethod/CorrectionInfo.java
@@ -88,7 +88,7 @@
/**
* Used to make this class parcelable.
*/
- public static final Parcelable.Creator<CorrectionInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<CorrectionInfo> CREATOR =
new Parcelable.Creator<CorrectionInfo>() {
public CorrectionInfo createFromParcel(Parcel source) {
return new CorrectionInfo(source);
diff --git a/core/java/android/view/inputmethod/CursorAnchorInfo.java b/core/java/android/view/inputmethod/CursorAnchorInfo.java
index 24739bf..ee5b3ec 100644
--- a/core/java/android/view/inputmethod/CursorAnchorInfo.java
+++ b/core/java/android/view/inputmethod/CursorAnchorInfo.java
@@ -559,7 +559,7 @@
/**
* Used to make this class parcelable.
*/
- public static final Parcelable.Creator<CursorAnchorInfo> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<CursorAnchorInfo> CREATOR
= new Parcelable.Creator<CursorAnchorInfo>() {
@Override
public CursorAnchorInfo createFromParcel(Parcel source) {
diff --git a/core/java/android/view/inputmethod/EditorInfo.java b/core/java/android/view/inputmethod/EditorInfo.java
index 8e7b0db..e1a9898 100644
--- a/core/java/android/view/inputmethod/EditorInfo.java
+++ b/core/java/android/view/inputmethod/EditorInfo.java
@@ -585,7 +585,7 @@
/**
* Used to make this class parcelable.
*/
- public static final Parcelable.Creator<EditorInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<EditorInfo> CREATOR =
new Parcelable.Creator<EditorInfo>() {
public EditorInfo createFromParcel(Parcel source) {
EditorInfo res = new EditorInfo();
diff --git a/core/java/android/view/inputmethod/ExtractedText.java b/core/java/android/view/inputmethod/ExtractedText.java
index 1eb300e..159d2aa 100644
--- a/core/java/android/view/inputmethod/ExtractedText.java
+++ b/core/java/android/view/inputmethod/ExtractedText.java
@@ -115,7 +115,7 @@
/**
* Used to make this class parcelable.
*/
- public static final Parcelable.Creator<ExtractedText> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<ExtractedText> CREATOR
= new Parcelable.Creator<ExtractedText>() {
public ExtractedText createFromParcel(Parcel source) {
ExtractedText res = new ExtractedText();
diff --git a/core/java/android/view/inputmethod/ExtractedTextRequest.java b/core/java/android/view/inputmethod/ExtractedTextRequest.java
index bf0bef3..e442185 100644
--- a/core/java/android/view/inputmethod/ExtractedTextRequest.java
+++ b/core/java/android/view/inputmethod/ExtractedTextRequest.java
@@ -63,7 +63,7 @@
/**
* Used to make this class parcelable.
*/
- public static final Parcelable.Creator<ExtractedTextRequest> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<ExtractedTextRequest> CREATOR
= new Parcelable.Creator<ExtractedTextRequest>() {
public ExtractedTextRequest createFromParcel(Parcel source) {
ExtractedTextRequest res = new ExtractedTextRequest();
diff --git a/core/java/android/view/inputmethod/InputBinding.java b/core/java/android/view/inputmethod/InputBinding.java
index bcd459e..2bfeb5a 100644
--- a/core/java/android/view/inputmethod/InputBinding.java
+++ b/core/java/android/view/inputmethod/InputBinding.java
@@ -135,7 +135,7 @@
/**
* Used to make this class parcelable.
*/
- public static final Parcelable.Creator<InputBinding> CREATOR = new Parcelable.Creator<InputBinding>() {
+ public static final @android.annotation.NonNull Parcelable.Creator<InputBinding> CREATOR = new Parcelable.Creator<InputBinding>() {
public InputBinding createFromParcel(Parcel source) {
return new InputBinding(source);
}
diff --git a/core/java/android/view/inputmethod/InputContentInfo.java b/core/java/android/view/inputmethod/InputContentInfo.java
index 0d0fea6..9aa410f 100644
--- a/core/java/android/view/inputmethod/InputContentInfo.java
+++ b/core/java/android/view/inputmethod/InputContentInfo.java
@@ -265,7 +265,7 @@
/**
* Used to make this class parcelable.
*/
- public static final Parcelable.Creator<InputContentInfo> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<InputContentInfo> CREATOR
= new Parcelable.Creator<InputContentInfo>() {
@Override
public InputContentInfo createFromParcel(Parcel source) {
diff --git a/core/java/android/view/inputmethod/InputMethodInfo.java b/core/java/android/view/inputmethod/InputMethodInfo.java
index 04028ae..fe07fee 100644
--- a/core/java/android/view/inputmethod/InputMethodInfo.java
+++ b/core/java/android/view/inputmethod/InputMethodInfo.java
@@ -548,7 +548,7 @@
/**
* Used to make this class parcelable.
*/
- public static final Parcelable.Creator<InputMethodInfo> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<InputMethodInfo> CREATOR
= new Parcelable.Creator<InputMethodInfo>() {
@Override
public InputMethodInfo createFromParcel(Parcel source) {
diff --git a/core/java/android/view/inputmethod/InputMethodSubtype.java b/core/java/android/view/inputmethod/InputMethodSubtype.java
index 14c879e..5989847 100644
--- a/core/java/android/view/inputmethod/InputMethodSubtype.java
+++ b/core/java/android/view/inputmethod/InputMethodSubtype.java
@@ -636,7 +636,7 @@
dest.writeInt(mIsAsciiCapable ? 1 : 0);
}
- public static final Parcelable.Creator<InputMethodSubtype> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<InputMethodSubtype> CREATOR
= new Parcelable.Creator<InputMethodSubtype>() {
@Override
public InputMethodSubtype createFromParcel(Parcel source) {
diff --git a/core/java/android/view/inputmethod/SparseRectFArray.java b/core/java/android/view/inputmethod/SparseRectFArray.java
index 484fe46..596ea86 100644
--- a/core/java/android/view/inputmethod/SparseRectFArray.java
+++ b/core/java/android/view/inputmethod/SparseRectFArray.java
@@ -292,7 +292,7 @@
/**
* Used to make this class parcelable.
*/
- public static final Parcelable.Creator<SparseRectFArray> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<SparseRectFArray> CREATOR =
new Parcelable.Creator<SparseRectFArray>() {
@Override
public SparseRectFArray createFromParcel(Parcel source) {
diff --git a/core/java/android/view/textclassifier/ConversationAction.java b/core/java/android/view/textclassifier/ConversationAction.java
index ae6a645..2b952a3 100644
--- a/core/java/android/view/textclassifier/ConversationAction.java
+++ b/core/java/android/view/textclassifier/ConversationAction.java
@@ -95,7 +95,7 @@
/** @hide **/
public static final String TYPE_ADD_CONTACT = "add_contact";
- public static final Creator<ConversationAction> CREATOR =
+ public static final @android.annotation.NonNull Creator<ConversationAction> CREATOR =
new Creator<ConversationAction>() {
@Override
public ConversationAction createFromParcel(Parcel in) {
diff --git a/core/java/android/view/textclassifier/ConversationActions.java b/core/java/android/view/textclassifier/ConversationActions.java
index cf31445..9f9e666 100644
--- a/core/java/android/view/textclassifier/ConversationActions.java
+++ b/core/java/android/view/textclassifier/ConversationActions.java
@@ -44,7 +44,7 @@
*/
public final class ConversationActions implements Parcelable {
- public static final Creator<ConversationActions> CREATOR =
+ public static final @android.annotation.NonNull Creator<ConversationActions> CREATOR =
new Creator<ConversationActions>() {
@Override
public ConversationActions createFromParcel(Parcel in) {
@@ -175,7 +175,7 @@
return 0;
}
- public static final Creator<Message> CREATOR =
+ public static final @android.annotation.NonNull Creator<Message> CREATOR =
new Creator<Message>() {
@Override
public Message createFromParcel(Parcel in) {
@@ -367,7 +367,7 @@
return 0;
}
- public static final Creator<Request> CREATOR =
+ public static final @android.annotation.NonNull Creator<Request> CREATOR =
new Creator<Request>() {
@Override
public Request createFromParcel(Parcel in) {
diff --git a/core/java/android/view/textclassifier/EntityConfidence.java b/core/java/android/view/textclassifier/EntityConfidence.java
index 69a59a5..3c51c38 100644
--- a/core/java/android/view/textclassifier/EntityConfidence.java
+++ b/core/java/android/view/textclassifier/EntityConfidence.java
@@ -108,7 +108,7 @@
}
}
- public static final Parcelable.Creator<EntityConfidence> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<EntityConfidence> CREATOR =
new Parcelable.Creator<EntityConfidence>() {
@Override
public EntityConfidence createFromParcel(Parcel in) {
diff --git a/core/java/android/view/textclassifier/SelectionEvent.java b/core/java/android/view/textclassifier/SelectionEvent.java
index b073596..105cbcc 100644
--- a/core/java/android/view/textclassifier/SelectionEvent.java
+++ b/core/java/android/view/textclassifier/SelectionEvent.java
@@ -643,7 +643,7 @@
mSessionId, mStart, mEnd, mSmartStart, mSmartEnd);
}
- public static final Creator<SelectionEvent> CREATOR = new Creator<SelectionEvent>() {
+ public static final @android.annotation.NonNull Creator<SelectionEvent> CREATOR = new Creator<SelectionEvent>() {
@Override
public SelectionEvent createFromParcel(Parcel in) {
return new SelectionEvent(in);
diff --git a/core/java/android/view/textclassifier/TextClassification.java b/core/java/android/view/textclassifier/TextClassification.java
index 052ee95..034da01 100644
--- a/core/java/android/view/textclassifier/TextClassification.java
+++ b/core/java/android/view/textclassifier/TextClassification.java
@@ -756,7 +756,7 @@
return request;
}
- public static final Parcelable.Creator<Request> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<Request> CREATOR =
new Parcelable.Creator<Request>() {
@Override
public Request createFromParcel(Parcel in) {
@@ -785,7 +785,7 @@
dest.writeBundle(mExtras);
}
- public static final Parcelable.Creator<TextClassification> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<TextClassification> CREATOR =
new Parcelable.Creator<TextClassification>() {
@Override
public TextClassification createFromParcel(Parcel in) {
diff --git a/core/java/android/view/textclassifier/TextClassificationContext.java b/core/java/android/view/textclassifier/TextClassificationContext.java
index a15411f..3bf8e9b 100644
--- a/core/java/android/view/textclassifier/TextClassificationContext.java
+++ b/core/java/android/view/textclassifier/TextClassificationContext.java
@@ -141,7 +141,7 @@
mWidgetVersion = in.readString();
}
- public static final Parcelable.Creator<TextClassificationContext> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<TextClassificationContext> CREATOR =
new Parcelable.Creator<TextClassificationContext>() {
@Override
public TextClassificationContext createFromParcel(Parcel parcel) {
diff --git a/core/java/android/view/textclassifier/TextClassificationSessionId.java b/core/java/android/view/textclassifier/TextClassificationSessionId.java
index 1378bd9..5e62a11 100644
--- a/core/java/android/view/textclassifier/TextClassificationSessionId.java
+++ b/core/java/android/view/textclassifier/TextClassificationSessionId.java
@@ -115,7 +115,7 @@
return new TextClassificationSessionId(string);
}
- public static final Parcelable.Creator<TextClassificationSessionId> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<TextClassificationSessionId> CREATOR =
new Parcelable.Creator<TextClassificationSessionId>() {
@Override
public TextClassificationSessionId createFromParcel(Parcel parcel) {
diff --git a/core/java/android/view/textclassifier/TextClassifier.java b/core/java/android/view/textclassifier/TextClassifier.java
index e010155..23ce90e 100644
--- a/core/java/android/view/textclassifier/TextClassifier.java
+++ b/core/java/android/view/textclassifier/TextClassifier.java
@@ -550,7 +550,7 @@
return 0;
}
- public static final Parcelable.Creator<EntityConfig> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<EntityConfig> CREATOR =
new Parcelable.Creator<EntityConfig>() {
@Override
public EntityConfig createFromParcel(Parcel in) {
diff --git a/core/java/android/view/textclassifier/TextClassifierEvent.java b/core/java/android/view/textclassifier/TextClassifierEvent.java
index 0d4338b..236f89b 100644
--- a/core/java/android/view/textclassifier/TextClassifierEvent.java
+++ b/core/java/android/view/textclassifier/TextClassifierEvent.java
@@ -35,7 +35,7 @@
// TODO: Comprehensive javadoc.
public final class TextClassifierEvent implements Parcelable {
- public static final Creator<TextClassifierEvent> CREATOR = new Creator<TextClassifierEvent>() {
+ public static final @android.annotation.NonNull Creator<TextClassifierEvent> CREATOR = new Creator<TextClassifierEvent>() {
@Override
public TextClassifierEvent createFromParcel(Parcel in) {
return readFromParcel(in);
diff --git a/core/java/android/view/textclassifier/TextLanguage.java b/core/java/android/view/textclassifier/TextLanguage.java
index 735c3eb..eaf4d7f 100644
--- a/core/java/android/view/textclassifier/TextLanguage.java
+++ b/core/java/android/view/textclassifier/TextLanguage.java
@@ -43,7 +43,7 @@
*/
public final class TextLanguage implements Parcelable {
- public static final Creator<TextLanguage> CREATOR = new Creator<TextLanguage>() {
+ public static final @android.annotation.NonNull Creator<TextLanguage> CREATOR = new Creator<TextLanguage>() {
@Override
public TextLanguage createFromParcel(Parcel in) {
return readFromParcel(in);
@@ -212,7 +212,7 @@
*/
public static final class Request implements Parcelable {
- public static final Creator<Request> CREATOR = new Creator<Request>() {
+ public static final @android.annotation.NonNull Creator<Request> CREATOR = new Creator<Request>() {
@Override
public Request createFromParcel(Parcel in) {
return readFromParcel(in);
diff --git a/core/java/android/view/textclassifier/TextLinks.java b/core/java/android/view/textclassifier/TextLinks.java
index ab34178..d8216ef 100644
--- a/core/java/android/view/textclassifier/TextLinks.java
+++ b/core/java/android/view/textclassifier/TextLinks.java
@@ -180,7 +180,7 @@
dest.writeBundle(mExtras);
}
- public static final Parcelable.Creator<TextLinks> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<TextLinks> CREATOR =
new Parcelable.Creator<TextLinks>() {
@Override
public TextLinks createFromParcel(Parcel in) {
@@ -315,7 +315,7 @@
return new TextLink(start, end, entityConfidence, extras, null /* urlSpan */);
}
- public static final Parcelable.Creator<TextLink> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<TextLink> CREATOR =
new Parcelable.Creator<TextLink>() {
@Override
public TextLink createFromParcel(Parcel in) {
@@ -528,7 +528,7 @@
return request;
}
- public static final Parcelable.Creator<Request> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<Request> CREATOR =
new Parcelable.Creator<Request>() {
@Override
public Request createFromParcel(Parcel in) {
diff --git a/core/java/android/view/textclassifier/TextSelection.java b/core/java/android/view/textclassifier/TextSelection.java
index 4a6f3e5..52c532b 100644
--- a/core/java/android/view/textclassifier/TextSelection.java
+++ b/core/java/android/view/textclassifier/TextSelection.java
@@ -413,7 +413,7 @@
return request;
}
- public static final Parcelable.Creator<Request> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<Request> CREATOR =
new Parcelable.Creator<Request>() {
@Override
public Request createFromParcel(Parcel in) {
@@ -441,7 +441,7 @@
dest.writeBundle(mExtras);
}
- public static final Parcelable.Creator<TextSelection> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<TextSelection> CREATOR =
new Parcelable.Creator<TextSelection>() {
@Override
public TextSelection createFromParcel(Parcel in) {
diff --git a/core/java/android/view/textservice/SentenceSuggestionsInfo.java b/core/java/android/view/textservice/SentenceSuggestionsInfo.java
index afd62eb..0d37632 100644
--- a/core/java/android/view/textservice/SentenceSuggestionsInfo.java
+++ b/core/java/android/view/textservice/SentenceSuggestionsInfo.java
@@ -129,7 +129,7 @@
/**
* Used to make this class parcelable.
*/
- public static final Parcelable.Creator<SentenceSuggestionsInfo> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<SentenceSuggestionsInfo> CREATOR
= new Parcelable.Creator<SentenceSuggestionsInfo>() {
@Override
public SentenceSuggestionsInfo createFromParcel(Parcel source) {
diff --git a/core/java/android/view/textservice/SpellCheckerInfo.java b/core/java/android/view/textservice/SpellCheckerInfo.java
index 7aa2c23..13d44da 100644
--- a/core/java/android/view/textservice/SpellCheckerInfo.java
+++ b/core/java/android/view/textservice/SpellCheckerInfo.java
@@ -192,7 +192,7 @@
/**
* Used to make this class parcelable.
*/
- public static final Parcelable.Creator<SpellCheckerInfo> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<SpellCheckerInfo> CREATOR
= new Parcelable.Creator<SpellCheckerInfo>() {
@Override
public SpellCheckerInfo createFromParcel(Parcel source) {
diff --git a/core/java/android/view/textservice/SpellCheckerSubtype.java b/core/java/android/view/textservice/SpellCheckerSubtype.java
index d904d467..8224e0e 100644
--- a/core/java/android/view/textservice/SpellCheckerSubtype.java
+++ b/core/java/android/view/textservice/SpellCheckerSubtype.java
@@ -271,7 +271,7 @@
dest.writeInt(mSubtypeId);
}
- public static final Parcelable.Creator<SpellCheckerSubtype> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<SpellCheckerSubtype> CREATOR
= new Parcelable.Creator<SpellCheckerSubtype>() {
@Override
public SpellCheckerSubtype createFromParcel(Parcel source) {
diff --git a/core/java/android/view/textservice/SuggestionsInfo.java b/core/java/android/view/textservice/SuggestionsInfo.java
index dc2051c..e69b6e7 100644
--- a/core/java/android/view/textservice/SuggestionsInfo.java
+++ b/core/java/android/view/textservice/SuggestionsInfo.java
@@ -162,7 +162,7 @@
/**
* Used to make this class parcelable.
*/
- public static final Parcelable.Creator<SuggestionsInfo> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<SuggestionsInfo> CREATOR
= new Parcelable.Creator<SuggestionsInfo>() {
@Override
public SuggestionsInfo createFromParcel(Parcel source) {
diff --git a/core/java/android/view/textservice/TextInfo.java b/core/java/android/view/textservice/TextInfo.java
index 5499918..571bdf3 100644
--- a/core/java/android/view/textservice/TextInfo.java
+++ b/core/java/android/view/textservice/TextInfo.java
@@ -138,7 +138,7 @@
/**
* Used to make this class parcelable.
*/
- public static final Parcelable.Creator<TextInfo> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<TextInfo> CREATOR
= new Parcelable.Creator<TextInfo>() {
@Override
public TextInfo createFromParcel(Parcel source) {
diff --git a/core/java/android/webkit/WebViewProvider.java b/core/java/android/webkit/WebViewProvider.java
index baf5826..4c8f72a 100644
--- a/core/java/android/webkit/WebViewProvider.java
+++ b/core/java/android/webkit/WebViewProvider.java
@@ -351,7 +351,7 @@
}
default void onProvideContentCaptureStructure(
- @SuppressWarnings("unused") android.view.ViewStructure structure,
+ @NonNull @SuppressWarnings("unused") android.view.ViewStructure structure,
@SuppressWarnings("unused") int flags) {
}
diff --git a/core/java/android/webkit/WebViewProviderInfo.java b/core/java/android/webkit/WebViewProviderInfo.java
index 1704757..7e00cde 100644
--- a/core/java/android/webkit/WebViewProviderInfo.java
+++ b/core/java/android/webkit/WebViewProviderInfo.java
@@ -46,7 +46,7 @@
}
// aidl stuff
- public static final Parcelable.Creator<WebViewProviderInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<WebViewProviderInfo> CREATOR =
new Parcelable.Creator<WebViewProviderInfo>() {
public WebViewProviderInfo createFromParcel(Parcel in) {
return new WebViewProviderInfo(in);
diff --git a/core/java/android/webkit/WebViewProviderResponse.java b/core/java/android/webkit/WebViewProviderResponse.java
index 0edcb6f..5622abe 100644
--- a/core/java/android/webkit/WebViewProviderResponse.java
+++ b/core/java/android/webkit/WebViewProviderResponse.java
@@ -30,7 +30,7 @@
}
// aidl stuff
- public static final Parcelable.Creator<WebViewProviderResponse> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<WebViewProviderResponse> CREATOR =
new Parcelable.Creator<WebViewProviderResponse>() {
public WebViewProviderResponse createFromParcel(Parcel in) {
return new WebViewProviderResponse(in);
diff --git a/core/java/android/widget/AbsListView.java b/core/java/android/widget/AbsListView.java
index f01babe..7ca2304 100644
--- a/core/java/android/widget/AbsListView.java
+++ b/core/java/android/widget/AbsListView.java
@@ -1803,7 +1803,7 @@
+ " checkState=" + checkState + "}";
}
- public static final Parcelable.Creator<SavedState> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<SavedState> CREATOR
= new Parcelable.Creator<SavedState>() {
@Override
public SavedState createFromParcel(Parcel in) {
diff --git a/core/java/android/widget/AbsSpinner.java b/core/java/android/widget/AbsSpinner.java
index 3dcba48..daf6914 100644
--- a/core/java/android/widget/AbsSpinner.java
+++ b/core/java/android/widget/AbsSpinner.java
@@ -415,7 +415,7 @@
+ " position=" + position + "}";
}
- public static final Parcelable.Creator<SavedState> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<SavedState> CREATOR
= new Parcelable.Creator<SavedState>() {
public SavedState createFromParcel(Parcel in) {
return new SavedState(in);
diff --git a/core/java/android/widget/ActionMenuPresenter.java b/core/java/android/widget/ActionMenuPresenter.java
index eb20a76..cfb93ec 100644
--- a/core/java/android/widget/ActionMenuPresenter.java
+++ b/core/java/android/widget/ActionMenuPresenter.java
@@ -830,7 +830,7 @@
dest.writeInt(openSubMenuId);
}
- public static final Parcelable.Creator<SavedState> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<SavedState> CREATOR
= new Parcelable.Creator<SavedState>() {
public SavedState createFromParcel(Parcel in) {
return new SavedState(in);
diff --git a/core/java/android/widget/AdapterViewAnimator.java b/core/java/android/widget/AdapterViewAnimator.java
index 5174c1a..d93b635 100644
--- a/core/java/android/widget/AdapterViewAnimator.java
+++ b/core/java/android/widget/AdapterViewAnimator.java
@@ -804,7 +804,7 @@
return "AdapterViewAnimator.SavedState{ whichChild = " + this.whichChild + " }";
}
- public static final Parcelable.Creator<SavedState> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<SavedState> CREATOR
= new Parcelable.Creator<SavedState>() {
public SavedState createFromParcel(Parcel in) {
return new SavedState(in);
diff --git a/core/java/android/widget/CheckedTextView.java b/core/java/android/widget/CheckedTextView.java
index 99440f8..a211b46 100644
--- a/core/java/android/widget/CheckedTextView.java
+++ b/core/java/android/widget/CheckedTextView.java
@@ -493,7 +493,7 @@
+ " checked=" + checked + "}";
}
- public static final Parcelable.Creator<SavedState> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<SavedState> CREATOR
= new Parcelable.Creator<SavedState>() {
public SavedState createFromParcel(Parcel in) {
return new SavedState(in);
diff --git a/core/java/android/widget/CompoundButton.java b/core/java/android/widget/CompoundButton.java
index 3cfd373..80ec1c6 100644
--- a/core/java/android/widget/CompoundButton.java
+++ b/core/java/android/widget/CompoundButton.java
@@ -545,7 +545,7 @@
}
@SuppressWarnings("hiding")
- public static final Parcelable.Creator<SavedState> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<SavedState> CREATOR =
new Parcelable.Creator<SavedState>() {
@Override
public SavedState createFromParcel(Parcel in) {
diff --git a/core/java/android/widget/DatePicker.java b/core/java/android/widget/DatePicker.java
index ada4f00..ecb846b 100644
--- a/core/java/android/widget/DatePicker.java
+++ b/core/java/android/widget/DatePicker.java
@@ -791,7 +791,7 @@
@SuppressWarnings("all")
// suppress unused and hiding
- public static final Parcelable.Creator<SavedState> CREATOR = new Creator<SavedState>() {
+ public static final @android.annotation.NonNull Parcelable.Creator<SavedState> CREATOR = new Creator<SavedState>() {
public SavedState createFromParcel(Parcel in) {
return new SavedState(in);
diff --git a/core/java/android/widget/ExpandableListConnector.java b/core/java/android/widget/ExpandableListConnector.java
index bda64ba..f04f605 100644
--- a/core/java/android/widget/ExpandableListConnector.java
+++ b/core/java/android/widget/ExpandableListConnector.java
@@ -927,7 +927,7 @@
dest.writeLong(gId);
}
- public static final Parcelable.Creator<GroupMetadata> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<GroupMetadata> CREATOR =
new Parcelable.Creator<GroupMetadata>() {
public GroupMetadata createFromParcel(Parcel in) {
diff --git a/core/java/android/widget/ExpandableListView.java b/core/java/android/widget/ExpandableListView.java
index 2cc013e..cae91fc 100644
--- a/core/java/android/widget/ExpandableListView.java
+++ b/core/java/android/widget/ExpandableListView.java
@@ -1318,7 +1318,7 @@
out.writeList(expandedGroupMetadataList);
}
- public static final Parcelable.Creator<SavedState> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<SavedState> CREATOR
= new Parcelable.Creator<SavedState>() {
public SavedState createFromParcel(Parcel in) {
return new SavedState(in);
diff --git a/core/java/android/widget/HorizontalScrollView.java b/core/java/android/widget/HorizontalScrollView.java
index 25cfdc7..5921feb 100644
--- a/core/java/android/widget/HorizontalScrollView.java
+++ b/core/java/android/widget/HorizontalScrollView.java
@@ -1844,7 +1844,7 @@
+ "}";
}
- public static final Parcelable.Creator<SavedState> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<SavedState> CREATOR
= new Parcelable.Creator<SavedState>() {
public SavedState createFromParcel(Parcel in) {
return new SavedState(in);
diff --git a/core/java/android/widget/ProgressBar.java b/core/java/android/widget/ProgressBar.java
index 8113b40..0b433b1 100644
--- a/core/java/android/widget/ProgressBar.java
+++ b/core/java/android/widget/ProgressBar.java
@@ -2061,7 +2061,7 @@
out.writeInt(secondaryProgress);
}
- public static final Parcelable.Creator<SavedState> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<SavedState> CREATOR
= new Parcelable.Creator<SavedState>() {
public SavedState createFromParcel(Parcel in) {
return new SavedState(in);
diff --git a/core/java/android/widget/RemoteViews.java b/core/java/android/widget/RemoteViews.java
index 8514b85..516c48e 100644
--- a/core/java/android/widget/RemoteViews.java
+++ b/core/java/android/widget/RemoteViews.java
@@ -3783,7 +3783,7 @@
/**
* Parcelable.Creator that instantiates RemoteViews objects
*/
- public static final Parcelable.Creator<RemoteViews> CREATOR = new Parcelable.Creator<RemoteViews>() {
+ public static final @android.annotation.NonNull Parcelable.Creator<RemoteViews> CREATOR = new Parcelable.Creator<RemoteViews>() {
public RemoteViews createFromParcel(Parcel parcel) {
return new RemoteViews(parcel);
}
diff --git a/core/java/android/widget/ScrollView.java b/core/java/android/widget/ScrollView.java
index 7e72c6a..457be34 100644
--- a/core/java/android/widget/ScrollView.java
+++ b/core/java/android/widget/ScrollView.java
@@ -1978,7 +1978,7 @@
+ " scrollPosition=" + scrollPosition + "}";
}
- public static final Parcelable.Creator<SavedState> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<SavedState> CREATOR
= new Parcelable.Creator<SavedState>() {
public SavedState createFromParcel(Parcel in) {
return new SavedState(in);
diff --git a/core/java/android/widget/SearchView.java b/core/java/android/widget/SearchView.java
index 172f1d8..89d9e97 100644
--- a/core/java/android/widget/SearchView.java
+++ b/core/java/android/widget/SearchView.java
@@ -1433,7 +1433,7 @@
+ " isIconified=" + isIconified + "}";
}
- public static final Parcelable.Creator<SavedState> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<SavedState> CREATOR =
new Parcelable.Creator<SavedState>() {
public SavedState createFromParcel(Parcel in) {
return new SavedState(in);
diff --git a/core/java/android/widget/Spinner.java b/core/java/android/widget/Spinner.java
index d6c657b..92fcea3 100644
--- a/core/java/android/widget/Spinner.java
+++ b/core/java/android/widget/Spinner.java
@@ -944,7 +944,7 @@
out.writeByte((byte) (showDropdown ? 1 : 0));
}
- public static final Parcelable.Creator<SavedState> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<SavedState> CREATOR =
new Parcelable.Creator<SavedState>() {
public SavedState createFromParcel(Parcel in) {
return new SavedState(in);
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index 51eaa12..73792b0 100644
--- a/core/java/android/widget/TextView.java
+++ b/core/java/android/widget/TextView.java
@@ -13062,7 +13062,7 @@
}
@SuppressWarnings("hiding")
- public static final Parcelable.Creator<SavedState> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<SavedState> CREATOR =
new Parcelable.Creator<SavedState>() {
public SavedState createFromParcel(Parcel in) {
return new SavedState(in);
diff --git a/core/java/android/widget/TimePicker.java b/core/java/android/widget/TimePicker.java
index 97a8ade..c7a2980 100644
--- a/core/java/android/widget/TimePicker.java
+++ b/core/java/android/widget/TimePicker.java
@@ -552,7 +552,7 @@
}
@SuppressWarnings({"unused", "hiding"})
- public static final Creator<SavedState> CREATOR = new Creator<SavedState>() {
+ public static final @android.annotation.NonNull Creator<SavedState> CREATOR = new Creator<SavedState>() {
public SavedState createFromParcel(Parcel in) {
return new SavedState(in);
}
diff --git a/core/java/android/widget/Toolbar.java b/core/java/android/widget/Toolbar.java
index f25109e..a21fb41 100644
--- a/core/java/android/widget/Toolbar.java
+++ b/core/java/android/widget/Toolbar.java
@@ -2384,7 +2384,7 @@
out.writeInt(isOverflowOpen ? 1 : 0);
}
- public static final Creator<SavedState> CREATOR = new Creator<SavedState>() {
+ public static final @android.annotation.NonNull Creator<SavedState> CREATOR = new Creator<SavedState>() {
@Override
public SavedState createFromParcel(Parcel source) {
diff --git a/core/java/android/widget/ZoomControls.java b/core/java/android/widget/ZoomControls.java
index dd6a27b8f..7a5b7e8 100644
--- a/core/java/android/widget/ZoomControls.java
+++ b/core/java/android/widget/ZoomControls.java
@@ -30,7 +30,11 @@
/**
* The {@code ZoomControls} class displays a simple set of controls used for zooming and
- * provides callbacks to register for events. */
+ * provides callbacks to register for events.
+ * @deprecated This functionality and UI is better handled with custom views and layouts
+ * rather than a dedicated zoom-control widget
+ */
+@Deprecated
@Widget
public class ZoomControls extends LinearLayout {
diff --git a/core/java/com/android/internal/config/sysui/SystemUiDeviceConfigFlags.java b/core/java/com/android/internal/config/sysui/SystemUiDeviceConfigFlags.java
index 74c6651..f3bf913 100644
--- a/core/java/com/android/internal/config/sysui/SystemUiDeviceConfigFlags.java
+++ b/core/java/com/android/internal/config/sysui/SystemUiDeviceConfigFlags.java
@@ -81,5 +81,13 @@
*/
public static final String SSIN_MAX_NUM_ACTIONS = "ssin_max_num_actions";
+ // Flags related to media notifications
+
+ /**
+ * (boolean) If {@code true}, enables the seekbar in compact media notifications.
+ */
+ public static final String COMPACT_MEDIA_SEEKBAR_ENABLED =
+ "compact_media_notification_seekbar_enabled";
+
private SystemUiDeviceConfigFlags() { }
}
diff --git a/core/java/com/android/internal/os/KernelCpuThreadReader.java b/core/java/com/android/internal/os/KernelCpuThreadReader.java
index 6bbfc2b..6a9db10 100644
--- a/core/java/com/android/internal/os/KernelCpuThreadReader.java
+++ b/core/java/com/android/internal/os/KernelCpuThreadReader.java
@@ -103,6 +103,16 @@
private static final int ID_ERROR = -1;
/**
+ * Thread ID used when reporting CPU used by other threads
+ */
+ private static final int OTHER_THREADS_ID = -1;
+
+ /**
+ * Thread name used when reporting CPU used by other threads
+ */
+ private static final String OTHER_THREADS_NAME = "__OTHER_THREADS";
+
+ /**
* When checking whether to report data for a thread, we check the UID of the thread's owner
* against this predicate
*/
@@ -140,9 +150,10 @@
/**
* Create with a path where `proc` is mounted. Used primarily for testing
*
- * @param procPath where `proc` is mounted (to find, see {@code mount | grep ^proc})
+ * @param procPath where `proc` is mounted (to find, see {@code mount | grep
+ * ^proc})
* @param initialTimeInStatePath where the initial {@code time_in_state} file exists to define
- * format
+ * format
*/
@VisibleForTesting
public KernelCpuThreadReader(
@@ -250,8 +261,8 @@
* Read all of the CPU usage statistics for each child thread of a process
*
* @param processPath the {@code /proc} path of the thread
- * @param processId the ID of the process
- * @param uid the ID of the user who owns the process
+ * @param processId the ID of the process
+ * @param uid the ID of the user who owns the process
* @return process CPU usage containing usage of all child threads. Null if the process exited
* and its {@code proc} directory was removed while collecting information
*/
@@ -263,14 +274,24 @@
+ " and user ID " + uid);
}
+ int[] filteredThreadsCpuUsage = null;
final Path allThreadsPath = processPath.resolve("task");
final ArrayList<ThreadCpuUsage> threadCpuUsages = new ArrayList<>();
try (DirectoryStream<Path> threadPaths = Files.newDirectoryStream(allThreadsPath)) {
for (Path threadDirectory : threadPaths) {
ThreadCpuUsage threadCpuUsage = getThreadCpuUsage(threadDirectory);
- if (threadCpuUsage != null) {
- threadCpuUsages.add(threadCpuUsage);
+ if (threadCpuUsage == null) {
+ continue;
}
+ if (mMinimumTotalCpuUsageMillis < totalCpuUsage(threadCpuUsage.usageTimesMillis)) {
+ if (filteredThreadsCpuUsage == null) {
+ filteredThreadsCpuUsage = new int[mFrequenciesKhz.length];
+ }
+ filteredThreadsCpuUsage =
+ sumCpuUsage(filteredThreadsCpuUsage, threadCpuUsage.usageTimesMillis);
+ continue;
+ }
+ threadCpuUsages.add(threadCpuUsage);
}
} catch (IOException e) {
// Expected when a process finishes
@@ -282,6 +303,12 @@
return null;
}
+ // Add the filtered out thread CPU usage under an "other threads" ThreadCpuUsage
+ if (filteredThreadsCpuUsage != null) {
+ threadCpuUsages.add(new ThreadCpuUsage(
+ OTHER_THREADS_ID, OTHER_THREADS_NAME, filteredThreadsCpuUsage));
+ }
+
if (DEBUG) {
Slog.d(TAG, "Read CPU usage of " + threadCpuUsages.size() + " threads");
}
@@ -368,15 +395,6 @@
}
int[] cpuUsages = mFrequencyBucketCreator.getBucketedValues(cpuUsagesLong);
- // Check if the total CPU usage below the threshold
- int totalCpuUsage = 0;
- for (int i = 0; i < cpuUsages.length; i++) {
- totalCpuUsage += cpuUsages[i];
- }
- if (totalCpuUsage < mMinimumTotalCpuUsageMillis) {
- return null;
- }
-
return new ThreadCpuUsage(threadId, threadName, cpuUsages);
}
@@ -424,6 +442,28 @@
}
/**
+ * Get the sum of all CPU usage across all frequencies
+ */
+ private static int totalCpuUsage(int[] cpuUsage) {
+ int total = 0;
+ for (int i = 0; i < cpuUsage.length; i++) {
+ total += cpuUsage[i];
+ }
+ return total;
+ }
+
+ /**
+ * Add two CPU frequency usages together
+ */
+ private static int[] sumCpuUsage(int[] a, int[] b) {
+ int[] summed = new int[a.length];
+ for (int i = 0; i < a.length; i++) {
+ summed[i] = a[i] + b[i];
+ }
+ return summed;
+ }
+
+ /**
* Puts frequencies and usage times into buckets
*/
@VisibleForTesting
@@ -440,7 +480,7 @@
* Buckets based of a list of frequencies
*
* @param frequencies the frequencies to base buckets off
- * @param numBuckets how many buckets to create
+ * @param numBuckets how many buckets to create
*/
@VisibleForTesting
public FrequencyBucketCreator(long[] frequencies, int numBuckets) {
diff --git a/core/java/com/android/internal/os/Zygote.java b/core/java/com/android/internal/os/Zygote.java
index 58b48d8..0ccaec0 100644
--- a/core/java/com/android/internal/os/Zygote.java
+++ b/core/java/com/android/internal/os/Zygote.java
@@ -645,6 +645,9 @@
} else if (args.mHiddenApiAccessLogSampleRate != -1) {
throw new IllegalArgumentException(
BLASTULA_ERROR_PREFIX + "--hidden-api-log-sampling-rate=");
+ } else if (args.mHiddenApiAccessStatslogSampleRate != -1) {
+ throw new IllegalArgumentException(
+ BLASTULA_ERROR_PREFIX + "--hidden-api-statslog-sampling-rate=");
} else if (args.mInvokeWith != null) {
throw new IllegalArgumentException(BLASTULA_ERROR_PREFIX + "--invoke-with");
} else if (args.mPermittedCapabilities != 0 || args.mEffectiveCapabilities != 0) {
diff --git a/core/java/com/android/internal/os/ZygoteArguments.java b/core/java/com/android/internal/os/ZygoteArguments.java
index 9cb5820..3beee78 100644
--- a/core/java/com/android/internal/os/ZygoteArguments.java
+++ b/core/java/com/android/internal/os/ZygoteArguments.java
@@ -205,6 +205,12 @@
int mHiddenApiAccessLogSampleRate = -1;
/**
+ * Sampling rate for logging hidden API accesses to statslog. This is sent to the
+ * pre-forked zygote at boot time, or when it changes, via --hidden-api-statslog-sampling-rate.
+ */
+ int mHiddenApiAccessStatslogSampleRate = -1;
+
+ /**
* Constructs instance and parses args
*
* @param args zygote command-line args
@@ -391,6 +397,15 @@
"Invalid log sampling rate: " + rateStr, nfe);
}
expectRuntimeArgs = false;
+ } else if (arg.startsWith("--hidden-api-statslog-sampling-rate=")) {
+ String rateStr = arg.substring(arg.indexOf('=') + 1);
+ try {
+ mHiddenApiAccessStatslogSampleRate = Integer.parseInt(rateStr);
+ } catch (NumberFormatException nfe) {
+ throw new IllegalArgumentException(
+ "Invalid statslog sampling rate: " + rateStr, nfe);
+ }
+ expectRuntimeArgs = false;
} else if (arg.startsWith("--package-name=")) {
if (mPackageName != null) {
throw new IllegalArgumentException("Duplicate arg specified");
diff --git a/core/java/com/android/internal/os/ZygoteConnection.java b/core/java/com/android/internal/os/ZygoteConnection.java
index c7ba22d..bcdce31 100644
--- a/core/java/com/android/internal/os/ZygoteConnection.java
+++ b/core/java/com/android/internal/os/ZygoteConnection.java
@@ -37,6 +37,7 @@
import android.system.Os;
import android.system.StructPollfd;
import android.util.Log;
+import android.util.StatsLog;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
@@ -192,9 +193,11 @@
return handleApiBlacklistExemptions(zygoteServer, parsedArgs.mApiBlacklistExemptions);
}
- if (parsedArgs.mHiddenApiAccessLogSampleRate != -1) {
+ if (parsedArgs.mHiddenApiAccessLogSampleRate != -1
+ || parsedArgs.mHiddenApiAccessStatslogSampleRate != -1) {
return handleHiddenApiAccessLogSampleRate(zygoteServer,
- parsedArgs.mHiddenApiAccessLogSampleRate);
+ parsedArgs.mHiddenApiAccessLogSampleRate,
+ parsedArgs.mHiddenApiAccessStatslogSampleRate);
}
if (parsedArgs.mPermittedCapabilities != 0 || parsedArgs.mEffectiveCapabilities != 0) {
@@ -396,9 +399,11 @@
private final MetricsLogger mMetricsLogger = new MetricsLogger();
private static HiddenApiUsageLogger sInstance = new HiddenApiUsageLogger();
private int mHiddenApiAccessLogSampleRate = 0;
+ private int mHiddenApiAccessStatslogSampleRate = 0;
- public static void setHiddenApiAccessLogSampleRate(int sampleRate) {
+ public static void setHiddenApiAccessLogSampleRates(int sampleRate, int newSampleRate) {
sInstance.mHiddenApiAccessLogSampleRate = sampleRate;
+ sInstance.mHiddenApiAccessStatslogSampleRate = newSampleRate;
}
public static HiddenApiUsageLogger getInstance() {
@@ -410,6 +415,9 @@
if (sampledValue < mHiddenApiAccessLogSampleRate) {
logUsage(packageName, signature, accessMethod, accessDenied);
}
+ if (sampledValue < mHiddenApiAccessStatslogSampleRate) {
+ newLogUsage(signature, accessMethod, accessDenied);
+ }
}
private void logUsage(String packageName, String signature, int accessMethod,
@@ -439,6 +447,27 @@
}
mMetricsLogger.write(logMaker);
}
+
+ private void newLogUsage(String signature, int accessMethod, boolean accessDenied) {
+ int accessMethodProto = StatsLog.HIDDEN_API_USED__ACCESS_METHOD__NONE;
+ switch(accessMethod) {
+ case HiddenApiUsageLogger.ACCESS_METHOD_NONE:
+ accessMethodProto = StatsLog.HIDDEN_API_USED__ACCESS_METHOD__NONE;
+ break;
+ case HiddenApiUsageLogger.ACCESS_METHOD_REFLECTION:
+ accessMethodProto = StatsLog.HIDDEN_API_USED__ACCESS_METHOD__REFLECTION;
+ break;
+ case HiddenApiUsageLogger.ACCESS_METHOD_JNI:
+ accessMethodProto = StatsLog.HIDDEN_API_USED__ACCESS_METHOD__JNI;
+ break;
+ case HiddenApiUsageLogger.ACCESS_METHOD_LINKING:
+ accessMethodProto = StatsLog.HIDDEN_API_USED__ACCESS_METHOD__LINKING;
+ break;
+ }
+ int uid = Process.myUid();
+ StatsLog.write(StatsLog.HIDDEN_API_USED, uid, signature,
+ accessMethodProto, accessDenied);
+ }
}
/**
@@ -450,15 +479,18 @@
* a Runnable object that must be returned to ZygoteServer.runSelectLoop to be invoked.
*
* @param zygoteServer The server object that received the request
- * @param samplingRate The new sample rate
+ * @param samplingRate The new sample rate for regular logging
+ * @param statsdSamplingRate The new sample rate for statslog logging
* @return A Runnable object representing a new app in any blastulas spawned from here; the
* zygote process will always receive a null value from this function.
*/
private Runnable handleHiddenApiAccessLogSampleRate(ZygoteServer zygoteServer,
- int samplingRate) {
+ int samplingRate, int statsdSamplingRate) {
return stateChangeWithBlastulaPoolReset(zygoteServer, () -> {
- ZygoteInit.setHiddenApiAccessLogSampleRate(samplingRate);
- HiddenApiUsageLogger.setHiddenApiAccessLogSampleRate(samplingRate);
+ int maxSamplingRate = Math.max(samplingRate, statsdSamplingRate);
+ ZygoteInit.setHiddenApiAccessLogSampleRate(maxSamplingRate);
+ HiddenApiUsageLogger.setHiddenApiAccessLogSampleRates(samplingRate,
+ statsdSamplingRate);
ZygoteInit.setHiddenApiUsageLogger(HiddenApiUsageLogger.getInstance());
});
}
diff --git a/core/java/com/android/internal/util/ArrayUtils.java b/core/java/com/android/internal/util/ArrayUtils.java
index b04ebec..ff5b996 100644
--- a/core/java/com/android/internal/util/ArrayUtils.java
+++ b/core/java/com/android/internal/util/ArrayUtils.java
@@ -712,4 +712,30 @@
}
return null;
}
+
+ public static String deepToString(Object value) {
+ if (value != null && value.getClass().isArray()) {
+ if (value.getClass() == boolean[].class) {
+ return Arrays.toString((boolean[]) value);
+ } else if (value.getClass() == byte[].class) {
+ return Arrays.toString((byte[]) value);
+ } else if (value.getClass() == char[].class) {
+ return Arrays.toString((char[]) value);
+ } else if (value.getClass() == double[].class) {
+ return Arrays.toString((double[]) value);
+ } else if (value.getClass() == float[].class) {
+ return Arrays.toString((float[]) value);
+ } else if (value.getClass() == int[].class) {
+ return Arrays.toString((int[]) value);
+ } else if (value.getClass() == long[].class) {
+ return Arrays.toString((long[]) value);
+ } else if (value.getClass() == short[].class) {
+ return Arrays.toString((short[]) value);
+ } else {
+ return Arrays.deepToString((Object[]) value);
+ }
+ } else {
+ return String.valueOf(value);
+ }
+ }
}
diff --git a/core/jni/android_view_InputEventReceiver.cpp b/core/jni/android_view_InputEventReceiver.cpp
index fb6dd93..7975c86 100644
--- a/core/jni/android_view_InputEventReceiver.cpp
+++ b/core/jni/android_view_InputEventReceiver.cpp
@@ -23,10 +23,9 @@
#include <nativehelper/JNIHelp.h>
#include <android_runtime/AndroidRuntime.h>
-#include <utils/Log.h>
+#include <log/log.h>
#include <utils/Looper.h>
#include <utils/Vector.h>
-#include <utils/threads.h>
#include <input/InputTransport.h>
#include "android_os_MessageQueue.h"
#include "android_view_InputChannel.h"
diff --git a/core/jni/android_view_InputEventSender.cpp b/core/jni/android_view_InputEventSender.cpp
index aa10a2f..2542286 100644
--- a/core/jni/android_view_InputEventSender.cpp
+++ b/core/jni/android_view_InputEventSender.cpp
@@ -21,10 +21,8 @@
#include <nativehelper/JNIHelp.h>
#include <android_runtime/AndroidRuntime.h>
-#include <utils/Log.h>
+#include <log/log.h>
#include <utils/Looper.h>
-#include <utils/threads.h>
-#include <utils/KeyedVector.h>
#include <input/InputTransport.h>
#include "android_os_MessageQueue.h"
#include "android_view_InputChannel.h"
@@ -32,6 +30,7 @@
#include "android_view_MotionEvent.h"
#include <nativehelper/ScopedLocalRef.h>
+#include <unordered_map>
#include "core_jni_helpers.h"
@@ -65,7 +64,8 @@
jobject mSenderWeakGlobal;
InputPublisher mInputPublisher;
sp<MessageQueue> mMessageQueue;
- KeyedVector<uint32_t, uint32_t> mPublishedSeqMap;
+ std::unordered_map<uint32_t, uint32_t> mPublishedSeqMap;
+
uint32_t mNextPublishedSeq;
const std::string getInputChannelName() {
@@ -122,7 +122,7 @@
getInputChannelName().c_str(), status);
return status;
}
- mPublishedSeqMap.add(publishedSeq, seq);
+ mPublishedSeqMap.emplace(publishedSeq, seq);
return OK;
}
@@ -150,7 +150,7 @@
return status;
}
}
- mPublishedSeqMap.add(publishedSeq, seq);
+ mPublishedSeqMap.emplace(publishedSeq, seq);
return OK;
}
@@ -199,35 +199,37 @@
return status;
}
- ssize_t index = mPublishedSeqMap.indexOfKey(publishedSeq);
- if (index >= 0) {
- uint32_t seq = mPublishedSeqMap.valueAt(index);
- mPublishedSeqMap.removeItemsAt(index);
+ auto it = mPublishedSeqMap.find(publishedSeq);
+ if (it == mPublishedSeqMap.end()) {
+ continue;
+ }
- if (kDebugDispatchCycle) {
- ALOGD("channel '%s' ~ Received finished signal, seq=%u, handled=%s, "
- "pendingEvents=%zu.",
- getInputChannelName().c_str(), seq, handled ? "true" : "false",
- mPublishedSeqMap.size());
+ uint32_t seq = it->second;
+ mPublishedSeqMap.erase(it);
+
+ if (kDebugDispatchCycle) {
+ ALOGD("channel '%s' ~ Received finished signal, seq=%u, handled=%s, "
+ "pendingEvents=%zu.",
+ getInputChannelName().c_str(), seq, handled ? "true" : "false",
+ mPublishedSeqMap.size());
+ }
+
+ if (!skipCallbacks) {
+ if (!senderObj.get()) {
+ senderObj.reset(jniGetReferent(env, mSenderWeakGlobal));
+ if (!senderObj.get()) {
+ ALOGW("channel '%s' ~ Sender object was finalized "
+ "without being disposed.", getInputChannelName().c_str());
+ return DEAD_OBJECT;
+ }
}
- if (!skipCallbacks) {
- if (!senderObj.get()) {
- senderObj.reset(jniGetReferent(env, mSenderWeakGlobal));
- if (!senderObj.get()) {
- ALOGW("channel '%s' ~ Sender object was finalized "
- "without being disposed.", getInputChannelName().c_str());
- return DEAD_OBJECT;
- }
- }
-
- env->CallVoidMethod(senderObj.get(),
- gInputEventSenderClassInfo.dispatchInputEventFinished,
- jint(seq), jboolean(handled));
- if (env->ExceptionCheck()) {
- ALOGE("Exception dispatching finished signal.");
- skipCallbacks = true;
- }
+ env->CallVoidMethod(senderObj.get(),
+ gInputEventSenderClassInfo.dispatchInputEventFinished,
+ jint(seq), jboolean(handled));
+ if (env->ExceptionCheck()) {
+ ALOGE("Exception dispatching finished signal.");
+ skipCallbacks = true;
}
}
}
diff --git a/core/jni/android_view_Surface.cpp b/core/jni/android_view_Surface.cpp
index 464f249..a900294 100644
--- a/core/jni/android_view_Surface.cpp
+++ b/core/jni/android_view_Surface.cpp
@@ -58,8 +58,6 @@
namespace android {
-using ui::Dataspace;
-
static const char* const OutOfResourcesException =
"android/view/Surface$OutOfResourcesException";
@@ -129,135 +127,17 @@
}
int android_view_Surface_mapPublicFormatToHalFormat(PublicFormat f) {
-
- switch(f) {
- case PublicFormat::JPEG:
- case PublicFormat::DEPTH_POINT_CLOUD:
- case PublicFormat::DEPTH_JPEG:
- case PublicFormat::HEIC:
- return HAL_PIXEL_FORMAT_BLOB;
- case PublicFormat::DEPTH16:
- return HAL_PIXEL_FORMAT_Y16;
- case PublicFormat::RAW_SENSOR:
- case PublicFormat::RAW_DEPTH:
- return HAL_PIXEL_FORMAT_RAW16;
- default:
- // Most formats map 1:1
- return static_cast<int>(f);
- }
+ return mapPublicFormatToHalFormat(f);
}
android_dataspace android_view_Surface_mapPublicFormatToHalDataspace(
PublicFormat f) {
- Dataspace dataspace;
- switch(f) {
- case PublicFormat::JPEG:
- dataspace = Dataspace::V0_JFIF;
- break;
- case PublicFormat::DEPTH_POINT_CLOUD:
- case PublicFormat::DEPTH16:
- case PublicFormat::RAW_DEPTH:
- dataspace = Dataspace::DEPTH;
- break;
- case PublicFormat::RAW_SENSOR:
- case PublicFormat::RAW_PRIVATE:
- case PublicFormat::RAW10:
- case PublicFormat::RAW12:
- dataspace = Dataspace::ARBITRARY;
- break;
- case PublicFormat::YUV_420_888:
- case PublicFormat::NV21:
- case PublicFormat::YV12:
- dataspace = Dataspace::V0_JFIF;
- break;
- case PublicFormat::DEPTH_JPEG:
- dataspace = Dataspace::DYNAMIC_DEPTH;
- break;
- case PublicFormat::HEIC:
- dataspace = Dataspace::HEIF;
- break;
- default:
- // Most formats map to UNKNOWN
- dataspace = Dataspace::UNKNOWN;
- break;
- }
- return static_cast<android_dataspace>(dataspace);
+ return mapPublicFormatToHalDataspace(f);
}
PublicFormat android_view_Surface_mapHalFormatDataspaceToPublicFormat(
int format, android_dataspace dataSpace) {
- Dataspace ds = static_cast<Dataspace>(dataSpace);
- switch(format) {
- case HAL_PIXEL_FORMAT_RGBA_8888:
- case HAL_PIXEL_FORMAT_RGBX_8888:
- case HAL_PIXEL_FORMAT_RGBA_FP16:
- case HAL_PIXEL_FORMAT_RGBA_1010102:
- case HAL_PIXEL_FORMAT_RGB_888:
- case HAL_PIXEL_FORMAT_RGB_565:
- case HAL_PIXEL_FORMAT_Y8:
- case HAL_PIXEL_FORMAT_RAW10:
- case HAL_PIXEL_FORMAT_RAW12:
- case HAL_PIXEL_FORMAT_YCbCr_420_888:
- case HAL_PIXEL_FORMAT_YV12:
- // Enums overlap in both name and value
- return static_cast<PublicFormat>(format);
- case HAL_PIXEL_FORMAT_RAW16:
- switch (ds) {
- case Dataspace::DEPTH:
- return PublicFormat::RAW_DEPTH;
- default:
- return PublicFormat::RAW_SENSOR;
- }
- case HAL_PIXEL_FORMAT_RAW_OPAQUE:
- // Name differs, though value is the same
- return PublicFormat::RAW_PRIVATE;
- case HAL_PIXEL_FORMAT_YCbCr_422_SP:
- // Name differs, though the value is the same
- return PublicFormat::NV16;
- case HAL_PIXEL_FORMAT_YCrCb_420_SP:
- // Name differs, though the value is the same
- return PublicFormat::NV21;
- case HAL_PIXEL_FORMAT_YCbCr_422_I:
- // Name differs, though the value is the same
- return PublicFormat::YUY2;
- case HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED:
- // Name differs, though the value is the same
- return PublicFormat::PRIVATE;
- case HAL_PIXEL_FORMAT_Y16:
- // Dataspace-dependent
- switch (ds) {
- case Dataspace::DEPTH:
- return PublicFormat::DEPTH16;
- default:
- // Assume non-depth Y16 is just Y16.
- return PublicFormat::Y16;
- }
- break;
- case HAL_PIXEL_FORMAT_BLOB:
- // Dataspace-dependent
- switch (ds) {
- case Dataspace::DEPTH:
- return PublicFormat::DEPTH_POINT_CLOUD;
- case Dataspace::V0_JFIF:
- return PublicFormat::JPEG;
- case Dataspace::HEIF:
- return PublicFormat::HEIC;
- default:
- if (dataSpace == static_cast<android_dataspace>(HAL_DATASPACE_DYNAMIC_DEPTH)) {
- return PublicFormat::DEPTH_JPEG;
- } else {
- // Assume otherwise-marked blobs are also JPEG
- return PublicFormat::JPEG;
- }
- }
- break;
- case HAL_PIXEL_FORMAT_BGRA_8888:
- // Not defined in public API
- return PublicFormat::UNKNOWN;
-
- default:
- return PublicFormat::UNKNOWN;
- }
+ return mapHalFormatDataspaceToPublicFormat(format, dataSpace);
}
// ----------------------------------------------------------------------------
diff --git a/core/jni/include/android_runtime/android_view_Surface.h b/core/jni/include/android_runtime/android_view_Surface.h
index 3f7c00c..04718cd 100644
--- a/core/jni/include/android_runtime/android_view_Surface.h
+++ b/core/jni/include/android_runtime/android_view_Surface.h
@@ -19,6 +19,7 @@
#include <android/native_window.h>
#include <system/graphics.h>
+#include <ui/PublicFormat.h>
#include "jni.h"
@@ -27,41 +28,6 @@
class Surface;
class IGraphicBufferProducer;
-/**
- * Enum mirroring the public API definitions for image and pixel formats.
- * Some of these are hidden in the public API
- *
- * Keep up to date with android.graphics.ImageFormat and
- * android.graphics.PixelFormat
- */
-enum class PublicFormat {
- UNKNOWN = 0x0,
- RGBA_8888 = 0x1,
- RGBX_8888 = 0x2,
- RGB_888 = 0x3,
- RGB_565 = 0x4,
- NV16 = 0x10,
- NV21 = 0x11,
- YUY2 = 0x14,
- RGBA_FP16 = 0x16,
- RAW_SENSOR = 0x20,
- PRIVATE = 0x22,
- YUV_420_888 = 0x23,
- RAW_PRIVATE = 0x24,
- RAW10 = 0x25,
- RAW12 = 0x26,
- RGBA_1010102 = 0x2b,
- JPEG = 0x100,
- DEPTH_POINT_CLOUD = 0x101,
- RAW_DEPTH = 0x1002, // @hide
- YV12 = 0x32315659,
- Y8 = 0x20203859,
- Y16 = 0x20363159, // @hide
- DEPTH16 = 0x44363159,
- DEPTH_JPEG = 0x69656963,
- HEIC = 0x48454946,
-};
-
/* Gets the underlying ANativeWindow for a Surface. */
extern sp<ANativeWindow> android_view_Surface_getNativeWindow(
JNIEnv* env, jobject surfaceObj);
diff --git a/core/jni/runtime_native_boot-flags-test.sh b/core/jni/runtime_native_boot-flags-test.sh
index 01f37f0..a5d7a5a 100755
--- a/core/jni/runtime_native_boot-flags-test.sh
+++ b/core/jni/runtime_native_boot-flags-test.sh
@@ -172,14 +172,42 @@
done
}
-# test_android_runtime_flag FLAG VALUE GC_RUNTIME_OPTION
-# ------------------------------------------------------
-# Test device configuration FLAG with VALUE. Check that GC_RUNTIME_OPTION is
-# passed as GC Runtime option by the zygote.
+# check_android_runtime_message CONTEXT MESSAGE
+# ---------------------------------------------
+# Return whether AndroidRuntime generated MESSAGE in logcat. Use CONTEXT in
+# logging.
+function check_android_runtime_message {
+ local context=$1
+ local message=$2
+
+ say "[$context] Check that AndroidRuntime generated expected message in logcat..."
+ adb logcat -d -s AndroidRuntime | grep -F -q "$message" \
+ || fail "Found no message \"$message\" generated by AndroidRuntime"
+}
+
+# check_no_android_runtime_message CONTEXT MESSAGE
+# ------------------------------------------------
+# Return whether AndroidRuntime did not generate MESSAGE in logcat. Use CONTEXT
+# in logging.
+function check_no_android_runtime_message {
+ local context=$1
+ local message=$2
+
+ say "[$context] Check that AndroidRuntime did not generate unexpected message in logcat..."
+ adb logcat -d -s AndroidRuntime | grep -F -q -v "$message" \
+ || fail "Found message \"$message\" generated by AndroidRuntime"
+}
+
+# test_android_runtime_flag FLAG VALUE CHECK_EFFECT CHECK_NO_EFFECT
+# -----------------------------------------------------------------
+# Test device configuration FLAG with VALUE. CHECK_EFFECT and CHECK_NO_EFFECT
+# are functions that are passed a context as sole argument and that respectively
+# check the effect or the absence of effect of the flag.
function test_android_runtime_flag {
local flag=$1
local value=$2
- local gc_runtime_option=$3
+ local check_effect=$3
+ local check_no_effect=$4
# Persistent system property (set after a reboot) associated with the device
# configuration flag.
@@ -193,26 +221,26 @@
sleep 3
# Check that both the device configuration flag and the associated system
- # property are set, but that the zygote hasn't had the flag passed to it as a
- # GC runtime option (as we haven't rebooted yet).
+ # property are set, but that flag has not produced an effect on the system (as
+ # we haven't rebooted yet).
local context="Flag set, before reboot"
check_device_config_flag "$context" "$flag" "$value"
check_system_property "$context" "$prop" "$value"
- check_no_zygote_gc_runtime_option "$context" "$gc_runtime_option"
+ $check_no_effect "$context"
# Reboot device for the flag value to take effect.
reboot_and_wait_for_device
context="Flag set, after 1st reboot"
check_device_config_flag "$context" "$flag" "$value"
check_system_property "$context" "$prop" "$value"
- check_zygote_gc_runtime_option "$context" "$gc_runtime_option"
+ $check_effect "$context"
# Reboot device a second time and check that the state has persisted.
reboot_and_wait_for_device
context="Flag set, after 2nd reboot"
check_device_config_flag "$context" "$flag" "$value"
check_system_property "$context" "$prop" "$value"
- check_zygote_gc_runtime_option "$context" "$gc_runtime_option"
+ $check_effect "$context"
say "Unsetting device configuration flag..."
adb shell device_config delete "$namespace" "$flag" >/dev/null
@@ -224,9 +252,13 @@
context="Flag unset, after 3rd reboot"
check_no_device_config_flag "$context" "$flag"
check_no_system_property "$context" "$prop"
- check_no_zygote_gc_runtime_option "$context" "$gc_runtime_option"
+ $check_no_effect "$context"
}
+
+# Pre-test actions.
+# =================
+
# Enumerate Zygote processes.
case $(adb shell getprop ro.zygote) in
(zygote32) zygotes="zygote";;
@@ -235,8 +267,53 @@
esac
# Test "enable_generational_cc" flag values.
-test_android_runtime_flag enable_generational_cc false nogenerational_cc
-test_android_runtime_flag enable_generational_cc true generational_cc
+# ==========================================
+
+function check_nogenerational_cc {
+ check_zygote_gc_runtime_option "$1" nogenerational_cc
+}
+function check_no_nogenerational_cc {
+ check_no_zygote_gc_runtime_option "$1" nogenerational_cc
+}
+
+function check_generational_cc {
+ check_zygote_gc_runtime_option "$1" generational_cc
+}
+function check_no_generational_cc {
+ check_no_zygote_gc_runtime_option "$1" generational_cc
+}
+
+test_android_runtime_flag \
+ enable_generational_cc false check_nogenerational_cc check_no_nogenerational_cc
+test_android_runtime_flag \
+ enable_generational_cc true check_generational_cc check_no_generational_cc
+
+# Test "enable_apex_image" flag values.
+# =====================================
+
+default_boot_image_message="Using default boot image"
+function check_default_boot_image {
+ check_android_runtime_message "$1" "$default_boot_image_message"
+}
+function check_no_default_boot_image {
+ check_no_android_runtime_message "$1" "$default_boot_image_message"
+}
+
+apex_boot_image_message="Using Apex boot image: '-Ximage:/system/framework/apex.art'"
+function check_apex_boot_image {
+ check_android_runtime_message "$1" "$apex_boot_image_message"
+}
+function check_no_apex_boot_image {
+ check_no_android_runtime_message "$1" "$apex_boot_image_message"
+}
+
+test_android_runtime_flag \
+ enable_apex_image false check_default_boot_image check_no_default_boot_image
+test_android_runtime_flag \
+ enable_apex_image true check_apex_boot_image check_no_apex_boot_image
+
+# Post-test actions.
+# ==================
if [[ "$exit_status" -eq 0 ]]; then
banner "All tests passed."
diff --git a/core/proto/android/hardware/biometrics/enums.proto b/core/proto/android/hardware/biometrics/enums.proto
index 973e3e6..f2e0638 100644
--- a/core/proto/android/hardware/biometrics/enums.proto
+++ b/core/proto/android/hardware/biometrics/enums.proto
@@ -55,4 +55,6 @@
// When the HAL has a template that doesn't exist in Android Framework. The framework
// is expected to notify the HAL to remove this template to stay in sync with the framework.
ISSUE_UNKNOWN_TEMPLATE_ENROLLED_HAL = 3;
+ // When the HAL has not sent ERROR_CANCELED within the specified timeout.
+ ISSUE_CANCEL_TIMED_OUT = 4;
}
\ No newline at end of file
diff --git a/core/res/res/anim-ldrtl/cross_profile_apps_thumbnail_enter.xml b/core/res/res/anim-ldrtl/cross_profile_apps_thumbnail_enter.xml
index 6f3dc8c..5add19b 100644
--- a/core/res/res/anim-ldrtl/cross_profile_apps_thumbnail_enter.xml
+++ b/core/res/res/anim-ldrtl/cross_profile_apps_thumbnail_enter.xml
@@ -18,7 +18,9 @@
-->
<!-- This should be kept in sync with task_open_enter.xml -->
<set xmlns:android="http://schemas.android.com/apk/res/android"
- android:shareInterpolator="false" android:zAdjustment="top">
+ android:hasRoundedCorners="true"
+ android:shareInterpolator="false"
+ android:zAdjustment="top">
<alpha
android:fromAlpha="1"
diff --git a/core/res/res/anim-ldrtl/task_close_enter.xml b/core/res/res/anim-ldrtl/task_close_enter.xml
index 7abada3..e00141a 100644
--- a/core/res/res/anim-ldrtl/task_close_enter.xml
+++ b/core/res/res/anim-ldrtl/task_close_enter.xml
@@ -16,6 +16,7 @@
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false"
android:zAdjustment="top"
+ android:hasRoundedCorners="true"
android:showWallpaper="true">
<alpha
diff --git a/core/res/res/anim-ldrtl/task_close_exit.xml b/core/res/res/anim-ldrtl/task_close_exit.xml
index a017820..71a44ae 100644
--- a/core/res/res/anim-ldrtl/task_close_exit.xml
+++ b/core/res/res/anim-ldrtl/task_close_exit.xml
@@ -16,6 +16,7 @@
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false"
+ android:hasRoundedCorners="true"
android:showWallpaper="true">
<alpha
diff --git a/core/res/res/anim-ldrtl/task_open_enter.xml b/core/res/res/anim-ldrtl/task_open_enter.xml
index 0433664..7815f7d 100644
--- a/core/res/res/anim-ldrtl/task_open_enter.xml
+++ b/core/res/res/anim-ldrtl/task_open_enter.xml
@@ -18,6 +18,7 @@
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false"
android:zAdjustment="top"
+ android:hasRoundedCorners="true"
android:showWallpaper="true">
<alpha
diff --git a/core/res/res/anim-ldrtl/task_open_enter_cross_profile_apps.xml b/core/res/res/anim-ldrtl/task_open_enter_cross_profile_apps.xml
index 45ca80e..5fccd6df 100644
--- a/core/res/res/anim-ldrtl/task_open_enter_cross_profile_apps.xml
+++ b/core/res/res/anim-ldrtl/task_open_enter_cross_profile_apps.xml
@@ -18,6 +18,7 @@
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false"
android:zAdjustment="top"
+ android:hasRoundedCorners="true"
android:showWallpaper="true">
<alpha
diff --git a/core/res/res/anim-ldrtl/task_open_exit.xml b/core/res/res/anim-ldrtl/task_open_exit.xml
index f50494d..025e1bd 100644
--- a/core/res/res/anim-ldrtl/task_open_exit.xml
+++ b/core/res/res/anim-ldrtl/task_open_exit.xml
@@ -16,6 +16,7 @@
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false"
+ android:hasRoundedCorners="true"
android:showWallpaper="true">
<alpha
diff --git a/core/res/res/anim/cross_profile_apps_thumbnail_enter.xml b/core/res/res/anim/cross_profile_apps_thumbnail_enter.xml
index 4c2559f..2cfeecf 100644
--- a/core/res/res/anim/cross_profile_apps_thumbnail_enter.xml
+++ b/core/res/res/anim/cross_profile_apps_thumbnail_enter.xml
@@ -18,7 +18,9 @@
-->
<!-- This should be kept in sync with task_open_enter.xml -->
<set xmlns:android="http://schemas.android.com/apk/res/android"
- android:shareInterpolator="false" android:zAdjustment="top">
+ android:shareInterpolator="false"
+ android:hasRoundedCorners="true"
+ android:zAdjustment="top">
<alpha
android:fromAlpha="1"
diff --git a/core/res/res/anim/task_close_enter.xml b/core/res/res/anim/task_close_enter.xml
index b059aa9..487ff5c 100644
--- a/core/res/res/anim/task_close_enter.xml
+++ b/core/res/res/anim/task_close_enter.xml
@@ -18,6 +18,7 @@
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false"
android:zAdjustment="top"
+ android:hasRoundedCorners="true"
android:showWallpaper="true">
<alpha
diff --git a/core/res/res/anim/task_close_exit.xml b/core/res/res/anim/task_close_exit.xml
index c9ade22..afc3256c 100644
--- a/core/res/res/anim/task_close_exit.xml
+++ b/core/res/res/anim/task_close_exit.xml
@@ -18,6 +18,7 @@
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false"
+ android:hasRoundedCorners="true"
android:showWallpaper="true">
<alpha
diff --git a/core/res/res/anim/task_open_enter.xml b/core/res/res/anim/task_open_enter.xml
index 5c61859..0aafc1c 100644
--- a/core/res/res/anim/task_open_enter.xml
+++ b/core/res/res/anim/task_open_enter.xml
@@ -20,6 +20,7 @@
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false"
android:zAdjustment="top"
+ android:hasRoundedCorners="true"
android:showWallpaper="true">
<alpha
diff --git a/core/res/res/anim/task_open_enter_cross_profile_apps.xml b/core/res/res/anim/task_open_enter_cross_profile_apps.xml
index 6441047..702f7ba 100644
--- a/core/res/res/anim/task_open_enter_cross_profile_apps.xml
+++ b/core/res/res/anim/task_open_enter_cross_profile_apps.xml
@@ -20,6 +20,7 @@
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false"
android:zAdjustment="top"
+ android:hasRoundedCorners="true"
android:showWallpaper="true">
<alpha
diff --git a/core/res/res/anim/task_open_exit.xml b/core/res/res/anim/task_open_exit.xml
index 9394c57..691317d 100644
--- a/core/res/res/anim/task_open_exit.xml
+++ b/core/res/res/anim/task_open_exit.xml
@@ -18,6 +18,7 @@
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false"
+ android:hasRoundedCorners="true"
android:showWallpaper="true">
<alpha
diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml
index 088669d..743496f 100644
--- a/core/res/res/values/attrs.xml
+++ b/core/res/res/values/attrs.xml
@@ -6488,6 +6488,9 @@
<!-- Special option for window animations: show the wallpaper behind when running this
animation. -->
<attr name="showWallpaper" format="boolean" />
+ <!-- Special option for window animations: whether window should have rounded corners.
+ @see ScreenDecorationsUtils#getWindowCornerRadius(Resources) -->
+ <attr name="hasRoundedCorners" format="boolean" />
</declare-styleable>
<declare-styleable name="AnimationSet">
diff --git a/core/res/res/values/colors_device_defaults.xml b/core/res/res/values/colors_device_defaults.xml
index 824b4b5..7209103 100644
--- a/core/res/res/values/colors_device_defaults.xml
+++ b/core/res/res/values/colors_device_defaults.xml
@@ -26,6 +26,8 @@
<color name="primary_dark_device_default_settings">@color/primary_dark_material_settings</color>
<color name="primary_dark_device_default_settings_light">@color/primary_dark_material_settings_light</color>
+ <color name="navigation_bar_divider_device_default_settings">#1f000000</color>
+
<color name="secondary_device_default_settings">@color/secondary_material_settings</color>
<color name="secondary_device_default_settings_light">@color/secondary_material_settings_light</color>
<color name="tertiary_device_default_settings">@color/tertiary_material_settings</color>
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 910af4c..4e174c4 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -127,7 +127,7 @@
<bool name="config_sendAudioBecomingNoisy">true</bool>
<!-- Whether Hearing Aid profile is supported -->
- <bool name="config_hearing_aid_profile_supported">true</bool>
+ <bool name="config_hearing_aid_profile_supported">false</bool>
<!-- Flag to disable all transition animations -->
<bool name="config_disableTransitionAnimation">false</bool>
@@ -2267,7 +2267,7 @@
<!-- If the sensor that wakes up the lock screen is available or not. -->
<bool name="config_dozeWakeLockScreenSensorAvailable">false</bool>
- <integer name="config_dozeWakeLockScreenDebounce">3000</integer>
+ <integer name="config_dozeWakeLockScreenDebounce">1500</integer>
<!-- Control whether the always on display mode is available. This should only be enabled on
devices where the display has been tuned to be power efficient in DOZE and/or DOZE_SUSPEND
diff --git a/core/res/res/values/themes_device_defaults.xml b/core/res/res/values/themes_device_defaults.xml
index 194c86c..9a95ecc 100644
--- a/core/res/res/values/themes_device_defaults.xml
+++ b/core/res/res/values/themes_device_defaults.xml
@@ -1468,7 +1468,7 @@
<item name="colorEdgeEffect">@android:color/black</item>
<!-- Add white nav bar with divider that matches material -->
- <item name="navigationBarDividerColor">#1f000000</item>
+ <item name="navigationBarDividerColor">@color/navigation_bar_divider_device_default_settings</item>
<item name="navigationBarColor">@android:color/white</item>
<item name="windowLightNavigationBar">true</item>
diff --git a/core/tests/coretests/src/android/provider/DeviceConfigTest.java b/core/tests/coretests/src/android/provider/DeviceConfigTest.java
index 5d5754b..de1453a 100644
--- a/core/tests/coretests/src/android/provider/DeviceConfigTest.java
+++ b/core/tests/coretests/src/android/provider/DeviceConfigTest.java
@@ -59,6 +59,131 @@
}
@Test
+ public void getString_empty() {
+ final String default_value = "default_value";
+ final String result = DeviceConfig.getString(sNamespace, sKey, default_value);
+ assertThat(result).isEqualTo(default_value);
+ }
+
+ @Test
+ public void getString_nonEmpty() {
+ final String value = "new_value";
+ final String default_value = "default";
+ DeviceConfig.setProperty(sNamespace, sKey, value, false);
+
+ final String result = DeviceConfig.getString(sNamespace, sKey, default_value);
+ assertThat(result).isEqualTo(value);
+ }
+
+ @Test
+ public void getBoolean_empty() {
+ final boolean default_value = true;
+ final boolean result = DeviceConfig.getBoolean(sNamespace, sKey, default_value);
+ assertThat(result).isEqualTo(default_value);
+ }
+
+ @Test
+ public void getBoolean_valid() {
+ final boolean value = true;
+ final boolean default_value = false;
+ DeviceConfig.setProperty(sNamespace, sKey, String.valueOf(value), false);
+
+ final boolean result = DeviceConfig.getBoolean(sNamespace, sKey, default_value);
+ assertThat(result).isEqualTo(value);
+ }
+
+ @Test
+ public void getBoolean_invalid() {
+ final boolean default_value = true;
+ DeviceConfig.setProperty(sNamespace, sKey, "not_a_boolean", false);
+
+ final boolean result = DeviceConfig.getBoolean(sNamespace, sKey, default_value);
+ // Anything non-null other than case insensitive "true" parses to false.
+ assertThat(result).isFalse();
+ }
+
+ @Test
+ public void getInt_empty() {
+ final int default_value = 999;
+ final int result = DeviceConfig.getInt(sNamespace, sKey, default_value);
+ assertThat(result).isEqualTo(default_value);
+ }
+
+ @Test
+ public void getInt_valid() {
+ final int value = 123;
+ final int default_value = 999;
+ DeviceConfig.setProperty(sNamespace, sKey, String.valueOf(value), false);
+
+ final int result = DeviceConfig.getInt(sNamespace, sKey, default_value);
+ assertThat(result).isEqualTo(value);
+ }
+
+ @Test
+ public void getInt_invalid() {
+ final int default_value = 999;
+ DeviceConfig.setProperty(sNamespace, sKey, "not_an_int", false);
+
+ final int result = DeviceConfig.getInt(sNamespace, sKey, default_value);
+ // Failure to parse results in using the default value
+ assertThat(result).isEqualTo(default_value);
+ }
+
+ @Test
+ public void getLong_empty() {
+ final long default_value = 123456;
+ final long result = DeviceConfig.getLong(sNamespace, sKey, default_value);
+ assertThat(result).isEqualTo(default_value);
+ }
+
+ @Test
+ public void getLong_valid() {
+ final long value = 456789;
+ final long default_value = 123456;
+ DeviceConfig.setProperty(sNamespace, sKey, String.valueOf(value), false);
+
+ final long result = DeviceConfig.getLong(sNamespace, sKey, default_value);
+ assertThat(result).isEqualTo(value);
+ }
+
+ @Test
+ public void getLong_invalid() {
+ final long default_value = 123456;
+ DeviceConfig.setProperty(sNamespace, sKey, "not_a_long", false);
+
+ final long result = DeviceConfig.getLong(sNamespace, sKey, default_value);
+ // Failure to parse results in using the default value
+ assertThat(result).isEqualTo(default_value);
+ }
+
+ @Test
+ public void getFloat_empty() {
+ final float default_value = 123.456f;
+ final float result = DeviceConfig.getFloat(sNamespace, sKey, default_value);
+ assertThat(result).isEqualTo(default_value);
+ }
+
+ @Test
+ public void getFloat_valid() {
+ final float value = 456.789f;
+ final float default_value = 123.456f;
+ DeviceConfig.setProperty(sNamespace, sKey, String.valueOf(value), false);
+
+ final float result = DeviceConfig.getFloat(sNamespace, sKey, default_value);
+ assertThat(result).isEqualTo(value);
+ }
+
+ @Test
+ public void getFloat_invalid() {
+ final float default_value = 123.456f;
+ DeviceConfig.setProperty(sNamespace, sKey, "not_a_float", false);
+
+ final float result = DeviceConfig.getFloat(sNamespace, sKey, default_value);
+ // Failure to parse results in using the default value
+ assertThat(result).isEqualTo(default_value);
+ }
+
+ @Test
public void setAndGetProperty_sameNamespace() {
DeviceConfig.setProperty(sNamespace, sKey, sValue, false);
String result = DeviceConfig.getProperty(sNamespace, sKey);
diff --git a/core/tests/coretests/src/android/provider/SettingsBackupTest.java b/core/tests/coretests/src/android/provider/SettingsBackupTest.java
index 23cd963..69632c1 100644
--- a/core/tests/coretests/src/android/provider/SettingsBackupTest.java
+++ b/core/tests/coretests/src/android/provider/SettingsBackupTest.java
@@ -287,6 +287,7 @@
Settings.Global.HDMI_SYSTEM_AUDIO_CONTROL_ENABLED,
Settings.Global.HEADS_UP_NOTIFICATIONS_ENABLED,
Settings.Global.HIDDEN_API_ACCESS_LOG_SAMPLING_RATE,
+ Settings.Global.HIDDEN_API_ACCESS_STATSLOG_SAMPLING_RATE,
Settings.Global.HIDDEN_API_POLICY,
Settings.Global.HIDE_ERROR_DIALOGS,
Settings.Global.HTTP_PROXY,
diff --git a/core/tests/coretests/src/android/view/accessibility/AccessibilityCacheTest.java b/core/tests/coretests/src/android/view/accessibility/AccessibilityCacheTest.java
index e3852e1..a88968b 100644
--- a/core/tests/coretests/src/android/view/accessibility/AccessibilityCacheTest.java
+++ b/core/tests/coretests/src/android/view/accessibility/AccessibilityCacheTest.java
@@ -301,6 +301,26 @@
}
@Test
+ public void subTreeChangeEventFromUncachedNode_clearsNodeInCache() {
+ AccessibilityNodeInfo nodeInfo = getNodeWithA11yAndWindowId(CHILD_VIEW_ID, WINDOW_ID_1);
+ long id = nodeInfo.getSourceNodeId();
+ mAccessibilityCache.add(nodeInfo);
+ nodeInfo.recycle();
+
+ AccessibilityEvent event = AccessibilityEvent
+ .obtain(AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED);
+ event.setContentChangeTypes(AccessibilityEvent.CONTENT_CHANGE_TYPE_SUBTREE);
+ event.setSource(getMockViewWithA11yAndWindowIds(PARENT_VIEW_ID, WINDOW_ID_1));
+
+ mAccessibilityCache.onAccessibilityEvent(event);
+ AccessibilityNodeInfo shouldBeNull = mAccessibilityCache.getNode(WINDOW_ID_1, id);
+ if (shouldBeNull != null) {
+ shouldBeNull.recycle();
+ }
+ assertNull(shouldBeNull);
+ }
+
+ @Test
public void scrollEvent_clearsNodeAndChild() {
AccessibilityEvent event = AccessibilityEvent
.obtain(AccessibilityEvent.TYPE_VIEW_SCROLLED);
diff --git a/core/tests/coretests/src/com/android/internal/os/KernelCpuThreadReaderTest.java b/core/tests/coretests/src/com/android/internal/os/KernelCpuThreadReaderTest.java
index 442ece5..5dddd1a 100644
--- a/core/tests/coretests/src/com/android/internal/os/KernelCpuThreadReaderTest.java
+++ b/core/tests/coretests/src/com/android/internal/os/KernelCpuThreadReaderTest.java
@@ -218,6 +218,51 @@
}
+ @Test
+ public void testReader_otherThreads() throws IOException {
+ final Path processPath = mProcDirectory.toPath().resolve("self");
+ setupDirectory(
+ processPath,
+ new int[]{1, 2, 3},
+ "process",
+ new String[]{"thread1", "thread2", "thread3"},
+ new int[]{1000, 2000},
+ new int[][]{{0, 100}, {10, 0}, {0, 300}});
+ final KernelCpuThreadReader kernelCpuThreadReader = new KernelCpuThreadReader(
+ 8,
+ i -> true,
+ 2000,
+ mProcDirectory.toPath(),
+ processPath.resolve("task/1/time_in_state"),
+ new KernelCpuThreadReader.Injector() {
+ @Override
+ public int myPid() {
+ return 1000;
+ }
+
+ @Override
+ public int myUid() {
+ return 0;
+ }
+
+ @Override
+ public int getUidForPid(int pid) {
+ return 0;
+ }
+ });
+ checkResults(
+ kernelCpuThreadReader.getCurrentProcessCpuUsage(),
+ kernelCpuThreadReader.getCpuFrequenciesKhz(),
+ 0,
+ 1000,
+ new int[]{-1, 3},
+ "process",
+ new String[]{"__OTHER_THREADS", "thread3"},
+ new int[]{1000, 2000},
+ new int[][]{{100, 1000}, {0, 3000}}
+ );
+ }
+
private void setupDirectory(Path processPath, int[] threadIds, String processName,
String[] threadNames, int[] cpuFrequencies, int[][] cpuTimes) throws IOException {
// Make /proc/$PID
@@ -259,6 +304,7 @@
assertEquals(processId, processCpuUsage.processId);
assertEquals(uid, processCpuUsage.uid);
assertEquals(processName, processCpuUsage.processName);
+ assertEquals(threadIds.length, processCpuUsage.threadCpuUsages.size());
// Sort the thread CPU usages to compare with test case
final ArrayList<KernelCpuThreadReader.ThreadCpuUsage> threadCpuUsages =
diff --git a/graphics/java/android/graphics/Bitmap.java b/graphics/java/android/graphics/Bitmap.java
index 920fb4c..18eafa6 100644
--- a/graphics/java/android/graphics/Bitmap.java
+++ b/graphics/java/android/graphics/Bitmap.java
@@ -1845,6 +1845,7 @@
* @throws IllegalStateException if the bitmap's config is {@link Config#HARDWARE}
*
*/
+ @NonNull
public Color getColor(int x, int y) {
checkRecycled("Can't call getColor() on a recycled bitmap");
checkHardware("unable to getColor(), "
@@ -2024,7 +2025,7 @@
x, y, width, height);
}
- public static final Parcelable.Creator<Bitmap> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<Bitmap> CREATOR
= new Parcelable.Creator<Bitmap>() {
/**
* Rebuilds a bitmap previously stored with writeToParcel().
diff --git a/graphics/java/android/graphics/GraphicBuffer.java b/graphics/java/android/graphics/GraphicBuffer.java
index 7408683..3b1fc70 100644
--- a/graphics/java/android/graphics/GraphicBuffer.java
+++ b/graphics/java/android/graphics/GraphicBuffer.java
@@ -279,7 +279,7 @@
}
@UnsupportedAppUsage
- public static final Parcelable.Creator<GraphicBuffer> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<GraphicBuffer> CREATOR =
new Parcelable.Creator<GraphicBuffer>() {
public GraphicBuffer createFromParcel(Parcel in) {
int width = in.readInt();
diff --git a/graphics/java/android/graphics/Insets.java b/graphics/java/android/graphics/Insets.java
index c64c789..c6dc239 100644
--- a/graphics/java/android/graphics/Insets.java
+++ b/graphics/java/android/graphics/Insets.java
@@ -184,7 +184,7 @@
out.writeInt(bottom);
}
- public static final Parcelable.Creator<Insets> CREATOR = new Parcelable.Creator<Insets>() {
+ public static final @android.annotation.NonNull Parcelable.Creator<Insets> CREATOR = new Parcelable.Creator<Insets>() {
@Override
public Insets createFromParcel(Parcel in) {
return new Insets(in.readInt(), in.readInt(), in.readInt(), in.readInt());
diff --git a/graphics/java/android/graphics/Point.java b/graphics/java/android/graphics/Point.java
index ea93501..3614f3b 100644
--- a/graphics/java/android/graphics/Point.java
+++ b/graphics/java/android/graphics/Point.java
@@ -139,7 +139,7 @@
protoOutputStream.end(token);
}
- public static final Parcelable.Creator<Point> CREATOR = new Parcelable.Creator<Point>() {
+ public static final @android.annotation.NonNull Parcelable.Creator<Point> CREATOR = new Parcelable.Creator<Point>() {
/**
* Return a new point from the data in the specified parcel.
*/
diff --git a/graphics/java/android/graphics/PointF.java b/graphics/java/android/graphics/PointF.java
index a3b4194..f1f48ad 100644
--- a/graphics/java/android/graphics/PointF.java
+++ b/graphics/java/android/graphics/PointF.java
@@ -130,7 +130,7 @@
out.writeFloat(y);
}
- public static final Parcelable.Creator<PointF> CREATOR = new Parcelable.Creator<PointF>() {
+ public static final @android.annotation.NonNull Parcelable.Creator<PointF> CREATOR = new Parcelable.Creator<PointF>() {
/**
* Return a new point from the data in the specified parcel.
*/
diff --git a/graphics/java/android/graphics/Rect.java b/graphics/java/android/graphics/Rect.java
index 40a32f3..d47f682 100644
--- a/graphics/java/android/graphics/Rect.java
+++ b/graphics/java/android/graphics/Rect.java
@@ -722,7 +722,7 @@
out.writeInt(bottom);
}
- public static final Parcelable.Creator<Rect> CREATOR = new Parcelable.Creator<Rect>() {
+ public static final @android.annotation.NonNull Parcelable.Creator<Rect> CREATOR = new Parcelable.Creator<Rect>() {
/**
* Return a new rectangle from the data in the specified parcel.
*/
diff --git a/graphics/java/android/graphics/RectF.java b/graphics/java/android/graphics/RectF.java
index d6447ac..3361fa2 100644
--- a/graphics/java/android/graphics/RectF.java
+++ b/graphics/java/android/graphics/RectF.java
@@ -561,7 +561,7 @@
out.writeFloat(bottom);
}
- public static final Parcelable.Creator<RectF> CREATOR = new Parcelable.Creator<RectF>() {
+ public static final @android.annotation.NonNull Parcelable.Creator<RectF> CREATOR = new Parcelable.Creator<RectF>() {
/**
* Return a new rectangle from the data in the specified parcel.
*/
diff --git a/graphics/java/android/graphics/Region.java b/graphics/java/android/graphics/Region.java
index 29d9367..ec7f7a0 100644
--- a/graphics/java/android/graphics/Region.java
+++ b/graphics/java/android/graphics/Region.java
@@ -345,7 +345,7 @@
//////////////////////////////////////////////////////////////////////////
- public static final Parcelable.Creator<Region> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<Region> CREATOR
= new Parcelable.Creator<Region>() {
/**
* Rebuild a Region previously stored with writeToParcel().
diff --git a/graphics/java/android/graphics/RenderNode.java b/graphics/java/android/graphics/RenderNode.java
index e98879d..42b6acd 100644
--- a/graphics/java/android/graphics/RenderNode.java
+++ b/graphics/java/android/graphics/RenderNode.java
@@ -27,6 +27,8 @@
import android.view.Surface;
import android.view.View;
+import com.android.internal.util.ArrayUtils;
+
import dalvik.annotation.optimization.CriticalNative;
import dalvik.annotation.optimization.FastNative;
@@ -179,6 +181,10 @@
private final AnimationHost mAnimationHost;
private RecordingCanvas mCurrentRecordingCanvas;
+ // Will be null if not currently registered
+ @Nullable
+ private CompositePositionUpdateListener mCompositePositionUpdateListener;
+
/**
* Creates a new RenderNode that can be used to record batches of
* drawing operations, and store / apply render properties when drawn.
@@ -248,15 +254,70 @@
}
+ private static final class CompositePositionUpdateListener implements PositionUpdateListener {
+ private final PositionUpdateListener[] mListeners;
+
+ CompositePositionUpdateListener(PositionUpdateListener... listeners) {
+ mListeners = listeners;
+ }
+
+ public CompositePositionUpdateListener with(PositionUpdateListener listener) {
+ return new CompositePositionUpdateListener(
+ ArrayUtils.appendElement(PositionUpdateListener.class, mListeners, listener));
+ }
+
+ public CompositePositionUpdateListener without(PositionUpdateListener listener) {
+ return new CompositePositionUpdateListener(
+ ArrayUtils.removeElement(PositionUpdateListener.class, mListeners, listener));
+ }
+
+ @Override
+ public void positionChanged(long frameNumber, int left, int top, int right, int bottom) {
+ for (PositionUpdateListener pul : mListeners) {
+ pul.positionChanged(frameNumber, left, top, right, bottom);
+ }
+ }
+
+ @Override
+ public void positionLost(long frameNumber) {
+ for (PositionUpdateListener pul : mListeners) {
+ pul.positionLost(frameNumber);
+ }
+ }
+ }
+
/**
- * Enable callbacks for position changes.
+ * Enable callbacks for position changes. Call only from the UI thread or with
+ * external synchronization.
*
* @hide
*/
- public void requestPositionUpdates(PositionUpdateListener listener) {
- nRequestPositionUpdates(mNativeRenderNode, listener);
+ public void addPositionUpdateListener(@NonNull PositionUpdateListener listener) {
+ CompositePositionUpdateListener comp = mCompositePositionUpdateListener;
+ if (comp == null) {
+ comp = new CompositePositionUpdateListener(listener);
+ } else {
+ comp = comp.with(listener);
+ }
+ mCompositePositionUpdateListener = comp;
+ nRequestPositionUpdates(mNativeRenderNode, comp);
}
+ /**
+ * Disable a callback for position changes. Call only from the UI thread or with
+ * external synchronization.
+ *
+ * @param listener Callback to remove
+ * @hide
+ */
+ public void removePositionUpdateListener(@NonNull PositionUpdateListener listener) {
+ CompositePositionUpdateListener comp = mCompositePositionUpdateListener;
+ if (comp != null) {
+ comp = comp.without(listener);
+ mCompositePositionUpdateListener = comp;
+ nRequestPositionUpdates(mNativeRenderNode, comp);
+ }
+ }
/**
* Starts recording a display list for the render node. All
diff --git a/graphics/java/android/graphics/drawable/Icon.java b/graphics/java/android/graphics/drawable/Icon.java
index f41cc7e..71dd7a2 100644
--- a/graphics/java/android/graphics/drawable/Icon.java
+++ b/graphics/java/android/graphics/drawable/Icon.java
@@ -840,7 +840,7 @@
dest.writeInt(PorterDuff.modeToInt(mTintMode));
}
- public static final Parcelable.Creator<Icon> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<Icon> CREATOR
= new Parcelable.Creator<Icon>() {
public Icon createFromParcel(Parcel in) {
return new Icon(in);
diff --git a/keystore/java/android/security/keystore/KeystoreResponse.java b/keystore/java/android/security/keystore/KeystoreResponse.java
index 3a229cb..529351e 100644
--- a/keystore/java/android/security/keystore/KeystoreResponse.java
+++ b/keystore/java/android/security/keystore/KeystoreResponse.java
@@ -30,7 +30,7 @@
public final int error_code_;
public final String error_msg_;
- public static final Parcelable.Creator<KeystoreResponse> CREATOR = new
+ public static final @android.annotation.NonNull Parcelable.Creator<KeystoreResponse> CREATOR = new
Parcelable.Creator<KeystoreResponse>() {
@Override
public KeystoreResponse createFromParcel(Parcel in) {
diff --git a/keystore/java/android/security/keystore/ParcelableKeyGenParameterSpec.java b/keystore/java/android/security/keystore/ParcelableKeyGenParameterSpec.java
index 8231dc9..d8030fb 100644
--- a/keystore/java/android/security/keystore/ParcelableKeyGenParameterSpec.java
+++ b/keystore/java/android/security/keystore/ParcelableKeyGenParameterSpec.java
@@ -193,7 +193,7 @@
unlockedDeviceRequired);
}
- public static final Creator<ParcelableKeyGenParameterSpec> CREATOR = new Creator<ParcelableKeyGenParameterSpec>() {
+ public static final @android.annotation.NonNull Creator<ParcelableKeyGenParameterSpec> CREATOR = new Creator<ParcelableKeyGenParameterSpec>() {
@Override
public ParcelableKeyGenParameterSpec createFromParcel(Parcel in) {
return new ParcelableKeyGenParameterSpec(in);
diff --git a/libs/hwui/renderthread/VulkanManager.cpp b/libs/hwui/renderthread/VulkanManager.cpp
index 3b43f12..5af660c 100644
--- a/libs/hwui/renderthread/VulkanManager.cpp
+++ b/libs/hwui/renderthread/VulkanManager.cpp
@@ -254,10 +254,36 @@
float queuePriorities[1] = { 0.0 };
+ void* queueNextPtr = nullptr;
+
+ VkDeviceQueueGlobalPriorityCreateInfoEXT queuePriorityCreateInfo;
+
+ if (Properties::contextPriority != 0
+ && grExtensions.hasExtension(VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME, 2)) {
+ memset(&queuePriorityCreateInfo, 0, sizeof(VkDeviceQueueGlobalPriorityCreateInfoEXT));
+ queuePriorityCreateInfo.sType =
+ VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_EXT;
+ queuePriorityCreateInfo.pNext = nullptr;
+ switch (Properties::contextPriority) {
+ case EGL_CONTEXT_PRIORITY_LOW_IMG:
+ queuePriorityCreateInfo.globalPriority = VK_QUEUE_GLOBAL_PRIORITY_LOW_EXT;
+ break;
+ case EGL_CONTEXT_PRIORITY_MEDIUM_IMG:
+ queuePriorityCreateInfo.globalPriority = VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT;
+ break;
+ case EGL_CONTEXT_PRIORITY_HIGH_IMG:
+ queuePriorityCreateInfo.globalPriority = VK_QUEUE_GLOBAL_PRIORITY_HIGH_EXT;
+ break;
+ default:
+ LOG_ALWAYS_FATAL("Unsupported context priority");
+ }
+ queueNextPtr = &queuePriorityCreateInfo;
+ }
+
const VkDeviceQueueCreateInfo queueInfo[2] = {
{
VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO, // sType
- nullptr, // pNext
+ queueNextPtr, // pNext
0, // VkDeviceQueueCreateFlags
mGraphicsQueueIndex, // queueFamilyIndex
1, // queueCount
@@ -265,7 +291,7 @@
},
{
VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO, // sType
- nullptr, // pNext
+ queueNextPtr, // pNext
0, // VkDeviceQueueCreateFlags
mPresentQueueIndex, // queueFamilyIndex
1, // queueCount
diff --git a/location/java/android/location/Address.java b/location/java/android/location/Address.java
index 83f05c2..bb97c78 100644
--- a/location/java/android/location/Address.java
+++ b/location/java/android/location/Address.java
@@ -472,7 +472,7 @@
return sb.toString();
}
- public static final Parcelable.Creator<Address> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<Address> CREATOR =
new Parcelable.Creator<Address>() {
public Address createFromParcel(Parcel in) {
String language = in.readString();
diff --git a/location/java/android/location/Country.java b/location/java/android/location/Country.java
index 6f82b78..f3c2a16 100644
--- a/location/java/android/location/Country.java
+++ b/location/java/android/location/Country.java
@@ -137,7 +137,7 @@
return mTimestamp;
}
- public static final Parcelable.Creator<Country> CREATOR = new Parcelable.Creator<Country>() {
+ public static final @android.annotation.NonNull Parcelable.Creator<Country> CREATOR = new Parcelable.Creator<Country>() {
public Country createFromParcel(Parcel in) {
return new Country(in.readString(), in.readInt(), in.readLong());
}
diff --git a/location/java/android/location/Criteria.java b/location/java/android/location/Criteria.java
index 74eb445..1370b10 100644
--- a/location/java/android/location/Criteria.java
+++ b/location/java/android/location/Criteria.java
@@ -324,7 +324,7 @@
return mBearingRequired;
}
- public static final Parcelable.Creator<Criteria> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<Criteria> CREATOR =
new Parcelable.Creator<Criteria>() {
@Override
public Criteria createFromParcel(Parcel in) {
diff --git a/location/java/android/location/FusedBatchOptions.java b/location/java/android/location/FusedBatchOptions.java
index aa4a860..4a022c3 100644
--- a/location/java/android/location/FusedBatchOptions.java
+++ b/location/java/android/location/FusedBatchOptions.java
@@ -113,7 +113,7 @@
/*
* Method definitions to support Parcelable operations.
*/
- public static final Parcelable.Creator<FusedBatchOptions> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<FusedBatchOptions> CREATOR =
new Parcelable.Creator<FusedBatchOptions>() {
@Override
public FusedBatchOptions createFromParcel(Parcel parcel) {
diff --git a/location/java/android/location/GeocoderParams.java b/location/java/android/location/GeocoderParams.java
index d90e4b5..45d92ee 100644
--- a/location/java/android/location/GeocoderParams.java
+++ b/location/java/android/location/GeocoderParams.java
@@ -67,7 +67,7 @@
return mPackageName;
}
- public static final Parcelable.Creator<GeocoderParams> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<GeocoderParams> CREATOR =
new Parcelable.Creator<GeocoderParams>() {
public GeocoderParams createFromParcel(Parcel in) {
GeocoderParams gp = new GeocoderParams();
diff --git a/location/java/android/location/Geofence.java b/location/java/android/location/Geofence.java
index ed2aa64..9570b26 100644
--- a/location/java/android/location/Geofence.java
+++ b/location/java/android/location/Geofence.java
@@ -100,7 +100,7 @@
}
@UnsupportedAppUsage
- public static final Parcelable.Creator<Geofence> CREATOR = new Parcelable.Creator<Geofence>() {
+ public static final @android.annotation.NonNull Parcelable.Creator<Geofence> CREATOR = new Parcelable.Creator<Geofence>() {
@Override
public Geofence createFromParcel(Parcel in) {
int type = in.readInt();
diff --git a/location/java/android/location/GnssClock.java b/location/java/android/location/GnssClock.java
index 671c57c..8507c83 100644
--- a/location/java/android/location/GnssClock.java
+++ b/location/java/android/location/GnssClock.java
@@ -431,7 +431,7 @@
mHardwareClockDiscontinuityCount = value;
}
- public static final Creator<GnssClock> CREATOR = new Creator<GnssClock>() {
+ public static final @android.annotation.NonNull Creator<GnssClock> CREATOR = new Creator<GnssClock>() {
@Override
public GnssClock createFromParcel(Parcel parcel) {
GnssClock gpsClock = new GnssClock();
diff --git a/location/java/android/location/GnssMeasurement.java b/location/java/android/location/GnssMeasurement.java
index a545f2e..446ea85 100644
--- a/location/java/android/location/GnssMeasurement.java
+++ b/location/java/android/location/GnssMeasurement.java
@@ -1509,7 +1509,7 @@
}
}
- public static final Creator<GnssMeasurement> CREATOR = new Creator<GnssMeasurement>() {
+ public static final @android.annotation.NonNull Creator<GnssMeasurement> CREATOR = new Creator<GnssMeasurement>() {
@Override
public GnssMeasurement createFromParcel(Parcel parcel) {
GnssMeasurement gnssMeasurement = new GnssMeasurement();
diff --git a/location/java/android/location/GnssMeasurementCorrections.java b/location/java/android/location/GnssMeasurementCorrections.java
index 9d3211d..fdbc3dd 100644
--- a/location/java/android/location/GnssMeasurementCorrections.java
+++ b/location/java/android/location/GnssMeasurementCorrections.java
@@ -133,7 +133,7 @@
return 0;
}
- public static final Creator<GnssMeasurementCorrections> CREATOR =
+ public static final @android.annotation.NonNull Creator<GnssMeasurementCorrections> CREATOR =
new Creator<GnssMeasurementCorrections>() {
@Override
public GnssMeasurementCorrections createFromParcel(Parcel parcel) {
diff --git a/location/java/android/location/GnssMeasurementsEvent.java b/location/java/android/location/GnssMeasurementsEvent.java
index 34c7354..98ef2d4 100644
--- a/location/java/android/location/GnssMeasurementsEvent.java
+++ b/location/java/android/location/GnssMeasurementsEvent.java
@@ -130,7 +130,7 @@
return mReadOnlyMeasurements;
}
- public static final Creator<GnssMeasurementsEvent> CREATOR =
+ public static final @android.annotation.NonNull Creator<GnssMeasurementsEvent> CREATOR =
new Creator<GnssMeasurementsEvent>() {
@Override
public GnssMeasurementsEvent createFromParcel(Parcel in) {
diff --git a/location/java/android/location/GnssNavigationMessage.java b/location/java/android/location/GnssNavigationMessage.java
index c7188aa..a83db3f 100644
--- a/location/java/android/location/GnssNavigationMessage.java
+++ b/location/java/android/location/GnssNavigationMessage.java
@@ -365,7 +365,7 @@
}
}
- public static final Creator<GnssNavigationMessage> CREATOR =
+ public static final @android.annotation.NonNull Creator<GnssNavigationMessage> CREATOR =
new Creator<GnssNavigationMessage>() {
@Override
public GnssNavigationMessage createFromParcel(Parcel parcel) {
diff --git a/location/java/android/location/GnssReflectingPlane.java b/location/java/android/location/GnssReflectingPlane.java
index 9a106a7..c5095d7 100644
--- a/location/java/android/location/GnssReflectingPlane.java
+++ b/location/java/android/location/GnssReflectingPlane.java
@@ -76,7 +76,7 @@
return 0;
}
- public static final Creator<GnssReflectingPlane> CREATOR =
+ public static final @android.annotation.NonNull Creator<GnssReflectingPlane> CREATOR =
new Creator<GnssReflectingPlane>() {
@Override
public GnssReflectingPlane createFromParcel(Parcel parcel) {
diff --git a/location/java/android/location/GnssSingleSatCorrection.java b/location/java/android/location/GnssSingleSatCorrection.java
index f719e1a..dbf3fd9 100644
--- a/location/java/android/location/GnssSingleSatCorrection.java
+++ b/location/java/android/location/GnssSingleSatCorrection.java
@@ -215,7 +215,7 @@
return 0;
}
- public static final Creator<GnssSingleSatCorrection> CREATOR =
+ public static final @android.annotation.NonNull Creator<GnssSingleSatCorrection> CREATOR =
new Creator<GnssSingleSatCorrection>() {
@Override
public GnssSingleSatCorrection createFromParcel(Parcel parcel) {
diff --git a/location/java/android/location/GpsClock.java b/location/java/android/location/GpsClock.java
index 4135a1c..52ba60e 100644
--- a/location/java/android/location/GpsClock.java
+++ b/location/java/android/location/GpsClock.java
@@ -394,7 +394,7 @@
mDriftUncertaintyInNsPerSec = Double.NaN;
}
- public static final Creator<GpsClock> CREATOR = new Creator<GpsClock>() {
+ public static final @android.annotation.NonNull Creator<GpsClock> CREATOR = new Creator<GpsClock>() {
@Override
public GpsClock createFromParcel(Parcel parcel) {
GpsClock gpsClock = new GpsClock();
diff --git a/location/java/android/location/GpsMeasurement.java b/location/java/android/location/GpsMeasurement.java
index f13a440..51718b8 100644
--- a/location/java/android/location/GpsMeasurement.java
+++ b/location/java/android/location/GpsMeasurement.java
@@ -1157,7 +1157,7 @@
mUsedInFix = value;
}
- public static final Creator<GpsMeasurement> CREATOR = new Creator<GpsMeasurement>() {
+ public static final @android.annotation.NonNull Creator<GpsMeasurement> CREATOR = new Creator<GpsMeasurement>() {
@Override
public GpsMeasurement createFromParcel(Parcel parcel) {
GpsMeasurement gpsMeasurement = new GpsMeasurement();
diff --git a/location/java/android/location/GpsMeasurementsEvent.java b/location/java/android/location/GpsMeasurementsEvent.java
index 1366873..1cd1fb4 100644
--- a/location/java/android/location/GpsMeasurementsEvent.java
+++ b/location/java/android/location/GpsMeasurementsEvent.java
@@ -103,7 +103,7 @@
return mReadOnlyMeasurements;
}
- public static final Creator<GpsMeasurementsEvent> CREATOR =
+ public static final @android.annotation.NonNull Creator<GpsMeasurementsEvent> CREATOR =
new Creator<GpsMeasurementsEvent>() {
@Override
public GpsMeasurementsEvent createFromParcel(Parcel in) {
diff --git a/location/java/android/location/GpsNavigationMessage.java b/location/java/android/location/GpsNavigationMessage.java
index 5c3c710..77f0113 100644
--- a/location/java/android/location/GpsNavigationMessage.java
+++ b/location/java/android/location/GpsNavigationMessage.java
@@ -243,7 +243,7 @@
}
}
- public static final Creator<GpsNavigationMessage> CREATOR =
+ public static final @android.annotation.NonNull Creator<GpsNavigationMessage> CREATOR =
new Creator<GpsNavigationMessage>() {
@Override
public GpsNavigationMessage createFromParcel(Parcel parcel) {
diff --git a/location/java/android/location/GpsNavigationMessageEvent.java b/location/java/android/location/GpsNavigationMessageEvent.java
index bd6921c..2aa685c 100644
--- a/location/java/android/location/GpsNavigationMessageEvent.java
+++ b/location/java/android/location/GpsNavigationMessageEvent.java
@@ -84,7 +84,7 @@
return mNavigationMessage;
}
- public static final Creator<GpsNavigationMessageEvent> CREATOR =
+ public static final @android.annotation.NonNull Creator<GpsNavigationMessageEvent> CREATOR =
new Creator<GpsNavigationMessageEvent>() {
@Override
public GpsNavigationMessageEvent createFromParcel(Parcel in) {
diff --git a/location/java/android/location/Location.java b/location/java/android/location/Location.java
index fbebbb1..17e2509 100644
--- a/location/java/android/location/Location.java
+++ b/location/java/android/location/Location.java
@@ -1084,7 +1084,7 @@
pw.println(prefix + toString());
}
- public static final Parcelable.Creator<Location> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<Location> CREATOR =
new Parcelable.Creator<Location>() {
@Override
public Location createFromParcel(Parcel in) {
diff --git a/location/java/android/location/LocationRequest.java b/location/java/android/location/LocationRequest.java
index b3953fd..99b2dee 100644
--- a/location/java/android/location/LocationRequest.java
+++ b/location/java/android/location/LocationRequest.java
@@ -669,7 +669,7 @@
}
}
- public static final Parcelable.Creator<LocationRequest> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<LocationRequest> CREATOR =
new Parcelable.Creator<LocationRequest>() {
@Override
public LocationRequest createFromParcel(Parcel in) {
diff --git a/lowpan/java/android/net/lowpan/LowpanBeaconInfo.java b/lowpan/java/android/net/lowpan/LowpanBeaconInfo.java
index 345a4c5..5d4a3a0 100644
--- a/lowpan/java/android/net/lowpan/LowpanBeaconInfo.java
+++ b/lowpan/java/android/net/lowpan/LowpanBeaconInfo.java
@@ -208,7 +208,7 @@
}
/** Implement the Parcelable interface. */
- public static final Creator<LowpanBeaconInfo> CREATOR =
+ public static final @android.annotation.NonNull Creator<LowpanBeaconInfo> CREATOR =
new Creator<LowpanBeaconInfo>() {
public LowpanBeaconInfo createFromParcel(Parcel in) {
Builder builder = new Builder();
diff --git a/lowpan/java/android/net/lowpan/LowpanChannelInfo.java b/lowpan/java/android/net/lowpan/LowpanChannelInfo.java
index 52b1c6d..12c98b6 100644
--- a/lowpan/java/android/net/lowpan/LowpanChannelInfo.java
+++ b/lowpan/java/android/net/lowpan/LowpanChannelInfo.java
@@ -193,7 +193,7 @@
}
/** Implement the Parcelable interface. */
- public static final Creator<LowpanChannelInfo> CREATOR =
+ public static final @android.annotation.NonNull Creator<LowpanChannelInfo> CREATOR =
new Creator<LowpanChannelInfo>() {
public LowpanChannelInfo createFromParcel(Parcel in) {
diff --git a/lowpan/java/android/net/lowpan/LowpanCredential.java b/lowpan/java/android/net/lowpan/LowpanCredential.java
index e9126f9..dcbb831 100644
--- a/lowpan/java/android/net/lowpan/LowpanCredential.java
+++ b/lowpan/java/android/net/lowpan/LowpanCredential.java
@@ -153,7 +153,7 @@
}
/** Implement the Parcelable interface. */
- public static final Creator<LowpanCredential> CREATOR =
+ public static final @android.annotation.NonNull Creator<LowpanCredential> CREATOR =
new Creator<LowpanCredential>() {
public LowpanCredential createFromParcel(Parcel in) {
diff --git a/lowpan/java/android/net/lowpan/LowpanIdentity.java b/lowpan/java/android/net/lowpan/LowpanIdentity.java
index 6cb1f98..1997bc4 100644
--- a/lowpan/java/android/net/lowpan/LowpanIdentity.java
+++ b/lowpan/java/android/net/lowpan/LowpanIdentity.java
@@ -233,7 +233,7 @@
}
/** Implement the Parcelable interface. */
- public static final Creator<LowpanIdentity> CREATOR =
+ public static final @android.annotation.NonNull Creator<LowpanIdentity> CREATOR =
new Creator<LowpanIdentity>() {
public LowpanIdentity createFromParcel(Parcel in) {
diff --git a/lowpan/java/android/net/lowpan/LowpanProvision.java b/lowpan/java/android/net/lowpan/LowpanProvision.java
index f126003..68c8709 100644
--- a/lowpan/java/android/net/lowpan/LowpanProvision.java
+++ b/lowpan/java/android/net/lowpan/LowpanProvision.java
@@ -128,7 +128,7 @@
}
/** Implement the Parcelable interface. */
- public static final Creator<LowpanProvision> CREATOR =
+ public static final @android.annotation.NonNull Creator<LowpanProvision> CREATOR =
new Creator<LowpanProvision>() {
public LowpanProvision createFromParcel(Parcel in) {
Builder builder = new Builder();
diff --git a/media/apex/java/android/media/BufferingParams.java b/media/apex/java/android/media/BufferingParams.java
index aaae5e7b..83594d4 100644
--- a/media/apex/java/android/media/BufferingParams.java
+++ b/media/apex/java/android/media/BufferingParams.java
@@ -167,7 +167,7 @@
mResumePlaybackMarkMs = in.readInt();
}
- public static final Parcelable.Creator<BufferingParams> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<BufferingParams> CREATOR =
new Parcelable.Creator<BufferingParams>() {
@Override
public BufferingParams createFromParcel(Parcel in) {
diff --git a/media/apex/java/android/media/Controller2Link.java b/media/apex/java/android/media/Controller2Link.java
index d11f776..04185e7 100644
--- a/media/apex/java/android/media/Controller2Link.java
+++ b/media/apex/java/android/media/Controller2Link.java
@@ -34,7 +34,7 @@
private static final String TAG = "Controller2Link";
private static final boolean DEBUG = MediaController2.DEBUG;
- public static final Parcelable.Creator<Controller2Link> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<Controller2Link> CREATOR =
new Parcelable.Creator<Controller2Link>() {
@Override
public Controller2Link createFromParcel(Parcel in) {
diff --git a/media/apex/java/android/media/MediaItem2.java b/media/apex/java/android/media/MediaItem2.java
index c496cf7..fc0f08e 100644
--- a/media/apex/java/android/media/MediaItem2.java
+++ b/media/apex/java/android/media/MediaItem2.java
@@ -55,7 +55,7 @@
*/
public static final long POSITION_UNKNOWN = LONG_MAX;
- public static final Parcelable.Creator<MediaItem2> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<MediaItem2> CREATOR =
new Parcelable.Creator<MediaItem2>() {
@Override
public MediaItem2 createFromParcel(Parcel in) {
diff --git a/media/apex/java/android/media/Session2Command.java b/media/apex/java/android/media/Session2Command.java
index 8b285f2..20d6391 100644
--- a/media/apex/java/android/media/Session2Command.java
+++ b/media/apex/java/android/media/Session2Command.java
@@ -60,7 +60,7 @@
*/
public static final int RESULT_ERROR_UNKNOWN_ERROR = -1;
- public static final Parcelable.Creator<Session2Command> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<Session2Command> CREATOR =
new Parcelable.Creator<Session2Command>() {
@Override
public Session2Command createFromParcel(Parcel in) {
diff --git a/media/apex/java/android/media/Session2CommandGroup.java b/media/apex/java/android/media/Session2CommandGroup.java
index 2dab697..73a59d0 100644
--- a/media/apex/java/android/media/Session2CommandGroup.java
+++ b/media/apex/java/android/media/Session2CommandGroup.java
@@ -39,7 +39,7 @@
public final class Session2CommandGroup implements Parcelable {
private static final String TAG = "Session2CommandGroup";
- public static final Parcelable.Creator<Session2CommandGroup> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<Session2CommandGroup> CREATOR =
new Parcelable.Creator<Session2CommandGroup>() {
@Override
public Session2CommandGroup createFromParcel(Parcel in) {
diff --git a/media/apex/java/android/media/Session2Link.java b/media/apex/java/android/media/Session2Link.java
index 08664aa..6e550e8 100644
--- a/media/apex/java/android/media/Session2Link.java
+++ b/media/apex/java/android/media/Session2Link.java
@@ -37,7 +37,7 @@
private static final String TAG = "Session2Link";
private static final boolean DEBUG = MediaSession2.DEBUG;
- public static final Parcelable.Creator<Session2Link> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<Session2Link> CREATOR =
new Parcelable.Creator<Session2Link>() {
@Override
public Session2Link createFromParcel(Parcel in) {
diff --git a/media/apex/java/android/media/Session2Token.java b/media/apex/java/android/media/Session2Token.java
index 6680e40..dc970ae 100644
--- a/media/apex/java/android/media/Session2Token.java
+++ b/media/apex/java/android/media/Session2Token.java
@@ -52,7 +52,7 @@
public final class Session2Token implements Parcelable {
private static final String TAG = "Session2Token";
- public static final Creator<Session2Token> CREATOR = new Creator<Session2Token>() {
+ public static final @android.annotation.NonNull Creator<Session2Token> CREATOR = new Creator<Session2Token>() {
@Override
public Session2Token createFromParcel(Parcel p) {
return new Session2Token(p);
diff --git a/media/java/android/media/AudioAttributes.java b/media/java/android/media/AudioAttributes.java
index ea396c6..46d4204 100644
--- a/media/java/android/media/AudioAttributes.java
+++ b/media/java/android/media/AudioAttributes.java
@@ -877,7 +877,7 @@
}
}
- public static final Parcelable.Creator<AudioAttributes> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<AudioAttributes> CREATOR
= new Parcelable.Creator<AudioAttributes>() {
/**
* Rebuilds an AudioAttributes previously stored with writeToParcel().
diff --git a/media/java/android/media/AudioFocusInfo.java b/media/java/android/media/AudioFocusInfo.java
index 3594ee7..3aaa7df 100644
--- a/media/java/android/media/AudioFocusInfo.java
+++ b/media/java/android/media/AudioFocusInfo.java
@@ -190,7 +190,7 @@
return true;
}
- public static final Parcelable.Creator<AudioFocusInfo> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<AudioFocusInfo> CREATOR
= new Parcelable.Creator<AudioFocusInfo>() {
public AudioFocusInfo createFromParcel(Parcel in) {
diff --git a/media/java/android/media/AudioFormat.java b/media/java/android/media/AudioFormat.java
index 5516086..f0787e9 100644
--- a/media/java/android/media/AudioFormat.java
+++ b/media/java/android/media/AudioFormat.java
@@ -1096,7 +1096,7 @@
);
}
- public static final Parcelable.Creator<AudioFormat> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<AudioFormat> CREATOR =
new Parcelable.Creator<AudioFormat>() {
public AudioFormat createFromParcel(Parcel p) {
return new AudioFormat(p);
diff --git a/media/java/android/media/AudioPlaybackConfiguration.java b/media/java/android/media/AudioPlaybackConfiguration.java
index 7dfdb20..5d12c3c 100644
--- a/media/java/android/media/AudioPlaybackConfiguration.java
+++ b/media/java/android/media/AudioPlaybackConfiguration.java
@@ -430,7 +430,7 @@
+ " -- attr:" + apc.mPlayerAttr);
}
- public static final Parcelable.Creator<AudioPlaybackConfiguration> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<AudioPlaybackConfiguration> CREATOR
= new Parcelable.Creator<AudioPlaybackConfiguration>() {
/**
* Rebuilds an AudioPlaybackConfiguration previously stored with writeToParcel().
diff --git a/media/java/android/media/AudioPresentation.java b/media/java/android/media/AudioPresentation.java
index fca7074..894fbba 100644
--- a/media/java/android/media/AudioPresentation.java
+++ b/media/java/android/media/AudioPresentation.java
@@ -45,6 +45,9 @@
* accessibility, end point mastering and dialogue enhancement. An audio presentation may also have
* a set of description labels in different languages to help the user to make an informed
* selection.
+ *
+ * Applications that parse media streams and extract presentation information on their own
+ * can create instances of AudioPresentation by using {@link AudioPresentation.Builder} class.
*/
public final class AudioPresentation {
private final int mPresentationId;
@@ -66,7 +69,7 @@
private final boolean mAudioDescriptionAvailable;
private final boolean mSpokenSubtitlesAvailable;
private final boolean mDialogueEnhancementAvailable;
- private final Map<ULocale, String> mLabels;
+ private final Map<ULocale, CharSequence> mLabels;
/**
* No preferred reproduction channel layout.
@@ -131,7 +134,7 @@
boolean audioDescriptionAvailable,
boolean spokenSubtitlesAvailable,
boolean dialogueEnhancementAvailable,
- @NonNull Map<ULocale, String> labels) {
+ @NonNull Map<ULocale, CharSequence> labels) {
mPresentationId = presentationId;
mProgramId = programId;
mLanguage = language;
@@ -139,7 +142,7 @@
mAudioDescriptionAvailable = audioDescriptionAvailable;
mSpokenSubtitlesAvailable = spokenSubtitlesAvailable;
mDialogueEnhancementAvailable = dialogueEnhancementAvailable;
- mLabels = new HashMap<ULocale, String>(labels);
+ mLabels = new HashMap<ULocale, CharSequence>(labels);
}
/**
@@ -164,14 +167,14 @@
* or ISO 639-2/T could be used.
*/
public Map<Locale, String> getLabels() {
- Map<Locale, String> localeLabels = new HashMap<Locale, String>();
- for (Map.Entry<ULocale, String> entry : mLabels.entrySet()) {
- localeLabels.put(entry.getKey().toLocale(), entry.getValue());
+ Map<Locale, String> localeLabels = new HashMap<Locale, String>(mLabels.size());
+ for (Map.Entry<ULocale, CharSequence> entry : mLabels.entrySet()) {
+ localeLabels.put(entry.getKey().toLocale(), entry.getValue().toString());
}
return localeLabels;
}
- private Map<ULocale, String> getULabels() {
+ private Map<ULocale, CharSequence> getULabels() {
return mLabels;
}
@@ -273,7 +276,7 @@
/**
* A builder class for creating {@link AudioPresentation} objects.
*/
- public static class Builder {
+ public static final class Builder {
private final int mPresentationId;
private int mProgramId = UNKNOWN_ID;
private ULocale mLanguage = new ULocale("");
@@ -281,13 +284,13 @@
private boolean mAudioDescriptionAvailable = false;
private boolean mSpokenSubtitlesAvailable = false;
private boolean mDialogueEnhancementAvailable = false;
- private Map<ULocale, String> mLabels = new HashMap<ULocale, String>();
+ private Map<ULocale, CharSequence> mLabels = new HashMap<ULocale, CharSequence>();
/**
* Create a {@link Builder}. Any field that should be included in the
* {@link AudioPresentation} must be added.
*
- * @param presentationId the presentation ID of this audio presentation
+ * @param presentationId The presentation ID of this audio presentation.
*/
public Builder(int presentationId) {
mPresentationId = presentationId;
@@ -295,7 +298,7 @@
/**
* Sets the ProgramId to which this audio presentation refers.
*
- * @param programId
+ * @param programId The program ID to be decoded.
*/
public @NonNull Builder setProgramId(int programId) {
mProgramId = programId;
@@ -304,9 +307,9 @@
/**
* Sets the language information of the audio presentation.
*
- * @param language code
+ * @param language Locale corresponding to ISO 639-1/639-2 language code.
*/
- public @NonNull Builder setLocale(ULocale language) {
+ public @NonNull Builder setLocale(@NonNull ULocale language) {
mLanguage = language;
return this;
}
@@ -339,17 +342,17 @@
/**
* Sets locale / text label pairs describing the presentation.
*
- * @param labels
+ * @param labels Text label indexed by its locale corresponding to the language code.
*/
- public @NonNull Builder setLabels(@NonNull Map<ULocale, String> labels) {
- mLabels = new HashMap<ULocale, String>(labels);
+ public @NonNull Builder setLabels(@NonNull Map<ULocale, CharSequence> labels) {
+ mLabels = new HashMap<ULocale, CharSequence>(labels);
return this;
}
/**
* Indicate whether the presentation contains audio description for the visually impaired.
*
- * @param audioDescriptionAvailable
+ * @param audioDescriptionAvailable Audio description for the visually impaired.
*/
public @NonNull Builder setHasAudioDescription(boolean audioDescriptionAvailable) {
mAudioDescriptionAvailable = audioDescriptionAvailable;
@@ -359,7 +362,7 @@
/**
* Indicate whether the presentation contains spoken subtitles for the visually impaired.
*
- * @param spokenSubtitlesAvailable
+ * @param spokenSubtitlesAvailable Spoken subtitles for the visually impaired.
*/
public @NonNull Builder setHasSpokenSubtitles(boolean spokenSubtitlesAvailable) {
mSpokenSubtitlesAvailable = spokenSubtitlesAvailable;
@@ -369,7 +372,7 @@
/**
* Indicate whether the presentation supports dialogue enhancement.
*
- * @param dialogueEnhancementAvailable
+ * @param dialogueEnhancementAvailable Dialogue enhancement.
*/
public @NonNull Builder setHasDialogueEnhancement(boolean dialogueEnhancementAvailable) {
mDialogueEnhancementAvailable = dialogueEnhancementAvailable;
diff --git a/media/java/android/media/AudioRecordingConfiguration.java b/media/java/android/media/AudioRecordingConfiguration.java
index 0af47e8..82bcbc1 100644
--- a/media/java/android/media/AudioRecordingConfiguration.java
+++ b/media/java/android/media/AudioRecordingConfiguration.java
@@ -317,7 +317,7 @@
return new ArrayList<AudioEffect.Descriptor>(Arrays.asList(mDeviceEffects));
}
- public static final Parcelable.Creator<AudioRecordingConfiguration> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<AudioRecordingConfiguration> CREATOR
= new Parcelable.Creator<AudioRecordingConfiguration>() {
/**
* Rebuilds an AudioRecordingConfiguration previously stored with writeToParcel().
diff --git a/media/java/android/media/AudioRoutesInfo.java b/media/java/android/media/AudioRoutesInfo.java
index 83cd797..46df388 100644
--- a/media/java/android/media/AudioRoutesInfo.java
+++ b/media/java/android/media/AudioRoutesInfo.java
@@ -76,7 +76,7 @@
dest.writeInt(mainType);
}
- public static final Parcelable.Creator<AudioRoutesInfo> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<AudioRoutesInfo> CREATOR
= new Parcelable.Creator<AudioRoutesInfo>() {
public AudioRoutesInfo createFromParcel(Parcel in) {
return new AudioRoutesInfo(in);
diff --git a/media/java/android/media/MediaDescription.java b/media/java/android/media/MediaDescription.java
index 39eeb3e..458562a 100644
--- a/media/java/android/media/MediaDescription.java
+++ b/media/java/android/media/MediaDescription.java
@@ -268,7 +268,7 @@
return mTitle + ", " + mSubtitle + ", " + mDescription;
}
- public static final Parcelable.Creator<MediaDescription> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<MediaDescription> CREATOR =
new Parcelable.Creator<MediaDescription>() {
@Override
public MediaDescription createFromParcel(Parcel in) {
diff --git a/media/java/android/media/MediaHTTPConnection.java b/media/java/android/media/MediaHTTPConnection.java
index 5f324f7..d724762 100644
--- a/media/java/android/media/MediaHTTPConnection.java
+++ b/media/java/android/media/MediaHTTPConnection.java
@@ -37,7 +37,6 @@
import java.net.UnknownServiceException;
import java.util.HashMap;
import java.util.Map;
-import java.util.concurrent.atomic.AtomicBoolean;
/** @hide */
public class MediaHTTPConnection extends IMediaHTTPConnection.Stub {
@@ -67,7 +66,6 @@
// from com.squareup.okhttp.internal.http
private final static int HTTP_TEMP_REDIRECT = 307;
private final static int MAX_REDIRECTS = 20;
- private AtomicBoolean mIsConnected = new AtomicBoolean(false);
@UnsupportedAppUsage
public MediaHTTPConnection() {
@@ -91,7 +89,6 @@
mAllowCrossDomainRedirect = true;
mURL = new URL(uri);
mHeaders = convertHeaderStringToMap(headers);
- mIsConnected.set(true);
} catch (MalformedURLException e) {
return null;
}
@@ -142,14 +139,7 @@
@Override
@UnsupportedAppUsage
public void disconnect() {
- if (mIsConnected.getAndSet(false)) {
- (new Thread() {
- @Override
- public void run() {
- teardownConnection();
- }
- }).start();
- }
+ teardownConnection();
mHeaders = null;
mURL = null;
}
@@ -334,14 +324,7 @@
@Override
@UnsupportedAppUsage
public int readAt(long offset, int size) {
- if (!mIsConnected.get()) {
- return -1;
- }
- int result = native_readAt(offset, size);
- if (!mIsConnected.get()) {
- return -1;
- }
- return result;
+ return native_readAt(offset, size);
}
private int readAt(long offset, byte[] data, int size) {
diff --git a/media/java/android/media/MediaMetadata.java b/media/java/android/media/MediaMetadata.java
index dea98d5..8512dbe 100644
--- a/media/java/android/media/MediaMetadata.java
+++ b/media/java/android/media/MediaMetadata.java
@@ -632,7 +632,7 @@
return EDITOR_KEY_MAPPING.get(editorKey, null);
}
- public static final Parcelable.Creator<MediaMetadata> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<MediaMetadata> CREATOR =
new Parcelable.Creator<MediaMetadata>() {
@Override
public MediaMetadata createFromParcel(Parcel in) {
diff --git a/media/java/android/media/MediaParceledListSlice.java b/media/java/android/media/MediaParceledListSlice.java
index 16a37d9..e90d9a4 100644
--- a/media/java/android/media/MediaParceledListSlice.java
+++ b/media/java/android/media/MediaParceledListSlice.java
@@ -185,7 +185,7 @@
return contents;
}
- public static final Parcelable.Creator<MediaParceledListSlice> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<MediaParceledListSlice> CREATOR =
new Parcelable.Creator<MediaParceledListSlice>() {
@Override
public MediaParceledListSlice createFromParcel(Parcel in) {
diff --git a/media/java/android/media/MediaPlayer.java b/media/java/android/media/MediaPlayer.java
index 08ce9fc..f30dda0 100644
--- a/media/java/android/media/MediaPlayer.java
+++ b/media/java/android/media/MediaPlayer.java
@@ -2519,7 +2519,7 @@
* Used to read a TrackInfo from a Parcel.
*/
@UnsupportedAppUsage
- static final Parcelable.Creator<TrackInfo> CREATOR
+ static final @android.annotation.NonNull Parcelable.Creator<TrackInfo> CREATOR
= new Parcelable.Creator<TrackInfo>() {
@Override
public TrackInfo createFromParcel(Parcel in) {
diff --git a/media/java/android/media/MediaRouterClientState.java b/media/java/android/media/MediaRouterClientState.java
index 7643924..1fe4eef 100644
--- a/media/java/android/media/MediaRouterClientState.java
+++ b/media/java/android/media/MediaRouterClientState.java
@@ -68,7 +68,7 @@
return "MediaRouterClientState{ routes=" + routes.toString() + " }";
}
- public static final Parcelable.Creator<MediaRouterClientState> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<MediaRouterClientState> CREATOR =
new Parcelable.Creator<MediaRouterClientState>() {
@Override
public MediaRouterClientState createFromParcel(Parcel in) {
@@ -180,7 +180,7 @@
}
@SuppressWarnings("hiding")
- public static final Parcelable.Creator<RouteInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<RouteInfo> CREATOR =
new Parcelable.Creator<RouteInfo>() {
@Override
public RouteInfo createFromParcel(Parcel in) {
diff --git a/media/java/android/media/PlaybackParams.java b/media/java/android/media/PlaybackParams.java
index 3fe1a32..b4325b6 100644
--- a/media/java/android/media/PlaybackParams.java
+++ b/media/java/android/media/PlaybackParams.java
@@ -234,7 +234,7 @@
return mSpeed;
}
- public static final Parcelable.Creator<PlaybackParams> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<PlaybackParams> CREATOR =
new Parcelable.Creator<PlaybackParams>() {
@Override
public PlaybackParams createFromParcel(Parcel in) {
diff --git a/media/java/android/media/PlayerBase.java b/media/java/android/media/PlayerBase.java
index 7c6367e..34d56ed 100644
--- a/media/java/android/media/PlayerBase.java
+++ b/media/java/android/media/PlayerBase.java
@@ -535,7 +535,7 @@
dest.writeStrongBinder(mIPlayer == null ? null : mIPlayer.asBinder());
}
- public static final Parcelable.Creator<PlayerIdCard> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<PlayerIdCard> CREATOR
= new Parcelable.Creator<PlayerIdCard>() {
/**
* Rebuilds an PlayerIdCard previously stored with writeToParcel().
diff --git a/media/java/android/media/Rating.java b/media/java/android/media/Rating.java
index ffe7e48..be75258 100644
--- a/media/java/android/media/Rating.java
+++ b/media/java/android/media/Rating.java
@@ -116,7 +116,7 @@
dest.writeFloat(mRatingValue);
}
- public static final Parcelable.Creator<Rating> CREATOR = new Parcelable.Creator<Rating>() {
+ public static final @android.annotation.NonNull Parcelable.Creator<Rating> CREATOR = new Parcelable.Creator<Rating>() {
/**
* Rebuilds a Rating previously stored with writeToParcel().
* @param p Parcel object to read the Rating from
diff --git a/media/java/android/media/RemoteDisplayState.java b/media/java/android/media/RemoteDisplayState.java
index f8a4605..2f4ace0 100644
--- a/media/java/android/media/RemoteDisplayState.java
+++ b/media/java/android/media/RemoteDisplayState.java
@@ -76,7 +76,7 @@
dest.writeTypedList(displays);
}
- public static final Parcelable.Creator<RemoteDisplayState> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<RemoteDisplayState> CREATOR =
new Parcelable.Creator<RemoteDisplayState>() {
@Override
public RemoteDisplayState createFromParcel(Parcel in) {
@@ -176,7 +176,7 @@
}
@SuppressWarnings("hiding")
- public static final Parcelable.Creator<RemoteDisplayInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<RemoteDisplayInfo> CREATOR =
new Parcelable.Creator<RemoteDisplayInfo>() {
@Override
public RemoteDisplayInfo createFromParcel(Parcel in) {
diff --git a/media/java/android/media/VolumePolicy.java b/media/java/android/media/VolumePolicy.java
index bd6667f..b193b70 100644
--- a/media/java/android/media/VolumePolicy.java
+++ b/media/java/android/media/VolumePolicy.java
@@ -95,7 +95,7 @@
dest.writeInt(vibrateToSilentDebounce);
}
- public static final Parcelable.Creator<VolumePolicy> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<VolumePolicy> CREATOR
= new Parcelable.Creator<VolumePolicy>() {
@Override
public VolumePolicy createFromParcel(Parcel p) {
diff --git a/media/java/android/media/VolumeShaper.java b/media/java/android/media/VolumeShaper.java
index 2f33e75..663d564 100644
--- a/media/java/android/media/VolumeShaper.java
+++ b/media/java/android/media/VolumeShaper.java
@@ -501,7 +501,7 @@
}
}
- public static final Parcelable.Creator<VolumeShaper.Configuration> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<VolumeShaper.Configuration> CREATOR
= new Parcelable.Creator<VolumeShaper.Configuration>() {
@Override
public VolumeShaper.Configuration createFromParcel(Parcel p) {
@@ -1178,7 +1178,7 @@
dest.writeFloat(mXOffset);
}
- public static final Parcelable.Creator<VolumeShaper.Operation> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<VolumeShaper.Operation> CREATOR
= new Parcelable.Creator<VolumeShaper.Operation>() {
@Override
public VolumeShaper.Operation createFromParcel(Parcel p) {
@@ -1397,7 +1397,7 @@
dest.writeFloat(mXOffset);
}
- public static final Parcelable.Creator<VolumeShaper.State> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<VolumeShaper.State> CREATOR
= new Parcelable.Creator<VolumeShaper.State>() {
@Override
public VolumeShaper.State createFromParcel(Parcel p) {
diff --git a/media/java/android/media/audiopolicy/AudioPolicyConfig.java b/media/java/android/media/audiopolicy/AudioPolicyConfig.java
index a56fd31..a6e63c7 100644
--- a/media/java/android/media/audiopolicy/AudioPolicyConfig.java
+++ b/media/java/android/media/audiopolicy/AudioPolicyConfig.java
@@ -136,7 +136,7 @@
}
}
- public static final Parcelable.Creator<AudioPolicyConfig> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<AudioPolicyConfig> CREATOR
= new Parcelable.Creator<AudioPolicyConfig>() {
/**
* Rebuilds an AudioPolicyConfig previously stored with writeToParcel().
diff --git a/media/java/android/media/audiopolicy/AudioProductStrategies.java b/media/java/android/media/audiopolicy/AudioProductStrategies.java
index d593885..98b6d97 100644
--- a/media/java/android/media/audiopolicy/AudioProductStrategies.java
+++ b/media/java/android/media/audiopolicy/AudioProductStrategies.java
@@ -251,7 +251,7 @@
return AudioVolumeGroups.DEFAULT_VOLUME_GROUP;
}
- public static final Parcelable.Creator<AudioProductStrategies> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<AudioProductStrategies> CREATOR =
new Parcelable.Creator<AudioProductStrategies>() {
@Override
public AudioProductStrategies createFromParcel(@NonNull Parcel in) {
diff --git a/media/java/android/media/audiopolicy/AudioProductStrategy.java b/media/java/android/media/audiopolicy/AudioProductStrategy.java
index 169484b..48500e01 100644
--- a/media/java/android/media/audiopolicy/AudioProductStrategy.java
+++ b/media/java/android/media/audiopolicy/AudioProductStrategy.java
@@ -200,7 +200,7 @@
}
}
- public static final Parcelable.Creator<AudioProductStrategy> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<AudioProductStrategy> CREATOR =
new Parcelable.Creator<AudioProductStrategy>() {
@Override
public AudioProductStrategy createFromParcel(@NonNull Parcel in) {
@@ -338,7 +338,7 @@
}
}
- public static final Parcelable.Creator<AudioAttributesGroup> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<AudioAttributesGroup> CREATOR =
new Parcelable.Creator<AudioAttributesGroup>() {
@Override
public AudioAttributesGroup createFromParcel(@NonNull Parcel in) {
diff --git a/media/java/android/media/browse/MediaBrowser.java b/media/java/android/media/browse/MediaBrowser.java
index 2dffef9..65255a1 100644
--- a/media/java/android/media/browse/MediaBrowser.java
+++ b/media/java/android/media/browse/MediaBrowser.java
@@ -808,7 +808,7 @@
return sb.toString();
}
- public static final Parcelable.Creator<MediaItem> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<MediaItem> CREATOR =
new Parcelable.Creator<MediaItem>() {
@Override
public MediaItem createFromParcel(Parcel in) {
diff --git a/media/java/android/media/midi/MidiDeviceInfo.java b/media/java/android/media/midi/MidiDeviceInfo.java
index ab8af2a..c222985 100644
--- a/media/java/android/media/midi/MidiDeviceInfo.java
+++ b/media/java/android/media/midi/MidiDeviceInfo.java
@@ -325,7 +325,7 @@
",mIsPrivate=" + mIsPrivate);
}
- public static final Parcelable.Creator<MidiDeviceInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<MidiDeviceInfo> CREATOR =
new Parcelable.Creator<MidiDeviceInfo>() {
public MidiDeviceInfo createFromParcel(Parcel in) {
// Needs to be kept in sync with code in MidiDeviceInfo.cpp
diff --git a/media/java/android/media/midi/MidiDeviceStatus.java b/media/java/android/media/midi/MidiDeviceStatus.java
index acb54de..b118279 100644
--- a/media/java/android/media/midi/MidiDeviceStatus.java
+++ b/media/java/android/media/midi/MidiDeviceStatus.java
@@ -111,7 +111,7 @@
return builder.toString();
}
- public static final Parcelable.Creator<MidiDeviceStatus> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<MidiDeviceStatus> CREATOR =
new Parcelable.Creator<MidiDeviceStatus>() {
public MidiDeviceStatus createFromParcel(Parcel in) {
ClassLoader classLoader = MidiDeviceInfo.class.getClassLoader();
diff --git a/media/java/android/media/projection/MediaProjectionInfo.java b/media/java/android/media/projection/MediaProjectionInfo.java
index 5a65e65..ff60856 100644
--- a/media/java/android/media/projection/MediaProjectionInfo.java
+++ b/media/java/android/media/projection/MediaProjectionInfo.java
@@ -78,7 +78,7 @@
UserHandle.writeToParcel(mUserHandle, out);
}
- public static final Parcelable.Creator<MediaProjectionInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<MediaProjectionInfo> CREATOR =
new Parcelable.Creator<MediaProjectionInfo>() {
@Override
public MediaProjectionInfo createFromParcel(Parcel in) {
diff --git a/media/java/android/media/session/ControllerCallbackLink.java b/media/java/android/media/session/ControllerCallbackLink.java
index 428be0d..67d849a 100644
--- a/media/java/android/media/session/ControllerCallbackLink.java
+++ b/media/java/android/media/session/ControllerCallbackLink.java
@@ -191,7 +191,7 @@
dest.writeStrongBinder(mIControllerCallback.asBinder());
}
- public static final Parcelable.Creator<ControllerCallbackLink> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ControllerCallbackLink> CREATOR =
new Parcelable.Creator<ControllerCallbackLink>() {
@Override
public ControllerCallbackLink createFromParcel(Parcel in) {
diff --git a/media/java/android/media/session/ControllerLink.java b/media/java/android/media/session/ControllerLink.java
index 5828fbd..d4ea2a3 100644
--- a/media/java/android/media/session/ControllerLink.java
+++ b/media/java/android/media/session/ControllerLink.java
@@ -40,7 +40,7 @@
* @hide
*/
public final class ControllerLink implements Parcelable {
- public static final Parcelable.Creator<ControllerLink> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ControllerLink> CREATOR =
new Parcelable.Creator<ControllerLink>() {
@Override
public ControllerLink createFromParcel(Parcel in) {
diff --git a/media/java/android/media/session/MediaController.java b/media/java/android/media/session/MediaController.java
index fb21f69..5ee52ce 100644
--- a/media/java/android/media/session/MediaController.java
+++ b/media/java/android/media/session/MediaController.java
@@ -1050,7 +1050,7 @@
dest.writeParcelable(mAudioAttrs, flags);
}
- public static final Parcelable.Creator<PlaybackInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<PlaybackInfo> CREATOR =
new Parcelable.Creator<PlaybackInfo>() {
@Override
public PlaybackInfo createFromParcel(Parcel in) {
diff --git a/media/java/android/media/session/MediaSession.java b/media/java/android/media/session/MediaSession.java
index 9fdefa6..e0cb86e 100644
--- a/media/java/android/media/session/MediaSession.java
+++ b/media/java/android/media/session/MediaSession.java
@@ -511,7 +511,7 @@
return mControllerLink;
}
- public static final Parcelable.Creator<Token> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<Token> CREATOR =
new Parcelable.Creator<Token>() {
@Override
public Token createFromParcel(Parcel in) {
@@ -789,7 +789,7 @@
return 0;
}
- public static final Creator<MediaSession.QueueItem> CREATOR =
+ public static final @android.annotation.NonNull Creator<MediaSession.QueueItem> CREATOR =
new Creator<MediaSession.QueueItem>() {
@Override
diff --git a/media/java/android/media/session/PlaybackState.java b/media/java/android/media/session/PlaybackState.java
index 6b28c97..8dd6127 100644
--- a/media/java/android/media/session/PlaybackState.java
+++ b/media/java/android/media/session/PlaybackState.java
@@ -480,7 +480,7 @@
return mExtras;
}
- public static final Parcelable.Creator<PlaybackState> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<PlaybackState> CREATOR =
new Parcelable.Creator<PlaybackState>() {
@Override
public PlaybackState createFromParcel(Parcel in) {
@@ -534,7 +534,7 @@
return 0;
}
- public static final Parcelable.Creator<PlaybackState.CustomAction> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<PlaybackState.CustomAction> CREATOR =
new Parcelable.Creator<PlaybackState.CustomAction>() {
@Override
diff --git a/media/java/android/media/session/SessionCallbackLink.java b/media/java/android/media/session/SessionCallbackLink.java
index f9fa45a..6ffdc2b 100644
--- a/media/java/android/media/session/SessionCallbackLink.java
+++ b/media/java/android/media/session/SessionCallbackLink.java
@@ -554,7 +554,7 @@
dest.writeStrongBinder(mISessionCallback.asBinder());
}
- public static final Parcelable.Creator<SessionCallbackLink> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<SessionCallbackLink> CREATOR =
new Parcelable.Creator<SessionCallbackLink>() {
@Override
public SessionCallbackLink createFromParcel(Parcel in) {
diff --git a/media/java/android/media/session/SessionLink.java b/media/java/android/media/session/SessionLink.java
index 2331a4a..2b42a2d 100644
--- a/media/java/android/media/session/SessionLink.java
+++ b/media/java/android/media/session/SessionLink.java
@@ -36,7 +36,7 @@
* @hide
*/
public final class SessionLink implements Parcelable {
- public static final Parcelable.Creator<SessionLink> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<SessionLink> CREATOR =
new Parcelable.Creator<SessionLink>() {
@Override
public SessionLink createFromParcel(Parcel in) {
diff --git a/media/java/android/media/tv/DvbDeviceInfo.java b/media/java/android/media/tv/DvbDeviceInfo.java
index e07f3a6..a574fe1 100644
--- a/media/java/android/media/tv/DvbDeviceInfo.java
+++ b/media/java/android/media/tv/DvbDeviceInfo.java
@@ -29,7 +29,7 @@
public final class DvbDeviceInfo implements Parcelable {
static final String TAG = "DvbDeviceInfo";
- public static final Parcelable.Creator<DvbDeviceInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<DvbDeviceInfo> CREATOR =
new Parcelable.Creator<DvbDeviceInfo>() {
@Override
public DvbDeviceInfo createFromParcel(Parcel source) {
diff --git a/media/java/android/media/tv/TvContentRatingSystemInfo.java b/media/java/android/media/tv/TvContentRatingSystemInfo.java
index f2e5b08..f44ded3 100644
--- a/media/java/android/media/tv/TvContentRatingSystemInfo.java
+++ b/media/java/android/media/tv/TvContentRatingSystemInfo.java
@@ -80,7 +80,7 @@
* Used to make this class parcelable.
* @hide
*/
- public static final Parcelable.Creator<TvContentRatingSystemInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<TvContentRatingSystemInfo> CREATOR =
new Parcelable.Creator<TvContentRatingSystemInfo>() {
@Override
public TvContentRatingSystemInfo createFromParcel(Parcel in) {
diff --git a/media/java/android/media/tv/TvInputHardwareInfo.java b/media/java/android/media/tv/TvInputHardwareInfo.java
index 762f0c0..5b316be 100644
--- a/media/java/android/media/tv/TvInputHardwareInfo.java
+++ b/media/java/android/media/tv/TvInputHardwareInfo.java
@@ -74,7 +74,7 @@
public static final int CABLE_CONNECTION_STATUS_DISCONNECTED =
Constants.CABLE_CONNECTION_STATUS_DISCONNECTED;
- public static final Parcelable.Creator<TvInputHardwareInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<TvInputHardwareInfo> CREATOR =
new Parcelable.Creator<TvInputHardwareInfo>() {
@Override
public TvInputHardwareInfo createFromParcel(Parcel source) {
diff --git a/media/java/android/media/tv/TvInputInfo.java b/media/java/android/media/tv/TvInputInfo.java
index 30907a5..1b9cac0 100644
--- a/media/java/android/media/tv/TvInputInfo.java
+++ b/media/java/android/media/tv/TvInputInfo.java
@@ -621,7 +621,7 @@
return mService.serviceInfo.loadIcon(context.getPackageManager());
}
- public static final Parcelable.Creator<TvInputInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<TvInputInfo> CREATOR =
new Parcelable.Creator<TvInputInfo>() {
@Override
public TvInputInfo createFromParcel(Parcel in) {
diff --git a/media/java/android/media/tv/TvStreamConfig.java b/media/java/android/media/tv/TvStreamConfig.java
index 0c2f3fe..f012b46 100644
--- a/media/java/android/media/tv/TvStreamConfig.java
+++ b/media/java/android/media/tv/TvStreamConfig.java
@@ -42,7 +42,7 @@
*/
private int mGeneration;
- public static final Parcelable.Creator<TvStreamConfig> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<TvStreamConfig> CREATOR =
new Parcelable.Creator<TvStreamConfig>() {
@Override
public TvStreamConfig createFromParcel(Parcel source) {
diff --git a/media/java/android/media/tv/TvTrackInfo.java b/media/java/android/media/tv/TvTrackInfo.java
index c9c881c..8142979 100644
--- a/media/java/android/media/tv/TvTrackInfo.java
+++ b/media/java/android/media/tv/TvTrackInfo.java
@@ -289,7 +289,7 @@
return Objects.hashCode(mId);
}
- public static final Parcelable.Creator<TvTrackInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<TvTrackInfo> CREATOR =
new Parcelable.Creator<TvTrackInfo>() {
@Override
public TvTrackInfo createFromParcel(Parcel in) {
diff --git a/media/jni/android_media_ImageWriter.cpp b/media/jni/android_media_ImageWriter.cpp
index 031e373..cfcba76 100644
--- a/media/jni/android_media_ImageWriter.cpp
+++ b/media/jni/android_media_ImageWriter.cpp
@@ -18,8 +18,11 @@
#define LOG_TAG "ImageWriter_JNI"
#include "android_media_Utils.h"
+#include <utils/Condition.h>
#include <utils/Log.h>
+#include <utils/Mutex.h>
#include <utils/String8.h>
+#include <utils/Thread.h>
#include <gui/IProducerListener.h>
#include <gui/Surface.h>
@@ -34,6 +37,8 @@
#include <inttypes.h>
#include <android/hardware_buffer_jni.h>
+#include <deque>
+
#define IMAGE_BUFFER_JNI_ID "mNativeBuffer"
#define IMAGE_FORMAT_UNKNOWN 0 // This is the same value as ImageFormat#UNKNOWN.
// ----------------------------------------------------------------------------
@@ -90,14 +95,124 @@
int mFormat;
int mWidth;
int mHeight;
+
+ // Class for a shared thread used to detach buffers from buffer queues
+ // to discard buffers after consumers are done using them.
+ // This is needed because detaching buffers in onBufferReleased callback
+ // can lead to deadlock when consumer/producer are on the same process.
+ class BufferDetacher {
+ public:
+ // Called by JNIImageWriterContext ctor. Will start the thread for first ref.
+ void addRef();
+ // Called by JNIImageWriterContext dtor. Will stop the thread after ref goes to 0.
+ void removeRef();
+ // Called by onBufferReleased to signal this thread to detach a buffer
+ void detach(wp<Surface>);
+
+ private:
+
+ class DetachThread : public Thread {
+ public:
+ DetachThread() : Thread(/*canCallJava*/false) {};
+
+ void detach(wp<Surface>);
+
+ virtual void requestExit() override;
+
+ private:
+ virtual bool threadLoop() override;
+
+ Mutex mLock;
+ Condition mCondition;
+ std::deque<wp<Surface>> mQueue;
+
+ static const nsecs_t kWaitDuration = 20000000; // 20 ms
+ };
+ sp<DetachThread> mThread;
+
+ Mutex mLock;
+ int mRefCount = 0;
+ };
+
+ static BufferDetacher sBufferDetacher;
};
+JNIImageWriterContext::BufferDetacher JNIImageWriterContext::sBufferDetacher;
+
+void JNIImageWriterContext::BufferDetacher::addRef() {
+ Mutex::Autolock l(mLock);
+ mRefCount++;
+ if (mRefCount == 1) {
+ mThread = new DetachThread();
+ mThread->run("BufDtchThrd");
+ }
+}
+
+void JNIImageWriterContext::BufferDetacher::removeRef() {
+ Mutex::Autolock l(mLock);
+ mRefCount--;
+ if (mRefCount == 0) {
+ mThread->requestExit();
+ mThread->join();
+ mThread.clear();
+ }
+}
+
+void JNIImageWriterContext::BufferDetacher::detach(wp<Surface> bq) {
+ Mutex::Autolock l(mLock);
+ if (mThread == nullptr) {
+ ALOGE("%s: buffer detach thread is gone!", __FUNCTION__);
+ return;
+ }
+ mThread->detach(bq);
+}
+
+void JNIImageWriterContext::BufferDetacher::DetachThread::detach(wp<Surface> bq) {
+ Mutex::Autolock l(mLock);
+ mQueue.push_back(bq);
+ mCondition.signal();
+}
+
+void JNIImageWriterContext::BufferDetacher::DetachThread::requestExit() {
+ Thread::requestExit();
+ {
+ Mutex::Autolock l(mLock);
+ mQueue.clear();
+ }
+ mCondition.signal();
+}
+
+bool JNIImageWriterContext::BufferDetacher::DetachThread::threadLoop() {
+ Mutex::Autolock l(mLock);
+ mCondition.waitRelative(mLock, kWaitDuration);
+
+ while (!mQueue.empty()) {
+ if (exitPending()) {
+ return false;
+ }
+
+ wp<Surface> wbq = mQueue.front();
+ mQueue.pop_front();
+ sp<Surface> bq = wbq.promote();
+ if (bq != nullptr) {
+ sp<Fence> fence;
+ sp<GraphicBuffer> buffer;
+ ALOGV("%s: One buffer is detached", __FUNCTION__);
+ mLock.unlock();
+ bq->detachNextBuffer(&buffer, &fence);
+ mLock.lock();
+ }
+ }
+ return !exitPending();
+}
+
JNIImageWriterContext::JNIImageWriterContext(JNIEnv* env, jobject weakThiz, jclass clazz) :
- mWeakThiz(env->NewGlobalRef(weakThiz)),
- mClazz((jclass)env->NewGlobalRef(clazz)),
- mFormat(0),
- mWidth(-1),
- mHeight(-1) {
+ mWeakThiz(env->NewGlobalRef(weakThiz)),
+ mClazz((jclass)env->NewGlobalRef(clazz)),
+ mFormat(0),
+ mWidth(-1),
+ mHeight(-1) {
+ sBufferDetacher.addRef();
}
JNIImageWriterContext::~JNIImageWriterContext() {
@@ -115,6 +230,7 @@
}
mProducer.clear();
+ sBufferDetacher.removeRef();
}
JNIEnv* JNIImageWriterContext::getJNIEnv(bool* needsDetach) {
@@ -153,10 +269,7 @@
// need let this callback give a BufferItem, then only detach if it was attached to this
// Writer. Do the detach unconditionally for opaque format now. see b/19977520
if (mFormat == HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED) {
- sp<Fence> fence;
- sp<GraphicBuffer> buffer;
- ALOGV("%s: One buffer is detached", __FUNCTION__);
- mProducer->detachNextBuffer(&buffer, &fence);
+ sBufferDetacher.detach(mProducer);
}
env->CallStaticVoidMethod(mClazz, gImageWriterClassInfo.postEventFromNative, mWeakThiz);
diff --git a/packages/CaptivePortalLogin/AndroidManifest.xml b/packages/CaptivePortalLogin/AndroidManifest.xml
index 2a43238..a5f3b88fe 100644
--- a/packages/CaptivePortalLogin/AndroidManifest.xml
+++ b/packages/CaptivePortalLogin/AndroidManifest.xml
@@ -21,6 +21,7 @@
android:versionCode="10"
android:versionName="Q-initial">
+ <uses-sdk android:minSdkVersion="28" android:targetSdkVersion="28" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
diff --git a/packages/NetworkStack/AndroidManifest.xml b/packages/NetworkStack/AndroidManifest.xml
index 90521de..740c573 100644
--- a/packages/NetworkStack/AndroidManifest.xml
+++ b/packages/NetworkStack/AndroidManifest.xml
@@ -21,6 +21,7 @@
android:sharedUserId="android.uid.networkstack"
android:versionCode="10"
android:versionName="Q-initial">
+ <uses-sdk android:minSdkVersion="28" android:targetSdkVersion="28" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
diff --git a/packages/NetworkStackPermissionStub/AndroidManifest.xml b/packages/NetworkStackPermissionStub/AndroidManifest.xml
index ba8a178..62bf3de 100644
--- a/packages/NetworkStackPermissionStub/AndroidManifest.xml
+++ b/packages/NetworkStackPermissionStub/AndroidManifest.xml
@@ -21,6 +21,7 @@
android:sharedUserId="android.uid.networkstack"
android:versionCode="10"
android:versionName="Q-initial">
+ <uses-sdk android:minSdkVersion="28" android:targetSdkVersion="28" />
<!--
This package only exists to define the below permissions, and enforce that they are only
granted to apps sharing the same signature.
@@ -36,4 +37,4 @@
android:protectionLevel="signature"/>
<application android:name="com.android.server.NetworkStackPermissionStub"/>
-</manifest>
\ No newline at end of file
+</manifest>
diff --git a/packages/SystemUI/plugin/src/com/android/systemui/plugins/ClockPlugin.java b/packages/SystemUI/plugin/src/com/android/systemui/plugins/ClockPlugin.java
index 38bf77d..7b7657a 100644
--- a/packages/SystemUI/plugin/src/com/android/systemui/plugins/ClockPlugin.java
+++ b/packages/SystemUI/plugin/src/com/android/systemui/plugins/ClockPlugin.java
@@ -13,6 +13,7 @@
*/
package com.android.systemui.plugins;
+import android.graphics.Bitmap;
import android.graphics.Paint.Style;
import android.view.View;
@@ -21,13 +22,30 @@
import java.util.TimeZone;
/**
- * This plugin is used to replace main clock in keyguard.
+ * Plugin used to replace main clock in keyguard.
*/
@ProvidesInterface(action = ClockPlugin.ACTION, version = ClockPlugin.VERSION)
public interface ClockPlugin extends Plugin {
String ACTION = "com.android.systemui.action.PLUGIN_CLOCK";
- int VERSION = 1;
+ int VERSION = 2;
+
+ /**
+ * Get the name of the clock face.
+ *
+ * This name should not be translated.
+ */
+ String getName();
+
+ /**
+ * Get the title of the clock face to be shown in the picker app.
+ */
+ String getTitle();
+
+ /**
+ * Get thumbnail of clock face to be shown in the picker app.
+ */
+ Bitmap getThumbnail();
/**
* Get clock view.
@@ -62,18 +80,22 @@
default void setColorPalette(boolean supportsDarkText, int[] colors) {}
/**
- * Notifies that time tick alarm from doze service fired.
- */
- default void dozeTimeTick() {}
-
- /**
* Set the amount (ratio) that the device has transitioned to doze.
* @param darkAmount Amount of transition to doze: 1f for doze and 0f for awake.
*/
default void setDarkAmount(float darkAmount) {}
/**
+ * Notifies that time tick alarm from doze service fired.
+ *
+ * Implement this method instead of registering a broadcast listener for TIME_TICK.
+ */
+ default void onTimeTick() {}
+
+ /**
* Notifies that the time zone has changed.
+ *
+ * Implement this method instead of registering a broadcast listener for TIME_ZONE_CHANGED.
*/
default void onTimeZoneChanged(TimeZone timeZone) {}
diff --git a/packages/SystemUI/res-keyguard/layout/default_clock_preview.xml b/packages/SystemUI/res-keyguard/layout/default_clock_preview.xml
new file mode 100644
index 0000000..3e6dd13
--- /dev/null
+++ b/packages/SystemUI/res-keyguard/layout/default_clock_preview.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ >
+ <TextClock
+ android:id="@+id/time"
+ style="@style/widget_big"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_above="@id/date"
+ android:letterSpacing="0.03"
+ android:gravity="center_horizontal"
+ android:format12Hour="@string/keyguard_widget_12_hours_format"
+ android:format24Hour="@string/keyguard_widget_24_hours_format"
+ />
+
+ <TextClock
+ android:id="@+id/date"
+ style="@stype/widget_big"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_centerInParent="true"
+ android:letterSpacing="0.03"
+ android:gravity="center_horizontal"
+ android:format12Hour="EEE, MMM d"
+ android:format24Hour="EEE, MMM d"
+ />
+</RelativeLayout>
diff --git a/packages/SystemUI/res/values-sw320dp/dimens.xml b/packages/SystemUI/res/values-sw320dp/dimens.xml
index 0c2b1cc..8f27f45 100644
--- a/packages/SystemUI/res/values-sw320dp/dimens.xml
+++ b/packages/SystemUI/res/values-sw320dp/dimens.xml
@@ -15,9 +15,8 @@
~ limitations under the License
-->
<resources>
-
<!-- Global actions grid -->
- <dimen name="global_actions_grid_container_bottom_margin">16dp</dimen>
+ <dimen name="global_actions_grid_container_bottom_margin">4dp</dimen>
<dimen name="global_actions_grid_vertical_padding">0dp</dimen>
<dimen name="global_actions_grid_horizontal_padding">3dp</dimen>
@@ -29,7 +28,7 @@
<dimen name="global_actions_grid_item_icon_width">18dp</dimen>
<dimen name="global_actions_grid_item_icon_height">18dp</dimen>
- <dimen name="global_actions_grid_item_icon_top_margin">12dp</dimen>
+ <dimen name="global_actions_grid_item_icon_top_margin">10dp</dimen>
<dimen name="global_actions_grid_item_icon_side_margin">22dp</dimen>
<dimen name="global_actions_grid_item_icon_bottom_margin">4dp</dimen>
diff --git a/packages/SystemUI/res/values-sw410dp/dimens.xml b/packages/SystemUI/res/values-sw410dp/dimens.xml
index 4197eb2..73d1857 100644
--- a/packages/SystemUI/res/values-sw410dp/dimens.xml
+++ b/packages/SystemUI/res/values-sw410dp/dimens.xml
@@ -23,7 +23,7 @@
<dimen name="qs_detail_items_padding_top">16dp</dimen>
<!-- Global actions grid -->
- <dimen name="global_actions_grid_container_bottom_margin">16dp</dimen>
+ <dimen name="global_actions_grid_container_bottom_margin">4dp</dimen>
<dimen name="global_actions_grid_vertical_padding">8dp</dimen>
<dimen name="global_actions_grid_horizontal_padding">4dp</dimen>
@@ -35,7 +35,7 @@
<dimen name="global_actions_grid_item_icon_width">24dp</dimen>
<dimen name="global_actions_grid_item_icon_height">24dp</dimen>
- <dimen name="global_actions_grid_item_icon_top_margin">16dp</dimen>
+ <dimen name="global_actions_grid_item_icon_top_margin">14dp</dimen>
<dimen name="global_actions_grid_item_icon_side_margin">24dp</dimen>
<dimen name="global_actions_grid_item_icon_bottom_margin">4dp</dimen>
diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml
index d53c785..5338bb4 100644
--- a/packages/SystemUI/res/values/strings.xml
+++ b/packages/SystemUI/res/values/strings.xml
@@ -776,7 +776,7 @@
<!-- QuickSettings: Wifi secondary label shown when the wifi is being enabled [CHAR LIMIT=NONE] -->
<string name="quick_settings_wifi_secondary_label_transient">Turning on…</string>
<!-- QuickSettings: Cast title [CHAR LIMIT=NONE] -->
- <string name="quick_settings_cast_title">Cast</string>
+ <string name="quick_settings_cast_title">Screen Cast</string>
<!-- QuickSettings: Cast detail panel, status text when casting [CHAR LIMIT=NONE] -->
<string name="quick_settings_casting">Casting</string>
<!-- QuickSettings: Cast detail panel, default device name [CHAR LIMIT=NONE] -->
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitch.java b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitch.java
index 8de84bf..563b007 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitch.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitch.java
@@ -279,7 +279,7 @@
*/
public void dozeTimeTick() {
if (mClockPlugin != null) {
- mClockPlugin.dozeTimeTick();
+ mClockPlugin.onTimeTick();
}
}
diff --git a/packages/SystemUI/src/com/android/keyguard/clock/BubbleClockController.java b/packages/SystemUI/src/com/android/keyguard/clock/BubbleClockController.java
index 3114708..870ac87 100644
--- a/packages/SystemUI/src/com/android/keyguard/clock/BubbleClockController.java
+++ b/packages/SystemUI/src/com/android/keyguard/clock/BubbleClockController.java
@@ -15,6 +15,9 @@
*/
package com.android.keyguard.clock;
+import android.content.res.Resources;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
import android.graphics.Paint.Style;
import android.view.LayoutInflater;
import android.view.View;
@@ -31,6 +34,16 @@
public class BubbleClockController implements ClockPlugin {
/**
+ * Resources used to get title and thumbnail.
+ */
+ private final Resources mResources;
+
+ /**
+ * LayoutInflater used to inflate custom clock views.
+ */
+ private final LayoutInflater mLayoutInflater;
+
+ /**
* Custom clock shown on AOD screen and behind stack scroller on lock.
*/
private View mView;
@@ -48,25 +61,22 @@
*/
private CrossFadeDarkController mDarkController;
- private BubbleClockController() { }
-
/**
* Create a BubbleClockController instance.
*
* @param layoutInflater Inflater used to inflate custom clock views.
*/
- public static BubbleClockController build(LayoutInflater layoutInflater) {
- BubbleClockController controller = new BubbleClockController();
- controller.createViews(layoutInflater);
- return controller;
+ public BubbleClockController(Resources res, LayoutInflater inflater) {
+ mResources = res;
+ mLayoutInflater = inflater;
}
- private void createViews(LayoutInflater layoutInflater) {
- mView = layoutInflater.inflate(R.layout.bubble_clock, null);
+ private void createViews() {
+ mView = mLayoutInflater.inflate(R.layout.bubble_clock, null);
mDigitalClock = (TextClock) mView.findViewById(R.id.digital_clock);
mAnalogClock = (ImageClock) mView.findViewById(R.id.analog_clock);
- mLockClockContainer = layoutInflater.inflate(R.layout.digital_clock, null);
+ mLockClockContainer = mLayoutInflater.inflate(R.layout.digital_clock, null);
mLockClock = (TextClock) mLockClockContainer.findViewById(R.id.lock_screen_clock);
mLockClock.setVisibility(View.GONE);
@@ -74,12 +84,33 @@
}
@Override
+ public String getName() {
+ return "bubble";
+ }
+
+ @Override
+ public String getTitle() {
+ return mResources.getString(R.string.clock_title_bubble);
+ }
+
+ @Override
+ public Bitmap getThumbnail() {
+ return BitmapFactory.decodeResource(mResources, R.drawable.bubble_thumbnail);
+ }
+
+ @Override
public View getView() {
+ if (mLockClockContainer == null) {
+ createViews();
+ }
return mLockClockContainer;
}
@Override
public View getBigClockView() {
+ if (mView == null) {
+ createViews();
+ }
return mView;
}
@@ -103,13 +134,13 @@
}
@Override
- public void dozeTimeTick() {
- mAnalogClock.onTimeChanged();
+ public void setDarkAmount(float darkAmount) {
+ mDarkController.setDarkAmount(darkAmount);
}
@Override
- public void setDarkAmount(float darkAmount) {
- mDarkController.setDarkAmount(darkAmount);
+ public void onTimeTick() {
+ mAnalogClock.onTimeChanged();
}
@Override
diff --git a/packages/SystemUI/src/com/android/keyguard/clock/ClockManager.java b/packages/SystemUI/src/com/android/keyguard/clock/ClockManager.java
index 3827e44..294c725 100644
--- a/packages/SystemUI/src/com/android/keyguard/clock/ClockManager.java
+++ b/packages/SystemUI/src/com/android/keyguard/clock/ClockManager.java
@@ -23,7 +23,6 @@
import android.database.ContentObserver;
import android.graphics.Bitmap;
import android.graphics.Bitmap.Config;
-import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.os.Handler;
@@ -31,6 +30,7 @@
import android.provider.Settings;
import android.util.ArrayMap;
import android.util.DisplayMetrics;
+import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.MeasureSpec;
@@ -39,17 +39,19 @@
import androidx.annotation.VisibleForTesting;
import com.android.internal.colorextraction.ColorExtractor;
-import com.android.keyguard.R;
import com.android.systemui.colorextraction.SysuiColorExtractor;
import com.android.systemui.dock.DockManager;
import com.android.systemui.dock.DockManager.DockEventListener;
import com.android.systemui.plugins.ClockPlugin;
+import com.android.systemui.plugins.PluginListener;
+import com.android.systemui.shared.plugins.PluginManager;
import com.android.systemui.util.InjectionInflationController;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
-import java.util.function.Supplier;
+import java.util.concurrent.Callable;
+import java.util.concurrent.FutureTask;
import javax.inject.Inject;
import javax.inject.Singleton;
@@ -60,26 +62,49 @@
@Singleton
public final class ClockManager {
+ private static final String TAG = "ClockOptsProvider";
+ private static final String DEFAULT_CLOCK_ID = "default";
+
private final List<ClockInfo> mClockInfos = new ArrayList<>();
/**
* Map from expected value stored in settings to supplier of custom clock face.
*/
- private final Map<String, Supplier<ClockPlugin>> mClocks = new ArrayMap<>();
+ private final Map<String, ClockPlugin> mClocks = new ArrayMap<>();
@Nullable private ClockPlugin mCurrentClock;
private final ContentResolver mContentResolver;
private final SettingsWrapper mSettingsWrapper;
+ private final Handler mMainHandler = new Handler(Looper.getMainLooper());
+
/**
* Observe settings changes to know when to switch the clock face.
*/
private final ContentObserver mContentObserver =
- new ContentObserver(new Handler(Looper.getMainLooper())) {
+ new ContentObserver(mMainHandler) {
@Override
public void onChange(boolean selfChange) {
super.onChange(selfChange);
reload();
}
};
+
+ private final PluginListener<ClockPlugin> mClockPluginListener =
+ new PluginListener<ClockPlugin>() {
+ @Override
+ public void onPluginConnected(ClockPlugin plugin, Context pluginContext) {
+ addClockPlugin(plugin);
+ reload();
+ }
+
+ @Override
+ public void onPluginDisconnected(ClockPlugin plugin) {
+ removeClockPlugin(plugin);
+ reload();
+ }
+ };
+
+ private final PluginManager mPluginManager;
+
/**
* Observe changes to dock state to know when to switch the clock face.
*/
@@ -107,56 +132,29 @@
@Inject
public ClockManager(Context context, InjectionInflationController injectionInflater,
- @Nullable DockManager dockManager, SysuiColorExtractor colorExtractor) {
- this(context, injectionInflater, dockManager, colorExtractor, context.getContentResolver(),
- new SettingsWrapper(context.getContentResolver()));
+ PluginManager pluginManager, @Nullable DockManager dockManager,
+ SysuiColorExtractor colorExtractor) {
+ this(context, injectionInflater, pluginManager, dockManager, colorExtractor,
+ context.getContentResolver(), new SettingsWrapper(context.getContentResolver()));
}
ClockManager(Context context, InjectionInflationController injectionInflater,
- @Nullable DockManager dockManager, SysuiColorExtractor colorExtractor,
- ContentResolver contentResolver, SettingsWrapper settingsWrapper) {
+ PluginManager pluginManager, @Nullable DockManager dockManager,
+ SysuiColorExtractor colorExtractor, ContentResolver contentResolver,
+ SettingsWrapper settingsWrapper) {
+ mPluginManager = pluginManager;
mDockManager = dockManager;
mColorExtractor = colorExtractor;
mContentResolver = contentResolver;
mSettingsWrapper = settingsWrapper;
Resources res = context.getResources();
- mClockInfos.add(ClockInfo.builder()
- .setName("default")
- .setTitle(res.getString(R.string.clock_title_default))
- .setId("default")
- .setThumbnail(() -> BitmapFactory.decodeResource(res, R.drawable.default_thumbnail))
- .setPreview(() -> BitmapFactory.decodeResource(res, R.drawable.default_preview))
- .build());
- mClockInfos.add(ClockInfo.builder()
- .setName("bubble")
- .setTitle(res.getString(R.string.clock_title_bubble))
- .setId(BubbleClockController.class.getName())
- .setThumbnail(() -> BitmapFactory.decodeResource(res, R.drawable.bubble_thumbnail))
- .setPreview(() -> getClockPreview(BubbleClockController.class.getName()))
- .build());
- mClockInfos.add(ClockInfo.builder()
- .setName("stretch")
- .setTitle(res.getString(R.string.clock_title_stretch))
- .setId(StretchAnalogClockController.class.getName())
- .setThumbnail(() -> BitmapFactory.decodeResource(res, R.drawable.stretch_thumbnail))
- .setPreview(() -> getClockPreview(StretchAnalogClockController.class.getName()))
- .build());
- mClockInfos.add(ClockInfo.builder()
- .setName("type")
- .setTitle(res.getString(R.string.clock_title_type))
- .setId(TypeClockController.class.getName())
- .setThumbnail(() -> BitmapFactory.decodeResource(res, R.drawable.type_thumbnail))
- .setPreview(() -> getClockPreview(TypeClockController.class.getName()))
- .build());
-
LayoutInflater layoutInflater = injectionInflater.injectable(LayoutInflater.from(context));
- mClocks.put(BubbleClockController.class.getName(),
- () -> BubbleClockController.build(layoutInflater));
- mClocks.put(StretchAnalogClockController.class.getName(),
- () -> StretchAnalogClockController.build(layoutInflater));
- mClocks.put(TypeClockController.class.getName(),
- () -> TypeClockController.build(layoutInflater));
+
+ addClockPlugin(new DefaultClockController(res, layoutInflater));
+ addClockPlugin(new BubbleClockController(res, layoutInflater));
+ addClockPlugin(new StretchAnalogClockController(res, layoutInflater));
+ addClockPlugin(new TypeClockController(res, layoutInflater));
// Store the size of the display for generation of clock preview.
DisplayMetrics dm = res.getDisplayMetrics();
@@ -211,6 +209,29 @@
return mContentObserver;
}
+ private void addClockPlugin(ClockPlugin plugin) {
+ final String id = plugin.getClass().getName();
+ mClocks.put(plugin.getClass().getName(), plugin);
+ mClockInfos.add(ClockInfo.builder()
+ .setName(plugin.getName())
+ .setTitle(plugin.getTitle())
+ .setId(id)
+ .setThumbnail(() -> plugin.getThumbnail())
+ .setPreview(() -> getClockPreview(id))
+ .build());
+ }
+
+ private void removeClockPlugin(ClockPlugin plugin) {
+ final String id = plugin.getClass().getName();
+ mClocks.remove(id);
+ for (int i = 0; i < mClockInfos.size(); i++) {
+ if (id.equals(mClockInfos.get(i).getId())) {
+ mClockInfos.remove(i);
+ break;
+ }
+ }
+ }
+
/**
* Generate a realistic preview of a clock face.
* @param clockId ID of clock to use for preview, should be obtained from {@link getClockInfos}.
@@ -218,38 +239,54 @@
*/
@Nullable
private Bitmap getClockPreview(String clockId) {
- Supplier<ClockPlugin> supplier = mClocks.get(clockId);
- if (supplier == null) {
- return null;
- }
- ClockPlugin plugin = supplier.get();
+ FutureTask<Bitmap> task = new FutureTask<>(new Callable<Bitmap>() {
+ @Override
+ public Bitmap call() {
+ Bitmap bitmap = Bitmap.createBitmap(mWidth, mHeight, Config.ARGB_8888);
+ ClockPlugin plugin = mClocks.get(clockId);
+ if (plugin == null) {
+ return null;
+ }
- // Use the big clock view for the preview
- View clockView = plugin.getBigClockView();
- if (clockView == null) {
- return null;
+ // Use the big clock view for the preview
+ View clockView = plugin.getBigClockView();
+ if (clockView == null) {
+ return null;
+ }
+
+ // Initialize state of plugin before generating preview.
+ plugin.setDarkAmount(1f);
+ plugin.setTextColor(Color.WHITE);
+
+ ColorExtractor.GradientColors colors = mColorExtractor.getColors(
+ WallpaperManager.FLAG_LOCK, true);
+ plugin.setColorPalette(colors.supportsDarkText(), colors.getColorPalette());
+ plugin.onTimeTick();
+
+ // Draw clock view hierarchy to canvas.
+ Canvas canvas = new Canvas(bitmap);
+ canvas.drawColor(Color.BLACK);
+ dispatchVisibilityAggregated(clockView, true);
+ clockView.measure(MeasureSpec.makeMeasureSpec(mWidth, MeasureSpec.EXACTLY),
+ MeasureSpec.makeMeasureSpec(mHeight, MeasureSpec.EXACTLY));
+ clockView.layout(0, 0, mWidth, mHeight);
+ clockView.draw(canvas);
+ return bitmap;
+ }
+ });
+
+ if (Looper.myLooper() == Looper.getMainLooper()) {
+ task.run();
+ } else {
+ mMainHandler.post(task);
}
- // Initialize state of plugin before generating preview.
- plugin.setDarkAmount(1f);
- plugin.setTextColor(Color.WHITE);
-
- ColorExtractor.GradientColors colors = mColorExtractor.getColors(WallpaperManager.FLAG_LOCK,
- true);
- plugin.setColorPalette(colors.supportsDarkText(), colors.getColorPalette());
- plugin.dozeTimeTick();
-
- // Draw clock view hierarchy to canvas.
- Bitmap bitmap = Bitmap.createBitmap(mWidth, mHeight, Config.ARGB_8888);
- Canvas canvas = new Canvas(bitmap);
- dispatchVisibilityAggregated(clockView, true);
- clockView.measure(MeasureSpec.makeMeasureSpec(mWidth, MeasureSpec.EXACTLY),
- MeasureSpec.makeMeasureSpec(mHeight, MeasureSpec.EXACTLY));
- clockView.layout(0, 0, mWidth, mHeight);
- canvas.drawColor(Color.BLACK);
- clockView.draw(canvas);
-
- return bitmap;
+ try {
+ return task.get();
+ } catch (Exception e) {
+ Log.e(TAG, "Error completing task", e);
+ return null;
+ }
}
private void dispatchVisibilityAggregated(View view, boolean isVisible) {
@@ -279,6 +316,7 @@
}
private void register() {
+ mPluginManager.addPluginListener(mClockPluginListener, ClockPlugin.class, true);
mContentResolver.registerContentObserver(
Settings.Secure.getUriFor(Settings.Secure.LOCK_SCREEN_CUSTOM_CLOCK_FACE),
false, mContentObserver);
@@ -291,6 +329,7 @@
}
private void unregister() {
+ mPluginManager.removePluginListener(mClockPluginListener);
mContentResolver.unregisterContentObserver(mContentObserver);
if (mDockManager != null) {
mDockManager.removeListener(mDockEventListener);
@@ -299,7 +338,11 @@
private void reload() {
mCurrentClock = getClockPlugin();
- notifyClockChanged(mCurrentClock);
+ if (mCurrentClock instanceof DefaultClockController) {
+ notifyClockChanged(null);
+ } else {
+ notifyClockChanged(mCurrentClock);
+ }
}
private ClockPlugin getClockPlugin() {
@@ -307,21 +350,15 @@
if (mIsDocked) {
final String name = mSettingsWrapper.getDockedClockFace();
if (name != null) {
- Supplier<ClockPlugin> supplier = mClocks.get(name);
- if (supplier != null) {
- plugin = supplier.get();
- if (plugin != null) {
- return plugin;
- }
+ plugin = mClocks.get(name);
+ if (plugin != null) {
+ return plugin;
}
}
}
final String name = mSettingsWrapper.getLockScreenCustomClockFace();
if (name != null) {
- Supplier<ClockPlugin> supplier = mClocks.get(name);
- if (supplier != null) {
- plugin = supplier.get();
- }
+ plugin = mClocks.get(name);
}
return plugin;
}
diff --git a/packages/SystemUI/src/com/android/keyguard/clock/DefaultClockController.java b/packages/SystemUI/src/com/android/keyguard/clock/DefaultClockController.java
new file mode 100644
index 0000000..8a6a4cd
--- /dev/null
+++ b/packages/SystemUI/src/com/android/keyguard/clock/DefaultClockController.java
@@ -0,0 +1,131 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.keyguard.clock;
+
+import android.content.res.Resources;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.graphics.Paint.Style;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.TextView;
+
+import com.android.keyguard.R;
+import com.android.systemui.plugins.ClockPlugin;
+
+import java.util.TimeZone;
+
+/**
+ * Plugin for the default clock face used only to provide a preview.
+ */
+public class DefaultClockController implements ClockPlugin {
+
+ /**
+ * Resources used to get title and thumbnail.
+ */
+ private final Resources mResources;
+
+ /**
+ * LayoutInflater used to inflate custom clock views.
+ */
+ private final LayoutInflater mLayoutInflater;
+
+ /**
+ * Root view of preview.
+ */
+ private View mView;
+
+ /**
+ * Text clock in preview view hierarchy.
+ */
+ private TextView mTextTime;
+
+ /**
+ * Date showing below time in preview view hierarchy.
+ */
+ private TextView mTextDate;
+
+ /**
+ * Create a DefaultClockController instance.
+ *
+ * @param inflater Inflater used to inflate custom clock views.
+ */
+ public DefaultClockController(Resources res, LayoutInflater inflater) {
+ mResources = res;
+ mLayoutInflater = inflater;
+ }
+
+ private void createViews() {
+ mView = mLayoutInflater.inflate(R.layout.default_clock_preview, null);
+ mTextTime = mView.findViewById(R.id.time);
+ mTextDate = mView.findViewById(R.id.date);
+ }
+
+ @Override
+ public String getName() {
+ return "default";
+ }
+
+ @Override
+ public String getTitle() {
+ return mResources.getString(R.string.clock_title_default);
+ }
+
+ @Override
+ public Bitmap getThumbnail() {
+ return BitmapFactory.decodeResource(mResources, R.drawable.default_thumbnail);
+ }
+
+ @Override
+ public View getView() {
+ return null;
+ }
+
+ @Override
+ public View getBigClockView() {
+ if (mView == null) {
+ createViews();
+ }
+ return mView;
+ }
+
+ @Override
+ public void setStyle(Style style) {}
+
+ @Override
+ public void setTextColor(int color) {
+ mTextTime.setTextColor(color);
+ mTextDate.setTextColor(color);
+ }
+
+ @Override
+ public void setColorPalette(boolean supportsDarkText, int[] colorPalette) {}
+
+ @Override
+ public void onTimeTick() {
+ }
+
+ @Override
+ public void setDarkAmount(float darkAmount) {}
+
+ @Override
+ public void onTimeZoneChanged(TimeZone timeZone) {}
+
+ @Override
+ public boolean shouldShowStatusArea() {
+ return true;
+ }
+}
diff --git a/packages/SystemUI/src/com/android/keyguard/clock/StretchAnalogClockController.java b/packages/SystemUI/src/com/android/keyguard/clock/StretchAnalogClockController.java
index c465114..7401819 100644
--- a/packages/SystemUI/src/com/android/keyguard/clock/StretchAnalogClockController.java
+++ b/packages/SystemUI/src/com/android/keyguard/clock/StretchAnalogClockController.java
@@ -15,6 +15,9 @@
*/
package com.android.keyguard.clock;
+import android.content.res.Resources;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
import android.graphics.Paint.Style;
import android.view.LayoutInflater;
import android.view.View;
@@ -31,6 +34,16 @@
public class StretchAnalogClockController implements ClockPlugin {
/**
+ * Resources used to get title and thumbnail.
+ */
+ private final Resources mResources;
+
+ /**
+ * LayoutInflater used to inflate custom clock views.
+ */
+ private final LayoutInflater mLayoutInflater;
+
+ /**
* Custom clock shown on AOD screen and behind stack scroller on lock.
*/
private View mBigClockView;
@@ -48,25 +61,22 @@
*/
private CrossFadeDarkController mDarkController;
- private StretchAnalogClockController() { }
-
/**
* Create a BubbleClockController instance.
*
* @param layoutInflater Inflater used to inflate custom clock views.
*/
- public static StretchAnalogClockController build(LayoutInflater layoutInflater) {
- StretchAnalogClockController controller = new StretchAnalogClockController();
- controller.createViews(layoutInflater);
- return controller;
+ public StretchAnalogClockController(Resources res, LayoutInflater inflater) {
+ mResources = res;
+ mLayoutInflater = inflater;
}
- private void createViews(LayoutInflater layoutInflater) {
- mBigClockView = layoutInflater.inflate(R.layout.stretchanalog_clock, null);
+ private void createViews() {
+ mBigClockView = mLayoutInflater.inflate(R.layout.stretchanalog_clock, null);
mAnalogClock = mBigClockView.findViewById(R.id.analog_clock);
mDigitalClock = mBigClockView.findViewById(R.id.digital_clock);
- mView = layoutInflater.inflate(R.layout.digital_clock, null);
+ mView = mLayoutInflater.inflate(R.layout.digital_clock, null);
mLockClock = mView.findViewById(R.id.lock_screen_clock);
mLockClock.setVisibility(View.GONE);
@@ -74,12 +84,33 @@
}
@Override
+ public String getName() {
+ return "stretch";
+ }
+
+ @Override
+ public String getTitle() {
+ return mResources.getString(R.string.clock_title_stretch);
+ }
+
+ @Override
+ public Bitmap getThumbnail() {
+ return BitmapFactory.decodeResource(mResources, R.drawable.stretch_thumbnail);
+ }
+
+ @Override
public View getView() {
+ if (mView == null) {
+ createViews();
+ }
return mView;
}
@Override
public View getBigClockView() {
+ if (mBigClockView == null) {
+ createViews();
+ }
return mBigClockView;
}
@@ -103,7 +134,7 @@
}
@Override
- public void dozeTimeTick() {
+ public void onTimeTick() {
mAnalogClock.onTimeChanged();
}
diff --git a/packages/SystemUI/src/com/android/keyguard/clock/TypeClockController.java b/packages/SystemUI/src/com/android/keyguard/clock/TypeClockController.java
index 2ea39c4..69f86c7 100644
--- a/packages/SystemUI/src/com/android/keyguard/clock/TypeClockController.java
+++ b/packages/SystemUI/src/com/android/keyguard/clock/TypeClockController.java
@@ -15,6 +15,9 @@
*/
package com.android.keyguard.clock;
+import android.content.res.Resources;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
import android.graphics.Paint.Style;
import android.view.LayoutInflater;
import android.view.View;
@@ -30,6 +33,16 @@
public class TypeClockController implements ClockPlugin {
/**
+ * Resources used to get title and thumbnail.
+ */
+ private final Resources mResources;
+
+ /**
+ * LayoutInflater used to inflate custom clock views.
+ */
+ private final LayoutInflater mLayoutInflater;
+
+ /**
* Custom clock shown on AOD screen and behind stack scroller on lock.
*/
private View mView;
@@ -45,36 +58,54 @@
*/
private CrossFadeDarkController mDarkController;
- private TypeClockController() {}
-
/**
* Create a TypeClockController instance.
*
* @param inflater Inflater used to inflate custom clock views.
*/
- public static TypeClockController build(LayoutInflater inflater) {
- TypeClockController controller = new TypeClockController();
- controller.createViews(inflater);
- return controller;
+ TypeClockController(Resources res, LayoutInflater inflater) {
+ mResources = res;
+ mLayoutInflater = inflater;
}
- private void createViews(LayoutInflater inflater) {
- mView = inflater.inflate(R.layout.type_clock, null);
+ private void createViews() {
+ mView = mLayoutInflater.inflate(R.layout.type_clock, null);
mTypeClock = mView.findViewById(R.id.type_clock);
// For now, this view is used to hide the default digital clock.
// Need better transition to lock screen.
- mLockClockContainer = inflater.inflate(R.layout.digital_clock, null);
+ mLockClockContainer = mLayoutInflater.inflate(R.layout.digital_clock, null);
mLockClockContainer.setVisibility(View.GONE);
}
@Override
+ public String getName() {
+ return "type";
+ }
+
+ @Override
+ public String getTitle() {
+ return mResources.getString(R.string.clock_title_type);
+ }
+
+ @Override
+ public Bitmap getThumbnail() {
+ return BitmapFactory.decodeResource(mResources, R.drawable.type_thumbnail);
+ }
+
+ @Override
public View getView() {
+ if (mLockClockContainer == null) {
+ createViews();
+ }
return mLockClockContainer;
}
@Override
public View getBigClockView() {
+ if (mView == null) {
+ createViews();
+ }
return mView;
}
@@ -96,7 +127,7 @@
}
@Override
- public void dozeTimeTick() {
+ public void onTimeTick() {
mTypeClock.onTimeChanged();
}
diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleTouchHandler.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleTouchHandler.java
index 165eb1d..c8eebac 100644
--- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleTouchHandler.java
+++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleTouchHandler.java
@@ -81,8 +81,7 @@
// anything, collapse the stack.
if (action == MotionEvent.ACTION_OUTSIDE || mTouchedView == null) {
mStack.collapseStack();
- cleanUpDismissTarget();
- mTouchedView = null;
+ resetForNextGesture();
return false;
}
@@ -135,8 +134,7 @@
break;
case MotionEvent.ACTION_CANCEL:
- mTouchedView = null;
- cleanUpDismissTarget();
+ resetForNextGesture();
break;
case MotionEvent.ACTION_UP:
@@ -144,7 +142,7 @@
if (mInDismissTarget && isStack) {
mController.dismissStack();
} else if (mMovedEnough) {
- mVelocityTracker.computeCurrentVelocity(1000);
+ mVelocityTracker.computeCurrentVelocity(/* maxVelocity */ 1000);
final float velX = mVelocityTracker.getXVelocity();
final float velY = mVelocityTracker.getYVelocity();
if (isStack) {
@@ -157,7 +155,7 @@
mController.removeBubble(((BubbleView) mTouchedView).getKey());
}
}
- } else if (mTouchedView.equals(mStack.getExpandedBubbleView())) {
+ } else if (mTouchedView == mStack.getExpandedBubbleView()) {
mStack.collapseStack();
} else if (isStack) {
if (mStack.isExpanded()) {
@@ -169,17 +167,25 @@
mStack.setExpandedBubble(((BubbleView) mTouchedView).getKey());
}
- cleanUpDismissTarget();
- mVelocityTracker.recycle();
- mVelocityTracker = null;
- mTouchedView = null;
- mMovedEnough = false;
+ resetForNextGesture();
break;
}
return true;
}
+ /** Clears all touch-related state. */
+ private void resetForNextGesture() {
+ cleanUpDismissTarget();
+ if (mVelocityTracker != null) {
+ mVelocityTracker.recycle();
+ mVelocityTracker = null;
+ }
+ mTouchedView = null;
+ mMovedEnough = false;
+ mInDismissTarget = false;
+ }
+
/**
* Removes the dismiss target and cancels any pending callbacks to show it.
*/
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java
index f05ac4c..0b1e9c3 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java
@@ -21,6 +21,7 @@
import android.app.Dialog;
import android.content.Context;
import android.content.Intent;
+import android.media.projection.MediaProjectionInfo;
import android.provider.Settings;
import android.service.quicksettings.Tile;
import android.util.Log;
@@ -125,7 +126,30 @@
});
return;
}
- showDetail(true);
+
+ CastDevice activeProjection = getActiveDeviceMediaProjection();
+ if (activeProjection == null) {
+ showDetail(true);
+ } else {
+ mController.stopCasting(activeProjection);
+ }
+ }
+
+ private CastDevice getActiveDeviceMediaProjection() {
+ CastDevice activeDevice = null;
+ for (CastDevice device : mController.getCastDevices()) {
+ if (device.state == CastDevice.STATE_CONNECTED
+ || device.state == CastDevice.STATE_CONNECTING) {
+ activeDevice = device;
+ break;
+ }
+ }
+
+ if (activeDevice != null && activeDevice.tag instanceof MediaProjectionInfo) {
+ return activeDevice;
+ }
+
+ return null;
}
@Override
@@ -161,21 +185,23 @@
for (CastDevice device : devices) {
if (device.state == CastDevice.STATE_CONNECTED) {
state.value = true;
- state.label = getDeviceName(device);
+ state.secondaryLabel = getDeviceName(device);
state.contentDescription = state.contentDescription + "," +
mContext.getString(R.string.accessibility_cast_name, state.label);
} else if (device.state == CastDevice.STATE_CONNECTING) {
connecting = true;
}
}
- if (!state.value && connecting) {
- state.label = mContext.getString(R.string.quick_settings_connecting);
+ if (connecting && !state.value) {
+ state.secondaryLabel = mContext.getString(R.string.quick_settings_connecting);
}
state.icon = ResourceIcon.get(state.value ? R.drawable.ic_qs_cast_on
: R.drawable.ic_qs_cast_off);
- if (mWifiConnected) {
+ if (mWifiConnected || state.value) {
state.state = state.value ? Tile.STATE_ACTIVE : Tile.STATE_INACTIVE;
- state.secondaryLabel = "";
+ if (!state.value) {
+ state.secondaryLabel = "";
+ }
state.contentDescription = state.contentDescription + ","
+ mContext.getString(R.string.accessibility_quick_settings_open_details);
state.expandedAccessibilityClassName = Button.class.getName();
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationMediaManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationMediaManager.java
index 490317b..fa22367 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationMediaManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationMediaManager.java
@@ -38,10 +38,12 @@
import android.os.Handler;
import android.os.Trace;
import android.os.UserHandle;
+import android.provider.DeviceConfig;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
+import com.android.internal.config.sysui.SystemUiDeviceConfigFlags;
import com.android.internal.statusbar.NotificationVisibility;
import com.android.systemui.Dependency;
import com.android.systemui.Dumpable;
@@ -115,6 +117,20 @@
private ImageView mBackdropFront;
private ImageView mBackdropBack;
+ private boolean mShowCompactMediaSeekbar;
+ private final DeviceConfig.OnPropertyChangedListener mPropertyChangedListener =
+ new DeviceConfig.OnPropertyChangedListener() {
+ @Override
+ public void onPropertyChanged(String namespace, String name, String value) {
+ if (SystemUiDeviceConfigFlags.COMPACT_MEDIA_SEEKBAR_ENABLED.equals(name)) {
+ if (DEBUG_MEDIA) {
+ Log.v(TAG, "DEBUG_MEDIA: compact media seekbar flag updated: " + value);
+ }
+ mShowCompactMediaSeekbar = "true".equals(value);
+ }
+ }
+ };
+
private final MediaController.Callback mMediaListener = new MediaController.Callback() {
@Override
public void onPlaybackStateChanged(PlaybackState state) {
@@ -168,6 +184,14 @@
onNotificationRemoved(entry.key);
}
});
+
+ mShowCompactMediaSeekbar = "true".equals(
+ DeviceConfig.getProperty(DeviceConfig.NAMESPACE_SYSTEMUI,
+ SystemUiDeviceConfigFlags.COMPACT_MEDIA_SEEKBAR_ENABLED));
+
+ DeviceConfig.addOnPropertyChangedListener(DeviceConfig.NAMESPACE_SYSTEMUI,
+ mContext.getMainExecutor(),
+ mPropertyChangedListener);
}
public void setUpWithPresenter(NotificationPresenter presenter) {
@@ -189,6 +213,10 @@
return mMediaMetadata;
}
+ public boolean getShowCompactMediaSeekbar() {
+ return mShowCompactMediaSeekbar;
+ }
+
public Icon getMediaIcon() {
if (mMediaNotificationKey == null) {
return null;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRow.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRow.java
index 2b643d0..0fbc55b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRow.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRow.java
@@ -81,6 +81,7 @@
import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin;
import com.android.systemui.plugins.statusbar.NotificationMenuRowPlugin.MenuItem;
import com.android.systemui.shared.plugins.PluginManager;
+import com.android.systemui.statusbar.NotificationMediaManager;
import com.android.systemui.statusbar.RemoteInputController;
import com.android.systemui.statusbar.StatusBarIconView;
import com.android.systemui.statusbar.notification.AboveShelfChangedListener;
@@ -90,7 +91,6 @@
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.logging.NotificationCounters;
import com.android.systemui.statusbar.notification.row.NotificationContentInflater.InflationFlag;
-import com.android.systemui.statusbar.notification.row.wrapper.NotificationMediaTemplateViewWrapper;
import com.android.systemui.statusbar.notification.row.wrapper.NotificationViewWrapper;
import com.android.systemui.statusbar.notification.stack.AmbientState;
import com.android.systemui.statusbar.notification.stack.AnimationProperties;
@@ -331,6 +331,7 @@
private boolean mWasChildInGroupWhenRemoved;
private int mNotificationColorAmbient;
private NotificationInlineImageResolver mImageResolver;
+ private NotificationMediaManager mMediaManager;
private SystemNotificationAsyncTask mSystemNotificationAsyncTask =
new SystemNotificationAsyncTask();
@@ -658,10 +659,11 @@
View expandedView = layout.getExpandedChild();
boolean isMediaLayout = expandedView != null
&& expandedView.findViewById(com.android.internal.R.id.media_actions) != null;
+ boolean showCompactMediaSeekbar = mMediaManager.getShowCompactMediaSeekbar();
if (customView && beforeP && !mIsSummaryWithChildren) {
minHeight = beforeN ? mNotificationMinHeightBeforeN : mNotificationMinHeightBeforeP;
- } else if (isMediaLayout && !NotificationMediaTemplateViewWrapper.HIDE_COMPACT_SCRUBBER) {
+ } else if (isMediaLayout && showCompactMediaSeekbar) {
minHeight = mNotificationMinHeightMedia;
} else if (mUseIncreasedCollapsedHeight && layout == mPrivateLayout) {
minHeight = mNotificationMinHeightLarge;
@@ -1635,6 +1637,7 @@
mMenuRow = new NotificationMenuRow(mContext);
mImageResolver = new NotificationInlineImageResolver(context,
new NotificationInlineImageCache());
+ mMediaManager = Dependency.get(NotificationMediaManager.class);
initDimens();
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationMediaTemplateViewWrapper.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationMediaTemplateViewWrapper.java
index ddda3e5..99f5874 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationMediaTemplateViewWrapper.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/wrapper/NotificationMediaTemplateViewWrapper.java
@@ -36,6 +36,7 @@
import com.android.internal.R;
import com.android.systemui.Dependency;
+import com.android.systemui.statusbar.NotificationMediaManager;
import com.android.systemui.statusbar.TransformableView;
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
@@ -58,12 +59,10 @@
private TextView mSeekBarTotalTime;
private long mDuration = 0;
private MediaController mMediaController;
+ private NotificationMediaManager mMediaManager;
private View mSeekBarView;
private Context mContext;
- // TODO: implement as phenotype flag
- public static final boolean HIDE_COMPACT_SCRUBBER = true;
-
private SeekBar.OnSeekBarChangeListener mSeekListener = new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
@@ -102,6 +101,7 @@
ExpandableNotificationRow row) {
super(ctx, view, row);
mContext = ctx;
+ mMediaManager = Dependency.get(NotificationMediaManager.class);
}
private void resolveViews() {
@@ -110,7 +110,8 @@
final MediaSession.Token token = mRow.getEntry().notification.getNotification().extras
.getParcelable(Notification.EXTRA_MEDIA_SESSION);
- if (token == null || (COMPACT_MEDIA_TAG.equals(mView.getTag()) && HIDE_COMPACT_SCRUBBER)) {
+ boolean showCompactSeekbar = mMediaManager.getShowCompactMediaSeekbar();
+ if (token == null || (COMPACT_MEDIA_TAG.equals(mView.getTag()) && !showCompactSeekbar)) {
if (mSeekBarView != null) {
mSeekBarView.setVisibility(View.GONE);
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconControllerImpl.java
index f846036..e0b1846 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconControllerImpl.java
@@ -42,6 +42,7 @@
import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import javax.inject.Inject;
@@ -122,7 +123,7 @@
// Remove all the icons.
for (int i = currentSlots.size() - 1; i >= 0; i--) {
Slot s = currentSlots.get(i);
- slotsToReAdd.put(s, s.getHolderListInViewOrder());
+ slotsToReAdd.put(s, s.getHolderList());
removeAllIconsForSlot(s.getName());
}
@@ -200,6 +201,10 @@
Slot mobileSlot = getSlot(slot);
int slotIndex = getSlotIndex(slot);
+ // Reverse the sort order to show icons with left to right([Slot1][Slot2]..).
+ // StatusBarIconList has UI design that first items go to the right of second items.
+ Collections.reverse(iconStates);
+
for (MobileIconState state : iconStates) {
StatusBarIconHolder holder = mobileSlot.getHolderForTag(state.subId);
if (holder == null) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconList.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconList.java
index 2e41617..c876c32 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconList.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconList.java
@@ -250,6 +250,25 @@
return holders;
}
+ /**
+ * Build a list of the {@link StatusBarIconHolder}s in the same order.
+ * This provides a safe list that can be iterated and inserted into its group.
+ *
+ * @return all holders contained here
+ */
+ public List<StatusBarIconHolder> getHolderList() {
+ ArrayList<StatusBarIconHolder> holders = new ArrayList<>();
+ if (mHolder != null) {
+ holders.add(mHolder);
+ }
+
+ if (mSubSlots != null) {
+ holders.addAll(mSubSlots);
+ }
+
+ return holders;
+ }
+
@Override
public String toString() {
return String.format("(%s) %s", mName, subSlotsString());
diff --git a/packages/SystemUI/tests/src/com/android/keyguard/clock/BubbleClockControllerTest.java b/packages/SystemUI/tests/src/com/android/keyguard/clock/BubbleClockControllerTest.java
index 9e946fa..267468f 100644
--- a/packages/SystemUI/tests/src/com/android/keyguard/clock/BubbleClockControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/keyguard/clock/BubbleClockControllerTest.java
@@ -17,6 +17,7 @@
import static com.google.common.truth.Truth.assertThat;
+import android.content.res.Resources;
import android.test.suitebuilder.annotation.SmallTest;
import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper.RunWithLooper;
@@ -40,8 +41,9 @@
@Before
public void setUp() {
+ Resources res = getContext().getResources();
LayoutInflater layoutInflater = LayoutInflater.from(getContext());
- mClockController = BubbleClockController.build(layoutInflater);
+ mClockController = new BubbleClockController(res, layoutInflater);
}
@Test
diff --git a/packages/SystemUI/tests/src/com/android/keyguard/clock/ClockManagerTest.java b/packages/SystemUI/tests/src/com/android/keyguard/clock/ClockManagerTest.java
index 58701e7..36265d4 100644
--- a/packages/SystemUI/tests/src/com/android/keyguard/clock/ClockManagerTest.java
+++ b/packages/SystemUI/tests/src/com/android/keyguard/clock/ClockManagerTest.java
@@ -31,6 +31,7 @@
import com.android.systemui.colorextraction.SysuiColorExtractor;
import com.android.systemui.dock.DockManager;
import com.android.systemui.dock.DockManagerFake;
+import com.android.systemui.shared.plugins.PluginManager;
import com.android.systemui.util.InjectionInflationController;
import org.junit.After;
@@ -52,6 +53,7 @@
private ContentObserver mContentObserver;
private DockManagerFake mFakeDockManager;
@Mock InjectionInflationController mMockInjectionInflationController;
+ @Mock PluginManager mMockPluginManager;
@Mock SysuiColorExtractor mMockColorExtractor;
@Mock ContentResolver mMockContentResolver;
@Mock SettingsWrapper mMockSettingsWrapper;
@@ -66,7 +68,8 @@
mFakeDockManager = new DockManagerFake();
mClockManager = new ClockManager(getContext(), mMockInjectionInflationController,
- mFakeDockManager, mMockColorExtractor, mMockContentResolver, mMockSettingsWrapper);
+ mMockPluginManager, mFakeDockManager, mMockColorExtractor, mMockContentResolver,
+ mMockSettingsWrapper);
mClockManager.addOnClockChangedListener(mMockListener);
mContentObserver = mClockManager.getContentObserver();
diff --git a/packages/SystemUI/tests/src/com/android/keyguard/clock/StretchAnalogClockControllerTest.java b/packages/SystemUI/tests/src/com/android/keyguard/clock/StretchAnalogClockControllerTest.java
index 8de8f3d..0659b4f 100644
--- a/packages/SystemUI/tests/src/com/android/keyguard/clock/StretchAnalogClockControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/keyguard/clock/StretchAnalogClockControllerTest.java
@@ -17,6 +17,7 @@
import static com.google.common.truth.Truth.assertThat;
+import android.content.res.Resources;
import android.test.suitebuilder.annotation.SmallTest;
import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper.RunWithLooper;
@@ -40,8 +41,9 @@
@Before
public void setUp() {
+ Resources res = getContext().getResources();
LayoutInflater layoutInflater = LayoutInflater.from(getContext());
- mClockController = StretchAnalogClockController.build(layoutInflater);
+ mClockController = new StretchAnalogClockController(res, layoutInflater);
}
@Test
diff --git a/proto/src/wifi.proto b/proto/src/wifi.proto
index d68442f..2214ac5 100644
--- a/proto/src/wifi.proto
+++ b/proto/src/wifi.proto
@@ -2354,7 +2354,7 @@
optional int32 num_request = 1;
// Histogram of requests via this API surface to number of networks matched in scan results.
- optional HistogramBucketInt32 network_match_size_histogram = 2;
+ repeated HistogramBucketInt32 network_match_size_histogram = 2;
// Number of successful network connection from this API.
optional int32 num_connect_success = 3;
diff --git a/services/autofill/java/com/android/server/autofill/Session.java b/services/autofill/java/com/android/server/autofill/Session.java
index 2b94d10d6..7fbfc42 100644
--- a/services/autofill/java/com/android/server/autofill/Session.java
+++ b/services/autofill/java/com/android/server/autofill/Session.java
@@ -335,7 +335,7 @@
if (mContexts == null) {
mContexts = new ArrayList<>(1);
}
- mContexts.add(new FillContext(requestId, structure));
+ mContexts.add(new FillContext(requestId, structure, mCurrentViewId));
cancelCurrentRequestLocked();
diff --git a/services/contentsuggestions/java/com/android/server/contentsuggestions/ContentSuggestionsPerUserService.java b/services/contentsuggestions/java/com/android/server/contentsuggestions/ContentSuggestionsPerUserService.java
index 385bc6c..a18686d 100644
--- a/services/contentsuggestions/java/com/android/server/contentsuggestions/ContentSuggestionsPerUserService.java
+++ b/services/contentsuggestions/java/com/android/server/contentsuggestions/ContentSuggestionsPerUserService.java
@@ -80,12 +80,7 @@
@Override // from PerUserSystemService
protected boolean updateLocked(boolean disabled) {
final boolean enabledChanged = super.updateLocked(disabled);
- if (enabledChanged) {
- if (!isEnabledLocked()) {
- // Clear the remote service for the next call
- mRemoteService = null;
- }
- }
+ updateRemoteServiceLocked();
return enabledChanged;
}
@@ -133,6 +128,15 @@
}
@GuardedBy("mLock")
+ private void updateRemoteServiceLocked() {
+ if (mRemoteService != null) {
+ mRemoteService.destroy();
+ mRemoteService = null;
+ }
+ }
+
+
+ @GuardedBy("mLock")
@Nullable
private RemoteContentSuggestionsService getRemoteServiceLocked() {
if (mRemoteService == null) {
diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java
index 0d4fbb8..9dc673b 100644
--- a/services/core/java/com/android/server/ConnectivityService.java
+++ b/services/core/java/com/android/server/ConnectivityService.java
@@ -4130,12 +4130,14 @@
}
/**
- * Return the information of all ongoing VPNs. This method is used by NetworkStatsService
- * and not available in ConnectivityManager.
+ * Return the information of all ongoing VPNs.
+ *
+ * <p>This method is used to update NetworkStatsService.
+ *
+ * <p>Must be called on the handler thread.
*/
- @Override
- public VpnInfo[] getAllVpnInfo() {
- enforceConnectivityInternalPermission();
+ private VpnInfo[] getAllVpnInfo() {
+ ensureRunningOnConnectivityServiceThread();
synchronized (mVpns) {
if (mLockdownEnabled) {
return new VpnInfo[0];
@@ -6469,6 +6471,7 @@
* Must be called on the handler thread.
*/
private Network[] getDefaultNetworks() {
+ ensureRunningOnConnectivityServiceThread();
ArrayList<Network> defaultNetworks = new ArrayList<>();
NetworkAgentInfo defaultNetwork = getDefaultNetwork();
for (NetworkAgentInfo nai : mNetworkAgentInfos.values()) {
@@ -6484,8 +6487,15 @@
* properties tracked by NetworkStatsService on an active iface has changed.
*/
private void notifyIfacesChangedForNetworkStats() {
+ ensureRunningOnConnectivityServiceThread();
+ String activeIface = null;
+ LinkProperties activeLinkProperties = getActiveLinkProperties();
+ if (activeLinkProperties != null) {
+ activeIface = activeLinkProperties.getInterfaceName();
+ }
try {
- mStatsService.forceUpdateIfaces(getDefaultNetworks());
+ mStatsService.forceUpdateIfaces(
+ getDefaultNetworks(), getAllVpnInfo(), getAllNetworkState(), activeIface);
} catch (Exception ignored) {
}
}
diff --git a/services/core/java/com/android/server/StorageManagerService.java b/services/core/java/com/android/server/StorageManagerService.java
index 98f260c..c8e8ef8 100644
--- a/services/core/java/com/android/server/StorageManagerService.java
+++ b/services/core/java/com/android/server/StorageManagerService.java
@@ -2983,7 +2983,9 @@
@Override
public void mkdirs(String callingPkg, String appPath) {
- final int userId = UserHandle.getUserId(Binder.getCallingUid());
+ final int callingPid = Binder.getCallingPid();
+ final int callingUid = Binder.getCallingUid();
+ final int userId = UserHandle.getUserId(callingUid);
final UserEnvironment userEnv = new UserEnvironment(userId);
final String propertyName = "sys.user." + userId + ".ce_available";
@@ -3001,7 +3003,7 @@
// Validate that reported package name belongs to caller
final AppOpsManager appOps = (AppOpsManager) mContext.getSystemService(
Context.APP_OPS_SERVICE);
- appOps.checkPackage(Binder.getCallingUid(), callingPkg);
+ appOps.checkPackage(callingUid, callingPkg);
File appFile = null;
try {
@@ -3020,11 +3022,13 @@
appPath = appPath + "/";
}
+ final String systemPath = translateAppToSystem(appPath, callingPid, callingUid);
+
try {
- mVold.mkdirs(appPath);
+ mVold.mkdirs(systemPath);
return;
} catch (Exception e) {
- throw new IllegalStateException("Failed to prepare " + appPath + ": " + e);
+ throw new IllegalStateException("Failed to prepare " + systemPath + ": " + e);
}
}
diff --git a/services/core/java/com/android/server/TelephonyRegistry.java b/services/core/java/com/android/server/TelephonyRegistry.java
index 5633082c..0955cc5 100644
--- a/services/core/java/com/android/server/TelephonyRegistry.java
+++ b/services/core/java/com/android/server/TelephonyRegistry.java
@@ -1455,7 +1455,7 @@
synchronized (mRecords) {
mPreciseDataConnectionState = new PreciseDataConnectionState(
TelephonyManager.DATA_UNKNOWN,TelephonyManager.NETWORK_TYPE_UNKNOWN,
- ApnSetting.getApnTypesBitmaskFromString(apnType), "", null,
+ ApnSetting.getApnTypesBitmaskFromString(apnType), null, null,
DataFailCause.NONE);
for (Record r : mRecords) {
if (r.matchPhoneStateListenerEvent(
@@ -1471,7 +1471,7 @@
}
broadcastDataConnectionFailed(apnType, subId);
broadcastPreciseDataConnectionStateChanged(TelephonyManager.DATA_UNKNOWN,
- TelephonyManager.NETWORK_TYPE_UNKNOWN, apnType, "", null,
+ TelephonyManager.NETWORK_TYPE_UNKNOWN, apnType, null, null,
DataFailCause.NONE);
}
diff --git a/services/core/java/com/android/server/am/ActivityManagerConstants.java b/services/core/java/com/android/server/am/ActivityManagerConstants.java
index de41152..415a892 100644
--- a/services/core/java/com/android/server/am/ActivityManagerConstants.java
+++ b/services/core/java/com/android/server/am/ActivityManagerConstants.java
@@ -16,8 +16,6 @@
package com.android.server.am;
-import static android.provider.DeviceConfig.ActivityManager.KEY_MAX_CACHED_PROCESSES;
-
import static com.android.server.am.ActivityManagerDebugConfig.DEBUG_POWER_QUICK;
import android.app.ActivityThread;
@@ -105,6 +103,12 @@
private static final long DEFAULT_MEMORY_INFO_THROTTLE_TIME = 5*60*1000;
private static final long DEFAULT_TOP_TO_FGS_GRACE_DURATION = 15 * 1000;
+ // Flag stored in the DeviceConfig API.
+ /**
+ * Maximum number of cached processes.
+ */
+ private static final String KEY_MAX_CACHED_PROCESSES = "max_cached_processes";
+
// Maximum number of cached processes we will allow.
public int MAX_CACHED_PROCESSES = DEFAULT_MAX_CACHED_PROCESSES;
@@ -292,7 +296,7 @@
updateConstants();
updateActivityStartsLoggingEnabled();
updateBackgroundActivityStartsEnabled();
- DeviceConfig.addOnPropertyChangedListener(DeviceConfig.ActivityManager.NAMESPACE,
+ DeviceConfig.addOnPropertyChangedListener(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
ActivityThread.currentApplication().getMainExecutor(),
mOnDeviceConfigChangedListener);
updateMaxCachedProcesses();
@@ -412,7 +416,7 @@
private void updateMaxCachedProcesses() {
String maxCachedProcessesFlag = DeviceConfig.getProperty(
- DeviceConfig.ActivityManager.NAMESPACE, KEY_MAX_CACHED_PROCESSES);
+ DeviceConfig.NAMESPACE_ACTIVITY_MANAGER, KEY_MAX_CACHED_PROCESSES);
try {
CUR_MAX_CACHED_PROCESSES = mOverrideMaxCachedProcesses < 0
? (TextUtils.isEmpty(maxCachedProcessesFlag)
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index fe85d23..ccb9d82 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -2129,6 +2129,7 @@
private String mExemptionsStr;
private List<String> mExemptions = Collections.emptyList();
private int mLogSampleRate = -1;
+ private int mStatslogSampleRate = -1;
@HiddenApiEnforcementPolicy private int mPolicy = HIDDEN_API_ENFORCEMENT_DEFAULT;
public HiddenApiSettings(Handler handler, Context context) {
@@ -2146,6 +2147,11 @@
false,
this);
mContext.getContentResolver().registerContentObserver(
+ Settings.Global.getUriFor(
+ Settings.Global.HIDDEN_API_ACCESS_STATSLOG_SAMPLING_RATE),
+ false,
+ this);
+ mContext.getContentResolver().registerContentObserver(
Settings.Global.getUriFor(Settings.Global.HIDDEN_API_POLICY),
false,
this);
@@ -2181,6 +2187,15 @@
mLogSampleRate = logSampleRate;
ZYGOTE_PROCESS.setHiddenApiAccessLogSampleRate(mLogSampleRate);
}
+ int statslogSampleRate = Settings.Global.getInt(mContext.getContentResolver(),
+ Settings.Global.HIDDEN_API_ACCESS_STATSLOG_SAMPLING_RATE, 0);
+ if (statslogSampleRate < 0 || statslogSampleRate > 0x10000) {
+ statslogSampleRate = -1;
+ }
+ if (statslogSampleRate != -1 && statslogSampleRate != mStatslogSampleRate) {
+ mStatslogSampleRate = statslogSampleRate;
+ ZYGOTE_PROCESS.setHiddenApiAccessStatslogSampleRate(mStatslogSampleRate);
+ }
mPolicy = getValidEnforcementPolicy(Settings.Global.HIDDEN_API_POLICY);
}
diff --git a/services/core/java/com/android/server/am/AppCompactor.java b/services/core/java/com/android/server/am/AppCompactor.java
index 17ffd9c..1f21160 100644
--- a/services/core/java/com/android/server/am/AppCompactor.java
+++ b/services/core/java/com/android/server/am/AppCompactor.java
@@ -17,14 +17,6 @@
package com.android.server.am;
import static android.os.Process.THREAD_PRIORITY_FOREGROUND;
-import static android.provider.DeviceConfig.ActivityManager.KEY_COMPACT_ACTION_1;
-import static android.provider.DeviceConfig.ActivityManager.KEY_COMPACT_ACTION_2;
-import static android.provider.DeviceConfig.ActivityManager.KEY_COMPACT_STATSD_SAMPLE_RATE;
-import static android.provider.DeviceConfig.ActivityManager.KEY_COMPACT_THROTTLE_1;
-import static android.provider.DeviceConfig.ActivityManager.KEY_COMPACT_THROTTLE_2;
-import static android.provider.DeviceConfig.ActivityManager.KEY_COMPACT_THROTTLE_3;
-import static android.provider.DeviceConfig.ActivityManager.KEY_COMPACT_THROTTLE_4;
-import static android.provider.DeviceConfig.ActivityManager.KEY_USE_COMPACTION;
import android.app.ActivityManager;
import android.app.ActivityThread;
@@ -51,6 +43,17 @@
public final class AppCompactor {
+ // Flags stored in the DeviceConfig API.
+ @VisibleForTesting static final String KEY_USE_COMPACTION = "use_compaction";
+ @VisibleForTesting static final String KEY_COMPACT_ACTION_1 = "compact_action_1";
+ @VisibleForTesting static final String KEY_COMPACT_ACTION_2 = "compact_action_2";
+ @VisibleForTesting static final String KEY_COMPACT_THROTTLE_1 = "compact_throttle_1";
+ @VisibleForTesting static final String KEY_COMPACT_THROTTLE_2 = "compact_throttle_2";
+ @VisibleForTesting static final String KEY_COMPACT_THROTTLE_3 = "compact_throttle_3";
+ @VisibleForTesting static final String KEY_COMPACT_THROTTLE_4 = "compact_throttle_4";
+ @VisibleForTesting static final String KEY_COMPACT_STATSD_SAMPLE_RATE =
+ "compact_statsd_sample_rate";
+
// Phenotype sends int configurations and we map them to the strings we'll use on device,
// preventing a weird string value entering the kernel.
private static final int COMPACT_ACTION_FILE_FLAG = 1;
@@ -165,7 +168,7 @@
* starts the background thread if necessary.
*/
public void init() {
- DeviceConfig.addOnPropertyChangedListener(DeviceConfig.ActivityManager.NAMESPACE,
+ DeviceConfig.addOnPropertyChangedListener(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
ActivityThread.currentApplication().getMainExecutor(), mOnFlagsChangedListener);
synchronized (mPhenotypeFlagLock) {
updateUseCompaction();
@@ -228,7 +231,7 @@
@GuardedBy("mPhenotypeFlagLock")
private void updateUseCompaction() {
String useCompactionFlag =
- DeviceConfig.getProperty(DeviceConfig.ActivityManager.NAMESPACE,
+ DeviceConfig.getProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
KEY_USE_COMPACTION);
mUseCompaction = TextUtils.isEmpty(useCompactionFlag)
? DEFAULT_USE_COMPACTION : Boolean.parseBoolean(useCompactionFlag);
@@ -241,10 +244,10 @@
@GuardedBy("mPhenotypeFlagLock")
private void updateCompactionActions() {
String compactAction1Flag =
- DeviceConfig.getProperty(DeviceConfig.ActivityManager.NAMESPACE,
+ DeviceConfig.getProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
KEY_COMPACT_ACTION_1);
String compactAction2Flag =
- DeviceConfig.getProperty(DeviceConfig.ActivityManager.NAMESPACE,
+ DeviceConfig.getProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
KEY_COMPACT_ACTION_2);
int compactAction1 = DEFAULT_COMPACT_ACTION_1;
@@ -271,16 +274,16 @@
private void updateCompactionThrottles() {
boolean useThrottleDefaults = false;
String throttleSomeSomeFlag =
- DeviceConfig.getProperty(DeviceConfig.ActivityManager.NAMESPACE,
+ DeviceConfig.getProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
KEY_COMPACT_THROTTLE_1);
String throttleSomeFullFlag =
- DeviceConfig.getProperty(DeviceConfig.ActivityManager.NAMESPACE,
+ DeviceConfig.getProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
KEY_COMPACT_THROTTLE_2);
String throttleFullSomeFlag =
- DeviceConfig.getProperty(DeviceConfig.ActivityManager.NAMESPACE,
+ DeviceConfig.getProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
KEY_COMPACT_THROTTLE_3);
String throttleFullFullFlag =
- DeviceConfig.getProperty(DeviceConfig.ActivityManager.NAMESPACE,
+ DeviceConfig.getProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
KEY_COMPACT_THROTTLE_4);
if (TextUtils.isEmpty(throttleSomeSomeFlag) || TextUtils.isEmpty(throttleSomeFullFlag)
@@ -309,7 +312,7 @@
@GuardedBy("mPhenotypeFlagLock")
private void updateStatsdSampleRate() {
- String sampleRateFlag = DeviceConfig.getProperty(DeviceConfig.ActivityManager.NAMESPACE,
+ String sampleRateFlag = DeviceConfig.getProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
KEY_COMPACT_STATSD_SAMPLE_RATE);
try {
mStatsdSampleRate = TextUtils.isEmpty(sampleRateFlag)
diff --git a/services/core/java/com/android/server/biometrics/BiometricServiceBase.java b/services/core/java/com/android/server/biometrics/BiometricServiceBase.java
index 92a8d93..d787758 100644
--- a/services/core/java/com/android/server/biometrics/BiometricServiceBase.java
+++ b/services/core/java/com/android/server/biometrics/BiometricServiceBase.java
@@ -542,6 +542,9 @@
+ " failed to respond to cancel, starting client "
+ (mPendingClient != null ? mPendingClient.getOwnerString() : "null"));
+ StatsLog.write(StatsLog.BIOMETRIC_SYSTEM_HEALTH_ISSUE_DETECTED,
+ statsModality(), BiometricsProtoEnums.ISSUE_CANCEL_TIMED_OUT);
+
mCurrentClient = null;
startClient(mPendingClient, false);
}
@@ -817,6 +820,7 @@
mHandler.post(() -> {
ClientMonitor client = mCurrentClient;
if (client instanceof EnrollClient && client.getToken() == token) {
+ if (DEBUG) Slog.v(getTag(), "Cancelling enrollment");
client.stop(client.getToken() == token);
}
});
diff --git a/services/core/java/com/android/server/biometrics/ClientMonitor.java b/services/core/java/com/android/server/biometrics/ClientMonitor.java
index 89fa2de..87b9eaa 100644
--- a/services/core/java/com/android/server/biometrics/ClientMonitor.java
+++ b/services/core/java/com/android/server/biometrics/ClientMonitor.java
@@ -158,6 +158,7 @@
*/
public boolean onAcquired(int acquiredInfo, int vendorCode) {
super.logOnAcquired(acquiredInfo, vendorCode, getTargetUserId());
+ if (DEBUG) Slog.v(getLogTag(), "Acquired: " + acquiredInfo + " " + vendorCode);
try {
if (mListener != null) {
mListener.onAcquired(getHalDeviceId(), acquiredInfo, vendorCode);
diff --git a/services/core/java/com/android/server/biometrics/EnrollClient.java b/services/core/java/com/android/server/biometrics/EnrollClient.java
index 882a929..d5e626a 100644
--- a/services/core/java/com/android/server/biometrics/EnrollClient.java
+++ b/services/core/java/com/android/server/biometrics/EnrollClient.java
@@ -76,7 +76,10 @@
}
mMetricsLogger.action(mMetrics.actionBiometricEnroll());
try {
- getListener().onEnrollResult(identifier, remaining);
+ final BiometricServiceBase.ServiceListener listener = getListener();
+ if (listener != null) {
+ listener.onEnrollResult(identifier, remaining);
+ }
return remaining == 0;
} catch (RemoteException e) {
Slog.w(getLogTag(), "Failed to notify EnrollResult:", e);
diff --git a/services/core/java/com/android/server/content/SyncManager.java b/services/core/java/com/android/server/content/SyncManager.java
index 8a208a5..9f80a83 100644
--- a/services/core/java/com/android/server/content/SyncManager.java
+++ b/services/core/java/com/android/server/content/SyncManager.java
@@ -1639,13 +1639,12 @@
}
}
- if (syncOperation.isAppStandbyExempted()) {
- final UsageStatsManagerInternal usmi = LocalServices.getService(
- UsageStatsManagerInternal.class);
- if (usmi != null) {
- usmi.reportExemptedSyncScheduled(syncOperation.owningPackage,
- UserHandle.getUserId(syncOperation.owningUid));
- }
+ final UsageStatsManagerInternal usmi =
+ LocalServices.getService(UsageStatsManagerInternal.class);
+ if (usmi != null) {
+ usmi.reportSyncScheduled(syncOperation.owningPackage,
+ UserHandle.getUserId(syncOperation.owningUid),
+ syncOperation.isAppStandbyExempted());
}
getJobScheduler().scheduleAsPackage(b.build(), syncOperation.owningPackage,
diff --git a/services/core/java/com/android/server/display/AutomaticBrightnessController.java b/services/core/java/com/android/server/display/AutomaticBrightnessController.java
index d57431e..1f28a6c 100644
--- a/services/core/java/com/android/server/display/AutomaticBrightnessController.java
+++ b/services/core/java/com/android/server/display/AutomaticBrightnessController.java
@@ -288,6 +288,10 @@
return mScreenAutoBrightness;
}
+ public boolean hasValidAmbientLux() {
+ return mAmbientLuxValid;
+ }
+
public float getAutomaticScreenBrightnessAdjustment() {
return mBrightnessMapper.getAutoBrightnessAdjustment();
}
@@ -648,9 +652,9 @@
mLightSensorWarmUpTimeConfig + mLightSensorEnableTime;
if (time < timeWhenSensorWarmedUp) {
if (mLoggingEnabled) {
- Slog.d(TAG, "updateAmbientLux: Sensor not ready yet: " +
- "time=" + time + ", " +
- "timeWhenSensorWarmedUp=" + timeWhenSensorWarmedUp);
+ Slog.d(TAG, "updateAmbientLux: Sensor not ready yet: "
+ + "time=" + time + ", "
+ + "timeWhenSensorWarmedUp=" + timeWhenSensorWarmedUp);
}
mHandler.sendEmptyMessageAtTime(MSG_UPDATE_AMBIENT_LUX,
timeWhenSensorWarmedUp);
diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java
index 15c7ef7..74cda9d 100644
--- a/services/core/java/com/android/server/display/DisplayPowerController.java
+++ b/services/core/java/com/android/server/display/DisplayPowerController.java
@@ -874,7 +874,7 @@
// If the brightness is already set then it's been overridden by something other than the
// user, or is a temporary adjustment.
- final boolean userInitiatedChange = brightness < 0
+ boolean userInitiatedChange = brightness < 0
&& (autoBrightnessAdjustmentChanged || userSetBrightnessChanged);
boolean hadUserBrightnessPoint = false;
@@ -1010,6 +1010,12 @@
}
if (!brightnessIsTemporary) {
+ if (userInitiatedChange && (mAutomaticBrightnessController == null
+ || !mAutomaticBrightnessController.hasValidAmbientLux())) {
+ // If we don't have a valid lux reading we can't report a valid
+ // slider event so notify as if the system changed the brightness.
+ userInitiatedChange = false;
+ }
notifyBrightnessChanged(brightness, userInitiatedChange, hadUserBrightnessPoint);
}
diff --git a/services/core/java/com/android/server/location/GnssLocationProvider.java b/services/core/java/com/android/server/location/GnssLocationProvider.java
index 5156300..ae91503 100644
--- a/services/core/java/com/android/server/location/GnssLocationProvider.java
+++ b/services/core/java/com/android/server/location/GnssLocationProvider.java
@@ -687,7 +687,7 @@
}
}
- private void handleRequestLocation(boolean independentFromGnss) {
+ private void handleRequestLocation(boolean independentFromGnss, boolean isUserEmergency) {
if (isRequestLocationRateLimited()) {
if (DEBUG) {
Log.d(TAG, "RequestLocation is denied due to too frequent requests.");
@@ -723,9 +723,17 @@
String.format(
"GNSS HAL Requesting location updates from %s provider for %d millis.",
provider, durationMillis));
+
+ LocationRequest locationRequest = LocationRequest.createFromDeprecatedProvider(provider,
+ LOCATION_UPDATE_MIN_TIME_INTERVAL_MILLIS, /* minDistance= */ 0,
+ /* singleShot= */ false);
+
+ // Ignore location settings if in emergency mode.
+ if (isUserEmergency && mNIHandler.getInEmergency()) {
+ locationRequest.setLocationSettingsIgnored(true);
+ }
try {
- locationManager.requestLocationUpdates(provider,
- LOCATION_UPDATE_MIN_TIME_INTERVAL_MILLIS, /*minDistance=*/ 0,
+ locationManager.requestLocationUpdates(locationRequest,
locationListener, mHandler.getLooper());
locationListener.mNumLocationUpdateRequest++;
mHandler.postDelayed(() -> {
@@ -1828,11 +1836,13 @@
}
@NativeEntryPoint
- private void requestLocation(boolean independentFromGnss) {
+ private void requestLocation(boolean independentFromGnss, boolean isUserEmergency) {
if (DEBUG) {
- Log.d(TAG, "requestLocation. independentFromGnss: " + independentFromGnss);
+ Log.d(TAG, "requestLocation. independentFromGnss: " + independentFromGnss
+ + ", isUserEmergency: "
+ + isUserEmergency);
}
- sendMessage(REQUEST_LOCATION, 0, independentFromGnss);
+ sendMessage(REQUEST_LOCATION, independentFromGnss ? 1 : 0, isUserEmergency);
}
@NativeEntryPoint
@@ -1923,7 +1933,7 @@
mNtpTimeHelper.retrieveAndInjectNtpTime();
break;
case REQUEST_LOCATION:
- handleRequestLocation((boolean) msg.obj);
+ handleRequestLocation(msg.arg1 == 1, (boolean) msg.obj);
break;
case DOWNLOAD_XTRA_DATA:
handleDownloadXtraData();
diff --git a/services/core/java/com/android/server/net/NetworkStatsService.java b/services/core/java/com/android/server/net/NetworkStatsService.java
index bffd60b..205ddb0 100644
--- a/services/core/java/com/android/server/net/NetworkStatsService.java
+++ b/services/core/java/com/android/server/net/NetworkStatsService.java
@@ -82,7 +82,6 @@
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.net.DataUsageRequest;
-import android.net.IConnectivityManager;
import android.net.INetworkManagementEventObserver;
import android.net.INetworkStatsService;
import android.net.INetworkStatsSession;
@@ -196,8 +195,6 @@
private final boolean mUseBpfTrafficStats;
- private IConnectivityManager mConnManager;
-
@VisibleForTesting
public static final String ACTION_NETWORK_STATS_POLL =
"com.android.server.action.NETWORK_STATS_POLL";
@@ -259,6 +256,7 @@
private final ArrayMap<String, NetworkIdentitySet> mActiveUidIfaces = new ArrayMap<>();
/** Current default active iface. */
+ @GuardedBy("mStatsLock")
private String mActiveIface;
/** Set of any ifaces associated with mobile networks since boot. */
@@ -269,6 +267,10 @@
@GuardedBy("mStatsLock")
private Network[] mDefaultNetworks = new Network[0];
+ /** Set containing info about active VPNs and their underlying networks. */
+ @GuardedBy("mStatsLock")
+ private VpnInfo[] mVpnInfos = new VpnInfo[0];
+
private final DropBoxNonMonotonicObserver mNonMonotonicObserver =
new DropBoxNonMonotonicObserver();
@@ -382,10 +384,6 @@
mHandlerCallback = callback;
}
- public void bindConnectivityManager(IConnectivityManager connManager) {
- mConnManager = checkNotNull(connManager, "missing IConnectivityManager");
- }
-
public void systemReady() {
mSystemReady = true;
@@ -864,13 +862,17 @@
}
@Override
- public void forceUpdateIfaces(Network[] defaultNetworks) {
+ public void forceUpdateIfaces(
+ Network[] defaultNetworks,
+ VpnInfo[] vpnArray,
+ NetworkState[] networkStates,
+ String activeIface) {
mContext.enforceCallingOrSelfPermission(READ_NETWORK_USAGE_HISTORY, TAG);
assertBandwidthControlEnabled();
final long token = Binder.clearCallingIdentity();
try {
- updateIfaces(defaultNetworks);
+ updateIfaces(defaultNetworks, vpnArray, networkStates, activeIface);
} finally {
Binder.restoreCallingIdentity(token);
}
@@ -1134,11 +1136,17 @@
}
};
- private void updateIfaces(Network[] defaultNetworks) {
+ private void updateIfaces(
+ Network[] defaultNetworks,
+ VpnInfo[] vpnArray,
+ NetworkState[] networkStates,
+ String activeIface) {
synchronized (mStatsLock) {
mWakeLock.acquire();
try {
- updateIfacesLocked(defaultNetworks);
+ mVpnInfos = vpnArray;
+ mActiveIface = activeIface;
+ updateIfacesLocked(defaultNetworks, networkStates);
} finally {
mWakeLock.release();
}
@@ -1152,7 +1160,7 @@
* {@link NetworkIdentitySet}.
*/
@GuardedBy("mStatsLock")
- private void updateIfacesLocked(Network[] defaultNetworks) {
+ private void updateIfacesLocked(Network[] defaultNetworks, NetworkState[] states) {
if (!mSystemReady) return;
if (LOGV) Slog.v(TAG, "updateIfacesLocked()");
@@ -1164,18 +1172,6 @@
// will be persisted during next alarm poll event.
performPollLocked(FLAG_PERSIST_NETWORK);
- final NetworkState[] states;
- final LinkProperties activeLink;
- try {
- states = mConnManager.getAllNetworkState();
- activeLink = mConnManager.getActiveLinkProperties();
- } catch (RemoteException e) {
- // ignored; service lives in system_server
- return;
- }
-
- mActiveIface = activeLink != null ? activeLink.getInterfaceName() : null;
-
// Rebuild active interfaces based on connected networks
mActiveIfaces.clear();
mActiveUidIfaces.clear();
@@ -1287,7 +1283,7 @@
Trace.traceEnd(TRACE_TAG_NETWORK);
// For per-UID stats, pass the VPN info so VPN traffic is reattributed to responsible apps.
- VpnInfo[] vpnArray = mConnManager.getAllVpnInfo();
+ VpnInfo[] vpnArray = mVpnInfos;
Trace.traceBegin(TRACE_TAG_NETWORK, "recordUid");
mUidRecorder.recordSnapshotLocked(uidSnapshot, mActiveUidIfaces, vpnArray, currentTime);
Trace.traceEnd(TRACE_TAG_NETWORK);
diff --git a/services/core/java/com/android/server/os/BugreportManagerServiceImpl.java b/services/core/java/com/android/server/os/BugreportManagerServiceImpl.java
index f4454ae..85a3ba1 100644
--- a/services/core/java/com/android/server/os/BugreportManagerServiceImpl.java
+++ b/services/core/java/com/android/server/os/BugreportManagerServiceImpl.java
@@ -78,7 +78,12 @@
Preconditions.checkNotNull(bugreportFd);
Preconditions.checkNotNull(listener);
validateBugreportMode(bugreportMode);
- ensureIsPrimaryUser();
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ ensureIsPrimaryUser();
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
int callingUid = Binder.getCallingUid();
mAppOps.checkPackage(callingUid, callingPackage);
diff --git a/services/core/java/com/android/server/pm/PackageDexOptimizer.java b/services/core/java/com/android/server/pm/PackageDexOptimizer.java
index 580137d..4b46374 100644
--- a/services/core/java/com/android/server/pm/PackageDexOptimizer.java
+++ b/services/core/java/com/android/server/pm/PackageDexOptimizer.java
@@ -47,10 +47,12 @@
import android.content.pm.dex.DexMetadataHelper;
import android.os.FileUtils;
import android.os.PowerManager;
+import android.os.Process;
import android.os.SystemClock;
import android.os.SystemProperties;
import android.os.UserHandle;
import android.os.WorkSource;
+import android.os.storage.StorageManager;
import android.util.Log;
import android.util.Slog;
@@ -146,6 +148,51 @@
}
}
+ int performDexOpt(SharedLibraryInfo info, String[] instructionSets, DexoptOptions options) {
+ String classLoaderContext = DexoptUtils.getClassLoaderContext(info);
+ final String[] dexCodeInstructionSets = getDexCodeInstructionSets(instructionSets);
+ String compilerFilter = PackageManagerServiceCompilerMapping.getCompilerFilterForReason(
+ PackageManagerService.REASON_SHARED);
+ int result = DEX_OPT_SKIPPED;
+ for (String instructionSet : dexCodeInstructionSets) {
+ int dexoptNeeded = getDexoptNeeded(
+ info.getPath(), instructionSet, compilerFilter,
+ classLoaderContext, false /* newProfile */,
+ false /* downgrade */);
+ if (Math.abs(dexoptNeeded) == DexFile.NO_DEXOPT_NEEDED) {
+ continue;
+ }
+ // Special string recognized by installd.
+ final String packageName = "*";
+ final String outputPath = null;
+ int dexFlags = DEXOPT_PUBLIC
+ | (options.isBootComplete() ? DEXOPT_BOOTCOMPLETE : 0)
+ | (options.isDexoptIdleBackgroundJob() ? DEXOPT_IDLE_BACKGROUND_JOB : 0);
+ dexFlags = adjustDexoptFlags(dexFlags);
+ final String uuid = StorageManager.UUID_SYSTEM;
+ final String seInfo = null;
+ final int targetSdkVersion = 0; // Builtin libraries targets the system's SDK version
+ try {
+ mInstaller.dexopt(info.getPath(), Process.SYSTEM_UID, packageName,
+ instructionSet, dexoptNeeded, outputPath, dexFlags, compilerFilter,
+ uuid, classLoaderContext, seInfo, false /* downgrade */,
+ targetSdkVersion, /*profileName*/ null, /*dexMetadataPath*/ null,
+ getReasonName(options.getCompilationReason()));
+ // The end result is:
+ // - FAILED if any path failed,
+ // - PERFORMED if at least one path needed compilation,
+ // - SKIPPED when all paths are up to date
+ if (result != DEX_OPT_FAILED) {
+ result = DEX_OPT_PERFORMED;
+ }
+ } catch (InstallerException e) {
+ Slog.w(TAG, "Failed to dexopt", e);
+ result = DEX_OPT_FAILED;
+ }
+ }
+ return result;
+ }
+
/**
* Performs dexopt on all code paths of the given package.
* It assumes the install lock is held.
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index b3b7f25..15a00d5 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -1935,7 +1935,7 @@
final PackageSetting pkgSetting = mSettings.mPackages.get(packageName);
if (pkgSetting.getInstallReason(userId)
!= PackageManager.INSTALL_REASON_DEVICE_RESTORE) {
- setDefaultBrowserPackageName(null, userId);
+ setDefaultBrowserAsyncLPw(null, userId);
}
}
@@ -9404,18 +9404,27 @@
// at boot, or background job), the passed 'targetCompilerFilter' stays the same,
// and the first package that uses the library will dexopt it. The
// others will see that the compiled code for the library is up to date.
- Collection<PackageParser.Package> deps = findSharedNonSystemLibraries(p);
+ Collection<SharedLibraryInfo> deps = findSharedLibraries(p);
final String[] instructionSets = getAppDexInstructionSets(p.applicationInfo);
if (!deps.isEmpty()) {
DexoptOptions libraryOptions = new DexoptOptions(options.getPackageName(),
options.getCompilationReason(), options.getCompilerFilter(),
options.getSplitName(),
options.getFlags() | DexoptOptions.DEXOPT_AS_SHARED_LIBRARY);
- for (PackageParser.Package depPackage : deps) {
- // TODO: Analyze and investigate if we (should) profile libraries.
- pdo.performDexOpt(depPackage, instructionSets,
- getOrCreateCompilerPackageStats(depPackage),
- mDexManager.getPackageUseInfoOrDefault(depPackage.packageName), libraryOptions);
+ for (SharedLibraryInfo info : deps) {
+ PackageParser.Package depPackage = null;
+ synchronized (mPackages) {
+ depPackage = mPackages.get(info.getPackageName());
+ }
+ if (depPackage != null) {
+ // TODO: Analyze and investigate if we (should) profile libraries.
+ pdo.performDexOpt(depPackage, instructionSets,
+ getOrCreateCompilerPackageStats(depPackage),
+ mDexManager.getPackageUseInfoOrDefault(depPackage.packageName),
+ libraryOptions);
+ } else {
+ pdo.performDexOpt(info, instructionSets, libraryOptions);
+ }
}
}
return pdo.performDexOpt(p, instructionSets,
@@ -9461,63 +9470,48 @@
}
}
- List<PackageParser.Package> findSharedNonSystemLibraries(PackageParser.Package p) {
- if (p.usesLibraries != null || p.usesOptionalLibraries != null
- || p.usesStaticLibraries != null) {
- ArrayList<PackageParser.Package> retValue = new ArrayList<>();
+ private static List<SharedLibraryInfo> findSharedLibraries(PackageParser.Package p) {
+ if (p.usesLibraryInfos != null) {
+ ArrayList<SharedLibraryInfo> retValue = new ArrayList<>();
Set<String> collectedNames = new HashSet<>();
- findSharedNonSystemLibrariesRecursive(p, retValue, collectedNames);
-
- retValue.remove(p);
-
+ for (SharedLibraryInfo info : p.usesLibraryInfos) {
+ findSharedLibrariesRecursive(info, retValue, collectedNames);
+ }
return retValue;
} else {
return Collections.emptyList();
}
}
- private void findSharedNonSystemLibrariesRecursive(PackageParser.Package p,
- ArrayList<PackageParser.Package> collected, Set<String> collectedNames) {
- if (!collectedNames.contains(p.packageName)) {
- collectedNames.add(p.packageName);
- collected.add(p);
+ private static void findSharedLibrariesRecursive(SharedLibraryInfo info,
+ ArrayList<SharedLibraryInfo> collected, Set<String> collectedNames) {
+ if (!collectedNames.contains(info.getName())) {
+ collectedNames.add(info.getName());
+ collected.add(info);
- if (p.usesLibraries != null) {
- findSharedNonSystemLibrariesRecursive(p.usesLibraries,
- null, collected, collectedNames);
- }
- if (p.usesOptionalLibraries != null) {
- findSharedNonSystemLibrariesRecursive(p.usesOptionalLibraries,
- null, collected, collectedNames);
- }
- if (p.usesStaticLibraries != null) {
- findSharedNonSystemLibrariesRecursive(p.usesStaticLibraries,
- p.usesStaticLibrariesVersions, collected, collectedNames);
+ if (info.getDependencies() != null) {
+ for (SharedLibraryInfo dep : info.getDependencies()) {
+ findSharedLibrariesRecursive(dep, collected, collectedNames);
+ }
}
}
}
- private void findSharedNonSystemLibrariesRecursive(ArrayList<String> libs, long[] versions,
- ArrayList<PackageParser.Package> collected, Set<String> collectedNames) {
- final int libNameCount = libs.size();
- for (int i = 0; i < libNameCount; i++) {
- String libName = libs.get(i);
- long version = (versions != null && versions.length == libNameCount)
- ? versions[i] : PackageManager.VERSION_CODE_HIGHEST;
- PackageParser.Package libPkg = findSharedNonSystemLibrary(libName, version);
- if (libPkg != null) {
- findSharedNonSystemLibrariesRecursive(libPkg, collected, collectedNames);
+ List<PackageParser.Package> findSharedNonSystemLibraries(PackageParser.Package pkg) {
+ List<SharedLibraryInfo> deps = findSharedLibraries(pkg);
+ if (!deps.isEmpty()) {
+ ArrayList<PackageParser.Package> retValue = new ArrayList<>();
+ synchronized (mPackages) {
+ for (SharedLibraryInfo info : deps) {
+ PackageParser.Package depPackage = mPackages.get(info.getPackageName());
+ if (depPackage != null) {
+ retValue.add(depPackage);
+ }
+ }
}
- }
- }
-
- private PackageParser.Package findSharedNonSystemLibrary(String name, long version) {
- synchronized (mPackages) {
- SharedLibraryInfo libraryInfo = getSharedLibraryInfoLPr(name, version);
- if (libraryInfo != null) {
- return mPackages.get(libraryInfo.getPackageName());
- }
- return null;
+ return retValue;
+ } else {
+ return Collections.emptyList();
}
}
@@ -13687,6 +13681,23 @@
return true;
}
+ private void setDefaultBrowserAsyncLPw(@Nullable String packageName, @UserIdInt int userId) {
+ if (userId == UserHandle.USER_ALL) {
+ return;
+ }
+ if (mDefaultBrowserProvider == null) {
+ Slog.e(TAG, "mDefaultBrowserProvider is null");
+ return;
+ }
+ mDefaultBrowserProvider.setDefaultBrowserAsync(packageName, userId);
+ if (packageName != null) {
+ synchronized (mPackages) {
+ mDefaultPermissionPolicy.grantDefaultPermissionsToDefaultBrowser(packageName,
+ userId);
+ }
+ }
+ }
+
@Override
public String getDefaultBrowserPackageName(int userId) {
if (UserHandle.getCallingUserId() != userId) {
diff --git a/services/core/java/com/android/server/pm/dex/DexoptUtils.java b/services/core/java/com/android/server/pm/dex/DexoptUtils.java
index 91ad11e..5a473c1 100644
--- a/services/core/java/com/android/server/pm/dex/DexoptUtils.java
+++ b/services/core/java/com/android/server/pm/dex/DexoptUtils.java
@@ -174,6 +174,18 @@
}
/**
+ * Creates the class loader context for the given shared library.
+ */
+ public static String getClassLoaderContext(SharedLibraryInfo info) {
+ String sharedLibrariesContext = "";
+ if (info.getDependencies() != null) {
+ sharedLibrariesContext = encodeSharedLibraries(info.getDependencies());
+ }
+ return encodeClassLoader(
+ "", SHARED_LIBRARY_LOADER_TYPE, sharedLibrariesContext);
+ }
+
+ /**
* Recursive method to generate the class loader context dependencies for the split with the
* given index. {@param classLoaderContexts} acts as an accumulator. Upton return
* {@code classLoaderContexts[index]} will contain the split dependency.
diff --git a/services/core/java/com/android/server/power/AttentionDetector.java b/services/core/java/com/android/server/power/AttentionDetector.java
index 8740256..406cbc1 100644
--- a/services/core/java/com/android/server/power/AttentionDetector.java
+++ b/services/core/java/com/android/server/power/AttentionDetector.java
@@ -19,9 +19,13 @@
import android.attention.AttentionManagerInternal;
import android.attention.AttentionManagerInternal.AttentionCallbackInternal;
import android.content.Context;
+import android.database.ContentObserver;
+import android.os.Handler;
import android.os.PowerManager;
import android.os.PowerManagerInternal;
import android.os.SystemClock;
+import android.os.UserHandle;
+import android.provider.Settings;
import android.service.attention.AttentionService;
import android.util.Slog;
import android.util.StatsLog;
@@ -44,6 +48,8 @@
private static final String TAG = "AttentionDetector";
private static final boolean DEBUG = false;
+ private boolean mIsSettingEnabled;
+
/**
* Invoked whenever user attention is detected.
*/
@@ -128,15 +134,35 @@
mWakefulness = PowerManagerInternal.WAKEFULNESS_AWAKE;
}
+ @VisibleForTesting
+ void updateEnabledFromSettings(Context context) {
+ mIsSettingEnabled = Settings.System.getIntForUser(context.getContentResolver(),
+ Settings.System.ADAPTIVE_SLEEP, 0, UserHandle.USER_CURRENT) == 1;
+ }
+
public void systemReady(Context context) {
+ updateEnabledFromSettings(context);
mAttentionManager = LocalServices.getService(AttentionManagerInternal.class);
mMaximumExtensionMillis = context.getResources().getInteger(
com.android.internal.R.integer.config_attentionMaximumExtension);
mMaxAttentionApiTimeoutMillis = context.getResources().getInteger(
com.android.internal.R.integer.config_attentionApiTimeout);
+
+ context.getContentResolver().registerContentObserver(Settings.System.getUriFor(
+ Settings.System.ADAPTIVE_SLEEP),
+ false, new ContentObserver(new Handler()) {
+ @Override
+ public void onChange(boolean selfChange) {
+ updateEnabledFromSettings(context);
+ }
+ }, UserHandle.USER_ALL);
}
public long updateUserActivity(long nextScreenDimming) {
+ if (!mIsSettingEnabled) {
+ return nextScreenDimming;
+ }
+
if (!isAttentionServiceSupported()) {
return nextScreenDimming;
}
@@ -182,7 +208,7 @@
* the activity happened.
*
* @param eventTime Activity time, in uptime millis.
- * @param event Activity type as defined in {@link PowerManager}.
+ * @param event Activity type as defined in {@link PowerManager}.
* @return 0 when activity was ignored, 1 when handled, -1 when invalid.
*/
public int onUserActivity(long eventTime, int event) {
diff --git a/services/core/java/com/android/server/power/PowerManagerService.java b/services/core/java/com/android/server/power/PowerManagerService.java
index 89d24b1..bb23bc0 100644
--- a/services/core/java/com/android/server/power/PowerManagerService.java
+++ b/services/core/java/com/android/server/power/PowerManagerService.java
@@ -715,6 +715,15 @@
NativeWrapper createNativeWrapper() {
return new NativeWrapper();
}
+
+ WirelessChargerDetector createWirelessChargerDetector(
+ SensorManager sensorManager, SuspendBlocker suspendBlocker, Handler handler) {
+ return new WirelessChargerDetector(sensorManager, suspendBlocker, handler);
+ }
+
+ AmbientDisplayConfiguration createAmbientDisplayConfiguration(Context context) {
+ return new AmbientDisplayConfiguration(context);
+ }
}
final Constants mConstants;
@@ -747,7 +756,7 @@
mHandlerThread.start();
mHandler = new PowerManagerHandler(mHandlerThread.getLooper());
mConstants = new Constants(mHandler);
- mAmbientDisplayConfiguration = new AmbientDisplayConfiguration(mContext);
+ mAmbientDisplayConfiguration = mInjector.createAmbientDisplayConfiguration(context);
mAttentionDetector = new AttentionDetector(this::onUserAttention, mLock);
mBatterySavingStats = new BatterySavingStats(mLock);
@@ -833,7 +842,7 @@
mInjector.createSuspendBlocker(this, "PowerManagerService.Broadcasts"),
mPolicy);
- mWirelessChargerDetector = new WirelessChargerDetector(sensorManager,
+ mWirelessChargerDetector = mInjector.createWirelessChargerDetector(sensorManager,
mInjector.createSuspendBlocker(
this, "PowerManagerService.WirelessChargerDetector"),
mHandler);
@@ -932,7 +941,8 @@
mContext.registerReceiver(new DockReceiver(), filter, null, mHandler);
}
- private void readConfigurationLocked() {
+ @VisibleForTesting
+ void readConfigurationLocked() {
final Resources resources = mContext.getResources();
mDecoupleHalAutoSuspendModeFromDisplayConfig = resources.getBoolean(
@@ -3865,7 +3875,8 @@
return workSource != null ? new WorkSource(workSource) : null;
}
- private final class BatteryReceiver extends BroadcastReceiver {
+ @VisibleForTesting
+ final class BatteryReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
synchronized (mLock) {
@@ -3883,7 +3894,8 @@
}
}
- private final class UserSwitchedReceiver extends BroadcastReceiver {
+ @VisibleForTesting
+ final class UserSwitchedReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
synchronized (mLock) {
diff --git a/services/core/java/com/android/server/power/WirelessChargerDetector.java b/services/core/java/com/android/server/power/WirelessChargerDetector.java
index 18e5ce4..e8e9c67 100644
--- a/services/core/java/com/android/server/power/WirelessChargerDetector.java
+++ b/services/core/java/com/android/server/power/WirelessChargerDetector.java
@@ -28,6 +28,8 @@
import android.util.TimeUtils;
import android.util.proto.ProtoOutputStream;
+import com.android.internal.annotations.VisibleForTesting;
+
import java.io.PrintWriter;
/**
@@ -70,7 +72,8 @@
* sensor to detect this case.
* </p>
*/
-final class WirelessChargerDetector {
+@VisibleForTesting
+public class WirelessChargerDetector {
private static final String TAG = "WirelessChargerDetector";
private static final boolean DEBUG = false;
diff --git a/services/core/java/com/android/server/role/RoleManagerService.java b/services/core/java/com/android/server/role/RoleManagerService.java
index 17d3066..f533ad1 100644
--- a/services/core/java/com/android/server/role/RoleManagerService.java
+++ b/services/core/java/com/android/server/role/RoleManagerService.java
@@ -743,6 +743,25 @@
return false;
}
}
+
+ @Override
+ public void setDefaultBrowserAsync(@Nullable String packageName, @UserIdInt int userId) {
+ IRoleManagerCallback callback = new IRoleManagerCallback.Stub() {
+ @Override
+ public void onSuccess() {}
+ @Override
+ public void onFailure() {
+ Slog.e(LOG_TAG, "Failed to set default browser: " + packageName);
+ }
+ };
+ if (packageName != null) {
+ getOrCreateControllerService(userId).onAddRoleHolder(RoleManager.ROLE_BROWSER,
+ packageName, 0, callback);
+ } else {
+ getOrCreateControllerService(userId).onClearRoleHolders(RoleManager.ROLE_BROWSER, 0,
+ callback);
+ }
+ }
}
private class DefaultHomeProvider implements PackageManagerInternal.DefaultHomeProvider {
diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java
index e976975..f70adef 100644
--- a/services/core/java/com/android/server/wm/ActivityRecord.java
+++ b/services/core/java/com/android/server/wm/ActivityRecord.java
@@ -289,10 +289,11 @@
private int windowFlags; // custom window flags for preview window.
private TaskRecord task; // the task this is in.
private long createTime = System.currentTimeMillis();
- long lastVisibleTime; // last time this activity became visible
- long cpuTimeAtResume; // the cpu time of host process at the time of resuming activity
- long pauseTime; // last time we started pausing the activity
- long launchTickTime; // base time for launch tick messages
+ long lastVisibleTime; // last time this activity became visible
+ long cpuTimeAtResume; // the cpu time of host process at the time of resuming activity
+ long pauseTime; // last time we started pausing the activity
+ long launchTickTime; // base time for launch tick messages
+ long topResumedStateLossTime; // last time we reported top resumed state loss to an activity
// Last configuration reported to the activity in the client process.
private MergedConfiguration mLastReportedConfiguration;
private int mLastReportedDisplayId;
@@ -694,14 +695,14 @@
void scheduleTopResumedActivityChanged(boolean onTop) {
if (!attachedToProcess()) {
- if (DEBUG_CONFIGURATION) {
+ if (DEBUG_STATES) {
Slog.w(TAG, "Can't report activity position update - client not running"
+ ", activityRecord=" + this);
}
return;
}
try {
- if (DEBUG_CONFIGURATION) {
+ if (DEBUG_STATES) {
Slog.v(TAG, "Sending position change to " + this + ", onTop: " + onTop);
}
@@ -3285,7 +3286,7 @@
transaction.addCallback(callbackItem);
transaction.setLifecycleStateRequest(lifecycleItem);
mAtmService.getLifecycleManager().scheduleTransaction(transaction);
- mRootActivityContainer.updateTopResumedActivityIfNeeded();
+ mStackSupervisor.updateTopResumedActivityIfNeeded();
// Note: don't need to call pauseIfSleepingLocked() here, because the caller will only
// request resume if this activity is currently resumed, which implies we aren't
// sleeping.
diff --git a/services/core/java/com/android/server/wm/ActivityStack.java b/services/core/java/com/android/server/wm/ActivityStack.java
index a4457e2..ea2aff2 100644
--- a/services/core/java/com/android/server/wm/ActivityStack.java
+++ b/services/core/java/com/android/server/wm/ActivityStack.java
@@ -1491,6 +1491,7 @@
+ " callers=" + Debug.getCallers(5));
r.setState(RESUMED, "minimalResumeActivityLocked");
r.completeResumeLocked();
+ mStackSupervisor.updateTopResumedActivityIfNeeded();
if (DEBUG_SAVED_STATE) Slog.i(TAG_SAVED_STATE,
"Launch completed; removing icicle of " + r.icicle);
}
@@ -2575,7 +2576,7 @@
// Protect against recursion.
mInResumeTopActivity = true;
result = resumeTopActivityInnerLocked(prev, options);
- mRootActivityContainer.updateTopResumedActivityIfNeeded();
+ mStackSupervisor.updateTopResumedActivityIfNeeded();
// When resuming the top activity, it may be necessary to pause the top activity (for
// example, returning to the lock screen. We suppress the normal pause logic in
diff --git a/services/core/java/com/android/server/wm/ActivityStackSupervisor.java b/services/core/java/com/android/server/wm/ActivityStackSupervisor.java
index 7ae48a5..758a765 100644
--- a/services/core/java/com/android/server/wm/ActivityStackSupervisor.java
+++ b/services/core/java/com/android/server/wm/ActivityStackSupervisor.java
@@ -170,6 +170,9 @@
// How long we can hold the launch wake lock before giving up.
static final int LAUNCH_TIMEOUT = 10 * 1000;
+ /** How long we wait until giving up on the activity telling us it released the top state. */
+ static final int TOP_RESUMED_STATE_LOSS_TIMEOUT = 500;
+
static final int IDLE_TIMEOUT_MSG = FIRST_SUPERVISOR_STACK_MSG;
static final int IDLE_NOW_MSG = FIRST_SUPERVISOR_STACK_MSG + 1;
static final int RESUME_TOP_ACTIVITY_MSG = FIRST_SUPERVISOR_STACK_MSG + 2;
@@ -179,6 +182,7 @@
static final int REPORT_MULTI_WINDOW_MODE_CHANGED_MSG = FIRST_SUPERVISOR_STACK_MSG + 14;
static final int REPORT_PIP_MODE_CHANGED_MSG = FIRST_SUPERVISOR_STACK_MSG + 15;
static final int REPORT_HOME_CHANGED_MSG = FIRST_SUPERVISOR_STACK_MSG + 16;
+ static final int TOP_RESUMED_STATE_LOSS_TIMEOUT_MSG = FIRST_SUPERVISOR_STACK_MSG + 17;
// Used to indicate that windows of activities should be preserved during the resize.
static final boolean PRESERVE_WINDOWS = true;
@@ -300,6 +304,18 @@
*/
final ArrayList<ActivityRecord> mNoAnimActivities = new ArrayList<>();
+ /**
+ * Cached value of the topmost resumed activity in the system. Updated when new activity is
+ * resumed.
+ */
+ private ActivityRecord mTopResumedActivity;
+
+ /**
+ * Flag indicating whether we're currently waiting for the previous top activity to handle the
+ * loss of the state and report back before making new activity top resumed.
+ */
+ private boolean mTopResumedActivityWaitingForPrev;
+
/** The target stack bounds for the picture-in-picture mode changed that we need to report to
* the application */
Rect mPipModeChangedTargetStackBounds;
@@ -844,7 +860,7 @@
// Schedule transaction.
mService.getLifecycleManager().scheduleTransaction(clientTransaction);
- mRootActivityContainer.updateTopResumedActivityIfNeeded();
+ updateTopResumedActivityIfNeeded();
if ((proc.mInfo.privateFlags & ApplicationInfo.PRIVATE_FLAG_CANT_SAVE_STATE) != 0
&& mService.mHasHeavyWeightFeature) {
@@ -2296,6 +2312,73 @@
mHandler.sendEmptyMessage(IDLE_NOW_MSG);
}
+ /**
+ * Updates the record of top resumed activity when it changes and handles reporting of the
+ * state changes to previous and new top activities. It will immediately dispatch top resumed
+ * state loss message to previous top activity (if haven't done it already). After the previous
+ * activity releases the top state and reports back, message about acquiring top state will be
+ * sent to the new top resumed activity.
+ */
+ void updateTopResumedActivityIfNeeded() {
+ final ActivityRecord prevTopActivity = mTopResumedActivity;
+ final ActivityStack topStack = mRootActivityContainer.getTopDisplayFocusedStack();
+ if (topStack == null || topStack.mResumedActivity == prevTopActivity) {
+ return;
+ }
+
+ // Ask previous activity to release the top state.
+ final boolean prevActivityReceivedTopState =
+ prevTopActivity != null && !mTopResumedActivityWaitingForPrev;
+ // mTopResumedActivityWaitingForPrev == true at this point would mean that an activity
+ // before the prevTopActivity one hasn't reported back yet. So server never sent the top
+ // resumed state change message to prevTopActivity.
+ if (prevActivityReceivedTopState) {
+ prevTopActivity.scheduleTopResumedActivityChanged(false /* onTop */);
+ scheduleTopResumedStateLossTimeout(prevTopActivity);
+ mTopResumedActivityWaitingForPrev = true;
+ }
+
+ // Update the current top activity.
+ mTopResumedActivity = topStack.mResumedActivity;
+ scheduleTopResumedActivityStateIfNeeded();
+ }
+
+ /** Schedule top resumed state change if previous top activity already reported back. */
+ private void scheduleTopResumedActivityStateIfNeeded() {
+ if (mTopResumedActivity != null && !mTopResumedActivityWaitingForPrev) {
+ mTopResumedActivity.scheduleTopResumedActivityChanged(true /* onTop */);
+ }
+ }
+
+ /**
+ * Limit the time given to the app to report handling of the state loss.
+ */
+ private void scheduleTopResumedStateLossTimeout(ActivityRecord r) {
+ final Message msg = mHandler.obtainMessage(TOP_RESUMED_STATE_LOSS_TIMEOUT_MSG);
+ msg.obj = r;
+ r.topResumedStateLossTime = SystemClock.uptimeMillis();
+ mHandler.sendMessageDelayed(msg, TOP_RESUMED_STATE_LOSS_TIMEOUT);
+ if (DEBUG_STATES) Slog.v(TAG_STATES, "Waiting for top state to be released by " + r);
+ }
+
+ /**
+ * Handle a loss of top resumed state by an activity - update internal state and inform next top
+ * activity if needed.
+ */
+ void handleTopResumedStateReleased(boolean timeout) {
+ if (DEBUG_STATES) {
+ Slog.v(TAG_STATES, "Top resumed state released "
+ + (timeout ? " (due to timeout)" : " (transition complete)"));
+ }
+ mHandler.removeMessages(TOP_RESUMED_STATE_LOSS_TIMEOUT_MSG);
+ if (!mTopResumedActivityWaitingForPrev) {
+ // Top resumed activity state loss already handled.
+ return;
+ }
+ mTopResumedActivityWaitingForPrev = false;
+ scheduleTopResumedActivityStateIfNeeded();
+ }
+
void removeTimeoutsForActivityLocked(ActivityRecord r) {
if (DEBUG_IDLE) Slog.d(TAG_IDLE, "removeTimeoutsForActivity: Callers="
+ Debug.getCallers(4));
@@ -2590,8 +2673,18 @@
// Start home activities on displays with no activities.
mRootActivityContainer.startHomeOnEmptyDisplays("homeChanged");
}
- }
- break;
+ } break;
+ case TOP_RESUMED_STATE_LOSS_TIMEOUT_MSG: {
+ ActivityRecord r = (ActivityRecord) msg.obj;
+ Slog.w(TAG, "Activity top resumed state loss timeout for " + r);
+ synchronized (mService.mGlobalLock) {
+ if (r.hasProcess()) {
+ mService.logAppTooSlow(r.app, r.topResumedStateLossTime,
+ "top state loss for " + r);
+ }
+ }
+ handleTopResumedStateReleased(true /* timeout */);
+ } break;
}
}
}
diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
index 486a4ea..d747198 100644
--- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
+++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
@@ -1634,6 +1634,15 @@
}
@Override
+ public final void activityTopResumedStateLost() {
+ final long origId = Binder.clearCallingIdentity();
+ synchronized (mGlobalLock) {
+ mStackSupervisor.handleTopResumedStateReleased(false /* timeout */);
+ }
+ Binder.restoreCallingIdentity(origId);
+ }
+
+ @Override
public final void activityPaused(IBinder token) {
final long origId = Binder.clearCallingIdentity();
synchronized (mGlobalLock) {
diff --git a/services/core/java/com/android/server/wm/AppWindowThumbnail.java b/services/core/java/com/android/server/wm/AppWindowThumbnail.java
index 5519729..bbbf11d 100644
--- a/services/core/java/com/android/server/wm/AppWindowThumbnail.java
+++ b/services/core/java/com/android/server/wm/AppWindowThumbnail.java
@@ -118,7 +118,8 @@
anim.scaleCurrentDuration(mAppToken.mWmService.getTransitionAnimationScaleLocked());
mSurfaceAnimator.startAnimation(t, new LocalAnimationAdapter(
new WindowAnimationSpec(anim, position,
- mAppToken.getDisplayContent().mAppTransition.canSkipFirstFrame()),
+ mAppToken.getDisplayContent().mAppTransition.canSkipFirstFrame(),
+ mAppToken.mWmService.mWindowCornerRadius),
mAppToken.mWmService.mSurfaceAnimationRunner), false /* hidden */);
}
diff --git a/services/core/java/com/android/server/wm/AppWindowToken.java b/services/core/java/com/android/server/wm/AppWindowToken.java
index 05c4c27..78199d44 100644
--- a/services/core/java/com/android/server/wm/AppWindowToken.java
+++ b/services/core/java/com/android/server/wm/AppWindowToken.java
@@ -582,6 +582,8 @@
}
}
}
+ // Changes in opening apps and closing apps may cause orientation change.
+ reportDescendantOrientationChangeIfNeeded();
return;
}
@@ -729,11 +731,31 @@
}
SurfaceControl.closeTransaction();
}
+
+ // Visibility changes may cause orientation request change.
+ reportDescendantOrientationChangeIfNeeded();
}
return delayed;
}
+ private void reportDescendantOrientationChangeIfNeeded() {
+ // Orientation request is exposed only when we're visible. Therefore visibility change
+ // will change requested orientation. Notify upward the hierarchy ladder to adjust
+ // configuration. This is important to cases where activities with incompatible
+ // orientations launch, or user goes back from an activity of bi-orientation to an
+ // activity with specified orientation.
+ if (mActivityRecord.getRequestedConfigurationOrientation() == getConfiguration().orientation
+ || getOrientationIgnoreVisibility() == SCREEN_ORIENTATION_UNSET) {
+ return;
+ }
+
+ final IBinder freezeToken =
+ mActivityRecord.mayFreezeScreenLocked(mActivityRecord.app)
+ ? mActivityRecord.appToken : null;
+ onDescendantOrientationChanged(freezeToken, mActivityRecord);
+ }
+
/**
* @return The to top most child window for which {@link LayoutParams#isFullscreen()} returns
* true.
@@ -2526,7 +2548,8 @@
new WindowAnimationSpec(a, mTmpPoint, mTmpRect,
getDisplayContent().mAppTransition.canSkipFirstFrame(),
appStackClipMode,
- true /* isAppAnimation */),
+ true /* isAppAnimation */,
+ mWmService.mWindowCornerRadius),
mWmService.mSurfaceAnimationRunner);
if (a.getZAdjustment() == Animation.ZORDER_TOP) {
mNeedsZBoost = true;
diff --git a/services/core/java/com/android/server/wm/RootActivityContainer.java b/services/core/java/com/android/server/wm/RootActivityContainer.java
index 6988357..e3beb19 100644
--- a/services/core/java/com/android/server/wm/RootActivityContainer.java
+++ b/services/core/java/com/android/server/wm/RootActivityContainer.java
@@ -175,12 +175,6 @@
private ActivityDisplay mDefaultDisplay;
private final SparseArray<IntArray> mDisplayAccessUIDs = new SparseArray<>();
- /**
- * Cached value of the topmost resumed activity in the system. Updated when new activity is
- * resumed.
- */
- private ActivityRecord mTopResumedActivity;
-
/** The current user */
int mCurrentUser;
/** Stack id of the front stack when user switched, indexed by userId. */
@@ -1155,23 +1149,6 @@
return result;
}
- void updateTopResumedActivityIfNeeded() {
- final ActivityRecord prevTopActivity = mTopResumedActivity;
- final ActivityStack topStack = getTopDisplayFocusedStack();
- if (topStack == null || topStack.mResumedActivity == prevTopActivity) {
- return;
- }
- // Clear previous top state
- if (prevTopActivity != null) {
- prevTopActivity.scheduleTopResumedActivityChanged(false /* onTop */);
- }
- // Update the current top activity
- mTopResumedActivity = topStack.mResumedActivity;
- if (mTopResumedActivity != null) {
- mTopResumedActivity.scheduleTopResumedActivityChanged(true /* onTop */);
- }
- }
-
void applySleepTokens(boolean applyToStacks) {
for (int displayNdx = mActivityDisplays.size() - 1; displayNdx >= 0; --displayNdx) {
// Set the sleeping state of the display.
@@ -1434,7 +1411,7 @@
mActivityDisplays.remove(display);
mActivityDisplays.add(position, display);
}
- updateTopResumedActivityIfNeeded();
+ mStackSupervisor.updateTopResumedActivityIfNeeded();
}
@VisibleForTesting
diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java
index 888d741..499cbaf 100644
--- a/services/core/java/com/android/server/wm/Task.java
+++ b/services/core/java/com/android/server/wm/Task.java
@@ -330,7 +330,7 @@
// No one in higher hierarchy handles this request, let's adjust our bounds to fulfill
// it if possible.
// TODO: Move to TaskRecord after unification is done.
- if (mTaskRecord != null) {
+ if (mTaskRecord != null && mTaskRecord.getParent() != null) {
mTaskRecord.onConfigurationChanged(mTaskRecord.getParent().getConfiguration());
return true;
}
diff --git a/services/core/java/com/android/server/wm/WindowAnimationSpec.java b/services/core/java/com/android/server/wm/WindowAnimationSpec.java
index 98c77ac..57311e1 100644
--- a/services/core/java/com/android/server/wm/WindowAnimationSpec.java
+++ b/services/core/java/com/android/server/wm/WindowAnimationSpec.java
@@ -17,10 +17,10 @@
package com.android.server.wm;
import static com.android.server.wm.AnimationAdapter.STATUS_BAR_TRANSITION_DURATION;
-import static com.android.server.wm.WindowStateAnimator.STACK_CLIP_AFTER_ANIM;
-import static com.android.server.wm.WindowStateAnimator.STACK_CLIP_NONE;
import static com.android.server.wm.AnimationSpecProto.WINDOW;
import static com.android.server.wm.WindowAnimationSpecProto.ANIMATION;
+import static com.android.server.wm.WindowStateAnimator.STACK_CLIP_AFTER_ANIM;
+import static com.android.server.wm.WindowStateAnimator.STACK_CLIP_NONE;
import android.graphics.Point;
import android.graphics.Rect;
@@ -51,18 +51,22 @@
private final Rect mStackBounds = new Rect();
private int mStackClipMode;
private final Rect mTmpRect = new Rect();
+ private final float mWindowCornerRadius;
- public WindowAnimationSpec(Animation animation, Point position, boolean canSkipFirstFrame) {
+ public WindowAnimationSpec(Animation animation, Point position, boolean canSkipFirstFrame,
+ float windowCornerRadius) {
this(animation, position, null /* stackBounds */, canSkipFirstFrame, STACK_CLIP_NONE,
- false /* isAppAnimation */);
+ false /* isAppAnimation */, windowCornerRadius);
}
public WindowAnimationSpec(Animation animation, Point position, Rect stackBounds,
- boolean canSkipFirstFrame, int stackClipMode, boolean isAppAnimation) {
+ boolean canSkipFirstFrame, int stackClipMode, boolean isAppAnimation,
+ float windowCornerRadius) {
mAnimation = animation;
if (position != null) {
mPosition.set(position.x, position.y);
}
+ mWindowCornerRadius = windowCornerRadius;
mCanSkipFirstFrame = canSkipFirstFrame;
mIsAppAnimation = isAppAnimation;
mStackClipMode = stackClipMode;
@@ -101,6 +105,9 @@
mTmpRect.intersect(tmp.transformation.getClipRect());
t.setWindowCrop(leash, mTmpRect);
}
+ if (mAnimation.hasRoundedCorners() && mWindowCornerRadius > 0) {
+ t.setCornerRadius(leash, mWindowCornerRadius);
+ }
}
@Override
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index 474a9da..1bd1795 100644
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -145,6 +145,7 @@
import android.hardware.display.DisplayManager;
import android.hardware.display.DisplayManagerInternal;
import android.hardware.input.InputManager;
+import android.hardware.input.InputManagerInternal;
import android.net.Uri;
import android.os.Binder;
import android.os.Build;
@@ -234,6 +235,7 @@
import com.android.internal.os.IResultReceiver;
import com.android.internal.policy.IKeyguardDismissCallback;
import com.android.internal.policy.IShortcutService;
+import com.android.internal.policy.ScreenDecorationsUtils;
import com.android.internal.util.DumpUtils;
import com.android.internal.util.FastPrintWriter;
import com.android.internal.util.LatencyTracker;
@@ -753,24 +755,27 @@
final DisplayManager mDisplayManager;
final ActivityTaskManagerService mAtmService;
- // Indicates whether this device supports wide color gamut / HDR rendering
+ /** Corner radius that windows should have in order to match the display. */
+ final float mWindowCornerRadius;
+
+ /** Indicates whether this device supports wide color gamut / HDR rendering */
private boolean mHasWideColorGamutSupport;
private boolean mHasHdrSupport;
- // Who is holding the screen on.
+ /** Who is holding the screen on. */
private Session mHoldingScreenOn;
private PowerManager.WakeLock mHoldingScreenWakeLock;
- // Whether or not a layout can cause a wake up when theater mode is enabled.
+ /** Whether or not a layout can cause a wake up when theater mode is enabled. */
boolean mAllowTheaterModeWakeFromLayout;
final TaskPositioningController mTaskPositioningController;
final DragDropController mDragDropController;
- // For frozen screen animations.
+ /** For frozen screen animations. */
private int mExitAnimId, mEnterAnimId;
- // The display that the rotation animation is applying to.
+ /** The display that the rotation animation is applying to. */
private int mFrozenDisplayId;
/** Skip repeated AppWindowTokens initialization. Note that AppWindowsToken's version of this
@@ -977,7 +982,7 @@
mInputManager = inputManager; // Must be before createDisplayContentLocked.
mDisplayManagerInternal = LocalServices.getService(DisplayManagerInternal.class);
mDisplayWindowSettings = new DisplayWindowSettings(this);
-
+ mWindowCornerRadius = ScreenDecorationsUtils.getWindowCornerRadius(context.getResources());
mTransactionFactory = transactionFactory;
mTransaction = mTransactionFactory.make();
@@ -7434,7 +7439,7 @@
new SurfaceControl.Transaction().syncInputWindows().apply(true);
- return mInputManager.injectInputEvent(ev, mode);
+ return LocalServices.getService(InputManagerInternal.class).injectInputEvent(ev, mode);
}
private void waitForAnimationsToComplete() {
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java
index a13086d..b7925f20 100644
--- a/services/core/java/com/android/server/wm/WindowState.java
+++ b/services/core/java/com/android/server/wm/WindowState.java
@@ -4458,7 +4458,8 @@
anim.restrictDuration(MAX_ANIMATION_DURATION);
anim.scaleCurrentDuration(mWmService.getWindowAnimationScaleLocked());
final AnimationAdapter adapter = new LocalAnimationAdapter(
- new WindowAnimationSpec(anim, mSurfacePosition, false /* canSkipFirstFrame */),
+ new WindowAnimationSpec(anim, mSurfacePosition, false /* canSkipFirstFrame */,
+ mWmService.mWindowCornerRadius),
mWmService.mSurfaceAnimationRunner);
startAnimation(mPendingTransaction, adapter);
commitPendingTransaction();
diff --git a/services/core/jni/com_android_server_location_GnssLocationProvider.cpp b/services/core/jni/com_android_server_location_GnssLocationProvider.cpp
index 03240c0..d39f20c 100644
--- a/services/core/jni/com_android_server_location_GnssLocationProvider.cpp
+++ b/services/core/jni/com_android_server_location_GnssLocationProvider.cpp
@@ -548,12 +548,15 @@
Return<void> gnssReleaseWakelockCb() override;
Return<void> gnssRequestTimeCb() override;
Return<void> gnssRequestLocationCb(const bool independentFromGnss) override;
+
Return<void> gnssSetSystemInfoCb(const IGnssCallback::GnssSystemInfo& info) override;
// New in 1.1
Return<void> gnssNameCb(const android::hardware::hidl_string& name) override;
// New in 2.0
+ Return<void> gnssRequestLocationCb_2_0(const bool independentFromGnss, const bool isUserEmergency)
+ override;
Return<void> gnssSetCapabilitiesCb_2_0(uint32_t capabilities) override;
Return<void> gnssLocationCb_2_0(const GnssLocation_V2_0& location) override;
@@ -713,8 +716,15 @@
}
Return<void> GnssCallback::gnssRequestLocationCb(const bool independentFromGnss) {
+ return GnssCallback::gnssRequestLocationCb_2_0(independentFromGnss, /* isUserEmergency= */
+ false);
+}
+
+Return<void> GnssCallback::gnssRequestLocationCb_2_0(const bool independentFromGnss, const bool
+ isUserEmergency) {
JNIEnv* env = getJniEnv();
- env->CallVoidMethod(mCallbacksObj, method_requestLocation, boolToJbool(independentFromGnss));
+ env->CallVoidMethod(mCallbacksObj, method_requestLocation, boolToJbool(independentFromGnss),
+ boolToJbool(isUserEmergency));
checkAndClearExceptionFromCallback(env, __FUNCTION__);
return Void();
}
@@ -1422,7 +1432,7 @@
method_xtraDownloadRequest = env->GetMethodID(clazz, "xtraDownloadRequest", "()V");
method_reportNiNotification = env->GetMethodID(clazz, "reportNiNotification",
"(IIIIILjava/lang/String;Ljava/lang/String;II)V");
- method_requestLocation = env->GetMethodID(clazz, "requestLocation", "(Z)V");
+ method_requestLocation = env->GetMethodID(clazz, "requestLocation", "(ZZ)V");
method_requestRefLocation = env->GetMethodID(clazz, "requestRefLocation", "()V");
method_requestSetID = env->GetMethodID(clazz, "requestSetID", "(I)V");
method_requestUtcTime = env->GetMethodID(clazz, "requestUtcTime", "()V");
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java
index 512a745..a19d5d5 100644
--- a/services/java/com/android/server/SystemServer.java
+++ b/services/java/com/android/server/SystemServer.java
@@ -1366,7 +1366,6 @@
ServiceManager.addService(Context.CONNECTIVITY_SERVICE, connectivity,
/* allowIsolated= */ false,
DUMP_FLAG_PRIORITY_HIGH | DUMP_FLAG_PRIORITY_NORMAL);
- networkStats.bindConnectivityManager(connectivity);
networkPolicy.bindConnectivityManager(connectivity);
} catch (Throwable e) {
reportWtf("starting Connectivity Service", e);
diff --git a/services/tests/mockingservicestests/src/com/android/server/am/AppCompactorTest.java b/services/tests/mockingservicestests/src/com/android/server/am/AppCompactorTest.java
index d32f1f7..e100d16 100644
--- a/services/tests/mockingservicestests/src/com/android/server/am/AppCompactorTest.java
+++ b/services/tests/mockingservicestests/src/com/android/server/am/AppCompactorTest.java
@@ -16,15 +16,6 @@
package com.android.server.am;
-import static android.provider.DeviceConfig.ActivityManager.KEY_COMPACT_ACTION_1;
-import static android.provider.DeviceConfig.ActivityManager.KEY_COMPACT_ACTION_2;
-import static android.provider.DeviceConfig.ActivityManager.KEY_COMPACT_STATSD_SAMPLE_RATE;
-import static android.provider.DeviceConfig.ActivityManager.KEY_COMPACT_THROTTLE_1;
-import static android.provider.DeviceConfig.ActivityManager.KEY_COMPACT_THROTTLE_2;
-import static android.provider.DeviceConfig.ActivityManager.KEY_COMPACT_THROTTLE_3;
-import static android.provider.DeviceConfig.ActivityManager.KEY_COMPACT_THROTTLE_4;
-import static android.provider.DeviceConfig.ActivityManager.KEY_USE_COMPACTION;
-
import static com.android.server.am.ActivityManagerService.Injector;
import static com.android.server.am.AppCompactor.compactActionIntToString;
@@ -117,28 +108,28 @@
// When the DeviceConfig already has a flag value stored (note this test will need to
// change if the default value changes from false).
assertThat(AppCompactor.DEFAULT_USE_COMPACTION).isFalse();
- DeviceConfig.setProperty(DeviceConfig.ActivityManager.NAMESPACE,
- KEY_USE_COMPACTION, "true", false);
- DeviceConfig.setProperty(DeviceConfig.ActivityManager.NAMESPACE,
- KEY_COMPACT_ACTION_1,
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ AppCompactor.KEY_USE_COMPACTION, "true", false);
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ AppCompactor.KEY_COMPACT_ACTION_1,
Integer.toString((AppCompactor.DEFAULT_COMPACT_ACTION_1 + 1 % 4) + 1), false);
- DeviceConfig.setProperty(DeviceConfig.ActivityManager.NAMESPACE,
- KEY_COMPACT_ACTION_2,
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ AppCompactor.KEY_COMPACT_ACTION_2,
Integer.toString((AppCompactor.DEFAULT_COMPACT_ACTION_2 + 1 % 4) + 1), false);
- DeviceConfig.setProperty(DeviceConfig.ActivityManager.NAMESPACE,
- KEY_COMPACT_THROTTLE_1,
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ AppCompactor.KEY_COMPACT_THROTTLE_1,
Long.toString(AppCompactor.DEFAULT_COMPACT_THROTTLE_1 + 1), false);
- DeviceConfig.setProperty(DeviceConfig.ActivityManager.NAMESPACE,
- KEY_COMPACT_THROTTLE_2,
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ AppCompactor.KEY_COMPACT_THROTTLE_2,
Long.toString(AppCompactor.DEFAULT_COMPACT_THROTTLE_2 + 1), false);
- DeviceConfig.setProperty(DeviceConfig.ActivityManager.NAMESPACE,
- KEY_COMPACT_THROTTLE_3,
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ AppCompactor.KEY_COMPACT_THROTTLE_3,
Long.toString(AppCompactor.DEFAULT_COMPACT_THROTTLE_3 + 1), false);
- DeviceConfig.setProperty(DeviceConfig.ActivityManager.NAMESPACE,
- KEY_COMPACT_THROTTLE_4,
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ AppCompactor.KEY_COMPACT_THROTTLE_4,
Long.toString(AppCompactor.DEFAULT_COMPACT_THROTTLE_4 + 1), false);
- DeviceConfig.setProperty(DeviceConfig.ActivityManager.NAMESPACE,
- KEY_COMPACT_STATSD_SAMPLE_RATE,
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ AppCompactor.KEY_COMPACT_STATSD_SAMPLE_RATE,
Float.toString(AppCompactor.DEFAULT_STATSD_SAMPLE_RATE + 0.1f), false);
// Then calling init will read and set that flag.
@@ -169,8 +160,8 @@
// When we call init and change some the flag value...
mCompactorUnderTest.init();
mCountDown = new CountDownLatch(1);
- DeviceConfig.setProperty(DeviceConfig.ActivityManager.NAMESPACE,
- KEY_USE_COMPACTION, "true", false);
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ AppCompactor.KEY_USE_COMPACTION, "true", false);
assertThat(mCountDown.await(5, TimeUnit.SECONDS)).isTrue();
// Then that new flag value is updated in the implementation.
@@ -179,8 +170,8 @@
// And again, setting the flag the other way.
mCountDown = new CountDownLatch(1);
- DeviceConfig.setProperty(DeviceConfig.ActivityManager.NAMESPACE,
- KEY_USE_COMPACTION, "false", false);
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ AppCompactor.KEY_USE_COMPACTION, "false", false);
assertThat(mCountDown.await(5, TimeUnit.SECONDS)).isTrue();
assertThat(mCompactorUnderTest.useCompaction()).isFalse();
}
@@ -193,8 +184,8 @@
// When we push an invalid flag value...
mCountDown = new CountDownLatch(1);
- DeviceConfig.setProperty(DeviceConfig.ActivityManager.NAMESPACE,
- KEY_USE_COMPACTION, "foobar", false);
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ AppCompactor.KEY_USE_COMPACTION, "foobar", false);
assertThat(mCountDown.await(5, TimeUnit.SECONDS)).isTrue();
// Then we set the default.
@@ -212,11 +203,11 @@
for (int i = 1; i < 5; i++) {
mCountDown = new CountDownLatch(2);
int expectedSome = (AppCompactor.DEFAULT_COMPACT_ACTION_1 + i) % 4 + 1;
- DeviceConfig.setProperty(DeviceConfig.ActivityManager.NAMESPACE,
- KEY_COMPACT_ACTION_1, Integer.toString(expectedSome), false);
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ AppCompactor.KEY_COMPACT_ACTION_1, Integer.toString(expectedSome), false);
int expectedFull = (AppCompactor.DEFAULT_COMPACT_ACTION_2 + i) % 4 + 1;
- DeviceConfig.setProperty(DeviceConfig.ActivityManager.NAMESPACE,
- KEY_COMPACT_ACTION_2, Integer.toString(expectedFull), false);
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ AppCompactor.KEY_COMPACT_ACTION_2, Integer.toString(expectedFull), false);
assertThat(mCountDown.await(5, TimeUnit.SECONDS)).isTrue();
// Then the updates are reflected in the flags.
@@ -233,10 +224,10 @@
// When we override new values for the compaction action with bad values ...
mCountDown = new CountDownLatch(2);
- DeviceConfig.setProperty(DeviceConfig.ActivityManager.NAMESPACE,
- KEY_COMPACT_ACTION_1, "foo", false);
- DeviceConfig.setProperty(DeviceConfig.ActivityManager.NAMESPACE,
- KEY_COMPACT_ACTION_2, "foo", false);
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ AppCompactor.KEY_COMPACT_ACTION_1, "foo", false);
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ AppCompactor.KEY_COMPACT_ACTION_2, "foo", false);
assertThat(mCountDown.await(5, TimeUnit.SECONDS)).isTrue();
// Then the default values are reflected in the flag
@@ -246,10 +237,10 @@
compactActionIntToString(AppCompactor.DEFAULT_COMPACT_ACTION_2));
mCountDown = new CountDownLatch(2);
- DeviceConfig.setProperty(DeviceConfig.ActivityManager.NAMESPACE,
- KEY_COMPACT_ACTION_1, "", false);
- DeviceConfig.setProperty(DeviceConfig.ActivityManager.NAMESPACE,
- KEY_COMPACT_ACTION_2, "", false);
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ AppCompactor.KEY_COMPACT_ACTION_1, "", false);
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ AppCompactor.KEY_COMPACT_ACTION_2, "", false);
assertThat(mCountDown.await(5, TimeUnit.SECONDS)).isTrue();
assertThat(mCompactorUnderTest.mCompactActionSome).isEqualTo(
@@ -264,17 +255,17 @@
// When we override new reasonable throttle values after init...
mCountDown = new CountDownLatch(4);
- DeviceConfig.setProperty(DeviceConfig.ActivityManager.NAMESPACE,
- KEY_COMPACT_THROTTLE_1,
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ AppCompactor.KEY_COMPACT_THROTTLE_1,
Long.toString(AppCompactor.DEFAULT_COMPACT_THROTTLE_1 + 1), false);
- DeviceConfig.setProperty(DeviceConfig.ActivityManager.NAMESPACE,
- KEY_COMPACT_THROTTLE_2,
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ AppCompactor.KEY_COMPACT_THROTTLE_2,
Long.toString(AppCompactor.DEFAULT_COMPACT_THROTTLE_2 + 1), false);
- DeviceConfig.setProperty(DeviceConfig.ActivityManager.NAMESPACE,
- KEY_COMPACT_THROTTLE_3,
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ AppCompactor.KEY_COMPACT_THROTTLE_3,
Long.toString(AppCompactor.DEFAULT_COMPACT_THROTTLE_3 + 1), false);
- DeviceConfig.setProperty(DeviceConfig.ActivityManager.NAMESPACE,
- KEY_COMPACT_THROTTLE_4,
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ AppCompactor.KEY_COMPACT_THROTTLE_4,
Long.toString(AppCompactor.DEFAULT_COMPACT_THROTTLE_4 + 1), false);
assertThat(mCountDown.await(5, TimeUnit.SECONDS)).isTrue();
@@ -296,8 +287,8 @@
// When one of the throttles is overridden with a bad value...
mCountDown = new CountDownLatch(1);
- DeviceConfig.setProperty(DeviceConfig.ActivityManager.NAMESPACE,
- KEY_COMPACT_THROTTLE_1, "foo", false);
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ AppCompactor.KEY_COMPACT_THROTTLE_1, "foo", false);
// Then all the throttles have the defaults set.
assertThat(mCountDown.await(5, TimeUnit.SECONDS)).isTrue();
assertThat(mCompactorUnderTest.mCompactThrottleSomeSome).isEqualTo(
@@ -311,8 +302,8 @@
// Repeat for each of the throttle keys.
mCountDown = new CountDownLatch(1);
- DeviceConfig.setProperty(DeviceConfig.ActivityManager.NAMESPACE,
- KEY_COMPACT_THROTTLE_2, "foo", false);
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ AppCompactor.KEY_COMPACT_THROTTLE_2, "foo", false);
assertThat(mCountDown.await(5, TimeUnit.SECONDS)).isTrue();
assertThat(mCompactorUnderTest.mCompactThrottleSomeSome).isEqualTo(
AppCompactor.DEFAULT_COMPACT_THROTTLE_1);
@@ -324,8 +315,8 @@
AppCompactor.DEFAULT_COMPACT_THROTTLE_4);
mCountDown = new CountDownLatch(1);
- DeviceConfig.setProperty(DeviceConfig.ActivityManager.NAMESPACE,
- KEY_COMPACT_THROTTLE_3, "foo", false);
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ AppCompactor.KEY_COMPACT_THROTTLE_3, "foo", false);
assertThat(mCountDown.await(5, TimeUnit.SECONDS)).isTrue();
assertThat(mCompactorUnderTest.mCompactThrottleSomeSome).isEqualTo(
AppCompactor.DEFAULT_COMPACT_THROTTLE_1);
@@ -337,8 +328,8 @@
AppCompactor.DEFAULT_COMPACT_THROTTLE_4);
mCountDown = new CountDownLatch(1);
- DeviceConfig.setProperty(DeviceConfig.ActivityManager.NAMESPACE,
- KEY_COMPACT_THROTTLE_4, "foo", false);
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ AppCompactor.KEY_COMPACT_THROTTLE_4, "foo", false);
assertThat(mCountDown.await(5, TimeUnit.SECONDS)).isTrue();
assertThat(mCompactorUnderTest.mCompactThrottleSomeSome).isEqualTo(
AppCompactor.DEFAULT_COMPACT_THROTTLE_1);
@@ -356,8 +347,8 @@
// When we override mStatsdSampleRate with a reasonable values ...
mCountDown = new CountDownLatch(1);
- DeviceConfig.setProperty(DeviceConfig.ActivityManager.NAMESPACE,
- KEY_COMPACT_STATSD_SAMPLE_RATE,
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ AppCompactor.KEY_COMPACT_STATSD_SAMPLE_RATE,
Float.toString(AppCompactor.DEFAULT_STATSD_SAMPLE_RATE + 0.1f), false);
assertThat(mCountDown.await(5, TimeUnit.SECONDS)).isTrue();
@@ -373,8 +364,8 @@
// When we override mStatsdSampleRate with a reasonable values ...
mCountDown = new CountDownLatch(1);
- DeviceConfig.setProperty(DeviceConfig.ActivityManager.NAMESPACE,
- KEY_COMPACT_STATSD_SAMPLE_RATE, "foo", false);
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ AppCompactor.KEY_COMPACT_STATSD_SAMPLE_RATE, "foo", false);
assertThat(mCountDown.await(5, TimeUnit.SECONDS)).isTrue();
// Then that override is reflected in the compactor.
@@ -389,8 +380,8 @@
// When we override mStatsdSampleRate with an value outside of [0..1]...
mCountDown = new CountDownLatch(1);
- DeviceConfig.setProperty(DeviceConfig.ActivityManager.NAMESPACE,
- KEY_COMPACT_STATSD_SAMPLE_RATE,
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ AppCompactor.KEY_COMPACT_STATSD_SAMPLE_RATE,
Float.toString(-1.0f), false);
assertThat(mCountDown.await(5, TimeUnit.SECONDS)).isTrue();
@@ -398,8 +389,8 @@
assertThat(mCompactorUnderTest.mStatsdSampleRate).isEqualTo(0.0f);
mCountDown = new CountDownLatch(1);
- DeviceConfig.setProperty(DeviceConfig.ActivityManager.NAMESPACE,
- KEY_COMPACT_STATSD_SAMPLE_RATE,
+ DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
+ AppCompactor.KEY_COMPACT_STATSD_SAMPLE_RATE,
Float.toString(1.01f), false);
assertThat(mCountDown.await(5, TimeUnit.SECONDS)).isTrue();
diff --git a/services/tests/servicestests/src/com/android/server/pm/dex/DexoptUtilsTest.java b/services/tests/servicestests/src/com/android/server/pm/dex/DexoptUtilsTest.java
index d9faaa4..3a55c22 100644
--- a/services/tests/servicestests/src/com/android/server/pm/dex/DexoptUtilsTest.java
+++ b/services/tests/servicestests/src/com/android/server/pm/dex/DexoptUtilsTest.java
@@ -333,6 +333,20 @@
}
@Test
+ public void testSharedLibraryContext() {
+ SharedLibraryInfo sharedLibrary =
+ createMockSharedLibrary(new String[] {"a.dex", "b.dex"}).get(0);
+ String context = DexoptUtils.getClassLoaderContext(sharedLibrary);
+ assertEquals("PCL[]", context);
+
+ SharedLibraryInfo otherSharedLibrary =
+ createMockSharedLibrary(new String[] {"c.dex"}).get(0);
+ otherSharedLibrary.addDependency(sharedLibrary);
+ context = DexoptUtils.getClassLoaderContext(otherSharedLibrary);
+ assertEquals("PCL[]{PCL[a.dex:b.dex]}", context);
+ }
+
+ @Test
public void testProcessContextForDexLoad() {
List<String> classLoaders = Arrays.asList(
DELEGATE_LAST_CLASS_LOADER_NAME,
diff --git a/services/tests/servicestests/src/com/android/server/power/AttentionDetectorTest.java b/services/tests/servicestests/src/com/android/server/power/AttentionDetectorTest.java
index 6a937fa..a2f1f01 100644
--- a/services/tests/servicestests/src/com/android/server/power/AttentionDetectorTest.java
+++ b/services/tests/servicestests/src/com/android/server/power/AttentionDetectorTest.java
@@ -32,10 +32,13 @@
import android.os.PowerManager;
import android.os.PowerManagerInternal;
import android.os.SystemClock;
+import android.os.UserHandle;
+import android.provider.Settings;
import android.service.attention.AttentionService;
import android.test.AndroidTestCase;
import android.test.suitebuilder.annotation.SmallTest;
+import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mock;
@@ -49,6 +52,7 @@
private TestableAttentionDetector mAttentionDetector;
private long mAttentionTimeout;
private long mNextDimming;
+ private int mIsSettingEnabled;
@Before
public void setUp() {
@@ -59,6 +63,20 @@
mAttentionDetector.onWakefulnessChangeStarted(PowerManagerInternal.WAKEFULNESS_AWAKE);
mAttentionDetector.setAttentionServiceSupported(true);
mNextDimming = SystemClock.uptimeMillis() + 3000L;
+
+ // Save the existing state.
+ mIsSettingEnabled = Settings.System.getIntForUser(getContext().getContentResolver(),
+ Settings.System.ADAPTIVE_SLEEP, 0, UserHandle.USER_CURRENT);
+
+ Settings.System.putIntForUser(getContext().getContentResolver(),
+ Settings.System.ADAPTIVE_SLEEP, 1, UserHandle.USER_CURRENT);
+ mAttentionDetector.updateEnabledFromSettings(getContext());
+ }
+
+ @After
+ public void tearDown() {
+ Settings.System.putIntForUser(getContext().getContentResolver(),
+ Settings.System.ADAPTIVE_SLEEP, mIsSettingEnabled, UserHandle.USER_CURRENT);
}
@Test
@@ -69,6 +87,16 @@
}
@Test
+ public void testOnUserActivity_doesntCheckIfNotEnabled() {
+ Settings.System.putIntForUser(getContext().getContentResolver(),
+ Settings.System.ADAPTIVE_SLEEP, 0, UserHandle.USER_CURRENT);
+ mAttentionDetector.updateEnabledFromSettings(getContext());
+ long when = registerAttention();
+ verify(mAttentionManagerInternal, never()).checkAttention(anyInt(), anyLong(), any());
+ assertThat(mNextDimming).isEqualTo(when);
+ }
+
+ @Test
public void testOnUserActivity_doesntCheckIfNotSupported() {
mAttentionDetector.setAttentionServiceSupported(false);
long when = registerAttention();
diff --git a/services/tests/servicestests/src/com/android/server/power/PowerManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/power/PowerManagerServiceTest.java
index 911c4a2..1bda412 100644
--- a/services/tests/servicestests/src/com/android/server/power/PowerManagerServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/power/PowerManagerServiceTest.java
@@ -18,44 +18,67 @@
import static android.os.PowerManagerInternal.WAKEFULNESS_ASLEEP;
import static android.os.PowerManagerInternal.WAKEFULNESS_AWAKE;
+import static android.os.PowerManagerInternal.WAKEFULNESS_DOZING;
+import static android.os.PowerManagerInternal.WAKEFULNESS_DREAMING;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.argThat;
import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.isA;
+import static org.mockito.ArgumentMatchers.isNull;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.app.ActivityManagerInternal;
import android.attention.AttentionManagerInternal;
import android.content.Context;
+import android.content.ContextWrapper;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.content.res.Resources;
+import android.hardware.SensorManager;
+import android.hardware.display.AmbientDisplayConfiguration;
import android.hardware.display.DisplayManagerInternal;
import android.hardware.display.DisplayManagerInternal.DisplayPowerRequest;
+import android.os.BatteryManager;
import android.os.BatteryManagerInternal;
import android.os.Binder;
+import android.os.Handler;
+import android.os.IBinder;
import android.os.Looper;
import android.os.PowerManager;
import android.os.PowerSaveState;
import android.os.SystemClock;
import android.os.SystemProperties;
-import android.test.AndroidTestCase;
-import android.test.suitebuilder.annotation.MediumTest;
-import android.test.suitebuilder.annotation.SmallTest;
+import android.os.UserHandle;
+import android.provider.Settings;
+
+import androidx.test.InstrumentationRegistry;
import com.android.internal.app.IBatteryStats;
import com.android.server.LocalServices;
import com.android.server.SystemService;
import com.android.server.lights.LightsManager;
import com.android.server.policy.WindowManagerPolicy;
+import com.android.server.power.PowerManagerService.BatteryReceiver;
import com.android.server.power.PowerManagerService.Injector;
import com.android.server.power.PowerManagerService.NativeWrapper;
+import com.android.server.power.PowerManagerService.UserSwitchedReceiver;
import com.android.server.power.batterysaver.BatterySaverPolicy;
import com.android.server.power.batterysaver.BatterySavingStats;
-import org.junit.Rule;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.mockito.ArgumentCaptor;
+import org.mockito.ArgumentMatcher;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
@@ -65,29 +88,54 @@
/**
* Tests for {@link com.android.server.power.PowerManagerService}
*/
-public class PowerManagerServiceTest extends AndroidTestCase {
+public class PowerManagerServiceTest {
private static final float PRECISION = 0.001f;
private static final float BRIGHTNESS_FACTOR = 0.7f;
private static final boolean BATTERY_SAVER_ENABLED = true;
private static final String TEST_LAST_REBOOT_PROPERTY = "test.sys.boot.reason";
- private @Mock BatterySaverPolicy mBatterySaverPolicyMock;
- private @Mock LightsManager mLightsManagerMock;
- private @Mock DisplayManagerInternal mDisplayManagerInternalMock;
- private @Mock BatteryManagerInternal mBatteryManagerInternalMock;
- private @Mock ActivityManagerInternal mActivityManagerInternalMock;
- private @Mock AttentionManagerInternal mAttentionManagerInternalMock;
- private @Mock PowerManagerService.NativeWrapper mNativeWrapperMock;
- private @Mock Notifier mNotifierMock;
+ @Mock private BatterySaverPolicy mBatterySaverPolicyMock;
+ @Mock private LightsManager mLightsManagerMock;
+ @Mock private DisplayManagerInternal mDisplayManagerInternalMock;
+ @Mock private BatteryManagerInternal mBatteryManagerInternalMock;
+ @Mock private ActivityManagerInternal mActivityManagerInternalMock;
+ @Mock private AttentionManagerInternal mAttentionManagerInternalMock;
+ @Mock private PowerManagerService.NativeWrapper mNativeWrapperMock;
+ @Mock private Notifier mNotifierMock;
+ @Mock private WirelessChargerDetector mWirelessChargerDetectorMock;
+ @Mock private AmbientDisplayConfiguration mAmbientDisplayConfigurationMock;
+
private PowerManagerService mService;
private PowerSaveState mPowerSaveState;
private DisplayPowerRequest mDisplayPowerRequest;
+ private ContextWrapper mContextSpy;
+ private BatteryReceiver mBatteryReceiver;
+ private UserSwitchedReceiver mUserSwitchedReceiver;
+ private Resources mResourcesSpy;
+ private class IntentFilterMatcher implements ArgumentMatcher<IntentFilter> {
+ private final IntentFilter mFilter;
+ IntentFilterMatcher(IntentFilter filter) {
+ mFilter = filter;
+ }
- @Rule
+ @Override
+ public boolean matches(IntentFilter other) {
+ if (other.countActions() != mFilter.countActions()) {
+ return false;
+ }
+ for (int i = 0; i < mFilter.countActions(); i++) {
+ if (!mFilter.getAction(i).equals(other.getAction(i))) {
+ return false;
+ }
+ }
+ return true;
+ }
+ }
+
+ @Before
public void setUp() throws Exception {
- super.setUp();
MockitoAnnotations.initMocks(this);
mPowerSaveState = new PowerSaveState.Builder()
@@ -105,33 +153,54 @@
addLocalServiceMock(ActivityManagerInternal.class, mActivityManagerInternalMock);
addLocalServiceMock(AttentionManagerInternal.class, mAttentionManagerInternalMock);
- mService = new PowerManagerService(getContext(), new Injector() {
+ mContextSpy = spy(new ContextWrapper(InstrumentationRegistry.getContext()));
+ mResourcesSpy = spy(mContextSpy.getResources());
+ when(mContextSpy.getResources()).thenReturn(mResourcesSpy);
+
+ mService = new PowerManagerService(mContextSpy, new Injector() {
+ @Override
Notifier createNotifier(Looper looper, Context context, IBatteryStats batteryStats,
SuspendBlocker suspendBlocker, WindowManagerPolicy policy) {
return mNotifierMock;
}
+ @Override
SuspendBlocker createSuspendBlocker(PowerManagerService service, String name) {
return mock(SuspendBlocker.class);
}
+ @Override
BatterySaverPolicy createBatterySaverPolicy(
Object lock, Context context, BatterySavingStats batterySavingStats) {
return mBatterySaverPolicyMock;
}
+ @Override
NativeWrapper createNativeWrapper() {
return mNativeWrapperMock;
}
+
+ @Override
+ WirelessChargerDetector createWirelessChargerDetector(
+ SensorManager sensorManager, SuspendBlocker suspendBlocker, Handler handler) {
+ return mWirelessChargerDetectorMock;
+ }
+
+ @Override
+ AmbientDisplayConfiguration createAmbientDisplayConfiguration(Context context) {
+ return mAmbientDisplayConfigurationMock;
+ }
});
}
- @Override
+ @After
public void tearDown() throws Exception {
LocalServices.removeServiceForTest(LightsManager.class);
LocalServices.removeServiceForTest(DisplayManagerInternal.class);
LocalServices.removeServiceForTest(BatteryManagerInternal.class);
LocalServices.removeServiceForTest(ActivityManagerInternal.class);
+ Settings.Global.putInt(
+ mContextSpy.getContentResolver(), Settings.Global.THEATER_MODE_ON, 0);
}
/**
@@ -142,7 +211,56 @@
LocalServices.addService(clazz, mock);
}
- @SmallTest
+ private void startSystem() throws Exception {
+ mService.systemReady(null);
+
+ // Grab the BatteryReceiver
+ ArgumentCaptor<BatteryReceiver> batCaptor = ArgumentCaptor.forClass(BatteryReceiver.class);
+ IntentFilter batFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
+ batFilter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
+ verify(mContextSpy).registerReceiver(batCaptor.capture(),
+ argThat(new IntentFilterMatcher(batFilter)), isNull(), isA(Handler.class));
+ mBatteryReceiver = batCaptor.getValue();
+
+ // Grab the UserSwitchedReceiver
+ ArgumentCaptor<UserSwitchedReceiver> userSwitchedCaptor =
+ ArgumentCaptor.forClass(UserSwitchedReceiver.class);
+ IntentFilter usFilter = new IntentFilter(Intent.ACTION_USER_SWITCHED);
+ verify(mContextSpy).registerReceiver(userSwitchedCaptor.capture(),
+ argThat(new IntentFilterMatcher(usFilter)), isNull(), isA(Handler.class));
+ mUserSwitchedReceiver = userSwitchedCaptor.getValue();
+
+ mService.onBootPhase(SystemService.PHASE_BOOT_COMPLETED);
+ }
+
+ private void forceSleep() {
+ mService.getBinderServiceInstance().goToSleep(SystemClock.uptimeMillis(),
+ PowerManager.GO_TO_SLEEP_REASON_APPLICATION, PowerManager.GO_TO_SLEEP_FLAG_NO_DOZE);
+ }
+
+ private void forceDream() {
+ mService.getBinderServiceInstance().nap(SystemClock.uptimeMillis());
+ }
+
+ private void forceAwake() {
+ mService.getBinderServiceInstance().wakeUp(SystemClock.uptimeMillis(),
+ PowerManager.WAKE_REASON_UNKNOWN, "testing IPowerManager.wakeUp()", "pkg.name");
+ }
+
+ private void forceDozing() {
+ mService.getBinderServiceInstance().goToSleep(SystemClock.uptimeMillis(),
+ PowerManager.GO_TO_SLEEP_REASON_APPLICATION, 0);
+ }
+
+ private void setPluggedIn(boolean isPluggedIn) {
+ // Set the callback to return the new state
+ when(mBatteryManagerInternalMock.isPowered(BatteryManager.BATTERY_PLUGGED_ANY))
+ .thenReturn(isPluggedIn);
+ // Trigger PowerManager to reread the plug-in state
+ mBatteryReceiver.onReceive(mContextSpy, new Intent(Intent.ACTION_BATTERY_CHANGED));
+ }
+
+ @Test
public void testUpdatePowerScreenPolicy_UpdateDisplayPowerRequest() {
mService.updatePowerRequestFromBatterySaverPolicy(mDisplayPowerRequest);
assertThat(mDisplayPowerRequest.lowPowerMode).isEqualTo(BATTERY_SAVER_ENABLED);
@@ -150,7 +268,7 @@
.isWithin(PRECISION).of(BRIGHTNESS_FACTOR);
}
- @SmallTest
+ @Test
public void testGetLastShutdownReasonInternal() {
SystemProperties.set(TEST_LAST_REBOOT_PROPERTY, "shutdown,thermal");
int reason = mService.getLastShutdownReasonInternal(TEST_LAST_REBOOT_PROPERTY);
@@ -158,7 +276,7 @@
assertThat(reason).isEqualTo(PowerManager.SHUTDOWN_REASON_THERMAL_SHUTDOWN);
}
- @SmallTest
+ @Test
public void testGetDesiredScreenPolicy_WithVR() throws Exception {
// Brighten up the screen
mService.setWakefulnessLocked(WAKEFULNESS_AWAKE, PowerManager.WAKE_REASON_UNKNOWN, 0);
@@ -187,42 +305,171 @@
DisplayPowerRequest.POLICY_BRIGHT);
}
- @SmallTest
+ @Test
public void testWakefulnessAwake_InitialValue() throws Exception {
assertThat(mService.getWakefulness()).isEqualTo(WAKEFULNESS_AWAKE);
}
- @SmallTest
+ @Test
public void testWakefulnessSleep_NoDozeSleepFlag() throws Exception {
// Start with AWAKE state
+ startSystem();
assertThat(mService.getWakefulness()).isEqualTo(WAKEFULNESS_AWAKE);
- mService.systemReady(null);
- mService.onBootPhase(SystemService.PHASE_BOOT_COMPLETED);
-
- // Take a nap with a flag.
+ // Take a nap and verify.
mService.getBinderServiceInstance().goToSleep(SystemClock.uptimeMillis(),
- PowerManager.GO_TO_SLEEP_REASON_APPLICATION, PowerManager.GO_TO_SLEEP_FLAG_NO_DOZE);
-
+ PowerManager.GO_TO_SLEEP_REASON_APPLICATION, PowerManager.GO_TO_SLEEP_FLAG_NO_DOZE);
assertThat(mService.getWakefulness()).isEqualTo(WAKEFULNESS_ASLEEP);
}
- @MediumTest
+ @Test
+ public void testWakefulnessAwake_AcquireCausesWakeup() throws Exception {
+ startSystem();
+ forceSleep();
+
+ IBinder token = new Binder();
+ String tag = "acq_causes_wakeup";
+ String packageName = "pkg.name";
+
+ // First, ensure that a normal full wake lock does not cause a wakeup
+ int flags = PowerManager.FULL_WAKE_LOCK;
+ mService.getBinderServiceInstance().acquireWakeLock(token, flags, tag, packageName,
+ null /* workSource */, null /* historyTag */);
+ assertThat(mService.getWakefulness()).isEqualTo(WAKEFULNESS_ASLEEP);
+ mService.getBinderServiceInstance().releaseWakeLock(token, 0 /* flags */);
+
+ // Ensure that the flag does *NOT* work with a partial wake lock.
+ flags = PowerManager.PARTIAL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP;
+ mService.getBinderServiceInstance().acquireWakeLock(token, flags, tag, packageName,
+ null /* workSource */, null /* historyTag */);
+ assertThat(mService.getWakefulness()).isEqualTo(WAKEFULNESS_ASLEEP);
+ mService.getBinderServiceInstance().releaseWakeLock(token, 0 /* flags */);
+
+ // Verify that flag forces a wakeup when paired to a FULL_WAKE_LOCK
+ flags = PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP;
+ mService.getBinderServiceInstance().acquireWakeLock(token, flags, tag, packageName,
+ null /* workSource */, null /* historyTag */);
+ assertThat(mService.getWakefulness()).isEqualTo(WAKEFULNESS_AWAKE);
+ mService.getBinderServiceInstance().releaseWakeLock(token, 0 /* flags */);
+ }
+
+ @Test
+ public void testWakefulnessAwake_IPowerManagerWakeUp() throws Exception {
+ startSystem();
+ forceSleep();
+ mService.getBinderServiceInstance().wakeUp(SystemClock.uptimeMillis(),
+ PowerManager.WAKE_REASON_UNKNOWN, "testing IPowerManager.wakeUp()", "pkg.name");
+ assertThat(mService.getWakefulness()).isEqualTo(WAKEFULNESS_AWAKE);
+ }
+
+ /**
+ * Tests a series of variants that control whether a device wakes-up when it is plugged in
+ * or docked.
+ */
+ @Test
+ public void testWakefulnessAwake_ShouldWakeUpWhenPluggedIn() throws Exception {
+ boolean powerState;
+ startSystem();
+ forceSleep();
+
+ // Test 1:
+ // Set config to prevent it wake up, test, verify, reset config value.
+ when(mResourcesSpy.getBoolean(com.android.internal.R.bool.config_unplugTurnsOnScreen))
+ .thenReturn(false);
+ mService.readConfigurationLocked();
+ setPluggedIn(true);
+ assertThat(mService.getWakefulness()).isEqualTo(WAKEFULNESS_ASLEEP);
+ when(mResourcesSpy.getBoolean(com.android.internal.R.bool.config_unplugTurnsOnScreen))
+ .thenReturn(true);
+ mService.readConfigurationLocked();
+
+ // Test 2:
+ // Turn the power off, sleep, then plug into a wireless charger.
+ // Verify that we do not wake up if the phone is being plugged into a wireless charger.
+ setPluggedIn(false);
+ forceSleep();
+ when(mBatteryManagerInternalMock.getPlugType())
+ .thenReturn(BatteryManager.BATTERY_PLUGGED_WIRELESS);
+ when(mWirelessChargerDetectorMock.update(true /* isPowered */,
+ BatteryManager.BATTERY_PLUGGED_WIRELESS)).thenReturn(false);
+ setPluggedIn(true);
+ assertThat(mService.getWakefulness()).isEqualTo(WAKEFULNESS_ASLEEP);
+
+ // Test 3:
+ // Do not wake up if the phone is being REMOVED from a wireless charger
+ when(mBatteryManagerInternalMock.getPlugType()).thenReturn(0);
+ setPluggedIn(false);
+ assertThat(mService.getWakefulness()).isEqualTo(WAKEFULNESS_ASLEEP);
+
+ // Test 4:
+ // Do not wake if we are dreaming.
+ forceAwake(); // Needs to be awake first before it can dream.
+ forceDream();
+ setPluggedIn(true);
+ assertThat(mService.getWakefulness()).isEqualTo(WAKEFULNESS_DREAMING);
+ forceSleep();
+
+ // Test 5:
+ // Don't wake if the device is configured not to wake up in theater mode (and theater
+ // mode is enabled).
+ Settings.Global.putInt(
+ mContextSpy.getContentResolver(), Settings.Global.THEATER_MODE_ON, 1);
+ mUserSwitchedReceiver.onReceive(mContextSpy, new Intent(Intent.ACTION_USER_SWITCHED));
+ when(mResourcesSpy.getBoolean(
+ com.android.internal.R.bool.config_allowTheaterModeWakeFromUnplug))
+ .thenReturn(false);
+ setPluggedIn(false);
+ assertThat(mService.getWakefulness()).isEqualTo(WAKEFULNESS_ASLEEP);
+ Settings.Global.putInt(
+ mContextSpy.getContentResolver(), Settings.Global.THEATER_MODE_ON, 0);
+ mUserSwitchedReceiver.onReceive(mContextSpy, new Intent(Intent.ACTION_USER_SWITCHED));
+
+ // Test 6:
+ // Don't wake up if we are Dozing away and always-on is enabled.
+ when(mAmbientDisplayConfigurationMock.alwaysOnEnabled(UserHandle.USER_CURRENT))
+ .thenReturn(true);
+ mUserSwitchedReceiver.onReceive(mContextSpy, new Intent(Intent.ACTION_USER_SWITCHED));
+ forceAwake();
+ forceDozing();
+ setPluggedIn(true);
+ assertThat(mService.getWakefulness()).isEqualTo(WAKEFULNESS_DOZING);
+
+ // Test 7:
+ // Finally, take away all the factors above and ensure the device wakes up!
+ forceAwake();
+ forceSleep();
+ setPluggedIn(false);
+ assertThat(mService.getWakefulness()).isEqualTo(WAKEFULNESS_AWAKE);
+ }
+
+ @Test
+ public void testWakefulnessDoze_goToSleep() throws Exception {
+ // Start with AWAKE state
+ startSystem();
+ assertThat(mService.getWakefulness()).isEqualTo(WAKEFULNESS_AWAKE);
+
+ // Take a nap and verify.
+ mService.getBinderServiceInstance().goToSleep(SystemClock.uptimeMillis(),
+ PowerManager.GO_TO_SLEEP_REASON_APPLICATION, 0);
+ assertThat(mService.getWakefulness()).isEqualTo(WAKEFULNESS_DOZING);
+ }
+
+ @Test
public void testWasDeviceIdleFor_true() {
int interval = 1000;
mService.onUserActivity();
- SystemClock.sleep(interval);
+ SystemClock.sleep(interval + 1 /* just a little more */);
assertThat(mService.wasDeviceIdleForInternal(interval)).isTrue();
}
- @SmallTest
+ @Test
public void testWasDeviceIdleFor_false() {
int interval = 1000;
mService.onUserActivity();
assertThat(mService.wasDeviceIdleForInternal(interval)).isFalse();
}
- @SmallTest
+ @Test
public void testForceSuspend_putsDeviceToSleep() {
mService.systemReady(null);
mService.onBootPhase(SystemService.PHASE_BOOT_COMPLETED);
@@ -244,11 +491,11 @@
assertThat(mService.getWakefulness()).isEqualTo(WAKEFULNESS_ASLEEP);
}
- @SmallTest
+ @Test
public void testForceSuspend_pakeLocksDisabled() {
final String tag = "TestWakelockTag_098213";
final int flags = PowerManager.PARTIAL_WAKE_LOCK;
- final String pkg = getContext().getOpPackageName();
+ final String pkg = mContextSpy.getOpPackageName();
// Set up the Notification mock to keep track of the wakelocks that are currently
// active or disabled. We'll use this to verify that wakelocks are disabled when
@@ -292,7 +539,7 @@
}
- @SmallTest
+ @Test
public void testForceSuspend_forceSuspendFailurePropogated() {
when(mNativeWrapperMock.nativeForceSuspend()).thenReturn(false);
assertThat(mService.getBinderServiceInstance().forceSuspend()).isFalse();
diff --git a/services/tests/wmtests/src/com/android/server/wm/AppWindowTokenTests.java b/services/tests/wmtests/src/com/android/server/wm/AppWindowTokenTests.java
index 2c575f5..68b40b9 100644
--- a/services/tests/wmtests/src/com/android/server/wm/AppWindowTokenTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/AppWindowTokenTests.java
@@ -18,11 +18,11 @@
import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM;
import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_SECONDARY;
-import static android.content.ActivityInfoProto.SCREEN_ORIENTATION_UNSPECIFIED;
import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_BEHIND;
import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE;
import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_UNSET;
+import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED;
import static android.view.WindowManager.LayoutParams.FIRST_APPLICATION_WINDOW;
import static android.view.WindowManager.LayoutParams.FIRST_SUB_WINDOW;
import static android.view.WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD;
@@ -42,12 +42,16 @@
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
+import static org.mockito.Mockito.verify;
import android.content.res.Configuration;
import android.graphics.Point;
import android.graphics.Rect;
import android.platform.test.annotations.Presubmit;
+import android.view.Display;
import android.view.Surface;
import android.view.WindowManager;
@@ -55,6 +59,7 @@
import org.junit.Before;
import org.junit.Test;
+import org.mockito.Mockito;
/**
* Tests for the {@link AppWindowToken} class.
@@ -332,6 +337,46 @@
}
@Test
+ public void testReportOrientationChangeOnVisibilityChange() {
+ synchronized (mWm.mGlobalLock) {
+ mToken.setOrientation(SCREEN_ORIENTATION_LANDSCAPE);
+
+ mDisplayContent.getDisplayRotation().setFixedToUserRotation(
+ DisplayRotation.FIXED_TO_USER_ROTATION_ENABLED);
+
+ doReturn(Configuration.ORIENTATION_LANDSCAPE).when(mToken.mActivityRecord)
+ .getRequestedConfigurationOrientation();
+
+ mTask.mTaskRecord = Mockito.mock(TaskRecord.class, RETURNS_DEEP_STUBS);
+ mToken.commitVisibility(null, false /* visible */, TRANSIT_UNSET,
+ true /* performLayout */, false /* isVoiceInteraction */);
+ }
+
+ verify(mTask.mTaskRecord).onConfigurationChanged(any(Configuration.class));
+ }
+
+ @Test
+ public void testReportOrientationChangeOnOpeningClosingAppChange() {
+ synchronized (mWm.mGlobalLock) {
+ mToken.setOrientation(SCREEN_ORIENTATION_LANDSCAPE);
+
+ mDisplayContent.getDisplayRotation().setFixedToUserRotation(
+ DisplayRotation.FIXED_TO_USER_ROTATION_ENABLED);
+ mDisplayContent.getDisplayInfo().state = Display.STATE_ON;
+ mDisplayContent.prepareAppTransition(WindowManager.TRANSIT_ACTIVITY_CLOSE,
+ false /* alwaysKeepCurrent */, 0 /* flags */, true /* forceOverride */);
+
+ doReturn(Configuration.ORIENTATION_LANDSCAPE).when(mToken.mActivityRecord)
+ .getRequestedConfigurationOrientation();
+
+ mTask.mTaskRecord = Mockito.mock(TaskRecord.class, RETURNS_DEEP_STUBS);
+ mToken.setVisibility(false, false);
+ }
+
+ verify(mTask.mTaskRecord).onConfigurationChanged(any(Configuration.class));
+ }
+
+ @Test
public void testCreateRemoveStartingWindow() {
mToken.addStartingWindow(mPackageName,
android.R.style.Theme, null, "Test", 0, 0, 0, 0, null, true, true, false, true,
diff --git a/services/tests/wmtests/src/com/android/server/wm/SurfaceAnimationRunnerTest.java b/services/tests/wmtests/src/com/android/server/wm/SurfaceAnimationRunnerTest.java
index 6cce9f0..c483489 100644
--- a/services/tests/wmtests/src/com/android/server/wm/SurfaceAnimationRunnerTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/SurfaceAnimationRunnerTest.java
@@ -213,7 +213,8 @@
final Animation a = new TranslateAnimation(-10, 10, 0, 0);
a.initialize(0, 0, 0, 0);
a.setDuration(50);
- return new WindowAnimationSpec(a, new Point(0, 0), false /* canSkipFirstFrame */);
+ return new WindowAnimationSpec(a, new Point(0, 0), false /* canSkipFirstFrame */,
+ 0 /* windowCornerRadius */);
}
/**
diff --git a/services/tests/wmtests/src/com/android/server/wm/WindowAnimationSpecTest.java b/services/tests/wmtests/src/com/android/server/wm/WindowAnimationSpecTest.java
index 9a825e0..897f0a2 100644
--- a/services/tests/wmtests/src/com/android/server/wm/WindowAnimationSpecTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/WindowAnimationSpecTest.java
@@ -24,6 +24,8 @@
import static org.mockito.ArgumentMatchers.argThat;
import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.when;
import android.graphics.Point;
import android.graphics.Rect;
@@ -56,7 +58,7 @@
Animation a = createClipRectAnimation(windowCrop, windowCrop);
WindowAnimationSpec windowAnimationSpec = new WindowAnimationSpec(a, null,
mStackBounds, false /* canSkipFirstFrame */, STACK_CLIP_NONE,
- true /* isAppAnimation */);
+ true /* isAppAnimation */, 0 /* windowCornerRadius */);
windowAnimationSpec.apply(mTransaction, mSurfaceControl, 0);
verify(mTransaction).setWindowCrop(eq(mSurfaceControl),
argThat(rect -> rect.equals(windowCrop)));
@@ -66,7 +68,7 @@
public void testApply_clipAfter() {
WindowAnimationSpec windowAnimationSpec = new WindowAnimationSpec(mAnimation, null,
mStackBounds, false /* canSkipFirstFrame */, STACK_CLIP_AFTER_ANIM,
- true /* isAppAnimation */);
+ true /* isAppAnimation */, 0 /* windowCornerRadius */);
windowAnimationSpec.apply(mTransaction, mSurfaceControl, 0);
verify(mTransaction).setWindowCrop(eq(mSurfaceControl), argThat(Rect::isEmpty));
}
@@ -76,8 +78,7 @@
// Stack bounds is (0, 0, 10, 10) position is (20, 40)
WindowAnimationSpec windowAnimationSpec = new WindowAnimationSpec(mAnimation,
new Point(20, 40), mStackBounds, false /* canSkipFirstFrame */,
- STACK_CLIP_AFTER_ANIM,
- true /* isAppAnimation */);
+ STACK_CLIP_AFTER_ANIM, true /* isAppAnimation */, 0 /* windowCornerRadius */);
windowAnimationSpec.apply(mTransaction, mSurfaceControl, 0);
verify(mTransaction).setWindowCrop(eq(mSurfaceControl), argThat(Rect::isEmpty));
}
@@ -87,7 +88,7 @@
// Stack bounds is (0, 0, 10, 10) animation clip is (0, 0, 0, 0)
WindowAnimationSpec windowAnimationSpec = new WindowAnimationSpec(mAnimation, null,
mStackBounds, false /* canSkipFirstFrame */, STACK_CLIP_BEFORE_ANIM,
- true /* isAppAnimation */);
+ true /* isAppAnimation */, 0 /* windowCornerRadius */);
windowAnimationSpec.apply(mTransaction, mSurfaceControl, 0);
verify(mTransaction).setWindowCrop(eq(mSurfaceControl),
argThat(rect -> rect.equals(mStackBounds)));
@@ -101,19 +102,32 @@
a.initialize(0, 0, 0, 0);
WindowAnimationSpec windowAnimationSpec = new WindowAnimationSpec(a, null,
null, false /* canSkipFirstFrame */, STACK_CLIP_BEFORE_ANIM,
- true /* isAppAnimation */);
+ true /* isAppAnimation */, 0 /* windowCornerRadius */);
windowAnimationSpec.apply(mTransaction, mSurfaceControl, 0);
verify(mTransaction).setWindowCrop(eq(mSurfaceControl), argThat(Rect::isEmpty));
}
@Test
+ public void testApply_setCornerRadius() {
+ final float windowCornerRadius = 30f;
+ WindowAnimationSpec windowAnimationSpec = new WindowAnimationSpec(mAnimation, null,
+ mStackBounds, false /* canSkipFirstFrame */, STACK_CLIP_BEFORE_ANIM,
+ true /* isAppAnimation */, windowCornerRadius);
+ windowAnimationSpec.apply(mTransaction, mSurfaceControl, 0);
+ verify(mTransaction, never()).setCornerRadius(eq(mSurfaceControl), eq(windowCornerRadius));
+ when(mAnimation.hasRoundedCorners()).thenReturn(true);
+ windowAnimationSpec.apply(mTransaction, mSurfaceControl, 0);
+ verify(mTransaction).setCornerRadius(eq(mSurfaceControl), eq(windowCornerRadius));
+ }
+
+ @Test
public void testApply_clipBeforeSmallerAnimationClip() {
// Stack bounds is (0, 0, 10, 10) animation clip is (0, 0, 5, 5)
Rect windowCrop = new Rect(0, 0, 5, 5);
Animation a = createClipRectAnimation(windowCrop, windowCrop);
WindowAnimationSpec windowAnimationSpec = new WindowAnimationSpec(a, null,
mStackBounds, false /* canSkipFirstFrame */, STACK_CLIP_BEFORE_ANIM,
- true /* isAppAnimation */);
+ true /* isAppAnimation */, 0 /* windowCornerRadius */);
windowAnimationSpec.apply(mTransaction, mSurfaceControl, 0);
verify(mTransaction).setWindowCrop(eq(mSurfaceControl),
argThat(rect -> rect.equals(windowCrop)));
@@ -126,7 +140,7 @@
Animation a = createClipRectAnimation(windowCrop, windowCrop);
WindowAnimationSpec windowAnimationSpec = new WindowAnimationSpec(a, null,
mStackBounds, false /* canSkipFirstFrame */, STACK_CLIP_BEFORE_ANIM,
- true /* isAppAnimation */);
+ true /* isAppAnimation */, 0 /* windowCornerRadius */);
windowAnimationSpec.apply(mTransaction, mSurfaceControl, 0);
verify(mTransaction).setWindowCrop(eq(mSurfaceControl),
argThat(rect -> rect.equals(mStackBounds)));
diff --git a/services/tests/wmtests/src/com/android/server/wm/WindowTestUtils.java b/services/tests/wmtests/src/com/android/server/wm/WindowTestUtils.java
index da1defa..0dec8ee 100644
--- a/services/tests/wmtests/src/com/android/server/wm/WindowTestUtils.java
+++ b/services/tests/wmtests/src/com/android/server/wm/WindowTestUtils.java
@@ -82,6 +82,8 @@
}, new ComponentName("", ""), false, dc, true /* fillsParent */);
mTargetSdk = Build.VERSION_CODES.CUR_DEVELOPMENT;
mSkipOnParentChanged = skipOnParentChanged;
+ mActivityRecord = mock(ActivityRecord.class);
+ mActivityRecord.app = mock(WindowProcessController.class);
}
int getWindowsCount() {
diff --git a/services/usage/java/com/android/server/usage/AppStandbyController.java b/services/usage/java/com/android/server/usage/AppStandbyController.java
index 65ed85d..ffafb6d 100644
--- a/services/usage/java/com/android/server/usage/AppStandbyController.java
+++ b/services/usage/java/com/android/server/usage/AppStandbyController.java
@@ -35,6 +35,7 @@
import static android.app.usage.UsageStatsManager.REASON_SUB_USAGE_SYNC_ADAPTER;
import static android.app.usage.UsageStatsManager.REASON_SUB_USAGE_SYSTEM_INTERACTION;
import static android.app.usage.UsageStatsManager.REASON_SUB_USAGE_SYSTEM_UPDATE;
+import static android.app.usage.UsageStatsManager.REASON_SUB_USAGE_UNEXEMPTED_SYNC_SCHEDULED;
import static android.app.usage.UsageStatsManager.REASON_SUB_USAGE_USER_INTERACTION;
import static android.app.usage.UsageStatsManager.STANDBY_BUCKET_ACTIVE;
import static android.app.usage.UsageStatsManager.STANDBY_BUCKET_EXEMPTED;
@@ -197,7 +198,7 @@
static final int MSG_ONE_TIME_CHECK_IDLE_STATES = 10;
/** Check the state of one app: arg1 = userId, arg2 = uid, obj = (String) packageName */
static final int MSG_CHECK_PACKAGE_IDLE_STATE = 11;
- static final int MSG_REPORT_EXEMPTED_SYNC_SCHEDULED = 12;
+ static final int MSG_REPORT_SYNC_SCHEDULED = 12;
static final int MSG_REPORT_EXEMPTED_SYNC_START = 13;
static final int MSG_UPDATE_STABLE_CHARGING= 14;
@@ -231,6 +232,10 @@
* Maximum time an exempted sync should keep the buckets elevated, when sync is started.
*/
long mExemptedSyncStartTimeoutMillis;
+ /**
+ * Maximum time an unexempted sync should keep the buckets elevated, when sync is scheduled
+ */
+ long mUnexemptedSyncScheduledTimeoutMillis;
/** Maximum time a system interaction should keep the buckets elevated. */
long mSystemInteractionTimeoutMillis;
/** The length of time phone must be charging before considered stable enough to run jobs */
@@ -447,6 +452,25 @@
}
}
+ void reportUnexemptedSyncScheduled(String packageName, int userId) {
+ if (!mAppIdleEnabled) return;
+
+ final long elapsedRealtime = mInjector.elapsedRealtime();
+ synchronized (mAppIdleLock) {
+ final int currentBucket =
+ mAppIdleHistory.getAppStandbyBucket(packageName, userId, elapsedRealtime);
+ if (currentBucket == STANDBY_BUCKET_NEVER) {
+ // Bring the app out of the never bucket
+ AppUsageHistory appUsage = mAppIdleHistory.reportUsage(packageName, userId,
+ STANDBY_BUCKET_WORKING_SET, REASON_SUB_USAGE_UNEXEMPTED_SYNC_SCHEDULED,
+ 0,
+ elapsedRealtime + mUnexemptedSyncScheduledTimeoutMillis);
+ maybeInformListeners(packageName, userId, elapsedRealtime,
+ appUsage.currentBucket, appUsage.bucketingReason, false);
+ }
+ }
+ }
+
void reportExemptedSyncStart(String packageName, int userId) {
if (!mAppIdleEnabled) return;
@@ -1423,8 +1447,8 @@
.sendToTarget();
}
- void postReportExemptedSyncScheduled(String packageName, int userId) {
- mHandler.obtainMessage(MSG_REPORT_EXEMPTED_SYNC_SCHEDULED, userId, 0, packageName)
+ void postReportSyncScheduled(String packageName, int userId, boolean exempted) {
+ mHandler.obtainMessage(MSG_REPORT_SYNC_SCHEDULED, userId, exempted ? 1 : 0, packageName)
.sendToTarget();
}
@@ -1492,6 +1516,9 @@
pw.print(" mExemptedSyncStartTimeoutMillis=");
TimeUtils.formatDuration(mExemptedSyncStartTimeoutMillis, pw);
pw.println();
+ pw.print(" mUnexemptedSyncScheduledTimeoutMillis=");
+ TimeUtils.formatDuration(mUnexemptedSyncScheduledTimeoutMillis, pw);
+ pw.println();
pw.print(" mSystemUpdateUsageTimeoutMillis=");
TimeUtils.formatDuration(mSystemUpdateUsageTimeoutMillis, pw);
@@ -1706,8 +1733,13 @@
mInjector.elapsedRealtime());
break;
- case MSG_REPORT_EXEMPTED_SYNC_SCHEDULED:
- reportExemptedSyncScheduled((String) msg.obj, msg.arg1);
+ case MSG_REPORT_SYNC_SCHEDULED:
+ final boolean exempted = msg.arg1 > 0 ? true : false;
+ if (exempted) {
+ reportExemptedSyncScheduled((String) msg.obj, msg.arg1);
+ } else {
+ reportUnexemptedSyncScheduled((String) msg.obj, msg.arg1);
+ }
break;
case MSG_REPORT_EXEMPTED_SYNC_START:
@@ -1799,12 +1831,14 @@
"system_update_usage_duration";
private static final String KEY_PREDICTION_TIMEOUT = "prediction_timeout";
private static final String KEY_SYNC_ADAPTER_HOLD_DURATION = "sync_adapter_duration";
- private static final String KEY_EXEMPTED_SYNC_SCHEDULED_NON_DOZE_HOLD_DURATION
- = "exempted_sync_scheduled_nd_duration";
- private static final String KEY_EXEMPTED_SYNC_SCHEDULED_DOZE_HOLD_DURATION
- = "exempted_sync_scheduled_d_duration";
- private static final String KEY_EXEMPTED_SYNC_START_HOLD_DURATION
- = "exempted_sync_start_duration";
+ private static final String KEY_EXEMPTED_SYNC_SCHEDULED_NON_DOZE_HOLD_DURATION =
+ "exempted_sync_scheduled_nd_duration";
+ private static final String KEY_EXEMPTED_SYNC_SCHEDULED_DOZE_HOLD_DURATION =
+ "exempted_sync_scheduled_d_duration";
+ private static final String KEY_EXEMPTED_SYNC_START_HOLD_DURATION =
+ "exempted_sync_start_duration";
+ private static final String KEY_UNEXEMPTED_SYNC_SCHEDULED_HOLD_DURATION =
+ "unexempted_sync_scheduled_duration";
private static final String KEY_SYSTEM_INTERACTION_HOLD_DURATION =
"system_interaction_duration";
private static final String KEY_STABLE_CHARGING_THRESHOLD = "stable_charging_threshold";
@@ -1816,6 +1850,7 @@
public static final long DEFAULT_EXEMPTED_SYNC_SCHEDULED_NON_DOZE_TIMEOUT = 10 * ONE_MINUTE;
public static final long DEFAULT_EXEMPTED_SYNC_SCHEDULED_DOZE_TIMEOUT = 4 * ONE_HOUR;
public static final long DEFAULT_EXEMPTED_SYNC_START_TIMEOUT = 10 * ONE_MINUTE;
+ public static final long DEFAULT_UNEXEMPTED_SYNC_SCHEDULED_TIMEOUT = 10 * ONE_MINUTE;
public static final long DEFAULT_STABLE_CHARGING_THRESHOLD = 10 * ONE_MINUTE;
private final KeyValueListParser mParser = new KeyValueListParser(',');
@@ -1883,42 +1918,47 @@
ELAPSED_TIME_THRESHOLDS);
mCheckIdleIntervalMillis = Math.min(mAppStandbyElapsedThresholds[1] / 4,
COMPRESS_TIME ? ONE_MINUTE : 4 * 60 * ONE_MINUTE); // 4 hours
- mStrongUsageTimeoutMillis = mParser.getDurationMillis
- (KEY_STRONG_USAGE_HOLD_DURATION,
+ mStrongUsageTimeoutMillis = mParser.getDurationMillis(
+ KEY_STRONG_USAGE_HOLD_DURATION,
COMPRESS_TIME ? ONE_MINUTE : DEFAULT_STRONG_USAGE_TIMEOUT);
- mNotificationSeenTimeoutMillis = mParser.getDurationMillis
- (KEY_NOTIFICATION_SEEN_HOLD_DURATION,
+ mNotificationSeenTimeoutMillis = mParser.getDurationMillis(
+ KEY_NOTIFICATION_SEEN_HOLD_DURATION,
COMPRESS_TIME ? 12 * ONE_MINUTE : DEFAULT_NOTIFICATION_TIMEOUT);
- mSystemUpdateUsageTimeoutMillis = mParser.getDurationMillis
- (KEY_SYSTEM_UPDATE_HOLD_DURATION,
+ mSystemUpdateUsageTimeoutMillis = mParser.getDurationMillis(
+ KEY_SYSTEM_UPDATE_HOLD_DURATION,
COMPRESS_TIME ? 2 * ONE_MINUTE : DEFAULT_SYSTEM_UPDATE_TIMEOUT);
- mPredictionTimeoutMillis = mParser.getDurationMillis
- (KEY_PREDICTION_TIMEOUT,
+ mPredictionTimeoutMillis = mParser.getDurationMillis(
+ KEY_PREDICTION_TIMEOUT,
COMPRESS_TIME ? 10 * ONE_MINUTE : DEFAULT_PREDICTION_TIMEOUT);
- mSyncAdapterTimeoutMillis = mParser.getDurationMillis
- (KEY_SYNC_ADAPTER_HOLD_DURATION,
+ mSyncAdapterTimeoutMillis = mParser.getDurationMillis(
+ KEY_SYNC_ADAPTER_HOLD_DURATION,
COMPRESS_TIME ? ONE_MINUTE : DEFAULT_SYNC_ADAPTER_TIMEOUT);
- mExemptedSyncScheduledNonDozeTimeoutMillis = mParser.getDurationMillis
- (KEY_EXEMPTED_SYNC_SCHEDULED_NON_DOZE_HOLD_DURATION,
+ mExemptedSyncScheduledNonDozeTimeoutMillis = mParser.getDurationMillis(
+ KEY_EXEMPTED_SYNC_SCHEDULED_NON_DOZE_HOLD_DURATION,
COMPRESS_TIME ? (ONE_MINUTE / 2)
: DEFAULT_EXEMPTED_SYNC_SCHEDULED_NON_DOZE_TIMEOUT);
- mExemptedSyncScheduledDozeTimeoutMillis = mParser.getDurationMillis
- (KEY_EXEMPTED_SYNC_SCHEDULED_DOZE_HOLD_DURATION,
+ mExemptedSyncScheduledDozeTimeoutMillis = mParser.getDurationMillis(
+ KEY_EXEMPTED_SYNC_SCHEDULED_DOZE_HOLD_DURATION,
COMPRESS_TIME ? ONE_MINUTE
: DEFAULT_EXEMPTED_SYNC_SCHEDULED_DOZE_TIMEOUT);
- mExemptedSyncStartTimeoutMillis = mParser.getDurationMillis
- (KEY_EXEMPTED_SYNC_START_HOLD_DURATION,
+ mExemptedSyncStartTimeoutMillis = mParser.getDurationMillis(
+ KEY_EXEMPTED_SYNC_START_HOLD_DURATION,
COMPRESS_TIME ? ONE_MINUTE
: DEFAULT_EXEMPTED_SYNC_START_TIMEOUT);
- mSystemInteractionTimeoutMillis = mParser.getDurationMillis
- (KEY_SYSTEM_INTERACTION_HOLD_DURATION,
+ mUnexemptedSyncScheduledTimeoutMillis = mParser.getDurationMillis(
+ KEY_EXEMPTED_SYNC_SCHEDULED_DOZE_HOLD_DURATION,
+ COMPRESS_TIME ? ONE_MINUTE
+ : DEFAULT_UNEXEMPTED_SYNC_SCHEDULED_TIMEOUT); // TODO
+
+ mSystemInteractionTimeoutMillis = mParser.getDurationMillis(
+ KEY_SYSTEM_INTERACTION_HOLD_DURATION,
COMPRESS_TIME ? ONE_MINUTE : DEFAULT_SYSTEM_INTERACTION_TIMEOUT);
- mStableChargingThresholdMillis = mParser.getDurationMillis
- (KEY_STABLE_CHARGING_THRESHOLD,
+ mStableChargingThresholdMillis = mParser.getDurationMillis(
+ KEY_STABLE_CHARGING_THRESHOLD,
COMPRESS_TIME ? ONE_MINUTE : DEFAULT_STABLE_CHARGING_THRESHOLD);
}
diff --git a/services/usage/java/com/android/server/usage/UsageStatsService.java b/services/usage/java/com/android/server/usage/UsageStatsService.java
index ebb0210..b14d722 100644
--- a/services/usage/java/com/android/server/usage/UsageStatsService.java
+++ b/services/usage/java/com/android/server/usage/UsageStatsService.java
@@ -1751,8 +1751,8 @@
}
@Override
- public void reportExemptedSyncScheduled(String packageName, int userId) {
- mAppStandby.postReportExemptedSyncScheduled(packageName, userId);
+ public void reportSyncScheduled(String packageName, int userId, boolean exempted) {
+ mAppStandby.postReportSyncScheduled(packageName, userId, exempted);
}
@Override
diff --git a/telecomm/java/android/telecom/AudioState.java b/telecomm/java/android/telecom/AudioState.java
index eb202a7..4e74395 100644
--- a/telecomm/java/android/telecom/AudioState.java
+++ b/telecomm/java/android/telecom/AudioState.java
@@ -133,7 +133,7 @@
/**
* Responsible for creating AudioState objects for deserialized Parcels.
*/
- public static final Parcelable.Creator<AudioState> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<AudioState> CREATOR =
new Parcelable.Creator<AudioState> () {
@Override
diff --git a/telecomm/java/android/telecom/CallAudioState.java b/telecomm/java/android/telecom/CallAudioState.java
index e33ba7e..4b90985 100644
--- a/telecomm/java/android/telecom/CallAudioState.java
+++ b/telecomm/java/android/telecom/CallAudioState.java
@@ -239,7 +239,7 @@
/**
* Responsible for creating AudioState objects for deserialized Parcels.
*/
- public static final Parcelable.Creator<CallAudioState> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<CallAudioState> CREATOR =
new Parcelable.Creator<CallAudioState> () {
@Override
diff --git a/telecomm/java/android/telecom/CallIdentification.java b/telecomm/java/android/telecom/CallIdentification.java
index cde7f60..d15e024 100644
--- a/telecomm/java/android/telecom/CallIdentification.java
+++ b/telecomm/java/android/telecom/CallIdentification.java
@@ -281,7 +281,7 @@
/**
* Responsible for creating CallIdentification objects for deserialized Parcels.
*/
- public static final Parcelable.Creator<CallIdentification> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<CallIdentification> CREATOR =
new Parcelable.Creator<CallIdentification> () {
@Override
diff --git a/telecomm/java/android/telecom/ConferenceParticipant.java b/telecomm/java/android/telecom/ConferenceParticipant.java
index 6317770..2f1505c 100644
--- a/telecomm/java/android/telecom/ConferenceParticipant.java
+++ b/telecomm/java/android/telecom/ConferenceParticipant.java
@@ -86,7 +86,7 @@
/**
* Responsible for creating {@code ConferenceParticipant} objects for deserialized Parcels.
*/
- public static final Parcelable.Creator<ConferenceParticipant> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ConferenceParticipant> CREATOR =
new Parcelable.Creator<ConferenceParticipant>() {
@Override
diff --git a/telecomm/java/android/telecom/ConnectionRequest.java b/telecomm/java/android/telecom/ConnectionRequest.java
index b6e6b0e..b428530 100644
--- a/telecomm/java/android/telecom/ConnectionRequest.java
+++ b/telecomm/java/android/telecom/ConnectionRequest.java
@@ -337,10 +337,34 @@
mAddress == null
? Uri.EMPTY
: Connection.toLogSafePhoneNumber(mAddress.toString()),
- mExtras == null ? "" : mExtras);
+ bundleToString(mExtras));
}
- public static final Creator<ConnectionRequest> CREATOR = new Creator<ConnectionRequest> () {
+ private static String bundleToString(Bundle extras){
+ if (extras == null) {
+ return "";
+ }
+ StringBuilder sb = new StringBuilder();
+ sb.append("Bundle[");
+ for (String key : extras.keySet()) {
+ sb.append(key);
+ sb.append("=");
+ switch (key) {
+ case TelecomManager.EXTRA_INCOMING_CALL_ADDRESS:
+ case TelecomManager.EXTRA_UNKNOWN_CALL_HANDLE:
+ sb.append(Log.pii(extras.get(key)));
+ break;
+ default:
+ sb.append(extras.get(key));
+ break;
+ }
+ sb.append(", ");
+ }
+ sb.append("]");
+ return sb.toString();
+ }
+
+ public static final @android.annotation.NonNull Creator<ConnectionRequest> CREATOR = new Creator<ConnectionRequest> () {
@Override
public ConnectionRequest createFromParcel(Parcel source) {
return new ConnectionRequest(source);
diff --git a/telecomm/java/android/telecom/DisconnectCause.java b/telecomm/java/android/telecom/DisconnectCause.java
index 5a97c94..ae92464 100644
--- a/telecomm/java/android/telecom/DisconnectCause.java
+++ b/telecomm/java/android/telecom/DisconnectCause.java
@@ -207,7 +207,7 @@
return mToneToPlay;
}
- public static final Creator<DisconnectCause> CREATOR = new Creator<DisconnectCause>() {
+ public static final @android.annotation.NonNull Creator<DisconnectCause> CREATOR = new Creator<DisconnectCause>() {
@Override
public DisconnectCause createFromParcel(Parcel source) {
int code = source.readInt();
diff --git a/telecomm/java/android/telecom/GatewayInfo.java b/telecomm/java/android/telecom/GatewayInfo.java
index 928570e..0faa4fd 100644
--- a/telecomm/java/android/telecom/GatewayInfo.java
+++ b/telecomm/java/android/telecom/GatewayInfo.java
@@ -80,7 +80,7 @@
/**
* The Parcelable interface.
* */
- public static final Parcelable.Creator<GatewayInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<GatewayInfo> CREATOR =
new Parcelable.Creator<GatewayInfo> () {
@Override
diff --git a/telecomm/java/android/telecom/Logging/Session.java b/telecomm/java/android/telecom/Logging/Session.java
index c45bd6b..50c3cd9 100644
--- a/telecomm/java/android/telecom/Logging/Session.java
+++ b/telecomm/java/android/telecom/Logging/Session.java
@@ -69,7 +69,7 @@
}
/** Responsible for creating Info objects for deserialized Parcels. */
- public static final Parcelable.Creator<Info> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<Info> CREATOR =
new Parcelable.Creator<Info> () {
@Override
public Info createFromParcel(Parcel source) {
diff --git a/telecomm/java/android/telecom/ParcelableCall.java b/telecomm/java/android/telecom/ParcelableCall.java
index f7dec83..345707e 100644
--- a/telecomm/java/android/telecom/ParcelableCall.java
+++ b/telecomm/java/android/telecom/ParcelableCall.java
@@ -331,7 +331,7 @@
/** Responsible for creating ParcelableCall objects for deserialized Parcels. */
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
- public static final Parcelable.Creator<ParcelableCall> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ParcelableCall> CREATOR =
new Parcelable.Creator<ParcelableCall> () {
@Override
public ParcelableCall createFromParcel(Parcel source) {
diff --git a/telecomm/java/android/telecom/ParcelableCallAnalytics.java b/telecomm/java/android/telecom/ParcelableCallAnalytics.java
index bb066ad..2b9213b 100644
--- a/telecomm/java/android/telecom/ParcelableCallAnalytics.java
+++ b/telecomm/java/android/telecom/ParcelableCallAnalytics.java
@@ -36,7 +36,7 @@
public static final int RECEIVE_REMOTE_SESSION_MODIFY_REQUEST = 2;
public static final int RECEIVE_REMOTE_SESSION_MODIFY_RESPONSE = 3;
- public static final Parcelable.Creator<VideoEvent> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<VideoEvent> CREATOR =
new Parcelable.Creator<VideoEvent> () {
@Override
@@ -135,7 +135,7 @@
public static final int REQUEST_PULL = 500;
- public static final Parcelable.Creator<AnalyticsEvent> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<AnalyticsEvent> CREATOR =
new Parcelable.Creator<AnalyticsEvent> () {
@Override
@@ -200,7 +200,7 @@
public static final int INVALID = 999999;
- public static final Parcelable.Creator<EventTiming> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<EventTiming> CREATOR =
new Parcelable.Creator<EventTiming> () {
@Override
@@ -284,7 +284,7 @@
public static final int STILL_CONNECTED = -1;
- public static final Parcelable.Creator<ParcelableCallAnalytics> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ParcelableCallAnalytics> CREATOR =
new Parcelable.Creator<ParcelableCallAnalytics> () {
@Override
diff --git a/telecomm/java/android/telecom/ParcelableConference.java b/telecomm/java/android/telecom/ParcelableConference.java
index a6221d4..636e4b2 100644
--- a/telecomm/java/android/telecom/ParcelableConference.java
+++ b/telecomm/java/android/telecom/ParcelableConference.java
@@ -134,7 +134,7 @@
return mExtras;
}
- public static final Parcelable.Creator<ParcelableConference> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ParcelableConference> CREATOR =
new Parcelable.Creator<ParcelableConference> () {
@Override
public ParcelableConference createFromParcel(Parcel source) {
diff --git a/telecomm/java/android/telecom/ParcelableConnection.java b/telecomm/java/android/telecom/ParcelableConnection.java
index 61d5a12..dab1c6e 100644
--- a/telecomm/java/android/telecom/ParcelableConnection.java
+++ b/telecomm/java/android/telecom/ParcelableConnection.java
@@ -237,7 +237,7 @@
.toString();
}
- public static final Parcelable.Creator<ParcelableConnection> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ParcelableConnection> CREATOR =
new Parcelable.Creator<ParcelableConnection> () {
@Override
public ParcelableConnection createFromParcel(Parcel source) {
diff --git a/telecomm/java/android/telecom/ParcelableRttCall.java b/telecomm/java/android/telecom/ParcelableRttCall.java
index 763e48b..fbcf486 100644
--- a/telecomm/java/android/telecom/ParcelableRttCall.java
+++ b/telecomm/java/android/telecom/ParcelableRttCall.java
@@ -50,7 +50,7 @@
mReceiveStream = in.readParcelable(ParcelFileDescriptor.class.getClassLoader());
}
- public static final Creator<ParcelableRttCall> CREATOR = new Creator<ParcelableRttCall>() {
+ public static final @android.annotation.NonNull Creator<ParcelableRttCall> CREATOR = new Creator<ParcelableRttCall>() {
@Override
public ParcelableRttCall createFromParcel(Parcel in) {
return new ParcelableRttCall(in);
diff --git a/telecomm/java/android/telecom/PhoneAccount.java b/telecomm/java/android/telecom/PhoneAccount.java
index 2ffad03..5e13400 100644
--- a/telecomm/java/android/telecom/PhoneAccount.java
+++ b/telecomm/java/android/telecom/PhoneAccount.java
@@ -914,7 +914,7 @@
out.writeInt(mSupportedAudioRoutes);
}
- public static final Creator<PhoneAccount> CREATOR
+ public static final @android.annotation.NonNull Creator<PhoneAccount> CREATOR
= new Creator<PhoneAccount>() {
@Override
public PhoneAccount createFromParcel(Parcel in) {
diff --git a/telecomm/java/android/telecom/PhoneAccountHandle.java b/telecomm/java/android/telecom/PhoneAccountHandle.java
index 5dedb04..a84ce55 100644
--- a/telecomm/java/android/telecom/PhoneAccountHandle.java
+++ b/telecomm/java/android/telecom/PhoneAccountHandle.java
@@ -156,7 +156,7 @@
}
}
- public static final Creator<PhoneAccountHandle> CREATOR = new Creator<PhoneAccountHandle>() {
+ public static final @android.annotation.NonNull Creator<PhoneAccountHandle> CREATOR = new Creator<PhoneAccountHandle>() {
@Override
public PhoneAccountHandle createFromParcel(Parcel in) {
return new PhoneAccountHandle(in);
diff --git a/telecomm/java/android/telecom/PhoneAccountSuggestion.java b/telecomm/java/android/telecom/PhoneAccountSuggestion.java
index b401bcf..05b2395 100644
--- a/telecomm/java/android/telecom/PhoneAccountSuggestion.java
+++ b/telecomm/java/android/telecom/PhoneAccountSuggestion.java
@@ -85,7 +85,7 @@
mShouldAutoSelect = in.readByte() != 0;
}
- public static final Creator<PhoneAccountSuggestion> CREATOR =
+ public static final @android.annotation.NonNull Creator<PhoneAccountSuggestion> CREATOR =
new Creator<PhoneAccountSuggestion>() {
@Override
public PhoneAccountSuggestion createFromParcel(Parcel in) {
diff --git a/telecomm/java/android/telecom/StatusHints.java b/telecomm/java/android/telecom/StatusHints.java
index 453f408..762c93a 100644
--- a/telecomm/java/android/telecom/StatusHints.java
+++ b/telecomm/java/android/telecom/StatusHints.java
@@ -119,7 +119,7 @@
out.writeParcelable(mExtras, 0);
}
- public static final Creator<StatusHints> CREATOR
+ public static final @android.annotation.NonNull Creator<StatusHints> CREATOR
= new Creator<StatusHints>() {
public StatusHints createFromParcel(Parcel in) {
return new StatusHints(in);
diff --git a/telecomm/java/android/telecom/TelecomAnalytics.java b/telecomm/java/android/telecom/TelecomAnalytics.java
index 6e0d02c..e88ad77 100644
--- a/telecomm/java/android/telecom/TelecomAnalytics.java
+++ b/telecomm/java/android/telecom/TelecomAnalytics.java
@@ -28,7 +28,7 @@
*/
@SystemApi
public final class TelecomAnalytics implements Parcelable {
- public static final Parcelable.Creator<TelecomAnalytics> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<TelecomAnalytics> CREATOR =
new Parcelable.Creator<TelecomAnalytics> () {
@Override
@@ -43,7 +43,7 @@
};
public static final class SessionTiming extends TimedEvent<Integer> implements Parcelable {
- public static final Parcelable.Creator<SessionTiming> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<SessionTiming> CREATOR =
new Parcelable.Creator<SessionTiming> () {
@Override
diff --git a/telecomm/java/android/telecom/VideoProfile.java b/telecomm/java/android/telecom/VideoProfile.java
index 157f12c..64e6ca3 100644
--- a/telecomm/java/android/telecom/VideoProfile.java
+++ b/telecomm/java/android/telecom/VideoProfile.java
@@ -170,7 +170,7 @@
/**
* Responsible for creating VideoProfile objects from deserialized Parcels.
**/
- public static final Parcelable.Creator<VideoProfile> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<VideoProfile> CREATOR =
new Parcelable.Creator<VideoProfile> () {
/**
* Creates a MediaProfile instances from a parcel.
@@ -389,7 +389,7 @@
/**
* Responsible for creating CallCameraCapabilities objects from deserialized Parcels.
**/
- public static final Parcelable.Creator<CameraCapabilities> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<CameraCapabilities> CREATOR =
new Parcelable.Creator<CameraCapabilities> () {
/**
* Creates a CallCameraCapabilities instances from a parcel.
diff --git a/telecomm/java/android/telecom/Voicemail.java b/telecomm/java/android/telecom/Voicemail.java
index ca235bf..60a8a94 100644
--- a/telecomm/java/android/telecom/Voicemail.java
+++ b/telecomm/java/android/telecom/Voicemail.java
@@ -283,7 +283,7 @@
dest.writeCharSequence(mTranscription);
}
- public static final Creator<Voicemail> CREATOR
+ public static final @android.annotation.NonNull Creator<Voicemail> CREATOR
= new Creator<Voicemail>() {
@Override
public Voicemail createFromParcel(Parcel in) {
diff --git a/telephony/java/android/provider/Telephony.java b/telephony/java/android/provider/Telephony.java
index fecdb08..79b7807 100644
--- a/telephony/java/android/provider/Telephony.java
+++ b/telephony/java/android/provider/Telephony.java
@@ -17,6 +17,7 @@
package android.provider;
import android.annotation.IntDef;
+import android.annotation.NonNull;
import android.annotation.RequiresPermission;
import android.annotation.SdkConstant;
import android.annotation.SdkConstant.SdkConstantType;
@@ -4340,6 +4341,7 @@
* @param subscriptionId the subscriptionId to receive updates on
* @return the Uri used to observe precise carrier identity changes
*/
+ @NonNull
public static Uri getPreciseCarrierIdUriForSubscriptionId(int subscriptionId) {
return Uri.withAppendedPath(Uri.withAppendedPath(CONTENT_URI, "precise"),
String.valueOf(subscriptionId));
diff --git a/telephony/java/android/telephony/AvailableNetworkInfo.java b/telephony/java/android/telephony/AvailableNetworkInfo.java
index b407b2a..8a7153e 100644
--- a/telephony/java/android/telephony/AvailableNetworkInfo.java
+++ b/telephony/java/android/telephony/AvailableNetworkInfo.java
@@ -145,7 +145,7 @@
return Objects.hash(mSubId, mPriority, mMccMncs);
}
- public static final Parcelable.Creator<AvailableNetworkInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<AvailableNetworkInfo> CREATOR =
new Creator<AvailableNetworkInfo>() {
@Override
public AvailableNetworkInfo createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/CallAttributes.java b/telephony/java/android/telephony/CallAttributes.java
index 0d4f09f..368f0c6 100644
--- a/telephony/java/android/telephony/CallAttributes.java
+++ b/telephony/java/android/telephony/CallAttributes.java
@@ -138,7 +138,7 @@
dest.writeParcelable(mCallQuality, flags);
}
- public static final Parcelable.Creator<CallAttributes> CREATOR = new Parcelable.Creator() {
+ public static final @android.annotation.NonNull Parcelable.Creator<CallAttributes> CREATOR = new Parcelable.Creator() {
public CallAttributes createFromParcel(Parcel in) {
return new CallAttributes(in);
}
diff --git a/telephony/java/android/telephony/CallQuality.java b/telephony/java/android/telephony/CallQuality.java
index cbe62284..10a04a9 100644
--- a/telephony/java/android/telephony/CallQuality.java
+++ b/telephony/java/android/telephony/CallQuality.java
@@ -333,7 +333,7 @@
dest.writeInt(mCodecType);
}
- public static final Parcelable.Creator<CallQuality> CREATOR = new Parcelable.Creator() {
+ public static final @android.annotation.NonNull Parcelable.Creator<CallQuality> CREATOR = new Parcelable.Creator() {
public CallQuality createFromParcel(Parcel in) {
return new CallQuality(in);
}
diff --git a/telephony/java/android/telephony/CarrierRestrictionRules.java b/telephony/java/android/telephony/CarrierRestrictionRules.java
index d47b55c..47ce632 100644
--- a/telephony/java/android/telephony/CarrierRestrictionRules.java
+++ b/telephony/java/android/telephony/CarrierRestrictionRules.java
@@ -309,7 +309,7 @@
/**
* {@link Parcelable.Creator}
*/
- public static final Creator<CarrierRestrictionRules> CREATOR =
+ public static final @android.annotation.NonNull Creator<CarrierRestrictionRules> CREATOR =
new Creator<CarrierRestrictionRules>() {
@Override
public CarrierRestrictionRules createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/CellConfigLte.java b/telephony/java/android/telephony/CellConfigLte.java
index eafbfbc..4b57d71 100644
--- a/telephony/java/android/telephony/CellConfigLte.java
+++ b/telephony/java/android/telephony/CellConfigLte.java
@@ -96,7 +96,7 @@
mIsEndcAvailable = in.readBoolean();
}
- public static final Creator<CellConfigLte> CREATOR = new Creator<CellConfigLte>() {
+ public static final @android.annotation.NonNull Creator<CellConfigLte> CREATOR = new Creator<CellConfigLte>() {
@Override
public CellConfigLte createFromParcel(Parcel in) {
return new CellConfigLte(in);
diff --git a/telephony/java/android/telephony/CellIdentity.java b/telephony/java/android/telephony/CellIdentity.java
index 7655834..6c835dc 100644
--- a/telephony/java/android/telephony/CellIdentity.java
+++ b/telephony/java/android/telephony/CellIdentity.java
@@ -186,7 +186,7 @@
}
/** Implement the Parcelable interface */
- public static final Creator<CellIdentity> CREATOR =
+ public static final @android.annotation.NonNull Creator<CellIdentity> CREATOR =
new Creator<CellIdentity>() {
@Override
public CellIdentity createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/CellIdentityCdma.java b/telephony/java/android/telephony/CellIdentityCdma.java
index fa19867..daf80f5 100644
--- a/telephony/java/android/telephony/CellIdentityCdma.java
+++ b/telephony/java/android/telephony/CellIdentityCdma.java
@@ -244,7 +244,7 @@
/** Implement the Parcelable interface */
@SuppressWarnings("hiding")
- public static final Creator<CellIdentityCdma> CREATOR =
+ public static final @android.annotation.NonNull Creator<CellIdentityCdma> CREATOR =
new Creator<CellIdentityCdma>() {
@Override
public CellIdentityCdma createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/CellIdentityGsm.java b/telephony/java/android/telephony/CellIdentityGsm.java
index 9a24e47..6328afc 100644
--- a/telephony/java/android/telephony/CellIdentityGsm.java
+++ b/telephony/java/android/telephony/CellIdentityGsm.java
@@ -260,7 +260,7 @@
/** Implement the Parcelable interface */
@SuppressWarnings("hiding")
- public static final Creator<CellIdentityGsm> CREATOR =
+ public static final @android.annotation.NonNull Creator<CellIdentityGsm> CREATOR =
new Creator<CellIdentityGsm>() {
@Override
public CellIdentityGsm createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/CellIdentityLte.java b/telephony/java/android/telephony/CellIdentityLte.java
index 51393b9..e112004 100644
--- a/telephony/java/android/telephony/CellIdentityLte.java
+++ b/telephony/java/android/telephony/CellIdentityLte.java
@@ -294,7 +294,7 @@
/** Implement the Parcelable interface */
@SuppressWarnings("hiding")
- public static final Creator<CellIdentityLte> CREATOR =
+ public static final @android.annotation.NonNull Creator<CellIdentityLte> CREATOR =
new Creator<CellIdentityLte>() {
@Override
public CellIdentityLte createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/CellIdentityNr.java b/telephony/java/android/telephony/CellIdentityNr.java
index 856f081..b48388e 100644
--- a/telephony/java/android/telephony/CellIdentityNr.java
+++ b/telephony/java/android/telephony/CellIdentityNr.java
@@ -81,7 +81,8 @@
/**
* Get the NR Cell Identity.
*
- * @return The NR Cell Identity in range [0, 68719476735] or Long.MAX_VALUE if unknown.
+ * @return The 36-bit NR Cell Identity in range [0, 68719476735] or
+ * {@link CellInfo#UNAVAILABLE_LONG} if unknown.
*/
public long getNci() {
return mNci;
@@ -160,7 +161,7 @@
}
/** Implement the Parcelable interface */
- public static final Creator<CellIdentityNr> CREATOR =
+ public static final @android.annotation.NonNull Creator<CellIdentityNr> CREATOR =
new Creator<CellIdentityNr>() {
@Override
public CellIdentityNr createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/CellIdentityTdscdma.java b/telephony/java/android/telephony/CellIdentityTdscdma.java
index dba437a..10ffb80 100644
--- a/telephony/java/android/telephony/CellIdentityTdscdma.java
+++ b/telephony/java/android/telephony/CellIdentityTdscdma.java
@@ -226,7 +226,7 @@
/** Implement the Parcelable interface */
@SuppressWarnings("hiding")
- public static final Creator<CellIdentityTdscdma> CREATOR =
+ public static final @android.annotation.NonNull Creator<CellIdentityTdscdma> CREATOR =
new Creator<CellIdentityTdscdma>() {
@Override
public CellIdentityTdscdma createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/CellIdentityWcdma.java b/telephony/java/android/telephony/CellIdentityWcdma.java
index 6e09784..b1944af 100644
--- a/telephony/java/android/telephony/CellIdentityWcdma.java
+++ b/telephony/java/android/telephony/CellIdentityWcdma.java
@@ -251,7 +251,7 @@
/** Implement the Parcelable interface */
@SuppressWarnings("hiding")
- public static final Creator<CellIdentityWcdma> CREATOR =
+ public static final @android.annotation.NonNull Creator<CellIdentityWcdma> CREATOR =
new Creator<CellIdentityWcdma>() {
@Override
public CellIdentityWcdma createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/CellInfo.java b/telephony/java/android/telephony/CellInfo.java
index 8ce5c54..223f3ef 100644
--- a/telephony/java/android/telephony/CellInfo.java
+++ b/telephony/java/android/telephony/CellInfo.java
@@ -40,6 +40,11 @@
public static final int UNAVAILABLE = Integer.MAX_VALUE;
/**
+ * This value indicates that the long field is unreported.
+ */
+ public static final long UNAVAILABLE_LONG = Long.MAX_VALUE;
+
+ /**
* Cell identity type
* @hide
*/
@@ -284,7 +289,7 @@
}
/** Implement the Parcelable interface */
- public static final Creator<CellInfo> CREATOR = new Creator<CellInfo>() {
+ public static final @android.annotation.NonNull Creator<CellInfo> CREATOR = new Creator<CellInfo>() {
@Override
public CellInfo createFromParcel(Parcel in) {
int type = in.readInt();
diff --git a/telephony/java/android/telephony/CellInfoCdma.java b/telephony/java/android/telephony/CellInfoCdma.java
index 4440108..9c38506 100644
--- a/telephony/java/android/telephony/CellInfoCdma.java
+++ b/telephony/java/android/telephony/CellInfoCdma.java
@@ -156,7 +156,7 @@
}
/** Implement the Parcelable interface */
- public static final Creator<CellInfoCdma> CREATOR = new Creator<CellInfoCdma>() {
+ public static final @android.annotation.NonNull Creator<CellInfoCdma> CREATOR = new Creator<CellInfoCdma>() {
@Override
public CellInfoCdma createFromParcel(Parcel in) {
in.readInt(); // Skip past token, we know what it is
diff --git a/telephony/java/android/telephony/CellInfoGsm.java b/telephony/java/android/telephony/CellInfoGsm.java
index 248adfc..0d91f80 100644
--- a/telephony/java/android/telephony/CellInfoGsm.java
+++ b/telephony/java/android/telephony/CellInfoGsm.java
@@ -149,7 +149,7 @@
}
/** Implement the Parcelable interface */
- public static final Creator<CellInfoGsm> CREATOR = new Creator<CellInfoGsm>() {
+ public static final @android.annotation.NonNull Creator<CellInfoGsm> CREATOR = new Creator<CellInfoGsm>() {
@Override
public CellInfoGsm createFromParcel(Parcel in) {
in.readInt(); // Skip past token, we know what it is
diff --git a/telephony/java/android/telephony/CellInfoLte.java b/telephony/java/android/telephony/CellInfoLte.java
index 8e8ce8a..deae632 100644
--- a/telephony/java/android/telephony/CellInfoLte.java
+++ b/telephony/java/android/telephony/CellInfoLte.java
@@ -179,7 +179,7 @@
}
/** Implement the Parcelable interface */
- public static final Creator<CellInfoLte> CREATOR = new Creator<CellInfoLte>() {
+ public static final @android.annotation.NonNull Creator<CellInfoLte> CREATOR = new Creator<CellInfoLte>() {
@Override
public CellInfoLte createFromParcel(Parcel in) {
in.readInt(); // Skip past token, we know what it is
diff --git a/telephony/java/android/telephony/CellInfoNr.java b/telephony/java/android/telephony/CellInfoNr.java
index 11857a6..fb147ce 100644
--- a/telephony/java/android/telephony/CellInfoNr.java
+++ b/telephony/java/android/telephony/CellInfoNr.java
@@ -79,7 +79,7 @@
mCellSignalStrength.writeToParcel(dest, flags);
}
- public static final Creator<CellInfoNr> CREATOR = new Creator<CellInfoNr>() {
+ public static final @android.annotation.NonNull Creator<CellInfoNr> CREATOR = new Creator<CellInfoNr>() {
@Override
public CellInfoNr createFromParcel(Parcel in) {
// Skip the type info.
diff --git a/telephony/java/android/telephony/CellInfoTdscdma.java b/telephony/java/android/telephony/CellInfoTdscdma.java
index 2ab38fb..ae43bb2 100644
--- a/telephony/java/android/telephony/CellInfoTdscdma.java
+++ b/telephony/java/android/telephony/CellInfoTdscdma.java
@@ -149,7 +149,7 @@
}
/** Implement the Parcelable interface */
- public static final Creator<CellInfoTdscdma> CREATOR = new Creator<CellInfoTdscdma>() {
+ public static final @android.annotation.NonNull Creator<CellInfoTdscdma> CREATOR = new Creator<CellInfoTdscdma>() {
@Override
public CellInfoTdscdma createFromParcel(Parcel in) {
in.readInt(); // Skip past token, we know what it is
diff --git a/telephony/java/android/telephony/CellInfoWcdma.java b/telephony/java/android/telephony/CellInfoWcdma.java
index 65e0470..d2287ea 100644
--- a/telephony/java/android/telephony/CellInfoWcdma.java
+++ b/telephony/java/android/telephony/CellInfoWcdma.java
@@ -149,7 +149,7 @@
}
/** Implement the Parcelable interface */
- public static final Creator<CellInfoWcdma> CREATOR = new Creator<CellInfoWcdma>() {
+ public static final @android.annotation.NonNull Creator<CellInfoWcdma> CREATOR = new Creator<CellInfoWcdma>() {
@Override
public CellInfoWcdma createFromParcel(Parcel in) {
in.readInt(); // Skip past token, we know what it is
diff --git a/telephony/java/android/telephony/CellSignalStrengthCdma.java b/telephony/java/android/telephony/CellSignalStrengthCdma.java
index 47faf1e..5b19599 100644
--- a/telephony/java/android/telephony/CellSignalStrengthCdma.java
+++ b/telephony/java/android/telephony/CellSignalStrengthCdma.java
@@ -464,7 +464,7 @@
/** Implement the Parcelable interface */
@SuppressWarnings("hiding")
- public static final Parcelable.Creator<CellSignalStrengthCdma> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<CellSignalStrengthCdma> CREATOR =
new Parcelable.Creator<CellSignalStrengthCdma>() {
@Override
public CellSignalStrengthCdma createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/CellSignalStrengthGsm.java b/telephony/java/android/telephony/CellSignalStrengthGsm.java
index a4207c9..3dea6f4 100644
--- a/telephony/java/android/telephony/CellSignalStrengthGsm.java
+++ b/telephony/java/android/telephony/CellSignalStrengthGsm.java
@@ -226,7 +226,7 @@
/** Implement the Parcelable interface */
@SuppressWarnings("hiding")
- public static final Parcelable.Creator<CellSignalStrengthGsm> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<CellSignalStrengthGsm> CREATOR =
new Parcelable.Creator<CellSignalStrengthGsm>() {
@Override
public CellSignalStrengthGsm createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/CellSignalStrengthLte.java b/telephony/java/android/telephony/CellSignalStrengthLte.java
index 61c6b48..5687ada 100644
--- a/telephony/java/android/telephony/CellSignalStrengthLte.java
+++ b/telephony/java/android/telephony/CellSignalStrengthLte.java
@@ -432,7 +432,7 @@
/** Implement the Parcelable interface */
@SuppressWarnings("hiding")
- public static final Parcelable.Creator<CellSignalStrengthLte> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<CellSignalStrengthLte> CREATOR =
new Parcelable.Creator<CellSignalStrengthLte>() {
@Override
public CellSignalStrengthLte createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/CellSignalStrengthNr.java b/telephony/java/android/telephony/CellSignalStrengthNr.java
index 6f84ec5..fff3adf 100644
--- a/telephony/java/android/telephony/CellSignalStrengthNr.java
+++ b/telephony/java/android/telephony/CellSignalStrengthNr.java
@@ -289,7 +289,7 @@
}
/** Implement the Parcelable interface */
- public static final Parcelable.Creator<CellSignalStrengthNr> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<CellSignalStrengthNr> CREATOR =
new Parcelable.Creator<CellSignalStrengthNr>() {
@Override
public CellSignalStrengthNr createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/CellSignalStrengthTdscdma.java b/telephony/java/android/telephony/CellSignalStrengthTdscdma.java
index 5ae89b0..e79643f 100644
--- a/telephony/java/android/telephony/CellSignalStrengthTdscdma.java
+++ b/telephony/java/android/telephony/CellSignalStrengthTdscdma.java
@@ -237,7 +237,7 @@
/** Implement the Parcelable interface */
@SuppressWarnings("hiding")
- public static final Parcelable.Creator<CellSignalStrengthTdscdma> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<CellSignalStrengthTdscdma> CREATOR =
new Parcelable.Creator<CellSignalStrengthTdscdma>() {
@Override
public CellSignalStrengthTdscdma createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/CellSignalStrengthWcdma.java b/telephony/java/android/telephony/CellSignalStrengthWcdma.java
index efa3647..d9fd7f3 100644
--- a/telephony/java/android/telephony/CellSignalStrengthWcdma.java
+++ b/telephony/java/android/telephony/CellSignalStrengthWcdma.java
@@ -333,7 +333,7 @@
/** Implement the Parcelable interface */
@SuppressWarnings("hiding")
- public static final Parcelable.Creator<CellSignalStrengthWcdma> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<CellSignalStrengthWcdma> CREATOR =
new Parcelable.Creator<CellSignalStrengthWcdma>() {
@Override
public CellSignalStrengthWcdma createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/ClientRequestStats.java b/telephony/java/android/telephony/ClientRequestStats.java
index 381c847..c787893 100644
--- a/telephony/java/android/telephony/ClientRequestStats.java
+++ b/telephony/java/android/telephony/ClientRequestStats.java
@@ -29,7 +29,7 @@
* @hide
*/
public final class ClientRequestStats implements Parcelable {
- public static final Parcelable.Creator<ClientRequestStats> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ClientRequestStats> CREATOR =
new Parcelable.Creator<ClientRequestStats>() {
public ClientRequestStats createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/DataConnectionRealTimeInfo.java b/telephony/java/android/telephony/DataConnectionRealTimeInfo.java
index fc4e17a..8106f5f 100644
--- a/telephony/java/android/telephony/DataConnectionRealTimeInfo.java
+++ b/telephony/java/android/telephony/DataConnectionRealTimeInfo.java
@@ -92,7 +92,7 @@
out.writeInt(mDcPowerState);
}
- public static final Parcelable.Creator<DataConnectionRealTimeInfo> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<DataConnectionRealTimeInfo> CREATOR
= new Parcelable.Creator<DataConnectionRealTimeInfo>() {
@Override
diff --git a/telephony/java/android/telephony/DataSpecificRegistrationStates.java b/telephony/java/android/telephony/DataSpecificRegistrationStates.java
index c3387f3..8eb345a 100644
--- a/telephony/java/android/telephony/DataSpecificRegistrationStates.java
+++ b/telephony/java/android/telephony/DataSpecificRegistrationStates.java
@@ -123,7 +123,7 @@
&& this.lteVopsSupportInfo.equals(other.lteVopsSupportInfo);
}
- public static final Parcelable.Creator<DataSpecificRegistrationStates> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<DataSpecificRegistrationStates> CREATOR =
new Parcelable.Creator<DataSpecificRegistrationStates>() {
@Override
public DataSpecificRegistrationStates createFromParcel(Parcel source) {
diff --git a/telephony/java/android/telephony/IccOpenLogicalChannelResponse.java b/telephony/java/android/telephony/IccOpenLogicalChannelResponse.java
index 4621f91..44ba70c 100644
--- a/telephony/java/android/telephony/IccOpenLogicalChannelResponse.java
+++ b/telephony/java/android/telephony/IccOpenLogicalChannelResponse.java
@@ -110,7 +110,7 @@
}
}
- public static final Parcelable.Creator<IccOpenLogicalChannelResponse> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<IccOpenLogicalChannelResponse> CREATOR
= new Parcelable.Creator<IccOpenLogicalChannelResponse>() {
@Override
diff --git a/telephony/java/android/telephony/ImsiEncryptionInfo.java b/telephony/java/android/telephony/ImsiEncryptionInfo.java
index d2680ad..ef2f121 100644
--- a/telephony/java/android/telephony/ImsiEncryptionInfo.java
+++ b/telephony/java/android/telephony/ImsiEncryptionInfo.java
@@ -115,7 +115,7 @@
return 0;
}
- public static final Parcelable.Creator<ImsiEncryptionInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ImsiEncryptionInfo> CREATOR =
new Parcelable.Creator<ImsiEncryptionInfo>() {
@Override
public ImsiEncryptionInfo createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/LteVopsSupportInfo.java b/telephony/java/android/telephony/LteVopsSupportInfo.java
index 0ae85c0..ee45f07 100644
--- a/telephony/java/android/telephony/LteVopsSupportInfo.java
+++ b/telephony/java/android/telephony/LteVopsSupportInfo.java
@@ -117,7 +117,7 @@
+ " mEmcBearerSupport = " + mEmcBearerSupport);
}
- public static final Creator<LteVopsSupportInfo> CREATOR =
+ public static final @android.annotation.NonNull Creator<LteVopsSupportInfo> CREATOR =
new Creator<LteVopsSupportInfo>() {
@Override
public LteVopsSupportInfo createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/ModemActivityInfo.java b/telephony/java/android/telephony/ModemActivityInfo.java
index 521adef..a0af392 100644
--- a/telephony/java/android/telephony/ModemActivityInfo.java
+++ b/telephony/java/android/telephony/ModemActivityInfo.java
@@ -71,7 +71,7 @@
return 0;
}
- public static final Parcelable.Creator<ModemActivityInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ModemActivityInfo> CREATOR =
new Parcelable.Creator<ModemActivityInfo>() {
public ModemActivityInfo createFromParcel(Parcel in) {
long timestamp = in.readLong();
diff --git a/telephony/java/android/telephony/ModemInfo.java b/telephony/java/android/telephony/ModemInfo.java
index 27a5121..c0833af 100644
--- a/telephony/java/android/telephony/ModemInfo.java
+++ b/telephony/java/android/telephony/ModemInfo.java
@@ -97,7 +97,7 @@
dest.writeBoolean(isDataSupported);
}
- public static final Parcelable.Creator<ModemInfo> CREATOR = new Parcelable.Creator() {
+ public static final @android.annotation.NonNull Parcelable.Creator<ModemInfo> CREATOR = new Parcelable.Creator() {
public ModemInfo createFromParcel(Parcel in) {
return new ModemInfo(in);
}
diff --git a/telephony/java/android/telephony/NeighboringCellInfo.java b/telephony/java/android/telephony/NeighboringCellInfo.java
index 1c615ab..023ed30 100644
--- a/telephony/java/android/telephony/NeighboringCellInfo.java
+++ b/telephony/java/android/telephony/NeighboringCellInfo.java
@@ -331,7 +331,7 @@
dest.writeInt(mNetworkType);
}
- public static final Parcelable.Creator<NeighboringCellInfo> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<NeighboringCellInfo> CREATOR
= new Parcelable.Creator<NeighboringCellInfo>() {
public NeighboringCellInfo createFromParcel(Parcel in) {
return new NeighboringCellInfo(in);
diff --git a/telephony/java/android/telephony/NetworkRegistrationState.java b/telephony/java/android/telephony/NetworkRegistrationState.java
index 84d6628..9614dc5 100644
--- a/telephony/java/android/telephony/NetworkRegistrationState.java
+++ b/telephony/java/android/telephony/NetworkRegistrationState.java
@@ -509,7 +509,7 @@
}
}
- public static final Parcelable.Creator<NetworkRegistrationState> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<NetworkRegistrationState> CREATOR =
new Parcelable.Creator<NetworkRegistrationState>() {
@Override
public NetworkRegistrationState createFromParcel(Parcel source) {
diff --git a/telephony/java/android/telephony/NetworkScanRequest.java b/telephony/java/android/telephony/NetworkScanRequest.java
index 38678a3..465b6aa 100644
--- a/telephony/java/android/telephony/NetworkScanRequest.java
+++ b/telephony/java/android/telephony/NetworkScanRequest.java
@@ -267,7 +267,7 @@
+ (mMccMncs.hashCode() * 59));
}
- public static final Creator<NetworkScanRequest> CREATOR =
+ public static final @android.annotation.NonNull Creator<NetworkScanRequest> CREATOR =
new Creator<NetworkScanRequest>() {
@Override
public NetworkScanRequest createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/PcoData.java b/telephony/java/android/telephony/PcoData.java
index 3e735e7..bcfbcf8b 100644
--- a/telephony/java/android/telephony/PcoData.java
+++ b/telephony/java/android/telephony/PcoData.java
@@ -69,7 +69,7 @@
*
* @hide
*/
- public static final Parcelable.Creator<PcoData> CREATOR = new Parcelable.Creator() {
+ public static final @android.annotation.NonNull Parcelable.Creator<PcoData> CREATOR = new Parcelable.Creator() {
public PcoData createFromParcel(Parcel in) {
return new PcoData(in);
}
diff --git a/telephony/java/android/telephony/PhoneCapability.java b/telephony/java/android/telephony/PhoneCapability.java
index 21dad77..119f587 100644
--- a/telephony/java/android/telephony/PhoneCapability.java
+++ b/telephony/java/android/telephony/PhoneCapability.java
@@ -105,7 +105,7 @@
dest.writeList(logicalModemList);
}
- public static final Parcelable.Creator<PhoneCapability> CREATOR = new Parcelable.Creator() {
+ public static final @android.annotation.NonNull Parcelable.Creator<PhoneCapability> CREATOR = new Parcelable.Creator() {
public PhoneCapability createFromParcel(Parcel in) {
return new PhoneCapability(in);
}
diff --git a/telephony/java/android/telephony/PhoneNumberRange.java b/telephony/java/android/telephony/PhoneNumberRange.java
index dba803b..2c66503 100644
--- a/telephony/java/android/telephony/PhoneNumberRange.java
+++ b/telephony/java/android/telephony/PhoneNumberRange.java
@@ -43,7 +43,7 @@
*/
@SystemApi
public final class PhoneNumberRange implements Parcelable {
- public static final Creator<PhoneNumberRange> CREATOR = new Creator<PhoneNumberRange>() {
+ public static final @android.annotation.NonNull Creator<PhoneNumberRange> CREATOR = new Creator<PhoneNumberRange>() {
@Override
public PhoneNumberRange createFromParcel(Parcel in) {
return new PhoneNumberRange(in);
diff --git a/telephony/java/android/telephony/PhoneStateListener.java b/telephony/java/android/telephony/PhoneStateListener.java
index bb0673f..5fd36f4 100644
--- a/telephony/java/android/telephony/PhoneStateListener.java
+++ b/telephony/java/android/telephony/PhoneStateListener.java
@@ -609,7 +609,7 @@
@RequiresPermission((android.Manifest.permission.READ_PRECISE_PHONE_STATE))
@SystemApi
public void onPreciseDataConnectionStateChanged(
- PreciseDataConnectionState dataConnectionState) {
+ @NonNull PreciseDataConnectionState dataConnectionState) {
// default implementation empty
}
diff --git a/telephony/java/android/telephony/PhysicalChannelConfig.java b/telephony/java/android/telephony/PhysicalChannelConfig.java
index 22ddb4a..e1763ab 100644
--- a/telephony/java/android/telephony/PhysicalChannelConfig.java
+++ b/telephony/java/android/telephony/PhysicalChannelConfig.java
@@ -222,7 +222,7 @@
mChannelNumber, mPhysicalCellId, mContextIds);
}
- public static final Parcelable.Creator<PhysicalChannelConfig> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<PhysicalChannelConfig> CREATOR =
new Parcelable.Creator<PhysicalChannelConfig>() {
public PhysicalChannelConfig createFromParcel(Parcel in) {
return new PhysicalChannelConfig(in);
diff --git a/telephony/java/android/telephony/PreciseCallState.java b/telephony/java/android/telephony/PreciseCallState.java
index 19e1931..5fb9bac 100644
--- a/telephony/java/android/telephony/PreciseCallState.java
+++ b/telephony/java/android/telephony/PreciseCallState.java
@@ -257,7 +257,7 @@
out.writeInt(mPreciseDisconnectCause);
}
- public static final Parcelable.Creator<PreciseCallState> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<PreciseCallState> CREATOR
= new Parcelable.Creator<PreciseCallState>() {
public PreciseCallState createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/PreciseDataConnectionState.java b/telephony/java/android/telephony/PreciseDataConnectionState.java
index 57a1826..cd4fbac 100644
--- a/telephony/java/android/telephony/PreciseDataConnectionState.java
+++ b/telephony/java/android/telephony/PreciseDataConnectionState.java
@@ -16,6 +16,8 @@
package android.telephony;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
import android.annotation.SystemApi;
import android.annotation.UnsupportedAppUsage;
import android.net.LinkProperties;
@@ -25,6 +27,7 @@
import java.util.Objects;
+
/**
* Contains precise data connection state.
*
@@ -119,6 +122,7 @@
/**
* Returns APN {@link ApnSetting} of this data connection.
*/
+ @Nullable
public String getDataConnectionApn() {
return mAPN;
}
@@ -154,7 +158,7 @@
out.writeInt(mFailCause);
}
- public static final Parcelable.Creator<PreciseDataConnectionState> CREATOR
+ public static final @android.annotation.NonNull Parcelable.Creator<PreciseDataConnectionState> CREATOR
= new Parcelable.Creator<PreciseDataConnectionState>() {
public PreciseDataConnectionState createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/RadioAccessFamily.java b/telephony/java/android/telephony/RadioAccessFamily.java
index c1786be..4fdfcbe0 100644
--- a/telephony/java/android/telephony/RadioAccessFamily.java
+++ b/telephony/java/android/telephony/RadioAccessFamily.java
@@ -152,7 +152,7 @@
/**
* Implement the Parcelable interface.
*/
- public static final Creator<android.telephony.RadioAccessFamily> CREATOR =
+ public static final @android.annotation.NonNull Creator<android.telephony.RadioAccessFamily> CREATOR =
new Creator<android.telephony.RadioAccessFamily>() {
@Override
diff --git a/telephony/java/android/telephony/RadioAccessSpecifier.java b/telephony/java/android/telephony/RadioAccessSpecifier.java
index 81e7ed0..690e44a 100644
--- a/telephony/java/android/telephony/RadioAccessSpecifier.java
+++ b/telephony/java/android/telephony/RadioAccessSpecifier.java
@@ -109,7 +109,7 @@
return mChannels == null ? null : mChannels.clone();
}
- public static final Parcelable.Creator<RadioAccessSpecifier> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<RadioAccessSpecifier> CREATOR =
new Parcelable.Creator<RadioAccessSpecifier> (){
@Override
public RadioAccessSpecifier createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/ServiceState.java b/telephony/java/android/telephony/ServiceState.java
index 3dc1199..03f6351 100644
--- a/telephony/java/android/telephony/ServiceState.java
+++ b/telephony/java/android/telephony/ServiceState.java
@@ -498,7 +498,7 @@
return 0;
}
- public static final Parcelable.Creator<ServiceState> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ServiceState> CREATOR =
new Parcelable.Creator<ServiceState>() {
public ServiceState createFromParcel(Parcel in) {
return new ServiceState(in);
diff --git a/telephony/java/android/telephony/SignalStrength.java b/telephony/java/android/telephony/SignalStrength.java
index d461bd0..c516d97 100644
--- a/telephony/java/android/telephony/SignalStrength.java
+++ b/telephony/java/android/telephony/SignalStrength.java
@@ -341,7 +341,7 @@
* @hide
*/
@UnsupportedAppUsage
- public static final Parcelable.Creator<SignalStrength> CREATOR = new Parcelable.Creator() {
+ public static final @android.annotation.NonNull Parcelable.Creator<SignalStrength> CREATOR = new Parcelable.Creator() {
public SignalStrength createFromParcel(Parcel in) {
return new SignalStrength(in);
}
diff --git a/telephony/java/android/telephony/SubscriptionInfo.java b/telephony/java/android/telephony/SubscriptionInfo.java
index 108af61..fb6f39d 100644
--- a/telephony/java/android/telephony/SubscriptionInfo.java
+++ b/telephony/java/android/telephony/SubscriptionInfo.java
@@ -602,7 +602,7 @@
return mIsGroupDisabled;
}
- public static final Parcelable.Creator<SubscriptionInfo> CREATOR = new Parcelable.Creator<SubscriptionInfo>() {
+ public static final @android.annotation.NonNull Parcelable.Creator<SubscriptionInfo> CREATOR = new Parcelable.Creator<SubscriptionInfo>() {
@Override
public SubscriptionInfo createFromParcel(Parcel source) {
int id = source.readInt();
diff --git a/telephony/java/android/telephony/SubscriptionManager.java b/telephony/java/android/telephony/SubscriptionManager.java
index d6d3a89..e0b7fc4 100644
--- a/telephony/java/android/telephony/SubscriptionManager.java
+++ b/telephony/java/android/telephony/SubscriptionManager.java
@@ -154,6 +154,7 @@
* {@link Uri#withAppendedPath(Uri, String)}.
* @hide
*/
+ @NonNull
@SystemApi
public static final Uri WFC_ENABLED_CONTENT_URI = Uri.withAppendedPath(CONTENT_URI, "wfc");
@@ -172,6 +173,7 @@
* {@link Uri#withAppendedPath(Uri, String)}.
* @hide
*/
+ @NonNull
@SystemApi
public static final Uri ADVANCED_CALLING_ENABLED_CONTENT_URI = Uri.withAppendedPath(
CONTENT_URI, "advanced_calling");
@@ -189,6 +191,7 @@
* {@link Uri#withAppendedPath(Uri, String)}.
* @hide
*/
+ @NonNull
@SystemApi
public static final Uri WFC_MODE_CONTENT_URI = Uri.withAppendedPath(CONTENT_URI, "wfc_mode");
@@ -205,6 +208,7 @@
* {@link Uri#withAppendedPath(Uri, String)}.
* @hide
*/
+ @NonNull
@SystemApi
public static final Uri WFC_ROAMING_MODE_CONTENT_URI = Uri.withAppendedPath(
CONTENT_URI, "wfc_roaming_mode");
@@ -223,6 +227,7 @@
* {@link Uri#withAppendedPath(Uri, String)}.
* @hide
*/
+ @NonNull
@SystemApi
public static final Uri VT_ENABLED_CONTENT_URI = Uri.withAppendedPath(
CONTENT_URI, "vt_enabled");
@@ -240,6 +245,7 @@
* {@link Uri#withAppendedPath(Uri, String)}.
* @hide
*/
+ @NonNull
@SystemApi
public static final Uri WFC_ROAMING_ENABLED_CONTENT_URI = Uri.withAppendedPath(
CONTENT_URI, "wfc_roaming_enabled");
diff --git a/telephony/java/android/telephony/SubscriptionPlan.java b/telephony/java/android/telephony/SubscriptionPlan.java
index d67169c..e0838b3 100644
--- a/telephony/java/android/telephony/SubscriptionPlan.java
+++ b/telephony/java/android/telephony/SubscriptionPlan.java
@@ -145,7 +145,7 @@
return false;
}
- public static final Parcelable.Creator<SubscriptionPlan> CREATOR = new Parcelable.Creator<SubscriptionPlan>() {
+ public static final @android.annotation.NonNull Parcelable.Creator<SubscriptionPlan> CREATOR = new Parcelable.Creator<SubscriptionPlan>() {
@Override
public SubscriptionPlan createFromParcel(Parcel source) {
return new SubscriptionPlan(source);
diff --git a/telephony/java/android/telephony/TelephonyHistogram.java b/telephony/java/android/telephony/TelephonyHistogram.java
index e1c3d7b..63bdac5 100644
--- a/telephony/java/android/telephony/TelephonyHistogram.java
+++ b/telephony/java/android/telephony/TelephonyHistogram.java
@@ -256,7 +256,7 @@
}
}
- public static final Parcelable.Creator<TelephonyHistogram> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<TelephonyHistogram> CREATOR =
new Parcelable.Creator<TelephonyHistogram> () {
@Override
diff --git a/telephony/java/android/telephony/UiccAccessRule.java b/telephony/java/android/telephony/UiccAccessRule.java
index d8836dc..37a4491 100644
--- a/telephony/java/android/telephony/UiccAccessRule.java
+++ b/telephony/java/android/telephony/UiccAccessRule.java
@@ -47,7 +47,7 @@
private static final int ENCODING_VERSION = 1;
- public static final Creator<UiccAccessRule> CREATOR = new Creator<UiccAccessRule>() {
+ public static final @android.annotation.NonNull Creator<UiccAccessRule> CREATOR = new Creator<UiccAccessRule>() {
@Override
public UiccAccessRule createFromParcel(Parcel in) {
return new UiccAccessRule(in);
diff --git a/telephony/java/android/telephony/UiccCardInfo.java b/telephony/java/android/telephony/UiccCardInfo.java
index d95a499..2c98c4d 100644
--- a/telephony/java/android/telephony/UiccCardInfo.java
+++ b/telephony/java/android/telephony/UiccCardInfo.java
@@ -34,7 +34,7 @@
private final int mSlotIndex;
private final boolean mIsRemovable;
- public static final Creator<UiccCardInfo> CREATOR = new Creator<UiccCardInfo>() {
+ public static final @android.annotation.NonNull Creator<UiccCardInfo> CREATOR = new Creator<UiccCardInfo>() {
@Override
public UiccCardInfo createFromParcel(Parcel in) {
return new UiccCardInfo(in);
diff --git a/telephony/java/android/telephony/UiccSlotInfo.java b/telephony/java/android/telephony/UiccSlotInfo.java
index 93a7da0..785d7ae 100644
--- a/telephony/java/android/telephony/UiccSlotInfo.java
+++ b/telephony/java/android/telephony/UiccSlotInfo.java
@@ -63,7 +63,7 @@
private final boolean mIsExtendedApduSupported;
private final boolean mIsRemovable;
- public static final Creator<UiccSlotInfo> CREATOR = new Creator<UiccSlotInfo>() {
+ public static final @android.annotation.NonNull Creator<UiccSlotInfo> CREATOR = new Creator<UiccSlotInfo>() {
@Override
public UiccSlotInfo createFromParcel(Parcel in) {
return new UiccSlotInfo(in);
diff --git a/telephony/java/android/telephony/UssdResponse.java b/telephony/java/android/telephony/UssdResponse.java
index 5df681d..19756b5 100644
--- a/telephony/java/android/telephony/UssdResponse.java
+++ b/telephony/java/android/telephony/UssdResponse.java
@@ -63,7 +63,7 @@
mReturnMessage = returnMessage;
}
- public static final Parcelable.Creator<UssdResponse> CREATOR = new Creator<UssdResponse>() {
+ public static final @android.annotation.NonNull Parcelable.Creator<UssdResponse> CREATOR = new Creator<UssdResponse>() {
@Override
public UssdResponse createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/VisualVoicemailSms.java b/telephony/java/android/telephony/VisualVoicemailSms.java
index 1e6ea4b..085f882 100644
--- a/telephony/java/android/telephony/VisualVoicemailSms.java
+++ b/telephony/java/android/telephony/VisualVoicemailSms.java
@@ -116,7 +116,7 @@
}
- public static final Creator<VisualVoicemailSms> CREATOR =
+ public static final @android.annotation.NonNull Creator<VisualVoicemailSms> CREATOR =
new Creator<VisualVoicemailSms>() {
@Override
public VisualVoicemailSms createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/VisualVoicemailSmsFilterSettings.java b/telephony/java/android/telephony/VisualVoicemailSmsFilterSettings.java
index 7eeb1ce..e8f3f1e 100644
--- a/telephony/java/android/telephony/VisualVoicemailSmsFilterSettings.java
+++ b/telephony/java/android/telephony/VisualVoicemailSmsFilterSettings.java
@@ -162,7 +162,7 @@
packageName = builder.mPackageName;
}
- public static final Creator<VisualVoicemailSmsFilterSettings> CREATOR =
+ public static final @android.annotation.NonNull Creator<VisualVoicemailSmsFilterSettings> CREATOR =
new Creator<VisualVoicemailSmsFilterSettings>() {
@Override
public VisualVoicemailSmsFilterSettings createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/VoLteServiceState.java b/telephony/java/android/telephony/VoLteServiceState.java
index d0b7519..f65c7b0 100644
--- a/telephony/java/android/telephony/VoLteServiceState.java
+++ b/telephony/java/android/telephony/VoLteServiceState.java
@@ -145,7 +145,7 @@
*
* @hide
*/
- public static final Parcelable.Creator<VoLteServiceState> CREATOR = new Parcelable.Creator() {
+ public static final @android.annotation.NonNull Parcelable.Creator<VoLteServiceState> CREATOR = new Parcelable.Creator() {
public VoLteServiceState createFromParcel(Parcel in) {
return new VoLteServiceState(in);
}
diff --git a/telephony/java/android/telephony/VoiceSpecificRegistrationStates.java b/telephony/java/android/telephony/VoiceSpecificRegistrationStates.java
index 871ee4d..d8ce5b4 100644
--- a/telephony/java/android/telephony/VoiceSpecificRegistrationStates.java
+++ b/telephony/java/android/telephony/VoiceSpecificRegistrationStates.java
@@ -99,7 +99,7 @@
}
- public static final Parcelable.Creator<VoiceSpecificRegistrationStates> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<VoiceSpecificRegistrationStates> CREATOR =
new Parcelable.Creator<VoiceSpecificRegistrationStates>() {
@Override
public VoiceSpecificRegistrationStates createFromParcel(Parcel source) {
diff --git a/telephony/java/android/telephony/data/ApnSetting.java b/telephony/java/android/telephony/data/ApnSetting.java
index 0e69530..a4ed775 100644
--- a/telephony/java/android/telephony/data/ApnSetting.java
+++ b/telephony/java/android/telephony/data/ApnSetting.java
@@ -1410,7 +1410,7 @@
0, 0, 0, 0, mvnoType, null, apnSetId, carrierId);
}
- public static final Parcelable.Creator<ApnSetting> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ApnSetting> CREATOR =
new Parcelable.Creator<ApnSetting>() {
@Override
public ApnSetting createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/data/DataCallResponse.java b/telephony/java/android/telephony/data/DataCallResponse.java
index 3d2fe5f..6024143 100644
--- a/telephony/java/android/telephony/data/DataCallResponse.java
+++ b/telephony/java/android/telephony/data/DataCallResponse.java
@@ -244,7 +244,7 @@
dest.writeInt(mMtu);
}
- public static final Parcelable.Creator<DataCallResponse> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<DataCallResponse> CREATOR =
new Parcelable.Creator<DataCallResponse>() {
@Override
public DataCallResponse createFromParcel(Parcel source) {
diff --git a/telephony/java/android/telephony/data/DataProfile.java b/telephony/java/android/telephony/data/DataProfile.java
index 1d196f9..f45954b 100644
--- a/telephony/java/android/telephony/data/DataProfile.java
+++ b/telephony/java/android/telephony/data/DataProfile.java
@@ -284,7 +284,7 @@
}
/** @hide */
- public static final Parcelable.Creator<DataProfile> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<DataProfile> CREATOR =
new Parcelable.Creator<DataProfile>() {
@Override
public DataProfile createFromParcel(Parcel source) {
diff --git a/telephony/java/android/telephony/emergency/EmergencyNumber.java b/telephony/java/android/telephony/emergency/EmergencyNumber.java
index e68256d..5373c38 100644
--- a/telephony/java/android/telephony/emergency/EmergencyNumber.java
+++ b/telephony/java/android/telephony/emergency/EmergencyNumber.java
@@ -281,7 +281,7 @@
dest.writeInt(mEmergencyCallRouting);
}
- public static final Parcelable.Creator<EmergencyNumber> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<EmergencyNumber> CREATOR =
new Parcelable.Creator<EmergencyNumber>() {
@Override
public EmergencyNumber createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/euicc/DownloadableSubscription.java b/telephony/java/android/telephony/euicc/DownloadableSubscription.java
index f1d5bdd..cb27f64 100644
--- a/telephony/java/android/telephony/euicc/DownloadableSubscription.java
+++ b/telephony/java/android/telephony/euicc/DownloadableSubscription.java
@@ -38,7 +38,7 @@
*/
public final class DownloadableSubscription implements Parcelable {
- public static final Creator<DownloadableSubscription> CREATOR =
+ public static final @android.annotation.NonNull Creator<DownloadableSubscription> CREATOR =
new Creator<DownloadableSubscription>() {
@Override
public DownloadableSubscription createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/euicc/EuiccInfo.java b/telephony/java/android/telephony/euicc/EuiccInfo.java
index 28855b2..91ebb6c 100644
--- a/telephony/java/android/telephony/euicc/EuiccInfo.java
+++ b/telephony/java/android/telephony/euicc/EuiccInfo.java
@@ -30,7 +30,7 @@
// own APIs guarded with appropriate permission checks.
public final class EuiccInfo implements Parcelable {
- public static final Creator<EuiccInfo> CREATOR =
+ public static final @android.annotation.NonNull Creator<EuiccInfo> CREATOR =
new Creator<EuiccInfo>() {
@Override
public EuiccInfo createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/euicc/EuiccNotification.java b/telephony/java/android/telephony/euicc/EuiccNotification.java
index 43a7707..b27f775 100644
--- a/telephony/java/android/telephony/euicc/EuiccNotification.java
+++ b/telephony/java/android/telephony/euicc/EuiccNotification.java
@@ -165,7 +165,7 @@
mData = source.createByteArray();
}
- public static final Creator<EuiccNotification> CREATOR =
+ public static final @android.annotation.NonNull Creator<EuiccNotification> CREATOR =
new Creator<EuiccNotification>() {
@Override
public EuiccNotification createFromParcel(Parcel source) {
diff --git a/telephony/java/android/telephony/euicc/EuiccRulesAuthTable.java b/telephony/java/android/telephony/euicc/EuiccRulesAuthTable.java
index 67ae983..89842ae 100644
--- a/telephony/java/android/telephony/euicc/EuiccRulesAuthTable.java
+++ b/telephony/java/android/telephony/euicc/EuiccRulesAuthTable.java
@@ -249,7 +249,7 @@
mPolicyRuleFlags = source.createIntArray();
}
- public static final Creator<EuiccRulesAuthTable> CREATOR =
+ public static final @android.annotation.NonNull Creator<EuiccRulesAuthTable> CREATOR =
new Creator<EuiccRulesAuthTable>() {
@Override
public EuiccRulesAuthTable createFromParcel(Parcel source) {
diff --git a/telephony/java/android/telephony/ims/ImsCallForwardInfo.java b/telephony/java/android/telephony/ims/ImsCallForwardInfo.java
index 70daa8b..9b72d58 100644
--- a/telephony/java/android/telephony/ims/ImsCallForwardInfo.java
+++ b/telephony/java/android/telephony/ims/ImsCallForwardInfo.java
@@ -204,7 +204,7 @@
mServiceClass = in.readInt();
}
- public static final Creator<ImsCallForwardInfo> CREATOR =
+ public static final @android.annotation.NonNull Creator<ImsCallForwardInfo> CREATOR =
new Creator<ImsCallForwardInfo>() {
@Override
public ImsCallForwardInfo createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/ims/ImsCallProfile.java b/telephony/java/android/telephony/ims/ImsCallProfile.java
index 47c8de5..793ac3c 100644
--- a/telephony/java/android/telephony/ims/ImsCallProfile.java
+++ b/telephony/java/android/telephony/ims/ImsCallProfile.java
@@ -583,7 +583,7 @@
mHasKnownUserIntentEmergency = in.readBoolean();
}
- public static final Creator<ImsCallProfile> CREATOR = new Creator<ImsCallProfile>() {
+ public static final @android.annotation.NonNull Creator<ImsCallProfile> CREATOR = new Creator<ImsCallProfile>() {
@Override
public ImsCallProfile createFromParcel(Parcel in) {
return new ImsCallProfile(in);
diff --git a/telephony/java/android/telephony/ims/ImsConferenceState.java b/telephony/java/android/telephony/ims/ImsConferenceState.java
index 66d2f8d..44595b5 100644
--- a/telephony/java/android/telephony/ims/ImsConferenceState.java
+++ b/telephony/java/android/telephony/ims/ImsConferenceState.java
@@ -16,17 +16,18 @@
package android.telephony.ims;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map.Entry;
-import java.util.Set;
-
import android.annotation.SystemApi;
import android.os.Bundle;
import android.os.Parcel;
import android.os.Parcelable;
import android.telecom.Call;
import android.telecom.Connection;
+import android.telecom.Log;
+
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map.Entry;
+import java.util.Set;
/**
* Provides the conference information (defined in RFC 4575) for IMS conference call.
@@ -134,7 +135,7 @@
}
}
- public static final Creator<ImsConferenceState> CREATOR =
+ public static final @android.annotation.NonNull Creator<ImsConferenceState> CREATOR =
new Creator<ImsConferenceState>() {
@Override
public ImsConferenceState createFromParcel(Parcel in) {
@@ -189,7 +190,7 @@
sb.append("<");
while (iterator.hasNext()) {
Entry<String, Bundle> entry = iterator.next();
- sb.append(entry.getKey());
+ sb.append(Log.pii(entry.getKey()));
sb.append(": ");
Bundle participantData = entry.getValue();
@@ -197,7 +198,7 @@
sb.append(key);
sb.append("=");
if (ENDPOINT.equals(key) || USER.equals(key)) {
- sb.append(android.telecom.Log.pii(participantData.get(key)));
+ sb.append(Log.pii(participantData.get(key)));
} else {
sb.append(participantData.get(key));
}
diff --git a/telephony/java/android/telephony/ims/ImsExternalCallState.java b/telephony/java/android/telephony/ims/ImsExternalCallState.java
index f2d0cbf..a58f361 100644
--- a/telephony/java/android/telephony/ims/ImsExternalCallState.java
+++ b/telephony/java/android/telephony/ims/ImsExternalCallState.java
@@ -167,7 +167,7 @@
Rlog.d(TAG, "ImsExternalCallState writeToParcel = " + out.toString());
}
- public static final Parcelable.Creator<ImsExternalCallState> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ImsExternalCallState> CREATOR =
new Parcelable.Creator<ImsExternalCallState>() {
@Override
public ImsExternalCallState createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/ims/ImsMmTelManager.java b/telephony/java/android/telephony/ims/ImsMmTelManager.java
index eb99d5d..bb85be1 100644
--- a/telephony/java/android/telephony/ims/ImsMmTelManager.java
+++ b/telephony/java/android/telephony/ims/ImsMmTelManager.java
@@ -139,7 +139,7 @@
if (mLocalCallback == null) return;
Binder.withCleanCallingIdentity(() ->
- mExecutor.execute(() -> mLocalCallback.onDeregistered(info)));
+ mExecutor.execute(() -> mLocalCallback.onUnregistered(info)));
}
@Override
@@ -199,7 +199,7 @@
*
* @param info the {@link ImsReasonInfo} associated with why registration was disconnected.
*/
- public void onDeregistered(ImsReasonInfo info) {
+ public void onUnregistered(ImsReasonInfo info) {
}
/**
@@ -485,7 +485,7 @@
* @see android.telephony.CarrierConfigManager#KEY_HIDE_ENHANCED_4G_LTE_BOOL
* @see android.telephony.CarrierConfigManager#KEY_ENHANCED_4G_LTE_ON_BY_DEFAULT_BOOL
* @see android.telephony.CarrierConfigManager#KEY_CARRIER_VOLTE_AVAILABLE_BOOL
- * @see #setAdvancedCallingSetting(boolean)
+ * @see #setAdvancedCallingSettingEnabled(boolean)
* @return true if the user's setting for advanced calling is enabled, false otherwise.
*/
@RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
@@ -519,9 +519,9 @@
* @see #isAdvancedCallingSettingEnabled()
*/
@RequiresPermission(Manifest.permission.MODIFY_PHONE_STATE)
- public void setAdvancedCallingSetting(boolean isEnabled) {
+ public void setAdvancedCallingSettingEnabled(boolean isEnabled) {
try {
- getITelephony().setAdvancedCallingSetting(mSubId, isEnabled);
+ getITelephony().setAdvancedCallingSettingEnabled(mSubId, isEnabled);
return;
} catch (RemoteException e) {
throw e.rethrowAsRuntimeException();
@@ -589,7 +589,7 @@
/**
* The user's setting for whether or not they have enabled the "Video Calling" setting.
* @return true if the user’s “Video Calling” setting is currently enabled.
- * @see #setVtSetting(boolean)
+ * @see #setVtSettingEnabled(boolean)
*/
@RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
public boolean isVtSettingEnabled() {
@@ -605,9 +605,9 @@
* @see #isVtSettingEnabled()
*/
@RequiresPermission(Manifest.permission.MODIFY_PHONE_STATE)
- public void setVtSetting(boolean isEnabled) {
+ public void setVtSettingEnabled(boolean isEnabled) {
try {
- getITelephony().setVtSetting(mSubId, isEnabled);
+ getITelephony().setVtSettingEnabled(mSubId, isEnabled);
return;
} catch (RemoteException e) {
throw e.rethrowAsRuntimeException();
@@ -616,7 +616,7 @@
/**
* @return true if the user's setting for Voice over WiFi is enabled and false if it is not.
- * @see #setVoWiFiSetting(boolean)
+ * @see #setVoWiFiSettingEnabled(boolean)
*/
@RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
public boolean isVoWiFiSettingEnabled() {
@@ -633,9 +633,9 @@
* @see #isVoWiFiSettingEnabled()
*/
@RequiresPermission(Manifest.permission.MODIFY_PHONE_STATE)
- public void setVoWiFiSetting(boolean isEnabled) {
+ public void setVoWiFiSettingEnabled(boolean isEnabled) {
try {
- getITelephony().setVoWiFiSetting(mSubId, isEnabled);
+ getITelephony().setVoWiFiSettingEnabled(mSubId, isEnabled);
return;
} catch (RemoteException e) {
throw e.rethrowAsRuntimeException();
@@ -645,7 +645,7 @@
/**
* @return true if the user's setting for Voice over WiFi while roaming is enabled, false
* if disabled.
- * @see #setVoWiFiRoamingSetting(boolean)
+ * @see #setVoWiFiRoamingSettingEnabled(boolean)
*/
@RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
public boolean isVoWiFiRoamingSettingEnabled() {
@@ -663,9 +663,9 @@
* @see #isVoWiFiRoamingSettingEnabled()
*/
@RequiresPermission(Manifest.permission.MODIFY_PHONE_STATE)
- public void setVoWiFiRoamingSetting(boolean isEnabled) {
+ public void setVoWiFiRoamingSettingEnabled(boolean isEnabled) {
try {
- getITelephony().setVoWiFiRoamingSetting(mSubId, isEnabled);
+ getITelephony().setVoWiFiRoamingSettingEnabled(mSubId, isEnabled);
return;
} catch (RemoteException e) {
throw e.rethrowAsRuntimeException();
@@ -682,7 +682,7 @@
* - {@link #WIFI_MODE_WIFI_ONLY}
* - {@link #WIFI_MODE_CELLULAR_PREFERRED}
* - {@link #WIFI_MODE_WIFI_PREFERRED}
- * @see #setVoWiFiSetting(boolean)
+ * @see #setVoWiFiSettingEnabled(boolean)
*/
@RequiresPermission(Manifest.permission.MODIFY_PHONE_STATE)
public void setVoWiFiNonPersistent(boolean isCapable, int mode) {
@@ -700,7 +700,7 @@
* - {@link #WIFI_MODE_WIFI_ONLY}
* - {@link #WIFI_MODE_CELLULAR_PREFERRED}
* - {@link #WIFI_MODE_WIFI_PREFERRED}
- * @see #setVoWiFiSetting(boolean)
+ * @see #setVoWiFiSettingEnabled(boolean)
*/
@RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
public @WiFiCallingMode int getVoWiFiModeSetting() {
@@ -739,7 +739,7 @@
* - {@link #WIFI_MODE_WIFI_ONLY}
* - {@link #WIFI_MODE_CELLULAR_PREFERRED}
* - {@link #WIFI_MODE_WIFI_PREFERRED}
- * @see #setVoWiFiRoamingSetting(boolean)
+ * @see #setVoWiFiRoamingSettingEnabled(boolean)
*/
@RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
public @WiFiCallingMode int getVoWiFiRoamingModeSetting() {
diff --git a/telephony/java/android/telephony/ims/ImsReasonInfo.java b/telephony/java/android/telephony/ims/ImsReasonInfo.java
index d8d2d9e..b018491 100644
--- a/telephony/java/android/telephony/ims/ImsReasonInfo.java
+++ b/telephony/java/android/telephony/ims/ImsReasonInfo.java
@@ -1181,7 +1181,7 @@
out.writeString(mExtraMessage);
}
- public static final Creator<ImsReasonInfo> CREATOR = new Creator<ImsReasonInfo>() {
+ public static final @android.annotation.NonNull Creator<ImsReasonInfo> CREATOR = new Creator<ImsReasonInfo>() {
@Override
public ImsReasonInfo createFromParcel(Parcel in) {
return new ImsReasonInfo(in);
diff --git a/telephony/java/android/telephony/ims/ImsSsData.java b/telephony/java/android/telephony/ims/ImsSsData.java
index 3a82517..10001bc 100644
--- a/telephony/java/android/telephony/ims/ImsSsData.java
+++ b/telephony/java/android/telephony/ims/ImsSsData.java
@@ -364,7 +364,7 @@
mImsSsInfo = (ImsSsInfo[])in.readParcelableArray(this.getClass().getClassLoader());
}
- public static final Creator<ImsSsData> CREATOR = new Creator<ImsSsData>() {
+ public static final @android.annotation.NonNull Creator<ImsSsData> CREATOR = new Creator<ImsSsData>() {
@Override
public ImsSsData createFromParcel(Parcel in) {
return new ImsSsData(in);
diff --git a/telephony/java/android/telephony/ims/ImsSsInfo.java b/telephony/java/android/telephony/ims/ImsSsInfo.java
index 031f9e1..303a9fe 100644
--- a/telephony/java/android/telephony/ims/ImsSsInfo.java
+++ b/telephony/java/android/telephony/ims/ImsSsInfo.java
@@ -275,7 +275,7 @@
mProvisionStatus = in.readInt();
}
- public static final Creator<ImsSsInfo> CREATOR =
+ public static final @android.annotation.NonNull Creator<ImsSsInfo> CREATOR =
new Creator<ImsSsInfo>() {
@Override
public ImsSsInfo createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/ims/ImsStreamMediaProfile.java b/telephony/java/android/telephony/ims/ImsStreamMediaProfile.java
index d11a0de..fd75a6b 100644
--- a/telephony/java/android/telephony/ims/ImsStreamMediaProfile.java
+++ b/telephony/java/android/telephony/ims/ImsStreamMediaProfile.java
@@ -228,7 +228,7 @@
mIsReceivingRttAudio = in.readBoolean();
}
- public static final Creator<ImsStreamMediaProfile> CREATOR =
+ public static final @android.annotation.NonNull Creator<ImsStreamMediaProfile> CREATOR =
new Creator<ImsStreamMediaProfile>() {
@Override
public ImsStreamMediaProfile createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/ims/ImsSuppServiceNotification.java b/telephony/java/android/telephony/ims/ImsSuppServiceNotification.java
index efaade8..2e4288d 100644
--- a/telephony/java/android/telephony/ims/ImsSuppServiceNotification.java
+++ b/telephony/java/android/telephony/ims/ImsSuppServiceNotification.java
@@ -93,7 +93,7 @@
out.writeStringArray(history);
}
- public static final Creator<ImsSuppServiceNotification> CREATOR =
+ public static final @android.annotation.NonNull Creator<ImsSuppServiceNotification> CREATOR =
new Creator<ImsSuppServiceNotification>() {
@Override
public ImsSuppServiceNotification createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/ims/RcsEventQueryParams.java b/telephony/java/android/telephony/ims/RcsEventQueryParams.java
index 5f8fa80..0024cf7 100644
--- a/telephony/java/android/telephony/ims/RcsEventQueryParams.java
+++ b/telephony/java/android/telephony/ims/RcsEventQueryParams.java
@@ -292,7 +292,7 @@
mLimit = in.readInt();
}
- public static final Creator<RcsEventQueryParams> CREATOR =
+ public static final @android.annotation.NonNull Creator<RcsEventQueryParams> CREATOR =
new Creator<RcsEventQueryParams>() {
@Override
public RcsEventQueryParams createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/ims/RcsEventQueryResultDescriptor.java b/telephony/java/android/telephony/ims/RcsEventQueryResultDescriptor.java
index bba56d3..e30745b7 100644
--- a/telephony/java/android/telephony/ims/RcsEventQueryResultDescriptor.java
+++ b/telephony/java/android/telephony/ims/RcsEventQueryResultDescriptor.java
@@ -53,7 +53,7 @@
in.readList(mEvents, null);
}
- public static final Creator<RcsEventQueryResultDescriptor> CREATOR =
+ public static final @android.annotation.NonNull Creator<RcsEventQueryResultDescriptor> CREATOR =
new Creator<RcsEventQueryResultDescriptor>() {
@Override
public RcsEventQueryResultDescriptor createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/ims/RcsFileTransferCreationParams.java b/telephony/java/android/telephony/ims/RcsFileTransferCreationParams.java
index 4742ba2..e43552d 100644
--- a/telephony/java/android/telephony/ims/RcsFileTransferCreationParams.java
+++ b/telephony/java/android/telephony/ims/RcsFileTransferCreationParams.java
@@ -325,7 +325,7 @@
mFileTransferStatus = in.readInt();
}
- public static final Creator<RcsFileTransferCreationParams> CREATOR =
+ public static final @android.annotation.NonNull Creator<RcsFileTransferCreationParams> CREATOR =
new Creator<RcsFileTransferCreationParams>() {
@Override
public RcsFileTransferCreationParams createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/ims/RcsGroupThreadIconChangedEventDescriptor.java b/telephony/java/android/telephony/ims/RcsGroupThreadIconChangedEventDescriptor.java
index b7fe4b2..1fb8798 100644
--- a/telephony/java/android/telephony/ims/RcsGroupThreadIconChangedEventDescriptor.java
+++ b/telephony/java/android/telephony/ims/RcsGroupThreadIconChangedEventDescriptor.java
@@ -42,7 +42,7 @@
new RcsParticipant(mOriginatingParticipantId), mNewIcon);
}
- public static final Creator<RcsGroupThreadIconChangedEventDescriptor> CREATOR =
+ public static final @android.annotation.NonNull Creator<RcsGroupThreadIconChangedEventDescriptor> CREATOR =
new Creator<RcsGroupThreadIconChangedEventDescriptor>() {
@Override
public RcsGroupThreadIconChangedEventDescriptor createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/ims/RcsGroupThreadNameChangedEventDescriptor.java b/telephony/java/android/telephony/ims/RcsGroupThreadNameChangedEventDescriptor.java
index 4ec641f..980aba2 100644
--- a/telephony/java/android/telephony/ims/RcsGroupThreadNameChangedEventDescriptor.java
+++ b/telephony/java/android/telephony/ims/RcsGroupThreadNameChangedEventDescriptor.java
@@ -44,7 +44,7 @@
mNewName);
}
- public static final Creator<RcsGroupThreadNameChangedEventDescriptor> CREATOR =
+ public static final @android.annotation.NonNull Creator<RcsGroupThreadNameChangedEventDescriptor> CREATOR =
new Creator<RcsGroupThreadNameChangedEventDescriptor>() {
@Override
public RcsGroupThreadNameChangedEventDescriptor createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/ims/RcsGroupThreadParticipantJoinedEventDescriptor.java b/telephony/java/android/telephony/ims/RcsGroupThreadParticipantJoinedEventDescriptor.java
index a4218c2..e899e1c 100644
--- a/telephony/java/android/telephony/ims/RcsGroupThreadParticipantJoinedEventDescriptor.java
+++ b/telephony/java/android/telephony/ims/RcsGroupThreadParticipantJoinedEventDescriptor.java
@@ -43,7 +43,7 @@
new RcsParticipant(mJoinedParticipantId));
}
- public static final Creator<RcsGroupThreadParticipantJoinedEventDescriptor> CREATOR =
+ public static final @android.annotation.NonNull Creator<RcsGroupThreadParticipantJoinedEventDescriptor> CREATOR =
new Creator<RcsGroupThreadParticipantJoinedEventDescriptor>() {
@Override
public RcsGroupThreadParticipantJoinedEventDescriptor createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/ims/RcsGroupThreadParticipantLeftEventDescriptor.java b/telephony/java/android/telephony/ims/RcsGroupThreadParticipantLeftEventDescriptor.java
index 8e91dda..8eefb4b 100644
--- a/telephony/java/android/telephony/ims/RcsGroupThreadParticipantLeftEventDescriptor.java
+++ b/telephony/java/android/telephony/ims/RcsGroupThreadParticipantLeftEventDescriptor.java
@@ -44,7 +44,7 @@
new RcsParticipant(mLeavingParticipantId));
}
- public static final Parcelable.Creator<RcsGroupThreadParticipantLeftEventDescriptor> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<RcsGroupThreadParticipantLeftEventDescriptor> CREATOR =
new Creator<RcsGroupThreadParticipantLeftEventDescriptor>() {
@Override
public RcsGroupThreadParticipantLeftEventDescriptor createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/ims/RcsIncomingMessageCreationParams.java b/telephony/java/android/telephony/ims/RcsIncomingMessageCreationParams.java
index 58dc1bc..955f263 100644
--- a/telephony/java/android/telephony/ims/RcsIncomingMessageCreationParams.java
+++ b/telephony/java/android/telephony/ims/RcsIncomingMessageCreationParams.java
@@ -152,7 +152,7 @@
return mSenderParticipantId;
}
- public static final Creator<RcsIncomingMessageCreationParams> CREATOR =
+ public static final @android.annotation.NonNull Creator<RcsIncomingMessageCreationParams> CREATOR =
new Creator<RcsIncomingMessageCreationParams>() {
@Override
public RcsIncomingMessageCreationParams createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/ims/RcsMessageQueryParams.java b/telephony/java/android/telephony/ims/RcsMessageQueryParams.java
index 6491ac9..9f9eafb 100644
--- a/telephony/java/android/telephony/ims/RcsMessageQueryParams.java
+++ b/telephony/java/android/telephony/ims/RcsMessageQueryParams.java
@@ -330,7 +330,7 @@
mThreadId = in.readInt();
}
- public static final Creator<RcsMessageQueryParams> CREATOR =
+ public static final @android.annotation.NonNull Creator<RcsMessageQueryParams> CREATOR =
new Creator<RcsMessageQueryParams>() {
@Override
public RcsMessageQueryParams createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/ims/RcsMessageQueryResult.java b/telephony/java/android/telephony/ims/RcsMessageQueryResult.java
index e4020c1..5df929b 100644
--- a/telephony/java/android/telephony/ims/RcsMessageQueryResult.java
+++ b/telephony/java/android/telephony/ims/RcsMessageQueryResult.java
@@ -89,7 +89,7 @@
in.readTypedList(mMessageTypeIdPairs, RcsTypeIdPair.CREATOR);
}
- public static final Creator<RcsMessageQueryResult> CREATOR =
+ public static final @android.annotation.NonNull Creator<RcsMessageQueryResult> CREATOR =
new Creator<RcsMessageQueryResult>() {
@Override
public RcsMessageQueryResult createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/ims/RcsMessageSnippet.java b/telephony/java/android/telephony/ims/RcsMessageSnippet.java
index 9064251..8103160 100644
--- a/telephony/java/android/telephony/ims/RcsMessageSnippet.java
+++ b/telephony/java/android/telephony/ims/RcsMessageSnippet.java
@@ -71,7 +71,7 @@
mTimestamp = in.readLong();
}
- public static final Creator<RcsMessageSnippet> CREATOR =
+ public static final @android.annotation.NonNull Creator<RcsMessageSnippet> CREATOR =
new Creator<RcsMessageSnippet>() {
@Override
public RcsMessageSnippet createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/ims/RcsOutgoingMessageCreationParams.java b/telephony/java/android/telephony/ims/RcsOutgoingMessageCreationParams.java
index 81e3244..22fd8a5 100644
--- a/telephony/java/android/telephony/ims/RcsOutgoingMessageCreationParams.java
+++ b/telephony/java/android/telephony/ims/RcsOutgoingMessageCreationParams.java
@@ -64,7 +64,7 @@
super(in);
}
- public static final Creator<RcsOutgoingMessageCreationParams> CREATOR =
+ public static final @android.annotation.NonNull Creator<RcsOutgoingMessageCreationParams> CREATOR =
new Creator<RcsOutgoingMessageCreationParams>() {
@Override
public RcsOutgoingMessageCreationParams createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/ims/RcsParticipantAliasChangedEventDescriptor.java b/telephony/java/android/telephony/ims/RcsParticipantAliasChangedEventDescriptor.java
index a32e552..aad9fb3 100644
--- a/telephony/java/android/telephony/ims/RcsParticipantAliasChangedEventDescriptor.java
+++ b/telephony/java/android/telephony/ims/RcsParticipantAliasChangedEventDescriptor.java
@@ -45,7 +45,7 @@
mTimestamp, new RcsParticipant(mParticipantId), mNewAlias);
}
- public static final Creator<RcsParticipantAliasChangedEventDescriptor> CREATOR =
+ public static final @android.annotation.NonNull Creator<RcsParticipantAliasChangedEventDescriptor> CREATOR =
new Creator<RcsParticipantAliasChangedEventDescriptor>() {
@Override
public RcsParticipantAliasChangedEventDescriptor createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/ims/RcsParticipantQueryParams.java b/telephony/java/android/telephony/ims/RcsParticipantQueryParams.java
index ada9b8a..21107a2 100644
--- a/telephony/java/android/telephony/ims/RcsParticipantQueryParams.java
+++ b/telephony/java/android/telephony/ims/RcsParticipantQueryParams.java
@@ -279,7 +279,7 @@
mThreadId = in.readInt();
}
- public static final Creator<RcsParticipantQueryParams> CREATOR =
+ public static final @android.annotation.NonNull Creator<RcsParticipantQueryParams> CREATOR =
new Creator<RcsParticipantQueryParams>() {
@Override
public RcsParticipantQueryParams createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/ims/RcsParticipantQueryResult.java b/telephony/java/android/telephony/ims/RcsParticipantQueryResult.java
index 92e2fa78..3e5c231 100644
--- a/telephony/java/android/telephony/ims/RcsParticipantQueryResult.java
+++ b/telephony/java/android/telephony/ims/RcsParticipantQueryResult.java
@@ -80,7 +80,7 @@
RcsQueryContinuationToken.class.getClassLoader());
}
- public static final Creator<RcsParticipantQueryResult> CREATOR =
+ public static final @android.annotation.NonNull Creator<RcsParticipantQueryResult> CREATOR =
new Creator<RcsParticipantQueryResult>() {
@Override
public RcsParticipantQueryResult createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/ims/RcsQueryContinuationToken.java b/telephony/java/android/telephony/ims/RcsQueryContinuationToken.java
index 970c110..982263a 100644
--- a/telephony/java/android/telephony/ims/RcsQueryContinuationToken.java
+++ b/telephony/java/android/telephony/ims/RcsQueryContinuationToken.java
@@ -129,7 +129,7 @@
mOffset = in.readInt();
}
- public static final Creator<RcsQueryContinuationToken> CREATOR =
+ public static final @android.annotation.NonNull Creator<RcsQueryContinuationToken> CREATOR =
new Creator<RcsQueryContinuationToken>() {
@Override
public RcsQueryContinuationToken createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/ims/RcsThreadQueryParams.java b/telephony/java/android/telephony/ims/RcsThreadQueryParams.java
index 81eee40..da7cdb0 100644
--- a/telephony/java/android/telephony/ims/RcsThreadQueryParams.java
+++ b/telephony/java/android/telephony/ims/RcsThreadQueryParams.java
@@ -276,7 +276,7 @@
mIsAscending = in.readByte() == 1;
}
- public static final Creator<RcsThreadQueryParams> CREATOR =
+ public static final @android.annotation.NonNull Creator<RcsThreadQueryParams> CREATOR =
new Creator<RcsThreadQueryParams>() {
@Override
public RcsThreadQueryParams createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/ims/RcsThreadQueryResult.java b/telephony/java/android/telephony/ims/RcsThreadQueryResult.java
index 9f2fba5..c2c2d3a 100644
--- a/telephony/java/android/telephony/ims/RcsThreadQueryResult.java
+++ b/telephony/java/android/telephony/ims/RcsThreadQueryResult.java
@@ -91,7 +91,7 @@
in.readList(mRcsThreadIds, Integer.class.getClassLoader());
}
- public static final Creator<RcsThreadQueryResult> CREATOR =
+ public static final @android.annotation.NonNull Creator<RcsThreadQueryResult> CREATOR =
new Creator<RcsThreadQueryResult>() {
@Override
public RcsThreadQueryResult createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/ims/feature/CapabilityChangeRequest.java b/telephony/java/android/telephony/ims/feature/CapabilityChangeRequest.java
index 1ee8563..80fc09e 100644
--- a/telephony/java/android/telephony/ims/feature/CapabilityChangeRequest.java
+++ b/telephony/java/android/telephony/ims/feature/CapabilityChangeRequest.java
@@ -187,7 +187,7 @@
}
}
- public static final Creator<CapabilityChangeRequest> CREATOR =
+ public static final @android.annotation.NonNull Creator<CapabilityChangeRequest> CREATOR =
new Creator<CapabilityChangeRequest>() {
@Override
public CapabilityChangeRequest createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/ims/stub/ImsFeatureConfiguration.java b/telephony/java/android/telephony/ims/stub/ImsFeatureConfiguration.java
index dfb6e2c..6ab9465 100644
--- a/telephony/java/android/telephony/ims/stub/ImsFeatureConfiguration.java
+++ b/telephony/java/android/telephony/ims/stub/ImsFeatureConfiguration.java
@@ -165,7 +165,7 @@
}
}
- public static final Creator<ImsFeatureConfiguration> CREATOR
+ public static final @android.annotation.NonNull Creator<ImsFeatureConfiguration> CREATOR
= new Creator<ImsFeatureConfiguration>() {
@Override
public ImsFeatureConfiguration createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/mbms/DownloadRequest.java b/telephony/java/android/telephony/mbms/DownloadRequest.java
index 9e3302b..52b51d2 100644
--- a/telephony/java/android/telephony/mbms/DownloadRequest.java
+++ b/telephony/java/android/telephony/mbms/DownloadRequest.java
@@ -330,7 +330,7 @@
return version;
}
- public static final Parcelable.Creator<DownloadRequest> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<DownloadRequest> CREATOR =
new Parcelable.Creator<DownloadRequest>() {
public DownloadRequest createFromParcel(Parcel in) {
return new DownloadRequest(in);
diff --git a/telephony/java/android/telephony/mbms/FileInfo.java b/telephony/java/android/telephony/mbms/FileInfo.java
index e064adb..ada2872 100644
--- a/telephony/java/android/telephony/mbms/FileInfo.java
+++ b/telephony/java/android/telephony/mbms/FileInfo.java
@@ -33,7 +33,7 @@
private final String mimeType;
- public static final Parcelable.Creator<FileInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<FileInfo> CREATOR =
new Parcelable.Creator<FileInfo>() {
@Override
public FileInfo createFromParcel(Parcel source) {
diff --git a/telephony/java/android/telephony/mbms/FileServiceInfo.java b/telephony/java/android/telephony/mbms/FileServiceInfo.java
index b30a3af..8c79ab6 100644
--- a/telephony/java/android/telephony/mbms/FileServiceInfo.java
+++ b/telephony/java/android/telephony/mbms/FileServiceInfo.java
@@ -44,7 +44,7 @@
files = new ArrayList<>(newFiles);
}
- public static final Parcelable.Creator<FileServiceInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<FileServiceInfo> CREATOR =
new Parcelable.Creator<FileServiceInfo>() {
@Override
public FileServiceInfo createFromParcel(Parcel source) {
diff --git a/telephony/java/android/telephony/mbms/StreamingServiceInfo.java b/telephony/java/android/telephony/mbms/StreamingServiceInfo.java
index ef2a14a..8ad1d89 100644
--- a/telephony/java/android/telephony/mbms/StreamingServiceInfo.java
+++ b/telephony/java/android/telephony/mbms/StreamingServiceInfo.java
@@ -48,7 +48,7 @@
super(names, className, locales, serviceId, start, end);
}
- public static final Parcelable.Creator<StreamingServiceInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<StreamingServiceInfo> CREATOR =
new Parcelable.Creator<StreamingServiceInfo>() {
@Override
public StreamingServiceInfo createFromParcel(Parcel source) {
diff --git a/telephony/java/android/telephony/mbms/UriPathPair.java b/telephony/java/android/telephony/mbms/UriPathPair.java
index dd20a69..f53d7e0 100644
--- a/telephony/java/android/telephony/mbms/UriPathPair.java
+++ b/telephony/java/android/telephony/mbms/UriPathPair.java
@@ -54,7 +54,7 @@
mContentUri = in.readParcelable(Uri.class.getClassLoader());
}
- public static final Creator<UriPathPair> CREATOR = new Creator<UriPathPair>() {
+ public static final @android.annotation.NonNull Creator<UriPathPair> CREATOR = new Creator<UriPathPair>() {
@Override
public UriPathPair createFromParcel(Parcel in) {
return new UriPathPair(in);
diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl
index 0a8890f..5c5d44a 100644
--- a/telephony/java/com/android/internal/telephony/ITelephony.aidl
+++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl
@@ -1701,7 +1701,7 @@
/**
* Modify the user's setting for whether or not 4G LTE is enabled.
*/
- void setAdvancedCallingSetting(int subId, boolean isEnabled);
+ void setAdvancedCallingSettingEnabled(int subId, boolean isEnabled);
/**
* return true if the user's setting for VT is enabled for the subscription.
@@ -1711,7 +1711,7 @@
/**
* Modify the user's setting for whether or not VT is available for the subscrption specified.
*/
- void setVtSetting(int subId, boolean isEnabled);
+ void setVtSettingEnabled(int subId, boolean isEnabled);
/**
* return true if the user's setting for whether or not Voice over WiFi is currently enabled.
@@ -1721,7 +1721,7 @@
/**
* sets the user's setting for Voice over WiFi enabled state.
*/
- void setVoWiFiSetting(int subId, boolean isEnabled);
+ void setVoWiFiSettingEnabled(int subId, boolean isEnabled);
/**
* return true if the user's setting for Voice over WiFi while roaming is enabled.
@@ -1732,7 +1732,7 @@
* Sets the user's preference for whether or not Voice over WiFi is enabled for the current
* subscription while roaming.
*/
- void setVoWiFiRoamingSetting(int subId, boolean isEnabled);
+ void setVoWiFiRoamingSettingEnabled(int subId, boolean isEnabled);
/**
* Set the Voice over WiFi enabled state, but do not persist the setting.
diff --git a/telephony/java/com/android/internal/telephony/RILConstants.java b/telephony/java/com/android/internal/telephony/RILConstants.java
index 77b7979..5205973 100644
--- a/telephony/java/com/android/internal/telephony/RILConstants.java
+++ b/telephony/java/com/android/internal/telephony/RILConstants.java
@@ -470,6 +470,7 @@
int RIL_REQUEST_START_KEEPALIVE = 144;
int RIL_REQUEST_STOP_KEEPALIVE = 145;
int RIL_REQUEST_ENABLE_MODEM = 146;
+ int RIL_REQUEST_GET_MODEM_STATUS = 147;
/* The following requests are not defined in RIL.h */
int RIL_REQUEST_HAL_NON_RIL_BASE = 200;
diff --git a/test-base/hiddenapi/Android.bp b/test-base/hiddenapi/Android.bp
new file mode 100644
index 0000000..c4e0fab
--- /dev/null
+++ b/test-base/hiddenapi/Android.bp
@@ -0,0 +1,29 @@
+//
+// Copyright (C) 2019 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+// Provided solely to contribute information about which hidden parts of the android.test.base
+// library are used by apps. The source files are stubs of the actual files in ../src which use the
+// UnsupportedAppUsage annotation to tag those methods that are accessible via the hiddenapi.
+// Relies on the convention that modules with name <x>-hiddenapi provide hiddenapi information for
+// module <x> that is on the bootclasspath.
+java_library {
+ name: "android.test.base-hiddenapi",
+ compile_dex: true,
+
+ srcs: ["src/**/*.java"],
+
+ libs: ["android.test.base"],
+}
diff --git a/test-base/hiddenapi/src/android/test/AndroidTestCase.java b/test-base/hiddenapi/src/android/test/AndroidTestCase.java
new file mode 100644
index 0000000..2b9beb1
--- /dev/null
+++ b/test-base/hiddenapi/src/android/test/AndroidTestCase.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.test;
+
+import android.annotation.UnsupportedAppUsage;
+import android.content.Context;
+
+import junit.framework.TestCase;
+
+/**
+ * @deprecated Stub only
+ */
+@SuppressWarnings({ "unchecked", "deprecation", "all" })
+@Deprecated
+public class AndroidTestCase extends TestCase {
+
+ /**
+ * Stub only
+ */
+ @UnsupportedAppUsage
+ public void setTestContext(Context context) {
+ throw new RuntimeException("Stub!");
+ }
+
+ /**
+ * Stub only
+ */
+ @UnsupportedAppUsage
+ public Context getTestContext() {
+ throw new RuntimeException("Stub!");
+ }
+}
diff --git a/test-base/hiddenapi/src/android/test/InstrumentationTestCase.java b/test-base/hiddenapi/src/android/test/InstrumentationTestCase.java
new file mode 100644
index 0000000..139cd18
--- /dev/null
+++ b/test-base/hiddenapi/src/android/test/InstrumentationTestCase.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.test;
+
+import android.annotation.UnsupportedAppUsage;
+
+import junit.framework.TestCase;
+
+import java.lang.reflect.Method;
+
+/**
+ * @deprecated Stub only
+ */
+@SuppressWarnings({ "unchecked", "deprecation", "all" })
+@Deprecated
+public class InstrumentationTestCase extends TestCase {
+
+ /**
+ * Stub only
+ */
+ @UnsupportedAppUsage
+ private void runMethod(Method runMethod, int tolerance) throws Throwable {
+ throw new RuntimeException("Stub!");
+ }
+}
diff --git a/test-base/hiddenapi/src/junit/framework/TestCase.java b/test-base/hiddenapi/src/junit/framework/TestCase.java
new file mode 100644
index 0000000..5a54861
--- /dev/null
+++ b/test-base/hiddenapi/src/junit/framework/TestCase.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package junit.framework;
+
+import android.annotation.UnsupportedAppUsage;
+
+/**
+ * Stub only
+ */
+@SuppressWarnings({ "unchecked", "deprecation", "all" })
+public abstract class TestCase extends Assert implements Test {
+
+ /**
+ * the name of the test case
+ */
+ @UnsupportedAppUsage
+ private String fName;
+
+ /**
+ * Stub only
+ */
+ public int countTestCases() {
+ throw new RuntimeException("Stub!");
+ }
+
+ /**
+ * Stub only
+ */
+ public void run(TestResult result) {
+ throw new RuntimeException("Stub!");
+ }
+}
diff --git a/test-base/hiddenapi/src/junit/framework/TestSuite.java b/test-base/hiddenapi/src/junit/framework/TestSuite.java
new file mode 100644
index 0000000..368c661
--- /dev/null
+++ b/test-base/hiddenapi/src/junit/framework/TestSuite.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package junit.framework;
+
+import android.annotation.UnsupportedAppUsage;
+
+import java.lang.reflect.Method;
+
+/**
+ * Stub only
+ */
+@SuppressWarnings({ "unchecked", "deprecation", "all" })
+public class TestSuite implements Test {
+
+ /**
+ * Stub only
+ */
+ @UnsupportedAppUsage
+ private boolean isPublicTestMethod(Method m) {
+ throw new RuntimeException("Stub!");
+ }
+
+ /**
+ * Stub only
+ */
+ @UnsupportedAppUsage
+ private boolean isTestMethod(Method m) {
+ throw new RuntimeException("Stub!");
+ }
+
+ /**
+ * Stub only
+ */
+ public int countTestCases() {
+ throw new RuntimeException("Stub!");
+ }
+
+ /**
+ * Stub only
+ */
+ public void run(TestResult result) {
+ throw new RuntimeException("Stub!");
+ }
+}
diff --git a/tests/HwAccelerationTest/src/com/android/test/hwui/PositionListenerActivity.java b/tests/HwAccelerationTest/src/com/android/test/hwui/PositionListenerActivity.java
index 316aad3..818d899 100644
--- a/tests/HwAccelerationTest/src/com/android/test/hwui/PositionListenerActivity.java
+++ b/tests/HwAccelerationTest/src/com/android/test/hwui/PositionListenerActivity.java
@@ -53,7 +53,7 @@
MyPositionReporter(Context c) {
super(c);
mNode = new RenderNode("positionListener");
- mNode.requestPositionUpdates(this);
+ mNode.addPositionUpdateListener(this);
setTextAlignment(TEXT_ALIGNMENT_VIEW_START);
}
diff --git a/tests/net/java/com/android/server/ConnectivityServiceTest.java b/tests/net/java/com/android/server/ConnectivityServiceTest.java
index 129416f..1a0e8fa 100644
--- a/tests/net/java/com/android/server/ConnectivityServiceTest.java
+++ b/tests/net/java/com/android/server/ConnectivityServiceTest.java
@@ -125,6 +125,7 @@
import android.net.NetworkRequest;
import android.net.NetworkSpecifier;
import android.net.NetworkStackClient;
+import android.net.NetworkState;
import android.net.NetworkUtils;
import android.net.ProxyInfo;
import android.net.RouteInfo;
@@ -157,6 +158,7 @@
import android.util.SparseArray;
import com.android.internal.net.VpnConfig;
+import com.android.internal.net.VpnInfo;
import com.android.internal.util.ArrayUtils;
import com.android.internal.util.WakeupMessage;
import com.android.internal.util.test.BroadcastInterceptingContext;
@@ -4362,48 +4364,91 @@
mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
- Network[] onlyCell = new Network[]{mCellNetworkAgent.getNetwork()};
- Network[] onlyWifi = new Network[]{mWiFiNetworkAgent.getNetwork()};
+ Network[] onlyCell = new Network[] {mCellNetworkAgent.getNetwork()};
+ Network[] onlyWifi = new Network[] {mWiFiNetworkAgent.getNetwork()};
+
+ LinkProperties cellLp = new LinkProperties();
+ cellLp.setInterfaceName(MOBILE_IFNAME);
+ LinkProperties wifiLp = new LinkProperties();
+ wifiLp.setInterfaceName(WIFI_IFNAME);
// Simple connection should have updated ifaces
mCellNetworkAgent.connect(false);
+ mCellNetworkAgent.sendLinkProperties(cellLp);
waitForIdle();
- verify(mStatsService, atLeastOnce()).forceUpdateIfaces(onlyCell);
+ verify(mStatsService, atLeastOnce())
+ .forceUpdateIfaces(
+ eq(onlyCell),
+ eq(new VpnInfo[0]),
+ any(NetworkState[].class),
+ eq(MOBILE_IFNAME));
reset(mStatsService);
// Default network switch should update ifaces.
mWiFiNetworkAgent.connect(false);
+ mWiFiNetworkAgent.sendLinkProperties(wifiLp);
waitForIdle();
- verify(mStatsService, atLeastOnce()).forceUpdateIfaces(onlyWifi);
+ assertEquals(wifiLp, mService.getActiveLinkProperties());
+ verify(mStatsService, atLeastOnce())
+ .forceUpdateIfaces(
+ eq(onlyWifi),
+ eq(new VpnInfo[0]),
+ any(NetworkState[].class),
+ eq(WIFI_IFNAME));
reset(mStatsService);
// Disconnect should update ifaces.
mWiFiNetworkAgent.disconnect();
waitForIdle();
- verify(mStatsService, atLeastOnce()).forceUpdateIfaces(onlyCell);
+ verify(mStatsService, atLeastOnce())
+ .forceUpdateIfaces(
+ eq(onlyCell),
+ eq(new VpnInfo[0]),
+ any(NetworkState[].class),
+ eq(MOBILE_IFNAME));
reset(mStatsService);
// Metered change should update ifaces
mCellNetworkAgent.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_METERED);
waitForIdle();
- verify(mStatsService, atLeastOnce()).forceUpdateIfaces(onlyCell);
+ verify(mStatsService, atLeastOnce())
+ .forceUpdateIfaces(
+ eq(onlyCell),
+ eq(new VpnInfo[0]),
+ any(NetworkState[].class),
+ eq(MOBILE_IFNAME));
reset(mStatsService);
mCellNetworkAgent.removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_METERED);
waitForIdle();
- verify(mStatsService, atLeastOnce()).forceUpdateIfaces(onlyCell);
+ verify(mStatsService, atLeastOnce())
+ .forceUpdateIfaces(
+ eq(onlyCell),
+ eq(new VpnInfo[0]),
+ any(NetworkState[].class),
+ eq(MOBILE_IFNAME));
reset(mStatsService);
// Captive portal change shouldn't update ifaces
mCellNetworkAgent.addCapability(NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL);
waitForIdle();
- verify(mStatsService, never()).forceUpdateIfaces(onlyCell);
+ verify(mStatsService, never())
+ .forceUpdateIfaces(
+ eq(onlyCell),
+ eq(new VpnInfo[0]),
+ any(NetworkState[].class),
+ eq(MOBILE_IFNAME));
reset(mStatsService);
// Roaming change should update ifaces
mCellNetworkAgent.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_ROAMING);
waitForIdle();
- verify(mStatsService, atLeastOnce()).forceUpdateIfaces(onlyCell);
+ verify(mStatsService, atLeastOnce())
+ .forceUpdateIfaces(
+ eq(onlyCell),
+ eq(new VpnInfo[0]),
+ any(NetworkState[].class),
+ eq(MOBILE_IFNAME));
reset(mStatsService);
}
diff --git a/tests/net/java/com/android/server/net/NetworkStatsServiceTest.java b/tests/net/java/com/android/server/net/NetworkStatsServiceTest.java
index f89f303..d91d3eb 100644
--- a/tests/net/java/com/android/server/net/NetworkStatsServiceTest.java
+++ b/tests/net/java/com/android/server/net/NetworkStatsServiceTest.java
@@ -70,7 +70,6 @@
import android.content.Context;
import android.content.Intent;
import android.net.DataUsageRequest;
-import android.net.IConnectivityManager;
import android.net.INetworkManagementEventObserver;
import android.net.INetworkStatsSession;
import android.net.LinkProperties;
@@ -163,7 +162,6 @@
private @Mock INetworkManagementService mNetManager;
private @Mock NetworkStatsSettings mSettings;
- private @Mock IConnectivityManager mConnManager;
private @Mock IBinder mBinder;
private @Mock AlarmManager mAlarmManager;
private HandlerThread mHandlerThread;
@@ -205,7 +203,6 @@
Handler.Callback callback = new NetworkStatsService.HandlerCallback(mService);
mHandler = new Handler(mHandlerThread.getLooper(), callback);
mService.setHandler(mHandler, callback);
- mService.bindConnectivityManager(mConnManager);
mElapsedRealtime = 0L;
@@ -234,7 +231,6 @@
mNetManager = null;
mSettings = null;
- mConnManager = null;
mSession.close();
mService = null;
@@ -245,12 +241,12 @@
// pretend that wifi network comes online; service should ask about full
// network state, and poll any existing interfaces before updating.
expectDefaultSettings();
- expectNetworkState(buildWifiState());
+ NetworkState[] states = new NetworkState[] {buildWifiState()};
expectNetworkStatsSummary(buildEmptyStats());
expectNetworkStatsUidDetail(buildEmptyStats());
expectBandwidthControlCheck();
- mService.forceUpdateIfaces(NETWORKS_WIFI);
+ mService.forceUpdateIfaces(NETWORKS_WIFI, new VpnInfo[0], states, getActiveIface(states));
// verify service has empty history for wifi
assertNetworkTotal(sTemplateWifi, 0L, 0L, 0L, 0L, 0);
@@ -289,12 +285,12 @@
// pretend that wifi network comes online; service should ask about full
// network state, and poll any existing interfaces before updating.
expectDefaultSettings();
- expectNetworkState(buildWifiState());
+ NetworkState[] states = new NetworkState[] {buildWifiState()};
expectNetworkStatsSummary(buildEmptyStats());
expectNetworkStatsUidDetail(buildEmptyStats());
expectBandwidthControlCheck();
- mService.forceUpdateIfaces(NETWORKS_WIFI);
+ mService.forceUpdateIfaces(NETWORKS_WIFI, new VpnInfo[0], states, getActiveIface(states));
// verify service has empty history for wifi
assertNetworkTotal(sTemplateWifi, 0L, 0L, 0L, 0L, 0);
@@ -363,12 +359,12 @@
// pretend that wifi network comes online; service should ask about full
// network state, and poll any existing interfaces before updating.
expectSettings(0L, HOUR_IN_MILLIS, WEEK_IN_MILLIS);
- expectNetworkState(buildWifiState());
+ NetworkState[] states = new NetworkState[] {buildWifiState()};
expectNetworkStatsSummary(buildEmptyStats());
expectNetworkStatsUidDetail(buildEmptyStats());
expectBandwidthControlCheck();
- mService.forceUpdateIfaces(NETWORKS_WIFI);
+ mService.forceUpdateIfaces(NETWORKS_WIFI, new VpnInfo[0], states, getActiveIface(states));
// modify some number on wifi, and trigger poll event
@@ -405,12 +401,12 @@
public void testUidStatsAcrossNetworks() throws Exception {
// pretend first mobile network comes online
expectDefaultSettings();
- expectNetworkState(buildMobile3gState(IMSI_1));
+ NetworkState[] states = new NetworkState[] {buildMobile3gState(IMSI_1)};
expectNetworkStatsSummary(buildEmptyStats());
expectNetworkStatsUidDetail(buildEmptyStats());
expectBandwidthControlCheck();
- mService.forceUpdateIfaces(NETWORKS_MOBILE);
+ mService.forceUpdateIfaces(NETWORKS_MOBILE, new VpnInfo[0], states, getActiveIface(states));
// create some traffic on first network
@@ -437,7 +433,7 @@
// disappearing, to verify we don't count backwards.
incrementCurrentTime(HOUR_IN_MILLIS);
expectDefaultSettings();
- expectNetworkState(buildMobile3gState(IMSI_2));
+ states = new NetworkState[] {buildMobile3gState(IMSI_2)};
expectNetworkStatsSummary(new NetworkStats(getElapsedRealtime(), 1)
.addIfaceValues(TEST_IFACE, 2048L, 16L, 512L, 4L));
expectNetworkStatsUidDetail(new NetworkStats(getElapsedRealtime(), 3)
@@ -446,7 +442,7 @@
.addValues(TEST_IFACE, UID_BLUE, SET_DEFAULT, TAG_NONE, 512L, 4L, 0L, 0L, 0L));
expectBandwidthControlCheck();
- mService.forceUpdateIfaces(NETWORKS_MOBILE);
+ mService.forceUpdateIfaces(NETWORKS_MOBILE, new VpnInfo[0], states, getActiveIface(states));
forcePollAndWaitForIdle();
@@ -481,12 +477,12 @@
public void testUidRemovedIsMoved() throws Exception {
// pretend that network comes online
expectDefaultSettings();
- expectNetworkState(buildWifiState());
+ NetworkState[] states = new NetworkState[] {buildWifiState()};
expectNetworkStatsSummary(buildEmptyStats());
expectNetworkStatsUidDetail(buildEmptyStats());
expectBandwidthControlCheck();
- mService.forceUpdateIfaces(NETWORKS_WIFI);
+ mService.forceUpdateIfaces(NETWORKS_WIFI, new VpnInfo[0], states, getActiveIface(states));
// create some traffic
@@ -540,12 +536,12 @@
public void testUid3g4gCombinedByTemplate() throws Exception {
// pretend that network comes online
expectDefaultSettings();
- expectNetworkState(buildMobile3gState(IMSI_1));
+ NetworkState[] states = new NetworkState[] {buildMobile3gState(IMSI_1)};
expectNetworkStatsSummary(buildEmptyStats());
expectNetworkStatsUidDetail(buildEmptyStats());
expectBandwidthControlCheck();
- mService.forceUpdateIfaces(NETWORKS_MOBILE);
+ mService.forceUpdateIfaces(NETWORKS_MOBILE, new VpnInfo[0], states, getActiveIface(states));
// create some traffic
@@ -566,14 +562,14 @@
// now switch over to 4g network
incrementCurrentTime(HOUR_IN_MILLIS);
expectDefaultSettings();
- expectNetworkState(buildMobile4gState(TEST_IFACE2));
+ states = new NetworkState[] {buildMobile4gState(TEST_IFACE2)};
expectNetworkStatsSummary(buildEmptyStats());
expectNetworkStatsUidDetail(new NetworkStats(getElapsedRealtime(), 1)
.addValues(TEST_IFACE, UID_RED, SET_DEFAULT, TAG_NONE, 1024L, 8L, 1024L, 8L, 0L)
.addValues(TEST_IFACE, UID_RED, SET_DEFAULT, 0xF00D, 512L, 4L, 512L, 4L, 0L));
expectBandwidthControlCheck();
- mService.forceUpdateIfaces(NETWORKS_MOBILE);
+ mService.forceUpdateIfaces(NETWORKS_MOBILE, new VpnInfo[0], states, getActiveIface(states));
forcePollAndWaitForIdle();
@@ -598,12 +594,12 @@
public void testSummaryForAllUid() throws Exception {
// pretend that network comes online
expectDefaultSettings();
- expectNetworkState(buildWifiState());
+ NetworkState[] states = new NetworkState[] {buildWifiState()};
expectNetworkStatsSummary(buildEmptyStats());
expectNetworkStatsUidDetail(buildEmptyStats());
expectBandwidthControlCheck();
- mService.forceUpdateIfaces(NETWORKS_WIFI);
+ mService.forceUpdateIfaces(NETWORKS_WIFI, new VpnInfo[0], states, getActiveIface(states));
// create some traffic for two apps
@@ -657,12 +653,12 @@
public void testDetailedUidStats() throws Exception {
// pretend that network comes online
expectDefaultSettings();
- expectNetworkState(buildWifiState());
+ NetworkState[] states = new NetworkState[] {buildWifiState()};
expectNetworkStatsSummary(buildEmptyStats());
expectNetworkStatsUidDetail(buildEmptyStats());
expectBandwidthControlCheck();
- mService.forceUpdateIfaces(NETWORKS_WIFI);
+ mService.forceUpdateIfaces(NETWORKS_WIFI, new VpnInfo[0], states, getActiveIface(states));
NetworkStats.Entry entry1 = new NetworkStats.Entry(
TEST_IFACE, UID_RED, SET_DEFAULT, TAG_NONE, 50L, 5L, 50L, 5L, 0L);
@@ -700,13 +696,13 @@
stackedProp.setInterfaceName(stackedIface);
final NetworkState wifiState = buildWifiState();
wifiState.linkProperties.addStackedLink(stackedProp);
- expectNetworkState(wifiState);
+ NetworkState[] states = new NetworkState[] {wifiState};
expectNetworkStatsSummary(buildEmptyStats());
expectNetworkStatsUidDetail(buildEmptyStats());
expectBandwidthControlCheck();
- mService.forceUpdateIfaces(NETWORKS_WIFI);
+ mService.forceUpdateIfaces(NETWORKS_WIFI, new VpnInfo[0], states, getActiveIface(states));
NetworkStats.Entry uidStats = new NetworkStats.Entry(
TEST_IFACE, UID_BLUE, SET_DEFAULT, 0xF00D, 1024L, 8L, 512L, 4L, 0L);
@@ -745,12 +741,12 @@
public void testForegroundBackground() throws Exception {
// pretend that network comes online
expectDefaultSettings();
- expectNetworkState(buildWifiState());
+ NetworkState[] states = new NetworkState[] {buildWifiState()};
expectNetworkStatsSummary(buildEmptyStats());
expectNetworkStatsUidDetail(buildEmptyStats());
expectBandwidthControlCheck();
- mService.forceUpdateIfaces(NETWORKS_WIFI);
+ mService.forceUpdateIfaces(NETWORKS_WIFI, new VpnInfo[0], states, getActiveIface(states));
// create some initial traffic
@@ -803,12 +799,12 @@
public void testMetered() throws Exception {
// pretend that network comes online
expectDefaultSettings();
- expectNetworkState(buildWifiState(true /* isMetered */));
+ NetworkState[] states = new NetworkState[] {buildWifiState(true /* isMetered */)};
expectNetworkStatsSummary(buildEmptyStats());
expectNetworkStatsUidDetail(buildEmptyStats());
expectBandwidthControlCheck();
- mService.forceUpdateIfaces(NETWORKS_WIFI);
+ mService.forceUpdateIfaces(NETWORKS_WIFI, new VpnInfo[0], states, getActiveIface(states));
// create some initial traffic
@@ -843,12 +839,13 @@
public void testRoaming() throws Exception {
// pretend that network comes online
expectDefaultSettings();
- expectNetworkState(buildMobile3gState(IMSI_1, true /* isRoaming */));
+ NetworkState[] states =
+ new NetworkState[] {buildMobile3gState(IMSI_1, true /* isRoaming */)};
expectNetworkStatsSummary(buildEmptyStats());
expectNetworkStatsUidDetail(buildEmptyStats());
expectBandwidthControlCheck();
- mService.forceUpdateIfaces(NETWORKS_MOBILE);
+ mService.forceUpdateIfaces(NETWORKS_MOBILE, new VpnInfo[0], states, getActiveIface(states));
// Create some traffic
@@ -882,12 +879,12 @@
public void testTethering() throws Exception {
// pretend first mobile network comes online
expectDefaultSettings();
- expectNetworkState(buildMobile3gState(IMSI_1));
+ NetworkState[] states = new NetworkState[] {buildMobile3gState(IMSI_1)};
expectNetworkStatsSummary(buildEmptyStats());
expectNetworkStatsUidDetail(buildEmptyStats());
expectBandwidthControlCheck();
- mService.forceUpdateIfaces(NETWORKS_MOBILE);
+ mService.forceUpdateIfaces(NETWORKS_MOBILE, new VpnInfo[0], states, getActiveIface(states));
// create some tethering traffic
@@ -925,12 +922,12 @@
// pretend that wifi network comes online; service should ask about full
// network state, and poll any existing interfaces before updating.
expectDefaultSettings();
- expectNetworkState(buildWifiState());
+ NetworkState[] states = new NetworkState[] {buildWifiState()};
expectNetworkStatsSummary(buildEmptyStats());
expectNetworkStatsUidDetail(buildEmptyStats());
expectBandwidthControlCheck();
- mService.forceUpdateIfaces(NETWORKS_WIFI);
+ mService.forceUpdateIfaces(NETWORKS_WIFI, new VpnInfo[0], states, getActiveIface(states));
// verify service has empty history for wifi
assertNetworkTotal(sTemplateWifi, 0L, 0L, 0L, 0L, 0);
@@ -1077,11 +1074,11 @@
expectBandwidthControlCheck();
}
- private void expectNetworkState(NetworkState... state) throws Exception {
- when(mConnManager.getAllNetworkState()).thenReturn(state);
-
- final LinkProperties linkProp = state.length > 0 ? state[0].linkProperties : null;
- when(mConnManager.getActiveLinkProperties()).thenReturn(linkProp);
+ private String getActiveIface(NetworkState... states) throws Exception {
+ if (states == null || states.length == 0 || states[0].linkProperties == null) {
+ return null;
+ }
+ return states[0].linkProperties.getInterfaceName();
}
private void expectNetworkStatsSummary(NetworkStats summary) throws Exception {
@@ -1090,8 +1087,6 @@
private void expectNetworkStatsSummary(NetworkStats summary, NetworkStats tetherStats)
throws Exception {
- when(mConnManager.getAllVpnInfo()).thenReturn(new VpnInfo[0]);
-
expectNetworkStatsTethering(STATS_PER_IFACE, tetherStats);
expectNetworkStatsSummaryDev(summary.clone());
expectNetworkStatsSummaryXt(summary.clone());
diff --git a/tools/bit/main.cpp b/tools/bit/main.cpp
index 860094ae..082ccf3 100644
--- a/tools/bit/main.cpp
+++ b/tools/bit/main.cpp
@@ -33,6 +33,8 @@
using namespace std;
+#define NATIVE_TESTS "NATIVE_TESTS"
+
/**
* An entry from the command line for something that will be built, installed,
* and/or tested.
@@ -132,6 +134,32 @@
{
}
+struct PushedFile
+{
+ TrackedFile file;
+ string dest;
+
+ PushedFile();
+ PushedFile(const PushedFile& that);
+ PushedFile(const string& filename, const string& dest);
+ ~PushedFile() {};
+};
+
+PushedFile::PushedFile()
+{
+}
+
+PushedFile::PushedFile(const PushedFile& that)
+ :file(that.file),
+ dest(that.dest)
+{
+}
+
+PushedFile::PushedFile(const string& f, const string& d)
+ :file(f),
+ dest(d)
+{
+}
/**
* Record for an test that is going to be launched.
@@ -658,12 +686,14 @@
}
// Figure out whether we need to sync the system and which apks to install
- string systemPath = buildOut + "/target/product/" + buildDevice + "/system/";
- string dataPath = buildOut + "/target/product/" + buildDevice + "/data/";
+ string deviceTargetPath = buildOut + "/target/product/" + buildDevice;
+ string systemPath = deviceTargetPath + "/system/";
+ string dataPath = deviceTargetPath + "/data/";
bool syncSystem = false;
bool alwaysSyncSystem = false;
vector<string> systemFiles;
vector<InstallApk> installApks;
+ vector<PushedFile> pushedFiles;
for (size_t i=0; i<targets.size(); i++) {
Target* target = targets[i];
if (target->install) {
@@ -687,6 +717,11 @@
installApks.push_back(InstallApk(file, !target->build));
continue;
}
+ // If it's a native test module, push it.
+ if (target->module.HasClass(NATIVE_TESTS) && starts_with(file, dataPath)) {
+ string installedPath(file.c_str() + deviceTargetPath.length());
+ pushedFiles.push_back(PushedFile(file, installedPath));
+ }
}
}
}
@@ -701,6 +736,13 @@
printf(" %s\n", systemFiles[i].c_str());
}
}
+ if (pushedFiles.size() > 0){
+ print_info("Files to push:");
+ for (size_t i=0; i<pushedFiles.size(); i++) {
+ printf(" %s\n", pushedFiles[i].file.filename.c_str());
+ printf(" --> %s\n", pushedFiles[i].dest.c_str());
+ }
+ }
if (installApks.size() > 0){
print_info("APKs to install:");
for (size_t i=0; i<installApks.size(); i++) {
@@ -784,6 +826,25 @@
}
}
+ // Push files
+ if (pushedFiles.size() > 0) {
+ print_status("Pushing files");
+ for (size_t i=0; i<pushedFiles.size(); i++) {
+ const PushedFile& pushed = pushedFiles[i];
+ string dir = dirname(pushed.dest);
+ if (dir.length() == 0 || dir == "/") {
+ // This isn't really a file inside the data directory. Just skip it.
+ continue;
+ }
+ // TODO: if (!apk.file.fileInfo.exists || apk.file.HasChanged())
+ err = run_adb("shell", "mkdir", "-p", dir.c_str(), NULL);
+ check_error(err);
+ err = run_adb("push", pushed.file.filename.c_str(), pushed.dest.c_str());
+ check_error(err);
+ // pushed.installed = true;
+ }
+ }
+
// Install APKs
if (installApks.size() > 0) {
print_status("Installing APKs");
@@ -804,6 +865,74 @@
// Actions
//
+ // Whether there have been any tests run, so we can print a summary.
+ bool testsRun = false;
+
+ // Run the native tests.
+ // TODO: We don't have a good way of running these and capturing the output of
+ // them live. It'll take some work. On the other hand, if they're gtest tests,
+ // the output of gtest is not completely insane like the text output of the
+ // instrumentation tests. So for now, we'll just live with that.
+ for (size_t i=0; i<targets.size(); i++) {
+ Target* target = targets[i];
+ if (target->test && target->module.HasClass(NATIVE_TESTS)) {
+ // We don't have a clear signal from the build system which of the installed
+ // files is actually the test, so we guess by looking for one with the same
+ // leaf name as the module that is executable.
+ for (size_t j=0; j<target->module.installed.size(); j++) {
+ string filename = target->module.installed[j];
+ if (!starts_with(filename, dataPath)) {
+ // Native tests go into the data directory.
+ continue;
+ }
+ if (leafname(filename) != target->module.name) {
+ // This isn't the test executable.
+ continue;
+ }
+ if (!is_executable(filename)) {
+ continue;
+ }
+ string installedPath(filename.c_str() + deviceTargetPath.length());
+ printf("the magic one is: %s\n", filename.c_str());
+ printf(" and it's installed at: %s\n", installedPath.c_str());
+
+ // Convert bit-style actions to gtest test filter arguments
+ if (target->actions.size() > 0) {
+ testsRun = true;
+ target->testActionCount++;
+ bool runAll = false;
+ string filterArg("--gtest_filter=");
+ for (size_t k=0; k<target->actions.size(); k++) {
+ string actionString = target->actions[k];
+ if (actionString == "*") {
+ runAll = true;
+ } else {
+ filterArg += actionString;
+ if (k != target->actions.size()-1) {
+ // We would otherwise have to worry about this condition
+ // being true, and appending an extra ':', but we know that
+ // if the extra action is "*", then we'll just run all and
+ // won't use filterArg anyway, so just keep this condition
+ // simple.
+ filterArg += ':';
+ }
+ }
+ }
+ if (runAll) {
+ err = run_adb("shell", installedPath.c_str(), NULL);
+ } else {
+ err = run_adb("shell", installedPath.c_str(), filterArg.c_str(), NULL);
+ }
+ if (err == 0) {
+ target->testPassCount++;
+ } else {
+ target->testFailCount++;
+ }
+ }
+ }
+ }
+ }
+
// Inspect the apks, and figure out what is an activity and what needs a test runner
bool printedInspecting = false;
vector<TestAction> testActions;
@@ -872,6 +1001,7 @@
TestResults testResults;
if (testActions.size() > 0) {
print_status("Running tests");
+ testsRun = true;
for (size_t i=0; i<testActions.size(); i++) {
TestAction& action = testActions[i];
testResults.SetCurrentAction(&action);
@@ -969,7 +1099,7 @@
// Tests
bool hasErrors = false;
- if (testActions.size() > 0) {
+ if (testsRun) {
printf("%sRan tests:%s\n", g_escapeBold, g_escapeEndColor);
size_t maxNameLength = 0;
for (size_t i=0; i<targets.size(); i++) {
diff --git a/tools/bit/make.cpp b/tools/bit/make.cpp
index 6270913..df64a80 100644
--- a/tools/bit/make.cpp
+++ b/tools/bit/make.cpp
@@ -51,6 +51,18 @@
return filename + "/.bit_cache";
}
+bool
+Module::HasClass(const string& cl)
+{
+ for (vector<string>::const_iterator c = classes.begin(); c != classes.end(); c++) {
+ if (*c == cl) {
+ return true;
+ }
+ }
+ return false;
+}
+
+
BuildVars::BuildVars(const string& outDir, const string& buildProduct,
const string& buildVariant, const string& buildType)
:m_filename(),
diff --git a/tools/bit/make.h b/tools/bit/make.h
index db0b69f..785912a 100644
--- a/tools/bit/make.h
+++ b/tools/bit/make.h
@@ -29,6 +29,8 @@
vector<string> classes;
vector<string> paths;
vector<string> installed;
+
+ bool HasClass(const string& cl);
};
/**
diff --git a/tools/bit/util.cpp b/tools/bit/util.cpp
index a502a9d..63399d6 100644
--- a/tools/bit/util.cpp
+++ b/tools/bit/util.cpp
@@ -254,4 +254,42 @@
return result;
}
+bool
+is_executable(const string& filename)
+{
+ int err;
+ struct stat st;
+ err = stat(filename.c_str(), &st);
+ if (err != 0) {
+ return false;
+ }
+
+ return (st.st_mode & S_IXUSR) != 0;
+}
+
+string
+dirname(const string& filename)
+{
+ size_t slash = filename.rfind('/');
+ if (slash == string::npos) {
+ return "";
+ } else if (slash == 0) {
+ return "/";
+ } else {
+ return string(filename, 0, slash);
+ }
+}
+
+string
+leafname(const string& filename)
+{
+ size_t slash = filename.rfind('/');
+ if (slash == string::npos) {
+ return filename;
+ } else if (slash == filename.length() - 1) {
+ return "";
+ } else {
+ return string(filename, slash + 1);
+ }
+}
diff --git a/tools/bit/util.h b/tools/bit/util.h
index 718f147..7ccdab1 100644
--- a/tools/bit/util.h
+++ b/tools/bit/util.h
@@ -79,5 +79,10 @@
string read_file(const string& filename);
+bool is_executable(const string& filename);
+
+string dirname(const string& filename);
+string leafname(const string& filename);
+
#endif // UTIL_H
diff --git a/tools/hiddenapi/exclude.sh b/tools/hiddenapi/exclude.sh
index 4ffcf68..18c4054 100755
--- a/tools/hiddenapi/exclude.sh
+++ b/tools/hiddenapi/exclude.sh
@@ -9,6 +9,7 @@
LIBCORE_PACKAGES="\
android.icu \
android.system \
+ android.test \
com.android.bouncycastle \
com.android.conscrypt \
com.android.i18n.phonenumbers \
@@ -17,6 +18,7 @@
dalvik \
java \
javax \
+ junit \
libcore \
org.apache.harmony \
org.json \
diff --git a/wifi/java/android/net/wifi/BatchedScanResult.java b/wifi/java/android/net/wifi/BatchedScanResult.java
index c06543e..ed8845dd 100644
--- a/wifi/java/android/net/wifi/BatchedScanResult.java
+++ b/wifi/java/android/net/wifi/BatchedScanResult.java
@@ -78,7 +78,7 @@
}
/** Implement the Parcelable interface {@hide} */
- public static final Creator<BatchedScanResult> CREATOR =
+ public static final @android.annotation.NonNull Creator<BatchedScanResult> CREATOR =
new Creator<BatchedScanResult>() {
public BatchedScanResult createFromParcel(Parcel in) {
BatchedScanResult result = new BatchedScanResult();
diff --git a/wifi/java/android/net/wifi/PasspointManagementObjectDefinition.java b/wifi/java/android/net/wifi/PasspointManagementObjectDefinition.java
index 9fc1706..70577b9 100644
--- a/wifi/java/android/net/wifi/PasspointManagementObjectDefinition.java
+++ b/wifi/java/android/net/wifi/PasspointManagementObjectDefinition.java
@@ -63,7 +63,7 @@
/**
* Implement the Parcelable interface {@hide}
*/
- public static final Creator<PasspointManagementObjectDefinition> CREATOR =
+ public static final @android.annotation.NonNull Creator<PasspointManagementObjectDefinition> CREATOR =
new Creator<PasspointManagementObjectDefinition>() {
public PasspointManagementObjectDefinition createFromParcel(Parcel in) {
return new PasspointManagementObjectDefinition(
diff --git a/wifi/java/android/net/wifi/RssiPacketCountInfo.java b/wifi/java/android/net/wifi/RssiPacketCountInfo.java
index 0de2033..4301165 100644
--- a/wifi/java/android/net/wifi/RssiPacketCountInfo.java
+++ b/wifi/java/android/net/wifi/RssiPacketCountInfo.java
@@ -60,7 +60,7 @@
return 0;
}
- public static final Parcelable.Creator<RssiPacketCountInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<RssiPacketCountInfo> CREATOR =
new Parcelable.Creator<RssiPacketCountInfo>() {
@Override
public RssiPacketCountInfo createFromParcel(Parcel in) {
diff --git a/wifi/java/android/net/wifi/RttManager.java b/wifi/java/android/net/wifi/RttManager.java
index 9ab374a..6ce2121 100644
--- a/wifi/java/android/net/wifi/RttManager.java
+++ b/wifi/java/android/net/wifi/RttManager.java
@@ -292,7 +292,7 @@
}
/** Implement the Parcelable interface {@hide} */
- public static final Creator<RttCapabilities> CREATOR =
+ public static final @android.annotation.NonNull Creator<RttCapabilities> CREATOR =
new Creator<RttCapabilities>() {
@Override
public RttCapabilities createFromParcel(Parcel in) {
@@ -556,7 +556,7 @@
}
/** Implement the Parcelable interface {@hide} */
- public static final Creator<ParcelableRttParams> CREATOR =
+ public static final @android.annotation.NonNull Creator<ParcelableRttParams> CREATOR =
new Creator<ParcelableRttParams>() {
@Override
public ParcelableRttParams createFromParcel(Parcel in) {
@@ -859,7 +859,7 @@
}
/** Implement the Parcelable interface {@hide} */
- public static final Creator<ParcelableRttResults> CREATOR =
+ public static final @android.annotation.NonNull Creator<ParcelableRttResults> CREATOR =
new Creator<ParcelableRttResults>() {
@Override
public ParcelableRttResults createFromParcel(Parcel in) {
@@ -1158,7 +1158,7 @@
}
/** Implement {@link Parcelable} interface */
- public static final Parcelable.Creator<ResponderConfig> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<ResponderConfig> CREATOR =
new Parcelable.Creator<ResponderConfig>() {
@Override
public ResponderConfig createFromParcel(Parcel in) {
diff --git a/wifi/java/android/net/wifi/ScanResult.java b/wifi/java/android/net/wifi/ScanResult.java
index 9b9247d..21fe22e 100644
--- a/wifi/java/android/net/wifi/ScanResult.java
+++ b/wifi/java/android/net/wifi/ScanResult.java
@@ -751,7 +751,7 @@
/** Implement the Parcelable interface {@hide} */
@UnsupportedAppUsage
- public static final Creator<ScanResult> CREATOR =
+ public static final @android.annotation.NonNull Creator<ScanResult> CREATOR =
new Creator<ScanResult>() {
public ScanResult createFromParcel(Parcel in) {
WifiSsid wifiSsid = null;
diff --git a/wifi/java/android/net/wifi/SupplicantState.java b/wifi/java/android/net/wifi/SupplicantState.java
index 369d3a8..de7e2b5 100644
--- a/wifi/java/android/net/wifi/SupplicantState.java
+++ b/wifi/java/android/net/wifi/SupplicantState.java
@@ -251,7 +251,7 @@
}
/** Implement the Parcelable interface {@hide} */
- public static final Creator<SupplicantState> CREATOR =
+ public static final @android.annotation.NonNull Creator<SupplicantState> CREATOR =
new Creator<SupplicantState>() {
public SupplicantState createFromParcel(Parcel in) {
return SupplicantState.valueOf(in.readString());
diff --git a/wifi/java/android/net/wifi/WifiActivityEnergyInfo.java b/wifi/java/android/net/wifi/WifiActivityEnergyInfo.java
index 03c9fbe..0f7fc2d 100644
--- a/wifi/java/android/net/wifi/WifiActivityEnergyInfo.java
+++ b/wifi/java/android/net/wifi/WifiActivityEnergyInfo.java
@@ -100,7 +100,7 @@
+ " }";
}
- public static final Parcelable.Creator<WifiActivityEnergyInfo> CREATOR =
+ public static final @android.annotation.NonNull Parcelable.Creator<WifiActivityEnergyInfo> CREATOR =
new Parcelable.Creator<WifiActivityEnergyInfo>() {
public WifiActivityEnergyInfo createFromParcel(Parcel in) {
long timestamp = in.readLong();
diff --git a/wifi/java/android/net/wifi/WifiConfiguration.java b/wifi/java/android/net/wifi/WifiConfiguration.java
index 4d6ff48..c59ad65 100644
--- a/wifi/java/android/net/wifi/WifiConfiguration.java
+++ b/wifi/java/android/net/wifi/WifiConfiguration.java
@@ -2486,7 +2486,7 @@
/** Implement the Parcelable interface {@hide} */
@UnsupportedAppUsage
- public static final Creator<WifiConfiguration> CREATOR =
+ public static final @android.annotation.NonNull Creator<WifiConfiguration> CREATOR =
new Creator<WifiConfiguration>() {
public WifiConfiguration createFromParcel(Parcel in) {
WifiConfiguration config = new WifiConfiguration();
diff --git a/wifi/java/android/net/wifi/WifiEnterpriseConfig.java b/wifi/java/android/net/wifi/WifiEnterpriseConfig.java
index 145e269..7a505a2 100644
--- a/wifi/java/android/net/wifi/WifiEnterpriseConfig.java
+++ b/wifi/java/android/net/wifi/WifiEnterpriseConfig.java
@@ -226,7 +226,7 @@
ParcelUtil.writeCertificates(dest, mClientCertificateChain);
}
- public static final Creator<WifiEnterpriseConfig> CREATOR =
+ public static final @android.annotation.NonNull Creator<WifiEnterpriseConfig> CREATOR =
new Creator<WifiEnterpriseConfig>() {
@Override
public WifiEnterpriseConfig createFromParcel(Parcel in) {
diff --git a/wifi/java/android/net/wifi/WifiInfo.java b/wifi/java/android/net/wifi/WifiInfo.java
index c7180c1..ee60408 100644
--- a/wifi/java/android/net/wifi/WifiInfo.java
+++ b/wifi/java/android/net/wifi/WifiInfo.java
@@ -736,7 +736,7 @@
/** Implement the Parcelable interface {@hide} */
@UnsupportedAppUsage
- public static final Creator<WifiInfo> CREATOR =
+ public static final @android.annotation.NonNull Creator<WifiInfo> CREATOR =
new Creator<WifiInfo>() {
public WifiInfo createFromParcel(Parcel in) {
WifiInfo info = new WifiInfo();
diff --git a/wifi/java/android/net/wifi/WifiNetworkAgentSpecifier.java b/wifi/java/android/net/wifi/WifiNetworkAgentSpecifier.java
index 9d87466..24aa23a 100644
--- a/wifi/java/android/net/wifi/WifiNetworkAgentSpecifier.java
+++ b/wifi/java/android/net/wifi/WifiNetworkAgentSpecifier.java
@@ -74,7 +74,7 @@
/**
* @hide
*/
- public static final Creator<WifiNetworkAgentSpecifier> CREATOR =
+ public static final @android.annotation.NonNull Creator<WifiNetworkAgentSpecifier> CREATOR =
new Creator<WifiNetworkAgentSpecifier>() {
@Override
public WifiNetworkAgentSpecifier createFromParcel(@NonNull Parcel in) {
diff --git a/wifi/java/android/net/wifi/WifiNetworkConnectionStatistics.java b/wifi/java/android/net/wifi/WifiNetworkConnectionStatistics.java
index 9b2fdc8..8262a7a 100644
--- a/wifi/java/android/net/wifi/WifiNetworkConnectionStatistics.java
+++ b/wifi/java/android/net/wifi/WifiNetworkConnectionStatistics.java
@@ -68,7 +68,7 @@
}
/** Implement the Parcelable interface */
- public static final Creator<WifiNetworkConnectionStatistics> CREATOR =
+ public static final @android.annotation.NonNull Creator<WifiNetworkConnectionStatistics> CREATOR =
new Creator<WifiNetworkConnectionStatistics>() {
public WifiNetworkConnectionStatistics createFromParcel(Parcel in) {
int numConnection = in.readInt();
diff --git a/wifi/java/android/net/wifi/WifiNetworkSpecifier.java b/wifi/java/android/net/wifi/WifiNetworkSpecifier.java
index c99bd2e..84b28a9 100644
--- a/wifi/java/android/net/wifi/WifiNetworkSpecifier.java
+++ b/wifi/java/android/net/wifi/WifiNetworkSpecifier.java
@@ -496,7 +496,7 @@
this.requestorPackageName = requestorPackageName;
}
- public static final Creator<WifiNetworkSpecifier> CREATOR =
+ public static final @android.annotation.NonNull Creator<WifiNetworkSpecifier> CREATOR =
new Creator<WifiNetworkSpecifier>() {
@Override
public WifiNetworkSpecifier createFromParcel(Parcel in) {
diff --git a/wifi/java/android/net/wifi/WifiNetworkSuggestion.java b/wifi/java/android/net/wifi/WifiNetworkSuggestion.java
index f02404f..4cee6ec 100644
--- a/wifi/java/android/net/wifi/WifiNetworkSuggestion.java
+++ b/wifi/java/android/net/wifi/WifiNetworkSuggestion.java
@@ -483,7 +483,7 @@
this.suggestorPackageName = suggestorPackageName;
}
- public static final Creator<WifiNetworkSuggestion> CREATOR =
+ public static final @android.annotation.NonNull Creator<WifiNetworkSuggestion> CREATOR =
new Creator<WifiNetworkSuggestion>() {
@Override
public WifiNetworkSuggestion createFromParcel(Parcel in) {
diff --git a/wifi/java/android/net/wifi/WifiScanner.java b/wifi/java/android/net/wifi/WifiScanner.java
index b73551f..66dc992 100644
--- a/wifi/java/android/net/wifi/WifiScanner.java
+++ b/wifi/java/android/net/wifi/WifiScanner.java
@@ -310,7 +310,7 @@
}
/** Implement the Parcelable interface {@hide} */
- public static final Creator<ScanSettings> CREATOR =
+ public static final @android.annotation.NonNull Creator<ScanSettings> CREATOR =
new Creator<ScanSettings>() {
public ScanSettings createFromParcel(Parcel in) {
ScanSettings settings = new ScanSettings();
@@ -453,7 +453,7 @@
}
/** Implement the Parcelable interface {@hide} */
- public static final Creator<ScanData> CREATOR =
+ public static final @android.annotation.NonNull Creator<ScanData> CREATOR =
new Creator<ScanData>() {
public ScanData createFromParcel(Parcel in) {
int id = in.readInt();
@@ -505,7 +505,7 @@
}
/** Implement the Parcelable interface {@hide} */
- public static final Creator<ParcelableScanData> CREATOR =
+ public static final @android.annotation.NonNull Creator<ParcelableScanData> CREATOR =
new Creator<ParcelableScanData>() {
public ParcelableScanData createFromParcel(Parcel in) {
int n = in.readInt();
@@ -553,7 +553,7 @@
}
/** Implement the Parcelable interface {@hide} */
- public static final Creator<ParcelableScanResults> CREATOR =
+ public static final @android.annotation.NonNull Creator<ParcelableScanResults> CREATOR =
new Creator<ParcelableScanResults>() {
public ParcelableScanResults createFromParcel(Parcel in) {
int n = in.readInt();
@@ -684,7 +684,7 @@
}
/** Implement the Parcelable interface {@hide} */
- public static final Creator<PnoSettings> CREATOR =
+ public static final @android.annotation.NonNull Creator<PnoSettings> CREATOR =
new Creator<PnoSettings>() {
public PnoSettings createFromParcel(Parcel in) {
PnoSettings settings = new PnoSettings();
@@ -1029,7 +1029,7 @@
}
/** Implement the Parcelable interface {@hide} */
- public static final Creator<WifiChangeSettings> CREATOR =
+ public static final @android.annotation.NonNull Creator<WifiChangeSettings> CREATOR =
new Creator<WifiChangeSettings>() {
public WifiChangeSettings createFromParcel(Parcel in) {
return new WifiChangeSettings();
@@ -1140,7 +1140,7 @@
}
/** Implement the Parcelable interface {@hide} */
- public static final Creator<HotlistSettings> CREATOR =
+ public static final @android.annotation.NonNull Creator<HotlistSettings> CREATOR =
new Creator<HotlistSettings>() {
public HotlistSettings createFromParcel(Parcel in) {
HotlistSettings settings = new HotlistSettings();
@@ -1373,7 +1373,7 @@
}
/** Implement the Parcelable interface {@hide} */
- public static final Creator<OperationResult> CREATOR =
+ public static final @android.annotation.NonNull Creator<OperationResult> CREATOR =
new Creator<OperationResult>() {
public OperationResult createFromParcel(Parcel in) {
int reason = in.readInt();
diff --git a/wifi/java/android/net/wifi/WifiSsid.java b/wifi/java/android/net/wifi/WifiSsid.java
index 9acbc14..fd59390 100644
--- a/wifi/java/android/net/wifi/WifiSsid.java
+++ b/wifi/java/android/net/wifi/WifiSsid.java
@@ -252,7 +252,7 @@
/** Implement the Parcelable interface {@hide} */
@UnsupportedAppUsage
- public static final Creator<WifiSsid> CREATOR =
+ public static final @android.annotation.NonNull Creator<WifiSsid> CREATOR =
new Creator<WifiSsid>() {
public WifiSsid createFromParcel(Parcel in) {
WifiSsid ssid = new WifiSsid();
diff --git a/wifi/java/android/net/wifi/WifiUsabilityStatsEntry.java b/wifi/java/android/net/wifi/WifiUsabilityStatsEntry.java
index c43818d..2dee971 100644
--- a/wifi/java/android/net/wifi/WifiUsabilityStatsEntry.java
+++ b/wifi/java/android/net/wifi/WifiUsabilityStatsEntry.java
@@ -167,7 +167,7 @@
}
/** Implement the Parcelable interface */
- public static final Creator<WifiUsabilityStatsEntry> CREATOR =
+ public static final @android.annotation.NonNull Creator<WifiUsabilityStatsEntry> CREATOR =
new Creator<WifiUsabilityStatsEntry>() {
public WifiUsabilityStatsEntry createFromParcel(Parcel in) {
return new WifiUsabilityStatsEntry(
diff --git a/wifi/java/android/net/wifi/WpsInfo.java b/wifi/java/android/net/wifi/WpsInfo.java
index ae3104b..00cb243 100644
--- a/wifi/java/android/net/wifi/WpsInfo.java
+++ b/wifi/java/android/net/wifi/WpsInfo.java
@@ -85,7 +85,7 @@
}
/** Implement the Parcelable interface */
- public static final Creator<WpsInfo> CREATOR =
+ public static final @android.annotation.NonNull Creator<WpsInfo> CREATOR =
new Creator<WpsInfo>() {
public WpsInfo createFromParcel(Parcel in) {
WpsInfo config = new WpsInfo();
diff --git a/wifi/java/android/net/wifi/WpsResult.java b/wifi/java/android/net/wifi/WpsResult.java
index d4fd3e2..f2ffb6f 100644
--- a/wifi/java/android/net/wifi/WpsResult.java
+++ b/wifi/java/android/net/wifi/WpsResult.java
@@ -74,7 +74,7 @@
}
/** Implement the Parcelable interface {@hide} */
- public static final Creator<WpsResult> CREATOR =
+ public static final @android.annotation.NonNull Creator<WpsResult> CREATOR =
new Creator<WpsResult>() {
public WpsResult createFromParcel(Parcel in) {
WpsResult result = new WpsResult();
diff --git a/wifi/java/android/net/wifi/aware/Characteristics.java b/wifi/java/android/net/wifi/aware/Characteristics.java
index 70474fd..e2cf4dc 100644
--- a/wifi/java/android/net/wifi/aware/Characteristics.java
+++ b/wifi/java/android/net/wifi/aware/Characteristics.java
@@ -87,7 +87,7 @@
return 0;
}
- public static final Creator<Characteristics> CREATOR =
+ public static final @android.annotation.NonNull Creator<Characteristics> CREATOR =
new Creator<Characteristics>() {
@Override
public Characteristics createFromParcel(Parcel in) {
diff --git a/wifi/java/android/net/wifi/aware/ConfigRequest.java b/wifi/java/android/net/wifi/aware/ConfigRequest.java
index cc14ab2..1e46d1b 100644
--- a/wifi/java/android/net/wifi/aware/ConfigRequest.java
+++ b/wifi/java/android/net/wifi/aware/ConfigRequest.java
@@ -112,7 +112,7 @@
dest.writeIntArray(mDiscoveryWindowInterval);
}
- public static final Creator<ConfigRequest> CREATOR = new Creator<ConfigRequest>() {
+ public static final @android.annotation.NonNull Creator<ConfigRequest> CREATOR = new Creator<ConfigRequest>() {
@Override
public ConfigRequest[] newArray(int size) {
return new ConfigRequest[size];
diff --git a/wifi/java/android/net/wifi/aware/ParcelablePeerHandle.java b/wifi/java/android/net/wifi/aware/ParcelablePeerHandle.java
index 4ddf872..ce67abf 100644
--- a/wifi/java/android/net/wifi/aware/ParcelablePeerHandle.java
+++ b/wifi/java/android/net/wifi/aware/ParcelablePeerHandle.java
@@ -43,7 +43,7 @@
dest.writeInt(peerId);
}
- public static final Creator<ParcelablePeerHandle> CREATOR =
+ public static final @android.annotation.NonNull Creator<ParcelablePeerHandle> CREATOR =
new Creator<ParcelablePeerHandle>() {
@Override
public ParcelablePeerHandle[] newArray(int size) {
diff --git a/wifi/java/android/net/wifi/aware/PublishConfig.java b/wifi/java/android/net/wifi/aware/PublishConfig.java
index d43f727..f0c7967 100644
--- a/wifi/java/android/net/wifi/aware/PublishConfig.java
+++ b/wifi/java/android/net/wifi/aware/PublishConfig.java
@@ -129,7 +129,7 @@
dest.writeInt(mEnableRanging ? 1 : 0);
}
- public static final Creator<PublishConfig> CREATOR = new Creator<PublishConfig>() {
+ public static final @android.annotation.NonNull Creator<PublishConfig> CREATOR = new Creator<PublishConfig>() {
@Override
public PublishConfig[] newArray(int size) {
return new PublishConfig[size];
diff --git a/wifi/java/android/net/wifi/aware/SubscribeConfig.java b/wifi/java/android/net/wifi/aware/SubscribeConfig.java
index 51353c6..f477490 100644
--- a/wifi/java/android/net/wifi/aware/SubscribeConfig.java
+++ b/wifi/java/android/net/wifi/aware/SubscribeConfig.java
@@ -146,7 +146,7 @@
dest.writeInt(mMaxDistanceMmSet ? 1 : 0);
}
- public static final Creator<SubscribeConfig> CREATOR = new Creator<SubscribeConfig>() {
+ public static final @android.annotation.NonNull Creator<SubscribeConfig> CREATOR = new Creator<SubscribeConfig>() {
@Override
public SubscribeConfig[] newArray(int size) {
return new SubscribeConfig[size];
diff --git a/wifi/java/android/net/wifi/aware/WifiAwareAgentNetworkSpecifier.java b/wifi/java/android/net/wifi/aware/WifiAwareAgentNetworkSpecifier.java
index 4bee837..9164d04 100644
--- a/wifi/java/android/net/wifi/aware/WifiAwareAgentNetworkSpecifier.java
+++ b/wifi/java/android/net/wifi/aware/WifiAwareAgentNetworkSpecifier.java
@@ -77,7 +77,7 @@
dest.writeArray(mNetworkSpecifiers.toArray());
}
- public static final Creator<WifiAwareAgentNetworkSpecifier> CREATOR =
+ public static final @android.annotation.NonNull Creator<WifiAwareAgentNetworkSpecifier> CREATOR =
new Creator<WifiAwareAgentNetworkSpecifier>() {
@Override
public WifiAwareAgentNetworkSpecifier createFromParcel(Parcel in) {
@@ -210,7 +210,7 @@
dest.writeBlob(mData);
}
- public static final Creator<ByteArrayWrapper> CREATOR =
+ public static final @android.annotation.NonNull Creator<ByteArrayWrapper> CREATOR =
new Creator<ByteArrayWrapper>() {
@Override
public ByteArrayWrapper createFromParcel(Parcel in) {
diff --git a/wifi/java/android/net/wifi/aware/WifiAwareNetworkInfo.java b/wifi/java/android/net/wifi/aware/WifiAwareNetworkInfo.java
index b258906..020cb56 100644
--- a/wifi/java/android/net/wifi/aware/WifiAwareNetworkInfo.java
+++ b/wifi/java/android/net/wifi/aware/WifiAwareNetworkInfo.java
@@ -116,7 +116,7 @@
dest.writeInt(mTransportProtocol);
}
- public static final Creator<WifiAwareNetworkInfo> CREATOR =
+ public static final @android.annotation.NonNull Creator<WifiAwareNetworkInfo> CREATOR =
new Creator<WifiAwareNetworkInfo>() {
@Override
public WifiAwareNetworkInfo createFromParcel(Parcel in) {
diff --git a/wifi/java/android/net/wifi/aware/WifiAwareNetworkSpecifier.java b/wifi/java/android/net/wifi/aware/WifiAwareNetworkSpecifier.java
index a93a6d5..59f534a 100644
--- a/wifi/java/android/net/wifi/aware/WifiAwareNetworkSpecifier.java
+++ b/wifi/java/android/net/wifi/aware/WifiAwareNetworkSpecifier.java
@@ -167,7 +167,7 @@
this.requestorUid = requestorUid;
}
- public static final Creator<WifiAwareNetworkSpecifier> CREATOR =
+ public static final @android.annotation.NonNull Creator<WifiAwareNetworkSpecifier> CREATOR =
new Creator<WifiAwareNetworkSpecifier>() {
@Override
public WifiAwareNetworkSpecifier createFromParcel(Parcel in) {
diff --git a/wifi/java/android/net/wifi/hotspot2/OsuProvider.java b/wifi/java/android/net/wifi/hotspot2/OsuProvider.java
index f91790f..a1684d6 100644
--- a/wifi/java/android/net/wifi/hotspot2/OsuProvider.java
+++ b/wifi/java/android/net/wifi/hotspot2/OsuProvider.java
@@ -256,7 +256,7 @@
+ " mIcon=" + mIcon;
}
- public static final Creator<OsuProvider> CREATOR =
+ public static final @android.annotation.NonNull Creator<OsuProvider> CREATOR =
new Creator<OsuProvider>() {
@Override
public OsuProvider createFromParcel(Parcel in) {
diff --git a/wifi/java/android/net/wifi/hotspot2/PasspointConfiguration.java b/wifi/java/android/net/wifi/hotspot2/PasspointConfiguration.java
index f09d864..9095b5d 100644
--- a/wifi/java/android/net/wifi/hotspot2/PasspointConfiguration.java
+++ b/wifi/java/android/net/wifi/hotspot2/PasspointConfiguration.java
@@ -600,7 +600,7 @@
return true;
}
- public static final Creator<PasspointConfiguration> CREATOR =
+ public static final @android.annotation.NonNull Creator<PasspointConfiguration> CREATOR =
new Creator<PasspointConfiguration>() {
@Override
public PasspointConfiguration createFromParcel(Parcel in) {
diff --git a/wifi/java/android/net/wifi/hotspot2/pps/Credential.java b/wifi/java/android/net/wifi/hotspot2/pps/Credential.java
index 28165e15..9409c03 100644
--- a/wifi/java/android/net/wifi/hotspot2/pps/Credential.java
+++ b/wifi/java/android/net/wifi/hotspot2/pps/Credential.java
@@ -428,7 +428,7 @@
return true;
}
- public static final Creator<UserCredential> CREATOR =
+ public static final @android.annotation.NonNull Creator<UserCredential> CREATOR =
new Creator<UserCredential>() {
@Override
public UserCredential createFromParcel(Parcel in) {
@@ -599,7 +599,7 @@
return true;
}
- public static final Creator<CertificateCredential> CREATOR =
+ public static final @android.annotation.NonNull Creator<CertificateCredential> CREATOR =
new Creator<CertificateCredential>() {
@Override
public CertificateCredential createFromParcel(Parcel in) {
@@ -770,7 +770,7 @@
return true;
}
- public static final Creator<SimCredential> CREATOR =
+ public static final @android.annotation.NonNull Creator<SimCredential> CREATOR =
new Creator<SimCredential>() {
@Override
public SimCredential createFromParcel(Parcel in) {
@@ -1086,7 +1086,7 @@
return true;
}
- public static final Creator<Credential> CREATOR =
+ public static final @android.annotation.NonNull Creator<Credential> CREATOR =
new Creator<Credential>() {
@Override
public Credential createFromParcel(Parcel in) {
diff --git a/wifi/java/android/net/wifi/hotspot2/pps/HomeSp.java b/wifi/java/android/net/wifi/hotspot2/pps/HomeSp.java
index d829ea8..49a76c3 100644
--- a/wifi/java/android/net/wifi/hotspot2/pps/HomeSp.java
+++ b/wifi/java/android/net/wifi/hotspot2/pps/HomeSp.java
@@ -345,7 +345,7 @@
return true;
}
- public static final Creator<HomeSp> CREATOR =
+ public static final @android.annotation.NonNull Creator<HomeSp> CREATOR =
new Creator<HomeSp>() {
@Override
public HomeSp createFromParcel(Parcel in) {
diff --git a/wifi/java/android/net/wifi/hotspot2/pps/Policy.java b/wifi/java/android/net/wifi/hotspot2/pps/Policy.java
index ee0894b..b0a2cc3 100644
--- a/wifi/java/android/net/wifi/hotspot2/pps/Policy.java
+++ b/wifi/java/android/net/wifi/hotspot2/pps/Policy.java
@@ -279,7 +279,7 @@
return true;
}
- public static final Creator<RoamingPartner> CREATOR =
+ public static final @android.annotation.NonNull Creator<RoamingPartner> CREATOR =
new Creator<RoamingPartner>() {
@Override
public RoamingPartner createFromParcel(Parcel in) {
@@ -475,7 +475,7 @@
return true;
}
- public static final Creator<Policy> CREATOR =
+ public static final @android.annotation.NonNull Creator<Policy> CREATOR =
new Creator<Policy>() {
@Override
public Policy createFromParcel(Parcel in) {
diff --git a/wifi/java/android/net/wifi/hotspot2/pps/UpdateParameter.java b/wifi/java/android/net/wifi/hotspot2/pps/UpdateParameter.java
index 8d30ff1..4a8aa36 100644
--- a/wifi/java/android/net/wifi/hotspot2/pps/UpdateParameter.java
+++ b/wifi/java/android/net/wifi/hotspot2/pps/UpdateParameter.java
@@ -378,7 +378,7 @@
return true;
}
- public static final Creator<UpdateParameter> CREATOR =
+ public static final @android.annotation.NonNull Creator<UpdateParameter> CREATOR =
new Creator<UpdateParameter>() {
@Override
public UpdateParameter createFromParcel(Parcel in) {
diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pConfig.java b/wifi/java/android/net/wifi/p2p/WifiP2pConfig.java
index 479adbc..5e1f569 100644
--- a/wifi/java/android/net/wifi/p2p/WifiP2pConfig.java
+++ b/wifi/java/android/net/wifi/p2p/WifiP2pConfig.java
@@ -193,7 +193,7 @@
}
/** Implement the Parcelable interface */
- public static final Creator<WifiP2pConfig> CREATOR =
+ public static final @android.annotation.NonNull Creator<WifiP2pConfig> CREATOR =
new Creator<WifiP2pConfig>() {
public WifiP2pConfig createFromParcel(Parcel in) {
WifiP2pConfig config = new WifiP2pConfig();
diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pDevice.java b/wifi/java/android/net/wifi/p2p/WifiP2pDevice.java
index ab7bb68..c5318a9 100644
--- a/wifi/java/android/net/wifi/p2p/WifiP2pDevice.java
+++ b/wifi/java/android/net/wifi/p2p/WifiP2pDevice.java
@@ -385,7 +385,7 @@
}
/** Implement the Parcelable interface */
- public static final Creator<WifiP2pDevice> CREATOR =
+ public static final @android.annotation.NonNull Creator<WifiP2pDevice> CREATOR =
new Creator<WifiP2pDevice>() {
@Override
public WifiP2pDevice createFromParcel(Parcel in) {
diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pDeviceList.java b/wifi/java/android/net/wifi/p2p/WifiP2pDeviceList.java
index 72edd56..acf06fb 100644
--- a/wifi/java/android/net/wifi/p2p/WifiP2pDeviceList.java
+++ b/wifi/java/android/net/wifi/p2p/WifiP2pDeviceList.java
@@ -200,7 +200,7 @@
}
/** Implement the Parcelable interface */
- public static final Creator<WifiP2pDeviceList> CREATOR =
+ public static final @android.annotation.NonNull Creator<WifiP2pDeviceList> CREATOR =
new Creator<WifiP2pDeviceList>() {
public WifiP2pDeviceList createFromParcel(Parcel in) {
WifiP2pDeviceList deviceList = new WifiP2pDeviceList();
diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pGroup.java b/wifi/java/android/net/wifi/p2p/WifiP2pGroup.java
index 8a1b21c..4866bd4 100644
--- a/wifi/java/android/net/wifi/p2p/WifiP2pGroup.java
+++ b/wifi/java/android/net/wifi/p2p/WifiP2pGroup.java
@@ -332,7 +332,7 @@
}
/** Implement the Parcelable interface */
- public static final Creator<WifiP2pGroup> CREATOR =
+ public static final @android.annotation.NonNull Creator<WifiP2pGroup> CREATOR =
new Creator<WifiP2pGroup>() {
public WifiP2pGroup createFromParcel(Parcel in) {
WifiP2pGroup group = new WifiP2pGroup();
diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pGroupList.java b/wifi/java/android/net/wifi/p2p/WifiP2pGroupList.java
index 8d92253..62524d9 100644
--- a/wifi/java/android/net/wifi/p2p/WifiP2pGroupList.java
+++ b/wifi/java/android/net/wifi/p2p/WifiP2pGroupList.java
@@ -231,7 +231,7 @@
}
/** Implement the Parcelable interface */
- public static final Creator<WifiP2pGroupList> CREATOR =
+ public static final @android.annotation.NonNull Creator<WifiP2pGroupList> CREATOR =
new Creator<WifiP2pGroupList>() {
public WifiP2pGroupList createFromParcel(Parcel in) {
WifiP2pGroupList grpList = new WifiP2pGroupList();
diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pInfo.java b/wifi/java/android/net/wifi/p2p/WifiP2pInfo.java
index 8972b7e..33bc37e 100644
--- a/wifi/java/android/net/wifi/p2p/WifiP2pInfo.java
+++ b/wifi/java/android/net/wifi/p2p/WifiP2pInfo.java
@@ -77,7 +77,7 @@
}
/** Implement the Parcelable interface */
- public static final Creator<WifiP2pInfo> CREATOR =
+ public static final @android.annotation.NonNull Creator<WifiP2pInfo> CREATOR =
new Creator<WifiP2pInfo>() {
public WifiP2pInfo createFromParcel(Parcel in) {
WifiP2pInfo info = new WifiP2pInfo();
diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pWfdInfo.java b/wifi/java/android/net/wifi/p2p/WifiP2pWfdInfo.java
index f9ef08f..3caa280 100644
--- a/wifi/java/android/net/wifi/p2p/WifiP2pWfdInfo.java
+++ b/wifi/java/android/net/wifi/p2p/WifiP2pWfdInfo.java
@@ -195,7 +195,7 @@
/** Implement the Parcelable interface */
@UnsupportedAppUsage
- public static final Creator<WifiP2pWfdInfo> CREATOR =
+ public static final @android.annotation.NonNull Creator<WifiP2pWfdInfo> CREATOR =
new Creator<WifiP2pWfdInfo>() {
public WifiP2pWfdInfo createFromParcel(Parcel in) {
WifiP2pWfdInfo device = new WifiP2pWfdInfo();
diff --git a/wifi/java/android/net/wifi/p2p/nsd/WifiP2pServiceInfo.java b/wifi/java/android/net/wifi/p2p/nsd/WifiP2pServiceInfo.java
index e9ee7bb..db0bdb8 100644
--- a/wifi/java/android/net/wifi/p2p/nsd/WifiP2pServiceInfo.java
+++ b/wifi/java/android/net/wifi/p2p/nsd/WifiP2pServiceInfo.java
@@ -171,7 +171,7 @@
/** Implement the Parcelable interface {@hide} */
@UnsupportedAppUsage
- public static final Creator<WifiP2pServiceInfo> CREATOR =
+ public static final @android.annotation.NonNull Creator<WifiP2pServiceInfo> CREATOR =
new Creator<WifiP2pServiceInfo>() {
public WifiP2pServiceInfo createFromParcel(Parcel in) {
diff --git a/wifi/java/android/net/wifi/p2p/nsd/WifiP2pServiceRequest.java b/wifi/java/android/net/wifi/p2p/nsd/WifiP2pServiceRequest.java
index f1f2262..87528c4 100644
--- a/wifi/java/android/net/wifi/p2p/nsd/WifiP2pServiceRequest.java
+++ b/wifi/java/android/net/wifi/p2p/nsd/WifiP2pServiceRequest.java
@@ -266,7 +266,7 @@
/** Implement the Parcelable interface {@hide} */
@UnsupportedAppUsage
- public static final Creator<WifiP2pServiceRequest> CREATOR =
+ public static final @android.annotation.NonNull Creator<WifiP2pServiceRequest> CREATOR =
new Creator<WifiP2pServiceRequest>() {
public WifiP2pServiceRequest createFromParcel(Parcel in) {
int servType = in.readInt();
diff --git a/wifi/java/android/net/wifi/p2p/nsd/WifiP2pServiceResponse.java b/wifi/java/android/net/wifi/p2p/nsd/WifiP2pServiceResponse.java
index 1020fd2..1b9c080 100644
--- a/wifi/java/android/net/wifi/p2p/nsd/WifiP2pServiceResponse.java
+++ b/wifi/java/android/net/wifi/p2p/nsd/WifiP2pServiceResponse.java
@@ -350,7 +350,7 @@
}
/** Implement the Parcelable interface {@hide} */
- public static final Creator<WifiP2pServiceResponse> CREATOR =
+ public static final @android.annotation.NonNull Creator<WifiP2pServiceResponse> CREATOR =
new Creator<WifiP2pServiceResponse>() {
public WifiP2pServiceResponse createFromParcel(Parcel in) {
diff --git a/wifi/java/android/net/wifi/rtt/CivicLocation.java b/wifi/java/android/net/wifi/rtt/CivicLocation.java
index a669d77..b438a69 100644
--- a/wifi/java/android/net/wifi/rtt/CivicLocation.java
+++ b/wifi/java/android/net/wifi/rtt/CivicLocation.java
@@ -91,7 +91,7 @@
mCivicAddressElements = in.readSparseArray(this.getClass().getClassLoader());
}
- public static final Creator<CivicLocation> CREATOR = new Creator<CivicLocation>() {
+ public static final @android.annotation.NonNull Creator<CivicLocation> CREATOR = new Creator<CivicLocation>() {
@Override
public CivicLocation createFromParcel(Parcel in) {
return new CivicLocation(in);
diff --git a/wifi/java/android/net/wifi/rtt/RangingRequest.java b/wifi/java/android/net/wifi/rtt/RangingRequest.java
index 339233b..70af03e 100644
--- a/wifi/java/android/net/wifi/rtt/RangingRequest.java
+++ b/wifi/java/android/net/wifi/rtt/RangingRequest.java
@@ -76,7 +76,7 @@
dest.writeList(mRttPeers);
}
- public static final Creator<RangingRequest> CREATOR = new Creator<RangingRequest>() {
+ public static final @android.annotation.NonNull Creator<RangingRequest> CREATOR = new Creator<RangingRequest>() {
@Override
public RangingRequest[] newArray(int size) {
return new RangingRequest[size];
diff --git a/wifi/java/android/net/wifi/rtt/RangingResult.java b/wifi/java/android/net/wifi/rtt/RangingResult.java
index b53b35c..7c29ff4 100644
--- a/wifi/java/android/net/wifi/rtt/RangingResult.java
+++ b/wifi/java/android/net/wifi/rtt/RangingResult.java
@@ -349,7 +349,7 @@
dest.writeLong(mTimestamp);
}
- public static final Creator<RangingResult> CREATOR = new Creator<RangingResult>() {
+ public static final @android.annotation.NonNull Creator<RangingResult> CREATOR = new Creator<RangingResult>() {
@Override
public RangingResult[] newArray(int size) {
return new RangingResult[size];
diff --git a/wifi/java/android/net/wifi/rtt/ResponderConfig.java b/wifi/java/android/net/wifi/rtt/ResponderConfig.java
index 166af6c..e6ae483 100644
--- a/wifi/java/android/net/wifi/rtt/ResponderConfig.java
+++ b/wifi/java/android/net/wifi/rtt/ResponderConfig.java
@@ -406,7 +406,7 @@
dest.writeInt(preamble);
}
- public static final Creator<ResponderConfig> CREATOR = new Creator<ResponderConfig>() {
+ public static final @android.annotation.NonNull Creator<ResponderConfig> CREATOR = new Creator<ResponderConfig>() {
@Override
public ResponderConfig[] newArray(int size) {
return new ResponderConfig[size];
diff --git a/wifi/java/android/net/wifi/rtt/ResponderLocation.java b/wifi/java/android/net/wifi/rtt/ResponderLocation.java
index 2912a67..7b25eed 100644
--- a/wifi/java/android/net/wifi/rtt/ResponderLocation.java
+++ b/wifi/java/android/net/wifi/rtt/ResponderLocation.java
@@ -439,7 +439,7 @@
}
}
- public static final Creator<ResponderLocation> CREATOR = new Creator<ResponderLocation>() {
+ public static final @android.annotation.NonNull Creator<ResponderLocation> CREATOR = new Creator<ResponderLocation>() {
@Override
public ResponderLocation createFromParcel(Parcel in) {
return new ResponderLocation(in);