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

Commit 8979aa47 authored by m0viefreak's avatar m0viefreak
Browse files

vibrate on touch instead of release, makes dialpad feel more responsive

Change-Id: Ifea1424306d23b70e90f35790fff3be6c0e13e78
parent fc816828
Loading
Loading
Loading
Loading
+27 −4
Original line number Diff line number Diff line
@@ -56,6 +56,7 @@ import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewConfiguration;
import android.view.ViewGroup;
@@ -85,6 +86,7 @@ import android.widget.ImageButton;
@SuppressWarnings("deprecation")
public class TwelveKeyDialer extends Activity implements View.OnClickListener,
        View.OnLongClickListener, View.OnKeyListener,
        View.OnTouchListener,
        AdapterView.OnItemClickListener, TextWatcher {
    private static final String EMPTY_NUMBER = "";
    private static final String TAG = "TwelveKeyDialer";
@@ -252,6 +254,7 @@ public class TwelveKeyDialer extends Activity implements View.OnClickListener,

        if (r.getBoolean(R.bool.config_show_onscreen_dial_button)) {
            mDialButton.setOnClickListener(this);
            mDialButton.setOnTouchListener(this);
        } else {
            mDialButton.setVisibility(View.GONE); // It's VISIBLE by default
            mDialButton = null;
@@ -259,6 +262,7 @@ public class TwelveKeyDialer extends Activity implements View.OnClickListener,

        View view = mVoicemailDialAndDeleteRow.findViewById(R.id.deleteButton);
        view.setOnClickListener(this);
        view.setOnTouchListener(this);
        view.setOnLongClickListener(this);
        mDelete = view;

@@ -416,6 +420,7 @@ public class TwelveKeyDialer extends Activity implements View.OnClickListener,
            return;

        digitOne.setOnClickListener(this);
        digitOne.setOnTouchListener(this);
        digitOne.setOnLongClickListener(this);

        mHasVoicemail = hasVoicemail();
@@ -439,11 +444,23 @@ public class TwelveKeyDialer extends Activity implements View.OnClickListener,
            findViewById(R.id.nine).setOnClickListener(this);
            findViewById(R.id.star).setOnClickListener(this);

            findViewById(R.id.two).setOnTouchListener(this);
            findViewById(R.id.three).setOnTouchListener(this);
            findViewById(R.id.four).setOnTouchListener(this);
            findViewById(R.id.five).setOnTouchListener(this);
            findViewById(R.id.six).setOnTouchListener(this);
            findViewById(R.id.seven).setOnTouchListener(this);
            findViewById(R.id.eight).setOnTouchListener(this);
            findViewById(R.id.nine).setOnTouchListener(this);
            findViewById(R.id.star).setOnTouchListener(this);

            View view = findViewById(R.id.zero);
            view.setOnClickListener(this);
            view.setOnTouchListener(this);
            view.setOnLongClickListener(this);

            findViewById(R.id.pound).setOnClickListener(this);
            findViewById(R.id.pound).setOnTouchListener(this);
        }
    }

@@ -707,7 +724,6 @@ public class TwelveKeyDialer extends Activity implements View.OnClickListener,
    }

    private void keyPressed(int keyCode) {
        vibrate();
        KeyEvent event = new KeyEvent(KeyEvent.ACTION_DOWN, keyCode);
        mDigits.onKeyDown(keyCode, event);
    }
@@ -792,8 +808,6 @@ public class TwelveKeyDialer extends Activity implements View.OnClickListener,
                break;
            }
            case R.id.dialButton: {
                // Vibrate here too, just like we do for the regular keys
                vibrate();
                // Call dialButtonPressed() regardless if there is something
                // entered or not.
                // dialButtonPressed() will handle all combinations
@@ -823,7 +837,6 @@ public class TwelveKeyDialer extends Activity implements View.OnClickListener,
            	else if (ePrefs.getString("vm_button", "0").equals("2")) {
            		callVoicemail();
            	}
            	vibrate();
            	break;
            }
        }
@@ -832,6 +845,15 @@ public class TwelveKeyDialer extends Activity implements View.OnClickListener,
        checkForNumber();
    }

    @Override
    public boolean onTouch(View view, MotionEvent event) {
        if (event.getAction() == MotionEvent.ACTION_DOWN) {
            vibrate();
        }
        // always return false, so onClick() is still launched afterwards
        return false;
    }

    public boolean onLongClick(View view) {
        final Editable digits = mDigits.getText();
        int id = view.getId();
@@ -1339,6 +1361,7 @@ public class TwelveKeyDialer extends Activity implements View.OnClickListener,
    private void initVoicemailButton() {
    	mVoicemailButton = (ImageButton)mVoicemailDialAndDeleteRow.findViewById(R.id.voicemailButton);
    	mVoicemailButton.setOnClickListener(this);
    	mVoicemailButton.setOnTouchListener(this);
    	
    	if (ePrefs.getString("vm_button", "0").equals("0")) {
    		mVoicemailButton.setImageResource(R.drawable.sym_action_add);