mirror of
https://gitlab.linphone.org/BC/public/linphone-android.git
synced 2026-01-17 11:28:06 +00:00
Removed parenthesis after phone number if no label + added missing fragments (empty)
This commit is contained in:
parent
4c2b67a5aa
commit
9e4c71a3f0
14 changed files with 274 additions and 4 deletions
|
|
@ -20,6 +20,7 @@
|
|||
package org.linphone.ui.main
|
||||
|
||||
import android.Manifest
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Intent
|
||||
import android.content.pm.PackageManager
|
||||
import android.os.Bundle
|
||||
|
|
@ -36,12 +37,14 @@ import androidx.core.view.WindowCompat
|
|||
import androidx.databinding.DataBindingUtil
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.navigation.findNavController
|
||||
import org.linphone.LinphoneApplication.Companion.coreContext
|
||||
import org.linphone.R
|
||||
import org.linphone.core.Account
|
||||
import org.linphone.databinding.AccountPopupMenuBinding
|
||||
import org.linphone.databinding.MainActivityBinding
|
||||
import org.linphone.ui.assistant.AssistantActivity
|
||||
import org.linphone.ui.main.settings.fragment.AcocuntProfileFragmentDirections
|
||||
import org.linphone.ui.main.viewmodel.DrawerMenuViewModel
|
||||
import org.linphone.utils.slideInToastFromTopForDuration
|
||||
|
||||
|
|
@ -73,6 +76,24 @@ class MainActivity : AppCompatActivity() {
|
|||
binding = DataBindingUtil.setContentView(this, R.layout.main_activity)
|
||||
binding.lifecycleOwner = this
|
||||
|
||||
binding.setSettingsClickedListener {
|
||||
val navController = findNavController(R.id.main_nav_host_fragment)
|
||||
navController.navigate(R.id.action_global_settingsFragment)
|
||||
binding.drawerMenu.close()
|
||||
}
|
||||
|
||||
binding.setRecordingsClickListener {
|
||||
val navController = findNavController(R.id.main_nav_host_fragment)
|
||||
navController.navigate(R.id.action_global_recordingsFragment)
|
||||
binding.drawerMenu.close()
|
||||
}
|
||||
|
||||
binding.setHelpClickedListener {
|
||||
val navController = findNavController(R.id.main_nav_host_fragment)
|
||||
navController.navigate(R.id.action_global_helpFragment)
|
||||
binding.drawerMenu.close()
|
||||
}
|
||||
|
||||
drawerMenuViewModel = run {
|
||||
ViewModelProvider(this)[DrawerMenuViewModel::class.java]
|
||||
}
|
||||
|
|
@ -133,6 +154,7 @@ class MainActivity : AppCompatActivity() {
|
|||
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
|
||||
}
|
||||
|
||||
@SuppressLint("RtlHardcoded")
|
||||
fun toggleDrawerMenu() {
|
||||
if (binding.drawerMenu.isDrawerOpen(Gravity.LEFT)) {
|
||||
binding.drawerMenu.closeDrawer(binding.drawerMenuContent, true)
|
||||
|
|
@ -189,8 +211,14 @@ class MainActivity : AppCompatActivity() {
|
|||
)
|
||||
|
||||
popupView.setManageProfileClickListener {
|
||||
// TODO: navigate to profile
|
||||
val navController = findNavController(R.id.main_nav_host_fragment)
|
||||
val identity = account.params.identityAddress?.asString().orEmpty()
|
||||
val action = AcocuntProfileFragmentDirections.actionGlobalAcocuntProfileFragment(
|
||||
identity
|
||||
)
|
||||
navController.navigate(action)
|
||||
popupWindow.dismiss()
|
||||
binding.drawerMenu.close()
|
||||
}
|
||||
|
||||
// Elevation is for showing a shadow around the popup
|
||||
|
|
|
|||
|
|
@ -0,0 +1,25 @@
|
|||
package org.linphone.ui.main.recordings
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import org.linphone.databinding.RecordingsFragmentBinding
|
||||
import org.linphone.ui.main.fragment.GenericFragment
|
||||
|
||||
class RecordingsFragment : GenericFragment() {
|
||||
private lateinit var binding: RecordingsFragmentBinding
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater,
|
||||
container: ViewGroup?,
|
||||
savedInstanceState: Bundle?
|
||||
): View {
|
||||
binding = RecordingsFragmentBinding.inflate(layoutInflater)
|
||||
return binding.root
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
package org.linphone.ui.main.settings.fragment
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import org.linphone.databinding.AccountProfileFragmentBinding
|
||||
import org.linphone.ui.main.fragment.GenericFragment
|
||||
|
||||
class AcocuntProfileFragment : GenericFragment() {
|
||||
private lateinit var binding: AccountProfileFragmentBinding
|
||||
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater,
|
||||
container: ViewGroup?,
|
||||
savedInstanceState: Bundle?
|
||||
): View {
|
||||
binding = AccountProfileFragmentBinding.inflate(layoutInflater)
|
||||
return binding.root
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
package org.linphone.ui.main.settings.fragment
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import org.linphone.databinding.HelpFragmentBinding
|
||||
import org.linphone.ui.main.fragment.GenericFragment
|
||||
|
||||
class HelpFragment : GenericFragment() {
|
||||
private lateinit var binding: HelpFragmentBinding
|
||||
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater,
|
||||
container: ViewGroup?,
|
||||
savedInstanceState: Bundle?
|
||||
): View {
|
||||
binding = HelpFragmentBinding.inflate(layoutInflater)
|
||||
return binding.root
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
package org.linphone.ui.main.settings.fragment
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import org.linphone.databinding.SettingsFragmentBinding
|
||||
import org.linphone.ui.main.fragment.GenericFragment
|
||||
|
||||
class SettingsFragment : GenericFragment() {
|
||||
private lateinit var binding: SettingsFragmentBinding
|
||||
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater,
|
||||
container: ViewGroup?,
|
||||
savedInstanceState: Bundle?
|
||||
): View {
|
||||
binding = SettingsFragmentBinding.inflate(layoutInflater)
|
||||
return binding.root
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
binding.lifecycleOwner = viewLifecycleOwner
|
||||
}
|
||||
}
|
||||
17
app/src/main/res/layout/account_profile_fragment.xml
Normal file
17
app/src/main/res/layout/account_profile_fragment.xml
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<data>
|
||||
<import type="android.view.View" />
|
||||
</data>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/white">
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</layout>
|
||||
|
|
@ -26,7 +26,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginStart="10dp"
|
||||
android:text="@{model.sip ? `SIP address` : `Phone (` + model.label + `)`, default=`Phone (Home)`}"
|
||||
android:text="@{model.sip ? `SIP address` : model.label.length() > 0 ? `Phone (` + model.label + `)` : `Phone`, default=`Phone (Home)`}"
|
||||
android:textSize="14sp"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginStart="10dp"
|
||||
android:text="@{model.sip ? `SIP address` : `Phone (` + model.label + `)`, default=`Phone (Home)`}"
|
||||
android:text="@{model.sip ? `SIP address` : model.label.length() > 0 ? `Phone (` + model.label + `)` : `Phone`, default=`Phone (Home)`}"
|
||||
android:textSize="14sp"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
|
|
|
|||
|
|
@ -5,6 +5,15 @@
|
|||
|
||||
<data>
|
||||
<import type="android.view.View" />
|
||||
<variable
|
||||
name="settingsClickedListener"
|
||||
type="View.OnClickListener" />
|
||||
<variable
|
||||
name="recordingsClickListener"
|
||||
type="View.OnClickListener" />
|
||||
<variable
|
||||
name="helpClickedListener"
|
||||
type="View.OnClickListener" />
|
||||
<variable
|
||||
name="viewModel"
|
||||
type="org.linphone.ui.main.viewmodel.DrawerMenuViewModel" />
|
||||
|
|
@ -12,7 +21,9 @@
|
|||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
android:layout_height="match_parent"
|
||||
android:clickable="true"
|
||||
android:focusable="true">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/brand_icon"
|
||||
|
|
@ -104,6 +115,7 @@
|
|||
app:layout_constraintBottom_toTopOf="@id/settings" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:onClick="@{settingsClickedListener}"
|
||||
style="@style/default_text_style_700"
|
||||
android:id="@+id/settings"
|
||||
android:layout_width="0dp"
|
||||
|
|
@ -122,6 +134,7 @@
|
|||
app:layout_constraintBottom_toTopOf="@id/recordings" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:onClick="@{recordingsClickListener}"
|
||||
style="@style/default_text_style_700"
|
||||
android:id="@+id/recordings"
|
||||
android:layout_width="0dp"
|
||||
|
|
@ -140,6 +153,7 @@
|
|||
app:layout_constraintBottom_toTopOf="@id/help" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:onClick="@{helpClickedListener}"
|
||||
style="@style/default_text_style_700"
|
||||
android:id="@+id/help"
|
||||
android:layout_width="0dp"
|
||||
|
|
|
|||
17
app/src/main/res/layout/help_fragment.xml
Normal file
17
app/src/main/res/layout/help_fragment.xml
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<data>
|
||||
<import type="android.view.View" />
|
||||
</data>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/white">
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</layout>
|
||||
|
|
@ -4,6 +4,16 @@
|
|||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<data>
|
||||
<import type="android.view.View" />
|
||||
<variable
|
||||
name="settingsClickedListener"
|
||||
type="View.OnClickListener" />
|
||||
<variable
|
||||
name="recordingsClickListener"
|
||||
type="View.OnClickListener" />
|
||||
<variable
|
||||
name="helpClickedListener"
|
||||
type="View.OnClickListener" />
|
||||
<variable
|
||||
name="drawerMenuViewModel"
|
||||
type="org.linphone.ui.main.viewmodel.DrawerMenuViewModel" />
|
||||
|
|
@ -57,6 +67,9 @@
|
|||
android:layout_gravity="start">
|
||||
|
||||
<include
|
||||
tools:settingsClickedListener="@{settingsClickedListener}"
|
||||
tools:recordingsClickListener="@{recordingsClickListener}"
|
||||
tools:helpClickedListener="@{helpClickedListener}"
|
||||
tools:viewModel="@{drawerMenuViewModel}"
|
||||
layout="@layout/drawer_menu" />
|
||||
|
||||
|
|
|
|||
17
app/src/main/res/layout/recordings_fragment.xml
Normal file
17
app/src/main/res/layout/recordings_fragment.xml
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<data>
|
||||
<import type="android.view.View" />
|
||||
</data>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/white">
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</layout>
|
||||
17
app/src/main/res/layout/settings_fragment.xml
Normal file
17
app/src/main/res/layout/settings_fragment.xml
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<data>
|
||||
<import type="android.view.View" />
|
||||
</data>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/white">
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</layout>
|
||||
|
|
@ -90,4 +90,48 @@
|
|||
app:destination="@id/conversationsFragment" />
|
||||
</fragment>
|
||||
|
||||
<fragment
|
||||
android:id="@+id/acocuntProfileFragment"
|
||||
android:name="org.linphone.ui.main.settings.fragment.AcocuntProfileFragment"
|
||||
android:label="AcocuntProfileFragment"
|
||||
tools:layout="@layout/account_profile_fragment">
|
||||
<argument
|
||||
android:name="accountIdentity"
|
||||
app:argType="string" />
|
||||
</fragment>
|
||||
|
||||
<action
|
||||
android:id="@+id/action_global_acocuntProfileFragment"
|
||||
app:destination="@id/acocuntProfileFragment" />
|
||||
|
||||
<fragment
|
||||
android:id="@+id/settingsFragment"
|
||||
android:name="org.linphone.ui.main.settings.fragment.SettingsFragment"
|
||||
android:label="SettingsFragment"
|
||||
tools:layout="@layout/settings_fragment" />
|
||||
|
||||
<action
|
||||
android:id="@+id/action_global_settingsFragment"
|
||||
app:destination="@id/settingsFragment"/>
|
||||
|
||||
<fragment
|
||||
android:id="@+id/helpFragment"
|
||||
android:name="org.linphone.ui.main.settings.fragment.HelpFragment"
|
||||
android:label="HelpFragment"
|
||||
tools:layout="@layout/help_fragment" />
|
||||
|
||||
<action
|
||||
android:id="@+id/action_global_helpFragment"
|
||||
app:destination="@id/helpFragment"/>
|
||||
|
||||
<fragment
|
||||
android:id="@+id/recordingsFragment"
|
||||
android:name="org.linphone.ui.main.recordings.RecordingsFragment"
|
||||
android:label="RecordingsFragment"
|
||||
tools:layout="@layout/recordings_fragment" />
|
||||
|
||||
<action
|
||||
android:id="@+id/action_global_recordingsFragment"
|
||||
app:destination="@id/recordingsFragment"/>
|
||||
|
||||
</navigation>
|
||||
Loading…
Add table
Reference in a new issue