From 21dacd816785044a713ca1ee05f92f388645cefc Mon Sep 17 00:00:00 2001 From: Aayush Gupta Date: Thu, 11 Jul 2024 10:50:46 +0700 Subject: [PATCH] Drop dependency upon EventBus library Migrate to sharedflow instead which are built within kotlin to avoid an external dependency Signed-off-by: Aayush Gupta --- app/build.gradle.kts | 3 -- app/proguard-rules.pro | 11 -------- .../main/java/com/aurora/store/AuroraApp.kt | 2 ++ .../com/aurora/store/data/event/BusEvent.kt | 8 ++++-- .../com/aurora/store/data/event/FlowEvent.kt | 26 +++++++++++++++++ .../store/data/installer/InstallerBase.kt | 3 +- .../store/data/installer/RootInstaller.kt | 4 +-- .../store/data/installer/ServiceInstaller.kt | 5 ++-- .../data/receiver/InstallerStatusReceiver.kt | 26 ++++++----------- .../data/receiver/PackageManagerReceiver.kt | 6 ++-- .../store/view/ui/account/GoogleFragment.kt | 23 ++++++--------- .../view/ui/all/InstalledAppsFragment.kt | 23 ++++++--------- .../view/ui/details/AppDetailsFragment.kt | 28 +++++++------------ .../store/view/ui/sheets/AppMenuSheet.kt | 7 +++-- .../store/view/ui/updates/UpdatesFragment.kt | 21 ++++---------- .../store/viewmodel/auth/AuthViewModel.kt | 10 +++---- .../store/viewmodel/sheets/SheetsViewModel.kt | 7 +++-- gradle/libs.versions.toml | 2 -- 18 files changed, 94 insertions(+), 121 deletions(-) create mode 100644 app/src/main/java/com/aurora/store/data/event/FlowEvent.kt diff --git a/app/build.gradle.kts b/app/build.gradle.kts index b9a2ba963..8e2bae376 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -167,9 +167,6 @@ dependencies { //HTTP Clients implementation(libs.squareup.okhttp) - //EventBus - implementation(libs.greenrobot.eventbus) - //Lib-SU implementation(libs.github.topjohnwu.libsu) diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index e5e7c7652..1be34d425 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -91,17 +91,6 @@ -if interface * { @retrofit2.http.* ; } -keep,allowobfuscation interface <1> -#Event Bus --keepattributes *Annotation* --keepclassmembers class * { - @org.greenrobot.eventbus.Subscribe ; -} --keep enum org.greenrobot.eventbus.ThreadMode { *; } - --keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent { - (java.lang.Throwable); -} - -keepclassmembers enum * { *; } -keep class com.aurora.store.view.ui.preferences.** -dontwarn com.aurora.store.view.ui.preferences.** diff --git a/app/src/main/java/com/aurora/store/AuroraApp.kt b/app/src/main/java/com/aurora/store/AuroraApp.kt index b60ce9571..552797d86 100644 --- a/app/src/main/java/com/aurora/store/AuroraApp.kt +++ b/app/src/main/java/com/aurora/store/AuroraApp.kt @@ -25,6 +25,7 @@ import androidx.core.content.ContextCompat import androidx.hilt.work.HiltWorkerFactory import androidx.work.Configuration import com.aurora.extensions.isPAndAbove +import com.aurora.store.data.event.FlowEvent import com.aurora.store.data.receiver.PackageManagerReceiver import com.aurora.store.util.CommonUtil import com.aurora.store.util.DownloadWorkerUtil @@ -57,6 +58,7 @@ class AuroraApp : Application(), Configuration.Provider { private set val enqueuedInstalls: MutableSet = mutableSetOf() + val flowEvent = FlowEvent() } override fun onCreate() { diff --git a/app/src/main/java/com/aurora/store/data/event/BusEvent.kt b/app/src/main/java/com/aurora/store/data/event/BusEvent.kt index ab38a9a9b..d512f4211 100644 --- a/app/src/main/java/com/aurora/store/data/event/BusEvent.kt +++ b/app/src/main/java/com/aurora/store/data/event/BusEvent.kt @@ -19,7 +19,9 @@ package com.aurora.store.data.event -sealed class BusEvent { +abstract class Event + +sealed class BusEvent: Event() { data class InstallEvent( var packageName: String, var extra: String? = "" @@ -47,7 +49,7 @@ sealed class BusEvent { ) : BusEvent() } -sealed class InstallerEvent { +sealed class InstallerEvent: Event() { data class Success( var packageName: String? = "", var extra: String? = "" @@ -63,4 +65,4 @@ sealed class InstallerEvent { var error: String? = "", var extra: String? = "" ) : InstallerEvent() -} \ No newline at end of file +} diff --git a/app/src/main/java/com/aurora/store/data/event/FlowEvent.kt b/app/src/main/java/com/aurora/store/data/event/FlowEvent.kt new file mode 100644 index 000000000..7a251cf21 --- /dev/null +++ b/app/src/main/java/com/aurora/store/data/event/FlowEvent.kt @@ -0,0 +1,26 @@ +package com.aurora.store.data.event + +import android.util.Log +import kotlinx.coroutines.flow.MutableSharedFlow +import kotlinx.coroutines.flow.asSharedFlow +import javax.inject.Singleton + +@Singleton +class FlowEvent { + + private val TAG = FlowEvent::class.java.simpleName + + private val _busEvent = MutableSharedFlow(extraBufferCapacity = 1) + val busEvent = _busEvent.asSharedFlow() + + private val _installerEvent = MutableSharedFlow(extraBufferCapacity = 1) + val installerEvent = _installerEvent.asSharedFlow() + + fun emitEvent(event: Event) { + when (event) { + is InstallerEvent -> _installerEvent.tryEmit(event) + is BusEvent -> _busEvent.tryEmit(event) + else -> Log.e(TAG, "Got an unhandled event") + } + } +} diff --git a/app/src/main/java/com/aurora/store/data/installer/InstallerBase.kt b/app/src/main/java/com/aurora/store/data/installer/InstallerBase.kt index 21ac6d9d8..d39553dc7 100644 --- a/app/src/main/java/com/aurora/store/data/installer/InstallerBase.kt +++ b/app/src/main/java/com/aurora/store/data/installer/InstallerBase.kt @@ -30,7 +30,6 @@ import com.aurora.store.util.Log import com.aurora.store.util.PathUtil import com.aurora.store.util.Preferences import com.aurora.store.util.Preferences.PREFERENCE_AUTO_DELETE -import org.greenrobot.eventbus.EventBus import java.io.File abstract class InstallerBase(protected var context: Context) : IInstaller { @@ -73,7 +72,7 @@ abstract class InstallerBase(protected var context: Context) : IInstaller { extra ) - EventBus.getDefault().post(event) + AuroraApp.flowEvent.emitEvent(event) } open fun getFiles(packageName: String, versionCode: Int, sharedLibPackageName: String = ""): List { diff --git a/app/src/main/java/com/aurora/store/data/installer/RootInstaller.kt b/app/src/main/java/com/aurora/store/data/installer/RootInstaller.kt index 9ace010e7..4f5437a3d 100644 --- a/app/src/main/java/com/aurora/store/data/installer/RootInstaller.kt +++ b/app/src/main/java/com/aurora/store/data/installer/RootInstaller.kt @@ -20,6 +20,7 @@ package com.aurora.store.data.installer import android.content.Context +import com.aurora.store.AuroraApp import com.aurora.store.R import com.aurora.store.data.event.InstallerEvent import com.aurora.store.data.model.InstallerInfo @@ -28,7 +29,6 @@ import com.aurora.store.util.Log import com.aurora.store.util.PackageUtil.isSharedLibraryInstalled import com.topjohnwu.superuser.Shell import dagger.hilt.android.qualifiers.ApplicationContext -import org.greenrobot.eventbus.EventBus import java.util.regex.Pattern import javax.inject.Inject import javax.inject.Singleton @@ -109,7 +109,7 @@ class RootInstaller @Inject constructor( context.getString(R.string.installer_status_failure), parseError(shellResult) ) - EventBus.getDefault().post(event) + AuroraApp.flowEvent.emitEvent(event) } } else { removeFromInstallQueue(packageName) diff --git a/app/src/main/java/com/aurora/store/data/installer/ServiceInstaller.kt b/app/src/main/java/com/aurora/store/data/installer/ServiceInstaller.kt index 88604f6ed..12947888f 100644 --- a/app/src/main/java/com/aurora/store/data/installer/ServiceInstaller.kt +++ b/app/src/main/java/com/aurora/store/data/installer/ServiceInstaller.kt @@ -42,7 +42,6 @@ import com.aurora.store.data.room.download.Download import com.aurora.store.util.Log import com.aurora.store.util.PackageUtil import dagger.hilt.android.qualifiers.ApplicationContext -import org.greenrobot.eventbus.EventBus import java.io.File import java.util.concurrent.LinkedBlockingQueue import java.util.concurrent.ThreadPoolExecutor @@ -211,7 +210,7 @@ class ServiceInstaller @Inject constructor( try { when (returnCode) { PackageInstaller.STATUS_SUCCESS -> { - EventBus.getDefault().post( + AuroraApp.flowEvent.emitEvent( BusEvent.UninstallEvent( packageName, context.getString(R.string.installer_status_success) @@ -241,7 +240,7 @@ class ServiceInstaller @Inject constructor( try { when (returnCode) { PackageInstaller.STATUS_SUCCESS -> { - EventBus.getDefault().post( + AuroraApp.flowEvent.emitEvent( InstallerEvent.Success( packageName, context.getString(R.string.installer_status_success) diff --git a/app/src/main/java/com/aurora/store/data/receiver/InstallerStatusReceiver.kt b/app/src/main/java/com/aurora/store/data/receiver/InstallerStatusReceiver.kt index acf10b8d0..6d134b7d6 100644 --- a/app/src/main/java/com/aurora/store/data/receiver/InstallerStatusReceiver.kt +++ b/app/src/main/java/com/aurora/store/data/receiver/InstallerStatusReceiver.kt @@ -41,7 +41,6 @@ import com.aurora.store.util.PathUtil import com.aurora.store.util.Preferences import com.aurora.store.util.Preferences.PREFERENCE_AUTO_DELETE import dagger.hilt.android.AndroidEntryPoint -import org.greenrobot.eventbus.EventBus @AndroidEntryPoint class InstallerStatusReceiver : BroadcastReceiver() { @@ -108,34 +107,25 @@ class InstallerStatusReceiver : BroadcastReceiver() { } private fun postStatus(status: Int, packageName: String?, extra: String?, context: Context) { - when (status) { + val event = when (status) { PackageInstaller.STATUS_SUCCESS -> { - EventBus.getDefault().post( - InstallerEvent.Success( - packageName, - context.getString(R.string.installer_status_success) - ) + InstallerEvent.Success( + packageName, context.getString(R.string.installer_status_success) ) } PackageInstaller.STATUS_FAILURE_ABORTED -> { - EventBus.getDefault().post( - InstallerEvent.Cancelled( - packageName, - AppInstaller.getErrorString(context, status) - ) + InstallerEvent.Cancelled( + packageName, AppInstaller.getErrorString(context, status) ) } else -> { - EventBus.getDefault().post( - InstallerEvent.Failed( - packageName, - AppInstaller.getErrorString(context, status), - extra - ) + InstallerEvent.Failed( + packageName, AppInstaller.getErrorString(context, status), extra ) } } + AuroraApp.flowEvent.emitEvent(event) } } diff --git a/app/src/main/java/com/aurora/store/data/receiver/PackageManagerReceiver.kt b/app/src/main/java/com/aurora/store/data/receiver/PackageManagerReceiver.kt index eb188bed7..5bd4f0905 100644 --- a/app/src/main/java/com/aurora/store/data/receiver/PackageManagerReceiver.kt +++ b/app/src/main/java/com/aurora/store/data/receiver/PackageManagerReceiver.kt @@ -22,12 +22,12 @@ package com.aurora.store.data.receiver import android.content.BroadcastReceiver import android.content.Context import android.content.Intent +import com.aurora.store.AuroraApp import com.aurora.store.data.event.BusEvent.InstallEvent import com.aurora.store.data.event.BusEvent.UninstallEvent import com.aurora.store.data.installer.AppInstaller import dagger.hilt.android.AndroidEntryPoint import javax.inject.Inject -import org.greenrobot.eventbus.EventBus @AndroidEntryPoint open class PackageManagerReceiver : BroadcastReceiver() { @@ -41,11 +41,11 @@ open class PackageManagerReceiver : BroadcastReceiver() { when (intent.action) { Intent.ACTION_PACKAGE_ADDED -> { - EventBus.getDefault().post(InstallEvent(packageName, "")) + AuroraApp.flowEvent.emitEvent(InstallEvent(packageName, "")) } Intent.ACTION_PACKAGE_REMOVED -> { - EventBus.getDefault().post(UninstallEvent(packageName, "")) + AuroraApp.flowEvent.emitEvent(UninstallEvent(packageName, "")) } } diff --git a/app/src/main/java/com/aurora/store/view/ui/account/GoogleFragment.kt b/app/src/main/java/com/aurora/store/view/ui/account/GoogleFragment.kt index deaaa4757..40a96a193 100644 --- a/app/src/main/java/com/aurora/store/view/ui/account/GoogleFragment.kt +++ b/app/src/main/java/com/aurora/store/view/ui/account/GoogleFragment.kt @@ -31,16 +31,16 @@ import android.widget.Toast import androidx.core.view.isVisible import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels +import androidx.lifecycle.lifecycleScope import androidx.navigation.fragment.findNavController +import com.aurora.store.AuroraApp import com.aurora.store.R import com.aurora.store.data.event.BusEvent import com.aurora.store.databinding.FragmentGoogleBinding import com.aurora.store.util.AC2DMUtil import com.aurora.store.viewmodel.auth.AuthViewModel import dagger.hilt.android.AndroidEntryPoint -import org.greenrobot.eventbus.EventBus -import org.greenrobot.eventbus.Subscribe -import org.greenrobot.eventbus.ThreadMode +import kotlinx.coroutines.launch @AndroidEntryPoint class GoogleFragment : Fragment(R.layout.fragment_google) { @@ -113,6 +113,10 @@ class GoogleFragment : Fragment(R.layout.fragment_google) { } loadUrl(EMBEDDED_SETUP_URL) } + + viewLifecycleOwner.lifecycleScope.launch { + AuroraApp.flowEvent.busEvent.collect { onEventReceived(it) } + } } override fun onDestroyView() { @@ -120,18 +124,7 @@ class GoogleFragment : Fragment(R.layout.fragment_google) { _binding = null } - override fun onStart() { - super.onStart() - EventBus.getDefault().register(this) - } - - override fun onStop() { - super.onStop() - EventBus.getDefault().unregister(this) - } - - @Subscribe(threadMode = ThreadMode.MAIN) - fun onEventReceived(event: BusEvent) { + private fun onEventReceived(event: BusEvent) { when (event) { is BusEvent.GoogleAAS -> { if (event.success) { diff --git a/app/src/main/java/com/aurora/store/view/ui/all/InstalledAppsFragment.kt b/app/src/main/java/com/aurora/store/view/ui/all/InstalledAppsFragment.kt index 8cc63a4fd..388d0e651 100644 --- a/app/src/main/java/com/aurora/store/view/ui/all/InstalledAppsFragment.kt +++ b/app/src/main/java/com/aurora/store/view/ui/all/InstalledAppsFragment.kt @@ -23,7 +23,9 @@ import android.os.Bundle import android.util.Log import android.view.View import androidx.fragment.app.viewModels +import androidx.lifecycle.lifecycleScope import com.aurora.gplayapi.data.models.App +import com.aurora.store.AuroraApp import com.aurora.store.R import com.aurora.store.data.event.BusEvent import com.aurora.store.databinding.FragmentAppsBinding @@ -33,9 +35,7 @@ import com.aurora.store.view.epoxy.views.shimmer.AppListViewShimmerModel_ import com.aurora.store.view.ui.commons.BaseFragment import com.aurora.store.viewmodel.all.InstalledViewModel import dagger.hilt.android.AndroidEntryPoint -import org.greenrobot.eventbus.EventBus -import org.greenrobot.eventbus.Subscribe -import org.greenrobot.eventbus.ThreadMode +import kotlinx.coroutines.launch @AndroidEntryPoint class InstalledAppsFragment : BaseFragment(R.layout.fragment_apps) { @@ -55,18 +55,7 @@ class InstalledAppsFragment : BaseFragment(R.layout.fragment_apps) { } } - override fun onStart() { - super.onStart() - EventBus.getDefault().register(this) - } - - override fun onStop() { - EventBus.getDefault().unregister(this) - super.onStop() - } - - @Subscribe(threadMode = ThreadMode.MAIN) - fun onEvent(event: BusEvent) { + private fun onEvent(event: BusEvent) { when (event) { is BusEvent.InstallEvent, is BusEvent.UninstallEvent, @@ -91,6 +80,10 @@ class InstalledAppsFragment : BaseFragment(R.layout.fragment_apps) { updateController(null) viewModel.getInstalledApps(view.context) + + viewLifecycleOwner.lifecycleScope.launch { + AuroraApp.flowEvent.busEvent.collect { onEvent(it) } + } } override fun onDestroyView() { diff --git a/app/src/main/java/com/aurora/store/view/ui/details/AppDetailsFragment.kt b/app/src/main/java/com/aurora/store/view/ui/details/AppDetailsFragment.kt index 66d72ac46..07959820b 100644 --- a/app/src/main/java/com/aurora/store/view/ui/details/AppDetailsFragment.kt +++ b/app/src/main/java/com/aurora/store/view/ui/details/AppDetailsFragment.kt @@ -56,10 +56,12 @@ import com.aurora.gplayapi.data.models.App import com.aurora.gplayapi.data.models.Review import com.aurora.gplayapi.data.models.StreamBundle import com.aurora.gplayapi.data.models.StreamCluster +import com.aurora.store.AuroraApp import com.aurora.store.R import com.aurora.store.data.model.State import com.aurora.store.data.model.ViewState import com.aurora.store.data.event.BusEvent +import com.aurora.store.data.event.Event import com.aurora.store.data.event.InstallerEvent import com.aurora.store.data.installer.AppInstaller import com.aurora.store.data.model.DownloadStatus @@ -90,9 +92,6 @@ import dagger.hilt.android.AndroidEntryPoint import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.flow.filter import kotlinx.coroutines.launch -import org.greenrobot.eventbus.EventBus -import org.greenrobot.eventbus.Subscribe -import org.greenrobot.eventbus.ThreadMode import java.util.Locale import javax.inject.Inject @@ -140,21 +139,7 @@ class AppDetailsFragment : BaseFragment(R.layout.fragment_details) { private var autoDownload: Boolean = false private var uninstallActionEnabled = false - override fun onStart() { - super.onStart() - EventBus.getDefault().register(this) - if (autoDownload) { - purchase() - } - } - - override fun onStop() { - EventBus.getDefault().unregister(this) - super.onStop() - } - - @Subscribe(threadMode = ThreadMode.MAIN) - fun onEventMainThread(event: Any) { + private fun onEvent(event: Event) { when (event) { is BusEvent.InstallEvent -> { if (app.packageName == event.packageName) { @@ -447,6 +432,13 @@ class AppDetailsFragment : BaseFragment(R.layout.fragment_details) { } } } + + viewLifecycleOwner.lifecycleScope.launch { + AuroraApp.flowEvent.busEvent.collect { onEvent(it) } + } + viewLifecycleOwner.lifecycleScope.launch { + AuroraApp.flowEvent.installerEvent.collect { onEvent(it) } + } } override fun onResume() { diff --git a/app/src/main/java/com/aurora/store/view/ui/sheets/AppMenuSheet.kt b/app/src/main/java/com/aurora/store/view/ui/sheets/AppMenuSheet.kt index 17345d8d7..de0e49638 100644 --- a/app/src/main/java/com/aurora/store/view/ui/sheets/AppMenuSheet.kt +++ b/app/src/main/java/com/aurora/store/view/ui/sheets/AppMenuSheet.kt @@ -28,6 +28,7 @@ import androidx.fragment.app.viewModels import androidx.navigation.fragment.navArgs import com.aurora.extensions.openInfo import com.aurora.extensions.toast +import com.aurora.store.AuroraApp import com.aurora.store.R import com.aurora.store.data.event.BusEvent import com.aurora.store.data.installer.AppInstaller @@ -37,7 +38,6 @@ import com.aurora.store.util.PackageUtil import com.aurora.store.viewmodel.sheets.SheetsViewModel import com.google.android.material.bottomsheet.BottomSheetDialogFragment import dagger.hilt.android.AndroidEntryPoint -import org.greenrobot.eventbus.EventBus @AndroidEntryPoint class AppMenuSheet : BottomSheetDialogFragment(R.layout.sheet_app_menu) { @@ -99,8 +99,9 @@ class AppMenuSheet : BottomSheetDialogFragment(R.layout.sheet_app_menu) { } dismissAllowingStateLoss() - EventBus.getDefault() - .post(BusEvent.Blacklisted(args.app.packageName, "")) + AuroraApp.flowEvent.emitEvent( + BusEvent.Blacklisted(args.app.packageName, "") + ) } R.id.action_local -> { diff --git a/app/src/main/java/com/aurora/store/view/ui/updates/UpdatesFragment.kt b/app/src/main/java/com/aurora/store/view/ui/updates/UpdatesFragment.kt index bb2b8c12f..fc888ed34 100644 --- a/app/src/main/java/com/aurora/store/view/ui/updates/UpdatesFragment.kt +++ b/app/src/main/java/com/aurora/store/view/ui/updates/UpdatesFragment.kt @@ -34,6 +34,7 @@ import com.aurora.extensions.browse import com.aurora.extensions.isRAndAbove import com.aurora.extensions.toast import com.aurora.gplayapi.data.models.App +import com.aurora.store.AuroraApp import com.aurora.store.MobileNavigationDirections import com.aurora.store.R import com.aurora.store.data.event.BusEvent @@ -51,9 +52,6 @@ import dagger.hilt.android.AndroidEntryPoint import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.flow.combine import kotlinx.coroutines.launch -import org.greenrobot.eventbus.EventBus -import org.greenrobot.eventbus.Subscribe -import org.greenrobot.eventbus.ThreadMode @AndroidEntryPoint class UpdatesFragment : BaseFragment(R.layout.fragment_updates) { @@ -78,11 +76,6 @@ class UpdatesFragment : BaseFragment(R.layout.fragment_updates) { if (perm) viewModel.download(app) else toast(R.string.permissions_denied) } - override fun onStart() { - super.onStart() - EventBus.getDefault().register(this) - } - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) _binding = FragmentUpdatesBinding.bind(view) @@ -151,6 +144,10 @@ class UpdatesFragment : BaseFragment(R.layout.fragment_updates) { } updateController(null) + + viewLifecycleOwner.lifecycleScope.launch { + AuroraApp.flowEvent.busEvent.collect { onEvent(it) } + } } override fun onDestroyView() { @@ -158,13 +155,7 @@ class UpdatesFragment : BaseFragment(R.layout.fragment_updates) { _binding = null } - override fun onStop() { - EventBus.getDefault().unregister(this) - super.onStop() - } - - @Subscribe(threadMode = ThreadMode.MAIN) - fun onEventMainThread(event: Any) { + private fun onEvent(event: BusEvent) { when (event) { is BusEvent.InstallEvent, is BusEvent.UninstallEvent -> { viewModel.observe() diff --git a/app/src/main/java/com/aurora/store/viewmodel/auth/AuthViewModel.kt b/app/src/main/java/com/aurora/store/viewmodel/auth/AuthViewModel.kt index 8193f87fb..03b224d81 100644 --- a/app/src/main/java/com/aurora/store/viewmodel/auth/AuthViewModel.kt +++ b/app/src/main/java/com/aurora/store/viewmodel/auth/AuthViewModel.kt @@ -30,6 +30,7 @@ import com.aurora.gplayapi.data.models.AuthData import com.aurora.gplayapi.data.models.PlayResponse import com.aurora.gplayapi.data.providers.DeviceInfoProvider import com.aurora.gplayapi.helpers.AuthHelper +import com.aurora.store.AuroraApp import com.aurora.store.data.model.AccountType import com.aurora.store.R import com.aurora.store.data.model.AuthState @@ -50,7 +51,6 @@ import dagger.hilt.android.qualifiers.ApplicationContext import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.supervisorScope -import org.greenrobot.eventbus.EventBus import java.net.ConnectException import java.net.UnknownHostException import java.util.* @@ -201,18 +201,18 @@ class AuthViewModel @Inject constructor( if (aasToken != null) { Preferences.putString(context, Constants.ACCOUNT_EMAIL_PLAIN, email) Preferences.putString(context, Constants.ACCOUNT_AAS_PLAIN, aasToken) - EventBus.getDefault().post(BusEvent.GoogleAAS(true, email, aasToken)) + AuroraApp.flowEvent.emitEvent(BusEvent.GoogleAAS(true, email, aasToken)) } else { Preferences.putString(context, Constants.ACCOUNT_EMAIL_PLAIN, "") Preferences.putString(context, Constants.ACCOUNT_AAS_PLAIN, "") - EventBus.getDefault().post(BusEvent.GoogleAAS(false)) + AuroraApp.flowEvent.emitEvent(BusEvent.GoogleAAS(false)) } } else { - EventBus.getDefault().post(BusEvent.GoogleAAS(false)) + AuroraApp.flowEvent.emitEvent(BusEvent.GoogleAAS(false)) } } catch (exception: Exception) { Log.e(TAG, "Failed to build AuthData", exception) - EventBus.getDefault().post(BusEvent.GoogleAAS(false)) + AuroraApp.flowEvent.emitEvent(BusEvent.GoogleAAS(false)) } } } diff --git a/app/src/main/java/com/aurora/store/viewmodel/sheets/SheetsViewModel.kt b/app/src/main/java/com/aurora/store/viewmodel/sheets/SheetsViewModel.kt index 56fd8be04..4924469c5 100644 --- a/app/src/main/java/com/aurora/store/viewmodel/sheets/SheetsViewModel.kt +++ b/app/src/main/java/com/aurora/store/viewmodel/sheets/SheetsViewModel.kt @@ -7,6 +7,7 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.aurora.gplayapi.data.models.App import com.aurora.gplayapi.helpers.PurchaseHelper +import com.aurora.store.AuroraApp import com.aurora.store.data.event.BusEvent import com.aurora.store.data.providers.AuthProvider import com.aurora.store.data.room.download.Download @@ -17,7 +18,6 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableSharedFlow import kotlinx.coroutines.flow.asSharedFlow import kotlinx.coroutines.launch -import org.greenrobot.eventbus.EventBus @HiltViewModel class SheetsViewModel @Inject constructor( @@ -35,8 +35,9 @@ class SheetsViewModel @Inject constructor( val purchaseHelper = PurchaseHelper(authProvider.authData) val files = purchaseHelper.purchase(app.packageName, customVersion, app.offerType) if (files.isNotEmpty()) { - EventBus.getDefault() - .post(BusEvent.ManualDownload(app.packageName, customVersion)) + AuroraApp.flowEvent.emitEvent( + BusEvent.ManualDownload(app.packageName, customVersion) + ) } _purchaseStatus.emit(files.isNotEmpty()) } catch (exception: Exception) { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index a50cb2238..14af37643 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -7,7 +7,6 @@ composeBom = "2024.06.00" coreVersion = "1.13.1" epoxyVersion = "5.1.4" espressoVersion = "3.6.1" -eventbusVersion = "3.3.1" gplayapiVersion = "3.2.12" gsonVersion = "2.10.1" hiddenapibypassVersion = "4.3" @@ -70,7 +69,6 @@ github-topjohnwu-libsu = { module = "com.github.topjohnwu.libsu:core", version.r google-android-material = { module = "com.google.android.material:material", version.ref = "materialVersion" } google-gson = { module = "com.google.code.gson:gson", version.ref = "gsonVersion" } google-protobuf-javalite = { module = "com.google.protobuf:protobuf-javalite", version.ref = "protobufJavaliteVersion" } -greenrobot-eventbus = { module = "org.greenrobot:eventbus", version.ref = "eventbusVersion" } hilt-android-compiler = { module = "com.google.dagger:hilt-android-compiler", version.ref = "hiltVersion" } hilt-android-core = { module = "com.google.dagger:hilt-android", version.ref = "hiltVersion" } hilt-androidx-compiler = { module = "androidx.hilt:hilt-compiler", version.ref = "hiltWorkVersion" }