moving dialpad character inserting into extensions
This commit is contained in:
parent
c80192e1b0
commit
f5d8822bef
|
@ -19,9 +19,7 @@ import com.simplemobiletools.commons.helpers.isOreoPlus
|
||||||
import com.simplemobiletools.contacts.pro.R
|
import com.simplemobiletools.contacts.pro.R
|
||||||
import com.simplemobiletools.contacts.pro.adapters.ContactsAdapter
|
import com.simplemobiletools.contacts.pro.adapters.ContactsAdapter
|
||||||
import com.simplemobiletools.contacts.pro.dialogs.CallConfirmationDialog
|
import com.simplemobiletools.contacts.pro.dialogs.CallConfirmationDialog
|
||||||
import com.simplemobiletools.contacts.pro.extensions.callContact
|
import com.simplemobiletools.contacts.pro.extensions.*
|
||||||
import com.simplemobiletools.contacts.pro.extensions.config
|
|
||||||
import com.simplemobiletools.contacts.pro.extensions.startCallIntent
|
|
||||||
import com.simplemobiletools.contacts.pro.helpers.ContactsHelper
|
import com.simplemobiletools.contacts.pro.helpers.ContactsHelper
|
||||||
import com.simplemobiletools.contacts.pro.helpers.KEY_PHONE
|
import com.simplemobiletools.contacts.pro.helpers.KEY_PHONE
|
||||||
import com.simplemobiletools.contacts.pro.helpers.LOCATION_DIALPAD
|
import com.simplemobiletools.contacts.pro.helpers.LOCATION_DIALPAD
|
||||||
|
@ -45,16 +43,16 @@ class DialpadActivity : SimpleActivity() {
|
||||||
|
|
||||||
speedDialValues = config.getSpeedDialValues()
|
speedDialValues = config.getSpeedDialValues()
|
||||||
|
|
||||||
dialpad_0_holder.setOnClickListener { dialpadPressed("0", it) }
|
dialpad_0_holder.setOnClickListener { dialpadPressed('0', it) }
|
||||||
dialpad_1.setOnClickListener { dialpadPressed("1", it) }
|
dialpad_1.setOnClickListener { dialpadPressed('1', it) }
|
||||||
dialpad_2.setOnClickListener { dialpadPressed("2", it) }
|
dialpad_2.setOnClickListener { dialpadPressed('2', it) }
|
||||||
dialpad_3.setOnClickListener { dialpadPressed("3", it) }
|
dialpad_3.setOnClickListener { dialpadPressed('3', it) }
|
||||||
dialpad_4.setOnClickListener { dialpadPressed("4", it) }
|
dialpad_4.setOnClickListener { dialpadPressed('4', it) }
|
||||||
dialpad_5.setOnClickListener { dialpadPressed("5", it) }
|
dialpad_5.setOnClickListener { dialpadPressed('5', it) }
|
||||||
dialpad_6.setOnClickListener { dialpadPressed("6", it) }
|
dialpad_6.setOnClickListener { dialpadPressed('6', it) }
|
||||||
dialpad_7.setOnClickListener { dialpadPressed("7", it) }
|
dialpad_7.setOnClickListener { dialpadPressed('7', it) }
|
||||||
dialpad_8.setOnClickListener { dialpadPressed("8", it) }
|
dialpad_8.setOnClickListener { dialpadPressed('8', it) }
|
||||||
dialpad_9.setOnClickListener { dialpadPressed("9", it) }
|
dialpad_9.setOnClickListener { dialpadPressed('9', it) }
|
||||||
|
|
||||||
dialpad_1.setOnLongClickListener { speedDial(1); true }
|
dialpad_1.setOnLongClickListener { speedDial(1); true }
|
||||||
dialpad_2.setOnLongClickListener { speedDial(2); true }
|
dialpad_2.setOnLongClickListener { speedDial(2); true }
|
||||||
|
@ -66,9 +64,9 @@ class DialpadActivity : SimpleActivity() {
|
||||||
dialpad_8.setOnLongClickListener { speedDial(8); true }
|
dialpad_8.setOnLongClickListener { speedDial(8); true }
|
||||||
dialpad_9.setOnLongClickListener { speedDial(9); true }
|
dialpad_9.setOnLongClickListener { speedDial(9); true }
|
||||||
|
|
||||||
dialpad_0_holder.setOnLongClickListener { dialpadPressed("+", null); true }
|
dialpad_0_holder.setOnLongClickListener { dialpadPressed('+', null); true }
|
||||||
dialpad_asterisk.setOnClickListener { dialpadPressed("*", it) }
|
dialpad_asterisk.setOnClickListener { dialpadPressed('*', it) }
|
||||||
dialpad_hashtag.setOnClickListener { dialpadPressed("#", it) }
|
dialpad_hashtag.setOnClickListener { dialpadPressed('#', it) }
|
||||||
dialpad_clear_char.setOnClickListener { clearChar(it) }
|
dialpad_clear_char.setOnClickListener { clearChar(it) }
|
||||||
dialpad_clear_char.setOnLongClickListener { clearInput(); true }
|
dialpad_clear_char.setOnLongClickListener { clearInput(); true }
|
||||||
dialpad_call_button.setOnClickListener { initCall() }
|
dialpad_call_button.setOnClickListener { initCall() }
|
||||||
|
@ -130,13 +128,13 @@ class DialpadActivity : SimpleActivity() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun dialpadPressed(char: String, view: View?) {
|
private fun dialpadPressed(char: Char, view: View?) {
|
||||||
dialpad_input.dispatchKeyEvent(getKeyEvent(getCharKeyCode(char)))
|
dialpad_input.addCharacter(char)
|
||||||
view?.performHapticFeedback()
|
view?.performHapticFeedback()
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun clearChar(view: View) {
|
private fun clearChar(view: View) {
|
||||||
dialpad_input.dispatchKeyEvent(getKeyEvent(KeyEvent.KEYCODE_DEL))
|
dialpad_input.dispatchKeyEvent(dialpad_input.getKeyEvent(KeyEvent.KEYCODE_DEL))
|
||||||
view.performHapticFeedback()
|
view.performHapticFeedback()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -144,24 +142,6 @@ class DialpadActivity : SimpleActivity() {
|
||||||
dialpad_input.setText("")
|
dialpad_input.setText("")
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getKeyEvent(keyCode: Int) = KeyEvent(0, 0, KeyEvent.ACTION_DOWN, keyCode, 0)
|
|
||||||
|
|
||||||
private fun getCharKeyCode(char: String) = when (char) {
|
|
||||||
"0" -> KeyEvent.KEYCODE_0
|
|
||||||
"1" -> KeyEvent.KEYCODE_1
|
|
||||||
"2" -> KeyEvent.KEYCODE_2
|
|
||||||
"3" -> KeyEvent.KEYCODE_3
|
|
||||||
"4" -> KeyEvent.KEYCODE_4
|
|
||||||
"5" -> KeyEvent.KEYCODE_5
|
|
||||||
"6" -> KeyEvent.KEYCODE_6
|
|
||||||
"7" -> KeyEvent.KEYCODE_7
|
|
||||||
"8" -> KeyEvent.KEYCODE_8
|
|
||||||
"9" -> KeyEvent.KEYCODE_9
|
|
||||||
"*" -> KeyEvent.KEYCODE_STAR
|
|
||||||
"+" -> KeyEvent.KEYCODE_PLUS
|
|
||||||
else -> KeyEvent.KEYCODE_POUND
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun disableKeyboardPopping() {
|
private fun disableKeyboardPopping() {
|
||||||
dialpad_input.showSoftInputOnFocus = false
|
dialpad_input.showSoftInputOnFocus = false
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
package com.simplemobiletools.contacts.pro.extensions
|
||||||
|
|
||||||
|
import android.view.KeyEvent
|
||||||
|
import android.widget.EditText
|
||||||
|
|
||||||
|
fun EditText.addCharacter(char: Char) {
|
||||||
|
dispatchKeyEvent(getKeyEvent(getCharKeyCode(char)))
|
||||||
|
}
|
||||||
|
|
||||||
|
fun EditText.getKeyEvent(keyCode: Int) = KeyEvent(0, 0, KeyEvent.ACTION_DOWN, keyCode, 0)
|
||||||
|
|
||||||
|
private fun getCharKeyCode(char: Char) = when (char) {
|
||||||
|
'0' -> KeyEvent.KEYCODE_0
|
||||||
|
'1' -> KeyEvent.KEYCODE_1
|
||||||
|
'2' -> KeyEvent.KEYCODE_2
|
||||||
|
'3' -> KeyEvent.KEYCODE_3
|
||||||
|
'4' -> KeyEvent.KEYCODE_4
|
||||||
|
'5' -> KeyEvent.KEYCODE_5
|
||||||
|
'6' -> KeyEvent.KEYCODE_6
|
||||||
|
'7' -> KeyEvent.KEYCODE_7
|
||||||
|
'8' -> KeyEvent.KEYCODE_8
|
||||||
|
'9' -> KeyEvent.KEYCODE_9
|
||||||
|
'*' -> KeyEvent.KEYCODE_STAR
|
||||||
|
'+' -> KeyEvent.KEYCODE_PLUS
|
||||||
|
else -> KeyEvent.KEYCODE_POUND
|
||||||
|
}
|
Loading…
Reference in New Issue