OnboardingFragment: Improvements to auto-updates setup
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
@@ -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())
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user