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