mirror of
https://gitlab.linphone.org/BC/public/linphone-android.git
synced 2026-01-17 11:28:06 +00:00
Various changes
This commit is contained in:
parent
e90aa13890
commit
c4f666fdd6
15 changed files with 118 additions and 46 deletions
|
|
@ -56,6 +56,14 @@ class CoreContext @UiThread constructor(val context: Context) : HandlerThread("C
|
|||
|
||||
val telecomManager = TelecomManager(context)
|
||||
|
||||
@get:AnyThread
|
||||
val sdkVersion: String by lazy {
|
||||
val sdkVersion = context.getString(R.string.linphone_sdk_version)
|
||||
val sdkBranch = context.getString(R.string.linphone_sdk_branch)
|
||||
val sdkBuildType = org.linphone.core.BuildConfig.BUILD_TYPE
|
||||
"$sdkVersion ($sdkBranch, $sdkBuildType)"
|
||||
}
|
||||
|
||||
private val activityMonitor = ActivityMonitor()
|
||||
|
||||
private val mainThread = Handler(Looper.getMainLooper())
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ import android.view.View
|
|||
import android.view.ViewGroup
|
||||
import androidx.annotation.UiThread
|
||||
import androidx.core.view.doOnPreDraw
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import androidx.navigation.navGraphViewModels
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.google.android.material.bottomsheet.BottomSheetBehavior
|
||||
|
|
@ -89,6 +90,14 @@ class StartCallFragment : GenericFragment() {
|
|||
return binding.root
|
||||
}
|
||||
|
||||
override fun goBack(): Boolean {
|
||||
val standardBottomSheetBehavior = BottomSheetBehavior.from(binding.numpadLayout.root)
|
||||
standardBottomSheetBehavior.state = BottomSheetBehavior.STATE_COLLAPSED
|
||||
|
||||
findNavController().popBackStack()
|
||||
return true
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
postponeEnterTransition()
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ class DebugFragment : GenericFragment() {
|
|||
viewModel.debugLogsCleanedEvent.observe(viewLifecycleOwner) {
|
||||
it.consume {
|
||||
(requireActivity() as MainActivity).showGreenToast(
|
||||
getString(R.string.help_advanced_debug_logs_cleaned_toast_message),
|
||||
getString(R.string.help_troubleshooting_debug_logs_cleaned_toast_message),
|
||||
R.drawable.info
|
||||
)
|
||||
}
|
||||
|
|
@ -81,7 +81,7 @@ class DebugFragment : GenericFragment() {
|
|||
|
||||
(requireActivity() as MainActivity).showGreenToast(
|
||||
getString(
|
||||
R.string.help_advanced_debug_logs_url_copied_into_clipboard_toast_message
|
||||
R.string.help_troubleshooting_debug_logs_url_copied_into_clipboard_toast_message
|
||||
),
|
||||
R.drawable.info
|
||||
)
|
||||
|
|
@ -93,7 +93,7 @@ class DebugFragment : GenericFragment() {
|
|||
viewModel.uploadDebugLogsErrorEvent.observe(viewLifecycleOwner) {
|
||||
it.consume {
|
||||
(requireActivity() as MainActivity).showRedToast(
|
||||
getString(R.string.help_advanced_debug_logs_upload_error_toast_message),
|
||||
getString(R.string.help_troubleshooting_debug_logs_upload_error_toast_message),
|
||||
R.drawable.warning_circle
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,6 +41,8 @@ class HelpViewModel @UiThread constructor() : ViewModel() {
|
|||
|
||||
val version = MutableLiveData<String>()
|
||||
|
||||
val sdkVersion = MutableLiveData<String>()
|
||||
|
||||
val debugModeEnabled = MutableLiveData<Boolean>()
|
||||
|
||||
val newVersionAvailableEvent: MutableLiveData<Event<String>> by lazy {
|
||||
|
|
@ -111,6 +113,7 @@ class HelpViewModel @UiThread constructor() : ViewModel() {
|
|||
init {
|
||||
val currentVersion = BuildConfig.VERSION_NAME
|
||||
version.value = currentVersion
|
||||
sdkVersion.value = coreContext.sdkVersion
|
||||
|
||||
coreContext.postOnCoreThread { core ->
|
||||
core.addListener(coreListener)
|
||||
|
|
|
|||
|
|
@ -92,31 +92,34 @@ class AccountProfileFragment : GenericFragment() {
|
|||
// TODO: account settings feature
|
||||
}
|
||||
|
||||
binding.setDeleteAccountClickListener {
|
||||
val model = ConfirmationDialogModel()
|
||||
val dialog = DialogUtils.getConfirmAccountRemovalDialog(
|
||||
requireActivity(),
|
||||
model,
|
||||
viewModel.displayName.value.orEmpty()
|
||||
)
|
||||
|
||||
model.dismissEvent.observe(viewLifecycleOwner) {
|
||||
it.consume {
|
||||
dialog.dismiss()
|
||||
}
|
||||
}
|
||||
|
||||
model.confirmRemovalEvent.observe(viewLifecycleOwner) {
|
||||
it.consume {
|
||||
viewModel.deleteAccount()
|
||||
dialog.dismiss()
|
||||
}
|
||||
}
|
||||
|
||||
dialog.show()
|
||||
}
|
||||
|
||||
viewModel.accountRemovedEvent.observe(viewLifecycleOwner) {
|
||||
it.consume {
|
||||
val model = ConfirmationDialogModel()
|
||||
val dialog = DialogUtils.getConfirmAccountRemovalDialog(
|
||||
requireActivity(),
|
||||
model,
|
||||
viewModel.displayName.value.orEmpty()
|
||||
)
|
||||
|
||||
model.dismissEvent.observe(viewLifecycleOwner) {
|
||||
it.consume {
|
||||
dialog.dismiss()
|
||||
}
|
||||
}
|
||||
|
||||
model.confirmRemovalEvent.observe(viewLifecycleOwner) {
|
||||
it.consume {
|
||||
Log.i("$TAG Account has been removed, leaving profile")
|
||||
findNavController().popBackStack()
|
||||
|
||||
dialog.dismiss()
|
||||
}
|
||||
}
|
||||
|
||||
dialog.show()
|
||||
Log.i("$TAG Account has been removed, leaving profile")
|
||||
findNavController().popBackStack()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -171,7 +171,7 @@ class AppUtils {
|
|||
activity.startActivity(
|
||||
Intent.createChooser(
|
||||
intent,
|
||||
activity.getString(R.string.help_advanced_share_logs_dialog_title)
|
||||
activity.getString(R.string.help_troubleshooting_share_logs_dialog_title)
|
||||
)
|
||||
)
|
||||
} catch (ex: ActivityNotFoundException) {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
|
||||
<corners android:radius="71dp" />
|
||||
<solid android:color="@color/green_success_200"/>
|
||||
</shape>
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_enabled="false"
|
||||
android:drawable="@drawable/shape_squircle_red_disabled_background" />
|
||||
android:drawable="@drawable/shape_squircle_green_disabled_background" />
|
||||
<item android:state_pressed="true"
|
||||
android:drawable="@drawable/shape_squircle_green_pressed_background" />
|
||||
<item
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
android:onClick="@{() -> model.setAsDefault()}"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@{model.isDefault ? @color/transparent_light_orange : @color/white, default=@color/transparent_light_orange}">
|
||||
android:background="@{model.isDefault ? @color/gray_main2_100 : @color/white, default=@color/gray_main2_100}">
|
||||
|
||||
<androidx.constraintlayout.widget.Barrier
|
||||
android:id="@+id/left_barrier"
|
||||
|
|
|
|||
|
|
@ -17,6 +17,9 @@
|
|||
<variable
|
||||
name="settingsClickListener"
|
||||
type="View.OnClickListener" />
|
||||
<variable
|
||||
name="deleteAccountClickListener"
|
||||
type="View.OnClickListener" />
|
||||
<variable
|
||||
name="viewModel"
|
||||
type="org.linphone.ui.main.settings.viewmodel.AccountProfileViewModel" />
|
||||
|
|
@ -421,7 +424,7 @@
|
|||
app:layout_constraintTop_toBottomOf="@+id/action_settings"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:onClick="@{() -> viewModel.deleteAccount()}"
|
||||
android:onClick="@{deleteAccountClickListener}"
|
||||
style="@style/context_menu_danger_action_label_style"
|
||||
android:id="@+id/action_delete"
|
||||
android:layout_width="0dp"
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@
|
|||
android:layout_height="@dimen/top_bar_height"
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:text="@string/help_debug_title"
|
||||
android:text="@string/help_troubleshooting_title"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/back"
|
||||
app:layout_constraintTop_toTopOf="parent"/>
|
||||
|
|
@ -51,7 +51,7 @@
|
|||
android:layout_marginStart="16dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:layout_marginTop="24dp"
|
||||
android:text="@string/help_advanced_debug_title"
|
||||
android:text="@string/help_troubleshooting_debug_title"
|
||||
app:layout_constraintTop_toBottomOf="@id/title"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@id/debug_mode_switch"/>
|
||||
|
|
@ -63,7 +63,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:text="@string/help_advanced_debug_subtitle"
|
||||
android:text="@string/help_troubleshooting_debug_subtitle"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/gray_main2_600"
|
||||
app:layout_constraintTop_toBottomOf="@id/debug_title"
|
||||
|
|
@ -100,7 +100,7 @@
|
|||
android:paddingTop="6dp"
|
||||
android:paddingBottom="6dp"
|
||||
android:gravity="center"
|
||||
android:text="@string/help_advanced_clean_logs"
|
||||
android:text="@string/help_troubleshooting_clean_logs"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
|
|
@ -122,12 +122,51 @@
|
|||
android:paddingTop="6dp"
|
||||
android:paddingBottom="6dp"
|
||||
android:gravity="center"
|
||||
android:text="@string/help_advanced_share_logs"
|
||||
android:text="@string/help_troubleshooting_share_logs"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
app:layout_constraintStart_toEndOf="@id/clean_logs"
|
||||
app:layout_constraintTop_toBottomOf="@id/debug_subtitle"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/version_icon"
|
||||
android:layout_width="32dp"
|
||||
android:layout_height="32dp"
|
||||
android:layout_marginStart="16dp"
|
||||
android:src="@drawable/info"
|
||||
app:tint="@color/orange_main_500"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@id/version_title"
|
||||
app:layout_constraintTop_toTopOf="@id/version_title"
|
||||
app:layout_constraintBottom_toBottomOf="@id/version_subtitle"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/header_style"
|
||||
android:id="@+id/version_title"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:layout_marginTop="24dp"
|
||||
android:text="@string/help_troubleshooting_sdk_version_title"
|
||||
app:layout_constraintTop_toBottomOf="@id/send_logs"
|
||||
app:layout_constraintStart_toEndOf="@id/version_icon"
|
||||
app:layout_constraintEnd_toEndOf="parent"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
style="@style/default_text_style"
|
||||
android:id="@+id/version_subtitle"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="16dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:text="@{viewModel.sdkVersion, default=`5.3.0`}"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/gray_main2_600"
|
||||
app:layout_constraintTop_toBottomOf="@id/version_title"
|
||||
app:layout_constraintStart_toEndOf="@id/version_icon"
|
||||
app:layout_constraintEnd_toEndOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</layout>
|
||||
|
|
@ -278,7 +278,7 @@
|
|||
android:layout_marginStart="16dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:layout_marginTop="24dp"
|
||||
android:text="@string/help_debug_title"
|
||||
android:text="@string/help_troubleshooting_title"
|
||||
app:layout_constraintTop_toBottomOf="@id/advanced_title"
|
||||
app:layout_constraintStart_toEndOf="@id/debug_icon"
|
||||
app:layout_constraintEnd_toEndOf="parent"/>
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@
|
|||
android:id="@+id/hang_up"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/voip_button_size"
|
||||
android:layout_marginEnd="30dp"
|
||||
android:background="@drawable/squircle_red_button_background"
|
||||
android:onClick="@{() -> viewModel.hangUp()}"
|
||||
android:paddingStart="30dp"
|
||||
|
|
@ -27,6 +28,7 @@
|
|||
android:paddingEnd="30dp"
|
||||
android:paddingBottom="15dp"
|
||||
android:src="@drawable/phone_disconnect"
|
||||
app:layout_constraintHorizontal_chainStyle="packed"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@id/answer_call"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
|
|
|
|||
|
|
@ -39,5 +39,4 @@
|
|||
<color name="blue_info_500">#4AA8FF</color>
|
||||
|
||||
<color name="orange_away">#FFA645</color>
|
||||
<color name="transparent_light_orange">#1ABF4601</color>
|
||||
</resources>
|
||||
|
|
@ -152,18 +152,19 @@
|
|||
<string name="help_about_check_for_update">Check update</string>
|
||||
<string name="help_about_contribute_translations_title">Contribute on &appName; translation</string>
|
||||
<string name="help_about_advanced_title">Advanced</string>
|
||||
<string name="help_debug_title">Troubleshooting</string>
|
||||
<string name="help_advanced_debug_title">Enable/disable debug logs</string>
|
||||
<string name="help_advanced_debug_subtitle">Blah</string> <!-- TODO -->
|
||||
<string name="help_advanced_clean_logs">Clean logs</string>
|
||||
<string name="help_advanced_share_logs">Share logs</string>
|
||||
<string name="help_advanced_share_logs_dialog_title">Share debug logs link using…</string>
|
||||
<string name="help_update_available_toast_message">A new version is available: %s</string>
|
||||
<string name="help_version_up_to_date_toast_message">Your version is up-to-date</string>
|
||||
<string name="help_error_checking_version_toast_message">An error occurred while checking for update</string>
|
||||
<string name="help_advanced_debug_logs_cleaned_toast_message">Debug logs have been cleaned</string>
|
||||
<string name="help_advanced_debug_logs_url_copied_into_clipboard_toast_message">Debug logs URL copied into clipboard</string>
|
||||
<string name="help_advanced_debug_logs_upload_error_toast_message">Failed to upload debug logs</string>
|
||||
<string name="help_troubleshooting_title">Troubleshooting</string>
|
||||
<string name="help_troubleshooting_debug_title">Enable/disable debug logs</string>
|
||||
<string name="help_troubleshooting_debug_subtitle">Blah</string> <!-- TODO -->
|
||||
<string name="help_troubleshooting_clean_logs">Clean logs</string>
|
||||
<string name="help_troubleshooting_share_logs">Share logs</string>
|
||||
<string name="help_troubleshooting_sdk_version_title">Linphone SDK version</string>
|
||||
<string name="help_troubleshooting_share_logs_dialog_title">Share debug logs link using…</string>
|
||||
<string name="help_troubleshooting_debug_logs_cleaned_toast_message">Debug logs have been cleaned</string>
|
||||
<string name="help_troubleshooting_debug_logs_url_copied_into_clipboard_toast_message">Debug logs URL copied into clipboard</string>
|
||||
<string name="help_troubleshooting_debug_logs_upload_error_toast_message">Failed to upload debug logs</string>
|
||||
|
||||
<string name="settings_calls_title">Calls</string>
|
||||
<string name="settings_calls_echo_canceller_title">Use echo canceller</string>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue