diff --git a/updater/src/main/java/com/farsitel/bazaar/updater/AutoUpdateServiceConnection.kt b/updater/src/main/java/com/farsitel/bazaar/updater/AutoUpdateServiceConnection.kt index ebef393..f62ea2e 100644 --- a/updater/src/main/java/com/farsitel/bazaar/updater/AutoUpdateServiceConnection.kt +++ b/updater/src/main/java/com/farsitel/bazaar/updater/AutoUpdateServiceConnection.kt @@ -21,14 +21,13 @@ internal class AutoUpdateServiceConnection( val service = IAutoUpdateCheckService.Stub.asInterface(boundService) scope.launch(Dispatchers.IO) { try { - val isAutoUpdateEnabled = - if (bazaarVersionCode >= BAZAAR_CODE_AUTO_UPDATE_SUPPORTED) { - service?.isAutoUpdateEnabled(packageName) + if (bazaarVersionCode >= BAZAAR_CODE_AUTO_UPDATE_SUPPORTED) { + val isAutoUpdateEnabled = service?.isAutoUpdateEnabled(packageName) + if (isAutoUpdateEnabled != null) { + onResult(isAutoUpdateEnabled) } else { - null + onError(UnknownException()) } - if (isAutoUpdateEnabled != null) { - onResult(isAutoUpdateEnabled) } else { onError(BazaarIsNotUpdate()) } diff --git a/updater/src/main/java/com/farsitel/bazaar/updater/BazaarAutoUpdater.kt b/updater/src/main/java/com/farsitel/bazaar/updater/BazaarAutoUpdater.kt index 88c362c..065786e 100644 --- a/updater/src/main/java/com/farsitel/bazaar/updater/BazaarAutoUpdater.kt +++ b/updater/src/main/java/com/farsitel/bazaar/updater/BazaarAutoUpdater.kt @@ -91,18 +91,20 @@ public object BazaarAutoUpdater { val intent = Intent(BAZAAR_AUTO_UPDATE_INTENT) intent.setPackage(BAZAAR_PACKAGE_NAME) - try { + runCatching { connection?.get()?.let { con -> context.bindService(intent, con, Context.BIND_AUTO_CREATE) } - } catch (e: Exception) { + }.onFailure { releaseService(context) } } /** This is our function to un-binds this activity from our service. */ private fun releaseService(context: Context) { - connection?.get()?.let { con -> context.unbindService(con) } + runCatching { + connection?.get()?.let { con -> context.unbindService(con) } + } connection = null } } \ No newline at end of file diff --git a/updater/src/main/java/com/farsitel/bazaar/updater/BazaarUpdater.kt b/updater/src/main/java/com/farsitel/bazaar/updater/BazaarUpdater.kt index 61c97ca..dba3f66 100644 --- a/updater/src/main/java/com/farsitel/bazaar/updater/BazaarUpdater.kt +++ b/updater/src/main/java/com/farsitel/bazaar/updater/BazaarUpdater.kt @@ -99,18 +99,20 @@ public object BazaarUpdater { val intent = Intent(BAZAAR_UPDATE_INTENT) intent.setPackage(BAZAAR_PACKAGE_NAME) - try { + runCatching { connection?.get()?.let { con -> context.bindService(intent, con, Context.BIND_AUTO_CREATE) } - } catch (e: Exception) { + }.onFailure { releaseService(context) } } /** This is our function to un-binds this activity from our service. */ private fun releaseService(context: Context) { - connection?.get()?.let { con -> context.unbindService(con) } + runCatching { + connection?.get()?.let { con -> context.unbindService(con) } + } connection = null } } \ No newline at end of file