Migrate Bundle/Intent APIs to new, type checked, variants
Part of go/safer-parcel. Follow up to ag/16639043. Migrates the following unsafe APIs:
* Parcel.readArray()
* Parcel.readParcelableArray()
* Bundle.getSerializable()
* Bundle.getParcelable()
* Bundle.getParcelableArrayList()
* Bundle.getParcelableArray()
* Bundle.getSparseParcelableArray()
* Intent.getSerializableExtra()
* Intent.getParcelableExtra()
* Intent.getParcelableArrayExtra()
* Intent.getParcelableArrayListExtra
Bug: 227458983
Test: m and presubmit pass
Change-Id: I72f206cb18eb5c669a7fff07a6845bed1c433fdb
diff --git a/core/java/android/accessibilityservice/AccessibilityService.java b/core/java/android/accessibilityservice/AccessibilityService.java
index c17fbf1..90b7828 100644
--- a/core/java/android/accessibilityservice/AccessibilityService.java
+++ b/core/java/android/accessibilityservice/AccessibilityService.java
@@ -2590,9 +2590,9 @@
return;
}
final HardwareBuffer hardwareBuffer =
- result.getParcelable(KEY_ACCESSIBILITY_SCREENSHOT_HARDWAREBUFFER);
+ result.getParcelable(KEY_ACCESSIBILITY_SCREENSHOT_HARDWAREBUFFER, android.hardware.HardwareBuffer.class);
final ParcelableColorSpace colorSpace =
- result.getParcelable(KEY_ACCESSIBILITY_SCREENSHOT_COLORSPACE);
+ result.getParcelable(KEY_ACCESSIBILITY_SCREENSHOT_COLORSPACE, android.graphics.ParcelableColorSpace.class);
final ScreenshotResult screenshot = new ScreenshotResult(hardwareBuffer,
colorSpace.getColorSpace(),
result.getLong(KEY_ACCESSIBILITY_SCREENSHOT_TIMESTAMP));
diff --git a/core/java/android/accounts/AbstractAccountAuthenticator.java b/core/java/android/accounts/AbstractAccountAuthenticator.java
index 3807b50..a3a3615 100644
--- a/core/java/android/accounts/AbstractAccountAuthenticator.java
+++ b/core/java/android/accounts/AbstractAccountAuthenticator.java
@@ -938,7 +938,7 @@
String authTokenType = sessionBundle.getString(KEY_AUTH_TOKEN_TYPE);
Bundle options = sessionBundle.getBundle(KEY_OPTIONS);
String[] requiredFeatures = sessionBundle.getStringArray(KEY_REQUIRED_FEATURES);
- Account account = sessionBundle.getParcelable(KEY_ACCOUNT);
+ Account account = sessionBundle.getParcelable(KEY_ACCOUNT, android.accounts.Account.class);
boolean containsKeyAccount = sessionBundle.containsKey(KEY_ACCOUNT);
// Actual options passed to add account or update credentials flow.
diff --git a/core/java/android/accounts/AccountAuthenticatorActivity.java b/core/java/android/accounts/AccountAuthenticatorActivity.java
index 65ba35f..5f620f3 100644
--- a/core/java/android/accounts/AccountAuthenticatorActivity.java
+++ b/core/java/android/accounts/AccountAuthenticatorActivity.java
@@ -60,7 +60,7 @@
super.onCreate(icicle);
mAccountAuthenticatorResponse =
- getIntent().getParcelableExtra(AccountManager.KEY_ACCOUNT_AUTHENTICATOR_RESPONSE);
+ getIntent().getParcelableExtra(AccountManager.KEY_ACCOUNT_AUTHENTICATOR_RESPONSE, android.accounts.AccountAuthenticatorResponse.class);
if (mAccountAuthenticatorResponse != null) {
mAccountAuthenticatorResponse.onRequestContinued();
diff --git a/core/java/android/accounts/AccountManager.java b/core/java/android/accounts/AccountManager.java
index fa9de6e..a573776 100644
--- a/core/java/android/accounts/AccountManager.java
+++ b/core/java/android/accounts/AccountManager.java
@@ -2450,7 +2450,7 @@
onError(ERROR_CODE_INVALID_RESPONSE, "null bundle returned");
return;
}
- Intent intent = bundle.getParcelable(KEY_INTENT);
+ Intent intent = bundle.getParcelable(KEY_INTENT, android.content.Intent.class);
if (intent != null && mActivity != null) {
// since the user provided an Activity we will silently start intents
// that we see
diff --git a/core/java/android/accounts/ChooseAccountActivity.java b/core/java/android/accounts/ChooseAccountActivity.java
index 6c8744f..20142a6 100644
--- a/core/java/android/accounts/ChooseAccountActivity.java
+++ b/core/java/android/accounts/ChooseAccountActivity.java
@@ -62,7 +62,7 @@
.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
mAccounts = getIntent().getParcelableArrayExtra(AccountManager.KEY_ACCOUNTS);
mAccountManagerResponse =
- getIntent().getParcelableExtra(AccountManager.KEY_ACCOUNT_MANAGER_RESPONSE);
+ getIntent().getParcelableExtra(AccountManager.KEY_ACCOUNT_MANAGER_RESPONSE, android.accounts.AccountManagerResponse.class);
// KEY_ACCOUNTS is a required parameter
if (mAccounts == null) {
diff --git a/core/java/android/accounts/ChooseTypeAndAccountActivity.java b/core/java/android/accounts/ChooseTypeAndAccountActivity.java
index f623295d..4d4a4d7 100644
--- a/core/java/android/accounts/ChooseTypeAndAccountActivity.java
+++ b/core/java/android/accounts/ChooseTypeAndAccountActivity.java
@@ -186,7 +186,7 @@
mExistingAccounts = null;
// If the selected account as specified in the intent matches one in the list we will
// show is as pre-selected.
- Account selectedAccount = (Account) intent.getParcelableExtra(EXTRA_SELECTED_ACCOUNT);
+ Account selectedAccount = (Account) intent.getParcelableExtra(EXTRA_SELECTED_ACCOUNT, android.accounts.Account.class);
if (selectedAccount != null) {
mSelectedAccountName = selectedAccount.name;
}
@@ -396,7 +396,7 @@
try {
final Bundle accountManagerResult = accountManagerFuture.getResult();
final Intent intent = (Intent)accountManagerResult.getParcelable(
- AccountManager.KEY_INTENT);
+ AccountManager.KEY_INTENT, android.content.Intent.class);
if (intent != null) {
mPendingRequest = REQUEST_ADD_ACCOUNT;
mExistingAccounts = AccountManager.get(this).getAccountsForPackage(mCallingPackage,
diff --git a/core/java/android/accounts/GrantCredentialsPermissionActivity.java b/core/java/android/accounts/GrantCredentialsPermissionActivity.java
index 74dae0e..a89fae7 100644
--- a/core/java/android/accounts/GrantCredentialsPermissionActivity.java
+++ b/core/java/android/accounts/GrantCredentialsPermissionActivity.java
@@ -68,7 +68,7 @@
}
// Grant 'account'/'type' to mUID
- mAccount = extras.getParcelable(EXTRAS_ACCOUNT);
+ mAccount = extras.getParcelable(EXTRAS_ACCOUNT, android.accounts.Account.class);
mAuthTokenType = extras.getString(EXTRAS_AUTH_TOKEN_TYPE);
mUid = extras.getInt(EXTRAS_REQUESTING_UID);
final PackageManager pm = getPackageManager();
@@ -199,7 +199,7 @@
*/
public void finish() {
Intent intent = getIntent();
- AccountAuthenticatorResponse response = intent.getParcelableExtra(EXTRAS_RESPONSE);
+ AccountAuthenticatorResponse response = intent.getParcelableExtra(EXTRAS_RESPONSE, android.accounts.AccountAuthenticatorResponse.class);
if (response != null) {
// send the result bundle back if set, otherwise send an error.
if (mResultBundle != null) {
diff --git a/core/java/android/app/Activity.java b/core/java/android/app/Activity.java
index 90c37d1..493cb87 100644
--- a/core/java/android/app/Activity.java
+++ b/core/java/android/app/Activity.java
@@ -6496,7 +6496,7 @@
Intent intent = getIntent();
if (intent != null) {
try {
- Uri referrer = intent.getParcelableExtra(Intent.EXTRA_REFERRER);
+ Uri referrer = intent.getParcelableExtra(Intent.EXTRA_REFERRER, android.net.Uri.class);
if (referrer != null) {
return referrer;
}
diff --git a/core/java/android/app/ActivityOptions.java b/core/java/android/app/ActivityOptions.java
index 00ab559..d9e09604 100644
--- a/core/java/android/app/ActivityOptions.java
+++ b/core/java/android/app/ActivityOptions.java
@@ -1182,7 +1182,7 @@
} catch (RuntimeException e) {
Slog.w(TAG, e);
}
- mLaunchBounds = opts.getParcelable(KEY_LAUNCH_BOUNDS);
+ mLaunchBounds = opts.getParcelable(KEY_LAUNCH_BOUNDS, android.graphics.Rect.class);
mAnimationType = opts.getInt(KEY_ANIM_TYPE, ANIM_UNDEFINED);
switch (mAnimationType) {
case ANIM_CUSTOM:
@@ -1210,7 +1210,7 @@
case ANIM_THUMBNAIL_ASPECT_SCALE_UP:
case ANIM_THUMBNAIL_ASPECT_SCALE_DOWN:
// Unpackage the HardwareBuffer from the parceled thumbnail
- final HardwareBuffer buffer = opts.getParcelable(KEY_ANIM_THUMBNAIL);
+ final HardwareBuffer buffer = opts.getParcelable(KEY_ANIM_THUMBNAIL, android.hardware.HardwareBuffer.class);
if (buffer != null) {
mThumbnail = Bitmap.wrapHardwareBuffer(buffer, null);
}
@@ -1223,10 +1223,10 @@
break;
case ANIM_SCENE_TRANSITION:
- mTransitionReceiver = opts.getParcelable(KEY_TRANSITION_COMPLETE_LISTENER);
+ mTransitionReceiver = opts.getParcelable(KEY_TRANSITION_COMPLETE_LISTENER, android.os.ResultReceiver.class);
mIsReturning = opts.getBoolean(KEY_TRANSITION_IS_RETURNING, false);
mSharedElementNames = opts.getStringArrayList(KEY_TRANSITION_SHARED_ELEMENTS);
- mResultData = opts.getParcelable(KEY_RESULT_DATA);
+ mResultData = opts.getParcelable(KEY_RESULT_DATA, android.content.Intent.class);
mResultCode = opts.getInt(KEY_RESULT_CODE);
mExitCoordinatorIndex = opts.getInt(KEY_EXIT_COORDINATOR_INDEX);
break;
@@ -1234,10 +1234,10 @@
mLockTaskMode = opts.getBoolean(KEY_LOCK_TASK_MODE, false);
mLaunchDisplayId = opts.getInt(KEY_LAUNCH_DISPLAY_ID, INVALID_DISPLAY);
mCallerDisplayId = opts.getInt(KEY_CALLER_DISPLAY_ID, INVALID_DISPLAY);
- mLaunchTaskDisplayArea = opts.getParcelable(KEY_LAUNCH_TASK_DISPLAY_AREA_TOKEN);
+ mLaunchTaskDisplayArea = opts.getParcelable(KEY_LAUNCH_TASK_DISPLAY_AREA_TOKEN, android.window.WindowContainerToken.class);
mLaunchTaskDisplayAreaFeatureId = opts.getInt(KEY_LAUNCH_TASK_DISPLAY_AREA_FEATURE_ID,
FEATURE_UNDEFINED);
- mLaunchRootTask = opts.getParcelable(KEY_LAUNCH_ROOT_TASK_TOKEN);
+ mLaunchRootTask = opts.getParcelable(KEY_LAUNCH_ROOT_TASK_TOKEN, android.window.WindowContainerToken.class);
mLaunchTaskFragmentToken = opts.getBinder(KEY_LAUNCH_TASK_FRAGMENT_TOKEN);
mLaunchWindowingMode = opts.getInt(KEY_LAUNCH_WINDOWING_MODE, WINDOWING_MODE_UNDEFINED);
mLaunchActivityType = opts.getInt(KEY_LAUNCH_ACTIVITY_TYPE, ACTIVITY_TYPE_UNDEFINED);
@@ -1263,23 +1263,23 @@
mAnimationFinishedListener = IRemoteCallback.Stub.asInterface(
opts.getBinder(KEY_ANIMATION_FINISHED_LISTENER));
}
- mSourceInfo = opts.getParcelable(KEY_SOURCE_INFO);
+ mSourceInfo = opts.getParcelable(KEY_SOURCE_INFO, android.app.ActivityOptions.SourceInfo.class);
mRotationAnimationHint = opts.getInt(KEY_ROTATION_ANIMATION_HINT, -1);
mAppVerificationBundle = opts.getBundle(KEY_INSTANT_APP_VERIFICATION_BUNDLE);
if (opts.containsKey(KEY_SPECS_FUTURE)) {
mSpecsFuture = IAppTransitionAnimationSpecsFuture.Stub.asInterface(opts.getBinder(
KEY_SPECS_FUTURE));
}
- mRemoteAnimationAdapter = opts.getParcelable(KEY_REMOTE_ANIMATION_ADAPTER);
+ mRemoteAnimationAdapter = opts.getParcelable(KEY_REMOTE_ANIMATION_ADAPTER, android.view.RemoteAnimationAdapter.class);
mLaunchCookie = opts.getBinder(KEY_LAUNCH_COOKIE);
- mRemoteTransition = opts.getParcelable(KEY_REMOTE_TRANSITION);
+ mRemoteTransition = opts.getParcelable(KEY_REMOTE_TRANSITION, android.window.RemoteTransition.class);
mOverrideTaskTransition = opts.getBoolean(KEY_OVERRIDE_TASK_TRANSITION);
mSplashScreenThemeResName = opts.getString(KEY_SPLASH_SCREEN_THEME);
mRemoveWithTaskOrganizer = opts.getBoolean(KEY_REMOVE_WITH_TASK_ORGANIZER);
mLaunchedFromBubble = opts.getBoolean(KEY_LAUNCHED_FROM_BUBBLE);
mTransientLaunch = opts.getBoolean(KEY_TRANSIENT_LAUNCH);
mSplashScreenStyle = opts.getInt(KEY_SPLASH_SCREEN_STYLE);
- mLaunchIntoPipParams = opts.getParcelable(KEY_LAUNCH_INTO_PIP_PARAMS);
+ mLaunchIntoPipParams = opts.getParcelable(KEY_LAUNCH_INTO_PIP_PARAMS, android.app.PictureInPictureParams.class);
mIsEligibleForLegacyPermissionPrompt =
opts.getBoolean(KEY_LEGACY_PERMISSION_PROMPT_ELIGIBLE);
mDismissKeyguard = opts.getBoolean(KEY_DISMISS_KEYGUARD);
diff --git a/core/java/android/app/AppOpsManager.java b/core/java/android/app/AppOpsManager.java
index 125f5e4..6092b30 100644
--- a/core/java/android/app/AppOpsManager.java
+++ b/core/java/android/app/AppOpsManager.java
@@ -7693,7 +7693,7 @@
request.mOpNames, request.mHistoryFlags, request.mFilter,
request.mBeginTimeMillis, request.mEndTimeMillis, request.mFlags,
new RemoteCallback((result) -> {
- final HistoricalOps ops = result.getParcelable(KEY_HISTORICAL_OPS);
+ final HistoricalOps ops = result.getParcelable(KEY_HISTORICAL_OPS, android.app.AppOpsManager.HistoricalOps.class);
final long identity = Binder.clearCallingIdentity();
try {
executor.execute(() -> callback.accept(ops));
@@ -7733,7 +7733,7 @@
request.mAttributionTag, request.mOpNames, request.mHistoryFlags,
request.mFilter, request.mBeginTimeMillis, request.mEndTimeMillis,
request.mFlags, new RemoteCallback((result) -> {
- final HistoricalOps ops = result.getParcelable(KEY_HISTORICAL_OPS);
+ final HistoricalOps ops = result.getParcelable(KEY_HISTORICAL_OPS, android.app.AppOpsManager.HistoricalOps.class);
final long identity = Binder.clearCallingIdentity();
try {
executor.execute(() -> callback.accept(ops));
diff --git a/core/java/android/app/ExitTransitionCoordinator.java b/core/java/android/app/ExitTransitionCoordinator.java
index cd84e56..930750e 100644
--- a/core/java/android/app/ExitTransitionCoordinator.java
+++ b/core/java/android/app/ExitTransitionCoordinator.java
@@ -81,7 +81,7 @@
switch (resultCode) {
case MSG_SET_REMOTE_RECEIVER:
stopCancel();
- mResultReceiver = resultData.getParcelable(KEY_REMOTE_RECEIVER);
+ mResultReceiver = resultData.getParcelable(KEY_REMOTE_RECEIVER, android.os.ResultReceiver.class);
if (mIsCanceled) {
mResultReceiver.send(MSG_CANCEL, null);
mResultReceiver = null;
diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java
index e820733..343adb8 100644
--- a/core/java/android/app/Notification.java
+++ b/core/java/android/app/Notification.java
@@ -2842,7 +2842,7 @@
visitor.accept(Uri.parse(extras.getString(EXTRA_BACKGROUND_IMAGE_URI)));
}
- ArrayList<Person> people = extras.getParcelableArrayList(EXTRA_PEOPLE_LIST);
+ ArrayList<Person> people = extras.getParcelableArrayList(EXTRA_PEOPLE_LIST, android.app.Person.class);
if (people != null && !people.isEmpty()) {
for (Person p : people) {
visitor.accept(p.getIconUri());
@@ -3882,7 +3882,7 @@
}
if (mN.extras.containsKey(EXTRA_PEOPLE_LIST)) {
- ArrayList<Person> people = mN.extras.getParcelableArrayList(EXTRA_PEOPLE_LIST);
+ ArrayList<Person> people = mN.extras.getParcelableArrayList(EXTRA_PEOPLE_LIST, android.app.Person.class);
mPersonList.addAll(people);
}
@@ -9777,7 +9777,7 @@
mCallType = extras.getInt(EXTRA_CALL_TYPE);
mIsVideo = extras.getBoolean(EXTRA_CALL_IS_VIDEO);
mPerson = extras.getParcelable(EXTRA_CALL_PERSON, Person.class);
- mVerificationIcon = extras.getParcelable(EXTRA_VERIFICATION_ICON);
+ mVerificationIcon = extras.getParcelable(EXTRA_VERIFICATION_ICON, android.graphics.drawable.Icon.class);
mVerificationText = extras.getCharSequence(EXTRA_VERIFICATION_TEXT);
mAnswerIntent = extras.getParcelable(EXTRA_ANSWER_INTENT, PendingIntent.class);
mDeclineIntent = extras.getParcelable(EXTRA_DECLINE_INTENT, PendingIntent.class);
@@ -10895,7 +10895,7 @@
public WearableExtender(Notification notif) {
Bundle wearableBundle = notif.extras.getBundle(EXTRA_WEARABLE_EXTENSIONS);
if (wearableBundle != null) {
- List<Action> actions = wearableBundle.getParcelableArrayList(KEY_ACTIONS);
+ List<Action> actions = wearableBundle.getParcelableArrayList(KEY_ACTIONS, android.app.Notification.Action.class);
if (actions != null) {
mActions.addAll(actions);
}
diff --git a/core/java/android/app/RecoverableSecurityException.java b/core/java/android/app/RecoverableSecurityException.java
index 21fb2a6..176f141 100644
--- a/core/java/android/app/RecoverableSecurityException.java
+++ b/core/java/android/app/RecoverableSecurityException.java
@@ -164,7 +164,7 @@
public static class LocalDialog extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
- final RecoverableSecurityException e = getArguments().getParcelable(TAG);
+ final RecoverableSecurityException e = getArguments().getParcelable(TAG, android.app.RecoverableSecurityException.class);
return new AlertDialog.Builder(getActivity())
.setMessage(e.mUserMessage)
.setPositiveButton(e.mUserAction.getTitle(), (dialog, which) -> {
diff --git a/core/java/android/app/RemoteInput.java b/core/java/android/app/RemoteInput.java
index 36c524b..8816109 100644
--- a/core/java/android/app/RemoteInput.java
+++ b/core/java/android/app/RemoteInput.java
@@ -429,7 +429,7 @@
if (clipDataIntent == null) {
return null;
}
- return clipDataIntent.getExtras().getParcelable(EXTRA_RESULTS_DATA);
+ return clipDataIntent.getExtras().getParcelable(EXTRA_RESULTS_DATA, android.os.Bundle.class);
}
/**
diff --git a/core/java/android/app/SearchDialog.java b/core/java/android/app/SearchDialog.java
index 9fe894b..5757604 100644
--- a/core/java/android/app/SearchDialog.java
+++ b/core/java/android/app/SearchDialog.java
@@ -352,7 +352,7 @@
public void onRestoreInstanceState(Bundle savedInstanceState) {
if (savedInstanceState == null) return;
- ComponentName launchComponent = savedInstanceState.getParcelable(INSTANCE_KEY_COMPONENT);
+ ComponentName launchComponent = savedInstanceState.getParcelable(INSTANCE_KEY_COMPONENT, android.content.ComponentName.class);
Bundle appSearchData = savedInstanceState.getBundle(INSTANCE_KEY_APPDATA);
String userQuery = savedInstanceState.getString(INSTANCE_KEY_USER_QUERY);
diff --git a/core/java/android/app/SharedElementCallback.java b/core/java/android/app/SharedElementCallback.java
index 8eb7e72..594d297 100644
--- a/core/java/android/app/SharedElementCallback.java
+++ b/core/java/android/app/SharedElementCallback.java
@@ -234,8 +234,8 @@
View view = null;
if (snapshot instanceof Bundle) {
Bundle bundle = (Bundle) snapshot;
- HardwareBuffer buffer = bundle.getParcelable(BUNDLE_SNAPSHOT_HARDWARE_BUFFER);
- Bitmap bitmap = bundle.getParcelable(BUNDLE_SNAPSHOT_BITMAP);
+ HardwareBuffer buffer = bundle.getParcelable(BUNDLE_SNAPSHOT_HARDWARE_BUFFER, android.hardware.HardwareBuffer.class);
+ Bitmap bitmap = bundle.getParcelable(BUNDLE_SNAPSHOT_BITMAP, android.graphics.Bitmap.class);
if (buffer == null && bitmap == null) {
return null;
}
diff --git a/core/java/android/app/admin/DelegatedAdminReceiver.java b/core/java/android/app/admin/DelegatedAdminReceiver.java
index c74ddb2..30509d6 100644
--- a/core/java/android/app/admin/DelegatedAdminReceiver.java
+++ b/core/java/android/app/admin/DelegatedAdminReceiver.java
@@ -156,7 +156,7 @@
if (ACTION_CHOOSE_PRIVATE_KEY_ALIAS.equals(action)) {
int uid = intent.getIntExtra(EXTRA_CHOOSE_PRIVATE_KEY_SENDER_UID, -1);
- Uri uri = intent.getParcelableExtra(EXTRA_CHOOSE_PRIVATE_KEY_URI);
+ Uri uri = intent.getParcelableExtra(EXTRA_CHOOSE_PRIVATE_KEY_URI, android.net.Uri.class);
String alias = intent.getStringExtra(EXTRA_CHOOSE_PRIVATE_KEY_ALIAS);
String chosenAlias = onChoosePrivateKeyAlias(context, intent, uid, uri, alias);
setResultData(chosenAlias);
diff --git a/core/java/android/app/admin/DeviceAdminReceiver.java b/core/java/android/app/admin/DeviceAdminReceiver.java
index 27e8c46..f21e11a 100644
--- a/core/java/android/app/admin/DeviceAdminReceiver.java
+++ b/core/java/android/app/admin/DeviceAdminReceiver.java
@@ -1179,11 +1179,11 @@
}
if (ACTION_PASSWORD_CHANGED.equals(action)) {
- onPasswordChanged(context, intent, intent.getParcelableExtra(Intent.EXTRA_USER));
+ onPasswordChanged(context, intent, intent.getParcelableExtra(Intent.EXTRA_USER, android.os.UserHandle.class));
} else if (ACTION_PASSWORD_FAILED.equals(action)) {
- onPasswordFailed(context, intent, intent.getParcelableExtra(Intent.EXTRA_USER));
+ onPasswordFailed(context, intent, intent.getParcelableExtra(Intent.EXTRA_USER, android.os.UserHandle.class));
} else if (ACTION_PASSWORD_SUCCEEDED.equals(action)) {
- onPasswordSucceeded(context, intent, intent.getParcelableExtra(Intent.EXTRA_USER));
+ onPasswordSucceeded(context, intent, intent.getParcelableExtra(Intent.EXTRA_USER, android.os.UserHandle.class));
} else if (ACTION_DEVICE_ADMIN_ENABLED.equals(action)) {
onEnabled(context, intent);
} else if (ACTION_DEVICE_ADMIN_DISABLE_REQUESTED.equals(action)) {
@@ -1195,12 +1195,12 @@
} else if (ACTION_DEVICE_ADMIN_DISABLED.equals(action)) {
onDisabled(context, intent);
} else if (ACTION_PASSWORD_EXPIRING.equals(action)) {
- onPasswordExpiring(context, intent, intent.getParcelableExtra(Intent.EXTRA_USER));
+ onPasswordExpiring(context, intent, intent.getParcelableExtra(Intent.EXTRA_USER, android.os.UserHandle.class));
} else if (ACTION_PROFILE_PROVISIONING_COMPLETE.equals(action)) {
onProfileProvisioningComplete(context, intent);
} else if (ACTION_CHOOSE_PRIVATE_KEY_ALIAS.equals(action)) {
int uid = intent.getIntExtra(EXTRA_CHOOSE_PRIVATE_KEY_SENDER_UID, -1);
- Uri uri = intent.getParcelableExtra(EXTRA_CHOOSE_PRIVATE_KEY_URI);
+ Uri uri = intent.getParcelableExtra(EXTRA_CHOOSE_PRIVATE_KEY_URI, android.net.Uri.class);
String alias = intent.getStringExtra(EXTRA_CHOOSE_PRIVATE_KEY_ALIAS);
String chosenAlias = onChoosePrivateKeyAlias(context, intent, uid, uri, alias);
setResultData(chosenAlias);
@@ -1228,22 +1228,22 @@
int networkLogsCount = intent.getIntExtra(EXTRA_NETWORK_LOGS_COUNT, 0);
onNetworkLogsAvailable(context, intent, batchToken, networkLogsCount);
} else if (ACTION_USER_ADDED.equals(action)) {
- onUserAdded(context, intent, intent.getParcelableExtra(Intent.EXTRA_USER));
+ onUserAdded(context, intent, intent.getParcelableExtra(Intent.EXTRA_USER, android.os.UserHandle.class));
} else if (ACTION_USER_REMOVED.equals(action)) {
- onUserRemoved(context, intent, intent.getParcelableExtra(Intent.EXTRA_USER));
+ onUserRemoved(context, intent, intent.getParcelableExtra(Intent.EXTRA_USER, android.os.UserHandle.class));
} else if (ACTION_USER_STARTED.equals(action)) {
- onUserStarted(context, intent, intent.getParcelableExtra(Intent.EXTRA_USER));
+ onUserStarted(context, intent, intent.getParcelableExtra(Intent.EXTRA_USER, android.os.UserHandle.class));
} else if (ACTION_USER_STOPPED.equals(action)) {
- onUserStopped(context, intent, intent.getParcelableExtra(Intent.EXTRA_USER));
+ onUserStopped(context, intent, intent.getParcelableExtra(Intent.EXTRA_USER, android.os.UserHandle.class));
} else if (ACTION_USER_SWITCHED.equals(action)) {
- onUserSwitched(context, intent, intent.getParcelableExtra(Intent.EXTRA_USER));
+ onUserSwitched(context, intent, intent.getParcelableExtra(Intent.EXTRA_USER, android.os.UserHandle.class));
} else if (ACTION_TRANSFER_OWNERSHIP_COMPLETE.equals(action)) {
PersistableBundle bundle =
- intent.getParcelableExtra(EXTRA_TRANSFER_OWNERSHIP_ADMIN_EXTRAS_BUNDLE);
+ intent.getParcelableExtra(EXTRA_TRANSFER_OWNERSHIP_ADMIN_EXTRAS_BUNDLE, android.os.PersistableBundle.class);
onTransferOwnershipComplete(context, bundle);
} else if (ACTION_AFFILIATED_PROFILE_TRANSFER_OWNERSHIP_COMPLETE.equals(action)) {
onTransferAffiliatedProfileOwnershipComplete(context,
- intent.getParcelableExtra(Intent.EXTRA_USER));
+ intent.getParcelableExtra(Intent.EXTRA_USER, android.os.UserHandle.class));
} else if (ACTION_OPERATION_SAFETY_STATE_CHANGED.equals(action)) {
onOperationSafetyStateChanged(context, intent);
} else if (ACTION_COMPLIANCE_ACKNOWLEDGEMENT_REQUIRED.equals(action)) {
diff --git a/core/java/android/app/ambientcontext/AmbientContextManager.java b/core/java/android/app/ambientcontext/AmbientContextManager.java
index dd1dd0c..308c5ed 100644
--- a/core/java/android/app/ambientcontext/AmbientContextManager.java
+++ b/core/java/android/app/ambientcontext/AmbientContextManager.java
@@ -117,7 +117,7 @@
*/
@NonNull public static List<AmbientContextEvent> getEventsFromIntent(@NonNull Intent intent) {
if (intent.hasExtra(AmbientContextManager.EXTRA_AMBIENT_CONTEXT_EVENTS)) {
- return intent.getParcelableArrayListExtra(EXTRA_AMBIENT_CONTEXT_EVENTS);
+ return intent.getParcelableArrayListExtra(EXTRA_AMBIENT_CONTEXT_EVENTS, android.app.ambientcontext.AmbientContextEvent.class);
} else {
return new ArrayList<>();
}
diff --git a/core/java/android/app/slice/SliceManager.java b/core/java/android/app/slice/SliceManager.java
index ed4ea74..1e4934e 100644
--- a/core/java/android/app/slice/SliceManager.java
+++ b/core/java/android/app/slice/SliceManager.java
@@ -231,7 +231,7 @@
extras.putParcelable(SliceProvider.EXTRA_BIND_URI, uri);
final Bundle res = provider.call(
SliceProvider.METHOD_GET_DESCENDANTS, null, extras);
- return res.getParcelableArrayList(SliceProvider.EXTRA_SLICE_DESCENDANTS);
+ return res.getParcelableArrayList(SliceProvider.EXTRA_SLICE_DESCENDANTS, android.net.Uri.class);
}
} catch (RemoteException e) {
Log.e(TAG, "Unable to get slice descendants", e);
@@ -264,7 +264,7 @@
if (res == null) {
return null;
}
- return res.getParcelable(SliceProvider.EXTRA_SLICE);
+ return res.getParcelable(SliceProvider.EXTRA_SLICE, android.app.slice.Slice.class);
} catch (RemoteException e) {
// Arbitrary and not worth documenting, as Activity
// Manager will kill this process shortly anyway.
@@ -323,7 +323,7 @@
if (res == null) {
return null;
}
- return res.getParcelable(SliceProvider.EXTRA_SLICE);
+ return res.getParcelable(SliceProvider.EXTRA_SLICE, android.net.Uri.class);
} catch (RemoteException e) {
// Arbitrary and not worth documenting, as Activity
// Manager will kill this process shortly anyway.
@@ -403,7 +403,7 @@
if (res == null) {
return null;
}
- return res.getParcelable(SliceProvider.EXTRA_SLICE);
+ return res.getParcelable(SliceProvider.EXTRA_SLICE, android.app.slice.Slice.class);
} catch (RemoteException e) {
// Arbitrary and not worth documenting, as Activity
// Manager will kill this process shortly anyway.
diff --git a/core/java/android/app/slice/SliceProvider.java b/core/java/android/app/slice/SliceProvider.java
index e6c88a3..63835cb 100644
--- a/core/java/android/app/slice/SliceProvider.java
+++ b/core/java/android/app/slice/SliceProvider.java
@@ -352,8 +352,8 @@
public Bundle call(String method, String arg, Bundle extras) {
if (method.equals(METHOD_SLICE)) {
Uri uri = getUriWithoutUserId(validateIncomingUriOrNull(
- extras.getParcelable(EXTRA_BIND_URI)));
- List<SliceSpec> supportedSpecs = extras.getParcelableArrayList(EXTRA_SUPPORTED_SPECS);
+ extras.getParcelable(EXTRA_BIND_URI, android.net.Uri.class)));
+ List<SliceSpec> supportedSpecs = extras.getParcelableArrayList(EXTRA_SUPPORTED_SPECS, android.app.slice.SliceSpec.class);
String callingPackage = getCallingPackage();
int callingUid = Binder.getCallingUid();
@@ -364,10 +364,10 @@
b.putParcelable(EXTRA_SLICE, s);
return b;
} else if (method.equals(METHOD_MAP_INTENT)) {
- Intent intent = extras.getParcelable(EXTRA_INTENT);
+ Intent intent = extras.getParcelable(EXTRA_INTENT, android.content.Intent.class);
if (intent == null) return null;
Uri uri = validateIncomingUriOrNull(onMapIntentToUri(intent));
- List<SliceSpec> supportedSpecs = extras.getParcelableArrayList(EXTRA_SUPPORTED_SPECS);
+ List<SliceSpec> supportedSpecs = extras.getParcelableArrayList(EXTRA_SUPPORTED_SPECS, android.app.slice.SliceSpec.class);
Bundle b = new Bundle();
if (uri != null) {
Slice s = handleBindSlice(uri, supportedSpecs, getCallingPackage(),
@@ -378,7 +378,7 @@
}
return b;
} else if (method.equals(METHOD_MAP_ONLY_INTENT)) {
- Intent intent = extras.getParcelable(EXTRA_INTENT);
+ Intent intent = extras.getParcelable(EXTRA_INTENT, android.content.Intent.class);
if (intent == null) return null;
Uri uri = validateIncomingUriOrNull(onMapIntentToUri(intent));
Bundle b = new Bundle();
@@ -386,21 +386,21 @@
return b;
} else if (method.equals(METHOD_PIN)) {
Uri uri = getUriWithoutUserId(validateIncomingUriOrNull(
- extras.getParcelable(EXTRA_BIND_URI)));
+ extras.getParcelable(EXTRA_BIND_URI, android.net.Uri.class)));
if (Binder.getCallingUid() != Process.SYSTEM_UID) {
throw new SecurityException("Only the system can pin/unpin slices");
}
handlePinSlice(uri);
} else if (method.equals(METHOD_UNPIN)) {
Uri uri = getUriWithoutUserId(validateIncomingUriOrNull(
- extras.getParcelable(EXTRA_BIND_URI)));
+ extras.getParcelable(EXTRA_BIND_URI, android.net.Uri.class)));
if (Binder.getCallingUid() != Process.SYSTEM_UID) {
throw new SecurityException("Only the system can pin/unpin slices");
}
handleUnpinSlice(uri);
} else if (method.equals(METHOD_GET_DESCENDANTS)) {
Uri uri = getUriWithoutUserId(
- validateIncomingUriOrNull(extras.getParcelable(EXTRA_BIND_URI)));
+ validateIncomingUriOrNull(extras.getParcelable(EXTRA_BIND_URI, android.net.Uri.class)));
Bundle b = new Bundle();
b.putParcelableArrayList(EXTRA_SLICE_DESCENDANTS,
new ArrayList<>(handleGetDescendants(uri)));
diff --git a/core/java/android/content/ContentResolver.java b/core/java/android/content/ContentResolver.java
index 7b9d37e..3779453 100644
--- a/core/java/android/content/ContentResolver.java
+++ b/core/java/android/content/ContentResolver.java
@@ -980,7 +980,7 @@
@Override
public void onResult(Bundle result) {
synchronized (this) {
- ParcelableException e = result.getParcelable(REMOTE_CALLBACK_ERROR);
+ ParcelableException e = result.getParcelable(REMOTE_CALLBACK_ERROR, android.os.ParcelableException.class);
if (e != null) {
Throwable t = e.getCause();
if (t instanceof RuntimeException) {
@@ -1021,7 +1021,7 @@
private static class UriResultListener extends ResultListener<Uri> {
@Override
protected Uri getResultFromBundle(Bundle result) {
- return result.getParcelable(REMOTE_CALLBACK_RESULT);
+ return result.getParcelable(REMOTE_CALLBACK_RESULT, android.net.Uri.class);
}
}
diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java
index 7a88a057..26b2f07 100644
--- a/core/java/android/content/Intent.java
+++ b/core/java/android/content/Intent.java
@@ -11940,7 +11940,7 @@
// passed via Bluetooth intents
if (mAction != null && mAction.startsWith("android.bluetooth.")
&& hasExtra(BluetoothDevice.EXTRA_DEVICE)) {
- final BluetoothDevice device = getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
+ final BluetoothDevice device = getParcelableExtra(BluetoothDevice.EXTRA_DEVICE, BluetoothDevice.class);
if (device != null) {
device.prepareToEnterProcess(source);
}
@@ -11989,12 +11989,12 @@
}
String action = getAction();
if (ACTION_SEND.equals(action)) {
- final Uri stream = getParcelableExtra(EXTRA_STREAM);
+ final Uri stream = getParcelableExtra(EXTRA_STREAM, Uri.class);
if (stream != null) {
putExtra(EXTRA_STREAM, maybeAddUserId(stream, contentUserHint));
}
} else if (ACTION_SEND_MULTIPLE.equals(action)) {
- final ArrayList<Uri> streams = getParcelableArrayListExtra(EXTRA_STREAM);
+ final ArrayList<Uri> streams = getParcelableArrayListExtra(EXTRA_STREAM, Uri.class);
if (streams != null) {
ArrayList<Uri> newStreams = new ArrayList<Uri>();
for (int i = 0; i < streams.size(); i++) {
@@ -12003,7 +12003,7 @@
putParcelableArrayListExtra(EXTRA_STREAM, newStreams);
}
} else if (isImageCaptureIntent()) {
- final Uri output = getParcelableExtra(MediaStore.EXTRA_OUTPUT);
+ final Uri output = getParcelableExtra(MediaStore.EXTRA_OUTPUT, Uri.class);
if (output != null) {
putExtra(MediaStore.EXTRA_OUTPUT, maybeAddUserId(output, contentUserHint));
}
@@ -12047,7 +12047,7 @@
boolean migrated = false;
try {
- final Intent intent = getParcelableExtra(EXTRA_INTENT);
+ final Intent intent = getParcelableExtra(EXTRA_INTENT, Intent.class);
if (intent != null) {
migrated |= intent.migrateExtraStreamToClipData(context);
}
@@ -12069,7 +12069,7 @@
} else if (ACTION_SEND.equals(action)) {
try {
- final Uri stream = getParcelableExtra(EXTRA_STREAM);
+ final Uri stream = getParcelableExtra(EXTRA_STREAM, Uri.class);
final CharSequence text = getCharSequenceExtra(EXTRA_TEXT);
final String htmlText = getStringExtra(EXTRA_HTML_TEXT);
if (stream != null || text != null || htmlText != null) {
@@ -12085,7 +12085,7 @@
} else if (ACTION_SEND_MULTIPLE.equals(action)) {
try {
- final ArrayList<Uri> streams = getParcelableArrayListExtra(EXTRA_STREAM);
+ final ArrayList<Uri> streams = getParcelableArrayListExtra(EXTRA_STREAM, Uri.class);
final ArrayList<CharSequence> texts = getCharSequenceArrayListExtra(EXTRA_TEXT);
final ArrayList<String> htmlTexts = getStringArrayListExtra(EXTRA_HTML_TEXT);
int num = -1;
@@ -12124,7 +12124,7 @@
} else if (isImageCaptureIntent()) {
Uri output;
try {
- output = getParcelableExtra(MediaStore.EXTRA_OUTPUT);
+ output = getParcelableExtra(MediaStore.EXTRA_OUTPUT, Uri.class);
} catch (ClassCastException e) {
return false;
}
diff --git a/core/java/android/content/SyncActivityTooManyDeletes.java b/core/java/android/content/SyncActivityTooManyDeletes.java
index 093fb08..1a4eedd 100644
--- a/core/java/android/content/SyncActivityTooManyDeletes.java
+++ b/core/java/android/content/SyncActivityTooManyDeletes.java
@@ -54,7 +54,7 @@
}
mNumDeletes = extras.getLong("numDeletes");
- mAccount = (Account) extras.getParcelable("account");
+ mAccount = (Account) extras.getParcelable("account", android.accounts.Account.class);
mAuthority = extras.getString("authority");
mProvider = extras.getString("provider");
diff --git a/core/java/android/content/pm/LauncherApps.java b/core/java/android/content/pm/LauncherApps.java
index 301d1bbc..f780f81 100644
--- a/core/java/android/content/pm/LauncherApps.java
+++ b/core/java/android/content/pm/LauncherApps.java
@@ -2062,7 +2062,7 @@
* the {@link #EXTRA_PIN_ITEM_REQUEST} extra.
*/
public PinItemRequest getPinItemRequest(Intent intent) {
- return intent.getParcelableExtra(EXTRA_PIN_ITEM_REQUEST);
+ return intent.getParcelableExtra(EXTRA_PIN_ITEM_REQUEST, android.content.pm.LauncherApps.PinItemRequest.class);
}
/**
diff --git a/core/java/android/hardware/location/ContextHubIntentEvent.java b/core/java/android/hardware/location/ContextHubIntentEvent.java
index 3e8f421..06c5334 100644
--- a/core/java/android/hardware/location/ContextHubIntentEvent.java
+++ b/core/java/android/hardware/location/ContextHubIntentEvent.java
@@ -98,7 +98,7 @@
Objects.requireNonNull(intent, "Intent cannot be null");
hasExtraOrThrow(intent, ContextHubManager.EXTRA_CONTEXT_HUB_INFO);
- ContextHubInfo info = intent.getParcelableExtra(ContextHubManager.EXTRA_CONTEXT_HUB_INFO);
+ ContextHubInfo info = intent.getParcelableExtra(ContextHubManager.EXTRA_CONTEXT_HUB_INFO, android.hardware.location.ContextHubInfo.class);
if (info == null) {
throw new IllegalArgumentException("ContextHubInfo extra was null");
}
@@ -117,7 +117,7 @@
if (eventType == ContextHubManager.EVENT_NANOAPP_MESSAGE) {
hasExtraOrThrow(intent, ContextHubManager.EXTRA_MESSAGE);
NanoAppMessage message =
- intent.getParcelableExtra(ContextHubManager.EXTRA_MESSAGE);
+ intent.getParcelableExtra(ContextHubManager.EXTRA_MESSAGE, android.hardware.location.NanoAppMessage.class);
if (message == null) {
throw new IllegalArgumentException("NanoAppMessage extra was null");
}
diff --git a/core/java/android/hardware/radio/RadioMetadata.java b/core/java/android/hardware/radio/RadioMetadata.java
index a882c2f..b7bf783 100644
--- a/core/java/android/hardware/radio/RadioMetadata.java
+++ b/core/java/android/hardware/radio/RadioMetadata.java
@@ -384,7 +384,7 @@
public Bitmap getBitmap(String key) {
Bitmap bmp = null;
try {
- bmp = mBundle.getParcelable(key);
+ bmp = mBundle.getParcelable(key, android.graphics.Bitmap.class);
} catch (Exception e) {
// ignore, value was not a bitmap
Log.w(TAG, "Failed to retrieve a key as Bitmap.", e);
@@ -419,7 +419,7 @@
public Clock getClock(String key) {
Clock clock = null;
try {
- clock = mBundle.getParcelable(key);
+ clock = mBundle.getParcelable(key, android.hardware.radio.RadioMetadata.Clock.class);
} catch (Exception e) {
// ignore, value was not a clock.
Log.w(TAG, "Failed to retrieve a key as Clock.", e);
diff --git a/core/java/android/net/ScoredNetwork.java b/core/java/android/net/ScoredNetwork.java
index a46bdd9a..758367d 100644
--- a/core/java/android/net/ScoredNetwork.java
+++ b/core/java/android/net/ScoredNetwork.java
@@ -299,7 +299,7 @@
public int calculateBadge(int rssi) {
if (attributes != null && attributes.containsKey(ATTRIBUTES_KEY_BADGING_CURVE)) {
RssiCurve badgingCurve =
- attributes.getParcelable(ATTRIBUTES_KEY_BADGING_CURVE);
+ attributes.getParcelable(ATTRIBUTES_KEY_BADGING_CURVE, android.net.RssiCurve.class);
return badgingCurve.lookupScore(rssi);
}
diff --git a/core/java/android/nfc/tech/Ndef.java b/core/java/android/nfc/tech/Ndef.java
index 2256365..39c355a 100644
--- a/core/java/android/nfc/tech/Ndef.java
+++ b/core/java/android/nfc/tech/Ndef.java
@@ -161,7 +161,7 @@
if (extras != null) {
mMaxNdefSize = extras.getInt(EXTRA_NDEF_MAXLENGTH);
mCardState = extras.getInt(EXTRA_NDEF_CARDSTATE);
- mNdefMsg = extras.getParcelable(EXTRA_NDEF_MSG);
+ mNdefMsg = extras.getParcelable(EXTRA_NDEF_MSG, android.nfc.NdefMessage.class);
mNdefType = extras.getInt(EXTRA_NDEF_TYPE);
} else {
throw new NullPointerException("NDEF tech extras are null.");
diff --git a/core/java/android/os/Parcel.java b/core/java/android/os/Parcel.java
index 1dedc26..7ce43c2 100644
--- a/core/java/android/os/Parcel.java
+++ b/core/java/android/os/Parcel.java
@@ -3034,7 +3034,7 @@
switch (code) {
case EX_PARCELABLE:
if (readInt() > 0) {
- return (Exception) readParcelable(Parcelable.class.getClassLoader());
+ return (Exception) readParcelable(Parcelable.class.getClassLoader(), java.lang.Exception.class);
} else {
return new RuntimeException(msg + " [missing Parcelable]");
}
diff --git a/core/java/android/os/image/DynamicSystemClient.java b/core/java/android/os/image/DynamicSystemClient.java
index 5aa4e27..63259ed 100644
--- a/core/java/android/os/image/DynamicSystemClient.java
+++ b/core/java/android/os/image/DynamicSystemClient.java
@@ -420,7 +420,7 @@
Bundle bundle = (Bundle) msg.obj;
long progress = bundle.getLong(KEY_INSTALLED_SIZE);
ParcelableException t = (ParcelableException) bundle.getSerializable(
- KEY_EXCEPTION_DETAIL);
+ KEY_EXCEPTION_DETAIL, android.os.ParcelableException.class);
Throwable detail = t == null ? null : t.getCause();
diff --git a/core/java/android/preference/PreferenceActivity.java b/core/java/android/preference/PreferenceActivity.java
index 53b1dab..f6bdc18 100644
--- a/core/java/android/preference/PreferenceActivity.java
+++ b/core/java/android/preference/PreferenceActivity.java
@@ -578,7 +578,7 @@
if (savedInstanceState != null) {
// We are restarting from a previous saved state; used that to
// initialize, instead of starting fresh.
- ArrayList<Header> headers = savedInstanceState.getParcelableArrayList(HEADERS_TAG);
+ ArrayList<Header> headers = savedInstanceState.getParcelableArrayList(HEADERS_TAG, android.preference.PreferenceActivity.Header.class);
if (headers != null) {
mHeaders.addAll(headers);
int curHeader = savedInstanceState.getInt(CUR_HEADER_TAG,
diff --git a/core/java/android/preference/RingtonePreference.java b/core/java/android/preference/RingtonePreference.java
index c6d8c08..e15244a 100644
--- a/core/java/android/preference/RingtonePreference.java
+++ b/core/java/android/preference/RingtonePreference.java
@@ -248,7 +248,7 @@
if (requestCode == mRequestCode) {
if (data != null) {
- Uri uri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
+ Uri uri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI, android.net.Uri.class);
if (callChangeListener(uri != null ? uri.toString() : "")) {
onSaveRingtone(uri);
diff --git a/core/java/android/print/PrintManager.java b/core/java/android/print/PrintManager.java
index a5e2f33..931adb5 100644
--- a/core/java/android/print/PrintManager.java
+++ b/core/java/android/print/PrintManager.java
@@ -529,8 +529,8 @@
Bundle result = mService.print(printJobName, delegate,
attributes, mContext.getPackageName(), mAppId, mUserId);
if (result != null) {
- PrintJobInfo printJob = result.getParcelable(EXTRA_PRINT_JOB);
- IntentSender intent = result.getParcelable(EXTRA_PRINT_DIALOG_INTENT);
+ PrintJobInfo printJob = result.getParcelable(EXTRA_PRINT_JOB, android.print.PrintJobInfo.class);
+ IntentSender intent = result.getParcelable(EXTRA_PRINT_DIALOG_INTENT, android.content.IntentSender.class);
if (printJob == null || intent == null) {
return null;
}
diff --git a/core/java/android/provider/ContactsContract.java b/core/java/android/provider/ContactsContract.java
index 3c1b4ba..d50ba8d 100644
--- a/core/java/android/provider/ContactsContract.java
+++ b/core/java/android/provider/ContactsContract.java
@@ -8448,7 +8448,7 @@
Bundle response = contentResolver.call(ContactsContract.AUTHORITY_URI,
ContactsContract.SimContacts.QUERY_SIM_ACCOUNTS_METHOD,
null, null);
- List<SimAccount> result = response.getParcelableArrayList(KEY_SIM_ACCOUNTS);
+ List<SimAccount> result = response.getParcelableArrayList(KEY_SIM_ACCOUNTS, android.provider.ContactsContract.SimAccount.class);
if (result == null) {
result = new ArrayList<>();
@@ -8821,7 +8821,7 @@
public static Account getDefaultAccount(@NonNull ContentResolver resolver) {
Bundle response = resolver.call(ContactsContract.AUTHORITY_URI,
QUERY_DEFAULT_ACCOUNT_METHOD, null, null);
- return response.getParcelable(KEY_DEFAULT_ACCOUNT);
+ return response.getParcelable(KEY_DEFAULT_ACCOUNT, android.accounts.Account.class);
}
/**
diff --git a/core/java/android/provider/DocumentsContract.java b/core/java/android/provider/DocumentsContract.java
index 620fa65..1884d56 100644
--- a/core/java/android/provider/DocumentsContract.java
+++ b/core/java/android/provider/DocumentsContract.java
@@ -1379,7 +1379,7 @@
final Bundle out = content.call(parentDocumentUri.getAuthority(),
METHOD_CREATE_DOCUMENT, null, in);
- return out.getParcelable(DocumentsContract.EXTRA_URI);
+ return out.getParcelable(DocumentsContract.EXTRA_URI, android.net.Uri.class);
} catch (Exception e) {
Log.w(TAG, "Failed to create document", e);
rethrowIfNecessary(e);
@@ -1445,7 +1445,7 @@
final Bundle out = content.call(documentUri.getAuthority(),
METHOD_RENAME_DOCUMENT, null, in);
- final Uri outUri = out.getParcelable(DocumentsContract.EXTRA_URI);
+ final Uri outUri = out.getParcelable(DocumentsContract.EXTRA_URI, android.net.Uri.class);
return (outUri != null) ? outUri : documentUri;
} catch (Exception e) {
Log.w(TAG, "Failed to rename document", e);
@@ -1494,7 +1494,7 @@
final Bundle out = content.call(sourceDocumentUri.getAuthority(),
METHOD_COPY_DOCUMENT, null, in);
- return out.getParcelable(DocumentsContract.EXTRA_URI);
+ return out.getParcelable(DocumentsContract.EXTRA_URI, android.net.Uri.class);
} catch (Exception e) {
Log.w(TAG, "Failed to copy document", e);
rethrowIfNecessary(e);
@@ -1522,7 +1522,7 @@
final Bundle out = content.call(sourceDocumentUri.getAuthority(),
METHOD_MOVE_DOCUMENT, null, in);
- return out.getParcelable(DocumentsContract.EXTRA_URI);
+ return out.getParcelable(DocumentsContract.EXTRA_URI, android.net.Uri.class);
} catch (Exception e) {
Log.w(TAG, "Failed to move document", e);
rethrowIfNecessary(e);
@@ -1642,7 +1642,7 @@
final Bundle out = content.call(treeUri.getAuthority(),
METHOD_FIND_DOCUMENT_PATH, null, in);
- return out.getParcelable(DocumentsContract.EXTRA_RESULT);
+ return out.getParcelable(DocumentsContract.EXTRA_RESULT, android.provider.DocumentsContract.Path.class);
} catch (Exception e) {
Log.w(TAG, "Failed to find path", e);
rethrowIfNecessary(e);
@@ -1715,7 +1715,7 @@
final Bundle out = content.call(uri.getAuthority(),
METHOD_CREATE_WEB_LINK_INTENT, null, in);
- return out.getParcelable(DocumentsContract.EXTRA_RESULT);
+ return out.getParcelable(DocumentsContract.EXTRA_RESULT, android.content.IntentSender.class);
} catch (Exception e) {
Log.w(TAG, "Failed to create a web link intent", e);
rethrowIfNecessary(e);
diff --git a/core/java/android/provider/DocumentsProvider.java b/core/java/android/provider/DocumentsProvider.java
index a5a24c0..07d5001 100644
--- a/core/java/android/provider/DocumentsProvider.java
+++ b/core/java/android/provider/DocumentsProvider.java
@@ -219,9 +219,9 @@
/** {@hide} */
private void enforceTreeForExtraUris(Bundle extras) {
- enforceTree(extras.getParcelable(DocumentsContract.EXTRA_URI));
- enforceTree(extras.getParcelable(DocumentsContract.EXTRA_PARENT_URI));
- enforceTree(extras.getParcelable(DocumentsContract.EXTRA_TARGET_URI));
+ enforceTree(extras.getParcelable(DocumentsContract.EXTRA_URI, android.net.Uri.class));
+ enforceTree(extras.getParcelable(DocumentsContract.EXTRA_PARENT_URI, android.net.Uri.class));
+ enforceTree(extras.getParcelable(DocumentsContract.EXTRA_TARGET_URI, android.net.Uri.class));
}
/** {@hide} */
@@ -1091,11 +1091,11 @@
enforceTreeForExtraUris(extras);
final Uri extraUri = validateIncomingNullableUri(
- extras.getParcelable(DocumentsContract.EXTRA_URI));
+ extras.getParcelable(DocumentsContract.EXTRA_URI, android.net.Uri.class));
final Uri extraTargetUri = validateIncomingNullableUri(
- extras.getParcelable(DocumentsContract.EXTRA_TARGET_URI));
+ extras.getParcelable(DocumentsContract.EXTRA_TARGET_URI, android.net.Uri.class));
final Uri extraParentUri = validateIncomingNullableUri(
- extras.getParcelable(DocumentsContract.EXTRA_PARENT_URI));
+ extras.getParcelable(DocumentsContract.EXTRA_PARENT_URI, android.net.Uri.class));
if (METHOD_EJECT_ROOT.equals(method)) {
// Given that certain system apps can hold MOUNT_UNMOUNT permission, but only apps
@@ -1436,7 +1436,7 @@
enforceTree(uri);
final String documentId = getDocumentId(uri);
if (opts != null && opts.containsKey(ContentResolver.EXTRA_SIZE)) {
- final Point sizeHint = opts.getParcelable(ContentResolver.EXTRA_SIZE);
+ final Point sizeHint = opts.getParcelable(ContentResolver.EXTRA_SIZE, android.graphics.Point.class);
return openDocumentThumbnail(documentId, sizeHint, signal);
}
if ("*/*".equals(mimeTypeFilter)) {
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index a513d5e..6c5066f 100644
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -3168,7 +3168,7 @@
synchronized (NameValueCache.this) {
if (needsGenerationTracker) {
MemoryIntArray array = b.getParcelable(
- CALL_METHOD_TRACK_GENERATION_KEY);
+ CALL_METHOD_TRACK_GENERATION_KEY, android.util.MemoryIntArray.class);
final int index = b.getInt(
CALL_METHOD_GENERATION_INDEX_KEY, -1);
if (array != null && index >= 0) {
@@ -3354,7 +3354,7 @@
// All flags for the namespace
Map<String, String> flagsToValues =
- (HashMap) b.getSerializable(Settings.NameValueTable.VALUE);
+ (HashMap) b.getSerializable(Settings.NameValueTable.VALUE, java.util.HashMap.class);
// Only the flags requested by the caller
if (!names.isEmpty()) {
for (Map.Entry<String, String> flag : flagsToValues.entrySet()) {
@@ -3369,7 +3369,7 @@
synchronized (NameValueCache.this) {
if (needsGenerationTracker) {
MemoryIntArray array = b.getParcelable(
- CALL_METHOD_TRACK_GENERATION_KEY);
+ CALL_METHOD_TRACK_GENERATION_KEY, android.util.MemoryIntArray.class);
final int index = b.getInt(
CALL_METHOD_GENERATION_INDEX_KEY, -1);
if (array != null && index >= 0) {
diff --git a/core/java/android/service/autofill/FillRequest.java b/core/java/android/service/autofill/FillRequest.java
index 327cda3..b4010a4 100644
--- a/core/java/android/service/autofill/FillRequest.java
+++ b/core/java/android/service/autofill/FillRequest.java
@@ -453,7 +453,7 @@
byte flg = in.readByte();
int id = in.readInt();
List<FillContext> fillContexts = new ArrayList<>();
- in.readParcelableList(fillContexts, FillContext.class.getClassLoader());
+ in.readParcelableList(fillContexts, FillContext.class.getClassLoader(), android.service.autofill.FillContext.class);
Bundle clientState = (flg & 0x4) == 0 ? null : in.readBundle();
int flags = in.readInt();
InlineSuggestionsRequest inlineSuggestionsRequest = (flg & 0x10) == 0 ? null : (InlineSuggestionsRequest) in.readTypedObject(InlineSuggestionsRequest.CREATOR);
diff --git a/core/java/android/service/contentsuggestions/ContentSuggestionsService.java b/core/java/android/service/contentsuggestions/ContentSuggestionsService.java
index 50efbac..0b4739e 100644
--- a/core/java/android/service/contentsuggestions/ContentSuggestionsService.java
+++ b/core/java/android/service/contentsuggestions/ContentSuggestionsService.java
@@ -72,7 +72,7 @@
Bitmap wrappedBuffer = null;
if (imageContextRequestExtras.containsKey(ContentSuggestionsManager.EXTRA_BITMAP)) {
wrappedBuffer = imageContextRequestExtras.getParcelable(
- ContentSuggestionsManager.EXTRA_BITMAP);
+ ContentSuggestionsManager.EXTRA_BITMAP, android.graphics.Bitmap.class);
} else {
if (contextImage != null) {
ColorSpace colorSpace = null;
diff --git a/core/java/android/service/controls/templates/ThumbnailTemplate.java b/core/java/android/service/controls/templates/ThumbnailTemplate.java
index a7c481e..e058b76 100644
--- a/core/java/android/service/controls/templates/ThumbnailTemplate.java
+++ b/core/java/android/service/controls/templates/ThumbnailTemplate.java
@@ -65,7 +65,7 @@
ThumbnailTemplate(Bundle b) {
super(b);
mActive = b.getBoolean(KEY_ACTIVE);
- mThumbnail = b.getParcelable(KEY_ICON);
+ mThumbnail = b.getParcelable(KEY_ICON, android.graphics.drawable.Icon.class);
mContentDescription = b.getCharSequence(KEY_CONTENT_DESCRIPTION, "");
}
diff --git a/core/java/android/service/controls/templates/ToggleRangeTemplate.java b/core/java/android/service/controls/templates/ToggleRangeTemplate.java
index cd6a2fc..4ad42a3 100644
--- a/core/java/android/service/controls/templates/ToggleRangeTemplate.java
+++ b/core/java/android/service/controls/templates/ToggleRangeTemplate.java
@@ -43,7 +43,7 @@
*/
ToggleRangeTemplate(@NonNull Bundle b) {
super(b);
- mControlButton = b.getParcelable(KEY_BUTTON);
+ mControlButton = b.getParcelable(KEY_BUTTON, android.service.controls.templates.ControlButton.class);
mRangeTemplate = new RangeTemplate(b.getBundle(KEY_RANGE));
}
diff --git a/core/java/android/service/controls/templates/ToggleTemplate.java b/core/java/android/service/controls/templates/ToggleTemplate.java
index e4aa6b0..687e750 100644
--- a/core/java/android/service/controls/templates/ToggleTemplate.java
+++ b/core/java/android/service/controls/templates/ToggleTemplate.java
@@ -53,7 +53,7 @@
*/
ToggleTemplate(Bundle b) {
super(b);
- mButton = b.getParcelable(KEY_BUTTON);
+ mButton = b.getParcelable(KEY_BUTTON, android.service.controls.templates.ControlButton.class);
}
public boolean isChecked() {
diff --git a/core/java/android/service/dreams/DreamService.java b/core/java/android/service/dreams/DreamService.java
index 2d461c6..b0c5d83 100644
--- a/core/java/android/service/dreams/DreamService.java
+++ b/core/java/android/service/dreams/DreamService.java
@@ -993,7 +993,7 @@
if (!mWindowless) {
mOverlayConnection.bind(
/* context= */ this,
- intent.getParcelableExtra(EXTRA_DREAM_OVERLAY_COMPONENT),
+ intent.getParcelableExtra(EXTRA_DREAM_OVERLAY_COMPONENT, android.content.ComponentName.class),
new ComponentName(this, getClass()));
}
diff --git a/core/java/android/service/games/GameSessionTrampolineActivity.java b/core/java/android/service/games/GameSessionTrampolineActivity.java
index b237918..93f19d5 100644
--- a/core/java/android/service/games/GameSessionTrampolineActivity.java
+++ b/core/java/android/service/games/GameSessionTrampolineActivity.java
@@ -94,7 +94,7 @@
try {
startActivityAsCaller(
- getIntent().getParcelableExtra(INTENT_KEY),
+ getIntent().getParcelableExtra(INTENT_KEY, android.content.Intent.class),
getIntent().getBundleExtra(OPTIONS_KEY),
false,
getUserId(),
@@ -102,7 +102,7 @@
} catch (Exception e) {
Slog.w(TAG, "Unable to launch activity from game session");
AndroidFuture<GameSessionActivityResult> future = getIntent().getParcelableExtra(
- FUTURE_KEY);
+ FUTURE_KEY, com.android.internal.infra.AndroidFuture.class);
future.completeExceptionally(e);
finish();
overridePendingTransition(0, 0);
@@ -123,7 +123,7 @@
}
AndroidFuture<GameSessionActivityResult> future = getIntent().getParcelableExtra(
- FUTURE_KEY);
+ FUTURE_KEY, com.android.internal.infra.AndroidFuture.class);
future.complete(new GameSessionActivityResult(resultCode, data));
finish();
overridePendingTransition(0, 0);
diff --git a/core/java/android/service/notification/NotificationListenerService.java b/core/java/android/service/notification/NotificationListenerService.java
index 65f0824..02176b0 100644
--- a/core/java/android/service/notification/NotificationListenerService.java
+++ b/core/java/android/service/notification/NotificationListenerService.java
@@ -1379,7 +1379,7 @@
private void maybePopulatePeople(Notification notification) {
if (getContext().getApplicationInfo().targetSdkVersion < Build.VERSION_CODES.P) {
ArrayList<Person> people = notification.extras.getParcelableArrayList(
- Notification.EXTRA_PEOPLE_LIST);
+ Notification.EXTRA_PEOPLE_LIST, android.app.Person.class);
if (people != null && people.isEmpty()) {
int size = people.size();
String[] peopleArray = new String[size];
diff --git a/core/java/android/service/notification/StatusBarNotification.java b/core/java/android/service/notification/StatusBarNotification.java
index 66188cd..e2c84dc 100644
--- a/core/java/android/service/notification/StatusBarNotification.java
+++ b/core/java/android/service/notification/StatusBarNotification.java
@@ -500,7 +500,7 @@
template.hashCode());
}
ArrayList<Person> people = getNotification().extras.getParcelableArrayList(
- Notification.EXTRA_PEOPLE_LIST);
+ Notification.EXTRA_PEOPLE_LIST, android.app.Person.class);
if (people != null && !people.isEmpty()) {
logMaker.addTaggedData(MetricsEvent.FIELD_NOTIFICATION_PEOPLE, people.size());
}
diff --git a/core/java/android/service/restrictions/RestrictionsReceiver.java b/core/java/android/service/restrictions/RestrictionsReceiver.java
index e8d481a..badd0c2 100644
--- a/core/java/android/service/restrictions/RestrictionsReceiver.java
+++ b/core/java/android/service/restrictions/RestrictionsReceiver.java
@@ -77,7 +77,7 @@
String requestType = intent.getStringExtra(RestrictionsManager.EXTRA_REQUEST_TYPE);
String requestId = intent.getStringExtra(RestrictionsManager.EXTRA_REQUEST_ID);
PersistableBundle request = (PersistableBundle)
- intent.getParcelableExtra(RestrictionsManager.EXTRA_REQUEST_BUNDLE);
+ intent.getParcelableExtra(RestrictionsManager.EXTRA_REQUEST_BUNDLE, android.os.PersistableBundle.class);
onRequestPermission(context, packageName, requestType, requestId, request);
}
}
diff --git a/core/java/android/service/trust/TrustAgentService.java b/core/java/android/service/trust/TrustAgentService.java
index 559313a..ad4f9f7 100644
--- a/core/java/android/service/trust/TrustAgentService.java
+++ b/core/java/android/service/trust/TrustAgentService.java
@@ -257,7 +257,7 @@
Bundle data = msg.getData();
byte[] token = data.getByteArray(EXTRA_TOKEN);
long handle = data.getLong(EXTRA_TOKEN_HANDLE);
- UserHandle user = (UserHandle) data.getParcelable(EXTRA_USER_HANDLE);
+ UserHandle user = (UserHandle) data.getParcelable(EXTRA_USER_HANDLE, android.os.UserHandle.class);
onEscrowTokenAdded(token, handle, user);
break;
}
diff --git a/core/java/android/service/voice/VoiceInteractionSession.java b/core/java/android/service/voice/VoiceInteractionSession.java
index 7d17093..42500b4 100644
--- a/core/java/android/service/voice/VoiceInteractionSession.java
+++ b/core/java/android/service/voice/VoiceInteractionSession.java
@@ -1547,7 +1547,7 @@
list = Collections.emptyList();
} else {
final ParceledListSlice<DirectAction> pls = result.getParcelable(
- DirectAction.KEY_ACTIONS_LIST);
+ DirectAction.KEY_ACTIONS_LIST, android.content.pm.ParceledListSlice.class);
if (pls != null) {
final List<DirectAction> receivedList = pls.getList();
list = (receivedList != null) ? receivedList : Collections.emptyList();
diff --git a/core/java/android/speech/AlternativeSpans.java b/core/java/android/speech/AlternativeSpans.java
index 3393790..87296d7 100644
--- a/core/java/android/speech/AlternativeSpans.java
+++ b/core/java/android/speech/AlternativeSpans.java
@@ -140,7 +140,7 @@
// static FieldType unparcelFieldName(Parcel in) { ... }
List<AlternativeSpan> spans = new ArrayList<>();
- in.readParcelableList(spans, AlternativeSpan.class.getClassLoader());
+ in.readParcelableList(spans, AlternativeSpan.class.getClassLoader(), android.speech.AlternativeSpan.class);
this.mSpans = spans;
com.android.internal.util.AnnotationValidations.validate(
diff --git a/core/java/android/speech/tts/TextToSpeechService.java b/core/java/android/speech/tts/TextToSpeechService.java
index 26c8314..a00d8cf 100644
--- a/core/java/android/speech/tts/TextToSpeechService.java
+++ b/core/java/android/speech/tts/TextToSpeechService.java
@@ -742,7 +742,7 @@
AudioAttributes audioAttributes =
(AudioAttributes) paramsBundle.getParcelable(
- Engine.KEY_PARAM_AUDIO_ATTRIBUTES);
+ Engine.KEY_PARAM_AUDIO_ATTRIBUTES, android.media.AudioAttributes.class);
if (audioAttributes == null) {
int streamType = paramsBundle.getInt(
Engine.KEY_PARAM_STREAM, Engine.DEFAULT_STREAM);
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index 5457821..1e9769e 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -31893,7 +31893,7 @@
RemoteCallback remoteCallback = new RemoteCallback(result ->
executor.execute(() -> {
- DisplayHash displayHash = result.getParcelable(EXTRA_DISPLAY_HASH);
+ DisplayHash displayHash = result.getParcelable(EXTRA_DISPLAY_HASH, android.view.displayhash.DisplayHash.class);
int errorCode = result.getInt(EXTRA_DISPLAY_HASH_ERROR_CODE,
DISPLAY_HASH_ERROR_UNKNOWN);
if (displayHash != null) {
diff --git a/core/java/android/view/WindowManagerImpl.java b/core/java/android/view/WindowManagerImpl.java
index 20cdad4..dc4ccba 100644
--- a/core/java/android/view/WindowManagerImpl.java
+++ b/core/java/android/view/WindowManagerImpl.java
@@ -213,7 +213,7 @@
@Override
public void send(int resultCode, Bundle resultData) throws RemoteException {
List<KeyboardShortcutGroup> result =
- resultData.getParcelableArrayList(PARCEL_KEY_SHORTCUTS_ARRAY);
+ resultData.getParcelableArrayList(PARCEL_KEY_SHORTCUTS_ARRAY, android.view.KeyboardShortcutGroup.class);
receiver.onKeyboardShortcutsReceived(result);
}
};
diff --git a/core/java/android/view/autofill/AutofillManager.java b/core/java/android/view/autofill/AutofillManager.java
index 6a27eb5..dbefcfb 100644
--- a/core/java/android/view/autofill/AutofillManager.java
+++ b/core/java/android/view/autofill/AutofillManager.java
@@ -944,7 +944,7 @@
return;
}
synchronized (mLock) {
- mLastAutofilledData = savedInstanceState.getParcelable(LAST_AUTOFILLED_DATA_TAG);
+ mLastAutofilledData = savedInstanceState.getParcelable(LAST_AUTOFILLED_DATA_TAG, android.view.autofill.ParcelableMap.class);
if (isActiveLocked()) {
Log.w(TAG, "New session was started before onCreate()");
diff --git a/core/java/android/view/selectiontoolbar/ShowInfo.java b/core/java/android/view/selectiontoolbar/ShowInfo.java
index 594b6bc..d9adef2 100644
--- a/core/java/android/view/selectiontoolbar/ShowInfo.java
+++ b/core/java/android/view/selectiontoolbar/ShowInfo.java
@@ -284,7 +284,7 @@
boolean layoutRequired = (flg & 0x2) != 0;
long widgetToken = in.readLong();
List<ToolbarMenuItem> menuItems = new java.util.ArrayList<>();
- in.readParcelableList(menuItems, ToolbarMenuItem.class.getClassLoader());
+ in.readParcelableList(menuItems, ToolbarMenuItem.class.getClassLoader(), android.view.selectiontoolbar.ToolbarMenuItem.class);
Rect contentRect = (Rect) in.readTypedObject(Rect.CREATOR);
int suggestedWidth = in.readInt();
Rect viewPortOnScreen = (Rect) in.readTypedObject(Rect.CREATOR);
diff --git a/core/java/android/view/textclassifier/ExtrasUtils.java b/core/java/android/view/textclassifier/ExtrasUtils.java
index 9e2b642..ecb838c 100644
--- a/core/java/android/view/textclassifier/ExtrasUtils.java
+++ b/core/java/android/view/textclassifier/ExtrasUtils.java
@@ -58,7 +58,7 @@
*/
@Nullable
public static Intent getActionIntent(Bundle container) {
- return container.getParcelable(ACTION_INTENT);
+ return container.getParcelable(ACTION_INTENT, android.content.Intent.class);
}
/**
@@ -69,7 +69,7 @@
if (classification == null) {
return null;
}
- return classification.getExtras().getParcelableArrayList(ACTIONS_INTENTS);
+ return classification.getExtras().getParcelableArrayList(ACTIONS_INTENTS, android.content.Intent.class);
}
/**
diff --git a/core/java/android/view/translation/TranslationManager.java b/core/java/android/view/translation/TranslationManager.java
index db1c606..55c0726 100644
--- a/core/java/android/view/translation/TranslationManager.java
+++ b/core/java/android/view/translation/TranslationManager.java
@@ -246,7 +246,7 @@
return Collections.emptySet();
}
ParceledListSlice<TranslationCapability> listSlice =
- result.bundle.getParcelable(EXTRA_CAPABILITIES);
+ result.bundle.getParcelable(EXTRA_CAPABILITIES, android.content.pm.ParceledListSlice.class);
ArraySet<TranslationCapability> capabilities =
new ArraySet<>(listSlice == null ? null : listSlice.getList());
return capabilities;
@@ -466,7 +466,7 @@
private void onTranslationCapabilityUpdate(Bundle bundle) {
TranslationCapability capability =
- (TranslationCapability) bundle.getParcelable(EXTRA_CAPABILITIES);
+ (TranslationCapability) bundle.getParcelable(EXTRA_CAPABILITIES, android.view.translation.TranslationCapability.class);
mListener.accept(capability);
}
}
diff --git a/core/java/android/window/TaskFragmentOrganizer.java b/core/java/android/window/TaskFragmentOrganizer.java
index 2ef49c3..68c934f 100644
--- a/core/java/android/window/TaskFragmentOrganizer.java
+++ b/core/java/android/window/TaskFragmentOrganizer.java
@@ -220,7 +220,7 @@
@NonNull IBinder errorCallbackToken, @NonNull Bundle exceptionBundle) {
mExecutor.execute(() -> TaskFragmentOrganizer.this.onTaskFragmentError(
errorCallbackToken,
- (Throwable) exceptionBundle.getSerializable(KEY_ERROR_CALLBACK_EXCEPTION)));
+ (Throwable) exceptionBundle.getSerializable(KEY_ERROR_CALLBACK_EXCEPTION, java.lang.Throwable.class)));
}
@Override
diff --git a/core/java/com/android/internal/app/BlockedAppStreamingActivity.java b/core/java/com/android/internal/app/BlockedAppStreamingActivity.java
index ca111a4..d35f665 100644
--- a/core/java/com/android/internal/app/BlockedAppStreamingActivity.java
+++ b/core/java/com/android/internal/app/BlockedAppStreamingActivity.java
@@ -44,7 +44,7 @@
Intent intent = getIntent();
CharSequence appLabel = null;
- ActivityInfo activityInfo = intent.getParcelableExtra(EXTRA_BLOCKED_ACTIVITY_INFO);
+ ActivityInfo activityInfo = intent.getParcelableExtra(EXTRA_BLOCKED_ACTIVITY_INFO, android.content.pm.ActivityInfo.class);
if (activityInfo != null) {
appLabel = activityInfo.loadLabel(getPackageManager());
}
diff --git a/core/java/com/android/internal/app/ChooserActivity.java b/core/java/com/android/internal/app/ChooserActivity.java
index 819a8c5..436c065 100644
--- a/core/java/com/android/internal/app/ChooserActivity.java
+++ b/core/java/com/android/internal/app/ChooserActivity.java
@@ -607,9 +607,9 @@
mReferrerFillInIntent = new Intent().putExtra(Intent.EXTRA_REFERRER, getReferrer());
mChosenComponentSender = intent.getParcelableExtra(
- Intent.EXTRA_CHOSEN_COMPONENT_INTENT_SENDER);
+ Intent.EXTRA_CHOSEN_COMPONENT_INTENT_SENDER, android.content.IntentSender.class);
mRefinementIntentSender = intent.getParcelableExtra(
- Intent.EXTRA_CHOOSER_REFINEMENT_INTENT_SENDER);
+ Intent.EXTRA_CHOOSER_REFINEMENT_INTENT_SENDER, android.content.IntentSender.class);
setSafeForwardingMode(true);
mPinnedSharedPrefs = getPinnedSharedPrefs(this);
@@ -943,7 +943,7 @@
ClipData clipData = null;
if (Intent.ACTION_SEND.equals(action)) {
String extraText = targetIntent.getStringExtra(Intent.EXTRA_TEXT);
- Uri extraStream = targetIntent.getParcelableExtra(Intent.EXTRA_STREAM);
+ Uri extraStream = targetIntent.getParcelableExtra(Intent.EXTRA_STREAM, android.net.Uri.class);
if (extraText != null) {
clipData = ClipData.newPlainText(null, extraText);
@@ -955,7 +955,7 @@
}
} else if (Intent.ACTION_SEND_MULTIPLE.equals(action)) {
final ArrayList<Uri> streams = targetIntent.getParcelableArrayListExtra(
- Intent.EXTRA_STREAM);
+ Intent.EXTRA_STREAM, android.net.Uri.class);
clipData = ClipData.newUri(getContentResolver(), null, streams.get(0));
for (int i = 1; i < streams.size(); i++) {
clipData.addItem(getContentResolver(), new ClipData.Item(streams.get(i)));
@@ -1090,7 +1090,7 @@
String originalAction = originalIntent.getAction();
if (Intent.ACTION_SEND.equals(originalAction)) {
if (resolveIntent.getData() == null) {
- Uri uri = resolveIntent.getParcelableExtra(Intent.EXTRA_STREAM);
+ Uri uri = resolveIntent.getParcelableExtra(Intent.EXTRA_STREAM, android.net.Uri.class);
if (uri != null) {
String mimeType = getContentResolver().getType(uri);
resolveIntent.setDataAndType(uri, mimeType);
@@ -1335,14 +1335,14 @@
String action = targetIntent.getAction();
if (Intent.ACTION_SEND.equals(action)) {
- Uri uri = targetIntent.getParcelableExtra(Intent.EXTRA_STREAM);
+ Uri uri = targetIntent.getParcelableExtra(Intent.EXTRA_STREAM, android.net.Uri.class);
imagePreview.findViewById(R.id.content_preview_image_1_large)
.setTransitionName(ChooserActivity.FIRST_IMAGE_PREVIEW_TRANSITION_NAME);
mPreviewCoord.loadUriIntoView(R.id.content_preview_image_1_large, uri, 0);
} else {
ContentResolver resolver = getContentResolver();
- List<Uri> uris = targetIntent.getParcelableArrayListExtra(Intent.EXTRA_STREAM);
+ List<Uri> uris = targetIntent.getParcelableArrayListExtra(Intent.EXTRA_STREAM, android.net.Uri.class);
List<Uri> imageUris = new ArrayList<>();
for (Uri uri : uris) {
if (isImageType(resolver.getType(uri))) {
@@ -1454,10 +1454,10 @@
String action = targetIntent.getAction();
if (Intent.ACTION_SEND.equals(action)) {
- Uri uri = targetIntent.getParcelableExtra(Intent.EXTRA_STREAM);
+ Uri uri = targetIntent.getParcelableExtra(Intent.EXTRA_STREAM, android.net.Uri.class);
loadFileUriIntoView(uri, contentPreviewLayout);
} else {
- List<Uri> uris = targetIntent.getParcelableArrayListExtra(Intent.EXTRA_STREAM);
+ List<Uri> uris = targetIntent.getParcelableArrayListExtra(Intent.EXTRA_STREAM, android.net.Uri.class);
int uriCount = uris.size();
if (uriCount == 0) {
@@ -1541,10 +1541,10 @@
private int findPreferredContentPreview(Intent targetIntent, ContentResolver resolver) {
String action = targetIntent.getAction();
if (Intent.ACTION_SEND.equals(action)) {
- Uri uri = targetIntent.getParcelableExtra(Intent.EXTRA_STREAM);
+ Uri uri = targetIntent.getParcelableExtra(Intent.EXTRA_STREAM, android.net.Uri.class);
return findPreferredContentPreview(uri, resolver);
} else if (Intent.ACTION_SEND_MULTIPLE.equals(action)) {
- List<Uri> uris = targetIntent.getParcelableArrayListExtra(Intent.EXTRA_STREAM);
+ List<Uri> uris = targetIntent.getParcelableArrayListExtra(Intent.EXTRA_STREAM, android.net.Uri.class);
if (uris == null || uris.isEmpty()) {
return CONTENT_PREVIEW_TEXT;
}
@@ -1914,12 +1914,12 @@
IntentFilter intentFilter = new IntentFilter(intent.getAction(), intent.getType());
List<Uri> contentUris = new ArrayList<>();
if (Intent.ACTION_SEND.equals(intent.getAction())) {
- Uri uri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM);
+ Uri uri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM, android.net.Uri.class);
if (uri != null) {
contentUris.add(uri);
}
} else {
- List<Uri> uris = intent.getParcelableArrayListExtra(Intent.EXTRA_STREAM);
+ List<Uri> uris = intent.getParcelableArrayListExtra(Intent.EXTRA_STREAM, android.net.Uri.class);
if (uris != null) {
contentUris.addAll(uris);
}
diff --git a/core/java/com/android/internal/app/ConfirmUserCreationActivity.java b/core/java/com/android/internal/app/ConfirmUserCreationActivity.java
index ee4d46d..8833512 100644
--- a/core/java/com/android/internal/app/ConfirmUserCreationActivity.java
+++ b/core/java/com/android/internal/app/ConfirmUserCreationActivity.java
@@ -62,7 +62,7 @@
mAccountName = intent.getStringExtra(UserManager.EXTRA_USER_ACCOUNT_NAME);
mAccountType = intent.getStringExtra(UserManager.EXTRA_USER_ACCOUNT_TYPE);
mAccountOptions = (PersistableBundle)
- intent.getParcelableExtra(UserManager.EXTRA_USER_ACCOUNT_OPTIONS);
+ intent.getParcelableExtra(UserManager.EXTRA_USER_ACCOUNT_OPTIONS, android.os.PersistableBundle.class);
mUserManager = getSystemService(UserManager.class);
diff --git a/core/java/com/android/internal/app/HarmfulAppWarningActivity.java b/core/java/com/android/internal/app/HarmfulAppWarningActivity.java
index 33209e1..c19196f 100644
--- a/core/java/com/android/internal/app/HarmfulAppWarningActivity.java
+++ b/core/java/com/android/internal/app/HarmfulAppWarningActivity.java
@@ -54,7 +54,7 @@
getWindow().addSystemFlags(SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
final Intent intent = getIntent();
mPackageName = intent.getStringExtra(Intent.EXTRA_PACKAGE_NAME);
- mTarget = intent.getParcelableExtra(Intent.EXTRA_INTENT);
+ mTarget = intent.getParcelableExtra(Intent.EXTRA_INTENT, android.content.IntentSender.class);
mHarmfulAppWarning = intent.getStringExtra(EXTRA_HARMFUL_APP_WARNING);
if (mPackageName == null || mTarget == null || mHarmfulAppWarning == null) {
@@ -107,7 +107,7 @@
case DialogInterface.BUTTON_NEGATIVE:
getPackageManager().setHarmfulAppWarning(mPackageName, null /*warning*/);
- final IntentSender target = getIntent().getParcelableExtra(Intent.EXTRA_INTENT);
+ final IntentSender target = getIntent().getParcelableExtra(Intent.EXTRA_INTENT, android.content.IntentSender.class);
try {
startIntentSenderForResult(target, -1 /*requestCode*/, null /*fillInIntent*/,
0 /*flagsMask*/, 0 /*flagsValue*/, 0 /*extraFlags*/);
diff --git a/core/java/com/android/internal/app/HeavyWeightSwitcherActivity.java b/core/java/com/android/internal/app/HeavyWeightSwitcherActivity.java
index 0152387..801c934 100644
--- a/core/java/com/android/internal/app/HeavyWeightSwitcherActivity.java
+++ b/core/java/com/android/internal/app/HeavyWeightSwitcherActivity.java
@@ -66,7 +66,7 @@
requestWindowFeature(Window.FEATURE_NO_TITLE);
- mStartIntent = (IntentSender)getIntent().getParcelableExtra(KEY_INTENT);
+ mStartIntent = (IntentSender)getIntent().getParcelableExtra(KEY_INTENT, android.content.IntentSender.class);
mHasResult = getIntent().getBooleanExtra(KEY_HAS_RESULT, false);
mCurApp = getIntent().getStringExtra(KEY_CUR_APP);
mCurTask = getIntent().getIntExtra(KEY_CUR_TASK, 0);
diff --git a/core/java/com/android/internal/app/IntentForwarderActivity.java b/core/java/com/android/internal/app/IntentForwarderActivity.java
index 070d8ff..47b83be 100644
--- a/core/java/com/android/internal/app/IntentForwarderActivity.java
+++ b/core/java/com/android/internal/app/IntentForwarderActivity.java
@@ -224,7 +224,7 @@
int selectedProfile = findSelectedProfile(className);
sanitizeIntent(intentReceived);
intentReceived.putExtra(EXTRA_SELECTED_PROFILE, selectedProfile);
- Intent innerIntent = intentReceived.getParcelableExtra(Intent.EXTRA_INTENT);
+ Intent innerIntent = intentReceived.getParcelableExtra(Intent.EXTRA_INTENT, android.content.Intent.class);
if (innerIntent == null) {
Slog.wtf(TAG, "Cannot start a chooser intent with no extra " + Intent.EXTRA_INTENT);
return;
diff --git a/core/java/com/android/internal/app/LaunchAfterAuthenticationActivity.java b/core/java/com/android/internal/app/LaunchAfterAuthenticationActivity.java
index 20a025a..c14d958 100644
--- a/core/java/com/android/internal/app/LaunchAfterAuthenticationActivity.java
+++ b/core/java/com/android/internal/app/LaunchAfterAuthenticationActivity.java
@@ -54,7 +54,7 @@
super.onCreate(icicle);
final IntentSender onSuccessIntent = getIntent().getParcelableExtra(
- EXTRA_ON_SUCCESS_INTENT);
+ EXTRA_ON_SUCCESS_INTENT, android.content.IntentSender.class);
requestDismissKeyguardIfNeeded(onSuccessIntent);
}
diff --git a/core/java/com/android/internal/app/ResolverActivity.java b/core/java/com/android/internal/app/ResolverActivity.java
index 40429c6..4b4a91e 100644
--- a/core/java/com/android/internal/app/ResolverActivity.java
+++ b/core/java/com/android/internal/app/ResolverActivity.java
@@ -500,7 +500,7 @@
// this happens, we check for it here and set the current profile's tab.
int selectedProfile = getCurrentProfile();
UserHandle intentUser = getIntent().hasExtra(EXTRA_CALLING_USER)
- ? getIntent().getParcelableExtra(EXTRA_CALLING_USER)
+ ? getIntent().getParcelableExtra(EXTRA_CALLING_USER, android.os.UserHandle.class)
: getUser();
if (!getUser().equals(intentUser)) {
if (getPersonalProfileUserHandle().equals(intentUser)) {
diff --git a/core/java/com/android/internal/app/SuspendedAppActivity.java b/core/java/com/android/internal/app/SuspendedAppActivity.java
index ec224e5..0288137 100644
--- a/core/java/com/android/internal/app/SuspendedAppActivity.java
+++ b/core/java/com/android/internal/app/SuspendedAppActivity.java
@@ -219,8 +219,8 @@
}
mSuspendedPackage = intent.getStringExtra(EXTRA_SUSPENDED_PACKAGE);
mSuspendingPackage = intent.getStringExtra(EXTRA_SUSPENDING_PACKAGE);
- mSuppliedDialogInfo = intent.getParcelableExtra(EXTRA_DIALOG_INFO);
- mOnUnsuspend = intent.getParcelableExtra(EXTRA_UNSUSPEND_INTENT);
+ mSuppliedDialogInfo = intent.getParcelableExtra(EXTRA_DIALOG_INFO, android.content.pm.SuspendDialogInfo.class);
+ mOnUnsuspend = intent.getParcelableExtra(EXTRA_UNSUSPEND_INTENT, android.content.IntentSender.class);
if (mSuppliedDialogInfo != null) {
try {
mSuspendingAppResources = createContextAsUser(
diff --git a/core/java/com/android/internal/app/UnlaunchableAppActivity.java b/core/java/com/android/internal/app/UnlaunchableAppActivity.java
index e56d92b..0776572 100644
--- a/core/java/com/android/internal/app/UnlaunchableAppActivity.java
+++ b/core/java/com/android/internal/app/UnlaunchableAppActivity.java
@@ -62,7 +62,7 @@
Intent intent = getIntent();
mReason = intent.getIntExtra(EXTRA_UNLAUNCHABLE_REASON, -1);
mUserId = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, UserHandle.USER_NULL);
- mTarget = intent.getParcelableExtra(Intent.EXTRA_INTENT);
+ mTarget = intent.getParcelableExtra(Intent.EXTRA_INTENT, android.content.IntentSender.class);
if (mUserId == UserHandle.USER_NULL) {
Log.wtf(TAG, "Invalid user id: " + mUserId + ". Stopping.");
diff --git a/core/java/com/android/internal/net/VpnProfile.java b/core/java/com/android/internal/net/VpnProfile.java
index b334e91..396da5b 100644
--- a/core/java/com/android/internal/net/VpnProfile.java
+++ b/core/java/com/android/internal/net/VpnProfile.java
@@ -204,7 +204,7 @@
excludeLocalRoutes = in.readBoolean();
requiresInternetValidation = in.readBoolean();
final PersistableBundle bundle =
- in.readParcelable(PersistableBundle.class.getClassLoader());
+ in.readParcelable(PersistableBundle.class.getClassLoader(), android.os.PersistableBundle.class);
ikeTunConnParams = (bundle == null) ? null
: TunnelConnectionParamsUtils.fromPersistableBundle(bundle);
}
diff --git a/core/java/com/android/internal/util/ScreenshotHelper.java b/core/java/com/android/internal/util/ScreenshotHelper.java
index f4f438b..518fa53 100644
--- a/core/java/com/android/internal/util/ScreenshotHelper.java
+++ b/core/java/com/android/internal/util/ScreenshotHelper.java
@@ -217,8 +217,8 @@
throw new IllegalArgumentException("Bundle does not contain a hardware bitmap");
}
- HardwareBuffer buffer = bundle.getParcelable(KEY_BUFFER);
- ParcelableColorSpace colorSpace = bundle.getParcelable(KEY_COLOR_SPACE);
+ HardwareBuffer buffer = bundle.getParcelable(KEY_BUFFER, android.hardware.HardwareBuffer.class);
+ ParcelableColorSpace colorSpace = bundle.getParcelable(KEY_COLOR_SPACE, android.graphics.ParcelableColorSpace.class);
return Bitmap.wrapHardwareBuffer(Objects.requireNonNull(buffer),
colorSpace.getColorSpace());
diff --git a/core/java/com/android/internal/widget/CallLayout.java b/core/java/com/android/internal/widget/CallLayout.java
index 83345da..acb0e44 100644
--- a/core/java/com/android/internal/widget/CallLayout.java
+++ b/core/java/com/android/internal/widget/CallLayout.java
@@ -125,7 +125,7 @@
*/
@RemotableViewMethod
public void setData(Bundle extras) {
- setUser(extras.getParcelable(Notification.EXTRA_CALL_PERSON));
+ setUser(extras.getParcelable(Notification.EXTRA_CALL_PERSON, android.app.Person.class));
updateCallLayout();
}
diff --git a/core/java/com/android/internal/widget/ConversationLayout.java b/core/java/com/android/internal/widget/ConversationLayout.java
index 4706aff..9f21760 100644
--- a/core/java/com/android/internal/widget/ConversationLayout.java
+++ b/core/java/com/android/internal/widget/ConversationLayout.java
@@ -390,11 +390,11 @@
= Notification.MessagingStyle.Message.getMessagesFromBundleArray(histMessages);
// mUser now set (would be nice to avoid the side effect but WHATEVER)
- setUser(extras.getParcelable(Notification.EXTRA_MESSAGING_PERSON));
+ setUser(extras.getParcelable(Notification.EXTRA_MESSAGING_PERSON, android.app.Person.class));
// Append remote input history to newMessages (again, side effect is lame but WHATEVS)
RemoteInputHistoryItem[] history = (RemoteInputHistoryItem[])
- extras.getParcelableArray(Notification.EXTRA_REMOTE_INPUT_HISTORY_ITEMS);
+ extras.getParcelableArray(Notification.EXTRA_REMOTE_INPUT_HISTORY_ITEMS, android.app.RemoteInputHistoryItem.class);
addRemoteInputHistoryToMessages(newMessages, history);
boolean showSpinner =
diff --git a/core/java/com/android/internal/widget/MessagingLayout.java b/core/java/com/android/internal/widget/MessagingLayout.java
index 9ac6ef7..67b671e 100644
--- a/core/java/com/android/internal/widget/MessagingLayout.java
+++ b/core/java/com/android/internal/widget/MessagingLayout.java
@@ -164,9 +164,9 @@
Parcelable[] histMessages = extras.getParcelableArray(Notification.EXTRA_HISTORIC_MESSAGES);
List<Notification.MessagingStyle.Message> newHistoricMessages
= Notification.MessagingStyle.Message.getMessagesFromBundleArray(histMessages);
- setUser(extras.getParcelable(Notification.EXTRA_MESSAGING_PERSON));
+ setUser(extras.getParcelable(Notification.EXTRA_MESSAGING_PERSON, android.app.Person.class));
RemoteInputHistoryItem[] history = (RemoteInputHistoryItem[])
- extras.getParcelableArray(Notification.EXTRA_REMOTE_INPUT_HISTORY_ITEMS);
+ extras.getParcelableArray(Notification.EXTRA_REMOTE_INPUT_HISTORY_ITEMS, android.app.RemoteInputHistoryItem.class);
addRemoteInputHistoryToMessages(newMessages, history);
boolean showSpinner =
extras.getBoolean(Notification.EXTRA_SHOW_REMOTE_INPUT_SPINNER, false);
diff --git a/location/java/android/location/SettingInjectorService.java b/location/java/android/location/SettingInjectorService.java
index d6f8a7c..2aa812b 100644
--- a/location/java/android/location/SettingInjectorService.java
+++ b/location/java/android/location/SettingInjectorService.java
@@ -179,7 +179,7 @@
* intent.
*/
private void sendStatus(Intent intent, String summary, boolean enabled) {
- Messenger messenger = intent.getParcelableExtra(MESSENGER_KEY);
+ Messenger messenger = intent.getParcelableExtra(MESSENGER_KEY, android.os.Messenger.class);
// Bail out to avoid crashing GmsCore with incoming malicious Intent.
if (messenger == null) {
return;
diff --git a/media/java/android/media/MediaMetadata.java b/media/java/android/media/MediaMetadata.java
index db5e52a..7b3a568 100644
--- a/media/java/android/media/MediaMetadata.java
+++ b/media/java/android/media/MediaMetadata.java
@@ -500,7 +500,7 @@
public Rating getRating(@RatingKey String key) {
Rating rating = null;
try {
- rating = mBundle.getParcelable(key);
+ rating = mBundle.getParcelable(key, android.media.Rating.class);
} catch (Exception e) {
// ignore, value was not a bitmap
Log.w(TAG, "Failed to retrieve a key as Rating.", e);
@@ -518,7 +518,7 @@
public Bitmap getBitmap(@BitmapKey String key) {
Bitmap bmp = null;
try {
- bmp = mBundle.getParcelable(key);
+ bmp = mBundle.getParcelable(key, android.graphics.Bitmap.class);
} catch (Exception e) {
// ignore, value was not a bitmap
Log.w(TAG, "Failed to retrieve a key as Bitmap.", e);
diff --git a/media/java/android/media/MediaRouter.java b/media/java/android/media/MediaRouter.java
index 7d57734..d7fc205 100644
--- a/media/java/android/media/MediaRouter.java
+++ b/media/java/android/media/MediaRouter.java
@@ -3184,7 +3184,7 @@
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(DisplayManager.ACTION_WIFI_DISPLAY_STATUS_CHANGED)) {
updateWifiDisplayStatus((WifiDisplayStatus) intent.getParcelableExtra(
- DisplayManager.EXTRA_WIFI_DISPLAY_STATUS));
+ DisplayManager.EXTRA_WIFI_DISPLAY_STATUS, android.hardware.display.WifiDisplayStatus.class));
}
}
}
diff --git a/media/java/android/media/RemoteController.java b/media/java/android/media/RemoteController.java
index 00fc275..a6e8fa0 100644
--- a/media/java/android/media/RemoteController.java
+++ b/media/java/android/media/RemoteController.java
@@ -407,7 +407,7 @@
mEditableKeys = editableKeys;
mEditorArtwork = (Bitmap) metadata.getParcelable(
- String.valueOf(MediaMetadataEditor.BITMAP_KEY_ARTWORK));
+ String.valueOf(MediaMetadataEditor.BITMAP_KEY_ARTWORK), android.graphics.Bitmap.class);
if (mEditorArtwork != null) {
cleanupBitmapFromBundle(MediaMetadataEditor.BITMAP_KEY_ARTWORK);
}
diff --git a/media/java/android/media/session/MediaSession.java b/media/java/android/media/session/MediaSession.java
index bc00c40..9e265d8 100644
--- a/media/java/android/media/session/MediaSession.java
+++ b/media/java/android/media/session/MediaSession.java
@@ -917,7 +917,7 @@
public boolean onMediaButtonEvent(@NonNull Intent mediaButtonIntent) {
if (mSession != null && mHandler != null
&& Intent.ACTION_MEDIA_BUTTON.equals(mediaButtonIntent.getAction())) {
- KeyEvent ke = mediaButtonIntent.getParcelableExtra(Intent.EXTRA_KEY_EVENT);
+ KeyEvent ke = mediaButtonIntent.getParcelableExtra(Intent.EXTRA_KEY_EVENT, android.view.KeyEvent.class);
if (ke != null && ke.getAction() == KeyEvent.ACTION_DOWN) {
PlaybackState state = mSession.mPlaybackState;
long validActions = state == null ? 0 : state.getActions();
diff --git a/services/accessibility/java/com/android/server/accessibility/AbstractAccessibilityServiceConnection.java b/services/accessibility/java/com/android/server/accessibility/AbstractAccessibilityServiceConnection.java
index 9b29bae..b34482f 100644
--- a/services/accessibility/java/com/android/server/accessibility/AbstractAccessibilityServiceConnection.java
+++ b/services/accessibility/java/com/android/server/accessibility/AbstractAccessibilityServiceConnection.java
@@ -2300,9 +2300,9 @@
int processId, long threadId, int callingUid, Bundle callingStack) {
if (mTrace.isA11yTracingEnabledForTypes(loggingTypes)) {
ArrayList<StackTraceElement> list =
- (ArrayList<StackTraceElement>) callingStack.getSerializable(CALL_STACK);
+ (ArrayList<StackTraceElement>) callingStack.getSerializable(CALL_STACK, java.util.ArrayList.class);
HashSet<String> ignoreList =
- (HashSet<String>) callingStack.getSerializable(IGNORE_CALL_STACK);
+ (HashSet<String>) callingStack.getSerializable(IGNORE_CALL_STACK, java.util.HashSet.class);
mTrace.logTrace(timestamp, where, loggingTypes, callingParams, processId, threadId,
callingUid, list.toArray(new StackTraceElement[list.size()]), ignoreList);
}
diff --git a/services/accessibility/java/com/android/server/accessibility/PolicyWarningUIController.java b/services/accessibility/java/com/android/server/accessibility/PolicyWarningUIController.java
index af81645..7fd859c 100644
--- a/services/accessibility/java/com/android/server/accessibility/PolicyWarningUIController.java
+++ b/services/accessibility/java/com/android/server/accessibility/PolicyWarningUIController.java
@@ -227,7 +227,7 @@
public void onReceive(Context context, Intent intent) {
final String action = intent.getAction();
final ComponentName componentName = intent.getParcelableExtra(
- Intent.EXTRA_COMPONENT_NAME);
+ Intent.EXTRA_COMPONENT_NAME, android.content.ComponentName.class);
if (TextUtils.isEmpty(action) || componentName == null) {
return;
}
diff --git a/services/autofill/java/com/android/server/autofill/AutofillManagerServiceShellCommand.java b/services/autofill/java/com/android/server/autofill/AutofillManagerServiceShellCommand.java
index 1eaa59a..b09cb00 100644
--- a/services/autofill/java/com/android/server/autofill/AutofillManagerServiceShellCommand.java
+++ b/services/autofill/java/com/android/server/autofill/AutofillManagerServiceShellCommand.java
@@ -251,7 +251,7 @@
final CountDownLatch latch = new CountDownLatch(1);
mService.calculateScore(algorithm, value1, value2, new RemoteCallback((result) -> {
- final Scores scores = result.getParcelable(EXTRA_SCORES);
+ final Scores scores = result.getParcelable(EXTRA_SCORES, android.service.autofill.AutofillFieldClassificationService.Scores.class);
if (scores == null) {
pw.println("no score");
} else {
diff --git a/services/autofill/java/com/android/server/autofill/Session.java b/services/autofill/java/com/android/server/autofill/Session.java
index 9f98461..1fea539 100644
--- a/services/autofill/java/com/android/server/autofill/Session.java
+++ b/services/autofill/java/com/android/server/autofill/Session.java
@@ -395,7 +395,7 @@
Slog.v(TAG, "mDelayedFillBroadcastReceiver delayed fill action received");
synchronized (mLock) {
int requestId = intent.getIntExtra(EXTRA_REQUEST_ID, 0);
- FillResponse response = intent.getParcelableExtra(EXTRA_FILL_RESPONSE);
+ FillResponse response = intent.getParcelableExtra(EXTRA_FILL_RESPONSE, android.service.autofill.FillResponse.class);
mAssistReceiver.processDelayedFillLocked(requestId, response);
}
}
@@ -559,7 +559,7 @@
return;
}
- final AssistStructure structure = resultData.getParcelable(ASSIST_KEY_STRUCTURE);
+ final AssistStructure structure = resultData.getParcelable(ASSIST_KEY_STRUCTURE, android.app.assist.AssistStructure.class);
if (structure == null) {
Slog.e(TAG, "No assist structure - app might have crashed providing it");
return;
@@ -1811,7 +1811,7 @@
@GuardedBy("mLock")
void setAuthenticationResultForAugmentedAutofillLocked(Bundle data, int authId) {
final Dataset dataset = (data == null) ? null :
- data.getParcelable(AutofillManager.EXTRA_AUTHENTICATION_RESULT);
+ data.getParcelable(AutofillManager.EXTRA_AUTHENTICATION_RESULT, android.service.autofill.Dataset.class);
if (sDebug) {
Slog.d(TAG, "Auth result for augmented autofill: sessionId=" + id
+ ", authId=" + authId + ", dataset=" + dataset);
@@ -2251,7 +2251,7 @@
logContextCommitted(null, null, saveDialogNotShowReason, commitReason);
return;
}
- final Scores scores = result.getParcelable(EXTRA_SCORES);
+ final Scores scores = result.getParcelable(EXTRA_SCORES, android.service.autofill.AutofillFieldClassificationService.Scores.class);
if (scores == null) {
Slog.w(TAG, "No field classification score on " + result);
return;
diff --git a/services/companion/java/com/android/server/companion/AssociationRequestsProcessor.java b/services/companion/java/com/android/server/companion/AssociationRequestsProcessor.java
index 5457ef9..b3314ed 100644
--- a/services/companion/java/com/android/server/companion/AssociationRequestsProcessor.java
+++ b/services/companion/java/com/android/server/companion/AssociationRequestsProcessor.java
@@ -300,10 +300,10 @@
return;
}
- final AssociationRequest request = data.getParcelable(EXTRA_ASSOCIATION_REQUEST);
+ final AssociationRequest request = data.getParcelable(EXTRA_ASSOCIATION_REQUEST, android.companion.AssociationRequest.class);
final IAssociationRequestCallback callback = IAssociationRequestCallback.Stub
.asInterface(data.getBinder(EXTRA_APPLICATION_CALLBACK));
- final ResultReceiver resultReceiver = data.getParcelable(EXTRA_RESULT_RECEIVER);
+ final ResultReceiver resultReceiver = data.getParcelable(EXTRA_RESULT_RECEIVER, android.os.ResultReceiver.class);
requireNonNull(request);
requireNonNull(callback);
@@ -313,7 +313,7 @@
if (request.isSelfManaged()) {
macAddress = null;
} else {
- macAddress = data.getParcelable(EXTRA_MAC_ADDRESS);
+ macAddress = data.getParcelable(EXTRA_MAC_ADDRESS, android.net.MacAddress.class);
requireNonNull(macAddress);
}
diff --git a/services/contentcapture/java/com/android/server/contentcapture/ContentCapturePerUserService.java b/services/contentcapture/java/com/android/server/contentcapture/ContentCapturePerUserService.java
index 41a7592..7a95a8f 100644
--- a/services/contentcapture/java/com/android/server/contentcapture/ContentCapturePerUserService.java
+++ b/services/contentcapture/java/com/android/server/contentcapture/ContentCapturePerUserService.java
@@ -446,8 +446,8 @@
@NonNull Bundle data) {
final int id = getSessionId(activityToken);
final Bundle assistData = data.getBundle(ASSIST_KEY_DATA);
- final AssistStructure assistStructure = data.getParcelable(ASSIST_KEY_STRUCTURE);
- final AssistContent assistContent = data.getParcelable(ASSIST_KEY_CONTENT);
+ final AssistStructure assistStructure = data.getParcelable(ASSIST_KEY_STRUCTURE, android.app.assist.AssistStructure.class);
+ final AssistContent assistContent = data.getParcelable(ASSIST_KEY_CONTENT, android.app.assist.AssistContent.class);
final SnapshotData snapshotData = new SnapshotData(assistData,
assistStructure, assistContent);
if (id != NO_SESSION_ID) {
diff --git a/services/core/java/com/android/server/ExplicitHealthCheckController.java b/services/core/java/com/android/server/ExplicitHealthCheckController.java
index 77059d9..20de40e 100644
--- a/services/core/java/com/android/server/ExplicitHealthCheckController.java
+++ b/services/core/java/com/android/server/ExplicitHealthCheckController.java
@@ -246,7 +246,7 @@
try {
mRemoteService.getSupportedPackages(new RemoteCallback(result -> {
List<PackageConfig> packages =
- result.getParcelableArrayList(EXTRA_SUPPORTED_PACKAGES);
+ result.getParcelableArrayList(EXTRA_SUPPORTED_PACKAGES, android.service.watchdog.ExplicitHealthCheckService.PackageConfig.class);
Slog.i(TAG, "Explicit health check supported packages " + packages);
consumer.accept(packages);
}));
diff --git a/services/core/java/com/android/server/accounts/AccountManagerService.java b/services/core/java/com/android/server/accounts/AccountManagerService.java
index 6b731c3..eb0f3f0 100644
--- a/services/core/java/com/android/server/accounts/AccountManagerService.java
+++ b/services/core/java/com/android/server/accounts/AccountManagerService.java
@@ -3090,7 +3090,7 @@
}
}
- Intent intent = result.getParcelable(AccountManager.KEY_INTENT);
+ Intent intent = result.getParcelable(AccountManager.KEY_INTENT, android.content.Intent.class);
if (intent != null && notifyOnAuthFailure && !customTokens) {
/*
* Make sure that the supplied intent is owned by the authenticator
@@ -3516,7 +3516,7 @@
mNumResults++;
Intent intent = null;
if (result != null
- && (intent = result.getParcelable(AccountManager.KEY_INTENT)) != null) {
+ && (intent = result.getParcelable(AccountManager.KEY_INTENT, android.content.Intent.class)) != null) {
if (!checkKeyIntent(
Binder.getCallingUid(),
intent)) {
@@ -5048,7 +5048,7 @@
}
}
if (result != null
- && (intent = result.getParcelable(AccountManager.KEY_INTENT)) != null) {
+ && (intent = result.getParcelable(AccountManager.KEY_INTENT, android.content.Intent.class)) != null) {
if (!checkKeyIntent(
Binder.getCallingUid(),
intent)) {
diff --git a/services/core/java/com/android/server/adb/AdbDebuggingManager.java b/services/core/java/com/android/server/adb/AdbDebuggingManager.java
index 049f4be..2eaf323 100644
--- a/services/core/java/com/android/server/adb/AdbDebuggingManager.java
+++ b/services/core/java/com/android/server/adb/AdbDebuggingManager.java
@@ -649,7 +649,7 @@
} else if (WifiManager.NETWORK_STATE_CHANGED_ACTION.equals(action)) {
// We only care about wifi type connections
NetworkInfo networkInfo = (NetworkInfo) intent.getParcelableExtra(
- WifiManager.EXTRA_NETWORK_INFO);
+ WifiManager.EXTRA_NETWORK_INFO, android.net.NetworkInfo.class);
if (networkInfo.getType() == ConnectivityManager.TYPE_WIFI) {
// Check for network disconnect
if (!networkInfo.isConnected()) {
diff --git a/services/core/java/com/android/server/audio/BtHelper.java b/services/core/java/com/android/server/audio/BtHelper.java
index 0e38232..73e4cf2 100644
--- a/services/core/java/com/android/server/audio/BtHelper.java
+++ b/services/core/java/com/android/server/audio/BtHelper.java
@@ -303,7 +303,7 @@
Log.i(TAG, "receiveBtEvent action: " + action + " mScoAudioState: " + mScoAudioState);
if (action.equals(BluetoothHeadset.ACTION_ACTIVE_DEVICE_CHANGED)) {
- BluetoothDevice btDevice = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
+ BluetoothDevice btDevice = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE, android.bluetooth.BluetoothDevice.class);
setBtScoActiveDevice(btDevice);
} else if (action.equals(BluetoothHeadset.ACTION_AUDIO_STATE_CHANGED)) {
int btState = intent.getIntExtra(BluetoothProfile.EXTRA_STATE, -1);
diff --git a/services/core/java/com/android/server/camera/CameraServiceProxy.java b/services/core/java/com/android/server/camera/CameraServiceProxy.java
index b425420..66ef5e7 100644
--- a/services/core/java/com/android/server/camera/CameraServiceProxy.java
+++ b/services/core/java/com/android/server/camera/CameraServiceProxy.java
@@ -355,7 +355,7 @@
case UsbManager.ACTION_USB_DEVICE_ATTACHED:
case UsbManager.ACTION_USB_DEVICE_DETACHED:
synchronized (mLock) {
- UsbDevice device = intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);
+ UsbDevice device = intent.getParcelableExtra(UsbManager.EXTRA_DEVICE, android.hardware.usb.UsbDevice.class);
if (device != null) {
notifyUsbDeviceHotplugLocked(device,
action.equals(UsbManager.ACTION_USB_DEVICE_ATTACHED));
diff --git a/services/core/java/com/android/server/display/WifiDisplayController.java b/services/core/java/com/android/server/display/WifiDisplayController.java
index a7e1a28..5b204ad 100644
--- a/services/core/java/com/android/server/display/WifiDisplayController.java
+++ b/services/core/java/com/android/server/display/WifiDisplayController.java
@@ -1090,7 +1090,7 @@
handlePeersChanged();
} else if (action.equals(WifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTION)) {
NetworkInfo networkInfo = (NetworkInfo)intent.getParcelableExtra(
- WifiP2pManager.EXTRA_NETWORK_INFO);
+ WifiP2pManager.EXTRA_NETWORK_INFO, android.net.NetworkInfo.class);
if (DEBUG) {
Slog.d(TAG, "Received WIFI_P2P_CONNECTION_CHANGED_ACTION: networkInfo="
+ networkInfo);
@@ -1099,7 +1099,7 @@
handleConnectionChanged(networkInfo);
} else if (action.equals(WifiP2pManager.WIFI_P2P_THIS_DEVICE_CHANGED_ACTION)) {
mThisDevice = (WifiP2pDevice) intent.getParcelableExtra(
- WifiP2pManager.EXTRA_WIFI_P2P_DEVICE);
+ WifiP2pManager.EXTRA_WIFI_P2P_DEVICE, android.net.wifi.p2p.WifiP2pDevice.class);
if (DEBUG) {
Slog.d(TAG, "Received WIFI_P2P_THIS_DEVICE_CHANGED_ACTION: mThisDevice= "
+ mThisDevice);
diff --git a/services/core/java/com/android/server/locksettings/ResumeOnRebootServiceProvider.java b/services/core/java/com/android/server/locksettings/ResumeOnRebootServiceProvider.java
index ec80521..70fdccd 100644
--- a/services/core/java/com/android/server/locksettings/ResumeOnRebootServiceProvider.java
+++ b/services/core/java/com/android/server/locksettings/ResumeOnRebootServiceProvider.java
@@ -182,7 +182,7 @@
waitForLatch(binderLatch, "wrapSecret", timeOutInMillis);
if (resultCallback.getResult().containsKey(ResumeOnRebootService.EXCEPTION_KEY)) {
throwTypedException(resultCallback.getResult().getParcelable(
- ResumeOnRebootService.EXCEPTION_KEY));
+ ResumeOnRebootService.EXCEPTION_KEY, android.os.ParcelableException.class));
}
return resultCallback.mResult.getByteArray(ResumeOnRebootService.WRAPPED_BLOB_KEY);
}
@@ -202,7 +202,7 @@
waitForLatch(binderLatch, "unWrapSecret", timeOut);
if (resultCallback.getResult().containsKey(ResumeOnRebootService.EXCEPTION_KEY)) {
throwTypedException(resultCallback.getResult().getParcelable(
- ResumeOnRebootService.EXCEPTION_KEY));
+ ResumeOnRebootService.EXCEPTION_KEY, android.os.ParcelableException.class));
}
return resultCallback.getResult().getByteArray(
ResumeOnRebootService.UNWRAPPED_BLOB_KEY);
diff --git a/services/core/java/com/android/server/media/BluetoothRouteProvider.java b/services/core/java/com/android/server/media/BluetoothRouteProvider.java
index d4d3a39..e1a990d 100644
--- a/services/core/java/com/android/server/media/BluetoothRouteProvider.java
+++ b/services/core/java/com/android/server/media/BluetoothRouteProvider.java
@@ -500,7 +500,7 @@
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
- BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
+ BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE, android.bluetooth.BluetoothDevice.class);
BluetoothEventReceiver receiver = mEventReceiverMap.get(action);
if (receiver != null) {
diff --git a/services/core/java/com/android/server/media/MediaRouterService.java b/services/core/java/com/android/server/media/MediaRouterService.java
index e61f553..82dfd3a 100644
--- a/services/core/java/com/android/server/media/MediaRouterService.java
+++ b/services/core/java/com/android/server/media/MediaRouterService.java
@@ -956,7 +956,7 @@
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(BluetoothA2dp.ACTION_ACTIVE_DEVICE_CHANGED)) {
- BluetoothDevice btDevice = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
+ BluetoothDevice btDevice = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE, android.bluetooth.BluetoothDevice.class);
synchronized (mLock) {
mActiveBluetoothDevice = btDevice;
mGlobalBluetoothA2dpOn = btDevice != null;
diff --git a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
index 1ea949e..f2a12b4 100644
--- a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
+++ b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java
@@ -1299,7 +1299,7 @@
// on background handler thread, and verified MANAGE_NETWORK_POLICY
// permission above.
- final NetworkTemplate template = intent.getParcelableExtra(EXTRA_NETWORK_TEMPLATE);
+ final NetworkTemplate template = intent.getParcelableExtra(EXTRA_NETWORK_TEMPLATE, android.net.NetworkTemplate.class);
if (ACTION_SNOOZE_WARNING.equals(intent.getAction())) {
performSnooze(template, TYPE_WARNING);
} else if (ACTION_SNOOZE_RAPID.equals(intent.getAction())) {
diff --git a/services/core/java/com/android/server/notification/CountdownConditionProvider.java b/services/core/java/com/android/server/notification/CountdownConditionProvider.java
index 4b70e2e..efca598 100644
--- a/services/core/java/com/android/server/notification/CountdownConditionProvider.java
+++ b/services/core/java/com/android/server/notification/CountdownConditionProvider.java
@@ -155,7 +155,7 @@
@Override
public void onReceive(Context context, Intent intent) {
if (ACTION.equals(intent.getAction())) {
- final Uri conditionId = intent.getParcelableExtra(EXTRA_CONDITION_ID);
+ final Uri conditionId = intent.getParcelableExtra(EXTRA_CONDITION_ID, android.net.Uri.class);
final boolean alarm = ZenModeConfig.isValidCountdownToAlarmConditionId(conditionId);
final long time = ZenModeConfig.tryParseCountdownConditionId(conditionId);
if (DEBUG) Slog.d(TAG, "Countdown condition fired: " + conditionId);
diff --git a/services/core/java/com/android/server/notification/NotificationRecord.java b/services/core/java/com/android/server/notification/NotificationRecord.java
index cbaf485..6dd0daa 100644
--- a/services/core/java/com/android/server/notification/NotificationRecord.java
+++ b/services/core/java/com/android/server/notification/NotificationRecord.java
@@ -682,7 +682,7 @@
if (signals.containsKey(Adjustment.KEY_SNOOZE_CRITERIA)) {
final ArrayList<SnoozeCriterion> snoozeCriterionList =
adjustment.getSignals().getParcelableArrayList(
- Adjustment.KEY_SNOOZE_CRITERIA);
+ Adjustment.KEY_SNOOZE_CRITERIA, android.service.notification.SnoozeCriterion.class);
setSnoozeCriteria(snoozeCriterionList);
EventLogTags.writeNotificationAdjusted(getKey(), Adjustment.KEY_SNOOZE_CRITERIA,
snoozeCriterionList.toString());
@@ -708,7 +708,7 @@
}
if (signals.containsKey(Adjustment.KEY_CONTEXTUAL_ACTIONS)) {
setSystemGeneratedSmartActions(
- signals.getParcelableArrayList(Adjustment.KEY_CONTEXTUAL_ACTIONS));
+ signals.getParcelableArrayList(Adjustment.KEY_CONTEXTUAL_ACTIONS, android.app.Notification.Action.class));
EventLogTags.writeNotificationAdjusted(getKey(),
Adjustment.KEY_CONTEXTUAL_ACTIONS,
getSystemGeneratedSmartActions().toString());
diff --git a/services/core/java/com/android/server/notification/NotificationRecordLogger.java b/services/core/java/com/android/server/notification/NotificationRecordLogger.java
index 9a89efa..2789bcf 100644
--- a/services/core/java/com/android/server/notification/NotificationRecordLogger.java
+++ b/services/core/java/com/android/server/notification/NotificationRecordLogger.java
@@ -399,7 +399,7 @@
private int getNumPeople(@Nullable Bundle extras) {
if (extras != null) {
ArrayList<Person> people = extras.getParcelableArrayList(
- Notification.EXTRA_PEOPLE_LIST);
+ Notification.EXTRA_PEOPLE_LIST, android.app.Person.class);
if (people != null && !people.isEmpty()) {
return people.size();
}
diff --git a/services/core/java/com/android/server/om/OverlayManagerService.java b/services/core/java/com/android/server/om/OverlayManagerService.java
index 0ba8d2c..7159673 100644
--- a/services/core/java/com/android/server/om/OverlayManagerService.java
+++ b/services/core/java/com/android/server/om/OverlayManagerService.java
@@ -942,7 +942,7 @@
final FabricatedOverlayInternal fabricated =
request.extras.getParcelable(
OverlayManagerTransaction.Request.BUNDLE_FABRICATED_OVERLAY
- );
+ , android.os.FabricatedOverlayInternal.class);
Objects.requireNonNull(fabricated,
"no fabricated overlay attached to request");
return mImpl.registerFabricatedOverlay(fabricated);
diff --git a/services/core/java/com/android/server/pm/InstantAppResolverConnection.java b/services/core/java/com/android/server/pm/InstantAppResolverConnection.java
index 4f75f04..b4c40e6 100644
--- a/services/core/java/com/android/server/pm/InstantAppResolverConnection.java
+++ b/services/core/java/com/android/server/pm/InstantAppResolverConnection.java
@@ -121,7 +121,7 @@
public void sendResult(Bundle data) throws RemoteException {
final ArrayList<InstantAppResolveInfo> resolveList =
data.getParcelableArrayList(
- InstantAppResolverService.EXTRA_RESOLVE_INFO);
+ InstantAppResolverService.EXTRA_RESOLVE_INFO, android.content.pm.InstantAppResolveInfo.class);
callbackHandler.post(() -> callback.onPhaseTwoResolved(resolveList, startTime));
}
};
@@ -343,7 +343,7 @@
public void sendResult(Bundle data) throws RemoteException {
final ArrayList<InstantAppResolveInfo> resolveList =
data.getParcelableArrayList(
- InstantAppResolverService.EXTRA_RESOLVE_INFO);
+ InstantAppResolverService.EXTRA_RESOLVE_INFO, android.content.pm.InstantAppResolveInfo.class);
int sequence =
data.getInt(InstantAppResolverService.EXTRA_SEQUENCE, -1);
onRemoteMethodResult(resolveList, sequence);
diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java
index 79e5dd2..b7a5f70 100644
--- a/services/core/java/com/android/server/pm/UserManagerService.java
+++ b/services/core/java/com/android/server/pm/UserManagerService.java
@@ -508,7 +508,7 @@
if (!ACTION_DISABLE_QUIET_MODE_AFTER_UNLOCK.equals(intent.getAction())) {
return;
}
- final IntentSender target = intent.getParcelableExtra(Intent.EXTRA_INTENT);
+ final IntentSender target = intent.getParcelableExtra(Intent.EXTRA_INTENT, android.content.IntentSender.class);
final int userId = intent.getIntExtra(Intent.EXTRA_USER_ID, UserHandle.USER_NULL);
// Call setQuietModeEnabled on bg thread to avoid ANR
BackgroundThread.getHandler().post(() ->
diff --git a/services/core/java/com/android/server/pm/pkg/parsing/ParsingPackageImpl.java b/services/core/java/com/android/server/pm/pkg/parsing/ParsingPackageImpl.java
index 67d9aec..6a4513d 100644
--- a/services/core/java/com/android/server/pm/pkg/parsing/ParsingPackageImpl.java
+++ b/services/core/java/com/android/server/pm/pkg/parsing/ParsingPackageImpl.java
@@ -1432,7 +1432,7 @@
this.processes = in.readHashMap(ParsedProcess.class.getClassLoader());
this.metaData = in.readBundle(boot);
this.volumeUuid = sForInternedString.unparcel(in);
- this.signingDetails = in.readParcelable(boot);
+ this.signingDetails = in.readParcelable(boot, android.content.pm.SigningDetails.class);
this.mPath = in.readString();
this.queriesIntents = in.createTypedArrayList(Intent.CREATOR);
this.queriesPackages = sForInternedStringList.unparcel(in);
diff --git a/services/core/java/com/android/server/pm/pkg/parsing/ParsingPackageUtils.java b/services/core/java/com/android/server/pm/pkg/parsing/ParsingPackageUtils.java
index 201ca9c..b60b9a0 100644
--- a/services/core/java/com/android/server/pm/pkg/parsing/ParsingPackageUtils.java
+++ b/services/core/java/com/android/server/pm/pkg/parsing/ParsingPackageUtils.java
@@ -3280,7 +3280,7 @@
ArraySet<PublicKey> keys = new ArraySet<>(M);
for (int j = 0; j < M; ++j) {
- PublicKey pk = (PublicKey) in.readSerializable();
+ PublicKey pk = (PublicKey) in.readSerializable(java.security.PublicKey.class.getClassLoader(), java.security.PublicKey.class);
keys.add(pk);
}
diff --git a/services/core/java/com/android/server/policy/GlobalKeyIntent.java b/services/core/java/com/android/server/policy/GlobalKeyIntent.java
index f8682be..3d34bee0 100644
--- a/services/core/java/com/android/server/policy/GlobalKeyIntent.java
+++ b/services/core/java/com/android/server/policy/GlobalKeyIntent.java
@@ -76,7 +76,7 @@
return null;
}
- final KeyEvent event = intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT);
+ final KeyEvent event = intent.getParcelableExtra(Intent.EXTRA_KEY_EVENT, android.view.KeyEvent.class);
final boolean fromNonInteractive =
intent.getBooleanExtra(EXTRA_BEGAN_FROM_NON_INTERACTIVE, false);
return new GlobalKeyIntent(intent.getComponent(), event, fromNonInteractive);
diff --git a/services/core/java/com/android/server/sensorprivacy/SensorPrivacyService.java b/services/core/java/com/android/server/sensorprivacy/SensorPrivacyService.java
index c354f11..c79bc89 100644
--- a/services/core/java/com/android/server/sensorprivacy/SensorPrivacyService.java
+++ b/services/core/java/com/android/server/sensorprivacy/SensorPrivacyService.java
@@ -282,7 +282,7 @@
public void onReceive(Context context, Intent intent) {
setToggleSensorPrivacy(
((UserHandle) intent.getParcelableExtra(
- Intent.EXTRA_USER)).getIdentifier(), OTHER,
+ Intent.EXTRA_USER, android.os.UserHandle.class)).getIdentifier(), OTHER,
intent.getIntExtra(EXTRA_SENSOR, UNKNOWN), false);
}
}, new IntentFilter(ACTION_DISABLE_TOGGLE_SENSOR_PRIVACY),
diff --git a/services/core/java/com/android/server/storage/CacheQuotaStrategy.java b/services/core/java/com/android/server/storage/CacheQuotaStrategy.java
index ff8b8d2..fc77ef1 100644
--- a/services/core/java/com/android/server/storage/CacheQuotaStrategy.java
+++ b/services/core/java/com/android/server/storage/CacheQuotaStrategy.java
@@ -207,7 +207,7 @@
public void onResult(Bundle data) {
final List<CacheQuotaHint> processedRequests =
data.getParcelableArrayList(
- CacheQuotaService.REQUEST_LIST_KEY);
+ CacheQuotaService.REQUEST_LIST_KEY, android.app.usage.CacheQuotaHint.class);
pushProcessedQuotas(processedRequests);
writeXmlToFile(processedRequests);
}
diff --git a/services/core/java/com/android/server/storage/StorageUserConnection.java b/services/core/java/com/android/server/storage/StorageUserConnection.java
index 0b11b0b..27ca83a 100644
--- a/services/core/java/com/android/server/storage/StorageUserConnection.java
+++ b/services/core/java/com/android/server/storage/StorageUserConnection.java
@@ -445,7 +445,7 @@
}
private void setResult(Bundle result, CompletableFuture<Void> future) {
- ParcelableException ex = result.getParcelable(EXTRA_ERROR);
+ ParcelableException ex = result.getParcelable(EXTRA_ERROR, android.os.ParcelableException.class);
if (ex != null) {
future.completeExceptionally(ex);
} else {
diff --git a/services/core/java/com/android/server/trust/TrustAgentWrapper.java b/services/core/java/com/android/server/trust/TrustAgentWrapper.java
index 4b8c7c1..0b1f6b9 100644
--- a/services/core/java/com/android/server/trust/TrustAgentWrapper.java
+++ b/services/core/java/com/android/server/trust/TrustAgentWrapper.java
@@ -132,7 +132,7 @@
private final BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
- ComponentName component = intent.getParcelableExtra(EXTRA_COMPONENT_NAME);
+ ComponentName component = intent.getParcelableExtra(EXTRA_COMPONENT_NAME, android.content.ComponentName.class);
if (TRUST_EXPIRED_ACTION.equals(intent.getAction())
&& mName.equals(component)) {
mHandler.removeMessages(MSG_TRUST_TIMEOUT);
diff --git a/services/core/java/com/android/server/vr/Vr2dDisplay.java b/services/core/java/com/android/server/vr/Vr2dDisplay.java
index 7697490..51c5a89 100644
--- a/services/core/java/com/android/server/vr/Vr2dDisplay.java
+++ b/services/core/java/com/android/server/vr/Vr2dDisplay.java
@@ -170,7 +170,7 @@
} else if (DEBUG_ACTION_SET_SURFACE.equals(action)) {
if (mVirtualDisplay != null) {
if (intent.hasExtra(DEBUG_EXTRA_SURFACE)) {
- setSurfaceLocked(intent.getParcelableExtra(DEBUG_EXTRA_SURFACE));
+ setSurfaceLocked(intent.getParcelableExtra(DEBUG_EXTRA_SURFACE, android.view.Surface.class));
}
} else {
Log.w(TAG, "Cannot set the surface because the VD is null.");
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
index cbd5743..7b7106f 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
@@ -18000,7 +18000,7 @@
Slogf.i(LOG_TAG, "Account removed from the primary user.");
} else {
// TODO(174768447): Revisit start activity logic.
- final Intent removeIntent = result.getParcelable(AccountManager.KEY_INTENT);
+ final Intent removeIntent = result.getParcelable(AccountManager.KEY_INTENT, android.content.Intent.class);
removeIntent.addFlags(FLAG_ACTIVITY_NEW_TASK);
if (removeIntent != null) {
Slogf.i(LOG_TAG, "Starting activity to remove account");
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/NetworkLoggingHandler.java b/services/devicepolicy/java/com/android/server/devicepolicy/NetworkLoggingHandler.java
index 84e89a0..06cbe78 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/NetworkLoggingHandler.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/NetworkLoggingHandler.java
@@ -134,7 +134,7 @@
public void handleMessage(Message msg) {
switch (msg.what) {
case LOG_NETWORK_EVENT_MSG: {
- final NetworkEvent networkEvent = msg.getData().getParcelable(NETWORK_EVENT_KEY);
+ final NetworkEvent networkEvent = msg.getData().getParcelable(NETWORK_EVENT_KEY, android.app.admin.NetworkEvent.class);
if (networkEvent != null) {
Bundle notificationExtras = null;
synchronized (NetworkLoggingHandler.this) {
diff --git a/services/midi/java/com/android/server/midi/MidiService.java b/services/midi/java/com/android/server/midi/MidiService.java
index 994a767..b519a782 100644
--- a/services/midi/java/com/android/server/midi/MidiService.java
+++ b/services/midi/java/com/android/server/midi/MidiService.java
@@ -365,7 +365,7 @@
mServiceInfo = serviceInfo;
mUid = uid;
mBluetoothDevice = (BluetoothDevice)deviceInfo.getProperties().getParcelable(
- MidiDeviceInfo.PROPERTY_BLUETOOTH_DEVICE);;
+ MidiDeviceInfo.PROPERTY_BLUETOOTH_DEVICE, android.bluetooth.BluetoothDevice.class);;
setDeviceServer(server);
}
@@ -745,7 +745,7 @@
Log.d(TAG, "BLE Device");
BluetoothDevice btDevice =
- intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
+ intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE, android.bluetooth.BluetoothDevice.class);
dumpUuids(btDevice);
// See if there are any service UUIDs and if so do any of them indicate a
@@ -764,7 +764,7 @@
{
Log.d(TAG, "ACTION_ACL_DISCONNECTED");
BluetoothDevice btDevice =
- intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
+ intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE, android.bluetooth.BluetoothDevice.class);
// We DO know at this point if we are disconnecting a MIDI device, so
// don't bother if we are not.
if (isBLEMIDIDevice(btDevice)) {
@@ -793,7 +793,7 @@
{
Log.d(TAG, "ACTION_UUID");
BluetoothDevice btDevice =
- intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
+ intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE, android.bluetooth.BluetoothDevice.class);
dumpUuids(btDevice);
if (isBLEMIDIDevice(btDevice)) {
Log.d(TAG, "BT MIDI DEVICE");
@@ -1165,7 +1165,7 @@
BluetoothDevice bluetoothDevice = null;
if (type == MidiDeviceInfo.TYPE_BLUETOOTH) {
bluetoothDevice = (BluetoothDevice)properties.getParcelable(
- MidiDeviceInfo.PROPERTY_BLUETOOTH_DEVICE);
+ MidiDeviceInfo.PROPERTY_BLUETOOTH_DEVICE, android.bluetooth.BluetoothDevice.class);
device = mBluetoothDevices.get(bluetoothDevice);
if (device != null) {
device.setDeviceInfo(deviceInfo);
diff --git a/services/people/java/com/android/server/people/prediction/ShareTargetPredictor.java b/services/people/java/com/android/server/people/prediction/ShareTargetPredictor.java
index 368b737..b620407 100644
--- a/services/people/java/com/android/server/people/prediction/ShareTargetPredictor.java
+++ b/services/people/java/com/android/server/people/prediction/ShareTargetPredictor.java
@@ -70,7 +70,7 @@
@UserIdInt int callingUserId, @NonNull Context context) {
super(predictionContext, updatePredictionsMethod, dataManager, callingUserId);
mIntentFilter = predictionContext.getExtras().getParcelable(
- ChooserActivity.APP_PREDICTION_INTENT_FILTER_KEY);
+ ChooserActivity.APP_PREDICTION_INTENT_FILTER_KEY, android.content.IntentFilter.class);
if (DeviceConfig.getBoolean(NAMESPACE_SYSTEMUI,
SystemUiDeviceConfigFlags.DARK_LAUNCH_REMOTE_PREDICTION_SERVICE_ENABLED,
false)) {
diff --git a/services/usb/java/com/android/server/usb/MtpNotificationManager.java b/services/usb/java/com/android/server/usb/MtpNotificationManager.java
index 8845f11..70bafc0 100644
--- a/services/usb/java/com/android/server/usb/MtpNotificationManager.java
+++ b/services/usb/java/com/android/server/usb/MtpNotificationManager.java
@@ -117,7 +117,7 @@
@Override
public void onReceive(Context context, Intent intent) {
final UsbDevice device =
- intent.getExtras().<UsbDevice>getParcelable(UsbManager.EXTRA_DEVICE);
+ intent.getExtras().<UsbDevice>getParcelable(UsbManager.EXTRA_DEVICE, android.hardware.usb.UsbDevice.class);
if (device == null) {
return;
}
diff --git a/services/usb/java/com/android/server/usb/UsbDeviceManager.java b/services/usb/java/com/android/server/usb/UsbDeviceManager.java
index 6ea416b..85b9f75 100644
--- a/services/usb/java/com/android/server/usb/UsbDeviceManager.java
+++ b/services/usb/java/com/android/server/usb/UsbDeviceManager.java
@@ -341,8 +341,8 @@
BroadcastReceiver portReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
- ParcelableUsbPort port = intent.getParcelableExtra(UsbManager.EXTRA_PORT);
- UsbPortStatus status = intent.getParcelableExtra(UsbManager.EXTRA_PORT_STATUS);
+ ParcelableUsbPort port = intent.getParcelableExtra(UsbManager.EXTRA_PORT, android.hardware.usb.ParcelableUsbPort.class);
+ UsbPortStatus status = intent.getParcelableExtra(UsbManager.EXTRA_PORT_STATUS, android.hardware.usb.UsbPortStatus.class);
mHandler.updateHostState(
port.getUsbPort(context.getSystemService(UsbManager.class)), status);
}
diff --git a/services/usb/java/com/android/server/usb/UsbPortManager.java b/services/usb/java/com/android/server/usb/UsbPortManager.java
index 5e633ab..f8df6c6 100644
--- a/services/usb/java/com/android/server/usb/UsbPortManager.java
+++ b/services/usb/java/com/android/server/usb/UsbPortManager.java
@@ -1156,7 +1156,7 @@
switch (msg.what) {
case MSG_UPDATE_PORTS: {
Bundle b = msg.getData();
- ArrayList<RawPortInfo> PortInfo = b.getParcelableArrayList(PORT_INFO);
+ ArrayList<RawPortInfo> PortInfo = b.getParcelableArrayList(PORT_INFO, com.android.server.usb.hal.port.RawPortInfo.class);
synchronized (mLock) {
updatePortsLocked(null, PortInfo);
}
diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionSessionConnection.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionSessionConnection.java
index a061618..093e976 100644
--- a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionSessionConnection.java
+++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionSessionConnection.java
@@ -399,8 +399,8 @@
final int taskId = data.getInt(ASSIST_TASK_ID);
final IBinder activityId = data.getBinder(ASSIST_ACTIVITY_ID);
final Bundle assistData = data.getBundle(ASSIST_KEY_DATA);
- final AssistStructure structure = data.getParcelable(ASSIST_KEY_STRUCTURE);
- final AssistContent content = data.getParcelable(ASSIST_KEY_CONTENT);
+ final AssistStructure structure = data.getParcelable(ASSIST_KEY_STRUCTURE, android.app.assist.AssistStructure.class);
+ final AssistContent content = data.getParcelable(ASSIST_KEY_CONTENT, android.app.assist.AssistContent.class);
int uid = -1;
if (assistData != null) {
uid = assistData.getInt(Intent.EXTRA_ASSIST_UID, -1);
diff --git a/telecomm/java/android/telecom/ConnectionService.java b/telecomm/java/android/telecom/ConnectionService.java
index bce6809..f341bc2 100755
--- a/telecomm/java/android/telecom/ConnectionService.java
+++ b/telecomm/java/android/telecom/ConnectionService.java
@@ -2044,7 +2044,7 @@
if (isHandover) {
PhoneAccountHandle fromPhoneAccountHandle = request.getExtras() != null
? (PhoneAccountHandle) request.getExtras().getParcelable(
- TelecomManager.EXTRA_HANDOVER_FROM_PHONE_ACCOUNT) : null;
+ TelecomManager.EXTRA_HANDOVER_FROM_PHONE_ACCOUNT, android.telecom.PhoneAccountHandle.class) : null;
if (!isIncoming) {
connection = onCreateOutgoingHandoverConnection(fromPhoneAccountHandle, request);
} else {
diff --git a/telephony/java/android/telephony/ServiceState.java b/telephony/java/android/telephony/ServiceState.java
index 6fe9bf9..bfa60ba 100644
--- a/telephony/java/android/telephony/ServiceState.java
+++ b/telephony/java/android/telephony/ServiceState.java
@@ -1445,7 +1445,7 @@
*/
@UnsupportedAppUsage
private void setFromNotifierBundle(Bundle m) {
- ServiceState ssFromBundle = m.getParcelable(EXTRA_SERVICE_STATE);
+ ServiceState ssFromBundle = m.getParcelable(EXTRA_SERVICE_STATE, android.telephony.ServiceState.class);
if (ssFromBundle != null) {
copyFrom(ssFromBundle);
}
diff --git a/telephony/java/android/telephony/SignalStrength.java b/telephony/java/android/telephony/SignalStrength.java
index f74ef0f..f1af68f 100644
--- a/telephony/java/android/telephony/SignalStrength.java
+++ b/telephony/java/android/telephony/SignalStrength.java
@@ -906,12 +906,12 @@
@Deprecated
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P)
private void setFromNotifierBundle(Bundle m) {
- mCdma = m.getParcelable("Cdma");
- mGsm = m.getParcelable("Gsm");
- mWcdma = m.getParcelable("Wcdma");
- mTdscdma = m.getParcelable("Tdscdma");
- mLte = m.getParcelable("Lte");
- mNr = m.getParcelable("Nr");
+ mCdma = m.getParcelable("Cdma", android.telephony.CellSignalStrengthCdma.class);
+ mGsm = m.getParcelable("Gsm", android.telephony.CellSignalStrengthGsm.class);
+ mWcdma = m.getParcelable("Wcdma", android.telephony.CellSignalStrengthWcdma.class);
+ mTdscdma = m.getParcelable("Tdscdma", android.telephony.CellSignalStrengthTdscdma.class);
+ mLte = m.getParcelable("Lte", android.telephony.CellSignalStrengthLte.class);
+ mNr = m.getParcelable("Nr", android.telephony.CellSignalStrengthNr.class);
}
/**
diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java
index 432d087..24374ee 100644
--- a/telephony/java/android/telephony/TelephonyManager.java
+++ b/telephony/java/android/telephony/TelephonyManager.java
@@ -4867,7 +4867,7 @@
return;
}
ParcelUuid resultUuid =
- result.getParcelable(KEY_CALL_COMPOSER_PICTURE_HANDLE);
+ result.getParcelable(KEY_CALL_COMPOSER_PICTURE_HANDLE, android.os.ParcelUuid.class);
if (resultUuid == null) {
Log.e(TAG, "Got null uuid without an error"
+ " while uploading call composer pic");
@@ -10375,7 +10375,7 @@
protected void onReceiveResult(int resultCode, Bundle ussdResponse) {
Rlog.d(TAG, "USSD:" + resultCode);
checkNotNull(ussdResponse, "ussdResponse cannot be null.");
- UssdResponse response = ussdResponse.getParcelable(USSD_RESPONSE);
+ UssdResponse response = ussdResponse.getParcelable(USSD_RESPONSE, android.telephony.UssdResponse.class);
if (resultCode == USSD_RETURN_SUCCESS) {
callback.onReceiveUssdResponse(telephonyManager, response.getUssdRequest(),
@@ -16867,7 +16867,7 @@
}
NetworkSlicingConfig slicingConfig =
- result.getParcelable(KEY_SLICING_CONFIG_HANDLE);
+ result.getParcelable(KEY_SLICING_CONFIG_HANDLE, android.telephony.data.NetworkSlicingConfig.class);
executor.execute(() -> callback.onResult(slicingConfig));
}
});
diff --git a/telephony/java/android/telephony/VisualVoicemailService.java b/telephony/java/android/telephony/VisualVoicemailService.java
index fe30eb7..a530917 100644
--- a/telephony/java/android/telephony/VisualVoicemailService.java
+++ b/telephony/java/android/telephony/VisualVoicemailService.java
@@ -157,14 +157,14 @@
@Override
public void handleMessage(final Message msg) {
final PhoneAccountHandle handle = msg.getData()
- .getParcelable(DATA_PHONE_ACCOUNT_HANDLE);
+ .getParcelable(DATA_PHONE_ACCOUNT_HANDLE, android.telecom.PhoneAccountHandle.class);
VisualVoicemailTask task = new VisualVoicemailTask(msg.replyTo, msg.arg1);
switch (msg.what) {
case MSG_ON_CELL_SERVICE_CONNECTED:
onCellServiceConnected(task, handle);
break;
case MSG_ON_SMS_RECEIVED:
- VisualVoicemailSms sms = msg.getData().getParcelable(DATA_SMS);
+ VisualVoicemailSms sms = msg.getData().getParcelable(DATA_SMS, android.telephony.VisualVoicemailSms.class);
onSmsReceived(task, sms);
break;
case MSG_ON_SIM_REMOVED:
diff --git a/telephony/java/android/telephony/euicc/EuiccManager.java b/telephony/java/android/telephony/euicc/EuiccManager.java
index 1252dc1..7d63688 100644
--- a/telephony/java/android/telephony/euicc/EuiccManager.java
+++ b/telephony/java/android/telephony/euicc/EuiccManager.java
@@ -1001,7 +1001,7 @@
public void startResolutionActivity(Activity activity, int requestCode, Intent resultIntent,
PendingIntent callbackIntent) throws IntentSender.SendIntentException {
PendingIntent resolutionIntent =
- resultIntent.getParcelableExtra(EXTRA_EMBEDDED_SUBSCRIPTION_RESOLUTION_INTENT);
+ resultIntent.getParcelableExtra(EXTRA_EMBEDDED_SUBSCRIPTION_RESOLUTION_INTENT, android.app.PendingIntent.class);
if (resolutionIntent == null) {
throw new IllegalArgumentException("Invalid result intent");
}
@@ -1032,7 +1032,7 @@
if (!isEnabled()) {
PendingIntent callbackIntent =
resolutionIntent.getParcelableExtra(
- EuiccManager.EXTRA_EMBEDDED_SUBSCRIPTION_RESOLUTION_CALLBACK_INTENT);
+ EuiccManager.EXTRA_EMBEDDED_SUBSCRIPTION_RESOLUTION_CALLBACK_INTENT, android.app.PendingIntent.class);
if (callbackIntent != null) {
sendUnavailableError(callbackIntent);
}
diff --git a/telephony/java/android/telephony/mbms/MbmsDownloadReceiver.java b/telephony/java/android/telephony/mbms/MbmsDownloadReceiver.java
index dd1061f..556d6f4 100644
--- a/telephony/java/android/telephony/mbms/MbmsDownloadReceiver.java
+++ b/telephony/java/android/telephony/mbms/MbmsDownloadReceiver.java
@@ -195,7 +195,7 @@
return false;
}
DownloadRequest request = intent.getParcelableExtra(
- MbmsDownloadSession.EXTRA_MBMS_DOWNLOAD_REQUEST);
+ MbmsDownloadSession.EXTRA_MBMS_DOWNLOAD_REQUEST, android.telephony.mbms.DownloadRequest.class);
String expectedTokenFileName = request.getHash() + DOWNLOAD_TOKEN_SUFFIX;
File expectedTokenFile = new File(
MbmsUtils.getEmbmsTempFileDirForService(context, request.getFileServiceId()),
@@ -236,7 +236,7 @@
private void moveDownloadedFile(Context context, Intent intent) {
DownloadRequest request = intent.getParcelableExtra(
- MbmsDownloadSession.EXTRA_MBMS_DOWNLOAD_REQUEST);
+ MbmsDownloadSession.EXTRA_MBMS_DOWNLOAD_REQUEST, android.telephony.mbms.DownloadRequest.class);
Intent intentForApp = request.getIntentForApp();
if (intentForApp == null) {
Log.i(LOG_TAG, "Malformed app notification intent");
@@ -256,7 +256,7 @@
return;
}
- Uri finalTempFile = intent.getParcelableExtra(VendorUtils.EXTRA_FINAL_URI);
+ Uri finalTempFile = intent.getParcelableExtra(VendorUtils.EXTRA_FINAL_URI, android.net.Uri.class);
if (!verifyTempFilePath(context, request.getFileServiceId(), finalTempFile)) {
Log.w(LOG_TAG, "Download result specified an invalid temp file " + finalTempFile);
setResultCode(RESULT_DOWNLOAD_FINALIZATION_ERROR);
@@ -264,7 +264,7 @@
}
FileInfo completedFileInfo =
- (FileInfo) intent.getParcelableExtra(MbmsDownloadSession.EXTRA_MBMS_FILE_INFO);
+ (FileInfo) intent.getParcelableExtra(MbmsDownloadSession.EXTRA_MBMS_FILE_INFO, android.telephony.mbms.FileInfo.class);
Path appSpecifiedDestination = FileSystems.getDefault().getPath(
request.getDestinationUri().getPath());
@@ -288,13 +288,13 @@
private void cleanupPostMove(Context context, Intent intent) {
DownloadRequest request = intent.getParcelableExtra(
- MbmsDownloadSession.EXTRA_MBMS_DOWNLOAD_REQUEST);
+ MbmsDownloadSession.EXTRA_MBMS_DOWNLOAD_REQUEST, android.telephony.mbms.DownloadRequest.class);
if (request == null) {
Log.w(LOG_TAG, "Intent does not include a DownloadRequest. Ignoring.");
return;
}
- List<Uri> tempFiles = intent.getParcelableArrayListExtra(VendorUtils.EXTRA_TEMP_LIST);
+ List<Uri> tempFiles = intent.getParcelableArrayListExtra(VendorUtils.EXTRA_TEMP_LIST, android.net.Uri.class);
if (tempFiles == null) {
return;
}
@@ -318,7 +318,7 @@
return;
}
int fdCount = intent.getIntExtra(VendorUtils.EXTRA_FD_COUNT, 0);
- List<Uri> pausedList = intent.getParcelableArrayListExtra(VendorUtils.EXTRA_PAUSED_LIST);
+ List<Uri> pausedList = intent.getParcelableArrayListExtra(VendorUtils.EXTRA_PAUSED_LIST, android.net.Uri.class);
if (fdCount == 0 && (pausedList == null || pausedList.size() == 0)) {
Log.i(LOG_TAG, "No temp files actually requested. Ending.");
@@ -417,7 +417,7 @@
String serviceId = intent.getStringExtra(VendorUtils.EXTRA_SERVICE_ID);
File tempFileDir = MbmsUtils.getEmbmsTempFileDirForService(context, serviceId);
final List<Uri> filesInUse =
- intent.getParcelableArrayListExtra(VendorUtils.EXTRA_TEMP_FILES_IN_USE);
+ intent.getParcelableArrayListExtra(VendorUtils.EXTRA_TEMP_FILES_IN_USE, android.net.Uri.class);
File[] filesToDelete = tempFileDir.listFiles(new FileFilter() {
@Override
public boolean accept(File file) {