Added shortcut to Android app settings in advanced params

This commit is contained in:
Sylvain Berfini 2025-01-21 11:31:08 +01:00
parent f7d65b102e
commit 456181609b
4 changed files with 43 additions and 2 deletions

View file

@ -19,7 +19,10 @@
*/
package org.linphone.ui.main.settings.fragment
import android.content.Intent
import android.net.Uri
import android.os.Bundle
import android.provider.Settings
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
@ -28,6 +31,7 @@ import android.widget.ArrayAdapter
import androidx.annotation.UiThread
import androidx.lifecycle.ViewModelProvider
import org.linphone.R
import org.linphone.core.tools.Log
import org.linphone.databinding.SettingsAdvancedFragmentBinding
import org.linphone.ui.main.fragment.GenericMainFragment
import org.linphone.ui.main.settings.viewmodel.SettingsViewModel
@ -92,6 +96,10 @@ class SettingsAdvancedFragment : GenericMainFragment() {
goBack()
}
binding.setAndroidSettingsClickListener {
goToAndroidPermissionSettings()
}
viewModel.mediaEncryptionIndex.observe(viewLifecycleOwner) {
setupMediaEncryptionPicker()
}
@ -153,4 +161,17 @@ class SettingsAdvancedFragment : GenericMainFragment() {
binding.outputAudioDevice.onItemSelectedListener = outputAudioDeviceDropdownListener
binding.outputAudioDevice.setSelection(index)
}
private fun goToAndroidPermissionSettings() {
Log.i("$TAG Going into Android settings for our app")
val intent = Intent(
Settings.ACTION_APPLICATION_DETAILS_SETTINGS,
Uri.fromParts(
"package",
requireContext().packageName, null
)
)
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
startActivity(intent)
}
}

View file

@ -7,6 +7,9 @@
<variable
name="backClickListener"
type="View.OnClickListener" />
<variable
name="androidSettingsClickListener"
type="View.OnClickListener" />
<variable
name="viewModel"
type="org.linphone.ui.main.settings.viewmodel.SettingsViewModel" />
@ -555,7 +558,6 @@
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="@dimen/screen_bottom_margin"
android:layout_marginTop="8dp"
android:orientation="vertical"
android:paddingBottom="16dp"
@ -564,10 +566,26 @@
entries="@{viewModel.videoCodecs}"
layout="@{@layout/settings_codec_list_cell}"
app:layout_constraintTop_toBottomOf="@id/video_codecs_title"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
<androidx.appcompat.widget.AppCompatTextView
style="@style/settings_title_style"
android:id="@+id/android_settings"
android:onClick="@{androidSettingsClickListener}"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:padding="5dp"
android:layout_margin="16dp"
android:text="@string/settings_advanced_go_to_android_app_settings_title"
android:drawableEnd="@drawable/arrow_square_out"
android:drawableTint="?attr/color_main2_600"
app:layout_constraintHorizontal_bias="1"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/video_codecs"
app:layout_constraintBottom_toBottomOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>

View file

@ -269,6 +269,7 @@
<string name="settings_advanced_output_audio_device_title">Périphérique d\'écoute par défaut</string>
<string name="settings_advanced_audio_codecs_title">Codecs audio</string>
<string name="settings_advanced_video_codecs_title">Codecs vidéo</string>
<string name="settings_advanced_go_to_android_app_settings_title">Paramètres Android de &appName;</string>
<!-- Account profile & settings -->
<string name="manage_account_title">Mon compte</string>

View file

@ -308,6 +308,7 @@
<string name="settings_advanced_output_audio_device_title">Default output audio device</string>
<string name="settings_advanced_audio_codecs_title">Audio codecs</string>
<string name="settings_advanced_video_codecs_title">Video codecs</string>
<string name="settings_advanced_go_to_android_app_settings_title">&appName; Android settings</string>
<!-- Account profile & settings -->
<string name="manage_account_title">Manage account</string>