diff --git a/app/src/main/java/org/linphone/ui/assistant/fragment/ProfileModeFragment.kt b/app/src/main/java/org/linphone/ui/assistant/fragment/ProfileModeFragment.kt index 2ba17294e..51882d61e 100644 --- a/app/src/main/java/org/linphone/ui/assistant/fragment/ProfileModeFragment.kt +++ b/app/src/main/java/org/linphone/ui/assistant/fragment/ProfileModeFragment.kt @@ -19,30 +19,14 @@ */ package org.linphone.ui.assistant.fragment -import android.content.Intent -import android.net.Uri import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.annotation.UiThread -import androidx.core.content.ContextCompat import androidx.fragment.app.Fragment -import androidx.lifecycle.lifecycleScope import androidx.navigation.fragment.findNavController -import androidx.navigation.navGraphViewModels -import kotlinx.coroutines.delay -import kotlinx.coroutines.launch -import org.linphone.LinphoneApplication.Companion.coreContext -import org.linphone.R -import org.linphone.core.tools.Log -import org.linphone.databinding.AssistantLoginFragmentBinding import org.linphone.databinding.AssistantSecureModeFragmentBinding -import org.linphone.ui.assistant.AssistantActivity -import org.linphone.ui.assistant.model.AcceptConditionsAndPolicyDialogModel -import org.linphone.ui.assistant.viewmodel.AccountLoginViewModel -import org.linphone.utils.DialogUtils -import org.linphone.utils.PhoneNumberUtils @UiThread class ProfileModeFragment : Fragment() { diff --git a/app/src/main/java/org/linphone/ui/main/settings/fragment/AccountProfileFragment.kt b/app/src/main/java/org/linphone/ui/main/settings/fragment/AccountProfileFragment.kt index b23b58c74..3a0f7adbf 100644 --- a/app/src/main/java/org/linphone/ui/main/settings/fragment/AccountProfileFragment.kt +++ b/app/src/main/java/org/linphone/ui/main/settings/fragment/AccountProfileFragment.kt @@ -9,6 +9,7 @@ import androidx.activity.result.contract.ActivityResultContracts import androidx.annotation.UiThread import androidx.core.view.doOnPreDraw import androidx.lifecycle.lifecycleScope +import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.navArgs import androidx.navigation.navGraphViewModels import kotlinx.coroutines.launch @@ -80,6 +81,19 @@ class AccountProfileFragment : GenericFragment() { pickImage() } + binding.setChangeModeClickListener { + val action = AccountProfileFragmentDirections.actionAccountProfileFragmentToProfileModeFragment() + findNavController().navigate(action) + } + + binding.setSettingsClickListener { + // TODO + } + + binding.setDeleteClickListener { + // TODO + } + viewModel.accountFoundEvent.observe(viewLifecycleOwner) { it.consume { found -> if (found) { diff --git a/app/src/main/java/org/linphone/ui/main/settings/viewmodel/AccountProfileViewModel.kt b/app/src/main/java/org/linphone/ui/main/settings/viewmodel/AccountProfileViewModel.kt index 71d692c91..f11f8645c 100644 --- a/app/src/main/java/org/linphone/ui/main/settings/viewmodel/AccountProfileViewModel.kt +++ b/app/src/main/java/org/linphone/ui/main/settings/viewmodel/AccountProfileViewModel.kt @@ -23,8 +23,14 @@ class AccountProfileViewModel @UiThread constructor() : ViewModel() { val accountFoundEvent = MutableLiveData>() + val expandDetails = MutableLiveData() + private lateinit var account: Account + init { + expandDetails.value = true + } + @UiThread fun findAccountMatchingIdentity(identity: String) { coreContext.postOnCoreThread { core -> @@ -78,4 +84,9 @@ class AccountProfileViewModel @UiThread constructor() : ViewModel() { } } } + + @UiThread + fun toggleDetailsExpand() { + expandDetails.value = expandDetails.value == false + } } diff --git a/app/src/main/res/layout/account_profile_fragment.xml b/app/src/main/res/layout/account_profile_fragment.xml index 9a6486565..7c3592e82 100644 --- a/app/src/main/res/layout/account_profile_fragment.xml +++ b/app/src/main/res/layout/account_profile_fragment.xml @@ -11,6 +11,15 @@ + + + @@ -21,6 +30,12 @@ android:layout_height="match_parent" android:background="@color/white"> + + - + app:layout_constraintTop_toBottomOf="@id/title" /> - + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toBottomOf="@id/details" + app:layout_constraintBottom_toBottomOf="@id/details_bottom_anchor"/> + + + + + app:layout_constraintStart_toStartOf="@id/details_background" + app:layout_constraintTop_toBottomOf="@id/sip_address"/> + + + app:layout_constraintTop_toBottomOf="@id/display_name"/> + + + + + app:layout_constraintStart_toEndOf="@id/connected_switch" + app:layout_constraintTop_toTopOf="@id/connected_switch" + app:layout_constraintBottom_toBottomOf="@id/connected_switch" /> - + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/contact_fragment.xml b/app/src/main/res/layout/contact_fragment.xml index edec5bb33..3020ae533 100644 --- a/app/src/main/res/layout/contact_fragment.xml +++ b/app/src/main/res/layout/contact_fragment.xml @@ -70,7 +70,6 @@ android:id="@+id/scrollView" android:layout_width="0dp" android:layout_height="0dp" - android:background="@color/gray_7" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toBottomOf="@id/invisible_title" @@ -263,7 +262,7 @@ android:layout_marginEnd="16dp" android:layout_marginTop="10dp" android:padding="10dp" - android:background="@drawable/shape_squircle_white_background" + android:background="@drawable/shape_squircle_gray_2_background" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toBottomOf="@id/numbers_and_addresses_label" @@ -277,7 +276,7 @@ android:layout_marginTop="16dp" android:layout_marginStart="17dp" android:layout_marginEnd="17dp" - android:src="@drawable/shape_squircle_white_background" + android:src="@drawable/shape_squircle_gray_2_background" android:visibility="@{viewModel.title.length() > 0 || viewModel.company.length() > 0 ? View.VISIBLE : View.GONE}" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" @@ -382,7 +381,7 @@ android:layout_marginTop="10dp" android:layout_marginStart="17dp" android:layout_marginEnd="17dp" - android:src="@drawable/shape_squircle_white_background" + android:src="@drawable/shape_squircle_gray_2_background" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toBottomOf="@id/trust_label" @@ -469,7 +468,7 @@ android:layout_marginTop="10dp" android:layout_marginStart="17dp" android:layout_marginEnd="17dp" - android:src="@drawable/shape_squircle_white_background" + android:src="@drawable/shape_squircle_gray_2_background" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toBottomOf="@id/actions" diff --git a/app/src/main/res/navigation/main_nav_graph.xml b/app/src/main/res/navigation/main_nav_graph.xml index f3ee0eccf..eb46e8929 100644 --- a/app/src/main/res/navigation/main_nav_graph.xml +++ b/app/src/main/res/navigation/main_nav_graph.xml @@ -40,6 +40,14 @@ + + + \ 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 a8709917d..893ee8aa3 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -104,10 +104,14 @@ Recordings Help - Account profile + Manage account + Details Add a picture Edit picture + Change mode International Prefix + Account settings + Delete account Online Online on %s @@ -153,7 +157,7 @@ Job title: Trust Number of trusted devices: - Trust + Other actions Edit Add to favourites Remove from favourites