summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorAndrey Epin <ayepin@google.com>2022-09-12 11:08:38 -0700
committerAndrey Epin <ayepin@google.com>2022-09-12 11:08:38 -0700
commit2912adc6dd1cd514da44ab0024e8053e7f01d0ec (patch)
tree608d2a7f6f7b4802c437b8c94aec46d64aa08204 /core/java
parentefff8e9f030c46aa7256603eb25f3416765fd6b8 (diff)
Add null-safety checks
Add nullability annotations and checks to avoid NPE crashes. Test: manual Chooser-to-Markup transition test Fix: 246345027 Change-Id: If9582047de7d943e39c5f318050ab3558f062932
Diffstat (limited to 'core/java')
-rw-r--r--core/java/com/android/internal/app/ChooserActivity.java21
1 files changed, 14 insertions, 7 deletions
diff --git a/core/java/com/android/internal/app/ChooserActivity.java b/core/java/com/android/internal/app/ChooserActivity.java
index a66b405844b8..41d80ae6f945 100644
--- a/core/java/com/android/internal/app/ChooserActivity.java
+++ b/core/java/com/android/internal/app/ChooserActivity.java
@@ -2939,12 +2939,14 @@ public class ChooserActivity extends ResolverActivity implements
private void startFinishAnimation() {
View rootView = findRootView();
- rootView.startAnimation(new FinishAnimation(this, rootView));
+ if (rootView != null) {
+ rootView.startAnimation(new FinishAnimation(this, rootView));
+ }
}
private boolean maybeCancelFinishAnimation() {
View rootView = findRootView();
- Animation animation = rootView.getAnimation();
+ Animation animation = rootView == null ? null : rootView.getAnimation();
if (animation instanceof FinishAnimation) {
boolean hasEnded = animation.hasEnded();
animation.cancel();
@@ -4071,11 +4073,13 @@ public class ChooserActivity extends ResolverActivity implements
*/
private static class FinishAnimation extends AlphaAnimation implements
Animation.AnimationListener {
+ @Nullable
private Activity mActivity;
+ @Nullable
private View mRootView;
private final float mFromAlpha;
- FinishAnimation(Activity activity, View rootView) {
+ FinishAnimation(@NonNull Activity activity, @NonNull View rootView) {
super(rootView.getAlpha(), 0.0f);
mActivity = activity;
mRootView = rootView;
@@ -4099,7 +4103,9 @@ public class ChooserActivity extends ResolverActivity implements
@Override
public void cancel() {
- mRootView.setAlpha(mFromAlpha);
+ if (mRootView != null) {
+ mRootView.setAlpha(mFromAlpha);
+ }
cleanup();
super.cancel();
}
@@ -4110,9 +4116,10 @@ public class ChooserActivity extends ResolverActivity implements
@Override
public void onAnimationEnd(Animation animation) {
- if (mActivity != null) {
- mActivity.finish();
- cleanup();
+ Activity activity = mActivity;
+ cleanup();
+ if (activity != null) {
+ activity.finish();
}
}