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

Commit 294d7f99 authored by Annie Chin's avatar Annie Chin
Browse files

Fix hint in AlarmActivity.

Hint is now shown in accessibility mode.

Change-Id: I62e4c060fc3cc419fbc668203223a95502e05cbc
parent c4b8a324
Loading
Loading
Loading
Loading
+26 −12
Original line number Diff line number Diff line
@@ -337,12 +337,11 @@ public class AlarmActivity extends AppCompatActivity
            return;
        }

        final int alarmLeft = mAlarmButton.getLeft() + mAlarmButton.getPaddingLeft();
        final int alarmRight = mAlarmButton.getRight() - mAlarmButton.getPaddingRight();
        final float translationX = Math.max(view.getLeft() - alarmRight, 0)
                + Math.min(view.getRight() - alarmLeft, 0);
        getAlarmBounceAnimator(translationX, translationX < 0.0f ?
                R.string.description_direction_left : R.string.description_direction_right).start();
        if (view == mSnoozeButton) {
            hintSnooze();
        } else if (view == mDismissButton) {
            hintDismiss();
        }
    }

    @Override
@@ -389,12 +388,9 @@ public class AlarmActivity extends AppCompatActivity
                    if (snoozeFraction > 0.0f || dismissFraction > 0.0f) {
                        // Animate back to the initial state.
                        AnimatorUtils.reverse(mAlarmAnimator, mSnoozeAnimator, mDismissAnimator);
                    } else if (mAlarmButton.getTop() <= y && y <= mAlarmButton.getBottom()
                            && mAccessibilityManager == null) {
                        // User touched the alarm button, hint the dismiss action unless in
                        // accessibility mode. In accessibility mode, the click on the dismiss
                        // button triggers dismiss().
                        mDismissButton.performClick();
                    } else if (mAlarmButton.getTop() <= y && y <= mAlarmButton.getBottom()) {
                        // User touched the alarm button, hint the dismiss action
                        hintDismiss();
                    }

                    // Restart the pulse.
@@ -420,6 +416,24 @@ public class AlarmActivity extends AppCompatActivity
        }
    }

    private void hintSnooze() {
        final int alarmLeft = mAlarmButton.getLeft() + mAlarmButton.getPaddingLeft();
        final int alarmRight = mAlarmButton.getRight() - mAlarmButton.getPaddingRight();
        final float translationX = Math.max(mSnoozeButton.getLeft() - alarmRight, 0)
                + Math.min(mSnoozeButton.getRight() - alarmLeft, 0);
        getAlarmBounceAnimator(translationX, translationX < 0.0f ?
                R.string.description_direction_left : R.string.description_direction_right).start();
    }

    private void hintDismiss() {
        final int alarmLeft = mAlarmButton.getLeft() + mAlarmButton.getPaddingLeft();
        final int alarmRight = mAlarmButton.getRight() - mAlarmButton.getPaddingRight();
        final float translationX = Math.max(mDismissButton.getLeft() - alarmRight, 0)
                + Math.min(mDismissButton.getRight() - alarmLeft, 0);
        getAlarmBounceAnimator(translationX, translationX < 0.0f ?
                R.string.description_direction_left : R.string.description_direction_right).start();
    }

    /**
     * Perform snooze animation and send snooze intent.
     */