diff --git a/app/src/main/java/com/aurora/extensions/Context.kt b/app/src/main/java/com/aurora/extensions/Context.kt index c6247c34a..f7745a165 100644 --- a/app/src/main/java/com/aurora/extensions/Context.kt +++ b/app/src/main/java/com/aurora/extensions/Context.kt @@ -20,6 +20,7 @@ package com.aurora.extensions import android.Manifest +import android.app.NotificationManager import android.content.ClipData import android.content.ClipboardManager import android.content.Context @@ -122,6 +123,14 @@ fun Context.isIgnoringBatteryOptimizations(): Boolean { } } +fun Context.areNotificationsEnabled(): Boolean { + return if (isNAndAbove()) { + getSystemService()!!.areNotificationsEnabled() + } else { + true + } +} + fun Context.checkManifestPermission(permission: String): Boolean { return ActivityCompat.checkSelfPermission(this, permission) == PackageManager.PERMISSION_GRANTED } diff --git a/app/src/main/java/com/aurora/store/view/ui/onboarding/OnboardingFragment.kt b/app/src/main/java/com/aurora/store/view/ui/onboarding/OnboardingFragment.kt index f9ce359e1..fab8f0c09 100644 --- a/app/src/main/java/com/aurora/store/view/ui/onboarding/OnboardingFragment.kt +++ b/app/src/main/java/com/aurora/store/view/ui/onboarding/OnboardingFragment.kt @@ -28,6 +28,7 @@ import androidx.navigation.fragment.findNavController import androidx.viewpager2.adapter.FragmentStateAdapter import androidx.viewpager2.widget.ViewPager2.OnPageChangeCallback import com.aurora.Constants +import com.aurora.extensions.areNotificationsEnabled import com.aurora.extensions.isIgnoringBatteryOptimizations import com.aurora.store.R import com.aurora.store.data.work.CacheWorker @@ -174,10 +175,12 @@ class OnboardingFragment : BaseFragment() { } private fun setupAutoUpdates() { - save( - PREFERENCE_UPDATES_AUTO, - if (requireContext().isIgnoringBatteryOptimizations()) 2 else 1 - ) + val updateMode = when { + requireContext().isIgnoringBatteryOptimizations() -> 2 // Auto-update + requireContext().areNotificationsEnabled() -> 1 // Notify update + else -> 0 // Disable + } + save(PREFERENCE_UPDATES_AUTO, updateMode) UpdateWorker.scheduleAutomatedCheck(requireContext()) } }