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

Commit bc1870e9 authored by Sam Blitzstein's avatar Sam Blitzstein
Browse files

Check if ViewTreeObserver is alive before acting on it.

Bug: 10777347
Change-Id: Idc7c5bd1aa8fcc0a9851000fca448d6557e87715
parent 3be85a94
Loading
Loading
Loading
Loading
+12 −6
Original line number Diff line number Diff line
@@ -844,9 +844,10 @@ public class AlarmClockFragment extends DeskClockFragment implements

                @Override
                public boolean onPreDraw() {

                    // Remove the pre-draw listener, as this only needs to occur once.
                    if (observer.isAlive()) {
                        observer.removeOnPreDrawListener(this);
                    }
                    boolean firstAnimation = true;
                    int firstVisiblePosition = list.getFirstVisiblePosition();

@@ -1376,7 +1377,9 @@ public class AlarmClockFragment extends DeskClockFragment implements
                    @Override
                    public boolean onPreDraw() {
                        // We don't want to continue getting called for every listview drawing.
                        if (observer.isAlive()) {
                            observer.removeOnPreDrawListener(this);
                        }
                        int hairlineHeight = itemHolder.hairLine.getHeight();
                        int collapseHeight =
                                itemHolder.collapseExpandArea.getHeight() - hairlineHeight;
@@ -1402,8 +1405,9 @@ public class AlarmClockFragment extends DeskClockFragment implements
                @Override
                public boolean onPreDraw() {
                    // We don't want to continue getting called for every listview drawing.
                    if (observer.isAlive()) {
                        observer.removeOnPreDrawListener(this);

                    }
                    // Calculate some values to help with the animation.
                    final int endingHeight = itemHolder.alarmItem.getHeight();
                    final int distance = endingHeight - startingHeight;
@@ -1506,7 +1510,9 @@ public class AlarmClockFragment extends DeskClockFragment implements
            observer.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
                @Override
                public boolean onPreDraw() {
                    if (observer.isAlive()) {
                        observer.removeOnPreDrawListener(this);
                    }

                    // Calculate some values to help with the animation.
                    final int endingHeight = itemHolder.alarmItem.getHeight();