X-Git-Url: https://gitweb.stoutner.com/?p=PrivacyCell.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacycell%2Ffragments%2FSettingsFragment.kt;fp=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacycell%2Ffragments%2FSettingsFragment.kt;h=9adae226fc76d8e34ae1016da741c705b01af433;hp=b5acce90fb45e06283ca471915c044a74f364b9f;hb=bad17a63b18ff3c8b5ae24ab467f423bbfbddd98;hpb=ff2f3992b7ecddb804a96322789bd35010529f43 diff --git a/app/src/main/java/com/stoutner/privacycell/fragments/SettingsFragment.kt b/app/src/main/java/com/stoutner/privacycell/fragments/SettingsFragment.kt index b5acce9..9adae22 100644 --- a/app/src/main/java/com/stoutner/privacycell/fragments/SettingsFragment.kt +++ b/app/src/main/java/com/stoutner/privacycell/fragments/SettingsFragment.kt @@ -155,6 +155,9 @@ class SettingsFragment : PreferenceFragmentCompat() { // Re-register the shared preference listener. sharedPreferences.registerOnSharedPreferenceChangeListener(sharedPreferenceChangeListener) + + // Update the realtime monitoring preference summary. + updateRealtimeMonitoringSummary() } private fun getSharedPreferenceChangeListener(): OnSharedPreferenceChangeListener { @@ -260,4 +263,18 @@ class SettingsFragment : PreferenceFragmentCompat() { // Restart the activity after 400 milliseconds, so that the app has enough time to save the change to the preference. restartHandler.postDelayed(restartRunnable, 400) } + + fun updateRealtimeMonitoringSummary() { + // Update the summary according to the API. + if (Build.VERSION.SDK_INT >= 33) { // The API >= 33. + // Set the summary according to the notification permission status. + if (ActivityCompat.checkSelfPermission(requireContext(), Manifest.permission.POST_NOTIFICATIONS) == PackageManager.PERMISSION_GRANTED) + realtimeMonitoringPreference.summary = getString(R.string.realtime_monitoring_summary) + else + realtimeMonitoringPreference.summary = (getString(R.string.realtime_monitoring_summary) + " " + getString(R.string.notification_permission_denied)) + } else { // The API is < 33. + // Set the realtime monitoring summary. + realtimeMonitoringPreference.summary = getString(R.string.realtime_monitoring_summary) + } + } }