mirror of
https://github.com/whyorean/AuroraStore.git
synced 2026-06-16 03:31:02 -04:00
Schedule and cancel auto-updates properly
Only schedule auto-updates when we have signed in and cancel them on logout Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
@@ -6,6 +6,7 @@ import androidx.fragment.app.DialogFragment
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.data.providers.AccountProvider
|
||||
import com.aurora.store.data.work.UpdateWorker
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
|
||||
@@ -23,6 +24,7 @@ class LogoutDialog: DialogFragment() {
|
||||
|
||||
private fun logout() {
|
||||
AccountProvider.with(requireContext()).logout()
|
||||
UpdateWorker.cancelAutomatedCheck(requireContext())
|
||||
findNavController().navigate(LogoutDialogDirections.actionLogoutDialogToSplashFragment())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,11 +28,9 @@ import androidx.navigation.fragment.findNavController
|
||||
import androidx.viewpager2.adapter.FragmentStateAdapter
|
||||
import androidx.viewpager2.widget.ViewPager2.OnPageChangeCallback
|
||||
import com.aurora.Constants
|
||||
import com.aurora.extensions.isIgnoringBatteryOptimizations
|
||||
import com.aurora.extensions.isSAndAbove
|
||||
import com.aurora.store.R
|
||||
import com.aurora.store.data.work.CacheWorker
|
||||
import com.aurora.store.data.work.UpdateWorker
|
||||
import com.aurora.store.databinding.FragmentOnboardingBinding
|
||||
import com.aurora.store.util.CertUtil
|
||||
import com.aurora.store.util.PackageUtil
|
||||
@@ -50,7 +48,6 @@ import com.aurora.store.util.Preferences.PREFERENCE_INTRO
|
||||
import com.aurora.store.util.Preferences.PREFERENCE_SIMILAR
|
||||
import com.aurora.store.util.Preferences.PREFERENCE_THEME_ACCENT
|
||||
import com.aurora.store.util.Preferences.PREFERENCE_THEME_TYPE
|
||||
import com.aurora.store.util.Preferences.PREFERENCE_UPDATES_AUTO
|
||||
import com.aurora.store.util.Preferences.PREFERENCE_UPDATES_CHECK_INTERVAL
|
||||
import com.aurora.store.util.Preferences.PREFERENCE_UPDATES_EXTENDED
|
||||
import com.aurora.store.util.Preferences.PREFERENCE_VENDING_VERSION
|
||||
@@ -139,7 +136,6 @@ class OnboardingFragment : BaseFragment<FragmentOnboardingBinding>() {
|
||||
}
|
||||
|
||||
private fun finishOnboarding() {
|
||||
setupAutoUpdates()
|
||||
CacheWorker.scheduleAutomatedCacheCleanup(requireContext())
|
||||
save(PREFERENCE_INTRO, true)
|
||||
findNavController().navigate(
|
||||
@@ -175,12 +171,4 @@ class OnboardingFragment : BaseFragment<FragmentOnboardingBinding>() {
|
||||
save(PREFERENCE_UPDATES_EXTENDED, false)
|
||||
save(PREFERENCE_UPDATES_CHECK_INTERVAL, 3)
|
||||
}
|
||||
|
||||
private fun setupAutoUpdates() {
|
||||
save(
|
||||
PREFERENCE_UPDATES_AUTO,
|
||||
if (requireContext().isIgnoringBatteryOptimizations()) 2 else 1
|
||||
)
|
||||
UpdateWorker.scheduleAutomatedCheck(requireContext())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@ import androidx.lifecycle.MutableLiveData
|
||||
import androidx.lifecycle.ViewModel
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import com.aurora.Constants
|
||||
import com.aurora.extensions.isIgnoringBatteryOptimizations
|
||||
import com.aurora.gplayapi.data.models.AuthData
|
||||
import com.aurora.gplayapi.data.models.PlayResponse
|
||||
import com.aurora.gplayapi.helpers.AuthHelper
|
||||
@@ -38,9 +39,12 @@ import com.aurora.store.data.model.AuthState
|
||||
import com.aurora.store.data.network.HttpClient
|
||||
import com.aurora.store.data.providers.AccountProvider
|
||||
import com.aurora.store.data.providers.AuthProvider
|
||||
import com.aurora.store.data.work.UpdateWorker
|
||||
import com.aurora.store.util.AC2DMTask
|
||||
import com.aurora.store.util.Preferences
|
||||
import com.aurora.store.util.Preferences.PREFERENCE_AUTH_DATA
|
||||
import com.aurora.store.util.Preferences.PREFERENCE_UPDATES_AUTO
|
||||
import com.aurora.store.util.save
|
||||
import com.google.gson.Gson
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
@@ -205,6 +209,7 @@ class AuthViewModel @Inject constructor(
|
||||
liveData.postValue(AuthState.Verifying)
|
||||
if (authData.authToken.isNotEmpty() && authData.deviceConfigToken.isNotEmpty()) {
|
||||
configAuthPref(authData, type, true)
|
||||
setupAutoUpdates()
|
||||
liveData.postValue(AuthState.SignedIn)
|
||||
} else {
|
||||
configAuthPref(authData, type, false)
|
||||
@@ -229,6 +234,11 @@ class AuthViewModel @Inject constructor(
|
||||
Preferences.putBoolean(context, Constants.ACCOUNT_SIGNED_IN, signedIn)
|
||||
}
|
||||
|
||||
private fun setupAutoUpdates() {
|
||||
context.save(PREFERENCE_UPDATES_AUTO, if (context.isIgnoringBatteryOptimizations()) 2 else 1)
|
||||
UpdateWorker.scheduleAutomatedCheck(context)
|
||||
}
|
||||
|
||||
@Throws(Exception::class)
|
||||
private fun throwError(playResponse: PlayResponse, context: Context) {
|
||||
when (playResponse.code) {
|
||||
|
||||
Reference in New Issue
Block a user