OnboardingFragment: Improvements to auto-updates setup

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta
2024-10-07 22:47:45 +05:30
parent 424ae09fc4
commit 6ea0cda277
2 changed files with 16 additions and 4 deletions

View File

@@ -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<NotificationManager>()!!.areNotificationsEnabled()
} else {
true
}
}
fun Context.checkManifestPermission(permission: String): Boolean {
return ActivityCompat.checkSelfPermission(this, permission) == PackageManager.PERMISSION_GRANTED
}

View File

@@ -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<FragmentOnboardingBinding>() {
}
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())
}
}