Add 13 check for notif. permissions / revert change & clean

This commit is contained in:
Hafiz 2022-12-15 01:22:23 -05:00
parent 109c1f8427
commit 2bdd48c16d
2 changed files with 14 additions and 6 deletions

View file

@ -15,6 +15,7 @@ import android.view.View
import android.view.ViewGroup
import androidx.activity.result.contract.ActivityResultContracts
import androidx.activity.viewModels
import androidx.annotation.RequiresApi
import androidx.appcompat.app.ActionBarDrawerToggle
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
@ -358,11 +359,8 @@ open class MainActivity : BaseActivity(), SnackbarActivity {
)
}
viewModel.requestNotificationPermission.observe(this) { requestNotificationPermission ->
if (requestNotificationPermission) {
notificationPermissionLauncher.launch(android.Manifest.permission.POST_NOTIFICATIONS)
viewModel.requestNotificationPermission.value = false
}
if (Build.VERSION.SDK_INT >= 33) {
observeNotificationPermission()
}
if (launchScreen == "/party") {
@ -409,6 +407,16 @@ open class MainActivity : BaseActivity(), SnackbarActivity {
}
}
@RequiresApi(33)
fun observeNotificationPermission() {
viewModel.requestNotificationPermission.observe(this) { requestNotificationPermission ->
if (requestNotificationPermission) {
notificationPermissionLauncher.launch(android.Manifest.permission.POST_NOTIFICATIONS)
viewModel.requestNotificationPermission.value = false
}
}
}
override fun onPause() {
updateWidgets()
super.onPause()

View file

@ -219,7 +219,7 @@ class PreferencesFragment : BasePreferencesFragment(), SharedPreferences.OnShare
userRepository.updateUser("preferences.pushNotifications.unsubscribeFromAll", !usePushNotifications)
}
if (usePushNotifications) {
if (!pushNotificationManager.notificationPermissionEnabled()) {
if (!pushNotificationManager.notificationPermissionEnabled() && Build.VERSION.SDK_INT >= 33) {
notificationPermissionLauncher.launch(android.Manifest.permission.POST_NOTIFICATIONS)
} else {
pushNotificationManager.addPushDeviceUsingStoredToken()