From 6af3aa215274b58d0fbc09dadb56191103eb50ad Mon Sep 17 00:00:00 2001 From: Aayush Gupta Date: Tue, 30 Dec 2025 16:32:43 +0800 Subject: [PATCH] ktlint: Format all viewmodels Signed-off-by: Aayush Gupta --- .../store/viewmodel/all/FavouriteViewModel.kt | 2 +- .../store/viewmodel/all/InstalledViewModel.kt | 3 +- .../store/viewmodel/all/UpdatesViewModel.kt | 4 +- .../store/viewmodel/auth/AuthViewModel.kt | 10 +++-- .../viewmodel/blacklist/BlacklistViewModel.kt | 37 +++++++++++-------- .../browse/ExpandedStreamBrowseViewModel.kt | 2 +- .../viewmodel/browse/StreamBrowseViewModel.kt | 2 +- .../viewmodel/category/CategoryViewModel.kt | 12 ++---- .../commons/PermissionRationaleViewModel.kt | 2 +- .../viewmodel/details/AppDetailsViewModel.kt | 11 +++--- .../viewmodel/details/DevProfileViewModel.kt | 8 ++-- .../viewmodel/details/ExodusViewModel.kt | 2 +- .../viewmodel/details/PermissionViewModel.kt | 12 +++--- .../viewmodel/downloads/DownloadsViewModel.kt | 2 +- .../viewmodel/homestream/StreamViewModel.kt | 10 ++--- .../viewmodel/onboarding/MicroGViewModel.kt | 26 ++++++++----- .../onboarding/OnboardingViewModel.kt | 8 ++-- .../preferences/InstallerViewModel.kt | 6 ++- .../preferences/ProxyURLViewModel.kt | 2 +- .../store/viewmodel/search/SearchViewModel.kt | 16 ++++---- .../store/viewmodel/spoof/SpoofViewModel.kt | 4 +- .../subcategory/CategoryStreamViewModel.kt | 8 ++-- .../viewmodel/topchart/TopChartViewModel.kt | 4 +- 23 files changed, 102 insertions(+), 91 deletions(-) diff --git a/app/src/main/java/com/aurora/store/viewmodel/all/FavouriteViewModel.kt b/app/src/main/java/com/aurora/store/viewmodel/all/FavouriteViewModel.kt index 1778b519f..0cd75c046 100644 --- a/app/src/main/java/com/aurora/store/viewmodel/all/FavouriteViewModel.kt +++ b/app/src/main/java/com/aurora/store/viewmodel/all/FavouriteViewModel.kt @@ -20,6 +20,7 @@ import com.aurora.store.data.room.favourite.FavouriteDao import com.aurora.store.data.room.favourite.ImportExport import dagger.hilt.android.lifecycle.HiltViewModel import dagger.hilt.android.qualifiers.ApplicationContext +import javax.inject.Inject import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.asStateFlow @@ -29,7 +30,6 @@ import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.launch import kotlinx.serialization.json.Json -import javax.inject.Inject @HiltViewModel class FavouriteViewModel @Inject constructor( diff --git a/app/src/main/java/com/aurora/store/viewmodel/all/InstalledViewModel.kt b/app/src/main/java/com/aurora/store/viewmodel/all/InstalledViewModel.kt index 8113ccaa6..da3ab3f3d 100644 --- a/app/src/main/java/com/aurora/store/viewmodel/all/InstalledViewModel.kt +++ b/app/src/main/java/com/aurora/store/viewmodel/all/InstalledViewModel.kt @@ -33,12 +33,12 @@ import com.aurora.store.data.providers.BlacklistProvider import com.aurora.store.util.PackageUtil import dagger.hilt.android.lifecycle.HiltViewModel import dagger.hilt.android.qualifiers.ApplicationContext +import javax.inject.Inject import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach -import javax.inject.Inject @HiltViewModel class InstalledViewModel @Inject constructor( @@ -76,5 +76,4 @@ class InstalledViewModel @Inject constructor( .onEach { _apps.value = it } .launchIn(viewModelScope) } - } diff --git a/app/src/main/java/com/aurora/store/viewmodel/all/UpdatesViewModel.kt b/app/src/main/java/com/aurora/store/viewmodel/all/UpdatesViewModel.kt index 90d034cdd..ec1027871 100644 --- a/app/src/main/java/com/aurora/store/viewmodel/all/UpdatesViewModel.kt +++ b/app/src/main/java/com/aurora/store/viewmodel/all/UpdatesViewModel.kt @@ -25,13 +25,13 @@ import com.aurora.store.data.helper.DownloadHelper import com.aurora.store.data.helper.UpdateHelper import com.aurora.store.data.room.update.Update import dagger.hilt.android.lifecycle.HiltViewModel -import kotlinx.coroutines.launch import javax.inject.Inject +import kotlinx.coroutines.launch @HiltViewModel class UpdatesViewModel @Inject constructor( val updateHelper: UpdateHelper, - private val downloadHelper: DownloadHelper, + private val downloadHelper: DownloadHelper ) : ViewModel() { var updateAllEnqueued: Boolean = false 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 74ff34b09..7b092443c 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 @@ -38,13 +38,13 @@ import com.aurora.store.util.AC2DMTask import com.aurora.store.util.Preferences import dagger.hilt.android.lifecycle.HiltViewModel import dagger.hilt.android.qualifiers.ApplicationContext +import java.net.ConnectException +import java.net.UnknownHostException +import javax.inject.Inject import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.launch -import java.net.ConnectException -import java.net.UnknownHostException -import javax.inject.Inject @HiltViewModel class AuthViewModel @Inject constructor( @@ -135,6 +135,7 @@ class AuthViewModel @Inject constructor( // Generate and validate new auth when (AccountProvider.getAccountType(context)) { AccountType.ANONYMOUS -> buildAnonymousAuthData() + AccountType.GOOGLE -> { val email = AccountProvider.getLoginEmail(context) val tokenPair = AccountProvider.getLoginToken(context) @@ -149,7 +150,8 @@ class AuthViewModel @Inject constructor( } AuthHelper.Token.AUTH -> { - _authState.value = AuthState.PendingAccountManager(email, tokenPair.first) + _authState.value = + AuthState.PendingAccountManager(email, tokenPair.first) } } } diff --git a/app/src/main/java/com/aurora/store/viewmodel/blacklist/BlacklistViewModel.kt b/app/src/main/java/com/aurora/store/viewmodel/blacklist/BlacklistViewModel.kt index 0080faba0..8b97cb0ad 100644 --- a/app/src/main/java/com/aurora/store/viewmodel/blacklist/BlacklistViewModel.kt +++ b/app/src/main/java/com/aurora/store/viewmodel/blacklist/BlacklistViewModel.kt @@ -22,12 +22,12 @@ import com.aurora.store.util.PackageUtil import com.aurora.store.util.Preferences import dagger.hilt.android.lifecycle.HiltViewModel import dagger.hilt.android.qualifiers.ApplicationContext +import javax.inject.Inject import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.launch import kotlinx.serialization.json.Json -import javax.inject.Inject @HiltViewModel class BlacklistViewModel @Inject constructor( @@ -44,7 +44,7 @@ class BlacklistViewModel @Inject constructor( private val isExtendedUpdateEnabled = Preferences.getBoolean(context, Preferences.PREFERENCE_UPDATES_EXTENDED) - private val _packages = MutableStateFlow?>(null) + private val packages = MutableStateFlow?>(null) private val _filteredPackages = MutableStateFlow?>(null) val filteredPackages = _filteredPackages.asStateFlow() @@ -58,7 +58,7 @@ class BlacklistViewModel @Inject constructor( private fun fetchApps() { viewModelScope.launch(Dispatchers.IO) { try { - _packages.value = PackageUtil.getAllValidPackages(context).also { pkgList -> + packages.value = PackageUtil.getAllValidPackages(context).also { pkgList -> _filteredPackages.value = pkgList } } catch (exception: Exception) { @@ -69,22 +69,27 @@ class BlacklistViewModel @Inject constructor( fun search(query: String) { if (query.isNotBlank()) { - _filteredPackages.value = _packages.value!! - .filter { it.applicationInfo!!.loadLabel(context.packageManager) - .contains(query, true) || it.packageName.contains(query, true) + _filteredPackages.value = packages.value!! + .filter { + it.applicationInfo!!.loadLabel(context.packageManager) + .contains(query, true) || it.packageName.contains(query, true) } } else { - _filteredPackages.value = _packages.value + _filteredPackages.value = packages.value } } - fun isFiltered(packageInfo: PackageInfo): Boolean { - return when { - !isExtendedUpdateEnabled && !packageInfo.applicationInfo!!.enabled -> true - isAuroraOnlyFilterEnabled -> !CertUtil.isAuroraStoreApp(context, packageInfo.packageName) - isFDroidFilterEnabled -> CertUtil.isFDroidApp(context, packageInfo.packageName) - else -> false - } + fun isFiltered(packageInfo: PackageInfo): Boolean = when { + !isExtendedUpdateEnabled && !packageInfo.applicationInfo!!.enabled -> true + + isAuroraOnlyFilterEnabled -> !CertUtil.isAuroraStoreApp( + context, + packageInfo.packageName + ) + + isFDroidFilterEnabled -> CertUtil.isFDroidApp(context, packageInfo.packageName) + + else -> false } fun blacklist(packageName: String) { @@ -94,7 +99,7 @@ class BlacklistViewModel @Inject constructor( } fun blacklistAll() { - blacklistProvider.blacklist = _packages.value!!.map { it.packageName }.toMutableSet() + blacklistProvider.blacklist = packages.value!!.map { it.packageName }.toMutableSet() blacklist.apply { clear() addAll(blacklistProvider.blacklist) @@ -121,7 +126,7 @@ class BlacklistViewModel @Inject constructor( ) val validImportedSet = importedSet - .filter { pkgName -> _packages.value!!.any { it.packageName == pkgName } } + .filter { pkgName -> packages.value!!.any { it.packageName == pkgName } } blacklistProvider.blacklist.addAll(validImportedSet) blacklist.apply { clear() diff --git a/app/src/main/java/com/aurora/store/viewmodel/browse/ExpandedStreamBrowseViewModel.kt b/app/src/main/java/com/aurora/store/viewmodel/browse/ExpandedStreamBrowseViewModel.kt index 6b7664c17..9679aa0e0 100644 --- a/app/src/main/java/com/aurora/store/viewmodel/browse/ExpandedStreamBrowseViewModel.kt +++ b/app/src/main/java/com/aurora/store/viewmodel/browse/ExpandedStreamBrowseViewModel.kt @@ -27,10 +27,10 @@ import com.aurora.extensions.TAG import com.aurora.gplayapi.data.models.StreamCluster import com.aurora.gplayapi.helpers.ExpandedBrowseHelper import dagger.hilt.android.lifecycle.HiltViewModel +import javax.inject.Inject import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.supervisorScope -import javax.inject.Inject @HiltViewModel class ExpandedStreamBrowseViewModel @Inject constructor( diff --git a/app/src/main/java/com/aurora/store/viewmodel/browse/StreamBrowseViewModel.kt b/app/src/main/java/com/aurora/store/viewmodel/browse/StreamBrowseViewModel.kt index 41c585f14..3ae3ee521 100644 --- a/app/src/main/java/com/aurora/store/viewmodel/browse/StreamBrowseViewModel.kt +++ b/app/src/main/java/com/aurora/store/viewmodel/browse/StreamBrowseViewModel.kt @@ -27,9 +27,9 @@ import com.aurora.extensions.TAG import com.aurora.gplayapi.data.models.StreamCluster import com.aurora.gplayapi.helpers.web.WebStreamHelper import dagger.hilt.android.lifecycle.HiltViewModel +import javax.inject.Inject import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch -import javax.inject.Inject @HiltViewModel class StreamBrowseViewModel @Inject constructor( diff --git a/app/src/main/java/com/aurora/store/viewmodel/category/CategoryViewModel.kt b/app/src/main/java/com/aurora/store/viewmodel/category/CategoryViewModel.kt index 3d4cb0e61..9d23d0b49 100644 --- a/app/src/main/java/com/aurora/store/viewmodel/category/CategoryViewModel.kt +++ b/app/src/main/java/com/aurora/store/viewmodel/category/CategoryViewModel.kt @@ -30,9 +30,9 @@ import com.aurora.gplayapi.helpers.contracts.CategoryContract import com.aurora.store.CategoryStash import com.aurora.store.data.model.ViewState import dagger.hilt.android.lifecycle.HiltViewModel +import javax.inject.Inject import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch -import javax.inject.Inject @HiltViewModel class CategoryViewModel @Inject constructor( @@ -46,9 +46,7 @@ class CategoryViewModel @Inject constructor( val liveData = MutableLiveData() - private fun contract(): CategoryContract { - return categoryHelper - } + private fun contract(): CategoryContract = categoryHelper fun getCategoryList(type: Category.Type) { viewModelScope.launch(Dispatchers.IO) { @@ -68,9 +66,7 @@ class CategoryViewModel @Inject constructor( } } - private fun getCategories(type: Category.Type): List { - return stash.getOrPut(type) { - mutableListOf() - } + private fun getCategories(type: Category.Type): List = stash.getOrPut(type) { + mutableListOf() } } diff --git a/app/src/main/java/com/aurora/store/viewmodel/commons/PermissionRationaleViewModel.kt b/app/src/main/java/com/aurora/store/viewmodel/commons/PermissionRationaleViewModel.kt index 9f17f63ea..c9f871549 100644 --- a/app/src/main/java/com/aurora/store/viewmodel/commons/PermissionRationaleViewModel.kt +++ b/app/src/main/java/com/aurora/store/viewmodel/commons/PermissionRationaleViewModel.kt @@ -10,9 +10,9 @@ import androidx.lifecycle.ViewModel import com.aurora.store.data.providers.PermissionProvider import dagger.hilt.android.lifecycle.HiltViewModel import dagger.hilt.android.qualifiers.ApplicationContext +import javax.inject.Inject import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.asStateFlow -import javax.inject.Inject @HiltViewModel class PermissionRationaleViewModel @Inject constructor( diff --git a/app/src/main/java/com/aurora/store/viewmodel/details/AppDetailsViewModel.kt b/app/src/main/java/com/aurora/store/viewmodel/details/AppDetailsViewModel.kt index 60d200b58..7e6d6f89e 100644 --- a/app/src/main/java/com/aurora/store/viewmodel/details/AppDetailsViewModel.kt +++ b/app/src/main/java/com/aurora/store/viewmodel/details/AppDetailsViewModel.kt @@ -16,6 +16,7 @@ import com.aurora.extensions.TAG import com.aurora.extensions.requiresGMS import com.aurora.gplayapi.data.models.App import com.aurora.gplayapi.data.models.Review +import com.aurora.gplayapi.data.models.datasafety.Report as DataSafetyReport import com.aurora.gplayapi.data.models.details.TestingProgramStatus import com.aurora.gplayapi.helpers.AppDetailsHelper import com.aurora.gplayapi.helpers.ReviewsHelper @@ -40,6 +41,7 @@ import com.aurora.store.util.Preferences import com.aurora.store.util.Preferences.PREFERENCE_UPDATES_EXTENDED import dagger.hilt.android.lifecycle.HiltViewModel import dagger.hilt.android.qualifiers.ApplicationContext +import javax.inject.Inject import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.SharingStarted @@ -53,8 +55,6 @@ import kotlinx.coroutines.flow.stateIn import kotlinx.coroutines.launch import kotlinx.serialization.json.Json import org.json.JSONObject -import javax.inject.Inject -import com.aurora.gplayapi.data.models.datasafety.Report as DataSafetyReport @HiltViewModel class AppDetailsViewModel @Inject constructor( @@ -232,7 +232,7 @@ class AppDetailsViewModel @Inject constructor( displayName = app.displayName, iconURL = app.iconArtwork.url, mode = Favourite.Mode.MANUAL, - added = System.currentTimeMillis(), + added = System.currentTimeMillis() ) ) } @@ -260,7 +260,9 @@ class AppDetailsViewModel @Inject constructor( ) DownloadStatus.QUEUED -> AppState.Queued + DownloadStatus.PURCHASING -> AppState.Purchasing + else -> defaultAppState } }.launchIn(viewModelScope) @@ -275,7 +277,6 @@ class AppDetailsViewModel @Inject constructor( _featuredReviews.value = emptyList() } } - } private fun fetchFavourite(packageName: String) { @@ -350,7 +351,7 @@ class AppDetailsViewModel @Inject constructor( } private fun getPlexusReport(packageName: String): PlexusReport? { - val url = "${Constants.PLEXUS_API_URL}/${packageName}/?scores=true" + val url = "${Constants.PLEXUS_API_URL}/$packageName/?scores=true" val playResponse = httpClient.get(url, emptyMap()) return json.decodeFromString(String(playResponse.responseBytes)) } diff --git a/app/src/main/java/com/aurora/store/viewmodel/details/DevProfileViewModel.kt b/app/src/main/java/com/aurora/store/viewmodel/details/DevProfileViewModel.kt index 75862fbdc..bf561e26b 100644 --- a/app/src/main/java/com/aurora/store/viewmodel/details/DevProfileViewModel.kt +++ b/app/src/main/java/com/aurora/store/viewmodel/details/DevProfileViewModel.kt @@ -32,10 +32,10 @@ import com.aurora.gplayapi.helpers.StreamHelper import com.aurora.gplayapi.helpers.contracts.StreamContract import com.aurora.store.data.model.ViewState import dagger.hilt.android.lifecycle.HiltViewModel +import javax.inject.Inject import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.supervisorScope -import javax.inject.Inject @HiltViewModel class DevProfileViewModel @Inject constructor( @@ -44,7 +44,7 @@ class DevProfileViewModel @Inject constructor( ) : ViewModel() { val liveData: MutableLiveData = MutableLiveData() - var devStream:DevStream = DevStream() + var devStream: DevStream = DevStream() var streamBundle: StreamBundle = StreamBundle() lateinit var type: StreamContract.Type @@ -69,7 +69,9 @@ class DevProfileViewModel @Inject constructor( supervisorScope { try { if (streamCluster.hasNext()) { - val newCluster = streamHelper.getNextStreamCluster(streamCluster.clusterNextPageUrl) + val newCluster = streamHelper.getNextStreamCluster( + streamCluster.clusterNextPageUrl + ) updateCluster(newCluster) devStream = devStream.copy(streamBundle = streamBundle) liveData.postValue(ViewState.Success(devStream)) diff --git a/app/src/main/java/com/aurora/store/viewmodel/details/ExodusViewModel.kt b/app/src/main/java/com/aurora/store/viewmodel/details/ExodusViewModel.kt index 18816a8c3..97cfd9b97 100644 --- a/app/src/main/java/com/aurora/store/viewmodel/details/ExodusViewModel.kt +++ b/app/src/main/java/com/aurora/store/viewmodel/details/ExodusViewModel.kt @@ -10,12 +10,12 @@ import androidx.lifecycle.viewModelScope import com.aurora.store.data.model.ExodusTracker import com.aurora.store.data.model.Report import dagger.hilt.android.lifecycle.HiltViewModel +import javax.inject.Inject import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.launch import org.json.JSONObject -import javax.inject.Inject @HiltViewModel class ExodusViewModel @Inject constructor( diff --git a/app/src/main/java/com/aurora/store/viewmodel/details/PermissionViewModel.kt b/app/src/main/java/com/aurora/store/viewmodel/details/PermissionViewModel.kt index dcb11635c..cbd62957d 100644 --- a/app/src/main/java/com/aurora/store/viewmodel/details/PermissionViewModel.kt +++ b/app/src/main/java/com/aurora/store/viewmodel/details/PermissionViewModel.kt @@ -21,7 +21,7 @@ import kotlinx.coroutines.flow.asStateFlow class PermissionViewModel @AssistedInject constructor( @Assisted private val permissions: List, @ApplicationContext private val context: Context -): ViewModel() { +) : ViewModel() { @AssistedFactory interface Factory { @@ -42,11 +42,9 @@ class PermissionViewModel @AssistedInject constructor( }.toMap() } - private fun getPermissionInfo(permissionName: String): PermissionInfo? { - return try { - context.packageManager.getPermissionInfo(permissionName, 0) - } catch (_: PackageManager.NameNotFoundException) { - null - } + private fun getPermissionInfo(permissionName: String): PermissionInfo? = try { + context.packageManager.getPermissionInfo(permissionName, 0) + } catch (_: PackageManager.NameNotFoundException) { + null } } diff --git a/app/src/main/java/com/aurora/store/viewmodel/downloads/DownloadsViewModel.kt b/app/src/main/java/com/aurora/store/viewmodel/downloads/DownloadsViewModel.kt index dd1d044e9..a5e8ca1ed 100644 --- a/app/src/main/java/com/aurora/store/viewmodel/downloads/DownloadsViewModel.kt +++ b/app/src/main/java/com/aurora/store/viewmodel/downloads/DownloadsViewModel.kt @@ -20,6 +20,7 @@ import com.aurora.store.data.room.download.Download import com.aurora.store.data.work.ExportWorker import dagger.hilt.android.lifecycle.HiltViewModel import dagger.hilt.android.qualifiers.ApplicationContext +import javax.inject.Inject import kotlinx.coroutines.NonCancellable import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.asStateFlow @@ -27,7 +28,6 @@ import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.launch -import javax.inject.Inject @HiltViewModel class DownloadsViewModel @Inject constructor( diff --git a/app/src/main/java/com/aurora/store/viewmodel/homestream/StreamViewModel.kt b/app/src/main/java/com/aurora/store/viewmodel/homestream/StreamViewModel.kt index 5d0290145..18468a4d0 100644 --- a/app/src/main/java/com/aurora/store/viewmodel/homestream/StreamViewModel.kt +++ b/app/src/main/java/com/aurora/store/viewmodel/homestream/StreamViewModel.kt @@ -31,11 +31,11 @@ import com.aurora.gplayapi.helpers.web.WebStreamHelper import com.aurora.store.HomeStash import com.aurora.store.data.model.ViewState import dagger.hilt.android.lifecycle.HiltViewModel +import javax.inject.Inject import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.sync.Mutex import kotlinx.coroutines.sync.withLock -import javax.inject.Inject @HiltViewModel class StreamViewModel @Inject constructor( @@ -69,7 +69,6 @@ class StreamViewModel @Inject constructor( } if (!bundle.hasCluster() || bundle.hasNext()) { - // Fetch new stream bundle val newBundle = if (bundle.hasCluster()) { streamContract.nextStreamBundle( @@ -157,7 +156,8 @@ class StreamViewModel @Inject constructor( stash[category] = bundle.copy(streamClusters = updatedClusters) } - private fun targetBundle(category: StreamContract.Category): StreamBundle { - return stash.getOrPut(category) { StreamBundle() } - } + private fun targetBundle(category: StreamContract.Category): StreamBundle = + stash.getOrPut(category) { + StreamBundle() + } } diff --git a/app/src/main/java/com/aurora/store/viewmodel/onboarding/MicroGViewModel.kt b/app/src/main/java/com/aurora/store/viewmodel/onboarding/MicroGViewModel.kt index b34e646fb..b3d6655f3 100644 --- a/app/src/main/java/com/aurora/store/viewmodel/onboarding/MicroGViewModel.kt +++ b/app/src/main/java/com/aurora/store/viewmodel/onboarding/MicroGViewModel.kt @@ -21,11 +21,11 @@ import com.aurora.store.data.room.suite.ExternalApk import com.aurora.store.util.PackageUtil import dagger.hilt.android.lifecycle.HiltViewModel import dagger.hilt.android.qualifiers.ApplicationContext +import javax.inject.Inject import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.launch -import javax.inject.Inject data class MicroGUIState( var isDownloading: Boolean = false, @@ -40,18 +40,26 @@ class MicroGViewModel @Inject constructor( ) : ViewModel() { companion object { - private const val MICROG_DOWNLOAD_URL = + private const val BASE_URL = "https://github.com/microg/GmsCore/releases/download" private const val MICROG_VERSION = "v0.3.11.250932" private const val GMS_VERSION_CODE = 250932022 private const val COMPANION_VERSION_CODE = 84022622 + + private const val MICROG_DOWNLOAD_URL = + "$BASE_URL/$MICROG_VERSION/$PACKAGE_NAME_GMS-$GMS_VERSION_CODE-hw.apk" + private const val FAKE_STORE_DOWNLOAD_URL = + "$BASE_URL/$MICROG_VERSION/$PACKAGE_NAME_PLAY_STORE-$COMPANION_VERSION_CODE-hw.apk" + + private const val ICON_BASE_URL = "https://raw.githubusercontent.com/microg" + private const val ICON_FILE_PATH = "src/main/res/mipmap-xxxhdpi/ic_app.png" } init { AuroraApp.events.installerEvent.onEach { when (it) { - is InstallerEvent.Installed -> confirmBundleInstall(it.packageName) - else -> {} + is InstallerEvent.Installed -> confirmBundleInstall() + else -> {} } }.launchIn(AuroraApp.scope) } @@ -64,11 +72,11 @@ class MicroGViewModel @Inject constructor( versionCode = GMS_VERSION_CODE.toLong(), versionName = MICROG_VERSION, displayName = "microG Services", - iconURL = "https://raw.githubusercontent.com/microg/GmsCore/refs/heads/master/play-services-core/src/main/res/mipmap-xxxhdpi/ic_app.png", + iconURL = "$ICON_BASE_URL/GmsCore/refs/heads/master/play-services-core/$ICON_FILE_PATH", developerName = "microG Team", fileList = listOf( PlayFile( - url = "$MICROG_DOWNLOAD_URL/$MICROG_VERSION/$PACKAGE_NAME_GMS-$GMS_VERSION_CODE-hw.apk", + url = MICROG_DOWNLOAD_URL, name = "$PACKAGE_NAME_GMS-$GMS_VERSION_CODE-hw.apk", size = 92386474, sha256 = "2894a93544a8d7ca8f6ca96e7cc697647a7e0862165b6a02f8cd26822759b9cc" @@ -81,11 +89,11 @@ class MicroGViewModel @Inject constructor( versionCode = COMPANION_VERSION_CODE.toLong(), versionName = MICROG_VERSION, displayName = "microG Companion", - iconURL = "https://raw.githubusercontent.com/microg/FakeStore/refs/heads/main/fake-store/src/main/res/mipmap-xxxhdpi/ic_app.png", + iconURL = "$ICON_BASE_URL/FakeStore/refs/heads/main/fake-store/$ICON_FILE_PATH", developerName = "microG Team", fileList = listOf( PlayFile( - url = "$MICROG_DOWNLOAD_URL/$MICROG_VERSION/$PACKAGE_NAME_PLAY_STORE-$COMPANION_VERSION_CODE-hw.apk", + url = FAKE_STORE_DOWNLOAD_URL, name = "$PACKAGE_NAME_PLAY_STORE-$COMPANION_VERSION_CODE-hw.apk", size = 4626291, sha256 = "b9623b8da8791c7e887efca941434b20e517c8a42ca4fda713625957edcc84eb" @@ -111,7 +119,7 @@ class MicroGViewModel @Inject constructor( } } - fun confirmBundleInstall(packageName: String) { + private fun confirmBundleInstall() { if (PackageUtil.isMicroGBundleInstalled(context)) { uiState = uiState.copy(isInstalled = true, isDownloading = false) } diff --git a/app/src/main/java/com/aurora/store/viewmodel/onboarding/OnboardingViewModel.kt b/app/src/main/java/com/aurora/store/viewmodel/onboarding/OnboardingViewModel.kt index 645373f89..e672854a1 100644 --- a/app/src/main/java/com/aurora/store/viewmodel/onboarding/OnboardingViewModel.kt +++ b/app/src/main/java/com/aurora/store/viewmodel/onboarding/OnboardingViewModel.kt @@ -44,9 +44,9 @@ import com.aurora.store.util.save import com.jakewharton.processphoenix.ProcessPhoenix import dagger.hilt.android.lifecycle.HiltViewModel import dagger.hilt.android.qualifiers.ApplicationContext +import javax.inject.Inject import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach -import javax.inject.Inject data class OnboardingUiState( val isMicroBundleChecked: Boolean = false, @@ -69,7 +69,7 @@ class OnboardingViewModel @Inject constructor( AuroraApp.events.installerEvent.onEach { when (it) { is InstallerEvent.Installed -> confirmBundleInstall() - else -> {} + else -> {} } }.launchIn(AuroraApp.scope) } @@ -104,8 +104,8 @@ class OnboardingViewModel @Inject constructor( private fun setupAutoUpdates() { val updateMode = when { context.isIgnoringBatteryOptimizations() -> UpdateMode.CHECK_AND_INSTALL - context.areNotificationsEnabled() -> UpdateMode.CHECK_AND_NOTIFY - else -> UpdateMode.DISABLED + context.areNotificationsEnabled() -> UpdateMode.CHECK_AND_NOTIFY + else -> UpdateMode.DISABLED } context.save(PREFERENCE_UPDATES_AUTO, updateMode.ordinal) diff --git a/app/src/main/java/com/aurora/store/viewmodel/preferences/InstallerViewModel.kt b/app/src/main/java/com/aurora/store/viewmodel/preferences/InstallerViewModel.kt index 70a410a92..351a90b7e 100644 --- a/app/src/main/java/com/aurora/store/viewmodel/preferences/InstallerViewModel.kt +++ b/app/src/main/java/com/aurora/store/viewmodel/preferences/InstallerViewModel.kt @@ -23,17 +23,19 @@ import com.aurora.store.util.Preferences.PREFERENCE_INSTALLER_ID import com.aurora.store.util.save import dagger.hilt.android.lifecycle.HiltViewModel import dagger.hilt.android.qualifiers.ApplicationContext +import javax.inject.Inject import kotlinx.coroutines.flow.MutableSharedFlow import kotlinx.coroutines.flow.asSharedFlow import kotlinx.coroutines.launch import rikka.shizuku.Shizuku import rikka.sui.Sui -import javax.inject.Inject @HiltViewModel class InstallerViewModel @Inject constructor( @ApplicationContext private val context: Context -) : ViewModel(), Shizuku.OnBinderReceivedListener, Shizuku.OnBinderDeadListener, +) : ViewModel(), + Shizuku.OnBinderReceivedListener, + Shizuku.OnBinderDeadListener, Shizuku.OnRequestPermissionResultListener { private val sharedPreferences = Preferences.getPrefs(context) diff --git a/app/src/main/java/com/aurora/store/viewmodel/preferences/ProxyURLViewModel.kt b/app/src/main/java/com/aurora/store/viewmodel/preferences/ProxyURLViewModel.kt index 29a67fd97..f63dc3c2e 100644 --- a/app/src/main/java/com/aurora/store/viewmodel/preferences/ProxyURLViewModel.kt +++ b/app/src/main/java/com/aurora/store/viewmodel/preferences/ProxyURLViewModel.kt @@ -7,8 +7,8 @@ package com.aurora.store.viewmodel.preferences import androidx.lifecycle.ViewModel import dagger.hilt.android.lifecycle.HiltViewModel -import kotlinx.serialization.json.Json import javax.inject.Inject +import kotlinx.serialization.json.Json @HiltViewModel class ProxyURLViewModel @Inject constructor(val json: Json) : ViewModel() diff --git a/app/src/main/java/com/aurora/store/viewmodel/search/SearchViewModel.kt b/app/src/main/java/com/aurora/store/viewmodel/search/SearchViewModel.kt index 55dbfdb75..125815417 100644 --- a/app/src/main/java/com/aurora/store/viewmodel/search/SearchViewModel.kt +++ b/app/src/main/java/com/aurora/store/viewmodel/search/SearchViewModel.kt @@ -24,6 +24,7 @@ import com.aurora.store.data.model.SearchFilter import com.aurora.store.data.paging.GenericPagingSource.Companion.manualPager import com.aurora.store.data.providers.AuthProvider import dagger.hilt.android.lifecycle.HiltViewModel +import javax.inject.Inject import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.SharingStarted @@ -34,7 +35,6 @@ import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.stateIn import kotlinx.coroutines.launch -import javax.inject.Inject @HiltViewModel class SearchViewModel @Inject constructor( @@ -72,14 +72,12 @@ class SearchViewModel @Inject constructor( var nextBundleUrl: String? = null val nextStreamUrls = mutableSetOf() - fun Collection.flatClusters(): List { - return this.flatMap { streamCluster -> - if (streamCluster.hasNext()) { - nextStreamUrls.add(streamCluster.clusterNextPageUrl) - } - streamCluster.clusterAppList - }.distinctBy { app -> app.packageName } - } + fun Collection.flatClusters(): List = this.flatMap { streamCluster -> + if (streamCluster.hasNext()) { + nextStreamUrls.add(streamCluster.clusterNextPageUrl) + } + streamCluster.clusterAppList + }.distinctBy { app -> app.packageName } manualPager { page -> try { diff --git a/app/src/main/java/com/aurora/store/viewmodel/spoof/SpoofViewModel.kt b/app/src/main/java/com/aurora/store/viewmodel/spoof/SpoofViewModel.kt index 110458229..4a627d325 100644 --- a/app/src/main/java/com/aurora/store/viewmodel/spoof/SpoofViewModel.kt +++ b/app/src/main/java/com/aurora/store/viewmodel/spoof/SpoofViewModel.kt @@ -10,11 +10,11 @@ import com.aurora.store.data.providers.SpoofProvider import com.aurora.store.util.PathUtil import dagger.hilt.android.lifecycle.HiltViewModel import dagger.hilt.android.qualifiers.ApplicationContext -import kotlinx.coroutines.flow.MutableStateFlow -import kotlinx.coroutines.flow.asStateFlow import java.util.Locale import java.util.Properties import javax.inject.Inject +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.asStateFlow @HiltViewModel class SpoofViewModel @Inject constructor( diff --git a/app/src/main/java/com/aurora/store/viewmodel/subcategory/CategoryStreamViewModel.kt b/app/src/main/java/com/aurora/store/viewmodel/subcategory/CategoryStreamViewModel.kt index 9cfebbf8e..5976baf93 100644 --- a/app/src/main/java/com/aurora/store/viewmodel/subcategory/CategoryStreamViewModel.kt +++ b/app/src/main/java/com/aurora/store/viewmodel/subcategory/CategoryStreamViewModel.kt @@ -31,10 +31,10 @@ import com.aurora.gplayapi.helpers.contracts.StreamContract import com.aurora.gplayapi.helpers.web.WebCategoryStreamHelper import com.aurora.store.data.model.ViewState import dagger.hilt.android.lifecycle.HiltViewModel +import javax.inject.Inject import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.supervisorScope -import javax.inject.Inject @HiltViewModel class CategoryStreamViewModel @Inject constructor( @@ -64,7 +64,7 @@ class CategoryStreamViewModel @Inject constructor( try { if (!bundle.hasCluster() || bundle.hasNext()) { - //Fetch new stream bundle + // Fetch new stream bundle val newBundle = if (bundle.streamClusters.isEmpty()) { categoryStreamContract.fetch(browseUrl) } else { @@ -74,14 +74,14 @@ class CategoryStreamViewModel @Inject constructor( ) } - //Update old bundle + // Update old bundle val mergedBundle = bundle.copy( streamClusters = bundle.streamClusters + newBundle.streamClusters, streamNextPageUrl = newBundle.streamNextPageUrl ) stash[browseUrl] = mergedBundle - //Post updated to UI + // Post updated to UI liveData.postValue(ViewState.Success(stash)) } else { Log.i(TAG, "End of Bundle") diff --git a/app/src/main/java/com/aurora/store/viewmodel/topchart/TopChartViewModel.kt b/app/src/main/java/com/aurora/store/viewmodel/topchart/TopChartViewModel.kt index 2f0afecb0..4fe8f9f07 100644 --- a/app/src/main/java/com/aurora/store/viewmodel/topchart/TopChartViewModel.kt +++ b/app/src/main/java/com/aurora/store/viewmodel/topchart/TopChartViewModel.kt @@ -28,15 +28,15 @@ import com.aurora.gplayapi.helpers.web.WebTopChartsHelper import com.aurora.store.TopChartStash import com.aurora.store.data.model.ViewState import dagger.hilt.android.lifecycle.HiltViewModel +import javax.inject.Inject import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.supervisorScope -import javax.inject.Inject @HiltViewModel class TopChartViewModel @Inject constructor( private val webTopChartsHelper: WebTopChartsHelper -): ViewModel() { +) : ViewModel() { private var stash: TopChartStash = mutableMapOf()