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

Commit a96203ef authored by Danny Baumann's avatar Danny Baumann
Browse files

Fix haptic feedback for pattern length of 1.

parent 94cd3e4c
Loading
Loading
Loading
Loading
+16 −9
Original line number Diff line number Diff line
@@ -165,10 +165,7 @@ public abstract class PowerButton {

    private View.OnClickListener mClickListener = new View.OnClickListener() {
        public void onClick(View v) {
            if (mHapticFeedback && mClickPattern != null) {
                mVibrator.vibrate(mClickPattern, -1);
            }

            provideHapticFeedback(mClickPattern);
            toggleState(v.getContext());
            update(v.getContext());

@@ -182,17 +179,27 @@ public abstract class PowerButton {
        public boolean onLongClick(View v) {
            boolean result = handleLongClick(v.getContext());

            if (result && mHapticFeedback && mLongClickPattern != null) {
                mVibrator.vibrate(mLongClickPattern, -1);
            }

            if (result && mExternalLongClickListener != null) {
            if (result) {
                provideHapticFeedback(mLongClickPattern);
                if (mExternalLongClickListener != null) {
                    mExternalLongClickListener.onLongClick(v);
                }
            }

            return result;
        }
    };

    private void provideHapticFeedback(long[] pattern) {
        if (mHapticFeedback && pattern != null) {
            if (pattern.length == 1) {
                mVibrator.vibrate(pattern[0]);
            } else {
                mVibrator.vibrate(pattern, -1);
            }
        }
    }

    void setExternalClickListener(View.OnClickListener listener) {
        mExternalClickListener = listener;
    }