diff --git a/app/src/main/java/org/linphone/activities/main/MainActivity.kt b/app/src/main/java/org/linphone/activities/main/MainActivity.kt index 7878fbb8e..1cb84130d 100644 --- a/app/src/main/java/org/linphone/activities/main/MainActivity.kt +++ b/app/src/main/java/org/linphone/activities/main/MainActivity.kt @@ -21,13 +21,13 @@ package org.linphone.activities.main import android.app.Activity import android.content.Intent -import android.content.res.Configuration import android.net.Uri import android.os.Bundle import android.os.Parcelable import android.view.Gravity import android.view.View import android.view.inputmethod.InputMethodManager +import androidx.constraintlayout.motion.widget.MotionLayout import androidx.databinding.DataBindingUtil import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.lifecycleScope @@ -124,12 +124,7 @@ class MainActivity : GenericActivity(), SnackBarActivity, NavController.OnDestin } override fun showSnackBar(resourceId: Int) { - val snackBar = Snackbar.make(binding.coordinator, resourceId, Snackbar.LENGTH_LONG) - if (binding.tabsFragment.visibility == View.VISIBLE && - resources.configuration.orientation == Configuration.ORIENTATION_PORTRAIT) { - snackBar.anchorView = binding.tabsFragment - } - snackBar.show() + Snackbar.make(findViewById(R.id.coordinator), resourceId, Snackbar.LENGTH_LONG).show() } override fun onPostCreate(savedInstanceState: Bundle?) { @@ -151,9 +146,11 @@ class MainActivity : GenericActivity(), SnackBarActivity, NavController.OnDestin ) { currentFocus?.hideKeyboard() - binding.tabsFragment.visibility = when (destination.id) { - R.id.masterCallLogsFragment, R.id.masterContactsFragment, R.id.dialerFragment, R.id.masterChatRoomsFragment -> View.VISIBLE - else -> View.GONE + val motionLayout: MotionLayout = binding.content as MotionLayout + when (destination.id) { + R.id.masterCallLogsFragment, R.id.masterContactsFragment, R.id.dialerFragment, R.id.masterChatRoomsFragment -> + motionLayout.transitionToState(R.id.visible) + else -> motionLayout.transitionToState(R.id.gone) } } @@ -199,7 +196,7 @@ class MainActivity : GenericActivity(), SnackBarActivity, NavController.OnDestin var addressToCall: String = stringUri try { addressToCall = URLDecoder.decode(stringUri, "UTF-8") - } catch (e: UnsupportedEncodingException) {} + } catch (e: UnsupportedEncodingException) { } if (addressToCall.startsWith("sip:")) { addressToCall = addressToCall.substring("sip:".length) @@ -210,7 +207,10 @@ class MainActivity : GenericActivity(), SnackBarActivity, NavController.OnDestin Log.i("[Main Activity] Starting dialer with pre-filled URI $addressToCall") val args = Bundle() args.putString("URI", addressToCall) - findNavController(R.id.nav_host_fragment).navigate(R.id.action_global_dialerFragment, args) + findNavController(R.id.nav_host_fragment).navigate( + R.id.action_global_dialerFragment, + args + ) } } else -> { @@ -237,7 +237,10 @@ class MainActivity : GenericActivity(), SnackBarActivity, NavController.OnDestin Log.i("[Main Activity] Found dialer intent extra, go to dialer") val args = Bundle() args.putBoolean("Transfer", intent.getBooleanExtra("Transfer", false)) - findNavController(R.id.nav_host_fragment).navigate(R.id.action_global_dialerFragment, args) + findNavController(R.id.nav_host_fragment).navigate( + R.id.action_global_dialerFragment, + args + ) } } } diff --git a/app/src/main/res/layout-land/main_activity.xml b/app/src/main/res/layout-land/main_activity.xml deleted file mode 100644 index 9bb417a1d..000000000 --- a/app/src/main/res/layout-land/main_activity.xml +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout-land/main_activity_content.xml b/app/src/main/res/layout-land/main_activity_content.xml new file mode 100644 index 000000000..021c843eb --- /dev/null +++ b/app/src/main/res/layout-land/main_activity_content.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout-land/tabs_fragment.xml b/app/src/main/res/layout-land/tabs_fragment.xml index 4429f1390..8345477e0 100644 --- a/app/src/main/res/layout-land/tabs_fragment.xml +++ b/app/src/main/res/layout-land/tabs_fragment.xml @@ -150,7 +150,7 @@ android:id="@+id/selectorMotion" android:layout_width="5dp" android:layout_height="match_parent" - app:layoutDescription="@xml/tabs_land" + app:layoutDescription="@xml/motion_main_activity_tabs_selector_land" app:layout_constraintRight_toRightOf="parent"> @@ -68,7 +68,7 @@ android:id="@+id/side_menu_content" android:layout_width="match_parent" android:layout_height="match_parent" - android:layout_marginTop="40dp" + android:layout_marginTop="@dimen/status_fragment_size" android:layout_gravity="left"> diff --git a/app/src/main/res/layout/call_outgoing_activity.xml b/app/src/main/res/layout/call_outgoing_activity.xml index b48dfd05f..a1039a1ce 100644 --- a/app/src/main/res/layout/call_outgoing_activity.xml +++ b/app/src/main/res/layout/call_outgoing_activity.xml @@ -22,7 +22,7 @@ android:id="@+id/status_fragment" android:name="org.linphone.activities.call.fragments.StatusFragment" android:layout_width="match_parent" - android:layout_height="40dp" + android:layout_height="@dimen/status_fragment_size" android:layout_alignParentTop="true" tools:layout="@layout/call_status_fragment" /> @@ -45,6 +45,8 @@ diff --git a/app/src/main/res/layout/main_activity.xml b/app/src/main/res/layout/main_activity.xml index 90993d30f..abdc88b5d 100644 --- a/app/src/main/res/layout/main_activity.xml +++ b/app/src/main/res/layout/main_activity.xml @@ -1,6 +1,5 @@ @@ -14,7 +13,6 @@ @@ -27,7 +25,7 @@ android:id="@+id/status_fragment" android:name="org.linphone.activities.main.fragments.StatusFragment" android:layout_width="match_parent" - android:layout_height="40dp" + android:layout_height="@dimen/status_fragment_size" android:layout_alignParentTop="true" tools:layout="@layout/status_fragment" /> @@ -37,29 +35,7 @@ android:layout_height="match_parent" android:layout_below="@id/status_fragment"> - - - - - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/status_fragment.xml b/app/src/main/res/layout/status_fragment.xml index 86beb648e..841a45e45 100644 --- a/app/src/main/res/layout/status_fragment.xml +++ b/app/src/main/res/layout/status_fragment.xml @@ -16,7 +16,7 @@ diff --git a/app/src/main/res/layout/tabs_fragment.xml b/app/src/main/res/layout/tabs_fragment.xml index 63a39b0da..37c3a9a5f 100644 --- a/app/src/main/res/layout/tabs_fragment.xml +++ b/app/src/main/res/layout/tabs_fragment.xml @@ -143,7 +143,7 @@ android:id="@+id/selectorMotion" android:layout_width="match_parent" android:layout_height="5dp" - app:layoutDescription="@xml/tabs" + app:layoutDescription="@xml/motion_main_activity_tabs_selector" app:layout_constraintBottom_toBottomOf="parent"> 100dp 200dp 50dp + 60dp + 40dp \ No newline at end of file diff --git a/app/src/main/res/xml/motion_main_activity_tabs.xml b/app/src/main/res/xml/motion_main_activity_tabs.xml new file mode 100644 index 000000000..2ca2f6d4f --- /dev/null +++ b/app/src/main/res/xml/motion_main_activity_tabs.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/xml/motion_main_activity_tabs_land.xml b/app/src/main/res/xml/motion_main_activity_tabs_land.xml new file mode 100644 index 000000000..127cdbfb2 --- /dev/null +++ b/app/src/main/res/xml/motion_main_activity_tabs_land.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/xml/tabs.xml b/app/src/main/res/xml/motion_main_activity_tabs_selector.xml similarity index 100% rename from app/src/main/res/xml/tabs.xml rename to app/src/main/res/xml/motion_main_activity_tabs_selector.xml diff --git a/app/src/main/res/xml/tabs_land.xml b/app/src/main/res/xml/motion_main_activity_tabs_selector_land.xml similarity index 100% rename from app/src/main/res/xml/tabs_land.xml rename to app/src/main/res/xml/motion_main_activity_tabs_selector_land.xml