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:
Aayush Gupta
2024-07-31 19:51:43 +07:00
parent 51c4beba8e
commit 73921df71e
3 changed files with 12 additions and 12 deletions

View File

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

View File

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

View File

@@ -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) {