Added quick links to android notification channels in settings
This commit is contained in:
parent
b414dfcbeb
commit
cd880ee06d
7 changed files with 67 additions and 0 deletions
|
@ -21,7 +21,9 @@ package org.linphone.activities.main.settings.fragments
|
|||
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.provider.Settings
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
|
@ -33,6 +35,7 @@ import org.linphone.R
|
|||
import org.linphone.activities.main.settings.viewmodels.CallSettingsViewModel
|
||||
import org.linphone.compatibility.Compatibility
|
||||
import org.linphone.databinding.SettingsCallFragmentBinding
|
||||
import org.linphone.mediastream.Version
|
||||
|
||||
class CallSettingsFragment : Fragment() {
|
||||
private lateinit var binding: SettingsCallFragmentBinding
|
||||
|
@ -66,6 +69,23 @@ class CallSettingsFragment : Fragment() {
|
|||
}
|
||||
}
|
||||
})
|
||||
|
||||
viewModel.goToAndroidNotificationSettingsEvent.observe(viewLifecycleOwner, Observer { it.consume {
|
||||
if (Build.VERSION.SDK_INT >= Version.API26_O_80) {
|
||||
val i = Intent()
|
||||
i.action = Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS
|
||||
i.putExtra(Settings.EXTRA_APP_PACKAGE, requireContext().packageName)
|
||||
i.putExtra(
|
||||
Settings.EXTRA_CHANNEL_ID,
|
||||
getString(R.string.notification_channel_service_id)
|
||||
)
|
||||
i.addCategory(Intent.CATEGORY_DEFAULT)
|
||||
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
i.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY)
|
||||
i.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS)
|
||||
startActivity(i)
|
||||
}
|
||||
} })
|
||||
}
|
||||
|
||||
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
||||
|
|
|
@ -19,7 +19,10 @@
|
|||
*/
|
||||
package org.linphone.activities.main.settings.fragments
|
||||
|
||||
import android.content.Intent
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.provider.Settings
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
|
@ -31,6 +34,7 @@ import org.linphone.R
|
|||
import org.linphone.activities.main.settings.viewmodels.ChatSettingsViewModel
|
||||
import org.linphone.compatibility.Compatibility
|
||||
import org.linphone.databinding.SettingsChatFragmentBinding
|
||||
import org.linphone.mediastream.Version
|
||||
|
||||
class ChatSettingsFragment : Fragment() {
|
||||
private lateinit var binding: SettingsChatFragmentBinding
|
||||
|
@ -65,5 +69,22 @@ class ChatSettingsFragment : Fragment() {
|
|||
}
|
||||
}
|
||||
})
|
||||
|
||||
viewModel.goToAndroidNotificationSettingsEvent.observe(viewLifecycleOwner, Observer { it.consume {
|
||||
if (Build.VERSION.SDK_INT >= Version.API26_O_80) {
|
||||
val i = Intent()
|
||||
i.action = Settings.ACTION_CHANNEL_NOTIFICATION_SETTINGS
|
||||
i.putExtra(Settings.EXTRA_APP_PACKAGE, requireContext().packageName)
|
||||
i.putExtra(
|
||||
Settings.EXTRA_CHANNEL_ID,
|
||||
getString(R.string.notification_channel_chat_id)
|
||||
)
|
||||
i.addCategory(Intent.CATEGORY_DEFAULT)
|
||||
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||
i.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY)
|
||||
i.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS)
|
||||
startActivity(i)
|
||||
}
|
||||
} })
|
||||
}
|
||||
}
|
||||
|
|
|
@ -118,6 +118,13 @@ class CallSettingsViewModel : GenericSettingsViewModel() {
|
|||
}
|
||||
val voiceMailUri = MutableLiveData<String>()
|
||||
|
||||
val goToAndroidNotificationSettingsListener = object : SettingListenerStub() {
|
||||
override fun onClicked() {
|
||||
goToAndroidNotificationSettingsEvent.value = Event(true)
|
||||
}
|
||||
}
|
||||
val goToAndroidNotificationSettingsEvent = MutableLiveData<Event<Boolean>>()
|
||||
|
||||
init {
|
||||
deviceRingtone.value = core.ring == null
|
||||
vibrateOnIncomingCall.value = prefs.vibrateWhileIncomingCall
|
||||
|
|
|
@ -88,6 +88,13 @@ class ChatSettingsViewModel : GenericSettingsViewModel() {
|
|||
}
|
||||
val hideRoomsRemovedProxies = MutableLiveData<Boolean>()
|
||||
|
||||
val goToAndroidNotificationSettingsListener = object : SettingListenerStub() {
|
||||
override fun onClicked() {
|
||||
goToAndroidNotificationSettingsEvent.value = Event(true)
|
||||
}
|
||||
}
|
||||
val goToAndroidNotificationSettingsEvent = MutableLiveData<Event<Boolean>>()
|
||||
|
||||
init {
|
||||
downloadedImagesPublic.value = prefs.makePublicDownloadedImages
|
||||
initAutoDownloadList()
|
||||
|
|
|
@ -157,6 +157,11 @@
|
|||
linphone:defaultValue="@{viewModel.voiceMailUri}"
|
||||
linphone:inputType="@{InputType.TYPE_TEXT_VARIATION_URI}"/>
|
||||
|
||||
<include
|
||||
layout="@layout/settings_widget_basic"
|
||||
linphone:listener="@{viewModel.goToAndroidNotificationSettingsListener}"
|
||||
linphone:title="@{@string/call_settings_go_to_android_notification_settings}" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</ScrollView>
|
||||
|
|
|
@ -118,6 +118,11 @@
|
|||
linphone:listener="@{viewModel.hideRoomsRemovedProxiesListener}"
|
||||
linphone:checked="@={viewModel.hideRoomsRemovedProxies}"/>
|
||||
|
||||
<include
|
||||
layout="@layout/settings_widget_basic"
|
||||
linphone:listener="@{viewModel.goToAndroidNotificationSettingsListener}"
|
||||
linphone:title="@{@string/chat_settings_go_to_android_notification_settings}" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</ScrollView>
|
||||
|
|
|
@ -359,6 +359,7 @@
|
|||
<string name="call_settings_incoming_timeout_summary">in seconds</string>
|
||||
<string name="call_settings_voice_mail_uri_title">Voice mail URI</string>
|
||||
<string name="call_settings_voice_mail_uri_summary"></string>
|
||||
<string name="call_settings_go_to_android_notification_settings">Android notification settings</string>
|
||||
|
||||
<!-- Chat settings -->
|
||||
<string name="chat_settings_file_sharing_url_title">Sharing server URL</string>
|
||||
|
@ -378,6 +379,7 @@
|
|||
<string name="chat_settings_hide_empty_rooms_summary"></string>
|
||||
<string name="chat_settings_hide_rooms_removed_proxies_title">Hide chat rooms from removed proxy configs</string>
|
||||
<string name="chat_settings_hide_rooms_removed_proxies_summary">If you are missing chat rooms, try to uncheck this setting</string>
|
||||
<string name="chat_settings_go_to_android_notification_settings">Android notification settings</string>
|
||||
|
||||
<!-- Network settings -->
|
||||
<string name="network_settings_wifi_only_title">Use WiFi only</string>
|
||||
|
|
Loading…
Reference in a new issue