mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-05-25 07:06:01 +00:00
Add 13 check for notif. permissions / revert change & clean
This commit is contained in:
parent
109c1f8427
commit
2bdd48c16d
2 changed files with 14 additions and 6 deletions
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
Loading…
Reference in a new issue