Skip to content

Instantly share code, notes, and snippets.

@Wottrich
Last active May 11, 2021 11:20
Show Gist options
  • Save Wottrich/ad958a9cc56a7d70ee4073be843c0056 to your computer and use it in GitHub Desktop.
Save Wottrich/ad958a9cc56a7d70ee4073be843c0056 to your computer and use it in GitHub Desktop.
InAppUpdates AppUpdateInfoWrapper pt1
class AppUpdateInfoWrapper(context: Context) {
private val appUpdateManager: AppUpdateManager = AppUpdateManagerFactory.create(context)
private var appUpdateInfo: AppUpdateInfo? = null
suspend fun getAppUpdateInfo(): Resource<AppUpdatePertinentInfo> {
return suspendCancellableCoroutine { continuation ->
//Pegando o AppUpdateInfoTask
val appUpdateInfoTask = appUpdateManager.appUpdateInfo
//Esperando o retorno no listener de sucesso
appUpdateInfoTask.addOnSuccessListener { appUpdateInfo ->
this@AppUpdateInfoWrapper.appUpdateInfo = appUpdateInfo
//AppUpdatePertinentInfo usado para pegarmos apenas o que precisamos
continuation.resume(Resource.success(AppUpdatePertinentInfo(appUpdateInfo)))
}
//Esperando o retorno no listener de erro
appUpdateInfoTask.addOnFailureListener {
continuation.resume(Resource.error(it))
}
}//suspendCancellableCoroutine
}//getAppUpdateInfo
}//AppUpdateInfoWrapper
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment