Add nullability annotations to state save/restoration
Bug: 110513685
Test: none
Change-Id: I570f0c5430ca29972d542e523a6d83ab567b4ed1
diff --git a/core/java/android/app/Activity.java b/core/java/android/app/Activity.java
index 6bac52d..6638dd9 100644
--- a/core/java/android/app/Activity.java
+++ b/core/java/android/app/Activity.java
@@ -1086,7 +1086,7 @@
*
* @param savedInstanceState contains the saved state
*/
- final void performRestoreInstanceState(Bundle savedInstanceState) {
+ final void performRestoreInstanceState(@NonNull Bundle savedInstanceState) {
onRestoreInstanceState(savedInstanceState);
restoreManagedDialogs(savedInstanceState);
}
@@ -1100,8 +1100,8 @@
* @param savedInstanceState contains the saved state
* @param persistentState contains the persistable saved state
*/
- final void performRestoreInstanceState(Bundle savedInstanceState,
- PersistableBundle persistentState) {
+ final void performRestoreInstanceState(@Nullable Bundle savedInstanceState,
+ @Nullable PersistableBundle persistentState) {
onRestoreInstanceState(savedInstanceState, persistentState);
if (savedInstanceState != null) {
restoreManagedDialogs(savedInstanceState);
@@ -1128,7 +1128,7 @@
* @see #onResume
* @see #onSaveInstanceState
*/
- protected void onRestoreInstanceState(Bundle savedInstanceState) {
+ protected void onRestoreInstanceState(@NonNull Bundle savedInstanceState) {
if (mWindow != null) {
Bundle windowState = savedInstanceState.getBundle(WINDOW_HIERARCHY_TAG);
if (windowState != null) {
@@ -1149,8 +1149,12 @@
*
* <p>If this method is called {@link #onRestoreInstanceState(Bundle)} will not be called.
*
- * @param savedInstanceState the data most recently supplied in {@link #onSaveInstanceState}.
- * @param persistentState the data most recently supplied in {@link #onSaveInstanceState}.
+ * <p>At least one of {@code savedInstanceState} or {@code persistentState} will not be null.
+ *
+ * @param savedInstanceState the data most recently supplied in {@link #onSaveInstanceState}
+ * or null.
+ * @param persistentState the data most recently supplied in {@link #onSaveInstanceState}
+ * or null.
*
* @see #onRestoreInstanceState(Bundle)
* @see #onCreate
@@ -1158,8 +1162,8 @@
* @see #onResume
* @see #onSaveInstanceState
*/
- public void onRestoreInstanceState(Bundle savedInstanceState,
- PersistableBundle persistentState) {
+ public void onRestoreInstanceState(@Nullable Bundle savedInstanceState,
+ @Nullable PersistableBundle persistentState) {
if (savedInstanceState != null) {
onRestoreInstanceState(savedInstanceState);
}
@@ -1545,7 +1549,7 @@
*
* @param outState The bundle to save the state to.
*/
- final void performSaveInstanceState(Bundle outState) {
+ final void performSaveInstanceState(@NonNull Bundle outState) {
onSaveInstanceState(outState);
saveManagedDialogs(outState);
mActivityTransitionState.saveState(outState);
@@ -1562,7 +1566,8 @@
* @param outState The bundle to save the state to.
* @param outPersistentState The bundle to save persistent state to.
*/
- final void performSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
+ final void performSaveInstanceState(@NonNull Bundle outState,
+ @NonNull PersistableBundle outPersistentState) {
onSaveInstanceState(outState, outPersistentState);
saveManagedDialogs(outState);
storeHasCurrentPermissionRequest(outState);
@@ -1618,7 +1623,7 @@
* @see #onRestoreInstanceState
* @see #onPause
*/
- protected void onSaveInstanceState(Bundle outState) {
+ protected void onSaveInstanceState(@NonNull Bundle outState) {
outState.putBundle(WINDOW_HIERARCHY_TAG, mWindow.saveHierarchyState());
outState.putInt(LAST_AUTOFILL_ID, mLastAutofillId);
@@ -1648,7 +1653,8 @@
* @see #onRestoreInstanceState(Bundle, PersistableBundle)
* @see #onPause
*/
- public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
+ public void onSaveInstanceState(@NonNull Bundle outState,
+ @NonNull PersistableBundle outPersistentState) {
onSaveInstanceState(outState);
}
diff --git a/core/java/android/app/Instrumentation.java b/core/java/android/app/Instrumentation.java
index 34be41b6..d9969a7 100644
--- a/core/java/android/app/Instrumentation.java
+++ b/core/java/android/app/Instrumentation.java
@@ -1313,7 +1313,8 @@
* @param activity The activity being restored.
* @param savedInstanceState The previously saved state being restored.
*/
- public void callActivityOnRestoreInstanceState(Activity activity, Bundle savedInstanceState) {
+ public void callActivityOnRestoreInstanceState(@NonNull Activity activity,
+ @NonNull Bundle savedInstanceState) {
activity.performRestoreInstanceState(savedInstanceState);
}
@@ -1322,11 +1323,12 @@
* method. The default implementation simply calls through to that method.
*
* @param activity The activity being restored.
- * @param savedInstanceState The previously saved state being restored.
+ * @param savedInstanceState The previously saved state being restored (or null).
* @param persistentState The previously persisted state (or null)
*/
- public void callActivityOnRestoreInstanceState(Activity activity, Bundle savedInstanceState,
- PersistableBundle persistentState) {
+ public void callActivityOnRestoreInstanceState(@NonNull Activity activity,
+ @Nullable Bundle savedInstanceState,
+ @Nullable PersistableBundle persistentState) {
activity.performRestoreInstanceState(savedInstanceState, persistentState);
}
@@ -1335,11 +1337,12 @@
* The default implementation simply calls through to that method.
*
* @param activity The activity being created.
- * @param icicle The previously frozen state (or null) to pass through to
+ * @param savedInstanceState The previously saved state (or null) to pass through to
* onPostCreate().
*/
- public void callActivityOnPostCreate(Activity activity, Bundle icicle) {
- activity.onPostCreate(icicle);
+ public void callActivityOnPostCreate(@NonNull Activity activity,
+ @Nullable Bundle savedInstanceState) {
+ activity.onPostCreate(savedInstanceState);
}
/**
@@ -1347,12 +1350,14 @@
* The default implementation simply calls through to that method.
*
* @param activity The activity being created.
- * @param icicle The previously frozen state (or null) to pass through to
+ * @param savedInstanceState The previously frozen state (or null) to pass through to
* onPostCreate().
+ * @param persistentState The previously persisted state (or null)
*/
- public void callActivityOnPostCreate(Activity activity, Bundle icicle,
- PersistableBundle persistentState) {
- activity.onPostCreate(icicle, persistentState);
+ public void callActivityOnPostCreate(@NonNull Activity activity,
+ @Nullable Bundle savedInstanceState,
+ @Nullable PersistableBundle persistentState) {
+ activity.onPostCreate(savedInstanceState, persistentState);
}
/**
@@ -1439,7 +1444,8 @@
* @param activity The activity being saved.
* @param outState The bundle to pass to the call.
*/
- public void callActivityOnSaveInstanceState(Activity activity, Bundle outState) {
+ public void callActivityOnSaveInstanceState(@NonNull Activity activity,
+ @NonNull Bundle outState) {
activity.performSaveInstanceState(outState);
}
@@ -1450,8 +1456,8 @@
* @param outState The bundle to pass to the call.
* @param outPersistentState The persistent bundle to pass to the call.
*/
- public void callActivityOnSaveInstanceState(Activity activity, Bundle outState,
- PersistableBundle outPersistentState) {
+ public void callActivityOnSaveInstanceState(@NonNull Activity activity,
+ @NonNull Bundle outState, @NonNull PersistableBundle outPersistentState) {
activity.performSaveInstanceState(outState, outPersistentState);
}