From e010ed0e806044017475f5f1c662ad26eb83443f Mon Sep 17 00:00:00 2001 From: X1nto Date: Wed, 2 Mar 2022 15:24:22 +0400 Subject: [PATCH] package refactor --- app/src/main/AndroidManifest.xml | 4 +- .../manager/core/util/AppNotifications.kt | 21 ------ .../vanced/manager/core/util/AppPackages.kt | 7 -- .../java/com/vanced/manager/core/util/Arch.kt | 9 --- .../vanced/manager/core/util/SocialLinks.kt | 61 ----------------- .../java/com/vanced/manager/di/APIModule.kt | 6 +- .../com/vanced/manager/di/DatasourceModule.kt | 13 ++-- .../com/vanced/manager/di/DownloaderModule.kt | 12 ++-- .../com/vanced/manager/di/InstallerModuke.kt | 6 +- .../com/vanced/manager/di/RepositoryModule.kt | 9 ++- .../com/vanced/manager/di/ViewModelModule.kt | 12 ++-- .../com/vanced/manager/domain/model/App.kt | 3 +- .../com/vanced/manager/domain/model/Link.kt | 9 --- .../domain/model/NotificationPrefModel.kt | 6 -- .../{core => }/downloader/api/MicrogAPI.kt | 2 +- .../{core => }/downloader/api/MusicAPI.kt | 2 +- .../{core => }/downloader/api/VancedAPI.kt | 2 +- .../downloader/base/AppDownloader.kt | 4 +- .../downloader/impl/MicrogDownloader.kt | 8 +-- .../downloader/impl/MusicDownloader.kt | 17 ++--- .../downloader/impl/VancedDownloader.kt | 20 +++--- .../downloader/util/DownloadPath.kt | 2 +- .../{core => }/installer/base/AppInstaller.kt | 4 +- .../installer/impl/MicrogInstaller.kt | 10 +-- .../installer/impl/MusicInstaller.kt | 35 ++++++---- .../installer/impl/VancedInstaller.kt | 23 ++++--- .../installer/service/AppInstallService.kt | 2 +- .../installer/service/AppUninstallService.kt | 2 +- .../manager/{core => }/installer/util/PM.kt | 6 +- .../{core => }/installer/util/PMRoot.kt | 41 ++++++++---- .../{core => }/installer/util/PMRootResult.kt | 2 +- .../{core => }/installer/util/Patcher.kt | 28 +++++--- .../installer/util/RootPatchHelper.kt | 2 +- .../manager/{core => }/io/ManagerSuFile.kt | 10 +-- .../manager/{core => }/io/SUIOException.kt | 2 +- .../vanced/manager/network/util/Constants.kt | 20 +++--- .../preferences/ManagerPreference.kt | 2 +- .../holder/PreferenceDefaultValueHolder.kt | 2 +- .../preferences/holder/PreferenceHolder.kt | 6 +- .../preferences/holder/PreferenceKeyHolder.kt | 2 +- .../manager/repository/AppRepository.kt | 22 +++--- .../repository/PreferenceRepository.kt | 4 +- .../source}/PkgInfoDatasource.kt | 4 +- .../source}/PreferenceDatasource.kt | 23 +++++-- .../com/vanced/manager/ui/MainActivity.kt | 4 +- .../vanced/manager/ui/SplashScreenActivity.kt | 2 +- .../manager/ui/component/ManagerCard.kt | 2 + .../manager/ui/component/ManagerListItem.kt | 2 +- .../manager/ui/component/ManagerNavigator.kt | 2 +- .../manager/ui/component/ManagerPreference.kt | 4 +- .../manager/ui/screen/ConfigurationScreen.kt | 2 +- .../vanced/manager/ui/screen/HomeScreen.kt | 67 ++++++++++++++++++- .../manager/ui/screen/SettingsScreen.kt | 2 +- .../java/com/vanced/manager/ui/theme/Theme.kt | 2 +- .../manager/ui/viewmodel/InstallViewModel.kt | 28 ++++---- .../manager/ui/viewmodel/MainViewModel.kt | 6 +- .../manager/ui/viewmodel/SettingsViewModel.kt | 8 +-- .../com/vanced/manager/ui/widget/AppCard.kt | 5 +- .../manager/{core => }/util/AppHelper.kt | 2 +- .../main/java/com/vanced/manager/util/Arch.kt | 10 +++ .../manager/{core => }/util/Coroutines.kt | 2 +- .../manager/{core/io/Util.kt => util/IO.kt} | 2 +- .../vanced/manager/{core => }/util/SuShell.kt | 2 +- 63 files changed, 331 insertions(+), 310 deletions(-) delete mode 100644 app/src/main/java/com/vanced/manager/core/util/AppNotifications.kt delete mode 100644 app/src/main/java/com/vanced/manager/core/util/AppPackages.kt delete mode 100644 app/src/main/java/com/vanced/manager/core/util/Arch.kt delete mode 100644 app/src/main/java/com/vanced/manager/core/util/SocialLinks.kt delete mode 100644 app/src/main/java/com/vanced/manager/domain/model/Link.kt delete mode 100644 app/src/main/java/com/vanced/manager/domain/model/NotificationPrefModel.kt rename app/src/main/java/com/vanced/manager/{core => }/downloader/api/MicrogAPI.kt (83%) rename app/src/main/java/com/vanced/manager/{core => }/downloader/api/MusicAPI.kt (87%) rename app/src/main/java/com/vanced/manager/{core => }/downloader/api/VancedAPI.kt (90%) rename app/src/main/java/com/vanced/manager/{core => }/downloader/base/AppDownloader.kt (94%) rename app/src/main/java/com/vanced/manager/{core => }/downloader/impl/MicrogDownloader.kt (84%) rename app/src/main/java/com/vanced/manager/{core => }/downloader/impl/MusicDownloader.kt (71%) rename app/src/main/java/com/vanced/manager/{core => }/downloader/impl/VancedDownloader.kt (76%) rename app/src/main/java/com/vanced/manager/{core => }/downloader/util/DownloadPath.kt (95%) rename app/src/main/java/com/vanced/manager/{core => }/installer/base/AppInstaller.kt (61%) rename app/src/main/java/com/vanced/manager/{core => }/installer/impl/MicrogInstaller.kt (64%) rename app/src/main/java/com/vanced/manager/{core => }/installer/impl/MusicInstaller.kt (53%) rename app/src/main/java/com/vanced/manager/{core => }/installer/impl/VancedInstaller.kt (65%) rename app/src/main/java/com/vanced/manager/{core => }/installer/service/AppInstallService.kt (96%) rename app/src/main/java/com/vanced/manager/{core => }/installer/service/AppUninstallService.kt (95%) rename app/src/main/java/com/vanced/manager/{core => }/installer/util/PM.kt (92%) rename app/src/main/java/com/vanced/manager/{core => }/installer/util/PMRoot.kt (81%) rename app/src/main/java/com/vanced/manager/{core => }/installer/util/PMRootResult.kt (96%) rename app/src/main/java/com/vanced/manager/{core => }/installer/util/Patcher.kt (87%) rename app/src/main/java/com/vanced/manager/{core => }/installer/util/RootPatchHelper.kt (97%) rename app/src/main/java/com/vanced/manager/{core => }/io/ManagerSuFile.kt (85%) rename app/src/main/java/com/vanced/manager/{core => }/io/SUIOException.kt (86%) rename app/src/main/java/com/vanced/manager/{core => }/preferences/ManagerPreference.kt (98%) rename app/src/main/java/com/vanced/manager/{core => }/preferences/holder/PreferenceDefaultValueHolder.kt (73%) rename app/src/main/java/com/vanced/manager/{core => }/preferences/holder/PreferenceHolder.kt (69%) rename app/src/main/java/com/vanced/manager/{core => }/preferences/holder/PreferenceKeyHolder.kt (82%) rename app/src/main/java/com/vanced/manager/{datasource => repository/source}/PkgInfoDatasource.kt (94%) rename app/src/main/java/com/vanced/manager/{datasource => repository/source}/PreferenceDatasource.kt (78%) rename app/src/main/java/com/vanced/manager/{core => }/util/AppHelper.kt (86%) create mode 100644 app/src/main/java/com/vanced/manager/util/Arch.kt rename app/src/main/java/com/vanced/manager/{core => }/util/Coroutines.kt (90%) rename app/src/main/java/com/vanced/manager/{core/io/Util.kt => util/IO.kt} (96%) rename app/src/main/java/com/vanced/manager/{core => }/util/SuShell.kt (93%) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ae12ca2a..edf40951 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -41,8 +41,8 @@ android:theme="@style/Theme.MaterialComponents.NoActionBar" android:label="@string/app_name"/> - - + + diff --git a/app/src/main/java/com/vanced/manager/core/util/AppNotifications.kt b/app/src/main/java/com/vanced/manager/core/util/AppNotifications.kt deleted file mode 100644 index 221bf3db..00000000 --- a/app/src/main/java/com/vanced/manager/core/util/AppNotifications.kt +++ /dev/null @@ -1,21 +0,0 @@ -package com.vanced.manager.core.util - -import com.vanced.manager.domain.model.NotificationPrefModel -import com.vanced.manager.network.util.MICROG_NAME -import com.vanced.manager.network.util.MUSIC_NAME -import com.vanced.manager.network.util.VANCED_NAME - -val notificationApps = arrayOf( - NotificationPrefModel( - app = VANCED_NAME, - prefKey = "vanced" - ), - NotificationPrefModel( - app = MUSIC_NAME, - prefKey = "music" - ), - NotificationPrefModel( - app = MICROG_NAME, - prefKey = "microg" - ) -) \ No newline at end of file diff --git a/app/src/main/java/com/vanced/manager/core/util/AppPackages.kt b/app/src/main/java/com/vanced/manager/core/util/AppPackages.kt deleted file mode 100644 index 7e976287..00000000 --- a/app/src/main/java/com/vanced/manager/core/util/AppPackages.kt +++ /dev/null @@ -1,7 +0,0 @@ -package com.vanced.manager.core.util - -const val VANCED_YOUTUBE_PACKAGE = "com.vanced.android.youtube" -const val VANCED_YOUTUBE_PACKAGE_ROOT = "com.google.android.youtube" - -const val VANCED_MUSIC_PACKAGE = "com.vanced.android.apps.youtube.music" -const val VANCED_MUSIC_PACKAGE_ROOT = "com.google.android.apps.youtube.music" \ No newline at end of file diff --git a/app/src/main/java/com/vanced/manager/core/util/Arch.kt b/app/src/main/java/com/vanced/manager/core/util/Arch.kt deleted file mode 100644 index fed980ff..00000000 --- a/app/src/main/java/com/vanced/manager/core/util/Arch.kt +++ /dev/null @@ -1,9 +0,0 @@ -package com.vanced.manager.core.util - -import android.os.Build - -val arch get() = when { - Build.SUPPORTED_ABIS.contains("x86") -> "x86" - Build.SUPPORTED_ABIS.contains("arm64-v8a") -> "arm64_v8a" - else -> "armeabi_v7a" -} \ No newline at end of file diff --git a/app/src/main/java/com/vanced/manager/core/util/SocialLinks.kt b/app/src/main/java/com/vanced/manager/core/util/SocialLinks.kt deleted file mode 100644 index 06cbd82a..00000000 --- a/app/src/main/java/com/vanced/manager/core/util/SocialLinks.kt +++ /dev/null @@ -1,61 +0,0 @@ -package com.vanced.manager.core.util - -import com.vanced.manager.R -import com.vanced.manager.domain.model.Link -import com.vanced.manager.network.util.* - -val sponsors = listOf( - Link( - title = "Brave", - link = BRAVE, - icon = R.drawable.ic_brave - ), - Link( - title = "Adguard", - link = ADGUARD, - icon = R.drawable.ic_adguard - ) -) - -val socialMedia = listOf( - Link( - title = "Instagram", - link = INSTAGRAM, - icon = R.drawable.ic_instagram - ), - Link( - title = "YouTube", - link = YOUTUBE, - icon = R.drawable.ic_youtube - ), - Link( - title = "GitHub", - link = GITHUB, - icon = R.drawable.ic_github - ), - Link( - title = "Website", - link = WEBSITE, - icon = R.drawable.ic_website - ), - Link( - title = "Telegram", - link = TELEGRAM, - icon = R.drawable.ic_telegram - ), - Link( - title = "Twitter", - link = TWITTER, - icon = R.drawable.ic_twitter - ), - Link( - title = "Discord", - link = DISCORD, - icon = R.drawable.ic_discord - ), - Link( - title = "Reddit", - link = REDDIT, - icon = R.drawable.ic_reddit - ), -) \ No newline at end of file diff --git a/app/src/main/java/com/vanced/manager/di/APIModule.kt b/app/src/main/java/com/vanced/manager/di/APIModule.kt index 0ac77bcc..8ebd2b30 100644 --- a/app/src/main/java/com/vanced/manager/di/APIModule.kt +++ b/app/src/main/java/com/vanced/manager/di/APIModule.kt @@ -1,8 +1,8 @@ package com.vanced.manager.di -import com.vanced.manager.core.downloader.api.MicrogAPI -import com.vanced.manager.core.downloader.api.MusicAPI -import com.vanced.manager.core.downloader.api.VancedAPI +import com.vanced.manager.downloader.api.MicrogAPI +import com.vanced.manager.downloader.api.MusicAPI +import com.vanced.manager.downloader.api.VancedAPI import com.vanced.manager.network.util.BASE import okhttp3.OkHttpClient import org.koin.dsl.module diff --git a/app/src/main/java/com/vanced/manager/di/DatasourceModule.kt b/app/src/main/java/com/vanced/manager/di/DatasourceModule.kt index 9984dff7..65164f05 100644 --- a/app/src/main/java/com/vanced/manager/di/DatasourceModule.kt +++ b/app/src/main/java/com/vanced/manager/di/DatasourceModule.kt @@ -1,10 +1,10 @@ package com.vanced.manager.di import android.content.Context -import com.vanced.manager.datasource.PkgInfoDatasource -import com.vanced.manager.datasource.PkgInfoDatasourceImpl -import com.vanced.manager.datasource.PreferenceDatasource -import com.vanced.manager.datasource.PreferenceDatasourceImpl +import com.vanced.manager.repository.source.PkgInfoDatasource +import com.vanced.manager.repository.source.PkgInfoDatasourceImpl +import com.vanced.manager.repository.source.PreferenceDatasource +import com.vanced.manager.repository.source.PreferenceDatasourceImpl import org.koin.android.ext.koin.androidContext import org.koin.dsl.module @@ -22,7 +22,10 @@ val datasourceModule = module { context: Context ): PreferenceDatasource { return PreferenceDatasourceImpl( - sharedPreferences = context.getSharedPreferences("manager_settings", Context.MODE_PRIVATE) + sharedPreferences = context.getSharedPreferences( + "manager_settings", + Context.MODE_PRIVATE + ) ) } diff --git a/app/src/main/java/com/vanced/manager/di/DownloaderModule.kt b/app/src/main/java/com/vanced/manager/di/DownloaderModule.kt index 642e9bcc..87521bad 100644 --- a/app/src/main/java/com/vanced/manager/di/DownloaderModule.kt +++ b/app/src/main/java/com/vanced/manager/di/DownloaderModule.kt @@ -1,12 +1,12 @@ package com.vanced.manager.di import android.content.Context -import com.vanced.manager.core.downloader.api.MicrogAPI -import com.vanced.manager.core.downloader.api.MusicAPI -import com.vanced.manager.core.downloader.api.VancedAPI -import com.vanced.manager.core.downloader.impl.MicrogDownloader -import com.vanced.manager.core.downloader.impl.MusicDownloader -import com.vanced.manager.core.downloader.impl.VancedDownloader +import com.vanced.manager.downloader.api.MicrogAPI +import com.vanced.manager.downloader.api.MusicAPI +import com.vanced.manager.downloader.api.VancedAPI +import com.vanced.manager.downloader.impl.MicrogDownloader +import com.vanced.manager.downloader.impl.MusicDownloader +import com.vanced.manager.downloader.impl.VancedDownloader import org.koin.android.ext.koin.androidContext import org.koin.dsl.module diff --git a/app/src/main/java/com/vanced/manager/di/InstallerModuke.kt b/app/src/main/java/com/vanced/manager/di/InstallerModuke.kt index 31f6f43a..2fa146aa 100644 --- a/app/src/main/java/com/vanced/manager/di/InstallerModuke.kt +++ b/app/src/main/java/com/vanced/manager/di/InstallerModuke.kt @@ -1,9 +1,9 @@ package com.vanced.manager.di import android.content.Context -import com.vanced.manager.core.installer.impl.MicrogInstaller -import com.vanced.manager.core.installer.impl.MusicInstaller -import com.vanced.manager.core.installer.impl.VancedInstaller +import com.vanced.manager.installer.impl.MicrogInstaller +import com.vanced.manager.installer.impl.MusicInstaller +import com.vanced.manager.installer.impl.VancedInstaller import org.koin.android.ext.koin.androidContext import org.koin.dsl.module diff --git a/app/src/main/java/com/vanced/manager/di/RepositoryModule.kt b/app/src/main/java/com/vanced/manager/di/RepositoryModule.kt index a58352e3..103ad994 100644 --- a/app/src/main/java/com/vanced/manager/di/RepositoryModule.kt +++ b/app/src/main/java/com/vanced/manager/di/RepositoryModule.kt @@ -1,9 +1,12 @@ package com.vanced.manager.di -import com.vanced.manager.datasource.PkgInfoDatasource -import com.vanced.manager.datasource.PreferenceDatasource import com.vanced.manager.network.GithubService -import com.vanced.manager.repository.* +import com.vanced.manager.repository.AppRepository +import com.vanced.manager.repository.AppRepositoryImpl +import com.vanced.manager.repository.PreferenceRepository +import com.vanced.manager.repository.PreferenceRepositoryImpl +import com.vanced.manager.repository.source.PkgInfoDatasource +import com.vanced.manager.repository.source.PreferenceDatasource import org.koin.dsl.module val repositoryModule = module { diff --git a/app/src/main/java/com/vanced/manager/di/ViewModelModule.kt b/app/src/main/java/com/vanced/manager/di/ViewModelModule.kt index 2119b9ec..d82ede03 100644 --- a/app/src/main/java/com/vanced/manager/di/ViewModelModule.kt +++ b/app/src/main/java/com/vanced/manager/di/ViewModelModule.kt @@ -1,12 +1,12 @@ package com.vanced.manager.di import android.app.Application -import com.vanced.manager.core.downloader.impl.MicrogDownloader -import com.vanced.manager.core.downloader.impl.MusicDownloader -import com.vanced.manager.core.downloader.impl.VancedDownloader -import com.vanced.manager.core.installer.impl.MicrogInstaller -import com.vanced.manager.core.installer.impl.MusicInstaller -import com.vanced.manager.core.installer.impl.VancedInstaller +import com.vanced.manager.downloader.impl.MicrogDownloader +import com.vanced.manager.downloader.impl.MusicDownloader +import com.vanced.manager.downloader.impl.VancedDownloader +import com.vanced.manager.installer.impl.MicrogInstaller +import com.vanced.manager.installer.impl.MusicInstaller +import com.vanced.manager.installer.impl.VancedInstaller import com.vanced.manager.repository.AppRepository import com.vanced.manager.repository.PreferenceRepository import com.vanced.manager.ui.viewmodel.ConfigurationViewModel diff --git a/app/src/main/java/com/vanced/manager/domain/model/App.kt b/app/src/main/java/com/vanced/manager/domain/model/App.kt index 0b5a7c06..d9a76e21 100644 --- a/app/src/main/java/com/vanced/manager/domain/model/App.kt +++ b/app/src/main/java/com/vanced/manager/domain/model/App.kt @@ -37,7 +37,8 @@ object AppData { const val PACKAGE_ROOT_VANCED_YOUTUBE_MUSIC = "com.google.android.youtube.apps.music" const val LAUNCH_ACTIVITY_VANCED_YOUTUBE = "com.google.android.youtube.HomeActivity" - const val LAUNCH_ACTIVITY_VANCED_YOUTUBE_MUSIC = "com.google.android.apps.youtube.music.activities.MusicActivity" + const val LAUNCH_ACTIVITY_VANCED_YOUTUBE_MUSIC = + "com.google.android.apps.youtube.music.activities.MusicActivity" const val LAUNCH_ACTIVITY_VANCED_MICROG = "org.microg.gms.ui.SettingsActivity" const val LAUNCH_ACTIVITY_VANCED_MANAGER = "" } diff --git a/app/src/main/java/com/vanced/manager/domain/model/Link.kt b/app/src/main/java/com/vanced/manager/domain/model/Link.kt deleted file mode 100644 index 080ba76d..00000000 --- a/app/src/main/java/com/vanced/manager/domain/model/Link.kt +++ /dev/null @@ -1,9 +0,0 @@ -package com.vanced.manager.domain.model - -import androidx.annotation.DrawableRes - -data class Link( - val title: String, - val link: String, - @DrawableRes val icon: Int -) diff --git a/app/src/main/java/com/vanced/manager/domain/model/NotificationPrefModel.kt b/app/src/main/java/com/vanced/manager/domain/model/NotificationPrefModel.kt deleted file mode 100644 index eb975d78..00000000 --- a/app/src/main/java/com/vanced/manager/domain/model/NotificationPrefModel.kt +++ /dev/null @@ -1,6 +0,0 @@ -package com.vanced.manager.domain.model - -data class NotificationPrefModel( - val app: String, - val prefKey: String -) diff --git a/app/src/main/java/com/vanced/manager/core/downloader/api/MicrogAPI.kt b/app/src/main/java/com/vanced/manager/downloader/api/MicrogAPI.kt similarity index 83% rename from app/src/main/java/com/vanced/manager/core/downloader/api/MicrogAPI.kt rename to app/src/main/java/com/vanced/manager/downloader/api/MicrogAPI.kt index 14c99d62..e379b85c 100644 --- a/app/src/main/java/com/vanced/manager/core/downloader/api/MicrogAPI.kt +++ b/app/src/main/java/com/vanced/manager/downloader/api/MicrogAPI.kt @@ -1,4 +1,4 @@ -package com.vanced.manager.core.downloader.api +package com.vanced.manager.downloader.api import okhttp3.ResponseBody import retrofit2.Call diff --git a/app/src/main/java/com/vanced/manager/core/downloader/api/MusicAPI.kt b/app/src/main/java/com/vanced/manager/downloader/api/MusicAPI.kt similarity index 87% rename from app/src/main/java/com/vanced/manager/core/downloader/api/MusicAPI.kt rename to app/src/main/java/com/vanced/manager/downloader/api/MusicAPI.kt index 0eaec89f..9eece8b5 100644 --- a/app/src/main/java/com/vanced/manager/core/downloader/api/MusicAPI.kt +++ b/app/src/main/java/com/vanced/manager/downloader/api/MusicAPI.kt @@ -1,4 +1,4 @@ -package com.vanced.manager.core.downloader.api +package com.vanced.manager.downloader.api import okhttp3.ResponseBody import retrofit2.Call diff --git a/app/src/main/java/com/vanced/manager/core/downloader/api/VancedAPI.kt b/app/src/main/java/com/vanced/manager/downloader/api/VancedAPI.kt similarity index 90% rename from app/src/main/java/com/vanced/manager/core/downloader/api/VancedAPI.kt rename to app/src/main/java/com/vanced/manager/downloader/api/VancedAPI.kt index 1e44b268..27ae1e30 100644 --- a/app/src/main/java/com/vanced/manager/core/downloader/api/VancedAPI.kt +++ b/app/src/main/java/com/vanced/manager/downloader/api/VancedAPI.kt @@ -1,4 +1,4 @@ -package com.vanced.manager.core.downloader.api +package com.vanced.manager.downloader.api import okhttp3.ResponseBody import retrofit2.Call diff --git a/app/src/main/java/com/vanced/manager/core/downloader/base/AppDownloader.kt b/app/src/main/java/com/vanced/manager/downloader/base/AppDownloader.kt similarity index 94% rename from app/src/main/java/com/vanced/manager/core/downloader/base/AppDownloader.kt rename to app/src/main/java/com/vanced/manager/downloader/base/AppDownloader.kt index efeb9eb0..d808a566 100644 --- a/app/src/main/java/com/vanced/manager/core/downloader/base/AppDownloader.kt +++ b/app/src/main/java/com/vanced/manager/downloader/base/AppDownloader.kt @@ -1,6 +1,6 @@ -package com.vanced.manager.core.downloader.base +package com.vanced.manager.downloader.base -import com.vanced.manager.core.io.writeFile +import com.vanced.manager.util.writeFile import okhttp3.ResponseBody import retrofit2.Call import retrofit2.awaitResponse diff --git a/app/src/main/java/com/vanced/manager/core/downloader/impl/MicrogDownloader.kt b/app/src/main/java/com/vanced/manager/downloader/impl/MicrogDownloader.kt similarity index 84% rename from app/src/main/java/com/vanced/manager/core/downloader/impl/MicrogDownloader.kt rename to app/src/main/java/com/vanced/manager/downloader/impl/MicrogDownloader.kt index ca810c8e..bcadbb47 100644 --- a/app/src/main/java/com/vanced/manager/core/downloader/impl/MicrogDownloader.kt +++ b/app/src/main/java/com/vanced/manager/downloader/impl/MicrogDownloader.kt @@ -1,9 +1,9 @@ -package com.vanced.manager.core.downloader.impl +package com.vanced.manager.downloader.impl import android.content.Context -import com.vanced.manager.core.downloader.api.MicrogAPI -import com.vanced.manager.core.downloader.base.AppDownloader -import com.vanced.manager.core.downloader.util.getMicrogPath +import com.vanced.manager.downloader.api.MicrogAPI +import com.vanced.manager.downloader.base.AppDownloader +import com.vanced.manager.downloader.util.getMicrogPath import java.io.File class MicrogDownloader( diff --git a/app/src/main/java/com/vanced/manager/core/downloader/impl/MusicDownloader.kt b/app/src/main/java/com/vanced/manager/downloader/impl/MusicDownloader.kt similarity index 71% rename from app/src/main/java/com/vanced/manager/core/downloader/impl/MusicDownloader.kt rename to app/src/main/java/com/vanced/manager/downloader/impl/MusicDownloader.kt index 09477052..5c3b6c66 100644 --- a/app/src/main/java/com/vanced/manager/core/downloader/impl/MusicDownloader.kt +++ b/app/src/main/java/com/vanced/manager/downloader/impl/MusicDownloader.kt @@ -1,12 +1,12 @@ -package com.vanced.manager.core.downloader.impl +package com.vanced.manager.downloader.impl import android.content.Context -import com.vanced.manager.core.downloader.api.MusicAPI -import com.vanced.manager.core.downloader.base.AppDownloader -import com.vanced.manager.core.downloader.util.getVancedYoutubeMusicPath -import com.vanced.manager.core.preferences.holder.managerVariantPref -import com.vanced.manager.core.preferences.holder.musicVersionPref -import com.vanced.manager.core.util.getLatestOrProvidedAppVersion +import com.vanced.manager.downloader.api.MusicAPI +import com.vanced.manager.downloader.base.AppDownloader +import com.vanced.manager.downloader.util.getVancedYoutubeMusicPath +import com.vanced.manager.preferences.holder.managerVariantPref +import com.vanced.manager.preferences.holder.musicVersionPref +import com.vanced.manager.util.getLatestOrProvidedAppVersion import java.io.File class MusicDownloader( @@ -51,7 +51,8 @@ class MusicDownloader( } override fun getSavedFilePath(): String { - val directory = File(getVancedYoutubeMusicPath(absoluteVersion, managerVariantPref, context)) + val directory = + File(getVancedYoutubeMusicPath(absoluteVersion, managerVariantPref, context)) if (!directory.exists()) directory.mkdirs() diff --git a/app/src/main/java/com/vanced/manager/core/downloader/impl/VancedDownloader.kt b/app/src/main/java/com/vanced/manager/downloader/impl/VancedDownloader.kt similarity index 76% rename from app/src/main/java/com/vanced/manager/core/downloader/impl/VancedDownloader.kt rename to app/src/main/java/com/vanced/manager/downloader/impl/VancedDownloader.kt index 364c9187..909baf31 100644 --- a/app/src/main/java/com/vanced/manager/core/downloader/impl/VancedDownloader.kt +++ b/app/src/main/java/com/vanced/manager/downloader/impl/VancedDownloader.kt @@ -1,15 +1,15 @@ -package com.vanced.manager.core.downloader.impl +package com.vanced.manager.downloader.impl import android.content.Context -import com.vanced.manager.core.downloader.api.VancedAPI -import com.vanced.manager.core.downloader.base.AppDownloader -import com.vanced.manager.core.downloader.util.getVancedYoutubePath -import com.vanced.manager.core.preferences.holder.managerVariantPref -import com.vanced.manager.core.preferences.holder.vancedLanguagesPref -import com.vanced.manager.core.preferences.holder.vancedThemePref -import com.vanced.manager.core.preferences.holder.vancedVersionPref -import com.vanced.manager.core.util.arch -import com.vanced.manager.core.util.getLatestOrProvidedAppVersion +import com.vanced.manager.downloader.api.VancedAPI +import com.vanced.manager.downloader.base.AppDownloader +import com.vanced.manager.downloader.util.getVancedYoutubePath +import com.vanced.manager.preferences.holder.managerVariantPref +import com.vanced.manager.preferences.holder.vancedLanguagesPref +import com.vanced.manager.preferences.holder.vancedThemePref +import com.vanced.manager.preferences.holder.vancedVersionPref +import com.vanced.manager.util.arch +import com.vanced.manager.util.getLatestOrProvidedAppVersion import java.io.File class VancedDownloader( diff --git a/app/src/main/java/com/vanced/manager/core/downloader/util/DownloadPath.kt b/app/src/main/java/com/vanced/manager/downloader/util/DownloadPath.kt similarity index 95% rename from app/src/main/java/com/vanced/manager/core/downloader/util/DownloadPath.kt rename to app/src/main/java/com/vanced/manager/downloader/util/DownloadPath.kt index 746e4b59..50df4f5b 100644 --- a/app/src/main/java/com/vanced/manager/core/downloader/util/DownloadPath.kt +++ b/app/src/main/java/com/vanced/manager/downloader/util/DownloadPath.kt @@ -1,4 +1,4 @@ -package com.vanced.manager.core.downloader.util +package com.vanced.manager.downloader.util import android.content.Context diff --git a/app/src/main/java/com/vanced/manager/core/installer/base/AppInstaller.kt b/app/src/main/java/com/vanced/manager/installer/base/AppInstaller.kt similarity index 61% rename from app/src/main/java/com/vanced/manager/core/installer/base/AppInstaller.kt rename to app/src/main/java/com/vanced/manager/installer/base/AppInstaller.kt index 61e5b38e..e5de5b53 100644 --- a/app/src/main/java/com/vanced/manager/core/installer/base/AppInstaller.kt +++ b/app/src/main/java/com/vanced/manager/installer/base/AppInstaller.kt @@ -1,6 +1,6 @@ -package com.vanced.manager.core.installer.base +package com.vanced.manager.installer.base -import com.vanced.manager.core.installer.util.PMRootResult +import com.vanced.manager.installer.util.PMRootResult abstract class AppInstaller { diff --git a/app/src/main/java/com/vanced/manager/core/installer/impl/MicrogInstaller.kt b/app/src/main/java/com/vanced/manager/installer/impl/MicrogInstaller.kt similarity index 64% rename from app/src/main/java/com/vanced/manager/core/installer/impl/MicrogInstaller.kt rename to app/src/main/java/com/vanced/manager/installer/impl/MicrogInstaller.kt index 55642b25..6334dc77 100644 --- a/app/src/main/java/com/vanced/manager/core/installer/impl/MicrogInstaller.kt +++ b/app/src/main/java/com/vanced/manager/installer/impl/MicrogInstaller.kt @@ -1,10 +1,10 @@ -package com.vanced.manager.core.installer.impl +package com.vanced.manager.installer.impl import android.content.Context -import com.vanced.manager.core.downloader.util.getMicrogPath -import com.vanced.manager.core.installer.base.AppInstaller -import com.vanced.manager.core.installer.util.PM -import com.vanced.manager.core.installer.util.PMRootResult +import com.vanced.manager.downloader.util.getMicrogPath +import com.vanced.manager.installer.base.AppInstaller +import com.vanced.manager.installer.util.PM +import com.vanced.manager.installer.util.PMRootResult import java.io.File class MicrogInstaller( diff --git a/app/src/main/java/com/vanced/manager/core/installer/impl/MusicInstaller.kt b/app/src/main/java/com/vanced/manager/installer/impl/MusicInstaller.kt similarity index 53% rename from app/src/main/java/com/vanced/manager/core/installer/impl/MusicInstaller.kt rename to app/src/main/java/com/vanced/manager/installer/impl/MusicInstaller.kt index 46ee003b..3572b750 100644 --- a/app/src/main/java/com/vanced/manager/core/installer/impl/MusicInstaller.kt +++ b/app/src/main/java/com/vanced/manager/installer/impl/MusicInstaller.kt @@ -1,15 +1,18 @@ -package com.vanced.manager.core.installer.impl +package com.vanced.manager.installer.impl import android.content.Context -import com.vanced.manager.core.downloader.util.getStockYoutubeMusicPath -import com.vanced.manager.core.downloader.util.getVancedYoutubeMusicPath -import com.vanced.manager.core.installer.base.AppInstaller -import com.vanced.manager.core.installer.util.* -import com.vanced.manager.core.preferences.holder.managerVariantPref -import com.vanced.manager.core.preferences.holder.musicVersionPref -import com.vanced.manager.core.preferences.holder.vancedVersionPref -import com.vanced.manager.core.util.VANCED_MUSIC_PACKAGE_ROOT -import com.vanced.manager.core.util.getLatestOrProvidedAppVersion +import com.vanced.manager.domain.model.AppData +import com.vanced.manager.downloader.util.getStockYoutubeMusicPath +import com.vanced.manager.downloader.util.getVancedYoutubeMusicPath +import com.vanced.manager.installer.base.AppInstaller +import com.vanced.manager.installer.util.PM +import com.vanced.manager.installer.util.PMRoot +import com.vanced.manager.installer.util.PMRootResult +import com.vanced.manager.installer.util.RootPatchHelper +import com.vanced.manager.preferences.holder.managerVariantPref +import com.vanced.manager.preferences.holder.musicVersionPref +import com.vanced.manager.preferences.holder.vancedVersionPref +import com.vanced.manager.util.getLatestOrProvidedAppVersion import java.io.File class MusicInstaller( @@ -21,7 +24,13 @@ class MusicInstaller( ) { val absoluteVersion = getLatestOrProvidedAppVersion(musicVersionPref, appVersions) - val musicApk = File(getVancedYoutubeMusicPath(absoluteVersion, managerVariantPref, context) + "/music.apk") + val musicApk = File( + getVancedYoutubeMusicPath( + absoluteVersion, + managerVariantPref, + context + ) + "/music.apk" + ) PM.installApp(musicApk, context) } @@ -33,7 +42,7 @@ class MusicInstaller( val vancedPath = getVancedYoutubeMusicPath(absoluteVersion, "root", context) + "/base.apk" val prepareStock = RootPatchHelper.prepareStock( - stockPackage = VANCED_MUSIC_PACKAGE_ROOT, + stockPackage = AppData.PACKAGE_ROOT_VANCED_YOUTUBE_MUSIC, stockVersion = absoluteVersion ) { PMRoot.installApp(stockPath) @@ -43,7 +52,7 @@ class MusicInstaller( val patchStock = RootPatchHelper.patchStock( patchPath = vancedPath, - stockPackage = VANCED_MUSIC_PACKAGE_ROOT, + stockPackage = AppData.PACKAGE_ROOT_VANCED_YOUTUBE_MUSIC, app = APP_KEY ) if (patchStock.isError) diff --git a/app/src/main/java/com/vanced/manager/core/installer/impl/VancedInstaller.kt b/app/src/main/java/com/vanced/manager/installer/impl/VancedInstaller.kt similarity index 65% rename from app/src/main/java/com/vanced/manager/core/installer/impl/VancedInstaller.kt rename to app/src/main/java/com/vanced/manager/installer/impl/VancedInstaller.kt index bdcbf866..e1763e38 100644 --- a/app/src/main/java/com/vanced/manager/core/installer/impl/VancedInstaller.kt +++ b/app/src/main/java/com/vanced/manager/installer/impl/VancedInstaller.kt @@ -1,13 +1,16 @@ -package com.vanced.manager.core.installer.impl +package com.vanced.manager.installer.impl import android.content.Context -import com.vanced.manager.core.downloader.util.getStockYoutubePath -import com.vanced.manager.core.downloader.util.getVancedYoutubePath -import com.vanced.manager.core.installer.base.AppInstaller -import com.vanced.manager.core.installer.util.* -import com.vanced.manager.core.preferences.holder.vancedVersionPref -import com.vanced.manager.core.util.VANCED_YOUTUBE_PACKAGE_ROOT -import com.vanced.manager.core.util.getLatestOrProvidedAppVersion +import com.vanced.manager.domain.model.AppData +import com.vanced.manager.downloader.util.getStockYoutubePath +import com.vanced.manager.downloader.util.getVancedYoutubePath +import com.vanced.manager.installer.base.AppInstaller +import com.vanced.manager.installer.util.PM +import com.vanced.manager.installer.util.PMRoot +import com.vanced.manager.installer.util.PMRootResult +import com.vanced.manager.installer.util.RootPatchHelper +import com.vanced.manager.preferences.holder.vancedVersionPref +import com.vanced.manager.util.getLatestOrProvidedAppVersion import java.io.File class VancedInstaller( @@ -33,7 +36,7 @@ class VancedInstaller( val vancedBaseApk = getVancedYoutubePath(absoluteVersion, "root", context) + "/base.apk" val prepareStock = RootPatchHelper.prepareStock( - stockPackage = VANCED_YOUTUBE_PACKAGE_ROOT, + stockPackage = AppData.PACKAGE_ROOT_VANCED_YOUTUBE, stockVersion = absoluteVersion, ) { PMRoot.installSplitApp(stockApks!!) @@ -43,7 +46,7 @@ class VancedInstaller( val patchStock = RootPatchHelper.patchStock( patchPath = vancedBaseApk, - stockPackage = VANCED_YOUTUBE_PACKAGE_ROOT, + stockPackage = AppData.PACKAGE_ROOT_VANCED_YOUTUBE, app = APP_KEY ) if (patchStock.isError) diff --git a/app/src/main/java/com/vanced/manager/core/installer/service/AppInstallService.kt b/app/src/main/java/com/vanced/manager/installer/service/AppInstallService.kt similarity index 96% rename from app/src/main/java/com/vanced/manager/core/installer/service/AppInstallService.kt rename to app/src/main/java/com/vanced/manager/installer/service/AppInstallService.kt index 559ccd12..3eb740e3 100644 --- a/app/src/main/java/com/vanced/manager/core/installer/service/AppInstallService.kt +++ b/app/src/main/java/com/vanced/manager/installer/service/AppInstallService.kt @@ -1,4 +1,4 @@ -package com.vanced.manager.core.installer.service +package com.vanced.manager.installer.service import android.app.Service import android.content.Intent diff --git a/app/src/main/java/com/vanced/manager/core/installer/service/AppUninstallService.kt b/app/src/main/java/com/vanced/manager/installer/service/AppUninstallService.kt similarity index 95% rename from app/src/main/java/com/vanced/manager/core/installer/service/AppUninstallService.kt rename to app/src/main/java/com/vanced/manager/installer/service/AppUninstallService.kt index a06af653..28c04fab 100644 --- a/app/src/main/java/com/vanced/manager/core/installer/service/AppUninstallService.kt +++ b/app/src/main/java/com/vanced/manager/installer/service/AppUninstallService.kt @@ -1,4 +1,4 @@ -package com.vanced.manager.core.installer.service +package com.vanced.manager.installer.service import android.app.Service import android.content.Intent diff --git a/app/src/main/java/com/vanced/manager/core/installer/util/PM.kt b/app/src/main/java/com/vanced/manager/installer/util/PM.kt similarity index 92% rename from app/src/main/java/com/vanced/manager/core/installer/util/PM.kt rename to app/src/main/java/com/vanced/manager/installer/util/PM.kt index 45412f45..b60d06c7 100644 --- a/app/src/main/java/com/vanced/manager/core/installer/util/PM.kt +++ b/app/src/main/java/com/vanced/manager/installer/util/PM.kt @@ -1,4 +1,4 @@ -package com.vanced.manager.core.installer.util +package com.vanced.manager.installer.util import android.app.PendingIntent import android.content.Context @@ -6,8 +6,8 @@ import android.content.Intent import android.content.pm.PackageInstaller import android.content.pm.PackageManager import android.os.Build -import com.vanced.manager.core.installer.service.AppInstallService -import com.vanced.manager.core.installer.service.AppUninstallService +import com.vanced.manager.installer.service.AppInstallService +import com.vanced.manager.installer.service.AppUninstallService import java.io.File private const val byteArraySize = 1024 * 1024 // Because 1,048,576 is not readable diff --git a/app/src/main/java/com/vanced/manager/core/installer/util/PMRoot.kt b/app/src/main/java/com/vanced/manager/installer/util/PMRoot.kt similarity index 81% rename from app/src/main/java/com/vanced/manager/core/installer/util/PMRoot.kt rename to app/src/main/java/com/vanced/manager/installer/util/PMRoot.kt index 8cea3a28..8e95a529 100644 --- a/app/src/main/java/com/vanced/manager/core/installer/util/PMRoot.kt +++ b/app/src/main/java/com/vanced/manager/installer/util/PMRoot.kt @@ -1,10 +1,10 @@ -package com.vanced.manager.core.installer.util +package com.vanced.manager.installer.util import com.topjohnwu.superuser.Shell import com.topjohnwu.superuser.io.SuFile import com.topjohnwu.superuser.io.SuFileOutputStream -import com.vanced.manager.core.util.errString -import com.vanced.manager.core.util.outString +import com.vanced.manager.util.errString +import com.vanced.manager.util.outString import java.io.File import java.io.IOException @@ -13,7 +13,10 @@ object PMRoot { fun installApp(apkPath: String): PMRootResult { val apk = File(apkPath) val tmpApk = copyApkToTemp(apk).getOrElse { exception -> - return PMRootResult.Error(PMRootStatus.SESSION_FAILED_COPY, exception.stackTraceToString()) + return PMRootResult.Error( + PMRootStatus.SESSION_FAILED_COPY, + exception.stackTraceToString() + ) } val install = Shell.su("pm", "install", "-r", tmpApk.absolutePath).exec() @@ -42,7 +45,10 @@ object PMRoot { for (apkPath in apkPaths) { val apk = File(apkPath) val tmpApk = copyApkToTemp(apk).getOrElse { exception -> - return PMRootResult.Error(PMRootStatus.SESSION_FAILED_COPY, exception.stackTraceToString()) + return PMRootResult.Error( + PMRootStatus.SESSION_FAILED_COPY, + exception.stackTraceToString() + ) } val installWrite = @@ -79,7 +85,10 @@ object PMRoot { .exec() if (!setInstaller.isSuccess) - return PMRootResult.Error(PMRootStatus.ACTION_FAILED_SET_INSTALLER, setInstaller.errString) + return PMRootResult.Error( + PMRootStatus.ACTION_FAILED_SET_INSTALLER, + setInstaller.errString + ) return PMRootResult.Success() } @@ -98,8 +107,10 @@ object PMRoot { val dumpsys = Shell.su("dumpsys", "package", pkg, "|", "grep", keyword).exec() if (!dumpsys.isSuccess) - return PMRootResult.Error(PMRootStatus.ACTION_FAILED_GET_PACKAGE_VERSION_NAME, - dumpsys.errString) + return PMRootResult.Error( + PMRootStatus.ACTION_FAILED_GET_PACKAGE_VERSION_NAME, + dumpsys.errString + ) return PMRootResult.Success(dumpsys.outString.removePrefix(keyword)) } @@ -109,11 +120,15 @@ object PMRoot { val dumpsys = Shell.su("dumpsys", "package", pkg, "|", "grep", keyword).exec() if (!dumpsys.isSuccess) - return PMRootResult.Error(PMRootStatus.ACTION_FAILED_GET_PACKAGE_VERSION_CODE, - dumpsys.errString) + return PMRootResult.Error( + PMRootStatus.ACTION_FAILED_GET_PACKAGE_VERSION_CODE, + dumpsys.errString + ) - return PMRootResult.Success(dumpsys.outString.removePrefix(keyword).substringAfter("minSdk") - .toLong()) + return PMRootResult.Success( + dumpsys.outString.removePrefix(keyword).substringAfter("minSdk") + .toLong() + ) } fun getPackageDir(pkg: String): PMRootResult { @@ -127,7 +142,7 @@ object PMRoot { } } -private fun copyApkToTemp(apk: File, ): Result { +private fun copyApkToTemp(apk: File): Result { val tmpPath = "/data/local/tmp/${apk.name}" val tmpApk = SuFile(tmpPath).apply { diff --git a/app/src/main/java/com/vanced/manager/core/installer/util/PMRootResult.kt b/app/src/main/java/com/vanced/manager/installer/util/PMRootResult.kt similarity index 96% rename from app/src/main/java/com/vanced/manager/core/installer/util/PMRootResult.kt rename to app/src/main/java/com/vanced/manager/installer/util/PMRootResult.kt index 13a51780..975d383b 100644 --- a/app/src/main/java/com/vanced/manager/core/installer/util/PMRootResult.kt +++ b/app/src/main/java/com/vanced/manager/installer/util/PMRootResult.kt @@ -1,4 +1,4 @@ -package com.vanced.manager.core.installer.util +package com.vanced.manager.installer.util enum class PMRootStatus { ACTION_FAILED_SET_INSTALLER, diff --git a/app/src/main/java/com/vanced/manager/core/installer/util/Patcher.kt b/app/src/main/java/com/vanced/manager/installer/util/Patcher.kt similarity index 87% rename from app/src/main/java/com/vanced/manager/core/installer/util/Patcher.kt rename to app/src/main/java/com/vanced/manager/installer/util/Patcher.kt index 99e5a965..f9bfb13d 100644 --- a/app/src/main/java/com/vanced/manager/core/installer/util/Patcher.kt +++ b/app/src/main/java/com/vanced/manager/installer/util/Patcher.kt @@ -1,11 +1,11 @@ -package com.vanced.manager.core.installer.util +package com.vanced.manager.installer.util import com.topjohnwu.superuser.Shell import com.topjohnwu.superuser.io.SuFile import com.topjohnwu.superuser.io.SuFileOutputStream -import com.vanced.manager.core.io.ManagerSuFile -import com.vanced.manager.core.io.SUIOException -import com.vanced.manager.core.util.errString +import com.vanced.manager.io.ManagerSuFile +import com.vanced.manager.io.SUIOException +import com.vanced.manager.util.errString import java.io.File import java.io.IOException @@ -24,13 +24,17 @@ object Patcher { val copyServiceDScript = copyScriptToDestination(postFsDataScript, postFsDataScriptPath) if (copyServiceDScript.isFailure) - return PMRootResult.Error(PMRootStatus.SCRIPT_FAILED_SETUP_POST_FS, - copyServiceDScript.exceptionOrNull()!!.stackTraceToString()) + return PMRootResult.Error( + PMRootStatus.SCRIPT_FAILED_SETUP_POST_FS, + copyServiceDScript.exceptionOrNull()!!.stackTraceToString() + ) val copyPostFsDataScript = copyScriptToDestination(serviceDScript, serviceDScriptPath) if (copyPostFsDataScript.isFailure) - return PMRootResult.Error(PMRootStatus.SCRIPT_FAILED_SETUP_SERVICE_D, - copyPostFsDataScript.exceptionOrNull()!!.stackTraceToString()) + return PMRootResult.Error( + PMRootStatus.SCRIPT_FAILED_SETUP_SERVICE_D, + copyPostFsDataScript.exceptionOrNull()!!.stackTraceToString() + ) return PMRootResult.Success() } @@ -72,11 +76,15 @@ object Patcher { } fun linkPatch(app: String, stockPackage: String, stockPath: String): PMRootResult { - val umount = Shell.su("""for i in ${'$'}(ls /data/app/ | grep $stockPackage | tr " "); do umount -l "/data/app/${"$"}i/base.apk"; done """).exec() + val umount = + Shell.su("""for i in ${'$'}(ls /data/app/ | grep $stockPackage | tr " "); do umount -l "/data/app/${"$"}i/base.apk"; done """) + .exec() if (!umount.isSuccess) return PMRootResult.Error(PMRootStatus.LINK_FAILED_UNMOUNT, umount.errString) - val mount = Shell.su("su", "-mm", "-c", """"mount -o bind ${getAppPatchPath(app)} $stockPath"""").exec() + val mount = + Shell.su("su", "-mm", "-c", """"mount -o bind ${getAppPatchPath(app)} $stockPath"""") + .exec() if (!mount.isSuccess) return PMRootResult.Error(PMRootStatus.LINK_FAILED_MOUNT, mount.errString) diff --git a/app/src/main/java/com/vanced/manager/core/installer/util/RootPatchHelper.kt b/app/src/main/java/com/vanced/manager/installer/util/RootPatchHelper.kt similarity index 97% rename from app/src/main/java/com/vanced/manager/core/installer/util/RootPatchHelper.kt rename to app/src/main/java/com/vanced/manager/installer/util/RootPatchHelper.kt index bf23db01..a7c3b6b5 100644 --- a/app/src/main/java/com/vanced/manager/core/installer/util/RootPatchHelper.kt +++ b/app/src/main/java/com/vanced/manager/installer/util/RootPatchHelper.kt @@ -1,4 +1,4 @@ -package com.vanced.manager.core.installer.util +package com.vanced.manager.installer.util object RootPatchHelper { diff --git a/app/src/main/java/com/vanced/manager/core/io/ManagerSuFile.kt b/app/src/main/java/com/vanced/manager/io/ManagerSuFile.kt similarity index 85% rename from app/src/main/java/com/vanced/manager/core/io/ManagerSuFile.kt rename to app/src/main/java/com/vanced/manager/io/ManagerSuFile.kt index 9b2d1b48..f0f7ce83 100644 --- a/app/src/main/java/com/vanced/manager/core/io/ManagerSuFile.kt +++ b/app/src/main/java/com/vanced/manager/io/ManagerSuFile.kt @@ -1,11 +1,10 @@ -package com.vanced.manager.core.io +package com.vanced.manager.io import com.topjohnwu.superuser.Shell import com.topjohnwu.superuser.io.SuFile -import com.vanced.manager.core.util.errString -import com.vanced.manager.core.util.outString +import com.vanced.manager.util.errString +import com.vanced.manager.util.outString import java.io.File -import java.io.IOException class ManagerSuFile : SuFile { @@ -15,9 +14,7 @@ class ManagerSuFile : SuFile { } constructor(pathName: String) : super(pathName) - constructor(parent: String, child: String) : super(parent, child) - constructor(parent: File, child: String) : super(parent, child) private fun cmd(input: String): SuFileResult { @@ -35,5 +32,4 @@ class ManagerSuFile : SuFile { return true } - } \ No newline at end of file diff --git a/app/src/main/java/com/vanced/manager/core/io/SUIOException.kt b/app/src/main/java/com/vanced/manager/io/SUIOException.kt similarity index 86% rename from app/src/main/java/com/vanced/manager/core/io/SUIOException.kt rename to app/src/main/java/com/vanced/manager/io/SUIOException.kt index 00641f20..1f73c8fb 100644 --- a/app/src/main/java/com/vanced/manager/core/io/SUIOException.kt +++ b/app/src/main/java/com/vanced/manager/io/SUIOException.kt @@ -1,4 +1,4 @@ -package com.vanced.manager.core.io +package com.vanced.manager.io import java.io.IOException diff --git a/app/src/main/java/com/vanced/manager/network/util/Constants.kt b/app/src/main/java/com/vanced/manager/network/util/Constants.kt index bfffd1f7..deed27c0 100644 --- a/app/src/main/java/com/vanced/manager/network/util/Constants.kt +++ b/app/src/main/java/com/vanced/manager/network/util/Constants.kt @@ -8,14 +8,14 @@ const val VANCED_NAME = "YouTube Vanced" const val MUSIC_NAME = "YouTube Vanced Music" const val MICROG_NAME = "Vanced microG" -const val BRAVE = "https://vancedapp.com/brave" -const val ADGUARD = "https://adguard.com/?aid=31141&source=manager" +const val URL_SPONSOR_BRAVE = "https://vancedapp.com/brave" +const val URL_SPONSOR_ADGUARD = "https://adguard.com/?aid=31141&source=manager" -const val INSTAGRAM = "https://instagram.com/vanced.youtube" -const val YOUTUBE = "https://youtube.com/c/YouTubeVanced" -const val GITHUB = "https://github.com/YTVanced/VancedManager" -const val WEBSITE = "https://vancedapp.com" -const val TELEGRAM = "https://t.me/joinchat/AAAAAEHf-pi4jH1SDlAL4w" -const val TWITTER = "https://twitter.com/YTVanced" -const val DISCORD = "https://discord.gg/WCGNdRruzb" -const val REDDIT = "https://www.reddit.com/r/Vanced/" \ No newline at end of file +const val URL_MEDIA_INSTAGRAM = "https://instagram.com/vanced.youtube" +const val URL_MEDIA_YOUTUBE = "https://youtube.com/c/YouTubeVanced" +const val URL_MEDIA_GITHUB = "https://github.com/YTVanced/VancedManager" +const val URL_MEDIA_WEBSITE = "https://vancedapp.com" +const val URL_MEDIA_TELEGRAM = "https://t.me/joinchat/AAAAAEHf-pi4jH1SDlAL4w" +const val URL_MEDIA_TWITTER = "https://twitter.com/YTVanced" +const val URL_MEDIA_DISCORD = "https://discord.gg/WCGNdRruzb" +const val URL_MEDIA_REDDIT = "https://www.reddit.com/r/Vanced/" \ No newline at end of file diff --git a/app/src/main/java/com/vanced/manager/core/preferences/ManagerPreference.kt b/app/src/main/java/com/vanced/manager/preferences/ManagerPreference.kt similarity index 98% rename from app/src/main/java/com/vanced/manager/core/preferences/ManagerPreference.kt rename to app/src/main/java/com/vanced/manager/preferences/ManagerPreference.kt index c698311f..064db582 100644 --- a/app/src/main/java/com/vanced/manager/core/preferences/ManagerPreference.kt +++ b/app/src/main/java/com/vanced/manager/preferences/ManagerPreference.kt @@ -1,4 +1,4 @@ -package com.vanced.manager.core.preferences +package com.vanced.manager.preferences import android.content.SharedPreferences import androidx.compose.runtime.getValue diff --git a/app/src/main/java/com/vanced/manager/core/preferences/holder/PreferenceDefaultValueHolder.kt b/app/src/main/java/com/vanced/manager/preferences/holder/PreferenceDefaultValueHolder.kt similarity index 73% rename from app/src/main/java/com/vanced/manager/core/preferences/holder/PreferenceDefaultValueHolder.kt rename to app/src/main/java/com/vanced/manager/preferences/holder/PreferenceDefaultValueHolder.kt index 9972b2d0..cb209aa5 100644 --- a/app/src/main/java/com/vanced/manager/core/preferences/holder/PreferenceDefaultValueHolder.kt +++ b/app/src/main/java/com/vanced/manager/preferences/holder/PreferenceDefaultValueHolder.kt @@ -1,4 +1,4 @@ -package com.vanced.manager.core.preferences.holder +package com.vanced.manager.preferences.holder const val MANAGER_VARIANT_DEFAULT_VALUE = "nonroot" diff --git a/app/src/main/java/com/vanced/manager/core/preferences/holder/PreferenceHolder.kt b/app/src/main/java/com/vanced/manager/preferences/holder/PreferenceHolder.kt similarity index 69% rename from app/src/main/java/com/vanced/manager/core/preferences/holder/PreferenceHolder.kt rename to app/src/main/java/com/vanced/manager/preferences/holder/PreferenceHolder.kt index 9769bbb3..bc000f9d 100644 --- a/app/src/main/java/com/vanced/manager/core/preferences/holder/PreferenceHolder.kt +++ b/app/src/main/java/com/vanced/manager/preferences/holder/PreferenceHolder.kt @@ -1,7 +1,7 @@ -package com.vanced.manager.core.preferences.holder +package com.vanced.manager.preferences.holder -import com.vanced.manager.core.preferences.managerStringPreference -import com.vanced.manager.core.preferences.managerStringSetPreference +import com.vanced.manager.preferences.managerStringPreference +import com.vanced.manager.preferences.managerStringSetPreference var managerVariantPref by managerStringPreference( MANAGER_VARIANT_KEY, diff --git a/app/src/main/java/com/vanced/manager/core/preferences/holder/PreferenceKeyHolder.kt b/app/src/main/java/com/vanced/manager/preferences/holder/PreferenceKeyHolder.kt similarity index 82% rename from app/src/main/java/com/vanced/manager/core/preferences/holder/PreferenceKeyHolder.kt rename to app/src/main/java/com/vanced/manager/preferences/holder/PreferenceKeyHolder.kt index 42dbbc64..c2488680 100644 --- a/app/src/main/java/com/vanced/manager/core/preferences/holder/PreferenceKeyHolder.kt +++ b/app/src/main/java/com/vanced/manager/preferences/holder/PreferenceKeyHolder.kt @@ -1,4 +1,4 @@ -package com.vanced.manager.core.preferences.holder +package com.vanced.manager.preferences.holder const val USE_CUSTOM_TABS_KEY = "use_custom_tabs" const val MANAGER_VARIANT_KEY = "manager_variant" diff --git a/app/src/main/java/com/vanced/manager/repository/AppRepository.kt b/app/src/main/java/com/vanced/manager/repository/AppRepository.kt index 918a94ab..964e1663 100644 --- a/app/src/main/java/com/vanced/manager/repository/AppRepository.kt +++ b/app/src/main/java/com/vanced/manager/repository/AppRepository.kt @@ -1,12 +1,12 @@ package com.vanced.manager.repository -import com.vanced.manager.datasource.PkgInfoDatasource +import com.vanced.manager.domain.model.App import com.vanced.manager.domain.model.AppData import com.vanced.manager.domain.model.AppState import com.vanced.manager.domain.model.AppType -import com.vanced.manager.domain.model.App import com.vanced.manager.network.GithubService import com.vanced.manager.network.dto.GithubReleaseDto +import com.vanced.manager.repository.source.PkgInfoDatasource interface AppRepository { @@ -54,8 +54,10 @@ class AppRepositoryImpl( val githubRelease = githubService.getVancedYoutubeRelease() val remoteVersionCode = githubRelease.getVersionCode() val remoteVersionName = githubRelease.getVersionName() - val installedVersionCode = pkgInfoDatasource.getVersionCode(AppData.PACKAGE_ROOT_VANCED_YOUTUBE) - val installedVersionName = pkgInfoDatasource.getVersionName(AppData.PACKAGE_ROOT_VANCED_YOUTUBE) + val installedVersionCode = + pkgInfoDatasource.getVersionCode(AppData.PACKAGE_ROOT_VANCED_YOUTUBE) + val installedVersionName = + pkgInfoDatasource.getVersionName(AppData.PACKAGE_ROOT_VANCED_YOUTUBE) return App( name = AppData.NAME_VANCED_YOUTUBE, iconResId = AppData.ICON_VANCED_YOUTUBE, @@ -75,8 +77,10 @@ class AppRepositoryImpl( val githubRelease = githubService.getVancedYoutubeMusicRelease() val remoteVersionCode = githubRelease.getVersionCode() val remoteVersionName = githubRelease.getVersionName() - val installedVersionCode = pkgInfoDatasource.getVersionCode(AppData.PACKAGE_VANCED_YOUTUBE_MUSIC) - val installedVersionName = pkgInfoDatasource.getVersionName(AppData.PACKAGE_VANCED_YOUTUBE_MUSIC) + val installedVersionCode = + pkgInfoDatasource.getVersionCode(AppData.PACKAGE_VANCED_YOUTUBE_MUSIC) + val installedVersionName = + pkgInfoDatasource.getVersionName(AppData.PACKAGE_VANCED_YOUTUBE_MUSIC) return App( name = AppData.NAME_VANCED_YOUTUBE_MUSIC, iconResId = AppData.ICON_VANCED_YOUTUBE_MUSIC, @@ -96,8 +100,10 @@ class AppRepositoryImpl( val githubRelease = githubService.getVancedYoutubeMusicRelease() val remoteVersionCode = githubRelease.getVersionCode() val remoteVersionName = githubRelease.getVersionName() - val installedVersionCode = pkgInfoDatasource.getVersionCode(AppData.PACKAGE_ROOT_VANCED_YOUTUBE_MUSIC) - val installedVersionName = pkgInfoDatasource.getVersionName(AppData.PACKAGE_ROOT_VANCED_YOUTUBE_MUSIC) + val installedVersionCode = + pkgInfoDatasource.getVersionCode(AppData.PACKAGE_ROOT_VANCED_YOUTUBE_MUSIC) + val installedVersionName = + pkgInfoDatasource.getVersionName(AppData.PACKAGE_ROOT_VANCED_YOUTUBE_MUSIC) return App( name = AppData.NAME_VANCED_YOUTUBE_MUSIC, iconResId = AppData.ICON_VANCED_YOUTUBE_MUSIC, diff --git a/app/src/main/java/com/vanced/manager/repository/PreferenceRepository.kt b/app/src/main/java/com/vanced/manager/repository/PreferenceRepository.kt index be9b71d7..b4140d19 100644 --- a/app/src/main/java/com/vanced/manager/repository/PreferenceRepository.kt +++ b/app/src/main/java/com/vanced/manager/repository/PreferenceRepository.kt @@ -2,8 +2,8 @@ package com.vanced.manager.repository import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.runtime.Composable -import com.vanced.manager.datasource.PreferenceData -import com.vanced.manager.datasource.PreferenceDatasource +import com.vanced.manager.repository.source.PreferenceData +import com.vanced.manager.repository.source.PreferenceDatasource interface PreferenceRepository { diff --git a/app/src/main/java/com/vanced/manager/datasource/PkgInfoDatasource.kt b/app/src/main/java/com/vanced/manager/repository/source/PkgInfoDatasource.kt similarity index 94% rename from app/src/main/java/com/vanced/manager/datasource/PkgInfoDatasource.kt rename to app/src/main/java/com/vanced/manager/repository/source/PkgInfoDatasource.kt index bbcfd0c4..b9e57d6b 100644 --- a/app/src/main/java/com/vanced/manager/datasource/PkgInfoDatasource.kt +++ b/app/src/main/java/com/vanced/manager/repository/source/PkgInfoDatasource.kt @@ -1,4 +1,4 @@ -package com.vanced.manager.datasource +package com.vanced.manager.repository.source import android.annotation.SuppressLint import android.content.pm.PackageManager @@ -40,7 +40,7 @@ class PkgInfoDatasourceImpl( @SuppressLint("WrongConstant") override fun getVersionName(packageName: String): String? { return try { - packageManager + packageManager .getPackageInfo(packageName, FLAG_NOTHING) .versionName } catch (e: PackageManager.NameNotFoundException) { diff --git a/app/src/main/java/com/vanced/manager/datasource/PreferenceDatasource.kt b/app/src/main/java/com/vanced/manager/repository/source/PreferenceDatasource.kt similarity index 78% rename from app/src/main/java/com/vanced/manager/datasource/PreferenceDatasource.kt rename to app/src/main/java/com/vanced/manager/repository/source/PreferenceDatasource.kt index 7fd5c2fe..8d26d674 100644 --- a/app/src/main/java/com/vanced/manager/datasource/PreferenceDatasource.kt +++ b/app/src/main/java/com/vanced/manager/repository/source/PreferenceDatasource.kt @@ -1,4 +1,4 @@ -package com.vanced.manager.datasource +package com.vanced.manager.repository.source import android.content.SharedPreferences @@ -15,19 +15,28 @@ class PreferenceDatasourceImpl( ) : PreferenceDatasource { override var managerUseCustomTabs: Boolean - get() = getBoolean(PreferenceData.MANAGER_USE_CUSTOM_TABS_KEY, PreferenceData.MANAGER_USE_CUSTOM_TABS_DEFAULT_VALUE) + get() = getBoolean( + PreferenceData.MANAGER_USE_CUSTOM_TABS_KEY, + PreferenceData.MANAGER_USE_CUSTOM_TABS_DEFAULT_VALUE + ) set(value) { putBoolean(PreferenceData.MANAGER_USE_CUSTOM_TABS_KEY, value) } override var managerMode: String - get() = getString(PreferenceData.MANAGER_MODE_KEY, PreferenceData.MANAGER_MODE_DEFAULT_VALUE) + get() = getString( + PreferenceData.MANAGER_MODE_KEY, + PreferenceData.MANAGER_MODE_DEFAULT_VALUE + ) set(value) { putString(PreferenceData.MANAGER_MODE_KEY, value) } override var managerTheme: String - get() = getString(PreferenceData.MANAGER_THEME_KEY, PreferenceData.MANAGER_THEME_DEFAULT_VALUE) + get() = getString( + PreferenceData.MANAGER_THEME_KEY, + PreferenceData.MANAGER_THEME_DEFAULT_VALUE + ) set(value) { putString(PreferenceData.MANAGER_THEME_KEY, value) } @@ -39,11 +48,11 @@ class PreferenceDatasourceImpl( private fun getBoolean(key: String, defaultValue: Boolean): Boolean { return sharedPreferences.getBoolean(key, defaultValue) } - + private fun putString(key: String, value: String) { sharedPreferences.edit().putString(key, value).apply() } - + private fun putBoolean(key: String, value: Boolean) { sharedPreferences.edit().putBoolean(key, value).apply() } @@ -56,7 +65,7 @@ object PreferenceData { const val MANAGER_MODE_KEY = "manager_behaviour_mode" const val MANAGER_MODE_VALUE_ROOT = "root" - const val MANAGER_MODE_VALUE_NONROOT= "nonroot" + const val MANAGER_MODE_VALUE_NONROOT = "nonroot" const val MANAGER_MODE_DEFAULT_VALUE = MANAGER_MODE_VALUE_NONROOT const val MANAGER_THEME_KEY = "manager_appearance_theme" diff --git a/app/src/main/java/com/vanced/manager/ui/MainActivity.kt b/app/src/main/java/com/vanced/manager/ui/MainActivity.kt index a8882d52..9416609e 100644 --- a/app/src/main/java/com/vanced/manager/ui/MainActivity.kt +++ b/app/src/main/java/com/vanced/manager/ui/MainActivity.kt @@ -14,8 +14,8 @@ import com.github.zsoltk.compose.backpress.BackPressHandler import com.github.zsoltk.compose.backpress.LocalBackPressHandler import com.github.zsoltk.compose.router.Router import com.google.accompanist.systemuicontroller.rememberSystemUiController -import com.vanced.manager.core.installer.service.AppInstallService -import com.vanced.manager.core.installer.service.AppUninstallService +import com.vanced.manager.installer.service.AppInstallService +import com.vanced.manager.installer.service.AppUninstallService import com.vanced.manager.ui.screen.* import com.vanced.manager.ui.theme.ManagerTheme import com.vanced.manager.ui.util.Screen diff --git a/app/src/main/java/com/vanced/manager/ui/SplashScreenActivity.kt b/app/src/main/java/com/vanced/manager/ui/SplashScreenActivity.kt index 1670d386..c82dcf68 100644 --- a/app/src/main/java/com/vanced/manager/ui/SplashScreenActivity.kt +++ b/app/src/main/java/com/vanced/manager/ui/SplashScreenActivity.kt @@ -10,7 +10,7 @@ import com.vanced.manager.BuildConfig class SplashScreenActivity : ComponentActivity() { init { - Shell.enableVerboseLogging = BuildConfig.DEBUG; + Shell.enableVerboseLogging = BuildConfig.DEBUG Shell.setDefaultBuilder( Shell.Builder .create() diff --git a/app/src/main/java/com/vanced/manager/ui/component/ManagerCard.kt b/app/src/main/java/com/vanced/manager/ui/component/ManagerCard.kt index cbf96514..890d68c7 100644 --- a/app/src/main/java/com/vanced/manager/ui/component/ManagerCard.kt +++ b/app/src/main/java/com/vanced/manager/ui/component/ManagerCard.kt @@ -49,6 +49,7 @@ fun ManagerCard( ) } } + @Composable fun ManagerElevatedCard( modifier: Modifier = Modifier, @@ -86,6 +87,7 @@ fun ManagerElevatedCard( ) } } + @Composable fun ManagerOutlinedCard( modifier: Modifier = Modifier, diff --git a/app/src/main/java/com/vanced/manager/ui/component/ManagerListItem.kt b/app/src/main/java/com/vanced/manager/ui/component/ManagerListItem.kt index e4d68452..b89e021d 100644 --- a/app/src/main/java/com/vanced/manager/ui/component/ManagerListItem.kt +++ b/app/src/main/java/com/vanced/manager/ui/component/ManagerListItem.kt @@ -37,7 +37,7 @@ fun ManagerListItem( .weight(1f) .padding( vertical = - if (description != null) DefaultContentPaddingVertical - 4.dp else DefaultContentPaddingVertical, + if (description != null) DefaultContentPaddingVertical - 4.dp else DefaultContentPaddingVertical, ) .align(Alignment.CenterVertically) ) { diff --git a/app/src/main/java/com/vanced/manager/ui/component/ManagerNavigator.kt b/app/src/main/java/com/vanced/manager/ui/component/ManagerNavigator.kt index af5466b1..7148c92b 100644 --- a/app/src/main/java/com/vanced/manager/ui/component/ManagerNavigator.kt +++ b/app/src/main/java/com/vanced/manager/ui/component/ManagerNavigator.kt @@ -1,4 +1,4 @@ -package com.vanced.manager.ui.navigation +package com.vanced.manager.ui.component import androidx.compose.animation.AnimatedContent import androidx.compose.animation.AnimatedContentScope diff --git a/app/src/main/java/com/vanced/manager/ui/component/ManagerPreference.kt b/app/src/main/java/com/vanced/manager/ui/component/ManagerPreference.kt index eac363d7..c3329422 100644 --- a/app/src/main/java/com/vanced/manager/ui/component/ManagerPreference.kt +++ b/app/src/main/java/com/vanced/manager/ui/component/ManagerPreference.kt @@ -212,7 +212,7 @@ private fun ListDialogRadiobuttonItem( ) { ListDialogItem( modifier = modifier, - text = text, + text = text, onClick = onClick, trailing = { RadioButton( @@ -232,7 +232,7 @@ private fun ListDialogCheckboxItem( ) { ListDialogItem( modifier = modifier, - text = text, + text = text, onClick = { onCheckedChange(!checked) }, diff --git a/app/src/main/java/com/vanced/manager/ui/screen/ConfigurationScreen.kt b/app/src/main/java/com/vanced/manager/ui/screen/ConfigurationScreen.kt index df3802fb..7a388f67 100644 --- a/app/src/main/java/com/vanced/manager/ui/screen/ConfigurationScreen.kt +++ b/app/src/main/java/com/vanced/manager/ui/screen/ConfigurationScreen.kt @@ -178,7 +178,7 @@ private fun ConfigurationBottomBar( shrinkHorizontally(tween(exitDuration)) + scaleOut(tween(exitDuration)), - ) { + ) { TextButton(onClick = onBackClick) { ManagerText(text = "Back") } diff --git a/app/src/main/java/com/vanced/manager/ui/screen/HomeScreen.kt b/app/src/main/java/com/vanced/manager/ui/screen/HomeScreen.kt index d97c6911..369ef1d7 100644 --- a/app/src/main/java/com/vanced/manager/ui/screen/HomeScreen.kt +++ b/app/src/main/java/com/vanced/manager/ui/screen/HomeScreen.kt @@ -1,5 +1,6 @@ package com.vanced.manager.ui.screen +import androidx.annotation.DrawableRes import androidx.compose.animation.* import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth @@ -17,9 +18,8 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.unit.dp import com.google.accompanist.swiperefresh.rememberSwipeRefreshState import com.vanced.manager.R -import com.vanced.manager.core.util.socialMedia -import com.vanced.manager.core.util.sponsors import com.vanced.manager.domain.model.App +import com.vanced.manager.network.util.* import com.vanced.manager.ui.component.* import com.vanced.manager.ui.resource.managerString import com.vanced.manager.ui.util.Screen @@ -257,3 +257,66 @@ private inline fun HomeScreenBody( } } } + +data class Link( + val title: String, + val link: String, + @DrawableRes val icon: Int +) + + +val sponsors = listOf( + Link( + title = "Brave", + link = URL_SPONSOR_BRAVE, + icon = R.drawable.ic_brave + ), + Link( + title = "Adguard", + link = URL_SPONSOR_ADGUARD, + icon = R.drawable.ic_adguard + ) +) + +val socialMedia = listOf( + Link( + title = "Instagram", + link = URL_MEDIA_INSTAGRAM, + icon = R.drawable.ic_instagram + ), + Link( + title = "YouTube", + link = URL_MEDIA_YOUTUBE, + icon = R.drawable.ic_youtube + ), + Link( + title = "GitHub", + link = URL_MEDIA_GITHUB, + icon = R.drawable.ic_github + ), + Link( + title = "Website", + link = URL_MEDIA_WEBSITE, + icon = R.drawable.ic_website + ), + Link( + title = "Telegram", + link = URL_MEDIA_TELEGRAM, + icon = R.drawable.ic_telegram + ), + Link( + title = "Twitter", + link = URL_MEDIA_TWITTER, + icon = R.drawable.ic_twitter + ), + Link( + title = "Discord", + link = URL_MEDIA_DISCORD, + icon = R.drawable.ic_discord + ), + Link( + title = "Reddit", + link = URL_MEDIA_REDDIT, + icon = R.drawable.ic_reddit + ), +) diff --git a/app/src/main/java/com/vanced/manager/ui/screen/SettingsScreen.kt b/app/src/main/java/com/vanced/manager/ui/screen/SettingsScreen.kt index 9f0d081f..a9dd76a1 100644 --- a/app/src/main/java/com/vanced/manager/ui/screen/SettingsScreen.kt +++ b/app/src/main/java/com/vanced/manager/ui/screen/SettingsScreen.kt @@ -11,13 +11,13 @@ import androidx.compose.runtime.* import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import com.vanced.manager.R -import com.vanced.manager.core.util.isMagiskInstalled import com.vanced.manager.repository.ManagerMode import com.vanced.manager.repository.ManagerTheme import com.vanced.manager.ui.component.* import com.vanced.manager.ui.resource.managerString import com.vanced.manager.ui.util.Screen import com.vanced.manager.ui.viewmodel.SettingsViewModel +import com.vanced.manager.util.isMagiskInstalled import org.koin.androidx.compose.viewModel @ExperimentalMaterial3Api diff --git a/app/src/main/java/com/vanced/manager/ui/theme/Theme.kt b/app/src/main/java/com/vanced/manager/ui/theme/Theme.kt index 683ba481..26ded291 100644 --- a/app/src/main/java/com/vanced/manager/ui/theme/Theme.kt +++ b/app/src/main/java/com/vanced/manager/ui/theme/Theme.kt @@ -92,7 +92,7 @@ fun ManagerTheme( ) } else { apiDependantColorScheme( - dynamic = { dynamicLightColorScheme(context)}, + dynamic = { dynamicLightColorScheme(context) }, static = { LightThemeColors } ) } diff --git a/app/src/main/java/com/vanced/manager/ui/viewmodel/InstallViewModel.kt b/app/src/main/java/com/vanced/manager/ui/viewmodel/InstallViewModel.kt index 201dc8e0..e04ba03e 100644 --- a/app/src/main/java/com/vanced/manager/ui/viewmodel/InstallViewModel.kt +++ b/app/src/main/java/com/vanced/manager/ui/viewmodel/InstallViewModel.kt @@ -7,18 +7,18 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.setValue import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.vanced.manager.core.downloader.base.AppDownloader -import com.vanced.manager.core.downloader.impl.MicrogDownloader -import com.vanced.manager.core.downloader.impl.MusicDownloader -import com.vanced.manager.core.downloader.impl.VancedDownloader -import com.vanced.manager.core.installer.impl.MicrogInstaller -import com.vanced.manager.core.installer.impl.MusicInstaller -import com.vanced.manager.core.installer.impl.VancedInstaller -import com.vanced.manager.core.installer.util.PMRootResult -import com.vanced.manager.core.preferences.holder.managerVariantPref +import com.vanced.manager.downloader.base.AppDownloader +import com.vanced.manager.downloader.impl.MicrogDownloader +import com.vanced.manager.downloader.impl.MusicDownloader +import com.vanced.manager.downloader.impl.VancedDownloader +import com.vanced.manager.installer.impl.MicrogInstaller +import com.vanced.manager.installer.impl.MusicInstaller +import com.vanced.manager.installer.impl.VancedInstaller +import com.vanced.manager.installer.util.PMRootResult import com.vanced.manager.network.util.MICROG_NAME import com.vanced.manager.network.util.MUSIC_NAME import com.vanced.manager.network.util.VANCED_NAME +import com.vanced.manager.preferences.holder.managerVariantPref import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch @@ -107,10 +107,12 @@ class InstallViewModel( installApp(appName, appVersions) } is AppDownloader.DownloadStatus.Error -> { - log(Log.Error( - displayText = "Failed to download ${download.fileName}", - stacktrace = download.error - )) + log( + Log.Error( + displayText = "Failed to download ${download.fileName}", + stacktrace = download.error + ) + ) } } } diff --git a/app/src/main/java/com/vanced/manager/ui/viewmodel/MainViewModel.kt b/app/src/main/java/com/vanced/manager/ui/viewmodel/MainViewModel.kt index 8292a840..aaeba38a 100644 --- a/app/src/main/java/com/vanced/manager/ui/viewmodel/MainViewModel.kt +++ b/app/src/main/java/com/vanced/manager/ui/viewmodel/MainViewModel.kt @@ -8,9 +8,11 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.setValue import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.viewModelScope -import com.vanced.manager.core.installer.util.PM import com.vanced.manager.domain.model.App -import com.vanced.manager.repository.* +import com.vanced.manager.installer.util.PM +import com.vanced.manager.repository.AppRepository +import com.vanced.manager.repository.ManagerMode +import com.vanced.manager.repository.PreferenceRepository import kotlinx.coroutines.async import kotlinx.coroutines.awaitAll import kotlinx.coroutines.launch diff --git a/app/src/main/java/com/vanced/manager/ui/viewmodel/SettingsViewModel.kt b/app/src/main/java/com/vanced/manager/ui/viewmodel/SettingsViewModel.kt index 807bb31a..9d2dd1c0 100644 --- a/app/src/main/java/com/vanced/manager/ui/viewmodel/SettingsViewModel.kt +++ b/app/src/main/java/com/vanced/manager/ui/viewmodel/SettingsViewModel.kt @@ -5,8 +5,6 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.setValue import androidx.lifecycle.ViewModel import com.vanced.manager.R -import com.vanced.manager.core.preferences.managerBooleanPreference -import com.vanced.manager.core.preferences.managerStringPreference import com.vanced.manager.repository.ManagerMode import com.vanced.manager.repository.ManagerTheme import com.vanced.manager.repository.PreferenceRepository @@ -21,17 +19,17 @@ class SettingsViewModel( private set var managerTheme by mutableStateOf(preferenceRepository.managerTheme) private set - + fun saveManagerUseCustomTabs(value: Boolean) { managerUseCustomTabs = value preferenceRepository.managerUseCustomTabs = value } - + fun saveManagerMode(value: ManagerMode) { managerMode = value preferenceRepository.managerMode = value } - + fun saveManagerTheme(value: ManagerTheme) { managerTheme = value preferenceRepository.managerTheme = value diff --git a/app/src/main/java/com/vanced/manager/ui/widget/AppCard.kt b/app/src/main/java/com/vanced/manager/ui/widget/AppCard.kt index 63a79ecc..a38bc5f2 100644 --- a/app/src/main/java/com/vanced/manager/ui/widget/AppCard.kt +++ b/app/src/main/java/com/vanced/manager/ui/widget/AppCard.kt @@ -5,7 +5,10 @@ import androidx.compose.foundation.layout.* import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.Info -import androidx.compose.material.icons.rounded.* +import androidx.compose.material.icons.rounded.DeleteForever +import androidx.compose.material.icons.rounded.GetApp +import androidx.compose.material.icons.rounded.Launch +import androidx.compose.material.icons.rounded.Update import androidx.compose.material3.* import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment diff --git a/app/src/main/java/com/vanced/manager/core/util/AppHelper.kt b/app/src/main/java/com/vanced/manager/util/AppHelper.kt similarity index 86% rename from app/src/main/java/com/vanced/manager/core/util/AppHelper.kt rename to app/src/main/java/com/vanced/manager/util/AppHelper.kt index cfcdd856..7d4369d5 100644 --- a/app/src/main/java/com/vanced/manager/core/util/AppHelper.kt +++ b/app/src/main/java/com/vanced/manager/util/AppHelper.kt @@ -1,4 +1,4 @@ -package com.vanced.manager.core.util +package com.vanced.manager.util fun getLatestOrProvidedAppVersion( version: String, diff --git a/app/src/main/java/com/vanced/manager/util/Arch.kt b/app/src/main/java/com/vanced/manager/util/Arch.kt new file mode 100644 index 00000000..df160ceb --- /dev/null +++ b/app/src/main/java/com/vanced/manager/util/Arch.kt @@ -0,0 +1,10 @@ +package com.vanced.manager.util + +import android.os.Build + +val arch + get() = when { + Build.SUPPORTED_ABIS.contains("x86") -> "x86" + Build.SUPPORTED_ABIS.contains("arm64-v8a") -> "arm64_v8a" + else -> "armeabi_v7a" + } \ No newline at end of file diff --git a/app/src/main/java/com/vanced/manager/core/util/Coroutines.kt b/app/src/main/java/com/vanced/manager/util/Coroutines.kt similarity index 90% rename from app/src/main/java/com/vanced/manager/core/util/Coroutines.kt rename to app/src/main/java/com/vanced/manager/util/Coroutines.kt index 6339e3f9..2ca647ee 100644 --- a/app/src/main/java/com/vanced/manager/core/util/Coroutines.kt +++ b/app/src/main/java/com/vanced/manager/util/Coroutines.kt @@ -1,4 +1,4 @@ -package com.vanced.manager.core.util +package com.vanced.manager.util import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch diff --git a/app/src/main/java/com/vanced/manager/core/io/Util.kt b/app/src/main/java/com/vanced/manager/util/IO.kt similarity index 96% rename from app/src/main/java/com/vanced/manager/core/io/Util.kt rename to app/src/main/java/com/vanced/manager/util/IO.kt index df387453..0271bce5 100644 --- a/app/src/main/java/com/vanced/manager/core/io/Util.kt +++ b/app/src/main/java/com/vanced/manager/util/IO.kt @@ -1,4 +1,4 @@ -package com.vanced.manager.core.io +package com.vanced.manager.util import okhttp3.ResponseBody import java.io.FileOutputStream diff --git a/app/src/main/java/com/vanced/manager/core/util/SuShell.kt b/app/src/main/java/com/vanced/manager/util/SuShell.kt similarity index 93% rename from app/src/main/java/com/vanced/manager/core/util/SuShell.kt rename to app/src/main/java/com/vanced/manager/util/SuShell.kt index 6a6324d4..38a5945c 100644 --- a/app/src/main/java/com/vanced/manager/core/util/SuShell.kt +++ b/app/src/main/java/com/vanced/manager/util/SuShell.kt @@ -1,4 +1,4 @@ -package com.vanced.manager.core.util +package com.vanced.manager.util import com.topjohnwu.superuser.Shell import kotlin.coroutines.resume