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
This commit is contained in:
Andrey Epin
2022-09-12 11:08:38 -07:00
parent efff8e9f03
commit 2912adc6dd

View File

@@ -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();
}
}