Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2912adc6 authored by Andrey Epin's avatar Andrey Epin
Browse files

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
parent efff8e9f
Loading
Loading
Loading
Loading
+14 −7
Original line number Diff line number Diff line
@@ -2939,12 +2939,14 @@ public class ChooserActivity extends ResolverActivity implements

    private void startFinishAnimation() {
        View rootView = findRootView();
        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() {
            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();
            Activity activity = mActivity;
            cleanup();
            if (activity != null) {
                activity.finish();
            }
        }