Dialer simplification

This commit is contained in:
Sylvain Berfini 2020-10-22 14:00:42 +02:00
parent 40c809ee45
commit 55c4c908a8
5 changed files with 19 additions and 91 deletions

View file

@ -63,28 +63,12 @@ class DialerFragment : SecureFragment<DialerFragmentBinding>() {
ViewModelProvider(this).get(SharedMainViewModel::class.java) ViewModelProvider(this).get(SharedMainViewModel::class.java)
} ?: throw Exception("Invalid Activity") } ?: throw Exception("Invalid Activity")
binding.setEraseClickListener {
viewModel.eraseLastChar()
}
binding.setEraseLongClickListener {
viewModel.eraseAll()
}
binding.setNewContactClickListener { binding.setNewContactClickListener {
val deepLink = "linphone-android://contact/new/${viewModel.enteredUri.value}" val deepLink = "linphone-android://contact/new/${viewModel.enteredUri.value}"
Log.i("[Dialer] Creating contact, starting deep link: $deepLink") Log.i("[Dialer] Creating contact, starting deep link: $deepLink")
findNavController().navigate(Uri.parse(deepLink)) findNavController().navigate(Uri.parse(deepLink))
} }
binding.setStartCallClickListener {
viewModel.startCall()
}
binding.setAddCallClickListener {
viewModel.startCall()
}
binding.setTransferCallClickListener { binding.setTransferCallClickListener {
viewModel.transferCall() viewModel.transferCall()
// Transfer has been consumed // Transfer has been consumed

View file

@ -1,27 +1,11 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android" <layout xmlns:android="http://schemas.android.com/apk/res/android">
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data> <data>
<import type="android.view.View"/> <import type="android.view.View"/>
<variable
name="eraseClickListener"
type="android.view.View.OnClickListener"/>
<variable
name="eraseLongClickListener"
type="android.view.View.OnLongClickListener"/>
<variable <variable
name="newContactClickListener" name="newContactClickListener"
type="android.view.View.OnClickListener"/> type="android.view.View.OnClickListener"/>
<variable
name="startCallClickListener"
type="android.view.View.OnClickListener"/>
<variable
name="addCallClickListener"
type="android.view.View.OnClickListener"/>
<variable <variable
name="transferCallClickListener" name="transferCallClickListener"
type="android.view.View.OnClickListener"/> type="android.view.View.OnClickListener"/>
@ -43,8 +27,8 @@
<ImageView <ImageView
android:id="@+id/erase" android:id="@+id/erase"
android:onClick="@{eraseClickListener}" android:onClick="@{() -> viewModel.eraseLastChar()}"
android:onLongClick="@{eraseLongClickListener}" android:onLongClick="@{() -> viewModel.eraseAll()}"
android:contentDescription="@string/content_description_dialer_erase" android:contentDescription="@string/content_description_dialer_erase"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
@ -90,7 +74,7 @@
android:src="@drawable/contact_add" /> android:src="@drawable/contact_add" />
<ImageView <ImageView
android:onClick="@{startCallClickListener}" android:onClick="@{() -> viewModel.startCall()}"
android:visibility="@{viewModel.atLeastOneCall ? View.GONE : View.VISIBLE}" android:visibility="@{viewModel.atLeastOneCall ? View.GONE : View.VISIBLE}"
android:contentDescription="@string/content_description_start_call" android:contentDescription="@string/content_description_start_call"
android:layout_width="match_parent" android:layout_width="match_parent"
@ -101,7 +85,7 @@
android:src="@drawable/call_audio_start" /> android:src="@drawable/call_audio_start" />
<ImageView <ImageView
android:onClick="@{addCallClickListener}" android:onClick="@{() -> viewModel.startCall()}"
android:visibility="@{viewModel.atLeastOneCall &amp;&amp; !viewModel.transferVisibility ? View.VISIBLE : View.GONE, default=gone}" android:visibility="@{viewModel.atLeastOneCall &amp;&amp; !viewModel.transferVisibility ? View.VISIBLE : View.GONE, default=gone}"
android:contentDescription="@string/content_description_add_call" android:contentDescription="@string/content_description_add_call"
android:layout_width="match_parent" android:layout_width="match_parent"

View file

@ -1,27 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android" <layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto">
xmlns:tools="http://schemas.android.com/tools">
<data> <data>
<import type="android.view.View"/> <import type="android.view.View"/>
<variable
name="eraseClickListener"
type="android.view.View.OnClickListener"/>
<variable
name="eraseLongClickListener"
type="android.view.View.OnLongClickListener"/>
<variable <variable
name="newContactClickListener" name="newContactClickListener"
type="android.view.View.OnClickListener"/> type="android.view.View.OnClickListener"/>
<variable
name="startCallClickListener"
type="android.view.View.OnClickListener"/>
<variable
name="addCallClickListener"
type="android.view.View.OnClickListener"/>
<variable <variable
name="transferCallClickListener" name="transferCallClickListener"
type="android.view.View.OnClickListener"/> type="android.view.View.OnClickListener"/>
@ -81,8 +66,8 @@
<ImageView <ImageView
android:id="@+id/erase" android:id="@+id/erase"
android:onClick="@{eraseClickListener}" android:onClick="@{() -> viewModel.eraseLastChar()}"
android:onLongClick="@{eraseLongClickListener}" android:onLongClick="@{() -> viewModel.eraseAll()}"
android:contentDescription="@string/content_description_dialer_erase" android:contentDescription="@string/content_description_dialer_erase"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
@ -128,7 +113,7 @@
android:src="@drawable/contact_add" /> android:src="@drawable/contact_add" />
<ImageView <ImageView
android:onClick="@{startCallClickListener}" android:onClick="@{() -> viewModel.startCall()}"
android:visibility="@{viewModel.atLeastOneCall ? View.GONE : View.VISIBLE}" android:visibility="@{viewModel.atLeastOneCall ? View.GONE : View.VISIBLE}"
android:contentDescription="@string/content_description_start_call" android:contentDescription="@string/content_description_start_call"
android:layout_width="match_parent" android:layout_width="match_parent"
@ -139,7 +124,7 @@
android:src="@drawable/call_audio_start" /> android:src="@drawable/call_audio_start" />
<ImageView <ImageView
android:onClick="@{addCallClickListener}" android:onClick="@{() -> viewModel.startCall()}"
android:visibility="@{viewModel.atLeastOneCall &amp;&amp; !viewModel.transferVisibility ? View.VISIBLE : View.GONE, default=gone}" android:visibility="@{viewModel.atLeastOneCall &amp;&amp; !viewModel.transferVisibility ? View.VISIBLE : View.GONE, default=gone}"
android:contentDescription="@string/content_description_add_call" android:contentDescription="@string/content_description_add_call"
android:layout_width="match_parent" android:layout_width="match_parent"

View file

@ -1,25 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android" <layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto">
xmlns:tools="http://schemas.android.com/tools">
<data> <data>
<import type="android.view.View"/> <import type="android.view.View"/>
<variable
name="eraseClickListener"
type="android.view.View.OnClickListener"/>
<variable
name="eraseLongClickListener"
type="android.view.View.OnLongClickListener"/>
<variable <variable
name="newContactClickListener" name="newContactClickListener"
type="android.view.View.OnClickListener"/> type="android.view.View.OnClickListener"/>
<variable
name="startCallClickListener"
type="android.view.View.OnClickListener"/>
<variable
name="addCallClickListener"
type="android.view.View.OnClickListener"/>
<variable <variable
name="transferCallClickListener" name="transferCallClickListener"
type="android.view.View.OnClickListener"/> type="android.view.View.OnClickListener"/>
@ -79,8 +66,8 @@
<ImageView <ImageView
android:id="@+id/erase" android:id="@+id/erase"
android:onClick="@{eraseClickListener}" android:onClick="@{() -> viewModel.eraseLastChar()}"
android:onLongClick="@{eraseLongClickListener}" android:onLongClick="@{() -> viewModel.eraseAll()}"
android:contentDescription="@string/content_description_dialer_erase" android:contentDescription="@string/content_description_dialer_erase"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
@ -126,7 +113,7 @@
android:src="@drawable/contact_add" /> android:src="@drawable/contact_add" />
<ImageView <ImageView
android:onClick="@{startCallClickListener}" android:onClick="@{() -> viewModel.startCall()}"
android:visibility="@{viewModel.atLeastOneCall ? View.GONE : View.VISIBLE}" android:visibility="@{viewModel.atLeastOneCall ? View.GONE : View.VISIBLE}"
android:contentDescription="@string/content_description_start_call" android:contentDescription="@string/content_description_start_call"
android:layout_width="match_parent" android:layout_width="match_parent"
@ -137,7 +124,7 @@
android:src="@drawable/call_audio_start" /> android:src="@drawable/call_audio_start" />
<ImageView <ImageView
android:onClick="@{addCallClickListener}" android:onClick="@{() -> viewModel.startCall()}"
android:visibility="@{viewModel.atLeastOneCall &amp;&amp; !viewModel.transferVisibility ? View.VISIBLE : View.GONE, default=gone}" android:visibility="@{viewModel.atLeastOneCall &amp;&amp; !viewModel.transferVisibility ? View.VISIBLE : View.GONE, default=gone}"
android:contentDescription="@string/content_description_add_call" android:contentDescription="@string/content_description_add_call"
android:layout_width="match_parent" android:layout_width="match_parent"

View file

@ -5,21 +5,9 @@
<data> <data>
<import type="android.view.View"/> <import type="android.view.View"/>
<variable
name="eraseClickListener"
type="android.view.View.OnClickListener"/>
<variable
name="eraseLongClickListener"
type="android.view.View.OnLongClickListener"/>
<variable <variable
name="newContactClickListener" name="newContactClickListener"
type="android.view.View.OnClickListener"/> type="android.view.View.OnClickListener"/>
<variable
name="startCallClickListener"
type="android.view.View.OnClickListener"/>
<variable
name="addCallClickListener"
type="android.view.View.OnClickListener"/>
<variable <variable
name="transferCallClickListener" name="transferCallClickListener"
type="android.view.View.OnClickListener"/> type="android.view.View.OnClickListener"/>
@ -41,8 +29,8 @@
<ImageView <ImageView
android:id="@+id/erase" android:id="@+id/erase"
android:onClick="@{eraseClickListener}" android:onClick="@{() -> viewModel.eraseLastChar()}"
android:onLongClick="@{eraseLongClickListener}" android:onLongClick="@{() -> viewModel.eraseAll()}"
android:contentDescription="@string/content_description_dialer_erase" android:contentDescription="@string/content_description_dialer_erase"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
@ -88,7 +76,7 @@
android:src="@drawable/contact_add" /> android:src="@drawable/contact_add" />
<ImageView <ImageView
android:onClick="@{startCallClickListener}" android:onClick="@{() -> viewModel.startCall()}"
android:visibility="@{viewModel.atLeastOneCall ? View.GONE : View.VISIBLE}" android:visibility="@{viewModel.atLeastOneCall ? View.GONE : View.VISIBLE}"
android:contentDescription="@string/content_description_start_call" android:contentDescription="@string/content_description_start_call"
android:layout_width="match_parent" android:layout_width="match_parent"
@ -99,7 +87,7 @@
android:src="@{viewModel.autoInitiateVideoCalls ? @drawable/call_video_start : @drawable/call_audio_start, default=@drawable/call_audio_start}" /> android:src="@{viewModel.autoInitiateVideoCalls ? @drawable/call_video_start : @drawable/call_audio_start, default=@drawable/call_audio_start}" />
<ImageView <ImageView
android:onClick="@{addCallClickListener}" android:onClick="@{() -> viewModel.startCall()}"
android:visibility="@{viewModel.atLeastOneCall &amp;&amp; !viewModel.transferVisibility ? View.VISIBLE : View.GONE, default=gone}" android:visibility="@{viewModel.atLeastOneCall &amp;&amp; !viewModel.transferVisibility ? View.VISIBLE : View.GONE, default=gone}"
android:contentDescription="@string/content_description_add_call" android:contentDescription="@string/content_description_add_call"
android:layout_width="match_parent" android:layout_width="match_parent"