Loading app/src/main/java/foundation/e/apps/MainActivity.kt +17 −2 Original line number Diff line number Diff line Loading @@ -195,7 +195,11 @@ class MainActivity : AppCompatActivity() { } launch { observerErrorEvent() observeErrorEvent() } launch { observeErrorDialogEvent() } launch { Loading Loading @@ -372,7 +376,7 @@ class MainActivity : AppCompatActivity() { findNavController(R.id.fragment).navigate(action) } private suspend fun observerErrorEvent() { private suspend fun observeErrorEvent() { EventBus.events.filter { appEvent -> appEvent is AppEvent.ErrorMessageEvent }.collectLatest { Loading @@ -380,6 +384,17 @@ class MainActivity : AppCompatActivity() { } } private suspend fun observeErrorDialogEvent() { EventBus.events.filter { appEvent -> appEvent is AppEvent.ErrorMessageDialogEvent }.collectLatest { ApplicationDialogFragment( title = getString(R.string.unknown_error), message = getString(it.data as Int) ).show(supportFragmentManager, TAG) } } private suspend fun observeSignatureMissMatchError() { EventBus.events.filter { appEvent -> appEvent is AppEvent.SignatureMissMatchError Loading app/src/main/java/foundation/e/apps/install/workmanager/AppInstallProcessor.kt +2 −1 Original line number Diff line number Diff line Loading @@ -137,8 +137,9 @@ class AppInstallProcessor @Inject constructor( Timber.i("Content rating is not allowed for: ${appInstall.name}") EventBus.invokeEvent(AppEvent.AgeLimitRestrictionEvent()) } else { //TODO trigger an error event EventBus.invokeEvent(AppEvent.ErrorMessageDialogEvent(R.string.data_load_error_desc)) } appInstallComponents.appManagerWrapper.cancelDownload(appInstall) return } Loading app/src/main/java/foundation/e/apps/utils/eventBus/AppEvent.kt +1 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ sealed class AppEvent(val data: Any) { class InvalidAuthEvent(authName: String) : AppEvent(authName) class ErrorMessageEvent(stringResourceId: Int) : AppEvent(stringResourceId) class ErrorMessageDialogEvent(stringResourceId: Int) : AppEvent(stringResourceId) class AppPurchaseEvent(appInstall: AppInstall) : AppEvent(appInstall) class NoInternetEvent(isInternetAvailable: Boolean) : AppEvent(isInternetAvailable) class TooManyRequests : AppEvent(Unit) Loading Loading
app/src/main/java/foundation/e/apps/MainActivity.kt +17 −2 Original line number Diff line number Diff line Loading @@ -195,7 +195,11 @@ class MainActivity : AppCompatActivity() { } launch { observerErrorEvent() observeErrorEvent() } launch { observeErrorDialogEvent() } launch { Loading Loading @@ -372,7 +376,7 @@ class MainActivity : AppCompatActivity() { findNavController(R.id.fragment).navigate(action) } private suspend fun observerErrorEvent() { private suspend fun observeErrorEvent() { EventBus.events.filter { appEvent -> appEvent is AppEvent.ErrorMessageEvent }.collectLatest { Loading @@ -380,6 +384,17 @@ class MainActivity : AppCompatActivity() { } } private suspend fun observeErrorDialogEvent() { EventBus.events.filter { appEvent -> appEvent is AppEvent.ErrorMessageDialogEvent }.collectLatest { ApplicationDialogFragment( title = getString(R.string.unknown_error), message = getString(it.data as Int) ).show(supportFragmentManager, TAG) } } private suspend fun observeSignatureMissMatchError() { EventBus.events.filter { appEvent -> appEvent is AppEvent.SignatureMissMatchError Loading
app/src/main/java/foundation/e/apps/install/workmanager/AppInstallProcessor.kt +2 −1 Original line number Diff line number Diff line Loading @@ -137,8 +137,9 @@ class AppInstallProcessor @Inject constructor( Timber.i("Content rating is not allowed for: ${appInstall.name}") EventBus.invokeEvent(AppEvent.AgeLimitRestrictionEvent()) } else { //TODO trigger an error event EventBus.invokeEvent(AppEvent.ErrorMessageDialogEvent(R.string.data_load_error_desc)) } appInstallComponents.appManagerWrapper.cancelDownload(appInstall) return } Loading
app/src/main/java/foundation/e/apps/utils/eventBus/AppEvent.kt +1 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ sealed class AppEvent(val data: Any) { class InvalidAuthEvent(authName: String) : AppEvent(authName) class ErrorMessageEvent(stringResourceId: Int) : AppEvent(stringResourceId) class ErrorMessageDialogEvent(stringResourceId: Int) : AppEvent(stringResourceId) class AppPurchaseEvent(appInstall: AppInstall) : AppEvent(appInstall) class NoInternetEvent(isInternetAvailable: Boolean) : AppEvent(isInternetAvailable) class TooManyRequests : AppEvent(Unit) Loading