From f8d4cb387e5b2480e064b2f9e0733862fee61b55 Mon Sep 17 00:00:00 2001 From: Agnieszka C <85929121+Aga-C@users.noreply.github.com> Date: Wed, 1 Dec 2021 12:03:53 +0100 Subject: [PATCH 1/5] Added swipe to answer an incoming call (#127) fix #127 --- .../dialer/activities/CallActivity.kt | 68 +++++++++++++++++-- .../dialer/activities/SettingsActivity.kt | 9 +++ .../dialer/helpers/Config.kt | 4 ++ .../dialer/helpers/Constants.kt | 1 + .../main/res/drawable/pulsing_background.xml | 12 ++++ app/src/main/res/layout/activity_call.xml | 53 ++++++++++++--- app/src/main/res/layout/activity_settings.xml | 16 +++++ app/src/main/res/values-cs/strings.xml | 3 +- app/src/main/res/values-da/strings.xml | 1 + app/src/main/res/values-de/strings.xml | 3 +- app/src/main/res/values-el/strings.xml | 1 + app/src/main/res/values-es/strings.xml | 1 + app/src/main/res/values-fi/strings.xml | 1 + app/src/main/res/values-fr/strings.xml | 3 +- app/src/main/res/values-gl/strings.xml | 1 + app/src/main/res/values-hu/strings.xml | 1 + app/src/main/res/values-id/strings.xml | 1 + app/src/main/res/values-it/strings.xml | 1 + app/src/main/res/values-ja/strings.xml | 1 + app/src/main/res/values-ml/strings.xml | 1 + app/src/main/res/values-nl/strings.xml | 3 +- app/src/main/res/values-pl/strings.xml | 3 +- app/src/main/res/values-pt/strings.xml | 1 + app/src/main/res/values-ru/strings.xml | 3 +- app/src/main/res/values-sk/strings.xml | 1 + app/src/main/res/values-sv/strings.xml | 1 + app/src/main/res/values-tr/strings.xml | 3 +- app/src/main/res/values-uk/strings.xml | 1 + app/src/main/res/values-zh-rCN/strings.xml | 3 +- app/src/main/res/values/strings.xml | 1 + 30 files changed, 179 insertions(+), 23 deletions(-) create mode 100644 app/src/main/res/drawable/pulsing_background.xml diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/CallActivity.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/CallActivity.kt index 345524ee..c2b30dea 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/CallActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/CallActivity.kt @@ -11,6 +11,7 @@ import android.os.Handler import android.os.PowerManager import android.telecom.Call import android.telecom.CallAudioState +import android.view.MotionEvent import android.view.WindowManager import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.MINUTE_SECONDS @@ -45,6 +46,7 @@ class CallActivity : SimpleActivity() { private var callDuration = 0 private val callContactAvatarHelper by lazy { CallContactAvatarHelper(this) } private val callDurationHelper by lazy { (application as App).callDurationHelper } + private var dragDownX = 0f override fun onCreate(savedInstanceState: Bundle?) { supportActionBar?.hide() @@ -94,12 +96,19 @@ class CallActivity : SimpleActivity() { } private fun initButtons() { - call_decline.setOnClickListener { - endCall() - } + if (config.enableSwipeToAnswer) { + handleSwipe() + } else { + call_draggable.beGone() + call_draggable_background.beGone() - call_accept.setOnClickListener { - acceptCall() + call_decline.setOnClickListener { + endCall() + } + + call_accept.setOnClickListener { + acceptCall() + } } call_toggle_microphone.setOnClickListener { @@ -145,6 +154,55 @@ class CallActivity : SimpleActivity() { call_sim_id.setTextColor(config.textColor.getContrastColor()) } + @SuppressLint("ClickableViewAccessibility") + private fun handleSwipe() { + var minDragX = 0f + var maxDragX = 0f + var initialDraggableX = 0f + + call_accept.onGlobalLayout { + minDragX = call_decline.left.toFloat() + maxDragX = call_accept.left.toFloat() + initialDraggableX = call_draggable.left.toFloat() + } + + call_draggable.setOnTouchListener { v, event -> + when (event.action) { + MotionEvent.ACTION_DOWN -> { + dragDownX = event.x + call_draggable_background.animate().alpha(0f) + } + MotionEvent.ACTION_UP, MotionEvent.ACTION_CANCEL -> { + dragDownX = 0f + call_draggable.animate().x(initialDraggableX).withEndAction { + call_draggable_background.animate().alpha(0.2f) + } + call_draggable.setImageDrawable(getDrawable(R.drawable.ic_phone_down_vector)) + } + MotionEvent.ACTION_MOVE -> { + call_draggable.x = Math.min(maxDragX, Math.max(minDragX, event.rawX - dragDownX)) + when { + call_draggable.x >= maxDragX - 50f -> { + call_draggable.performHapticFeedback() + acceptCall() + } + call_draggable.x <= minDragX + 50f -> { + call_draggable.performHapticFeedback() + endCall() + } + call_draggable.x > initialDraggableX -> { + call_draggable.setImageDrawable(getDrawable(R.drawable.ic_phone_green_vector)) + } + call_draggable.x <= initialDraggableX -> { + call_draggable.setImageDrawable(getDrawable(R.drawable.ic_phone_down_red_vector)) + } + } + } + } + true + } + } + private fun dialpadPressed(char: Char) { CallManager.keypad(char) dialpad_input.addCharacter(char) diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/SettingsActivity.kt index 9333fa4a..5807acbf 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/SettingsActivity.kt @@ -40,6 +40,7 @@ class SettingsActivity : SimpleActivity() { setupStartNameWithSurname() setupShowCallConfirmation() setupDisableProximitySensor() + setupEnableSwipeToAnswer() updateTextColors(settings_holder) invalidateOptionsMenu() @@ -220,4 +221,12 @@ class SettingsActivity : SimpleActivity() { config.disableProximitySensor = settings_disable_proximity_sensor.isChecked } } + + private fun setupEnableSwipeToAnswer() { + settings_enable_swipe_to_answer.isChecked = config.enableSwipeToAnswer + settings_enable_swipe_to_answer_holder.setOnClickListener { + settings_enable_swipe_to_answer.toggle() + config.enableSwipeToAnswer = settings_enable_swipe_to_answer.isChecked + } + } } diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Config.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Config.kt index f199fce1..42f70347 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Config.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Config.kt @@ -52,6 +52,10 @@ class Config(context: Context) : BaseConfig(context) { get() = prefs.getBoolean(DISABLE_PROXIMITY_SENSOR, false) set(disableProximitySensor) = prefs.edit().putBoolean(DISABLE_PROXIMITY_SENSOR, disableProximitySensor).apply() + var enableSwipeToAnswer: Boolean + get() = prefs.getBoolean(ENABLE_SWIPE_TO_ANSWER, false) + set(enableSwipeToAnswer) = prefs.edit().putBoolean(ENABLE_SWIPE_TO_ANSWER, enableSwipeToAnswer).apply() + var showTabs: Int get() = prefs.getInt(SHOW_TABS, ALL_TABS_MASK) set(showTabs) = prefs.edit().putInt(SHOW_TABS, showTabs).apply() diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Constants.kt index 0f73df60..0cfc6bc2 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Constants.kt @@ -10,6 +10,7 @@ const val REMEMBER_SIM_PREFIX = "remember_sim_" const val GROUP_SUBSEQUENT_CALLS = "group_subsequent_calls" const val OPEN_DIAL_PAD_AT_LAUNCH = "open_dial_pad_at_launch" const val DISABLE_PROXIMITY_SENSOR = "disable_proximity_sensor" +const val ENABLE_SWIPE_TO_ANSWER = "enable_swipe_to_answer" const val SHOW_TABS = "show_tabs" const val ALL_TABS_MASK = TAB_CONTACTS or TAB_FAVORITES or TAB_CALL_HISTORY diff --git a/app/src/main/res/drawable/pulsing_background.xml b/app/src/main/res/drawable/pulsing_background.xml new file mode 100644 index 00000000..ccabadb0 --- /dev/null +++ b/app/src/main/res/drawable/pulsing_background.xml @@ -0,0 +1,12 @@ + + + + + + + diff --git a/app/src/main/res/layout/activity_call.xml b/app/src/main/res/layout/activity_call.xml index 94ed695f..0d051fdc 100644 --- a/app/src/main/res/layout/activity_call.xml +++ b/app/src/main/res/layout/activity_call.xml @@ -160,14 +160,16 @@ android:id="@+id/call_decline" android:layout_width="@dimen/incoming_call_button_size" android:layout_height="@dimen/incoming_call_button_size" + android:clickable="false" + android:padding="@dimen/medium_margin" android:contentDescription="@string/decline_call" android:src="@drawable/ic_call_decline" - app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintHorizontal_bias="0.15" + app:layout_constraintBottom_toBottomOf="@+id/call_draggable" + app:layout_constraintEnd_toStartOf="@+id/call_draggable" + app:layout_constraintHorizontal_bias="0.5" + app:layout_constraintVertical_bias="0.85" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintVertical_bias="0.85" /> + app:layout_constraintTop_toTopOf="@+id/call_draggable" /> + + + + + app:layout_constraintHorizontal_bias="0.5" + app:layout_constraintVertical_bias="0.85" + app:layout_constraintStart_toEndOf="@+id/call_draggable" + app:layout_constraintTop_toTopOf="@+id/call_draggable" /> + + + + + + diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 71aa43ae..e2864a22 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -51,6 +51,7 @@ Seskupte další hovory se stejným číslem v protokolu hovorů Open the dialpad by default when the app opens Disable proximity sensor during calls + Enable swipe to answer an incoming call Simple Dialer - Spravujte své telefonní hovory snadno @@ -84,4 +85,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - \ No newline at end of file + diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 00eb046a..1b6feac3 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -56,6 +56,7 @@ Gruppér efterfølgende opkald med samme nummer i opkaldsloggen Åben det numeriske tastatur som standard når appen åbner Deaktivér nærhedssensor under opkald + Enable swipe to answer an incoming call diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 724fa658..81f546df 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -51,6 +51,7 @@ In der Anrufliste aufeinanderfolgende Anrufe mit derselben Nummer gruppieren Öffnen Sie die Wähltastatur als Standard, wenn die App geöffnet wird Näherungssensor bei Anrufen deaktivieren + Enable swipe to answer an incoming call Schlichtes Telefon @@ -84,4 +85,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - \ No newline at end of file + diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index d20eaed2..4f841f65 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -56,6 +56,7 @@ Ομαδοποίηση των επόμενων κλήσεων του ίδιου αριθμού στο αρχείο καταγραφής κλήσεων Ανοίξτε το πληκτρολόγιο από προεπιλογή όταν ανοίγει η εφαρμογή Απενεργοποίηση του αισθητήρα εγγύτητας κατά τη διάρκεια κλήσεων + Enable swipe to answer an incoming call diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index c43d3c75..f19390b9 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -56,6 +56,7 @@ Agrupar llamadas subsecuentes con el mísmo número en el registro de llamadas Abrir el teclado de marcado de forma predeterminada al abrir la aplicación Deshabilitar el sensor de proximidad durante las llamadas + Enable swipe to answer an incoming call diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index fd7ce277..acd97f26 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -56,6 +56,7 @@ Ryhmitä saman numeron peräkkäiset puhelut puheluhistoriassa Avaa numeronäppäimistö, kun sovellus avataan Poista läheisyysanturi käytöstä puheluiden aikana + Enable swipe to answer an incoming call diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 1da1b1b2..a701959e 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -51,6 +51,7 @@ Regrouper les appels suivants avec le même numéro dans le journal des appels Ouvrir le pavé numérique par défaut à l\'ouverture de l\'application Désactiver le capteur de proximité pendant les appels + Enable swipe to answer an incoming call Simple Dialer - Gérez facilement vos appels @@ -84,4 +85,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - \ No newline at end of file + diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index b26186f7..89c81093 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -56,6 +56,7 @@ Agrupar, no rexisto, as chamadas para o mesmo contacto Open the dialpad by default when the app opens Disable proximity sensor during calls + Enable swipe to answer an incoming call diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 2dd26a0a..43619cc5 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -51,6 +51,7 @@ Ugyanazon szám egymást követő hívásainak csoportosítása a hívásnaplóban Tárcsázó alapértelmezett kinyitása az alkalmazás megnyitásakor Közelségérzékelő kikapcsolása a hívások során + Enable swipe to answer an incoming call Simple Dialer – Telefonhívások kezelése egyszerűen diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml index e9a6f5a5..d63774eb 100644 --- a/app/src/main/res/values-id/strings.xml +++ b/app/src/main/res/values-id/strings.xml @@ -56,6 +56,7 @@ Kelompokkan panggilan berikutnya dengan nomor yang sama di log panggilan Open the dialpad by default when the app opens Disable proximity sensor during calls + Enable swipe to answer an incoming call diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index f9aa0f86..007ff3b9 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -56,6 +56,7 @@ Raggruppa chiamate successive con lo stesso numero nel registro delle chiamate Open the dialpad by default when the app opens Disable proximity sensor during calls + Enable swipe to answer an incoming call diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index bb936505..28cd443c 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -56,6 +56,7 @@ 後続の通話をコールログの同じ番号でグループ化する Open the dialpad by default when the app opens Disable proximity sensor during calls + Enable swipe to answer an incoming call diff --git a/app/src/main/res/values-ml/strings.xml b/app/src/main/res/values-ml/strings.xml index 8321579f..bacd3d7a 100644 --- a/app/src/main/res/values-ml/strings.xml +++ b/app/src/main/res/values-ml/strings.xml @@ -56,6 +56,7 @@ കോൾ ലോഗിൽ അതേ നമ്പറുള്ള കോളുകൾ ഗ്രൂപ്പുചെയ്യുക Open the dialpad by default when the app opens Disable proximity sensor during calls + Enable swipe to answer an incoming call an incoming call diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index ecc82a44..56768355 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -55,7 +55,8 @@ Oproepgeschiedenis: opeenvolgende items van hetzelfde nummer groeperen Standaard het toetsenblok openen bij starten - Nabijheidssensor uitschakelen tijdens bellenv + Nabijheidssensor uitschakelen tijdens bellen + Enable swipe to answer an incoming call diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index f3eff41e..302dab81 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -51,6 +51,7 @@ Grupuj kolejne połączenia z tym samym numerem w rejestrze połączeń Otwieraj panel wybierania numeru domyślnie przy uruchomieniu aplikacji Wyłączaj czujnik zbliżeniowy podczas połączeń + Włącz gest przesunięcia do odpowiadania na połączenia przychodzące Prosty telefon - Łatwe połączenia telefoniczne @@ -84,4 +85,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - \ No newline at end of file + diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 95d92f32..2274425d 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -56,6 +56,7 @@ Agrupar, no registo, as chamadas para o mesmo contacto Mostrar teclado de marcação ao abrir a aplicação Desativar sensor de proximidade durante as chamadas + Enable swipe to answer an incoming call diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index ef8c31de..68e4db37 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -51,6 +51,7 @@ Группировать последующие вызовы с тем же номером в журнале вызовов По умолчанию открывать номеронабиратель при запуске приложения Отключать датчик приближения во время вызовов + Enable swipe to answer an incoming call Simple Dialer - управление телефонными звонками @@ -84,4 +85,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - \ No newline at end of file + diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index da3eefb1..ba4e3b23 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -56,6 +56,7 @@ Zoskupiť susedné volania s rovnakým číslom v histórií volaní Otvoriť číselník po spustení apky Vypnúť počas hovorov senzor priblíženia + Enable swipe to answer an incoming call diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 63c66ca3..3bb6bdfa 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -56,6 +56,7 @@ Gruppera samtal till och från samma nummer i samtalshistoriken Open the dialpad by default when the app opens Disable proximity sensor during calls + Enable swipe to answer an incoming call diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 74bc9368..4f21bc55 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -51,6 +51,7 @@ Arama kaydında aynı numaraya sahip sonraki aramaları gruplandır Uygulama açıldığında varsayılan olarak tuş takımını aç Aramalar sırasında yakınlık sensörünü devre dışı bırak + Enable swipe to answer an incoming call Basit Çevirici - Aramaları kolayca yönetin @@ -84,4 +85,4 @@ Bazı dizeleri bulamadınız mı? Burada daha fazlası var: https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - \ No newline at end of file + diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 672574bd..9c84cd6a 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -56,6 +56,7 @@ Group subsequent calls with the same number at the call log Open the dialpad by default when the app opens Disable proximity sensor during calls + Enable swipe to answer an incoming call diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 79017b14..d0b93e85 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -51,6 +51,7 @@ 在通话记录中将同一号码的后续呼叫合并为一组 应用程序打开时默认打开拨号盘 在通话期间禁用接近传感器 + Enable swipe to answer an incoming call 简易拨号器 - 轻松管理您的手机通话 @@ -84,4 +85,4 @@ Haven't found some strings? There's more at https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res --> - \ No newline at end of file + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d2b08bb4..9c48cb29 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -56,6 +56,7 @@ Group subsequent calls with the same number at the call log Open the dialpad by default when the app opens Disable proximity sensor during calls + Enable swipe to answer an incoming call From 0bbe2b054bdbbbf1a9d73a82cf79bb617984af18 Mon Sep 17 00:00:00 2001 From: Agnieszka C <85929121+Aga-C@users.noreply.github.com> Date: Wed, 1 Dec 2021 19:25:13 +0100 Subject: [PATCH 2/5] Added hint animation --- .../dialer/activities/CallActivity.kt | 49 +++++++++++++++++++ app/src/main/res/layout/activity_call.xml | 30 ++++++++++++ app/src/main/res/values/dimens.xml | 1 + 3 files changed, 80 insertions(+) diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/CallActivity.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/CallActivity.kt index c2b30dea..ca7d29f2 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/CallActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/CallActivity.kt @@ -13,6 +13,7 @@ import android.telecom.Call import android.telecom.CallAudioState import android.view.MotionEvent import android.view.WindowManager +import android.widget.ImageView import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.MINUTE_SECONDS import com.simplemobiletools.commons.helpers.isOreoMr1Plus @@ -47,6 +48,7 @@ class CallActivity : SimpleActivity() { private val callContactAvatarHelper by lazy { CallContactAvatarHelper(this) } private val callDurationHelper by lazy { (application as App).callDurationHelper } private var dragDownX = 0f + private var stopAnimation = false override fun onCreate(savedInstanceState: Bundle?) { supportActionBar?.hide() @@ -159,11 +161,30 @@ class CallActivity : SimpleActivity() { var minDragX = 0f var maxDragX = 0f var initialDraggableX = 0f + var initialLeftArrowX = 0f + var initialRightArrowX = 0f + var initialLeftArrowScaleX = 0f + var initialLeftArrowScaleY = 0f + var initialRightArrowScaleX = 0f + var initialRightArrowScaleY = 0f + var leftArrowTranslation = 0f + var rightArrowTranslation = 0f call_accept.onGlobalLayout { minDragX = call_decline.left.toFloat() maxDragX = call_accept.left.toFloat() initialDraggableX = call_draggable.left.toFloat() + initialLeftArrowX = call_left_arrow.x + initialRightArrowX = call_right_arrow.x + initialLeftArrowScaleX = call_left_arrow.scaleX + initialLeftArrowScaleY = call_left_arrow.scaleY + initialRightArrowScaleX = call_right_arrow.scaleX + initialRightArrowScaleY = call_right_arrow.scaleY + leftArrowTranslation = -call_decline.x + rightArrowTranslation = call_decline.x + + startArrowAnimation(call_left_arrow, initialLeftArrowX, initialLeftArrowScaleX, initialLeftArrowScaleY, leftArrowTranslation) + startArrowAnimation(call_right_arrow, initialRightArrowX, initialRightArrowScaleX, initialRightArrowScaleY, rightArrowTranslation) } call_draggable.setOnTouchListener { v, event -> @@ -171,6 +192,9 @@ class CallActivity : SimpleActivity() { MotionEvent.ACTION_DOWN -> { dragDownX = event.x call_draggable_background.animate().alpha(0f) + stopAnimation = true + call_left_arrow.animate().alpha(0f) + call_right_arrow.animate().alpha(0f) } MotionEvent.ACTION_UP, MotionEvent.ACTION_CANCEL -> { dragDownX = 0f @@ -178,6 +202,11 @@ class CallActivity : SimpleActivity() { call_draggable_background.animate().alpha(0.2f) } call_draggable.setImageDrawable(getDrawable(R.drawable.ic_phone_down_vector)) + call_left_arrow.animate().alpha(1f) + call_right_arrow.animate().alpha(1f) + stopAnimation = false + startArrowAnimation(call_left_arrow, initialLeftArrowX, initialLeftArrowScaleX, initialLeftArrowScaleY, leftArrowTranslation) + startArrowAnimation(call_right_arrow, initialRightArrowX, initialRightArrowScaleX, initialRightArrowScaleY, rightArrowTranslation) } MotionEvent.ACTION_MOVE -> { call_draggable.x = Math.min(maxDragX, Math.max(minDragX, event.rawX - dragDownX)) @@ -203,6 +232,26 @@ class CallActivity : SimpleActivity() { } } + private fun startArrowAnimation(arrow: ImageView, initialX: Float, initialScaleX: Float, initialScaleY: Float, translation: Float) { + arrow.apply { + alpha = 1f + x = initialX + scaleX = initialScaleX + scaleY = initialScaleY + animate() + .alpha(0f) + .translationX(translation) + .scaleXBy(-0.5f) + .scaleYBy(-0.5f) + .setDuration(1000) + .withEndAction { + if (!stopAnimation) { + startArrowAnimation(this, initialX, initialScaleX, initialScaleY, translation) + } + } + } + } + private fun dialpadPressed(char: Char) { CallManager.keypad(char) dialpad_input.addCharacter(char) diff --git a/app/src/main/res/layout/activity_call.xml b/app/src/main/res/layout/activity_call.xml index 0d051fdc..b448de42 100644 --- a/app/src/main/res/layout/activity_call.xml +++ b/app/src/main/res/layout/activity_call.xml @@ -182,6 +182,21 @@ app:layout_constraintStart_toStartOf="@+id/call_decline" app:layout_constraintTop_toBottomOf="@+id/call_decline" /> + + + + 60dp + 50dp 72dp 30dp 120dp From ce114e6b696fad7f26a4043fade695ad7fb814ab Mon Sep 17 00:00:00 2001 From: Agnieszka C <85929121+Aga-C@users.noreply.github.com> Date: Sun, 12 Dec 2021 21:01:56 +0100 Subject: [PATCH 3/5] Changed arrow colors and removed an old way --- .../dialer/activities/CallActivity.kt | 18 ++++-------------- .../dialer/activities/SettingsActivity.kt | 9 --------- .../simplemobiletools/dialer/helpers/Config.kt | 4 ---- .../dialer/helpers/Constants.kt | 1 - app/src/main/res/layout/activity_settings.xml | 16 ---------------- app/src/main/res/values-cs/strings.xml | 1 - app/src/main/res/values-da/strings.xml | 1 - app/src/main/res/values-de/strings.xml | 1 - app/src/main/res/values-el/strings.xml | 1 - app/src/main/res/values-es/strings.xml | 1 - app/src/main/res/values-fi/strings.xml | 1 - app/src/main/res/values-fr/strings.xml | 1 - app/src/main/res/values-gl/strings.xml | 1 - app/src/main/res/values-hu/strings.xml | 1 - app/src/main/res/values-id/strings.xml | 1 - app/src/main/res/values-it/strings.xml | 1 - app/src/main/res/values-ja/strings.xml | 1 - app/src/main/res/values-ml/strings.xml | 1 - app/src/main/res/values-nl/strings.xml | 1 - app/src/main/res/values-pl/strings.xml | 1 - app/src/main/res/values-pt/strings.xml | 1 - app/src/main/res/values-ru/strings.xml | 1 - app/src/main/res/values-sk/strings.xml | 1 - app/src/main/res/values-sv/strings.xml | 1 - app/src/main/res/values-tr/strings.xml | 1 - app/src/main/res/values-uk/strings.xml | 1 - app/src/main/res/values-zh-rCN/strings.xml | 1 - app/src/main/res/values/strings.xml | 1 - 28 files changed, 4 insertions(+), 67 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/CallActivity.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/CallActivity.kt index ca7d29f2..4f40b8a1 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/CallActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/CallActivity.kt @@ -98,20 +98,7 @@ class CallActivity : SimpleActivity() { } private fun initButtons() { - if (config.enableSwipeToAnswer) { - handleSwipe() - } else { - call_draggable.beGone() - call_draggable_background.beGone() - - call_decline.setOnClickListener { - endCall() - } - - call_accept.setOnClickListener { - acceptCall() - } - } + handleSwipe() call_toggle_microphone.setOnClickListener { toggleMicrophone() @@ -183,6 +170,9 @@ class CallActivity : SimpleActivity() { leftArrowTranslation = -call_decline.x rightArrowTranslation = call_decline.x + call_left_arrow.applyColorFilter(getColor(R.color.md_red_400)) + call_right_arrow.applyColorFilter(getColor(R.color.md_green_400)) + startArrowAnimation(call_left_arrow, initialLeftArrowX, initialLeftArrowScaleX, initialLeftArrowScaleY, leftArrowTranslation) startArrowAnimation(call_right_arrow, initialRightArrowX, initialRightArrowScaleX, initialRightArrowScaleY, rightArrowTranslation) } diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/SettingsActivity.kt index 5807acbf..9333fa4a 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/SettingsActivity.kt @@ -40,7 +40,6 @@ class SettingsActivity : SimpleActivity() { setupStartNameWithSurname() setupShowCallConfirmation() setupDisableProximitySensor() - setupEnableSwipeToAnswer() updateTextColors(settings_holder) invalidateOptionsMenu() @@ -221,12 +220,4 @@ class SettingsActivity : SimpleActivity() { config.disableProximitySensor = settings_disable_proximity_sensor.isChecked } } - - private fun setupEnableSwipeToAnswer() { - settings_enable_swipe_to_answer.isChecked = config.enableSwipeToAnswer - settings_enable_swipe_to_answer_holder.setOnClickListener { - settings_enable_swipe_to_answer.toggle() - config.enableSwipeToAnswer = settings_enable_swipe_to_answer.isChecked - } - } } diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Config.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Config.kt index 42f70347..f199fce1 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Config.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Config.kt @@ -52,10 +52,6 @@ class Config(context: Context) : BaseConfig(context) { get() = prefs.getBoolean(DISABLE_PROXIMITY_SENSOR, false) set(disableProximitySensor) = prefs.edit().putBoolean(DISABLE_PROXIMITY_SENSOR, disableProximitySensor).apply() - var enableSwipeToAnswer: Boolean - get() = prefs.getBoolean(ENABLE_SWIPE_TO_ANSWER, false) - set(enableSwipeToAnswer) = prefs.edit().putBoolean(ENABLE_SWIPE_TO_ANSWER, enableSwipeToAnswer).apply() - var showTabs: Int get() = prefs.getInt(SHOW_TABS, ALL_TABS_MASK) set(showTabs) = prefs.edit().putInt(SHOW_TABS, showTabs).apply() diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Constants.kt index 0cfc6bc2..0f73df60 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Constants.kt @@ -10,7 +10,6 @@ const val REMEMBER_SIM_PREFIX = "remember_sim_" const val GROUP_SUBSEQUENT_CALLS = "group_subsequent_calls" const val OPEN_DIAL_PAD_AT_LAUNCH = "open_dial_pad_at_launch" const val DISABLE_PROXIMITY_SENSOR = "disable_proximity_sensor" -const val ENABLE_SWIPE_TO_ANSWER = "enable_swipe_to_answer" const val SHOW_TABS = "show_tabs" const val ALL_TABS_MASK = TAB_CONTACTS or TAB_FAVORITES or TAB_CALL_HISTORY diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index 27a7bc9c..3b59ab2b 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -313,22 +313,6 @@ android:text="@string/disable_proximity_sensor" /> - - - - - - diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index e2864a22..9d1381d1 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -51,7 +51,6 @@ Seskupte další hovory se stejným číslem v protokolu hovorů Open the dialpad by default when the app opens Disable proximity sensor during calls - Enable swipe to answer an incoming call Simple Dialer - Spravujte své telefonní hovory snadno diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 1b6feac3..00eb046a 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -56,7 +56,6 @@ Gruppér efterfølgende opkald med samme nummer i opkaldsloggen Åben det numeriske tastatur som standard når appen åbner Deaktivér nærhedssensor under opkald - Enable swipe to answer an incoming call diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 81f546df..38a186a1 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -51,7 +51,6 @@ In der Anrufliste aufeinanderfolgende Anrufe mit derselben Nummer gruppieren Öffnen Sie die Wähltastatur als Standard, wenn die App geöffnet wird Näherungssensor bei Anrufen deaktivieren - Enable swipe to answer an incoming call Schlichtes Telefon diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 4f841f65..d20eaed2 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -56,7 +56,6 @@ Ομαδοποίηση των επόμενων κλήσεων του ίδιου αριθμού στο αρχείο καταγραφής κλήσεων Ανοίξτε το πληκτρολόγιο από προεπιλογή όταν ανοίγει η εφαρμογή Απενεργοποίηση του αισθητήρα εγγύτητας κατά τη διάρκεια κλήσεων - Enable swipe to answer an incoming call diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index f19390b9..c43d3c75 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -56,7 +56,6 @@ Agrupar llamadas subsecuentes con el mísmo número en el registro de llamadas Abrir el teclado de marcado de forma predeterminada al abrir la aplicación Deshabilitar el sensor de proximidad durante las llamadas - Enable swipe to answer an incoming call diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index acd97f26..fd7ce277 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -56,7 +56,6 @@ Ryhmitä saman numeron peräkkäiset puhelut puheluhistoriassa Avaa numeronäppäimistö, kun sovellus avataan Poista läheisyysanturi käytöstä puheluiden aikana - Enable swipe to answer an incoming call diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index a701959e..6c466509 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -51,7 +51,6 @@ Regrouper les appels suivants avec le même numéro dans le journal des appels Ouvrir le pavé numérique par défaut à l\'ouverture de l\'application Désactiver le capteur de proximité pendant les appels - Enable swipe to answer an incoming call Simple Dialer - Gérez facilement vos appels diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index 89c81093..b26186f7 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -56,7 +56,6 @@ Agrupar, no rexisto, as chamadas para o mesmo contacto Open the dialpad by default when the app opens Disable proximity sensor during calls - Enable swipe to answer an incoming call diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 43619cc5..2dd26a0a 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -51,7 +51,6 @@ Ugyanazon szám egymást követő hívásainak csoportosítása a hívásnaplóban Tárcsázó alapértelmezett kinyitása az alkalmazás megnyitásakor Közelségérzékelő kikapcsolása a hívások során - Enable swipe to answer an incoming call Simple Dialer – Telefonhívások kezelése egyszerűen diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml index d63774eb..e9a6f5a5 100644 --- a/app/src/main/res/values-id/strings.xml +++ b/app/src/main/res/values-id/strings.xml @@ -56,7 +56,6 @@ Kelompokkan panggilan berikutnya dengan nomor yang sama di log panggilan Open the dialpad by default when the app opens Disable proximity sensor during calls - Enable swipe to answer an incoming call diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 007ff3b9..f9aa0f86 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -56,7 +56,6 @@ Raggruppa chiamate successive con lo stesso numero nel registro delle chiamate Open the dialpad by default when the app opens Disable proximity sensor during calls - Enable swipe to answer an incoming call diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 28cd443c..bb936505 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -56,7 +56,6 @@ 後続の通話をコールログの同じ番号でグループ化する Open the dialpad by default when the app opens Disable proximity sensor during calls - Enable swipe to answer an incoming call diff --git a/app/src/main/res/values-ml/strings.xml b/app/src/main/res/values-ml/strings.xml index bacd3d7a..8321579f 100644 --- a/app/src/main/res/values-ml/strings.xml +++ b/app/src/main/res/values-ml/strings.xml @@ -56,7 +56,6 @@ കോൾ ലോഗിൽ അതേ നമ്പറുള്ള കോളുകൾ ഗ്രൂപ്പുചെയ്യുക Open the dialpad by default when the app opens Disable proximity sensor during calls - Enable swipe to answer an incoming call an incoming call diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 56768355..45c4654d 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -56,7 +56,6 @@ Oproepgeschiedenis: opeenvolgende items van hetzelfde nummer groeperen Standaard het toetsenblok openen bij starten Nabijheidssensor uitschakelen tijdens bellen - Enable swipe to answer an incoming call diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 302dab81..962f91ba 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -51,7 +51,6 @@ Grupuj kolejne połączenia z tym samym numerem w rejestrze połączeń Otwieraj panel wybierania numeru domyślnie przy uruchomieniu aplikacji Wyłączaj czujnik zbliżeniowy podczas połączeń - Włącz gest przesunięcia do odpowiadania na połączenia przychodzące Prosty telefon - Łatwe połączenia telefoniczne diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 2274425d..95d92f32 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -56,7 +56,6 @@ Agrupar, no registo, as chamadas para o mesmo contacto Mostrar teclado de marcação ao abrir a aplicação Desativar sensor de proximidade durante as chamadas - Enable swipe to answer an incoming call diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 68e4db37..72dc5ca2 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -51,7 +51,6 @@ Группировать последующие вызовы с тем же номером в журнале вызовов По умолчанию открывать номеронабиратель при запуске приложения Отключать датчик приближения во время вызовов - Enable swipe to answer an incoming call Simple Dialer - управление телефонными звонками diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index ba4e3b23..da3eefb1 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -56,7 +56,6 @@ Zoskupiť susedné volania s rovnakým číslom v histórií volaní Otvoriť číselník po spustení apky Vypnúť počas hovorov senzor priblíženia - Enable swipe to answer an incoming call diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 3bb6bdfa..63c66ca3 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -56,7 +56,6 @@ Gruppera samtal till och från samma nummer i samtalshistoriken Open the dialpad by default when the app opens Disable proximity sensor during calls - Enable swipe to answer an incoming call diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 4f21bc55..22eeca3a 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -51,7 +51,6 @@ Arama kaydında aynı numaraya sahip sonraki aramaları gruplandır Uygulama açıldığında varsayılan olarak tuş takımını aç Aramalar sırasında yakınlık sensörünü devre dışı bırak - Enable swipe to answer an incoming call Basit Çevirici - Aramaları kolayca yönetin diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 9c84cd6a..672574bd 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -56,7 +56,6 @@ Group subsequent calls with the same number at the call log Open the dialpad by default when the app opens Disable proximity sensor during calls - Enable swipe to answer an incoming call diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index d0b93e85..a749e10f 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -51,7 +51,6 @@ 在通话记录中将同一号码的后续呼叫合并为一组 应用程序打开时默认打开拨号盘 在通话期间禁用接近传感器 - Enable swipe to answer an incoming call 简易拨号器 - 轻松管理您的手机通话 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 9c48cb29..d2b08bb4 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -56,7 +56,6 @@ Group subsequent calls with the same number at the call log Open the dialpad by default when the app opens Disable proximity sensor during calls - Enable swipe to answer an incoming call From 2cef423d086745095d31b98e074d97f4a2fa32f7 Mon Sep 17 00:00:00 2001 From: Agnieszka C <85929121+Aga-C@users.noreply.github.com> Date: Wed, 15 Dec 2021 22:33:31 +0100 Subject: [PATCH 4/5] Fixed not accepting/declining when dragging over place --- .../dialer/activities/CallActivity.kt | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/CallActivity.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/CallActivity.kt index 4f40b8a1..68b8d02f 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/CallActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/CallActivity.kt @@ -177,6 +177,7 @@ class CallActivity : SimpleActivity() { startArrowAnimation(call_right_arrow, initialRightArrowX, initialRightArrowScaleX, initialRightArrowScaleY, rightArrowTranslation) } + var lock = false call_draggable.setOnTouchListener { v, event -> when (event.action) { MotionEvent.ACTION_DOWN -> { @@ -185,6 +186,7 @@ class CallActivity : SimpleActivity() { stopAnimation = true call_left_arrow.animate().alpha(0f) call_right_arrow.animate().alpha(0f) + lock = false } MotionEvent.ACTION_UP, MotionEvent.ACTION_CANCEL -> { dragDownX = 0f @@ -202,17 +204,25 @@ class CallActivity : SimpleActivity() { call_draggable.x = Math.min(maxDragX, Math.max(minDragX, event.rawX - dragDownX)) when { call_draggable.x >= maxDragX - 50f -> { - call_draggable.performHapticFeedback() - acceptCall() + if (!lock) { + lock = true + call_draggable.performHapticFeedback() + acceptCall() + } } call_draggable.x <= minDragX + 50f -> { - call_draggable.performHapticFeedback() - endCall() + if (!lock) { + lock = true + call_draggable.performHapticFeedback() + endCall() + } } call_draggable.x > initialDraggableX -> { + lock = false call_draggable.setImageDrawable(getDrawable(R.drawable.ic_phone_green_vector)) } call_draggable.x <= initialDraggableX -> { + lock = false call_draggable.setImageDrawable(getDrawable(R.drawable.ic_phone_down_red_vector)) } } From 2a3f43198566fad03600e6164bb7bf4cd5a0a985 Mon Sep 17 00:00:00 2001 From: Tibor Kaputa Date: Thu, 16 Dec 2021 11:37:29 +0100 Subject: [PATCH 5/5] formatting the xml file --- app/src/main/res/layout/activity_call.xml | 28 +++++++++++------------ 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/app/src/main/res/layout/activity_call.xml b/app/src/main/res/layout/activity_call.xml index b448de42..d3c369b1 100644 --- a/app/src/main/res/layout/activity_call.xml +++ b/app/src/main/res/layout/activity_call.xml @@ -161,15 +161,15 @@ android:layout_width="@dimen/incoming_call_button_size" android:layout_height="@dimen/incoming_call_button_size" android:clickable="false" - android:padding="@dimen/medium_margin" android:contentDescription="@string/decline_call" + android:padding="@dimen/medium_margin" android:src="@drawable/ic_call_decline" app:layout_constraintBottom_toBottomOf="@+id/call_draggable" app:layout_constraintEnd_toStartOf="@+id/call_draggable" app:layout_constraintHorizontal_bias="0.5" - app:layout_constraintVertical_bias="0.85" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="@+id/call_draggable" /> + app:layout_constraintTop_toTopOf="@+id/call_draggable" + app:layout_constraintVertical_bias="0.85" /> + app:layout_constraintVertical_bias="0.8375" /> + app:layout_constraintVertical_bias="0.85" /> + app:layout_constraintVertical_bias="0.85" /> + app:layout_constraintVertical_bias="0.8375" /> + app:layout_constraintTop_toTopOf="@+id/call_draggable" + app:layout_constraintVertical_bias="0.85" />