diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 945d35eb97b72927033c6b14e4cf9052203984d8..daa989f1133bcb849fbb7d23d364c0bc38292abe 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -45,7 +45,7 @@
android:usesCleartextTraffic="true">
@@ -54,10 +54,10 @@
-
+
@@ -67,13 +67,13 @@
-
+
-
@@ -86,7 +86,7 @@
-
+
@@ -98,10 +98,10 @@
android:authorities="${applicationId}.androidx-startup"
tools:node="remove" />
-
+
diff --git a/app/src/main/java/foundation/e/apps/AppLoungeApplication.kt b/app/src/main/java/foundation/e/apps/AppLoungeApplication.kt
index 1484960698d3eb341a1c8826ea0e28f94626b50d..1ffcfd05799e3fe261196829c0c7ef434590da63 100644
--- a/app/src/main/java/foundation/e/apps/AppLoungeApplication.kt
+++ b/app/src/main/java/foundation/e/apps/AppLoungeApplication.kt
@@ -24,13 +24,13 @@ import androidx.hilt.work.HiltWorkerFactory
import androidx.work.Configuration
import androidx.work.ExistingPeriodicWorkPolicy
import dagger.hilt.android.HiltAndroidApp
-import foundation.e.apps.manager.pkg.PkgManagerBR
-import foundation.e.apps.manager.pkg.PkgManagerModule
-import foundation.e.apps.manager.workmanager.InstallWorkManager
-import foundation.e.apps.setup.tos.TOS_VERSION
-import foundation.e.apps.updates.manager.UpdatesWorkManager
-import foundation.e.apps.utils.modules.DataStoreModule
-import foundation.e.apps.utils.modules.PreferenceManagerModule
+import foundation.e.apps.data.preference.DataStoreModule
+import foundation.e.apps.data.preference.PreferenceManagerModule
+import foundation.e.apps.install.pkg.PkgManagerBR
+import foundation.e.apps.install.pkg.PkgManagerModule
+import foundation.e.apps.install.updates.UpdatesWorkManager
+import foundation.e.apps.install.workmanager.InstallWorkManager
+import foundation.e.apps.ui.setup.tos.TOS_VERSION
import foundation.e.lib.telemetry.Telemetry
import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.MainScope
diff --git a/app/src/main/java/foundation/e/apps/api/exodus/repositories/IAppPrivacyInfoRepository.kt b/app/src/main/java/foundation/e/apps/api/exodus/repositories/IAppPrivacyInfoRepository.kt
deleted file mode 100644
index f14cb1f23146a9fc471db86e5670f209cda84c82..0000000000000000000000000000000000000000
--- a/app/src/main/java/foundation/e/apps/api/exodus/repositories/IAppPrivacyInfoRepository.kt
+++ /dev/null
@@ -1,10 +0,0 @@
-package foundation.e.apps.api.exodus.repositories
-
-import foundation.e.apps.api.Result
-import foundation.e.apps.api.exodus.models.AppPrivacyInfo
-import foundation.e.apps.api.fused.data.FusedApp
-
-interface IAppPrivacyInfoRepository {
- suspend fun getAppPrivacyInfo(fusedApp: FusedApp, appHandle: String): Result
- fun calculatePrivacyScore(fusedApp: FusedApp): Int
-}
diff --git a/app/src/main/java/foundation/e/apps/api/ApiCaller.kt b/app/src/main/java/foundation/e/apps/data/ApiCaller.kt
similarity index 93%
rename from app/src/main/java/foundation/e/apps/api/ApiCaller.kt
rename to app/src/main/java/foundation/e/apps/data/ApiCaller.kt
index 34e13e55f69aea076714a0361c90f071311f34f9..6b89bfea4899c0828a3dbe1881f9cc459dce6c02 100644
--- a/app/src/main/java/foundation/e/apps/api/ApiCaller.kt
+++ b/app/src/main/java/foundation/e/apps/data/ApiCaller.kt
@@ -1,4 +1,4 @@
-package foundation.e.apps.api
+package foundation.e.apps.data
import retrofit2.Response
diff --git a/app/src/main/java/foundation/e/apps/api/BaseStoreRepository.kt b/app/src/main/java/foundation/e/apps/data/BaseStoreRepository.kt
similarity index 96%
rename from app/src/main/java/foundation/e/apps/api/BaseStoreRepository.kt
rename to app/src/main/java/foundation/e/apps/data/BaseStoreRepository.kt
index d72e5b37995b3fb8a730993d631ec5578d5051db..722bfb177011d934d28864f3be0c7defd86353a0 100644
--- a/app/src/main/java/foundation/e/apps/api/BaseStoreRepository.kt
+++ b/app/src/main/java/foundation/e/apps/data/BaseStoreRepository.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api
+package foundation.e.apps.data
interface BaseStoreRepository {
suspend fun getHomeScreenData(): Any
diff --git a/app/src/main/java/foundation/e/apps/utils/Constants.kt b/app/src/main/java/foundation/e/apps/data/Constants.kt
similarity index 88%
rename from app/src/main/java/foundation/e/apps/utils/Constants.kt
rename to app/src/main/java/foundation/e/apps/data/Constants.kt
index d8083adafa4dbd5b619ccbe6d92914660371aa7b..c3be8404ccf42d053a97f4314308a6b83a84dcbc 100644
--- a/app/src/main/java/foundation/e/apps/utils/Constants.kt
+++ b/app/src/main/java/foundation/e/apps/data/Constants.kt
@@ -1,4 +1,4 @@
-package foundation.e.apps.utils
+package foundation.e.apps.data
object Constants {
const val timeoutDurationInMillis: Long = 10000
diff --git a/app/src/main/java/foundation/e/apps/api/DownloadManager.kt b/app/src/main/java/foundation/e/apps/data/DownloadManager.kt
similarity index 99%
rename from app/src/main/java/foundation/e/apps/api/DownloadManager.kt
rename to app/src/main/java/foundation/e/apps/data/DownloadManager.kt
index 5b881d6fcf858fab58fffe50e04be61647c726d6..37461b80ef85f46aec82168e946618c8d31c443b 100644
--- a/app/src/main/java/foundation/e/apps/api/DownloadManager.kt
+++ b/app/src/main/java/foundation/e/apps/data/DownloadManager.kt
@@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package foundation.e.apps.api
+package foundation.e.apps.data
import android.app.DownloadManager
import android.content.Context
diff --git a/app/src/main/java/foundation/e/apps/api/JobResult.kt b/app/src/main/java/foundation/e/apps/data/JobResult.kt
similarity index 97%
rename from app/src/main/java/foundation/e/apps/api/JobResult.kt
rename to app/src/main/java/foundation/e/apps/data/JobResult.kt
index b632a136663c183d970b782fce13445d3ed6680d..b085c503133fde7e2cae03101e5a35ad43bfc38d 100644
--- a/app/src/main/java/foundation/e/apps/api/JobResult.kt
+++ b/app/src/main/java/foundation/e/apps/data/JobResult.kt
@@ -1,6 +1,6 @@
-package foundation.e.apps.api
+package foundation.e.apps.data
-import foundation.e.apps.utils.enums.ResultStatus
+import foundation.e.apps.data.enums.ResultStatus
/**
* Currently defunct, not being used anywhere.
diff --git a/app/src/main/java/foundation/e/apps/api/Result.kt b/app/src/main/java/foundation/e/apps/data/Result.kt
similarity index 96%
rename from app/src/main/java/foundation/e/apps/api/Result.kt
rename to app/src/main/java/foundation/e/apps/data/Result.kt
index 1f955b167a3e18e247197bed786686393ceca2ac..dfb9361446ceff1826f13ab13e0c60677e30a22f 100644
--- a/app/src/main/java/foundation/e/apps/api/Result.kt
+++ b/app/src/main/java/foundation/e/apps/data/Result.kt
@@ -1,4 +1,4 @@
-package foundation.e.apps.api
+package foundation.e.apps.data
data class Result(val status: Status, val data: T?, val message: String?) {
diff --git a/app/src/main/java/foundation/e/apps/api/ResultSupreme.kt b/app/src/main/java/foundation/e/apps/data/ResultSupreme.kt
similarity index 98%
rename from app/src/main/java/foundation/e/apps/api/ResultSupreme.kt
rename to app/src/main/java/foundation/e/apps/data/ResultSupreme.kt
index 856674c7117cb91ed71340a61cb19a0fc42abe6b..14695702f15924b607ee449c8f66958bbe95ddad 100644
--- a/app/src/main/java/foundation/e/apps/api/ResultSupreme.kt
+++ b/app/src/main/java/foundation/e/apps/data/ResultSupreme.kt
@@ -15,9 +15,9 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api
+package foundation.e.apps.data
-import foundation.e.apps.utils.enums.ResultStatus
+import foundation.e.apps.data.enums.ResultStatus
import java.util.concurrent.TimeoutException
/**
diff --git a/app/src/main/java/foundation/e/apps/api/cleanapk/blockedApps/AppWarningInfo.kt b/app/src/main/java/foundation/e/apps/data/blockedApps/AppWarningInfo.kt
similarity index 94%
rename from app/src/main/java/foundation/e/apps/api/cleanapk/blockedApps/AppWarningInfo.kt
rename to app/src/main/java/foundation/e/apps/data/blockedApps/AppWarningInfo.kt
index 5175e1f19b3b6b5444013fabe43de091631457f6..c5eba1acfc057d3e6193e037988b76372927680a 100644
--- a/app/src/main/java/foundation/e/apps/api/cleanapk/blockedApps/AppWarningInfo.kt
+++ b/app/src/main/java/foundation/e/apps/data/blockedApps/AppWarningInfo.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.cleanapk.blockedApps
+package foundation.e.apps.data.blockedApps
import com.google.gson.annotations.SerializedName
diff --git a/app/src/main/java/foundation/e/apps/api/cleanapk/blockedApps/BlockedAppRepository.kt b/app/src/main/java/foundation/e/apps/data/blockedApps/BlockedAppRepository.kt
similarity index 94%
rename from app/src/main/java/foundation/e/apps/api/cleanapk/blockedApps/BlockedAppRepository.kt
rename to app/src/main/java/foundation/e/apps/data/blockedApps/BlockedAppRepository.kt
index 5e09583cebe950a3a4e98303cf626f57d35b5be6..e09202ea6ed57a3742b839a832ed2deace3c2643 100644
--- a/app/src/main/java/foundation/e/apps/api/cleanapk/blockedApps/BlockedAppRepository.kt
+++ b/app/src/main/java/foundation/e/apps/data/blockedApps/BlockedAppRepository.kt
@@ -15,11 +15,11 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package foundation.e.apps.api.cleanapk.blockedApps
+package foundation.e.apps.data.blockedApps
import com.google.gson.Gson
-import foundation.e.apps.api.DownloadManager
-import foundation.e.apps.manager.fused.FileManager
+import foundation.e.apps.data.DownloadManager
+import foundation.e.apps.data.fusedDownload.FileManager
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.launch
import java.io.File
diff --git a/app/src/main/java/foundation/e/apps/api/cleanapk/ApkSignatureManager.kt b/app/src/main/java/foundation/e/apps/data/cleanapk/ApkSignatureManager.kt
similarity index 98%
rename from app/src/main/java/foundation/e/apps/api/cleanapk/ApkSignatureManager.kt
rename to app/src/main/java/foundation/e/apps/data/cleanapk/ApkSignatureManager.kt
index ea7e58338ecc22ede69a76fd091d9731bcc1bfb2..9693d52299713b13762fc29673dcfc1475863103 100644
--- a/app/src/main/java/foundation/e/apps/api/cleanapk/ApkSignatureManager.kt
+++ b/app/src/main/java/foundation/e/apps/data/cleanapk/ApkSignatureManager.kt
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.cleanapk
+package foundation.e.apps.data.cleanapk
import android.content.Context
import org.bouncycastle.jce.provider.BouncyCastleProvider
diff --git a/app/src/main/java/foundation/e/apps/api/cleanapk/ApplicationDeserializer.kt b/app/src/main/java/foundation/e/apps/data/cleanapk/ApplicationDeserializer.kt
similarity index 94%
rename from app/src/main/java/foundation/e/apps/api/cleanapk/ApplicationDeserializer.kt
rename to app/src/main/java/foundation/e/apps/data/cleanapk/ApplicationDeserializer.kt
index 02ac918ba2ef49b7d86e20e3b82476726e3c8271..5d9b3910bef7caa82031b8ba1bead5754d493cb9 100644
--- a/app/src/main/java/foundation/e/apps/api/cleanapk/ApplicationDeserializer.kt
+++ b/app/src/main/java/foundation/e/apps/data/cleanapk/ApplicationDeserializer.kt
@@ -16,13 +16,13 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.cleanapk
+package foundation.e.apps.data.cleanapk
import com.google.gson.Gson
import com.google.gson.JsonDeserializationContext
import com.google.gson.JsonDeserializer
import com.google.gson.JsonElement
-import foundation.e.apps.api.cleanapk.data.app.Application
+import foundation.e.apps.data.cleanapk.data.app.Application
class ApplicationDeserializer : JsonDeserializer {
override fun deserialize(
diff --git a/app/src/main/java/foundation/e/apps/api/cleanapk/CleanApkAppDetailsRetrofit.kt b/app/src/main/java/foundation/e/apps/data/cleanapk/CleanApkAppDetailsRetrofit.kt
similarity index 92%
rename from app/src/main/java/foundation/e/apps/api/cleanapk/CleanApkAppDetailsRetrofit.kt
rename to app/src/main/java/foundation/e/apps/data/cleanapk/CleanApkAppDetailsRetrofit.kt
index 9ab5b6f479ee78a694a91c17cdb00e65abb86435..1e62152bc0b6a857f8fcbb7f699852dd36a763e5 100644
--- a/app/src/main/java/foundation/e/apps/api/cleanapk/CleanApkAppDetailsRetrofit.kt
+++ b/app/src/main/java/foundation/e/apps/data/cleanapk/CleanApkAppDetailsRetrofit.kt
@@ -18,9 +18,9 @@
*
*/
-package foundation.e.apps.api.cleanapk
+package foundation.e.apps.data.cleanapk
-import foundation.e.apps.api.cleanapk.data.app.Application
+import foundation.e.apps.data.cleanapk.data.app.Application
import retrofit2.Response
import retrofit2.http.GET
import retrofit2.http.Query
diff --git a/app/src/main/java/foundation/e/apps/api/cleanapk/CleanApkDownloadInfoFetcher.kt b/app/src/main/java/foundation/e/apps/data/cleanapk/CleanApkDownloadInfoFetcher.kt
similarity index 90%
rename from app/src/main/java/foundation/e/apps/api/cleanapk/CleanApkDownloadInfoFetcher.kt
rename to app/src/main/java/foundation/e/apps/data/cleanapk/CleanApkDownloadInfoFetcher.kt
index 14dcd7f6ce0332accc74608f04155390a4f3a03c..5cad7981110f9839d4ca70287693aea96d538f6a 100644
--- a/app/src/main/java/foundation/e/apps/api/cleanapk/CleanApkDownloadInfoFetcher.kt
+++ b/app/src/main/java/foundation/e/apps/data/cleanapk/CleanApkDownloadInfoFetcher.kt
@@ -16,9 +16,9 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.cleanapk
+package foundation.e.apps.data.cleanapk
-import foundation.e.apps.api.cleanapk.data.download.Download
+import foundation.e.apps.data.cleanapk.data.download.Download
import retrofit2.Response
interface CleanApkDownloadInfoFetcher {
diff --git a/app/src/main/java/foundation/e/apps/api/cleanapk/CleanApkRetrofit.kt b/app/src/main/java/foundation/e/apps/data/cleanapk/CleanApkRetrofit.kt
similarity index 87%
rename from app/src/main/java/foundation/e/apps/api/cleanapk/CleanApkRetrofit.kt
rename to app/src/main/java/foundation/e/apps/data/cleanapk/CleanApkRetrofit.kt
index 4feb18bc54b1221f9f7c1ff966573b0a3efa3eb6..d6660cd60a019a0d05f5465d526a316fed4be97a 100644
--- a/app/src/main/java/foundation/e/apps/api/cleanapk/CleanApkRetrofit.kt
+++ b/app/src/main/java/foundation/e/apps/data/cleanapk/CleanApkRetrofit.kt
@@ -16,13 +16,13 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.cleanapk
+package foundation.e.apps.data.cleanapk
-import foundation.e.apps.api.cleanapk.data.app.Application
-import foundation.e.apps.api.cleanapk.data.categories.Categories
-import foundation.e.apps.api.cleanapk.data.download.Download
-import foundation.e.apps.api.cleanapk.data.home.HomeScreen
-import foundation.e.apps.api.cleanapk.data.search.Search
+import foundation.e.apps.data.cleanapk.data.app.Application
+import foundation.e.apps.data.cleanapk.data.categories.Categories
+import foundation.e.apps.data.cleanapk.data.download.Download
+import foundation.e.apps.data.cleanapk.data.home.HomeScreen
+import foundation.e.apps.data.cleanapk.data.search.Search
import retrofit2.Response
import retrofit2.http.GET
import retrofit2.http.Query
diff --git a/app/src/main/java/foundation/e/apps/api/cleanapk/RetrofitModule.kt b/app/src/main/java/foundation/e/apps/data/cleanapk/RetrofitModule.kt
similarity index 92%
rename from app/src/main/java/foundation/e/apps/api/cleanapk/RetrofitModule.kt
rename to app/src/main/java/foundation/e/apps/data/cleanapk/RetrofitModule.kt
index 26e8f8cad6e325789c91fff433f7289c6e904ef8..7b46568dcb00b158e79c9b2c1be594f8435e0621 100644
--- a/app/src/main/java/foundation/e/apps/api/cleanapk/RetrofitModule.kt
+++ b/app/src/main/java/foundation/e/apps/data/cleanapk/RetrofitModule.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.cleanapk
+package foundation.e.apps.data.cleanapk
import android.os.Build
import android.util.Log
@@ -30,11 +30,11 @@ import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
-import foundation.e.apps.api.cleanapk.data.app.Application
-import foundation.e.apps.api.ecloud.EcloudApiInterface
-import foundation.e.apps.api.exodus.ExodusTrackerApi
-import foundation.e.apps.api.fdroid.FdroidApiInterface
-import foundation.e.apps.api.fdroid.FdroidWebInterface
+import foundation.e.apps.data.cleanapk.data.app.Application
+import foundation.e.apps.data.ecloud.EcloudApiInterface
+import foundation.e.apps.data.exodus.ExodusTrackerApi
+import foundation.e.apps.data.fdroid.FdroidApiInterface
+import foundation.e.apps.data.fdroid.FdroidWebInterface
import okhttp3.Cache
import okhttp3.Interceptor
import okhttp3.MediaType.Companion.toMediaTypeOrNull
diff --git a/app/src/main/java/foundation/e/apps/api/cleanapk/data/app/Application.kt b/app/src/main/java/foundation/e/apps/data/cleanapk/data/app/Application.kt
similarity index 87%
rename from app/src/main/java/foundation/e/apps/api/cleanapk/data/app/Application.kt
rename to app/src/main/java/foundation/e/apps/data/cleanapk/data/app/Application.kt
index 7e0cfbb3e4ef98b18696c448e504ea1b2ad95aae..e3b039721e6b99e00181576946146918c56a948a 100644
--- a/app/src/main/java/foundation/e/apps/api/cleanapk/data/app/Application.kt
+++ b/app/src/main/java/foundation/e/apps/data/cleanapk/data/app/Application.kt
@@ -16,9 +16,9 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.cleanapk.data.app
+package foundation.e.apps.data.cleanapk.data.app
-import foundation.e.apps.api.fused.data.FusedApp
+import foundation.e.apps.data.fused.data.FusedApp
data class Application(
val app: FusedApp = FusedApp(),
diff --git a/app/src/main/java/foundation/e/apps/api/cleanapk/data/categories/Categories.kt b/app/src/main/java/foundation/e/apps/data/cleanapk/data/categories/Categories.kt
similarity index 92%
rename from app/src/main/java/foundation/e/apps/api/cleanapk/data/categories/Categories.kt
rename to app/src/main/java/foundation/e/apps/data/cleanapk/data/categories/Categories.kt
index 11bf717e8dbf08555d02398364ace82ec19d6bf0..6fac8eefc7ec2699f282b861ecd5b05e5e1a7801 100644
--- a/app/src/main/java/foundation/e/apps/api/cleanapk/data/categories/Categories.kt
+++ b/app/src/main/java/foundation/e/apps/data/cleanapk/data/categories/Categories.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.cleanapk.data.categories
+package foundation.e.apps.data.cleanapk.data.categories
data class Categories(
val apps: List = emptyList(),
diff --git a/app/src/main/java/foundation/e/apps/api/cleanapk/data/download/Download.kt b/app/src/main/java/foundation/e/apps/data/cleanapk/data/download/Download.kt
similarity index 91%
rename from app/src/main/java/foundation/e/apps/api/cleanapk/data/download/Download.kt
rename to app/src/main/java/foundation/e/apps/data/cleanapk/data/download/Download.kt
index d916bc312f6679bfb1f4b0512c0a2436f3ba3c51..0776bf058e3748add07a75d3e0631223b11fe28a 100644
--- a/app/src/main/java/foundation/e/apps/api/cleanapk/data/download/Download.kt
+++ b/app/src/main/java/foundation/e/apps/data/cleanapk/data/download/Download.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.cleanapk.data.download
+package foundation.e.apps.data.cleanapk.data.download
data class Download(
val download_data: DownloadData = DownloadData(),
diff --git a/app/src/main/java/foundation/e/apps/api/cleanapk/data/download/DownloadData.kt b/app/src/main/java/foundation/e/apps/data/cleanapk/data/download/DownloadData.kt
similarity index 91%
rename from app/src/main/java/foundation/e/apps/api/cleanapk/data/download/DownloadData.kt
rename to app/src/main/java/foundation/e/apps/data/cleanapk/data/download/DownloadData.kt
index cec080d215fe6d76ec3ca7e653d7956b3fc43408..2ee6254495b257a76385179a346a01f79ce648af 100644
--- a/app/src/main/java/foundation/e/apps/api/cleanapk/data/download/DownloadData.kt
+++ b/app/src/main/java/foundation/e/apps/data/cleanapk/data/download/DownloadData.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.cleanapk.data.download
+package foundation.e.apps.data.cleanapk.data.download
data class DownloadData(
val download_link: String = String(),
diff --git a/app/src/main/java/foundation/e/apps/api/cleanapk/data/home/Home.kt b/app/src/main/java/foundation/e/apps/data/cleanapk/data/home/Home.kt
similarity index 87%
rename from app/src/main/java/foundation/e/apps/api/cleanapk/data/home/Home.kt
rename to app/src/main/java/foundation/e/apps/data/cleanapk/data/home/Home.kt
index 29197bf4c2f5ccc1f4af6c3af06e2615371c89fb..be01d94409dd069eabef331c62cebda100b5d641 100644
--- a/app/src/main/java/foundation/e/apps/api/cleanapk/data/home/Home.kt
+++ b/app/src/main/java/foundation/e/apps/data/cleanapk/data/home/Home.kt
@@ -16,10 +16,10 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.cleanapk.data.home
+package foundation.e.apps.data.cleanapk.data.home
-import foundation.e.apps.api.fused.data.FusedApp
-import foundation.e.apps.utils.enums.Origin
+import foundation.e.apps.data.enums.Origin
+import foundation.e.apps.data.fused.data.FusedApp
data class Home(
val top_updated_apps: List = emptyList(),
diff --git a/app/src/main/java/foundation/e/apps/api/cleanapk/data/home/HomeScreen.kt b/app/src/main/java/foundation/e/apps/data/cleanapk/data/home/HomeScreen.kt
similarity index 91%
rename from app/src/main/java/foundation/e/apps/api/cleanapk/data/home/HomeScreen.kt
rename to app/src/main/java/foundation/e/apps/data/cleanapk/data/home/HomeScreen.kt
index 48ad42d89f5a2777bfd4125443ccf0f6033a4d31..27d0f7db4f115c2b493d5596a812f9c526054f4e 100644
--- a/app/src/main/java/foundation/e/apps/api/cleanapk/data/home/HomeScreen.kt
+++ b/app/src/main/java/foundation/e/apps/data/cleanapk/data/home/HomeScreen.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.cleanapk.data.home
+package foundation.e.apps.data.cleanapk.data.home
data class HomeScreen(
val home: Home = Home(),
diff --git a/app/src/main/java/foundation/e/apps/api/cleanapk/data/search/Search.kt b/app/src/main/java/foundation/e/apps/data/cleanapk/data/search/Search.kt
similarity index 87%
rename from app/src/main/java/foundation/e/apps/api/cleanapk/data/search/Search.kt
rename to app/src/main/java/foundation/e/apps/data/cleanapk/data/search/Search.kt
index 955be0b09af18e8b5ff668ce1f758440318d853f..97dc3c330162cfdfab6e8da40cf1f7846c374dde 100644
--- a/app/src/main/java/foundation/e/apps/api/cleanapk/data/search/Search.kt
+++ b/app/src/main/java/foundation/e/apps/data/cleanapk/data/search/Search.kt
@@ -16,9 +16,9 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.cleanapk.data.search
+package foundation.e.apps.data.cleanapk.data.search
-import foundation.e.apps.api.fused.data.FusedApp
+import foundation.e.apps.data.fused.data.FusedApp
data class Search(
val apps: List = emptyList(),
diff --git a/app/src/main/java/foundation/e/apps/api/cleanapk/CleanAPKRepository.kt b/app/src/main/java/foundation/e/apps/data/cleanapk/repositories/CleanAPKRepository.kt
similarity index 82%
rename from app/src/main/java/foundation/e/apps/api/cleanapk/CleanAPKRepository.kt
rename to app/src/main/java/foundation/e/apps/data/cleanapk/repositories/CleanAPKRepository.kt
index fc77fbb13ebbdf5cd68187d6183fb072c021b570..22656d5bbe3a6d2e4cddd5a3b36e6bf710cc11cb 100644
--- a/app/src/main/java/foundation/e/apps/api/cleanapk/CleanAPKRepository.kt
+++ b/app/src/main/java/foundation/e/apps/data/cleanapk/repositories/CleanAPKRepository.kt
@@ -16,14 +16,16 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.cleanapk
+package foundation.e.apps.data.cleanapk.repositories
import foundation.e.apps.OpenForTesting
-import foundation.e.apps.api.cleanapk.data.app.Application
-import foundation.e.apps.api.cleanapk.data.categories.Categories
-import foundation.e.apps.api.cleanapk.data.download.Download
-import foundation.e.apps.api.cleanapk.data.home.HomeScreen
-import foundation.e.apps.api.cleanapk.data.search.Search
+import foundation.e.apps.data.cleanapk.CleanApkAppDetailsRetrofit
+import foundation.e.apps.data.cleanapk.CleanApkRetrofit
+import foundation.e.apps.data.cleanapk.data.app.Application
+import foundation.e.apps.data.cleanapk.data.categories.Categories
+import foundation.e.apps.data.cleanapk.data.download.Download
+import foundation.e.apps.data.cleanapk.data.home.HomeScreen
+import foundation.e.apps.data.cleanapk.data.search.Search
import retrofit2.Response
import javax.inject.Inject
diff --git a/app/src/main/java/foundation/e/apps/api/cleanapk/CleanApkAppsRepositoryImpl.kt b/app/src/main/java/foundation/e/apps/data/cleanapk/repositories/CleanApkAppsRepositoryImpl.kt
similarity index 82%
rename from app/src/main/java/foundation/e/apps/api/cleanapk/CleanApkAppsRepositoryImpl.kt
rename to app/src/main/java/foundation/e/apps/data/cleanapk/repositories/CleanApkAppsRepositoryImpl.kt
index 4fc16cbf3f419df2790719725d4353b2251fbcff..fe16ef3a91a4241459a1a7a08b1a3270a0f921a4 100644
--- a/app/src/main/java/foundation/e/apps/api/cleanapk/CleanApkAppsRepositoryImpl.kt
+++ b/app/src/main/java/foundation/e/apps/data/cleanapk/repositories/CleanApkAppsRepositoryImpl.kt
@@ -16,13 +16,16 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.cleanapk
+package foundation.e.apps.data.cleanapk.repositories
-import foundation.e.apps.api.cleanapk.data.app.Application
-import foundation.e.apps.api.cleanapk.data.categories.Categories
-import foundation.e.apps.api.cleanapk.data.download.Download
-import foundation.e.apps.api.cleanapk.data.home.HomeScreen
-import foundation.e.apps.api.cleanapk.data.search.Search
+import foundation.e.apps.data.cleanapk.CleanApkAppDetailsRetrofit
+import foundation.e.apps.data.cleanapk.CleanApkDownloadInfoFetcher
+import foundation.e.apps.data.cleanapk.CleanApkRetrofit
+import foundation.e.apps.data.cleanapk.data.app.Application
+import foundation.e.apps.data.cleanapk.data.categories.Categories
+import foundation.e.apps.data.cleanapk.data.download.Download
+import foundation.e.apps.data.cleanapk.data.home.HomeScreen
+import foundation.e.apps.data.cleanapk.data.search.Search
import retrofit2.Response
class CleanApkAppsRepositoryImpl(
diff --git a/app/src/main/java/foundation/e/apps/api/cleanapk/CleanApkPWARepository.kt b/app/src/main/java/foundation/e/apps/data/cleanapk/repositories/CleanApkPWARepository.kt
similarity index 86%
rename from app/src/main/java/foundation/e/apps/api/cleanapk/CleanApkPWARepository.kt
rename to app/src/main/java/foundation/e/apps/data/cleanapk/repositories/CleanApkPWARepository.kt
index 0bb4afa657fdfb5865a71af8aa3de6d3d71ecb47..03c43a6ceeb80dbc5167e2948413d4c87f19390a 100644
--- a/app/src/main/java/foundation/e/apps/api/cleanapk/CleanApkPWARepository.kt
+++ b/app/src/main/java/foundation/e/apps/data/cleanapk/repositories/CleanApkPWARepository.kt
@@ -16,11 +16,13 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.cleanapk
+package foundation.e.apps.data.cleanapk.repositories
-import foundation.e.apps.api.cleanapk.data.app.Application
-import foundation.e.apps.api.cleanapk.data.categories.Categories
-import foundation.e.apps.api.cleanapk.data.search.Search
+import foundation.e.apps.data.cleanapk.CleanApkAppDetailsRetrofit
+import foundation.e.apps.data.cleanapk.CleanApkRetrofit
+import foundation.e.apps.data.cleanapk.data.app.Application
+import foundation.e.apps.data.cleanapk.data.categories.Categories
+import foundation.e.apps.data.cleanapk.data.search.Search
import retrofit2.Response
class CleanApkPWARepository(
diff --git a/app/src/main/java/foundation/e/apps/api/cleanapk/CleanApkRepository.kt b/app/src/main/java/foundation/e/apps/data/cleanapk/repositories/CleanApkRepository.kt
similarity index 83%
rename from app/src/main/java/foundation/e/apps/api/cleanapk/CleanApkRepository.kt
rename to app/src/main/java/foundation/e/apps/data/cleanapk/repositories/CleanApkRepository.kt
index 3959d18eb566eb3ea6f43cc04b4e5e4caa3c9875..618e412035c64c37eb7f3bea81e04e2a4aed2955 100644
--- a/app/src/main/java/foundation/e/apps/api/cleanapk/CleanApkRepository.kt
+++ b/app/src/main/java/foundation/e/apps/data/cleanapk/repositories/CleanApkRepository.kt
@@ -16,11 +16,11 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.cleanapk
+package foundation.e.apps.data.cleanapk.repositories
-import foundation.e.apps.api.BaseStoreRepository
-import foundation.e.apps.api.cleanapk.data.categories.Categories
-import foundation.e.apps.api.cleanapk.data.search.Search
+import foundation.e.apps.data.BaseStoreRepository
+import foundation.e.apps.data.cleanapk.data.categories.Categories
+import foundation.e.apps.data.cleanapk.data.search.Search
import retrofit2.Response
const val NUMBER_OF_ITEMS = 20
diff --git a/app/src/main/java/foundation/e/apps/api/database/AppDatabase.kt b/app/src/main/java/foundation/e/apps/data/database/AppDatabase.kt
similarity index 79%
rename from app/src/main/java/foundation/e/apps/api/database/AppDatabase.kt
rename to app/src/main/java/foundation/e/apps/data/database/AppDatabase.kt
index 3cbf4105eecb32fb025cfdc5936c8c9412e0d3fb..69c179b19378071c80eea13226560792d6892351 100644
--- a/app/src/main/java/foundation/e/apps/api/database/AppDatabase.kt
+++ b/app/src/main/java/foundation/e/apps/data/database/AppDatabase.kt
@@ -1,4 +1,4 @@
-package foundation.e.apps.api.database
+package foundation.e.apps.data.database
import android.content.Context
import androidx.room.Database
@@ -6,12 +6,12 @@ import androidx.room.Room
import androidx.room.RoomDatabase
import androidx.room.migration.Migration
import androidx.sqlite.db.SupportSQLiteDatabase
-import foundation.e.apps.api.exodus.Tracker
-import foundation.e.apps.api.exodus.TrackerDao
-import foundation.e.apps.api.faultyApps.FaultyApp
-import foundation.e.apps.api.faultyApps.FaultyAppDao
-import foundation.e.apps.api.fdroid.FdroidDao
-import foundation.e.apps.api.fdroid.models.FdroidEntity
+import foundation.e.apps.data.exodus.Tracker
+import foundation.e.apps.data.exodus.TrackerDao
+import foundation.e.apps.data.faultyApps.FaultyApp
+import foundation.e.apps.data.faultyApps.FaultyAppDao
+import foundation.e.apps.data.fdroid.FdroidDao
+import foundation.e.apps.data.fdroid.models.FdroidEntity
@Database(
entities = [Tracker::class, FdroidEntity::class, FaultyApp::class],
diff --git a/app/src/main/java/foundation/e/apps/manager/database/FusedConverter.kt b/app/src/main/java/foundation/e/apps/data/database/fusedDownload/FusedConverter.kt
similarity index 91%
rename from app/src/main/java/foundation/e/apps/manager/database/FusedConverter.kt
rename to app/src/main/java/foundation/e/apps/data/database/fusedDownload/FusedConverter.kt
index adc654cc537236d47666b6807e83667aa775b069..285c0e9450cb8247783c7401c74d93d824993c39 100644
--- a/app/src/main/java/foundation/e/apps/manager/database/FusedConverter.kt
+++ b/app/src/main/java/foundation/e/apps/data/database/fusedDownload/FusedConverter.kt
@@ -1,4 +1,4 @@
-package foundation.e.apps.manager.database
+package foundation.e.apps.data.database.fusedDownload
import androidx.room.TypeConverter
import com.aurora.gplayapi.data.models.File
diff --git a/app/src/main/java/foundation/e/apps/manager/database/FusedDatabase.kt b/app/src/main/java/foundation/e/apps/data/database/fusedDownload/FusedDatabase.kt
similarity index 78%
rename from app/src/main/java/foundation/e/apps/manager/database/FusedDatabase.kt
rename to app/src/main/java/foundation/e/apps/data/database/fusedDownload/FusedDatabase.kt
index 3a307ef8859b45b1fd7a310b78ad14067a5fc3a0..88df8af12fbd583be673ad8c056082836930c1f4 100644
--- a/app/src/main/java/foundation/e/apps/manager/database/FusedDatabase.kt
+++ b/app/src/main/java/foundation/e/apps/data/database/fusedDownload/FusedDatabase.kt
@@ -1,13 +1,13 @@
-package foundation.e.apps.manager.database
+package foundation.e.apps.data.database.fusedDownload
import android.content.Context
import androidx.room.Database
import androidx.room.Room
import androidx.room.RoomDatabase
import androidx.room.TypeConverters
-import foundation.e.apps.api.database.AppDatabase
-import foundation.e.apps.manager.database.fusedDownload.FusedDownload
-import foundation.e.apps.manager.database.fusedDownload.FusedDownloadDAO
+import foundation.e.apps.data.database.AppDatabase
+import foundation.e.apps.data.fusedDownload.FusedDownloadDAO
+import foundation.e.apps.data.fusedDownload.models.FusedDownload
@Database(entities = [FusedDownload::class], version = 3, exportSchema = false)
@TypeConverters(FusedConverter::class)
diff --git a/app/src/main/java/foundation/e/apps/api/ecloud/EcloudApiInterface.kt b/app/src/main/java/foundation/e/apps/data/ecloud/EcloudApiInterface.kt
similarity index 91%
rename from app/src/main/java/foundation/e/apps/api/ecloud/EcloudApiInterface.kt
rename to app/src/main/java/foundation/e/apps/data/ecloud/EcloudApiInterface.kt
index 55b8cd67da3e074ead083a4f9f1b107c877a9b96..e22a3d1217a1fbd4dd4205c6ebb456a1e595f7d2 100644
--- a/app/src/main/java/foundation/e/apps/api/ecloud/EcloudApiInterface.kt
+++ b/app/src/main/java/foundation/e/apps/data/ecloud/EcloudApiInterface.kt
@@ -15,9 +15,9 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.ecloud
+package foundation.e.apps.data.ecloud
-import foundation.e.apps.api.ecloud.modules.FaultyToken
+import foundation.e.apps.data.ecloud.modules.FaultyToken
import retrofit2.http.Body
import retrofit2.http.Headers
import retrofit2.http.POST
diff --git a/app/src/main/java/foundation/e/apps/api/ecloud/EcloudRepository.kt b/app/src/main/java/foundation/e/apps/data/ecloud/EcloudRepository.kt
similarity index 92%
rename from app/src/main/java/foundation/e/apps/api/ecloud/EcloudRepository.kt
rename to app/src/main/java/foundation/e/apps/data/ecloud/EcloudRepository.kt
index 27fb20699e3e5d190fbd66a32a9d1bef4301c256..941735dc85ff8761dcbc46024e01bf050147a32f 100644
--- a/app/src/main/java/foundation/e/apps/api/ecloud/EcloudRepository.kt
+++ b/app/src/main/java/foundation/e/apps/data/ecloud/EcloudRepository.kt
@@ -15,9 +15,9 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.ecloud
+package foundation.e.apps.data.ecloud
-import foundation.e.apps.api.ecloud.modules.FaultyToken
+import foundation.e.apps.data.ecloud.modules.FaultyToken
import javax.inject.Inject
import javax.inject.Singleton
diff --git a/app/src/main/java/foundation/e/apps/api/ecloud/modules/FaultyToken.kt b/app/src/main/java/foundation/e/apps/data/ecloud/modules/FaultyToken.kt
similarity index 94%
rename from app/src/main/java/foundation/e/apps/api/ecloud/modules/FaultyToken.kt
rename to app/src/main/java/foundation/e/apps/data/ecloud/modules/FaultyToken.kt
index f8693271df1181754c7884395b49b7a23bc2cdd1..8091d36d4f41e67ea73f5595ba87d1155fb0feff 100644
--- a/app/src/main/java/foundation/e/apps/api/ecloud/modules/FaultyToken.kt
+++ b/app/src/main/java/foundation/e/apps/data/ecloud/modules/FaultyToken.kt
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.ecloud.modules
+package foundation.e.apps.data.ecloud.modules
data class FaultyToken(
val email: String,
diff --git a/app/src/main/java/foundation/e/apps/utils/enums/AppTag.kt b/app/src/main/java/foundation/e/apps/data/enums/AppTag.kt
similarity index 97%
rename from app/src/main/java/foundation/e/apps/utils/enums/AppTag.kt
rename to app/src/main/java/foundation/e/apps/data/enums/AppTag.kt
index 5a5361dd82bc4ec5f38921475c0946e236e3c28a..2b16116558e2b324e2684dbb6d35108d72c3e032 100644
--- a/app/src/main/java/foundation/e/apps/utils/enums/AppTag.kt
+++ b/app/src/main/java/foundation/e/apps/data/enums/AppTag.kt
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.utils.enums
+package foundation.e.apps.data.enums
/**
* This sealed class is used for the tags shown in the categories screen,
diff --git a/app/src/main/java/foundation/e/apps/utils/enums/FilterLevel.kt b/app/src/main/java/foundation/e/apps/data/enums/FilterLevel.kt
similarity index 98%
rename from app/src/main/java/foundation/e/apps/utils/enums/FilterLevel.kt
rename to app/src/main/java/foundation/e/apps/data/enums/FilterLevel.kt
index 4fd93c524fd1f7d11f5c710bb4480cf595e991c6..13dcc7b7acc536612d93d1b7db5602034edc0e21 100644
--- a/app/src/main/java/foundation/e/apps/utils/enums/FilterLevel.kt
+++ b/app/src/main/java/foundation/e/apps/data/enums/FilterLevel.kt
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.utils.enums
+package foundation.e.apps.data.enums
/**
* Use this class for various levels of filtering.
diff --git a/app/src/main/java/foundation/e/apps/utils/enums/Origin.kt b/app/src/main/java/foundation/e/apps/data/enums/Origin.kt
similarity index 92%
rename from app/src/main/java/foundation/e/apps/utils/enums/Origin.kt
rename to app/src/main/java/foundation/e/apps/data/enums/Origin.kt
index 5534bc177fee19e177985125431653947b403760..ae1218ccd4e87570bd7dc7ec6d4ed830c463e059 100644
--- a/app/src/main/java/foundation/e/apps/utils/enums/Origin.kt
+++ b/app/src/main/java/foundation/e/apps/data/enums/Origin.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.utils.enums
+package foundation.e.apps.data.enums
enum class Origin {
CLEANAPK,
diff --git a/app/src/main/java/foundation/e/apps/utils/enums/ResultStatus.kt b/app/src/main/java/foundation/e/apps/data/enums/ResultStatus.kt
similarity index 73%
rename from app/src/main/java/foundation/e/apps/utils/enums/ResultStatus.kt
rename to app/src/main/java/foundation/e/apps/data/enums/ResultStatus.kt
index 87dcf953058a394588b7f1d074f347af9d0c56ad..34f4d54e71415283a01399d7d60ff672d548e2e1 100644
--- a/app/src/main/java/foundation/e/apps/utils/enums/ResultStatus.kt
+++ b/app/src/main/java/foundation/e/apps/data/enums/ResultStatus.kt
@@ -1,4 +1,4 @@
-package foundation.e.apps.utils.enums
+package foundation.e.apps.data.enums
enum class ResultStatus {
OK,
diff --git a/app/src/main/java/foundation/e/apps/utils/enums/Source.kt b/app/src/main/java/foundation/e/apps/data/enums/Source.kt
similarity index 95%
rename from app/src/main/java/foundation/e/apps/utils/enums/Source.kt
rename to app/src/main/java/foundation/e/apps/data/enums/Source.kt
index 07780704e6dc1e66553b27fb4b2dbb968f594300..0e0b08ae4ee5deda20c746afd0488479d50ec000 100644
--- a/app/src/main/java/foundation/e/apps/utils/enums/Source.kt
+++ b/app/src/main/java/foundation/e/apps/data/enums/Source.kt
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.utils.enums
+package foundation.e.apps.data.enums
enum class Source {
GPLAY,
diff --git a/app/src/main/java/foundation/e/apps/utils/enums/Status.kt b/app/src/main/java/foundation/e/apps/data/enums/Status.kt
similarity index 93%
rename from app/src/main/java/foundation/e/apps/utils/enums/Status.kt
rename to app/src/main/java/foundation/e/apps/data/enums/Status.kt
index 196727e36dc5b46b0a36acd1494a54aa94f0e120..849f305f25a878fd8b51b9202075612cb9b200c5 100644
--- a/app/src/main/java/foundation/e/apps/utils/enums/Status.kt
+++ b/app/src/main/java/foundation/e/apps/data/enums/Status.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.utils.enums
+package foundation.e.apps.data.enums
enum class Status {
INSTALLED,
diff --git a/app/src/main/java/foundation/e/apps/data/enums/Type.kt b/app/src/main/java/foundation/e/apps/data/enums/Type.kt
new file mode 100644
index 0000000000000000000000000000000000000000..ccb670d502a40cfb582abcb4c589ae1dda2c1a58
--- /dev/null
+++ b/app/src/main/java/foundation/e/apps/data/enums/Type.kt
@@ -0,0 +1,6 @@
+package foundation.e.apps.data.enums
+
+enum class Type {
+ NATIVE,
+ PWA
+}
diff --git a/app/src/main/java/foundation/e/apps/utils/enums/User.kt b/app/src/main/java/foundation/e/apps/data/enums/User.kt
similarity index 63%
rename from app/src/main/java/foundation/e/apps/utils/enums/User.kt
rename to app/src/main/java/foundation/e/apps/data/enums/User.kt
index 1363b7fa071a4438c8228460ed94b3d21a9f90ec..e9190cfd96cf09227f510ae032045b1288e9d7bf 100644
--- a/app/src/main/java/foundation/e/apps/utils/enums/User.kt
+++ b/app/src/main/java/foundation/e/apps/data/enums/User.kt
@@ -1,4 +1,4 @@
-package foundation.e.apps.utils.enums
+package foundation.e.apps.data.enums
enum class User {
NO_GOOGLE,
diff --git a/app/src/main/java/foundation/e/apps/api/exodus/ExodusTrackerApi.kt b/app/src/main/java/foundation/e/apps/data/exodus/ExodusTrackerApi.kt
similarity index 93%
rename from app/src/main/java/foundation/e/apps/api/exodus/ExodusTrackerApi.kt
rename to app/src/main/java/foundation/e/apps/data/exodus/ExodusTrackerApi.kt
index 4fe785603de1c1742733f32ca5a9cc7766121ee9..a9f48731a1c2be149e1c6d410768f03ffc7f9e98 100644
--- a/app/src/main/java/foundation/e/apps/api/exodus/ExodusTrackerApi.kt
+++ b/app/src/main/java/foundation/e/apps/data/exodus/ExodusTrackerApi.kt
@@ -1,4 +1,4 @@
-package foundation.e.apps.api.exodus
+package foundation.e.apps.data.exodus
import retrofit2.Response
import retrofit2.http.GET
diff --git a/app/src/main/java/foundation/e/apps/api/exodus/TrackerApiResponse.kt b/app/src/main/java/foundation/e/apps/data/exodus/TrackerApiResponse.kt
similarity index 92%
rename from app/src/main/java/foundation/e/apps/api/exodus/TrackerApiResponse.kt
rename to app/src/main/java/foundation/e/apps/data/exodus/TrackerApiResponse.kt
index 54cd8707c50a18f02054c6e2f1510ce0be99b575..44dc8f4beab6134b8baca15fccb270cfbf4be263 100644
--- a/app/src/main/java/foundation/e/apps/api/exodus/TrackerApiResponse.kt
+++ b/app/src/main/java/foundation/e/apps/data/exodus/TrackerApiResponse.kt
@@ -1,4 +1,4 @@
-package foundation.e.apps.api.exodus
+package foundation.e.apps.data.exodus
import com.squareup.moshi.Json
diff --git a/app/src/main/java/foundation/e/apps/api/exodus/TrackerDao.kt b/app/src/main/java/foundation/e/apps/data/exodus/TrackerDao.kt
similarity index 90%
rename from app/src/main/java/foundation/e/apps/api/exodus/TrackerDao.kt
rename to app/src/main/java/foundation/e/apps/data/exodus/TrackerDao.kt
index d6de8b5ebd2045a63b13874037a7b02348f188f7..ebdc7d1d75e3a705c513e1a4de43ebf016cffd82 100644
--- a/app/src/main/java/foundation/e/apps/api/exodus/TrackerDao.kt
+++ b/app/src/main/java/foundation/e/apps/data/exodus/TrackerDao.kt
@@ -1,4 +1,4 @@
-package foundation.e.apps.api.exodus
+package foundation.e.apps.data.exodus
import androidx.room.Dao
import androidx.room.Insert
diff --git a/app/src/main/java/foundation/e/apps/api/exodus/models/AppPrivacyInfo.kt b/app/src/main/java/foundation/e/apps/data/exodus/models/AppPrivacyInfo.kt
similarity index 75%
rename from app/src/main/java/foundation/e/apps/api/exodus/models/AppPrivacyInfo.kt
rename to app/src/main/java/foundation/e/apps/data/exodus/models/AppPrivacyInfo.kt
index d7074a29381aaacdf5c8ed445132f7ecb3a60c8d..e1a1af00fa657ecf11c17c6498c6b16a2b5b4c4c 100644
--- a/app/src/main/java/foundation/e/apps/api/exodus/models/AppPrivacyInfo.kt
+++ b/app/src/main/java/foundation/e/apps/data/exodus/models/AppPrivacyInfo.kt
@@ -1,3 +1,3 @@
-package foundation.e.apps.api.exodus.models
+package foundation.e.apps.data.exodus.models
data class AppPrivacyInfo(val trackerList: List = listOf(), val permissionList: List = listOf(), val reportId: Long = -1L)
diff --git a/app/src/main/java/foundation/e/apps/api/exodus/models/Trackers.kt b/app/src/main/java/foundation/e/apps/data/exodus/models/Trackers.kt
similarity index 90%
rename from app/src/main/java/foundation/e/apps/api/exodus/models/Trackers.kt
rename to app/src/main/java/foundation/e/apps/data/exodus/models/Trackers.kt
index 1c6d948eaf5621d4bbd63a8f6f100b24836cdedf..49f19e31fee6a19dd4ceaecf335cc88f6745d988 100644
--- a/app/src/main/java/foundation/e/apps/api/exodus/models/Trackers.kt
+++ b/app/src/main/java/foundation/e/apps/data/exodus/models/Trackers.kt
@@ -1,4 +1,4 @@
-package foundation.e.apps.api.exodus
+package foundation.e.apps.data.exodus
import androidx.room.Entity
import androidx.room.PrimaryKey
diff --git a/app/src/main/java/foundation/e/apps/api/exodus/repositories/AppPrivacyInfoRepositoryImpl.kt b/app/src/main/java/foundation/e/apps/data/exodus/repositories/AppPrivacyInfoRepositoryImpl.kt
similarity index 93%
rename from app/src/main/java/foundation/e/apps/api/exodus/repositories/AppPrivacyInfoRepositoryImpl.kt
rename to app/src/main/java/foundation/e/apps/data/exodus/repositories/AppPrivacyInfoRepositoryImpl.kt
index 2a6be501ca7643a444f148364a67bb6ebc956851..ab32cf0c92ac071b89f52da7267821a905464512 100644
--- a/app/src/main/java/foundation/e/apps/api/exodus/repositories/AppPrivacyInfoRepositoryImpl.kt
+++ b/app/src/main/java/foundation/e/apps/data/exodus/repositories/AppPrivacyInfoRepositoryImpl.kt
@@ -16,19 +16,19 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.exodus.repositories
-
-import foundation.e.apps.api.Result
-import foundation.e.apps.api.exodus.ExodusTrackerApi
-import foundation.e.apps.api.exodus.Report
-import foundation.e.apps.api.exodus.Tracker
-import foundation.e.apps.api.exodus.TrackerDao
-import foundation.e.apps.api.exodus.models.AppPrivacyInfo
-import foundation.e.apps.api.fused.data.FusedApp
-import foundation.e.apps.api.getResult
-import foundation.e.apps.utils.enums.Origin
+package foundation.e.apps.data.exodus.repositories
+
+import foundation.e.apps.data.Result
+import foundation.e.apps.data.enums.Origin
+import foundation.e.apps.data.exodus.ExodusTrackerApi
+import foundation.e.apps.data.exodus.Report
+import foundation.e.apps.data.exodus.Tracker
+import foundation.e.apps.data.exodus.TrackerDao
+import foundation.e.apps.data.exodus.models.AppPrivacyInfo
+import foundation.e.apps.data.fused.data.FusedApp
+import foundation.e.apps.data.getResult
+import foundation.e.apps.di.CommonUtilsModule.LIST_OF_NULL
import foundation.e.apps.utils.getFormattedString
-import foundation.e.apps.utils.modules.CommonUtilsModule.LIST_OF_NULL
import java.util.Date
import java.util.Locale
import javax.inject.Inject
diff --git a/app/src/main/java/foundation/e/apps/data/exodus/repositories/IAppPrivacyInfoRepository.kt b/app/src/main/java/foundation/e/apps/data/exodus/repositories/IAppPrivacyInfoRepository.kt
new file mode 100644
index 0000000000000000000000000000000000000000..213c96cf09fc37fc55788db523bbfd773f5065e4
--- /dev/null
+++ b/app/src/main/java/foundation/e/apps/data/exodus/repositories/IAppPrivacyInfoRepository.kt
@@ -0,0 +1,10 @@
+package foundation.e.apps.data.exodus.repositories
+
+import foundation.e.apps.data.Result
+import foundation.e.apps.data.exodus.models.AppPrivacyInfo
+import foundation.e.apps.data.fused.data.FusedApp
+
+interface IAppPrivacyInfoRepository {
+ suspend fun getAppPrivacyInfo(fusedApp: FusedApp, appHandle: String): Result
+ fun calculatePrivacyScore(fusedApp: FusedApp): Int
+}
diff --git a/app/src/main/java/foundation/e/apps/api/faultyApps/FaultyApp.kt b/app/src/main/java/foundation/e/apps/data/faultyApps/FaultyApp.kt
similarity index 95%
rename from app/src/main/java/foundation/e/apps/api/faultyApps/FaultyApp.kt
rename to app/src/main/java/foundation/e/apps/data/faultyApps/FaultyApp.kt
index 36c1af2e0386618742ee457e69179150f5d76418..82163fc987eac7a5df563ffada47248c2af252ea 100644
--- a/app/src/main/java/foundation/e/apps/api/faultyApps/FaultyApp.kt
+++ b/app/src/main/java/foundation/e/apps/data/faultyApps/FaultyApp.kt
@@ -18,7 +18,7 @@
*
*/
-package foundation.e.apps.api.faultyApps
+package foundation.e.apps.data.faultyApps
import androidx.room.Entity
import androidx.room.PrimaryKey
diff --git a/app/src/main/java/foundation/e/apps/api/faultyApps/FaultyAppDao.kt b/app/src/main/java/foundation/e/apps/data/faultyApps/FaultyAppDao.kt
similarity index 96%
rename from app/src/main/java/foundation/e/apps/api/faultyApps/FaultyAppDao.kt
rename to app/src/main/java/foundation/e/apps/data/faultyApps/FaultyAppDao.kt
index 0218ebf6d2b0208bf94d5b3ded541fdd7790d8e4..d9fdc06a802c6ee48b06cf657950e99773af7c20 100644
--- a/app/src/main/java/foundation/e/apps/api/faultyApps/FaultyAppDao.kt
+++ b/app/src/main/java/foundation/e/apps/data/faultyApps/FaultyAppDao.kt
@@ -18,7 +18,7 @@
*
*/
-package foundation.e.apps.api.faultyApps
+package foundation.e.apps.data.faultyApps
import androidx.room.Dao
import androidx.room.Insert
diff --git a/app/src/main/java/foundation/e/apps/api/faultyApps/FaultyAppRepository.kt b/app/src/main/java/foundation/e/apps/data/faultyApps/FaultyAppRepository.kt
similarity index 94%
rename from app/src/main/java/foundation/e/apps/api/faultyApps/FaultyAppRepository.kt
rename to app/src/main/java/foundation/e/apps/data/faultyApps/FaultyAppRepository.kt
index 479460fb70586921d4355fadb1198096fae3f03b..31a5059c7d0fb7fcb1b5ed2419a587ea51038f0e 100644
--- a/app/src/main/java/foundation/e/apps/api/faultyApps/FaultyAppRepository.kt
+++ b/app/src/main/java/foundation/e/apps/data/faultyApps/FaultyAppRepository.kt
@@ -18,10 +18,10 @@
*
*/
-package foundation.e.apps.api.faultyApps
+package foundation.e.apps.data.faultyApps
import foundation.e.apps.OpenForTesting
-import foundation.e.apps.api.fused.data.FusedApp
+import foundation.e.apps.data.fused.data.FusedApp
import javax.inject.Inject
import javax.inject.Singleton
diff --git a/app/src/main/java/foundation/e/apps/api/fdroid/FdroidApiInterface.kt b/app/src/main/java/foundation/e/apps/data/fdroid/FdroidApiInterface.kt
similarity index 69%
rename from app/src/main/java/foundation/e/apps/api/fdroid/FdroidApiInterface.kt
rename to app/src/main/java/foundation/e/apps/data/fdroid/FdroidApiInterface.kt
index b0e6fccf7b89fb3f6203083e57da8e9c1b26ba5e..0480873f13dbdd22f8cb35482510aba7f32194eb 100644
--- a/app/src/main/java/foundation/e/apps/api/fdroid/FdroidApiInterface.kt
+++ b/app/src/main/java/foundation/e/apps/data/fdroid/FdroidApiInterface.kt
@@ -1,13 +1,13 @@
-package foundation.e.apps.api.fdroid
+package foundation.e.apps.data.fdroid
-import foundation.e.apps.api.fdroid.models.FdroidApiModel
+import foundation.e.apps.data.fdroid.models.FdroidApiModel
import retrofit2.Response
import retrofit2.http.GET
import retrofit2.http.Path
/**
* Interface for retrofit calls.
- * Created from [foundation.e.apps.api.cleanapk.RetrofitModule.provideFdroidApi].
+ * Created from [foundation.e.apps.data.cleanapk.RetrofitModule.provideFdroidApi].
*/
interface FdroidApiInterface {
diff --git a/app/src/main/java/foundation/e/apps/api/fdroid/FdroidDao.kt b/app/src/main/java/foundation/e/apps/data/fdroid/FdroidDao.kt
similarity index 85%
rename from app/src/main/java/foundation/e/apps/api/fdroid/FdroidDao.kt
rename to app/src/main/java/foundation/e/apps/data/fdroid/FdroidDao.kt
index e08cc5c374f8c23e21cb175ec4ff0a90d7b1a614..19576d5ea777d4df66fd3bfb158242199fcffbf4 100644
--- a/app/src/main/java/foundation/e/apps/api/fdroid/FdroidDao.kt
+++ b/app/src/main/java/foundation/e/apps/data/fdroid/FdroidDao.kt
@@ -1,10 +1,10 @@
-package foundation.e.apps.api.fdroid
+package foundation.e.apps.data.fdroid
import androidx.room.Dao
import androidx.room.Insert
import androidx.room.OnConflictStrategy
import androidx.room.Query
-import foundation.e.apps.api.fdroid.models.FdroidEntity
+import foundation.e.apps.data.fdroid.models.FdroidEntity
/**
* Dao interface for storing Fdroid info in DB.
diff --git a/app/src/main/java/foundation/e/apps/api/fdroid/FdroidRepository.kt b/app/src/main/java/foundation/e/apps/data/fdroid/FdroidRepository.kt
similarity index 87%
rename from app/src/main/java/foundation/e/apps/api/fdroid/FdroidRepository.kt
rename to app/src/main/java/foundation/e/apps/data/fdroid/FdroidRepository.kt
index 99ee0f1e762ec8205627b18af0a58b16fed5a5ef..fe2b08f0eed68d74586f76e064ac83ca9295db23 100644
--- a/app/src/main/java/foundation/e/apps/api/fdroid/FdroidRepository.kt
+++ b/app/src/main/java/foundation/e/apps/data/fdroid/FdroidRepository.kt
@@ -1,11 +1,11 @@
-package foundation.e.apps.api.fdroid
+package foundation.e.apps.data.fdroid
import android.content.Context
-import foundation.e.apps.api.cleanapk.ApkSignatureManager
-import foundation.e.apps.api.fdroid.models.BuildInfo
-import foundation.e.apps.api.fdroid.models.FdroidEntity
-import foundation.e.apps.api.fused.data.FusedApp
-import foundation.e.apps.utils.enums.Origin
+import foundation.e.apps.data.cleanapk.ApkSignatureManager
+import foundation.e.apps.data.enums.Origin
+import foundation.e.apps.data.fdroid.models.BuildInfo
+import foundation.e.apps.data.fdroid.models.FdroidEntity
+import foundation.e.apps.data.fused.data.FusedApp
import javax.inject.Inject
import javax.inject.Singleton
diff --git a/app/src/main/java/foundation/e/apps/api/fdroid/FdroidWebInterface.kt b/app/src/main/java/foundation/e/apps/data/fdroid/FdroidWebInterface.kt
similarity index 96%
rename from app/src/main/java/foundation/e/apps/api/fdroid/FdroidWebInterface.kt
rename to app/src/main/java/foundation/e/apps/data/fdroid/FdroidWebInterface.kt
index 14047877eb3c6f2321109ad0ccbe380ae0e297e2..0d3917ec7f689c23fedfe688acfe5b7ffa30032a 100644
--- a/app/src/main/java/foundation/e/apps/api/fdroid/FdroidWebInterface.kt
+++ b/app/src/main/java/foundation/e/apps/data/fdroid/FdroidWebInterface.kt
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.fdroid
+package foundation.e.apps.data.fdroid
import okhttp3.ResponseBody
import retrofit2.Response
diff --git a/app/src/main/java/foundation/e/apps/api/fdroid/IFdroidRepository.kt b/app/src/main/java/foundation/e/apps/data/fdroid/IFdroidRepository.kt
similarity index 90%
rename from app/src/main/java/foundation/e/apps/api/fdroid/IFdroidRepository.kt
rename to app/src/main/java/foundation/e/apps/data/fdroid/IFdroidRepository.kt
index 2e18be4cf5f98044f53051857cd66c075726b6af..d93926d5eda265e55c4a10a80ad6d540006c2626 100644
--- a/app/src/main/java/foundation/e/apps/api/fdroid/IFdroidRepository.kt
+++ b/app/src/main/java/foundation/e/apps/data/fdroid/IFdroidRepository.kt
@@ -16,11 +16,11 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.fdroid
+package foundation.e.apps.data.fdroid
import android.content.Context
-import foundation.e.apps.api.fdroid.models.FdroidEntity
-import foundation.e.apps.api.fused.data.FusedApp
+import foundation.e.apps.data.fdroid.models.FdroidEntity
+import foundation.e.apps.data.fused.data.FusedApp
interface IFdroidRepository {
/**
diff --git a/app/src/main/java/foundation/e/apps/api/fdroid/models/BuildInfo.kt b/app/src/main/java/foundation/e/apps/data/fdroid/models/BuildInfo.kt
similarity index 96%
rename from app/src/main/java/foundation/e/apps/api/fdroid/models/BuildInfo.kt
rename to app/src/main/java/foundation/e/apps/data/fdroid/models/BuildInfo.kt
index b574a7b9efe0547cd317044eaccd4aa492f85240..6b70811d66e19509bfa0941ff19d0a7d0e741e33 100644
--- a/app/src/main/java/foundation/e/apps/api/fdroid/models/BuildInfo.kt
+++ b/app/src/main/java/foundation/e/apps/data/fdroid/models/BuildInfo.kt
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.fdroid.models
+package foundation.e.apps.data.fdroid.models
import com.fasterxml.jackson.annotation.JsonCreator
import com.fasterxml.jackson.annotation.JsonIgnoreProperties
diff --git a/app/src/main/java/foundation/e/apps/api/fdroid/models/FdroidApiModel.kt b/app/src/main/java/foundation/e/apps/data/fdroid/models/FdroidApiModel.kt
similarity index 96%
rename from app/src/main/java/foundation/e/apps/api/fdroid/models/FdroidApiModel.kt
rename to app/src/main/java/foundation/e/apps/data/fdroid/models/FdroidApiModel.kt
index e25eece5918425c7a0eabd51a2755238a2a758e2..172bb88023cefe35f5ad594a338714503ff2e5ee 100644
--- a/app/src/main/java/foundation/e/apps/api/fdroid/models/FdroidApiModel.kt
+++ b/app/src/main/java/foundation/e/apps/data/fdroid/models/FdroidApiModel.kt
@@ -1,4 +1,4 @@
-package foundation.e.apps.api.fdroid.models
+package foundation.e.apps.data.fdroid.models
import com.fasterxml.jackson.annotation.JsonCreator
import com.fasterxml.jackson.annotation.JsonIgnoreProperties
diff --git a/app/src/main/java/foundation/e/apps/api/fdroid/models/FdroidEntity.kt b/app/src/main/java/foundation/e/apps/data/fdroid/models/FdroidEntity.kt
similarity index 91%
rename from app/src/main/java/foundation/e/apps/api/fdroid/models/FdroidEntity.kt
rename to app/src/main/java/foundation/e/apps/data/fdroid/models/FdroidEntity.kt
index 88f1a36632d5e66d578ac58f88d9502ff5a95315..ee89a2cdb7354ccd1ba63bf13a6213030843e293 100644
--- a/app/src/main/java/foundation/e/apps/api/fdroid/models/FdroidEntity.kt
+++ b/app/src/main/java/foundation/e/apps/data/fdroid/models/FdroidEntity.kt
@@ -1,4 +1,4 @@
-package foundation.e.apps.api.fdroid.models
+package foundation.e.apps.data.fdroid.models
import androidx.room.Entity
import androidx.room.PrimaryKey
diff --git a/app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt b/app/src/main/java/foundation/e/apps/data/fused/FusedAPIImpl.kt
similarity index 94%
rename from app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt
rename to app/src/main/java/foundation/e/apps/data/fused/FusedAPIImpl.kt
index 6cc7b55a8e4120acb25d033ecfa128a4a9c40add..db60c4d7ad70309b34b0e3d442901afa952c84c8 100644
--- a/app/src/main/java/foundation/e/apps/api/fused/FusedAPIImpl.kt
+++ b/app/src/main/java/foundation/e/apps/data/fused/FusedAPIImpl.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.fused
+package foundation.e.apps.data.fused
import android.content.Context
import android.text.format.Formatter
@@ -33,37 +33,37 @@ import com.aurora.gplayapi.data.models.StreamBundle
import com.aurora.gplayapi.data.models.StreamCluster
import dagger.hilt.android.qualifiers.ApplicationContext
import foundation.e.apps.R
-import foundation.e.apps.api.ResultSupreme
-import foundation.e.apps.api.cleanapk.CleanApkDownloadInfoFetcher
-import foundation.e.apps.api.cleanapk.CleanApkRepository
-import foundation.e.apps.api.cleanapk.CleanApkRetrofit
-import foundation.e.apps.api.cleanapk.data.app.Application
-import foundation.e.apps.api.cleanapk.data.categories.Categories
-import foundation.e.apps.api.cleanapk.data.home.Home
-import foundation.e.apps.api.cleanapk.data.home.HomeScreen
-import foundation.e.apps.api.cleanapk.data.search.Search
-import foundation.e.apps.api.fdroid.FdroidWebInterface
-import foundation.e.apps.api.fused.data.FusedApp
-import foundation.e.apps.api.fused.data.FusedCategory
-import foundation.e.apps.api.fused.data.FusedHome
-import foundation.e.apps.api.fused.data.Ratings
-import foundation.e.apps.api.fused.utils.CategoryType
-import foundation.e.apps.api.fused.utils.CategoryUtils
-import foundation.e.apps.api.gplay.GplayStoreRepository
-import foundation.e.apps.home.model.HomeChildFusedAppDiffUtil
-import foundation.e.apps.manager.database.fusedDownload.FusedDownload
-import foundation.e.apps.manager.pkg.PkgManagerModule
-import foundation.e.apps.utils.Constants.timeoutDurationInMillis
-import foundation.e.apps.utils.enums.AppTag
-import foundation.e.apps.utils.enums.FilterLevel
-import foundation.e.apps.utils.enums.Origin
-import foundation.e.apps.utils.enums.ResultStatus
-import foundation.e.apps.utils.enums.Source
-import foundation.e.apps.utils.enums.Status
-import foundation.e.apps.utils.enums.Type
-import foundation.e.apps.utils.enums.isUnFiltered
-import foundation.e.apps.utils.modules.PWAManagerModule
-import foundation.e.apps.utils.modules.PreferenceManagerModule
+import foundation.e.apps.data.Constants.timeoutDurationInMillis
+import foundation.e.apps.data.ResultSupreme
+import foundation.e.apps.data.cleanapk.CleanApkDownloadInfoFetcher
+import foundation.e.apps.data.cleanapk.CleanApkRetrofit
+import foundation.e.apps.data.cleanapk.data.app.Application
+import foundation.e.apps.data.cleanapk.data.categories.Categories
+import foundation.e.apps.data.cleanapk.data.home.Home
+import foundation.e.apps.data.cleanapk.data.home.HomeScreen
+import foundation.e.apps.data.cleanapk.data.search.Search
+import foundation.e.apps.data.cleanapk.repositories.CleanApkRepository
+import foundation.e.apps.data.enums.AppTag
+import foundation.e.apps.data.enums.FilterLevel
+import foundation.e.apps.data.enums.Origin
+import foundation.e.apps.data.enums.ResultStatus
+import foundation.e.apps.data.enums.Source
+import foundation.e.apps.data.enums.Status
+import foundation.e.apps.data.enums.Type
+import foundation.e.apps.data.enums.isUnFiltered
+import foundation.e.apps.data.fdroid.FdroidWebInterface
+import foundation.e.apps.data.fused.data.FusedApp
+import foundation.e.apps.data.fused.data.FusedCategory
+import foundation.e.apps.data.fused.data.FusedHome
+import foundation.e.apps.data.fused.data.Ratings
+import foundation.e.apps.data.fused.utils.CategoryType
+import foundation.e.apps.data.fused.utils.CategoryUtils
+import foundation.e.apps.data.fusedDownload.models.FusedDownload
+import foundation.e.apps.data.gplay.GplayStoreRepository
+import foundation.e.apps.data.preference.PreferenceManagerModule
+import foundation.e.apps.install.pkg.PWAManagerModule
+import foundation.e.apps.install.pkg.PkgManagerModule
+import foundation.e.apps.ui.home.model.HomeChildFusedAppDiffUtil
import kotlinx.coroutines.Deferred
import kotlinx.coroutines.TimeoutCancellationException
import kotlinx.coroutines.async
diff --git a/app/src/main/java/foundation/e/apps/api/fused/FusedAPIInterface.kt b/app/src/main/java/foundation/e/apps/data/fused/FusedAPIInterface.kt
similarity index 89%
rename from app/src/main/java/foundation/e/apps/api/fused/FusedAPIInterface.kt
rename to app/src/main/java/foundation/e/apps/data/fused/FusedAPIInterface.kt
index 9b18836edb10c9a4bfdaff4a26b1c09aadf0a7f9..c60312deb89efbc859aff50596309ac23e5e7930 100644
--- a/app/src/main/java/foundation/e/apps/api/fused/FusedAPIInterface.kt
+++ b/app/src/main/java/foundation/e/apps/data/fused/FusedAPIInterface.kt
@@ -16,10 +16,10 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.fused
+package foundation.e.apps.data.fused
import android.widget.ImageView
-import foundation.e.apps.api.fused.data.FusedApp
+import foundation.e.apps.data.fused.data.FusedApp
/**
* FusedAPIInterface to allow adapter classes to install applications easily
diff --git a/app/src/main/java/foundation/e/apps/api/fused/FusedAPIRepository.kt b/app/src/main/java/foundation/e/apps/data/fused/FusedAPIRepository.kt
similarity index 94%
rename from app/src/main/java/foundation/e/apps/api/fused/FusedAPIRepository.kt
rename to app/src/main/java/foundation/e/apps/data/fused/FusedAPIRepository.kt
index 4af6c8c3c2e09e2531cb81191e0d7c004a8d03b8..220bf137b295ecd4272e3e9e2955f9c1330836b4 100644
--- a/app/src/main/java/foundation/e/apps/api/fused/FusedAPIRepository.kt
+++ b/app/src/main/java/foundation/e/apps/data/fused/FusedAPIRepository.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.fused
+package foundation.e.apps.data.fused
import androidx.lifecycle.LiveData
import com.aurora.gplayapi.SearchSuggestEntry
@@ -24,16 +24,16 @@ import com.aurora.gplayapi.data.models.App
import com.aurora.gplayapi.data.models.AuthData
import com.aurora.gplayapi.data.models.StreamBundle
import com.aurora.gplayapi.data.models.StreamCluster
-import foundation.e.apps.api.ResultSupreme
-import foundation.e.apps.api.fused.data.FusedApp
-import foundation.e.apps.api.fused.data.FusedCategory
-import foundation.e.apps.api.fused.data.FusedHome
-import foundation.e.apps.api.fused.utils.CategoryType
-import foundation.e.apps.manager.database.fusedDownload.FusedDownload
-import foundation.e.apps.utils.enums.FilterLevel
-import foundation.e.apps.utils.enums.Origin
-import foundation.e.apps.utils.enums.ResultStatus
-import foundation.e.apps.utils.enums.Status
+import foundation.e.apps.data.ResultSupreme
+import foundation.e.apps.data.enums.FilterLevel
+import foundation.e.apps.data.enums.Origin
+import foundation.e.apps.data.enums.ResultStatus
+import foundation.e.apps.data.enums.Status
+import foundation.e.apps.data.fused.data.FusedApp
+import foundation.e.apps.data.fused.data.FusedCategory
+import foundation.e.apps.data.fused.data.FusedHome
+import foundation.e.apps.data.fused.utils.CategoryType
+import foundation.e.apps.data.fusedDownload.models.FusedDownload
import javax.inject.Inject
import javax.inject.Singleton
diff --git a/app/src/main/java/foundation/e/apps/api/fused/UpdatesDao.kt b/app/src/main/java/foundation/e/apps/data/fused/UpdatesDao.kt
similarity index 91%
rename from app/src/main/java/foundation/e/apps/api/fused/UpdatesDao.kt
rename to app/src/main/java/foundation/e/apps/data/fused/UpdatesDao.kt
index 30e989c2da776c121d3f80fdd7ba63034b4489ce..65e5edc9f34170f4758aa24eb0f7b885c3dc5795 100644
--- a/app/src/main/java/foundation/e/apps/api/fused/UpdatesDao.kt
+++ b/app/src/main/java/foundation/e/apps/data/fused/UpdatesDao.kt
@@ -15,10 +15,10 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.fused
+package foundation.e.apps.data.fused
-import foundation.e.apps.api.fused.data.FusedApp
-import foundation.e.apps.manager.database.fusedDownload.FusedDownload
+import foundation.e.apps.data.fused.data.FusedApp
+import foundation.e.apps.data.fusedDownload.models.FusedDownload
object UpdatesDao {
private val _appsAwaitingForUpdate: MutableList = mutableListOf()
diff --git a/app/src/main/java/foundation/e/apps/api/fused/data/FusedApp.kt b/app/src/main/java/foundation/e/apps/data/fused/data/FusedApp.kt
similarity index 89%
rename from app/src/main/java/foundation/e/apps/api/fused/data/FusedApp.kt
rename to app/src/main/java/foundation/e/apps/data/fused/data/FusedApp.kt
index 410a237e266c3c884662741cf7418568d6dfd58d..bda41824037e99dd86dd7e66bc1bdce33cccf325 100644
--- a/app/src/main/java/foundation/e/apps/api/fused/data/FusedApp.kt
+++ b/app/src/main/java/foundation/e/apps/data/fused/data/FusedApp.kt
@@ -16,14 +16,14 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.fused.data
+package foundation.e.apps.data.fused.data
import com.aurora.gplayapi.Constants.Restriction
-import foundation.e.apps.utils.enums.FilterLevel
-import foundation.e.apps.utils.enums.Origin
-import foundation.e.apps.utils.enums.Status
-import foundation.e.apps.utils.enums.Type
-import foundation.e.apps.utils.modules.CommonUtilsModule.LIST_OF_NULL
+import foundation.e.apps.data.enums.FilterLevel
+import foundation.e.apps.data.enums.Origin
+import foundation.e.apps.data.enums.Status
+import foundation.e.apps.data.enums.Type
+import foundation.e.apps.di.CommonUtilsModule.LIST_OF_NULL
data class FusedApp(
val _id: String = String(),
diff --git a/app/src/main/java/foundation/e/apps/api/fused/data/FusedCategory.kt b/app/src/main/java/foundation/e/apps/data/fused/data/FusedCategory.kt
similarity index 90%
rename from app/src/main/java/foundation/e/apps/api/fused/data/FusedCategory.kt
rename to app/src/main/java/foundation/e/apps/data/fused/data/FusedCategory.kt
index e64d4dd6b397f35eca2cf871e8eea4beb37ed844..13a24cb5c315755d38c0ee73ab3197b4fad0760c 100644
--- a/app/src/main/java/foundation/e/apps/api/fused/data/FusedCategory.kt
+++ b/app/src/main/java/foundation/e/apps/data/fused/data/FusedCategory.kt
@@ -16,9 +16,9 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.fused.data
+package foundation.e.apps.data.fused.data
-import foundation.e.apps.utils.enums.AppTag
+import foundation.e.apps.data.enums.AppTag
import java.util.UUID
data class FusedCategory(
diff --git a/app/src/main/java/foundation/e/apps/api/fused/data/FusedHome.kt b/app/src/main/java/foundation/e/apps/data/fused/data/FusedHome.kt
similarity index 93%
rename from app/src/main/java/foundation/e/apps/api/fused/data/FusedHome.kt
rename to app/src/main/java/foundation/e/apps/data/fused/data/FusedHome.kt
index 1cb8cf996b2872a72bab3016b8a4d80dac5903d2..e876c3be083ab04b6310f52551d72937320b6192 100644
--- a/app/src/main/java/foundation/e/apps/api/fused/data/FusedHome.kt
+++ b/app/src/main/java/foundation/e/apps/data/fused/data/FusedHome.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.fused.data
+package foundation.e.apps.data.fused.data
data class FusedHome(
val title: String = String(),
diff --git a/app/src/main/java/foundation/e/apps/api/fused/data/Ratings.kt b/app/src/main/java/foundation/e/apps/data/fused/data/Ratings.kt
similarity index 92%
rename from app/src/main/java/foundation/e/apps/api/fused/data/Ratings.kt
rename to app/src/main/java/foundation/e/apps/data/fused/data/Ratings.kt
index 7292f15e948992233da054ce5c42208b08dbd253..29f5bc87a4846bfb15e8afc8ef093b7d5c3b48cc 100644
--- a/app/src/main/java/foundation/e/apps/api/fused/data/Ratings.kt
+++ b/app/src/main/java/foundation/e/apps/data/fused/data/Ratings.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.fused.data
+package foundation.e.apps.data.fused.data
data class Ratings(
val privacyScore: Double = -1.0,
diff --git a/app/src/main/java/foundation/e/apps/api/fused/utils/CategoryUtils.kt b/app/src/main/java/foundation/e/apps/data/fused/utils/CategoryUtils.kt
similarity index 96%
rename from app/src/main/java/foundation/e/apps/api/fused/utils/CategoryUtils.kt
rename to app/src/main/java/foundation/e/apps/data/fused/utils/CategoryUtils.kt
index 8b203a6b71eae0fe47e528cdb4a75a0213545e5b..5e31be48b0e85b1573300ffb1ff34b59d358842d 100644
--- a/app/src/main/java/foundation/e/apps/api/fused/utils/CategoryUtils.kt
+++ b/app/src/main/java/foundation/e/apps/data/fused/utils/CategoryUtils.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.fused.utils
+package foundation.e.apps.data.fused.utils
import foundation.e.apps.R
diff --git a/app/src/main/java/foundation/e/apps/manager/fused/FileManager.kt b/app/src/main/java/foundation/e/apps/data/fusedDownload/FileManager.kt
similarity index 96%
rename from app/src/main/java/foundation/e/apps/manager/fused/FileManager.kt
rename to app/src/main/java/foundation/e/apps/data/fusedDownload/FileManager.kt
index 209d770523bb65dc869f2945c78861517ec039cb..63ff614d0b55ea5b4bb67f256d9f7c325a3995cc 100644
--- a/app/src/main/java/foundation/e/apps/manager/fused/FileManager.kt
+++ b/app/src/main/java/foundation/e/apps/data/fusedDownload/FileManager.kt
@@ -1,4 +1,4 @@
-package foundation.e.apps.manager.fused
+package foundation.e.apps.data.fusedDownload
import timber.log.Timber
import java.io.File
diff --git a/app/src/main/java/foundation/e/apps/manager/database/fusedDownload/FusedDownloadDAO.kt b/app/src/main/java/foundation/e/apps/data/fusedDownload/FusedDownloadDAO.kt
similarity index 86%
rename from app/src/main/java/foundation/e/apps/manager/database/fusedDownload/FusedDownloadDAO.kt
rename to app/src/main/java/foundation/e/apps/data/fusedDownload/FusedDownloadDAO.kt
index a5311262b6bfdfe126e528145765f4fe7d844afd..02b3fbfeba8d81020a9ac7d65658ed89da334a0a 100644
--- a/app/src/main/java/foundation/e/apps/manager/database/fusedDownload/FusedDownloadDAO.kt
+++ b/app/src/main/java/foundation/e/apps/data/fusedDownload/FusedDownloadDAO.kt
@@ -1,4 +1,4 @@
-package foundation.e.apps.manager.database.fusedDownload
+package foundation.e.apps.data.fusedDownload
import androidx.lifecycle.LiveData
import androidx.room.Dao
@@ -7,6 +7,7 @@ import androidx.room.Insert
import androidx.room.OnConflictStrategy
import androidx.room.Query
import androidx.room.Update
+import foundation.e.apps.data.fusedDownload.models.FusedDownload
@Dao
interface FusedDownloadDAO {
diff --git a/app/src/main/java/foundation/e/apps/manager/database/DatabaseRepository.kt b/app/src/main/java/foundation/e/apps/data/fusedDownload/FusedDownloadRepository.kt
similarity index 83%
rename from app/src/main/java/foundation/e/apps/manager/database/DatabaseRepository.kt
rename to app/src/main/java/foundation/e/apps/data/fusedDownload/FusedDownloadRepository.kt
index bc2614918db4b15b86e1f4176de19f7f7cc65a7c..b15dc8cd4c61d424fe96d1692d5c172131a0489e 100644
--- a/app/src/main/java/foundation/e/apps/manager/database/DatabaseRepository.kt
+++ b/app/src/main/java/foundation/e/apps/data/fusedDownload/FusedDownloadRepository.kt
@@ -1,10 +1,9 @@
-package foundation.e.apps.manager.database
+package foundation.e.apps.data.fusedDownload
import androidx.lifecycle.LiveData
import androidx.lifecycle.asFlow
import foundation.e.apps.OpenForTesting
-import foundation.e.apps.manager.database.fusedDownload.FusedDownload
-import foundation.e.apps.manager.database.fusedDownload.FusedDownloadDAO
+import foundation.e.apps.data.fusedDownload.models.FusedDownload
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.sync.Mutex
import kotlinx.coroutines.sync.withLock
@@ -13,7 +12,7 @@ import javax.inject.Singleton
@Singleton
@OpenForTesting
-class DatabaseRepository @Inject constructor(
+class FusedDownloadRepository @Inject constructor(
private val fusedDownloadDAO: FusedDownloadDAO
) {
diff --git a/app/src/main/java/foundation/e/apps/manager/fused/FusedManagerImpl.kt b/app/src/main/java/foundation/e/apps/data/fusedDownload/FusedManagerImpl.kt
similarity index 85%
rename from app/src/main/java/foundation/e/apps/manager/fused/FusedManagerImpl.kt
rename to app/src/main/java/foundation/e/apps/data/fusedDownload/FusedManagerImpl.kt
index 3f20b77d292ee1e739c093251b9ddbc493d159a7..863172191bb7b8a01c5a422ec9c3eed456e5b267 100644
--- a/app/src/main/java/foundation/e/apps/manager/fused/FusedManagerImpl.kt
+++ b/app/src/main/java/foundation/e/apps/data/fusedDownload/FusedManagerImpl.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.manager.fused
+package foundation.e.apps.data.fusedDownload
import android.app.DownloadManager
import android.app.NotificationChannel
@@ -29,13 +29,12 @@ import androidx.annotation.RequiresApi
import androidx.lifecycle.LiveData
import dagger.hilt.android.qualifiers.ApplicationContext
import foundation.e.apps.R
-import foundation.e.apps.manager.database.DatabaseRepository
-import foundation.e.apps.manager.database.fusedDownload.FusedDownload
-import foundation.e.apps.manager.download.data.DownloadProgressLD
-import foundation.e.apps.manager.pkg.PkgManagerModule
-import foundation.e.apps.utils.enums.Status
-import foundation.e.apps.utils.enums.Type
-import foundation.e.apps.utils.modules.PWAManagerModule
+import foundation.e.apps.data.enums.Status
+import foundation.e.apps.data.enums.Type
+import foundation.e.apps.data.fusedDownload.models.FusedDownload
+import foundation.e.apps.install.download.data.DownloadProgressLD
+import foundation.e.apps.install.pkg.PWAManagerModule
+import foundation.e.apps.install.pkg.PkgManagerModule
import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.sync.Mutex
import kotlinx.coroutines.sync.withLock
@@ -51,7 +50,7 @@ class FusedManagerImpl @Inject constructor(
@Named("cacheDir") private val cacheDir: String,
private val downloadManager: DownloadManager,
private val notificationManager: NotificationManager,
- private val databaseRepository: DatabaseRepository,
+ private val fusedDownloadRepository: FusedDownloadRepository,
private val pwaManagerModule: PWAManagerModule,
private val pkgManagerModule: PkgManagerModule,
@Named("download") private val downloadNotificationChannel: NotificationChannel,
@@ -73,24 +72,24 @@ class FusedManagerImpl @Inject constructor(
override suspend fun addDownload(fusedDownload: FusedDownload) {
fusedDownload.status = Status.QUEUED
- databaseRepository.addDownload(fusedDownload)
+ fusedDownloadRepository.addDownload(fusedDownload)
}
override suspend fun getDownloadById(fusedDownload: FusedDownload): FusedDownload? {
- return databaseRepository.getDownloadById(fusedDownload.id)
+ return fusedDownloadRepository.getDownloadById(fusedDownload.id)
}
override suspend fun getDownloadList(): List {
- return databaseRepository.getDownloadList()
+ return fusedDownloadRepository.getDownloadList()
}
override fun getDownloadLiveList(): LiveData> {
- return databaseRepository.getDownloadLiveList()
+ return fusedDownloadRepository.getDownloadLiveList()
}
override suspend fun clearInstallationIssue(fusedDownload: FusedDownload) {
flushOldDownload(fusedDownload.packageName)
- databaseRepository.deleteDownload(fusedDownload)
+ fusedDownloadRepository.deleteDownload(fusedDownload)
}
@OptIn(DelicateCoroutinesApi::class)
@@ -98,11 +97,11 @@ class FusedManagerImpl @Inject constructor(
if (status == Status.INSTALLED) {
fusedDownload.status = status
flushOldDownload(fusedDownload.packageName)
- databaseRepository.deleteDownload(fusedDownload)
+ fusedDownloadRepository.deleteDownload(fusedDownload)
} else if (status == Status.INSTALLING) {
fusedDownload.downloadIdMap.all { true }
fusedDownload.status = status
- databaseRepository.updateDownload(fusedDownload)
+ fusedDownloadRepository.updateDownload(fusedDownload)
installApp(fusedDownload)
}
}
@@ -139,7 +138,7 @@ class FusedManagerImpl @Inject constructor(
else -> {
Timber.d("Unsupported application type!")
fusedDownload.status = Status.INSTALLATION_ISSUE
- databaseRepository.updateDownload(fusedDownload)
+ fusedDownloadRepository.updateDownload(fusedDownload)
}
}
}
@@ -162,7 +161,7 @@ class FusedManagerImpl @Inject constructor(
DownloadProgressLD.setDownloadId(-1)
if (fusedDownload.status != Status.INSTALLATION_ISSUE) {
- databaseRepository.deleteDownload(fusedDownload)
+ fusedDownloadRepository.deleteDownload(fusedDownload)
}
flushOldDownload(fusedDownload.packageName)
@@ -199,7 +198,7 @@ class FusedManagerImpl @Inject constructor(
File(parentPath).mkdirs()
fusedDownload.status = Status.DOWNLOADING
- databaseRepository.updateDownload(fusedDownload)
+ fusedDownloadRepository.updateDownload(fusedDownload)
DownloadProgressLD.setDownloadId(-1)
fusedDownload.downloadURLList.forEach {
count += 1
@@ -215,7 +214,7 @@ class FusedManagerImpl @Inject constructor(
DownloadProgressLD.setDownloadId(requestId)
fusedDownload.downloadIdMap[requestId] = false
}
- databaseRepository.updateDownload(fusedDownload)
+ fusedDownloadRepository.updateDownload(fusedDownload)
}
override fun getGplayInstallationPackagePath(
@@ -263,26 +262,26 @@ class FusedManagerImpl @Inject constructor(
override suspend fun installationIssue(fusedDownload: FusedDownload) {
flushOldDownload(fusedDownload.packageName)
fusedDownload.status = Status.INSTALLATION_ISSUE
- databaseRepository.updateDownload(fusedDownload)
+ fusedDownloadRepository.updateDownload(fusedDownload)
}
override suspend fun updateAwaiting(fusedDownload: FusedDownload) {
fusedDownload.status = Status.AWAITING
- databaseRepository.updateDownload(fusedDownload)
+ fusedDownloadRepository.updateDownload(fusedDownload)
}
override suspend fun updateUnavailable(fusedDownload: FusedDownload) {
fusedDownload.status = Status.UNAVAILABLE
- databaseRepository.updateDownload(fusedDownload)
+ fusedDownloadRepository.updateDownload(fusedDownload)
}
override suspend fun updateFusedDownload(fusedDownload: FusedDownload) {
- databaseRepository.updateDownload(fusedDownload)
+ fusedDownloadRepository.updateDownload(fusedDownload)
}
override suspend fun insertFusedDownloadPurchaseNeeded(fusedDownload: FusedDownload) {
fusedDownload.status = Status.PURCHASE_NEEDED
- databaseRepository.addDownload(fusedDownload)
+ fusedDownloadRepository.addDownload(fusedDownload)
}
override fun isFusedDownloadInstalled(fusedDownload: FusedDownload): Boolean {
diff --git a/app/src/main/java/foundation/e/apps/manager/fused/FusedManagerRepository.kt b/app/src/main/java/foundation/e/apps/data/fusedDownload/FusedManagerRepository.kt
similarity index 92%
rename from app/src/main/java/foundation/e/apps/manager/fused/FusedManagerRepository.kt
rename to app/src/main/java/foundation/e/apps/data/fusedDownload/FusedManagerRepository.kt
index 9a433e9712a5c97e98e1b9df20422dbc7a798c53..7c6ad105d68c1775f04acbb7ddc62a283be76837 100644
--- a/app/src/main/java/foundation/e/apps/manager/fused/FusedManagerRepository.kt
+++ b/app/src/main/java/foundation/e/apps/data/fusedDownload/FusedManagerRepository.kt
@@ -1,4 +1,4 @@
-package foundation.e.apps.manager.fused
+package foundation.e.apps.data.fusedDownload
import android.content.Context
import android.os.Build
@@ -6,12 +6,12 @@ import androidx.annotation.RequiresApi
import androidx.lifecycle.LiveData
import androidx.lifecycle.asFlow
import foundation.e.apps.OpenForTesting
-import foundation.e.apps.api.fdroid.FdroidRepository
-import foundation.e.apps.api.fused.data.FusedApp
-import foundation.e.apps.manager.database.fusedDownload.FusedDownload
-import foundation.e.apps.manager.download.data.DownloadProgress
-import foundation.e.apps.manager.workmanager.InstallWorkManager
-import foundation.e.apps.utils.enums.Status
+import foundation.e.apps.data.enums.Status
+import foundation.e.apps.data.fdroid.FdroidRepository
+import foundation.e.apps.data.fused.data.FusedApp
+import foundation.e.apps.data.fusedDownload.models.FusedDownload
+import foundation.e.apps.install.download.data.DownloadProgress
+import foundation.e.apps.install.workmanager.InstallWorkManager
import kotlinx.coroutines.flow.Flow
import javax.inject.Inject
import javax.inject.Singleton
diff --git a/app/src/main/java/foundation/e/apps/manager/fused/IFusedManager.kt b/app/src/main/java/foundation/e/apps/data/fusedDownload/IFusedManager.kt
similarity index 94%
rename from app/src/main/java/foundation/e/apps/manager/fused/IFusedManager.kt
rename to app/src/main/java/foundation/e/apps/data/fusedDownload/IFusedManager.kt
index 4777f25827a87fc8e18c86e3a6258ef88b21b8f4..18320fe884f42c02510193e37b38174dd5a16960 100644
--- a/app/src/main/java/foundation/e/apps/manager/fused/IFusedManager.kt
+++ b/app/src/main/java/foundation/e/apps/data/fusedDownload/IFusedManager.kt
@@ -16,11 +16,11 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.manager.fused
+package foundation.e.apps.data.fusedDownload
import androidx.lifecycle.LiveData
-import foundation.e.apps.manager.database.fusedDownload.FusedDownload
-import foundation.e.apps.utils.enums.Status
+import foundation.e.apps.data.enums.Status
+import foundation.e.apps.data.fusedDownload.models.FusedDownload
import java.io.File
interface IFusedManager {
diff --git a/app/src/main/java/foundation/e/apps/manager/database/fusedDownload/FusedDownload.kt b/app/src/main/java/foundation/e/apps/data/fusedDownload/models/FusedDownload.kt
similarity index 83%
rename from app/src/main/java/foundation/e/apps/manager/database/fusedDownload/FusedDownload.kt
rename to app/src/main/java/foundation/e/apps/data/fusedDownload/models/FusedDownload.kt
index 377ad26f77c38b04ae1cdaa66f157b9dd7e8bd3f..148de9d884db83f2dea67673e22fe10ba85476ff 100644
--- a/app/src/main/java/foundation/e/apps/manager/database/fusedDownload/FusedDownload.kt
+++ b/app/src/main/java/foundation/e/apps/data/fusedDownload/models/FusedDownload.kt
@@ -1,11 +1,11 @@
-package foundation.e.apps.manager.database.fusedDownload
+package foundation.e.apps.data.fusedDownload.models
import androidx.room.Entity
import androidx.room.PrimaryKey
import com.aurora.gplayapi.data.models.File
-import foundation.e.apps.utils.enums.Origin
-import foundation.e.apps.utils.enums.Status
-import foundation.e.apps.utils.enums.Type
+import foundation.e.apps.data.enums.Origin
+import foundation.e.apps.data.enums.Status
+import foundation.e.apps.data.enums.Type
@Entity
data class FusedDownload(
diff --git a/app/src/main/java/foundation/e/apps/api/gplay/GPlayAPIImpl.kt b/app/src/main/java/foundation/e/apps/data/gplay/GPlayAPIImpl.kt
similarity index 96%
rename from app/src/main/java/foundation/e/apps/api/gplay/GPlayAPIImpl.kt
rename to app/src/main/java/foundation/e/apps/data/gplay/GPlayAPIImpl.kt
index f68b6680e00c32401ce5f2af7472c169c82a84b9..cb59857d90eaa904ec5aa2231da34ea606e6fceb 100644
--- a/app/src/main/java/foundation/e/apps/api/gplay/GPlayAPIImpl.kt
+++ b/app/src/main/java/foundation/e/apps/data/gplay/GPlayAPIImpl.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.gplay
+package foundation.e.apps.data.gplay
import androidx.lifecycle.LiveData
import androidx.lifecycle.LiveDataScope
@@ -36,8 +36,8 @@ import com.aurora.gplayapi.helpers.PurchaseHelper
import com.aurora.gplayapi.helpers.SearchHelper
import com.aurora.gplayapi.helpers.StreamHelper
import com.aurora.gplayapi.helpers.TopChartsHelper
-import foundation.e.apps.api.fused.data.FusedApp
-import foundation.e.apps.api.gplay.utils.GPlayHttpClient
+import foundation.e.apps.data.fused.data.FusedApp
+import foundation.e.apps.data.gplay.utils.GPlayHttpClient
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.supervisorScope
import kotlinx.coroutines.withContext
diff --git a/app/src/main/java/foundation/e/apps/api/gplay/GPlayAPIRepository.kt b/app/src/main/java/foundation/e/apps/data/gplay/GPlayAPIRepository.kt
similarity index 95%
rename from app/src/main/java/foundation/e/apps/api/gplay/GPlayAPIRepository.kt
rename to app/src/main/java/foundation/e/apps/data/gplay/GPlayAPIRepository.kt
index 4475cb03acf7135b2d9c3fbe5ad1bdfc9b7d9121..6e99a0a27d50dc39929cf385e0d3be24857ed113 100644
--- a/app/src/main/java/foundation/e/apps/api/gplay/GPlayAPIRepository.kt
+++ b/app/src/main/java/foundation/e/apps/data/gplay/GPlayAPIRepository.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.gplay
+package foundation.e.apps.data.gplay
import androidx.lifecycle.LiveData
import com.aurora.gplayapi.SearchSuggestEntry
@@ -27,7 +27,7 @@ import com.aurora.gplayapi.data.models.File
import com.aurora.gplayapi.data.models.StreamBundle
import com.aurora.gplayapi.data.models.StreamCluster
import com.aurora.gplayapi.helpers.TopChartsHelper
-import foundation.e.apps.api.fused.data.FusedApp
+import foundation.e.apps.data.fused.data.FusedApp
import javax.inject.Inject
class GPlayAPIRepository @Inject constructor(private val gPlayAPIImpl: GPlayAPIImpl) {
diff --git a/app/src/main/java/foundation/e/apps/api/gplay/GplayStoreRepository.kt b/app/src/main/java/foundation/e/apps/data/gplay/GplayStoreRepository.kt
similarity index 92%
rename from app/src/main/java/foundation/e/apps/api/gplay/GplayStoreRepository.kt
rename to app/src/main/java/foundation/e/apps/data/gplay/GplayStoreRepository.kt
index 65651eac00af4b5a6bbb2abb6d6fc6c680029b50..dac57f8a826a9a8d5eff9a3fa452e5d56d951fa2 100644
--- a/app/src/main/java/foundation/e/apps/api/gplay/GplayStoreRepository.kt
+++ b/app/src/main/java/foundation/e/apps/data/gplay/GplayStoreRepository.kt
@@ -16,14 +16,14 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.gplay
+package foundation.e.apps.data.gplay
import com.aurora.gplayapi.SearchSuggestEntry
import com.aurora.gplayapi.data.models.App
import com.aurora.gplayapi.data.models.Category
import com.aurora.gplayapi.data.models.File
-import foundation.e.apps.api.BaseStoreRepository
-import foundation.e.apps.api.fused.utils.CategoryType
+import foundation.e.apps.data.BaseStoreRepository
+import foundation.e.apps.data.fused.utils.CategoryType
import kotlinx.coroutines.flow.Flow
interface GplayStoreRepository : BaseStoreRepository {
diff --git a/app/src/main/java/foundation/e/apps/api/gplay/GplayStoreRepositoryImpl.kt b/app/src/main/java/foundation/e/apps/data/gplay/GplayStoreRepositoryImpl.kt
similarity index 98%
rename from app/src/main/java/foundation/e/apps/api/gplay/GplayStoreRepositoryImpl.kt
rename to app/src/main/java/foundation/e/apps/data/gplay/GplayStoreRepositoryImpl.kt
index cd9fcffce9f7d12a42bfc71ec9273beb295870ca..1eae7a423b0cbb99e8349e4b6b66a48bc44046d4 100644
--- a/app/src/main/java/foundation/e/apps/api/gplay/GplayStoreRepositoryImpl.kt
+++ b/app/src/main/java/foundation/e/apps/data/gplay/GplayStoreRepositoryImpl.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.gplay
+package foundation.e.apps.data.gplay
import android.content.Context
import com.aurora.gplayapi.SearchSuggestEntry
@@ -36,9 +36,9 @@ import com.aurora.gplayapi.helpers.StreamHelper
import com.aurora.gplayapi.helpers.TopChartsHelper
import dagger.hilt.android.qualifiers.ApplicationContext
import foundation.e.apps.R
-import foundation.e.apps.api.fused.utils.CategoryType
-import foundation.e.apps.api.gplay.utils.GPlayHttpClient
-import foundation.e.apps.login.LoginSourceRepository
+import foundation.e.apps.data.fused.utils.CategoryType
+import foundation.e.apps.data.gplay.utils.GPlayHttpClient
+import foundation.e.apps.data.login.LoginSourceRepository
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.FlowCollector
diff --git a/app/src/main/java/foundation/e/apps/api/gplay/utils/AC2DMTask.kt b/app/src/main/java/foundation/e/apps/data/gplay/utils/AC2DMTask.kt
similarity index 98%
rename from app/src/main/java/foundation/e/apps/api/gplay/utils/AC2DMTask.kt
rename to app/src/main/java/foundation/e/apps/data/gplay/utils/AC2DMTask.kt
index 9c3dc609c235b33301c31df970394dd6b684d86f..448c459044841a391aae8cc289786f8ac95a1224 100644
--- a/app/src/main/java/foundation/e/apps/api/gplay/utils/AC2DMTask.kt
+++ b/app/src/main/java/foundation/e/apps/data/gplay/utils/AC2DMTask.kt
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.gplay.utils
+package foundation.e.apps.data.gplay.utils
import com.aurora.gplayapi.data.models.PlayResponse
import okhttp3.RequestBody.Companion.toRequestBody
diff --git a/app/src/main/java/foundation/e/apps/api/gplay/utils/AC2DMUtil.kt b/app/src/main/java/foundation/e/apps/data/gplay/utils/AC2DMUtil.kt
similarity index 97%
rename from app/src/main/java/foundation/e/apps/api/gplay/utils/AC2DMUtil.kt
rename to app/src/main/java/foundation/e/apps/data/gplay/utils/AC2DMUtil.kt
index 31b70e7d0d882c624df6f72b78ab89b17ca07585..fefe386ebe49bbf46cb8548eb521b324f12b1962 100644
--- a/app/src/main/java/foundation/e/apps/api/gplay/utils/AC2DMUtil.kt
+++ b/app/src/main/java/foundation/e/apps/data/gplay/utils/AC2DMUtil.kt
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.gplay.utils
+package foundation.e.apps.data.gplay.utils
import java.util.StringTokenizer
import java.util.regex.Pattern
diff --git a/app/src/main/java/foundation/e/apps/api/gplay/utils/CustomAuthValidator.kt b/app/src/main/java/foundation/e/apps/data/gplay/utils/CustomAuthValidator.kt
similarity index 97%
rename from app/src/main/java/foundation/e/apps/api/gplay/utils/CustomAuthValidator.kt
rename to app/src/main/java/foundation/e/apps/data/gplay/utils/CustomAuthValidator.kt
index 068ffa41af81e0604bdea61d93772804a1186229..2bfb6825299f522f03cb952185b7a64275df448b 100644
--- a/app/src/main/java/foundation/e/apps/api/gplay/utils/CustomAuthValidator.kt
+++ b/app/src/main/java/foundation/e/apps/data/gplay/utils/CustomAuthValidator.kt
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.gplay.utils
+package foundation.e.apps.data.gplay.utils
import com.aurora.gplayapi.GooglePlayApi
import com.aurora.gplayapi.data.models.AuthData
diff --git a/app/src/main/java/foundation/e/apps/api/gplay/utils/EglExtensionProvider.kt b/app/src/main/java/foundation/e/apps/data/gplay/utils/EglExtensionProvider.kt
similarity index 96%
rename from app/src/main/java/foundation/e/apps/api/gplay/utils/EglExtensionProvider.kt
rename to app/src/main/java/foundation/e/apps/data/gplay/utils/EglExtensionProvider.kt
index e2f226b98c029742f0dc1fa996b42350582bb861..3b36d3d2afc919f9029568caa1849d39284ceec3 100644
--- a/app/src/main/java/foundation/e/apps/api/gplay/utils/EglExtensionProvider.kt
+++ b/app/src/main/java/foundation/e/apps/data/gplay/utils/EglExtensionProvider.kt
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.gplay.utils
+package foundation.e.apps.data.gplay.utils
import android.opengl.GLES10
import android.text.TextUtils
diff --git a/app/src/main/java/foundation/e/apps/api/gplay/utils/GPlayHttpClient.kt b/app/src/main/java/foundation/e/apps/data/gplay/utils/GPlayHttpClient.kt
similarity index 94%
rename from app/src/main/java/foundation/e/apps/api/gplay/utils/GPlayHttpClient.kt
rename to app/src/main/java/foundation/e/apps/data/gplay/utils/GPlayHttpClient.kt
index 9876fa4d1fa3c46b39fe846cfd1b4b4d9897b1b9..1ad5e201b922336f397e346af768a2b39ea13ec8 100644
--- a/app/src/main/java/foundation/e/apps/api/gplay/utils/GPlayHttpClient.kt
+++ b/app/src/main/java/foundation/e/apps/data/gplay/utils/GPlayHttpClient.kt
@@ -17,14 +17,14 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.gplay.utils
+package foundation.e.apps.data.gplay.utils
import com.aurora.gplayapi.data.models.PlayResponse
import com.aurora.gplayapi.network.IHttpClient
-import foundation.e.apps.login.AuthObject
+import foundation.e.apps.data.login.AuthObject
+import foundation.e.apps.utils.CommonUtilsFunctions
import foundation.e.apps.utils.eventBus.AppEvent
import foundation.e.apps.utils.eventBus.EventBus
-import foundation.e.apps.utils.modules.CommonUtilsFunctions
import kotlinx.coroutines.MainScope
import kotlinx.coroutines.launch
import okhttp3.Cache
diff --git a/app/src/main/java/foundation/e/apps/api/gplay/utils/NativeDeviceInfoProviderModule.kt b/app/src/main/java/foundation/e/apps/data/gplay/utils/NativeDeviceInfoProviderModule.kt
similarity index 96%
rename from app/src/main/java/foundation/e/apps/api/gplay/utils/NativeDeviceInfoProviderModule.kt
rename to app/src/main/java/foundation/e/apps/data/gplay/utils/NativeDeviceInfoProviderModule.kt
index 552b7c2e1897e8ff19272b025076538e0440053c..53a70ff9359eeb5f3cc6fe5389c829051af43967 100644
--- a/app/src/main/java/foundation/e/apps/api/gplay/utils/NativeDeviceInfoProviderModule.kt
+++ b/app/src/main/java/foundation/e/apps/data/gplay/utils/NativeDeviceInfoProviderModule.kt
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.gplay.utils
+package foundation.e.apps.data.gplay.utils
import android.app.ActivityManager
import android.content.Context
diff --git a/app/src/main/java/foundation/e/apps/api/gplay/utils/NativeGsfVersionProvider.kt b/app/src/main/java/foundation/e/apps/data/gplay/utils/NativeGsfVersionProvider.kt
similarity index 96%
rename from app/src/main/java/foundation/e/apps/api/gplay/utils/NativeGsfVersionProvider.kt
rename to app/src/main/java/foundation/e/apps/data/gplay/utils/NativeGsfVersionProvider.kt
index 590df58ce9524f469a2ed74312fd9c415ddd8218..40ab7b2fc83cdfb8a0526abe4a92deb3987fc3e9 100644
--- a/app/src/main/java/foundation/e/apps/api/gplay/utils/NativeGsfVersionProvider.kt
+++ b/app/src/main/java/foundation/e/apps/data/gplay/utils/NativeGsfVersionProvider.kt
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.api.gplay.utils
+package foundation.e.apps.data.gplay.utils
import android.content.Context
import android.content.pm.PackageManager
diff --git a/app/src/main/java/foundation/e/apps/login/AuthDataValidator.kt b/app/src/main/java/foundation/e/apps/data/login/AuthDataValidator.kt
similarity index 91%
rename from app/src/main/java/foundation/e/apps/login/AuthDataValidator.kt
rename to app/src/main/java/foundation/e/apps/data/login/AuthDataValidator.kt
index 029558a3e8747a39f12e2bfd4bc50be657fa9aa4..908fe70b5fde7e63ef2f2e33bd6ba495b7c0b109 100644
--- a/app/src/main/java/foundation/e/apps/login/AuthDataValidator.kt
+++ b/app/src/main/java/foundation/e/apps/data/login/AuthDataValidator.kt
@@ -16,10 +16,10 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.login
+package foundation.e.apps.data.login
import com.aurora.gplayapi.data.models.AuthData
-import foundation.e.apps.api.ResultSupreme
+import foundation.e.apps.data.ResultSupreme
interface AuthDataValidator {
suspend fun validateAuthData(): ResultSupreme
diff --git a/app/src/main/java/foundation/e/apps/login/AuthObject.kt b/app/src/main/java/foundation/e/apps/data/login/AuthObject.kt
similarity index 88%
rename from app/src/main/java/foundation/e/apps/login/AuthObject.kt
rename to app/src/main/java/foundation/e/apps/data/login/AuthObject.kt
index f08ca43a88dc4d24efcb469449f7661c34372641..e63f051de5d8438b1bd1ed2b3845ed4c5aeafb21 100644
--- a/app/src/main/java/foundation/e/apps/login/AuthObject.kt
+++ b/app/src/main/java/foundation/e/apps/data/login/AuthObject.kt
@@ -15,14 +15,14 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.login
+package foundation.e.apps.data.login
import com.aurora.gplayapi.data.models.AuthData
-import foundation.e.apps.api.ResultSupreme
-import foundation.e.apps.login.AuthObject.GPlayAuth
-import foundation.e.apps.utils.enums.User
-import foundation.e.apps.utils.exceptions.CleanApkException
-import foundation.e.apps.utils.exceptions.GPlayValidationException
+import foundation.e.apps.data.ResultSupreme
+import foundation.e.apps.data.enums.User
+import foundation.e.apps.data.login.AuthObject.GPlayAuth
+import foundation.e.apps.data.login.exceptions.CleanApkException
+import foundation.e.apps.data.login.exceptions.GPlayValidationException
/**
* Auth objects define which sources data is to be loaded from, for each source, also provides
diff --git a/app/src/main/java/foundation/e/apps/login/LoginCommon.kt b/app/src/main/java/foundation/e/apps/data/login/LoginCommon.kt
similarity index 94%
rename from app/src/main/java/foundation/e/apps/login/LoginCommon.kt
rename to app/src/main/java/foundation/e/apps/data/login/LoginCommon.kt
index e17d0997b765a825f987ccac73dc20b192f13de0..6f3646153fe5f95eb612fe6af00d4692df8e0d51 100644
--- a/app/src/main/java/foundation/e/apps/login/LoginCommon.kt
+++ b/app/src/main/java/foundation/e/apps/data/login/LoginCommon.kt
@@ -15,10 +15,10 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.login
+package foundation.e.apps.data.login
-import foundation.e.apps.utils.Constants
-import foundation.e.apps.utils.enums.User
+import foundation.e.apps.data.Constants
+import foundation.e.apps.data.enums.User
import javax.inject.Inject
import javax.inject.Singleton
diff --git a/app/src/main/java/foundation/e/apps/login/LoginDataStore.kt b/app/src/main/java/foundation/e/apps/data/login/LoginDataStore.kt
similarity index 94%
rename from app/src/main/java/foundation/e/apps/login/LoginDataStore.kt
rename to app/src/main/java/foundation/e/apps/data/login/LoginDataStore.kt
index 1d544a0f71d010f21b4432931fb55cceed47304a..468cbc667fc4df06e96b5c2457ff6134179df1ae 100644
--- a/app/src/main/java/foundation/e/apps/login/LoginDataStore.kt
+++ b/app/src/main/java/foundation/e/apps/data/login/LoginDataStore.kt
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.login
+package foundation.e.apps.data.login
import android.content.Context
import androidx.datastore.preferences.core.edit
@@ -24,11 +24,11 @@ import androidx.preference.PreferenceManager
import com.aurora.gplayapi.data.models.AuthData
import com.google.gson.Gson
import dagger.hilt.android.qualifiers.ApplicationContext
-import foundation.e.apps.utils.Constants.PREFERENCE_SHOW_FOSS
-import foundation.e.apps.utils.Constants.PREFERENCE_SHOW_GPLAY
-import foundation.e.apps.utils.Constants.PREFERENCE_SHOW_PWA
-import foundation.e.apps.utils.enums.User
-import foundation.e.apps.utils.modules.DataStoreModule.Companion.dataStore
+import foundation.e.apps.data.Constants.PREFERENCE_SHOW_FOSS
+import foundation.e.apps.data.Constants.PREFERENCE_SHOW_GPLAY
+import foundation.e.apps.data.Constants.PREFERENCE_SHOW_PWA
+import foundation.e.apps.data.enums.User
+import foundation.e.apps.data.preference.DataStoreModule.Companion.dataStore
import kotlinx.coroutines.flow.first
import kotlinx.coroutines.flow.map
import kotlinx.coroutines.runBlocking
diff --git a/app/src/main/java/foundation/e/apps/login/LoginSourceCleanApk.kt b/app/src/main/java/foundation/e/apps/data/login/LoginSourceCleanApk.kt
similarity index 92%
rename from app/src/main/java/foundation/e/apps/login/LoginSourceCleanApk.kt
rename to app/src/main/java/foundation/e/apps/data/login/LoginSourceCleanApk.kt
index 2b8f4eadc37fdd213601d43fbe82a15c798c8022..a5f49569b99a62e1a9bcea1b506a42ddb09a78d1 100644
--- a/app/src/main/java/foundation/e/apps/login/LoginSourceCleanApk.kt
+++ b/app/src/main/java/foundation/e/apps/data/login/LoginSourceCleanApk.kt
@@ -15,10 +15,10 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.login
+package foundation.e.apps.data.login
-import foundation.e.apps.api.ResultSupreme
-import foundation.e.apps.utils.enums.User
+import foundation.e.apps.data.ResultSupreme
+import foundation.e.apps.data.enums.User
import javax.inject.Inject
import javax.inject.Singleton
diff --git a/app/src/main/java/foundation/e/apps/login/LoginSourceGPlay.kt b/app/src/main/java/foundation/e/apps/data/login/LoginSourceGPlay.kt
similarity index 94%
rename from app/src/main/java/foundation/e/apps/login/LoginSourceGPlay.kt
rename to app/src/main/java/foundation/e/apps/data/login/LoginSourceGPlay.kt
index c96106aaea4afa8d081606eb589d88afd07468c4..5bb38c06013a1359e0a321daf1ca72912ac15214 100644
--- a/app/src/main/java/foundation/e/apps/login/LoginSourceGPlay.kt
+++ b/app/src/main/java/foundation/e/apps/data/login/LoginSourceGPlay.kt
@@ -15,20 +15,20 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.login
+package foundation.e.apps.data.login
import android.content.Context
import com.aurora.gplayapi.data.models.AuthData
import com.google.gson.Gson
import dagger.hilt.android.qualifiers.ApplicationContext
-import foundation.e.apps.api.ResultSupreme
-import foundation.e.apps.login.api.GPlayApiFactory
-import foundation.e.apps.login.api.GPlayLoginInterface
-import foundation.e.apps.login.api.GoogleLoginApi
-import foundation.e.apps.login.api.LoginApiRepository
-import foundation.e.apps.utils.enums.ResultStatus
-import foundation.e.apps.utils.enums.User
-import foundation.e.apps.utils.exceptions.GPlayValidationException
+import foundation.e.apps.data.ResultSupreme
+import foundation.e.apps.data.enums.ResultStatus
+import foundation.e.apps.data.enums.User
+import foundation.e.apps.data.login.api.GPlayApiFactory
+import foundation.e.apps.data.login.api.GPlayLoginInterface
+import foundation.e.apps.data.login.api.GoogleLoginApi
+import foundation.e.apps.data.login.api.LoginApiRepository
+import foundation.e.apps.data.login.exceptions.GPlayValidationException
import timber.log.Timber
import java.util.Locale
import javax.inject.Inject
diff --git a/app/src/main/java/foundation/e/apps/login/LoginSourceInterface.kt b/app/src/main/java/foundation/e/apps/data/login/LoginSourceInterface.kt
similarity index 96%
rename from app/src/main/java/foundation/e/apps/login/LoginSourceInterface.kt
rename to app/src/main/java/foundation/e/apps/data/login/LoginSourceInterface.kt
index 79250e87e52c8cca0cdbdffffca4debd6b4668e9..c4cc34ce1867cbfc8fe69b5a91bd485f9a383710 100644
--- a/app/src/main/java/foundation/e/apps/login/LoginSourceInterface.kt
+++ b/app/src/main/java/foundation/e/apps/data/login/LoginSourceInterface.kt
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.login
+package foundation.e.apps.data.login
/**
* Interface that defines what methods a login source must define.
diff --git a/app/src/main/java/foundation/e/apps/login/LoginSourceRepository.kt b/app/src/main/java/foundation/e/apps/data/login/LoginSourceRepository.kt
similarity index 94%
rename from app/src/main/java/foundation/e/apps/login/LoginSourceRepository.kt
rename to app/src/main/java/foundation/e/apps/data/login/LoginSourceRepository.kt
index 140de79e7d186c254903956d8c5dc0f09e09d51d..bbe9d7b7aeb342225f06dd47fb20e84e3261d38d 100644
--- a/app/src/main/java/foundation/e/apps/login/LoginSourceRepository.kt
+++ b/app/src/main/java/foundation/e/apps/data/login/LoginSourceRepository.kt
@@ -15,11 +15,11 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.login
+package foundation.e.apps.data.login
import com.aurora.gplayapi.data.models.AuthData
-import foundation.e.apps.api.ResultSupreme
-import foundation.e.apps.utils.enums.User
+import foundation.e.apps.data.ResultSupreme
+import foundation.e.apps.data.enums.User
import javax.inject.Inject
import javax.inject.Singleton
diff --git a/app/src/main/java/foundation/e/apps/login/LoginViewModel.kt b/app/src/main/java/foundation/e/apps/data/login/LoginViewModel.kt
similarity index 97%
rename from app/src/main/java/foundation/e/apps/login/LoginViewModel.kt
rename to app/src/main/java/foundation/e/apps/data/login/LoginViewModel.kt
index ad43bda72475b0be9bf9424fe3a29701334bfd03..25c54362e6912ddeb2618291cd1908ce94b35b01 100644
--- a/app/src/main/java/foundation/e/apps/login/LoginViewModel.kt
+++ b/app/src/main/java/foundation/e/apps/data/login/LoginViewModel.kt
@@ -15,14 +15,14 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.login
+package foundation.e.apps.data.login
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import dagger.hilt.android.lifecycle.HiltViewModel
-import foundation.e.apps.utils.enums.User
-import foundation.e.apps.utils.parentFragment.LoadingViewModel
+import foundation.e.apps.data.enums.User
+import foundation.e.apps.ui.parentFragment.LoadingViewModel
import kotlinx.coroutines.launch
import javax.inject.Inject
diff --git a/app/src/main/java/foundation/e/apps/login/api/AnonymousLoginApi.kt b/app/src/main/java/foundation/e/apps/data/login/api/AnonymousLoginApi.kt
similarity index 94%
rename from app/src/main/java/foundation/e/apps/login/api/AnonymousLoginApi.kt
rename to app/src/main/java/foundation/e/apps/data/login/api/AnonymousLoginApi.kt
index d667ad934c4de669986a200f060691f1ad91c629..edd0d15a23f00ff10b1d1fe24f5f5ef664a0c287 100644
--- a/app/src/main/java/foundation/e/apps/login/api/AnonymousLoginApi.kt
+++ b/app/src/main/java/foundation/e/apps/data/login/api/AnonymousLoginApi.kt
@@ -15,13 +15,13 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.login.api
+package foundation.e.apps.data.login.api
import com.aurora.gplayapi.data.models.AuthData
import com.aurora.gplayapi.data.models.PlayResponse
import com.google.gson.Gson
-import foundation.e.apps.api.gplay.utils.CustomAuthValidator
-import foundation.e.apps.api.gplay.utils.GPlayHttpClient
+import foundation.e.apps.data.gplay.utils.CustomAuthValidator
+import foundation.e.apps.data.gplay.utils.GPlayHttpClient
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import java.util.Properties
diff --git a/app/src/main/java/foundation/e/apps/login/api/GPlayApiFactory.kt b/app/src/main/java/foundation/e/apps/data/login/api/GPlayApiFactory.kt
similarity index 87%
rename from app/src/main/java/foundation/e/apps/login/api/GPlayApiFactory.kt
rename to app/src/main/java/foundation/e/apps/data/login/api/GPlayApiFactory.kt
index a910d525dd39ab0804274a8c1ba368a03a03d14b..4b5a71052da94b45addaea68a417c491b8776ebe 100644
--- a/app/src/main/java/foundation/e/apps/login/api/GPlayApiFactory.kt
+++ b/app/src/main/java/foundation/e/apps/data/login/api/GPlayApiFactory.kt
@@ -15,12 +15,12 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.login.api
+package foundation.e.apps.data.login.api
import com.google.gson.Gson
-import foundation.e.apps.api.gplay.utils.AC2DMTask
-import foundation.e.apps.api.gplay.utils.GPlayHttpClient
-import foundation.e.apps.utils.enums.User
+import foundation.e.apps.data.enums.User
+import foundation.e.apps.data.gplay.utils.AC2DMTask
+import foundation.e.apps.data.gplay.utils.GPlayHttpClient
import java.util.Properties
import javax.inject.Inject
import javax.inject.Singleton
diff --git a/app/src/main/java/foundation/e/apps/login/api/GPlayLoginInterface.kt b/app/src/main/java/foundation/e/apps/data/login/api/GPlayLoginInterface.kt
similarity index 95%
rename from app/src/main/java/foundation/e/apps/login/api/GPlayLoginInterface.kt
rename to app/src/main/java/foundation/e/apps/data/login/api/GPlayLoginInterface.kt
index 24b212bbcb7aa20a5c33554668eedf039b3ded91..d1159caae382bfa0a1c9687525aa97b1d39d5ad8 100644
--- a/app/src/main/java/foundation/e/apps/login/api/GPlayLoginInterface.kt
+++ b/app/src/main/java/foundation/e/apps/data/login/api/GPlayLoginInterface.kt
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.login.api
+package foundation.e.apps.data.login.api
import com.aurora.gplayapi.data.models.AuthData
import com.aurora.gplayapi.data.models.PlayResponse
diff --git a/app/src/main/java/foundation/e/apps/login/api/GoogleLoginApi.kt b/app/src/main/java/foundation/e/apps/data/login/api/GoogleLoginApi.kt
similarity index 93%
rename from app/src/main/java/foundation/e/apps/login/api/GoogleLoginApi.kt
rename to app/src/main/java/foundation/e/apps/data/login/api/GoogleLoginApi.kt
index ffcc455f8f20b36cddc29dcea2a691c700be8e99..4331d473a9f8ebe7bc170c2119ab7b9c4a882a69 100644
--- a/app/src/main/java/foundation/e/apps/login/api/GoogleLoginApi.kt
+++ b/app/src/main/java/foundation/e/apps/data/login/api/GoogleLoginApi.kt
@@ -15,14 +15,14 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.login.api
+package foundation.e.apps.data.login.api
import com.aurora.gplayapi.data.models.AuthData
import com.aurora.gplayapi.data.models.PlayResponse
import com.aurora.gplayapi.helpers.AuthHelper
-import foundation.e.apps.api.gplay.utils.AC2DMTask
-import foundation.e.apps.api.gplay.utils.CustomAuthValidator
-import foundation.e.apps.api.gplay.utils.GPlayHttpClient
+import foundation.e.apps.data.gplay.utils.AC2DMTask
+import foundation.e.apps.data.gplay.utils.CustomAuthValidator
+import foundation.e.apps.data.gplay.utils.GPlayHttpClient
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import java.util.Properties
diff --git a/app/src/main/java/foundation/e/apps/login/api/LoginApiRepository.kt b/app/src/main/java/foundation/e/apps/data/login/api/LoginApiRepository.kt
similarity index 95%
rename from app/src/main/java/foundation/e/apps/login/api/LoginApiRepository.kt
rename to app/src/main/java/foundation/e/apps/data/login/api/LoginApiRepository.kt
index fa8602834c93a3df03245bee9a51d1f1589a5917..0d2c27eca78c469d225b4c529ba8242b158872ce 100644
--- a/app/src/main/java/foundation/e/apps/login/api/LoginApiRepository.kt
+++ b/app/src/main/java/foundation/e/apps/data/login/api/LoginApiRepository.kt
@@ -15,15 +15,15 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.login.api
+package foundation.e.apps.data.login.api
import com.aurora.gplayapi.data.models.AuthData
import com.aurora.gplayapi.data.models.PlayResponse
-import foundation.e.apps.api.ResultSupreme
-import foundation.e.apps.api.gplay.utils.AC2DMUtil
-import foundation.e.apps.utils.Constants.timeoutDurationInMillis
-import foundation.e.apps.utils.enums.User
-import foundation.e.apps.utils.exceptions.GPlayLoginException
+import foundation.e.apps.data.Constants.timeoutDurationInMillis
+import foundation.e.apps.data.ResultSupreme
+import foundation.e.apps.data.enums.User
+import foundation.e.apps.data.gplay.utils.AC2DMUtil
+import foundation.e.apps.data.login.exceptions.GPlayLoginException
import kotlinx.coroutines.TimeoutCancellationException
import kotlinx.coroutines.withTimeout
import java.util.Locale
diff --git a/app/src/main/java/foundation/e/apps/utils/exceptions/CleanApkException.kt b/app/src/main/java/foundation/e/apps/data/login/exceptions/CleanApkException.kt
similarity index 94%
rename from app/src/main/java/foundation/e/apps/utils/exceptions/CleanApkException.kt
rename to app/src/main/java/foundation/e/apps/data/login/exceptions/CleanApkException.kt
index 5fed1e3a0d3c36160f0b99b0bb25846ab7fccdf2..293819914aac64751e60c5da12cf5b94caa2a5c2 100644
--- a/app/src/main/java/foundation/e/apps/utils/exceptions/CleanApkException.kt
+++ b/app/src/main/java/foundation/e/apps/data/login/exceptions/CleanApkException.kt
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.utils.exceptions
+package foundation.e.apps.data.login.exceptions
/**
* This exception is for all CleanApk data loading exceptions.
diff --git a/app/src/main/java/foundation/e/apps/utils/exceptions/GPlayException.kt b/app/src/main/java/foundation/e/apps/data/login/exceptions/GPlayException.kt
similarity index 94%
rename from app/src/main/java/foundation/e/apps/utils/exceptions/GPlayException.kt
rename to app/src/main/java/foundation/e/apps/data/login/exceptions/GPlayException.kt
index 5a01fb4d36f69ee1f0ef1782e4f859fd02719239..345208778528b1d12c330fe7477111c98c7e7501 100644
--- a/app/src/main/java/foundation/e/apps/utils/exceptions/GPlayException.kt
+++ b/app/src/main/java/foundation/e/apps/data/login/exceptions/GPlayException.kt
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.utils.exceptions
+package foundation.e.apps.data.login.exceptions
/**
* This exception is for all Google Play network calls or other GPlay related exceptions.
diff --git a/app/src/main/java/foundation/e/apps/utils/exceptions/GPlayLoginException.kt b/app/src/main/java/foundation/e/apps/data/login/exceptions/GPlayLoginException.kt
similarity index 91%
rename from app/src/main/java/foundation/e/apps/utils/exceptions/GPlayLoginException.kt
rename to app/src/main/java/foundation/e/apps/data/login/exceptions/GPlayLoginException.kt
index 2902ba28f8ca59a83c36b29f85f78820eb8c1f95..d6a64a7bb3d20c52243c9f30434122b431642716 100644
--- a/app/src/main/java/foundation/e/apps/utils/exceptions/GPlayLoginException.kt
+++ b/app/src/main/java/foundation/e/apps/data/login/exceptions/GPlayLoginException.kt
@@ -15,9 +15,9 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.utils.exceptions
+package foundation.e.apps.data.login.exceptions
-import foundation.e.apps.utils.enums.User
+import foundation.e.apps.data.enums.User
/**
* Parent class for all GPlay login related errors.
diff --git a/app/src/main/java/foundation/e/apps/utils/exceptions/GPlayValidationException.kt b/app/src/main/java/foundation/e/apps/data/login/exceptions/GPlayValidationException.kt
similarity index 92%
rename from app/src/main/java/foundation/e/apps/utils/exceptions/GPlayValidationException.kt
rename to app/src/main/java/foundation/e/apps/data/login/exceptions/GPlayValidationException.kt
index 0257dc91cfeca16fd0e0d7e2f94f2423ff49ec75..5b4322a4cc955487b91ee65578af872f7be67876 100644
--- a/app/src/main/java/foundation/e/apps/utils/exceptions/GPlayValidationException.kt
+++ b/app/src/main/java/foundation/e/apps/data/login/exceptions/GPlayValidationException.kt
@@ -15,9 +15,9 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.utils.exceptions
+package foundation.e.apps.data.login.exceptions
-import foundation.e.apps.utils.enums.User
+import foundation.e.apps.data.enums.User
/**
* This exception is specifically used when a GPlay auth data could not be validated.
diff --git a/app/src/main/java/foundation/e/apps/utils/exceptions/LoginException.kt b/app/src/main/java/foundation/e/apps/data/login/exceptions/LoginException.kt
similarity index 94%
rename from app/src/main/java/foundation/e/apps/utils/exceptions/LoginException.kt
rename to app/src/main/java/foundation/e/apps/data/login/exceptions/LoginException.kt
index 01011dbdf64b004972573a5854caf1c19a69191f..e69cb47b51b084af03f8bc0414779598fe56e317 100644
--- a/app/src/main/java/foundation/e/apps/utils/exceptions/LoginException.kt
+++ b/app/src/main/java/foundation/e/apps/data/login/exceptions/LoginException.kt
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.utils.exceptions
+package foundation.e.apps.data.login.exceptions
/**
* Super class for all Login related exceptions.
diff --git a/app/src/main/java/foundation/e/apps/utils/exceptions/UnknownSourceException.kt b/app/src/main/java/foundation/e/apps/data/login/exceptions/UnknownSourceException.kt
similarity index 94%
rename from app/src/main/java/foundation/e/apps/utils/exceptions/UnknownSourceException.kt
rename to app/src/main/java/foundation/e/apps/data/login/exceptions/UnknownSourceException.kt
index 10e5ab36211413b305f2d8573c3d90c4a99d441a..3c881d9f6ac9cb31b253ea6a3829a8fb2410d4fc 100644
--- a/app/src/main/java/foundation/e/apps/utils/exceptions/UnknownSourceException.kt
+++ b/app/src/main/java/foundation/e/apps/data/login/exceptions/UnknownSourceException.kt
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.utils.exceptions
+package foundation.e.apps.data.login.exceptions
/**
* Generic exception class - used to define unknown errors.
diff --git a/app/src/main/java/foundation/e/apps/utils/modules/DataStoreManager.kt b/app/src/main/java/foundation/e/apps/data/preference/DataStoreManager.kt
similarity index 94%
rename from app/src/main/java/foundation/e/apps/utils/modules/DataStoreManager.kt
rename to app/src/main/java/foundation/e/apps/data/preference/DataStoreManager.kt
index 9be76a3824bb7c0080d59c1cb222acbd97a6b4e1..4294505ae205925730fb6eb2c2d2cf011b5be550 100644
--- a/app/src/main/java/foundation/e/apps/utils/modules/DataStoreManager.kt
+++ b/app/src/main/java/foundation/e/apps/data/preference/DataStoreManager.kt
@@ -15,11 +15,11 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.utils.modules
+package foundation.e.apps.data.preference
import com.aurora.gplayapi.data.models.AuthData
import com.google.gson.Gson
-import foundation.e.apps.utils.enums.User
+import foundation.e.apps.data.enums.User
import javax.inject.Inject
import javax.inject.Singleton
diff --git a/app/src/main/java/foundation/e/apps/utils/modules/DataStoreModule.kt b/app/src/main/java/foundation/e/apps/data/preference/DataStoreModule.kt
similarity index 95%
rename from app/src/main/java/foundation/e/apps/utils/modules/DataStoreModule.kt
rename to app/src/main/java/foundation/e/apps/data/preference/DataStoreModule.kt
index e30305e9b33100047e3f9b1c65d9e64374bbbb75..c51b3d593361b11d077a3021582deebc7817ad04 100644
--- a/app/src/main/java/foundation/e/apps/utils/modules/DataStoreModule.kt
+++ b/app/src/main/java/foundation/e/apps/data/preference/DataStoreModule.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.utils.modules
+package foundation.e.apps.data.preference
import android.content.Context
import androidx.datastore.preferences.core.booleanPreferencesKey
@@ -26,7 +26,7 @@ import androidx.datastore.preferences.preferencesDataStore
import com.aurora.gplayapi.data.models.AuthData
import com.google.gson.Gson
import dagger.hilt.android.qualifiers.ApplicationContext
-import foundation.e.apps.utils.enums.User
+import foundation.e.apps.data.enums.User
import kotlinx.coroutines.flow.first
import kotlinx.coroutines.flow.map
import kotlinx.coroutines.runBlocking
diff --git a/app/src/main/java/foundation/e/apps/utils/modules/PreferenceManagerModule.kt b/app/src/main/java/foundation/e/apps/data/preference/PreferenceManagerModule.kt
similarity index 88%
rename from app/src/main/java/foundation/e/apps/utils/modules/PreferenceManagerModule.kt
rename to app/src/main/java/foundation/e/apps/data/preference/PreferenceManagerModule.kt
index a6274f061b20e4ad2ca22a4476cbbeb4c0f28741..428daf1955cb2dd649994aa0e2ed396a8db548a0 100644
--- a/app/src/main/java/foundation/e/apps/utils/modules/PreferenceManagerModule.kt
+++ b/app/src/main/java/foundation/e/apps/data/preference/PreferenceManagerModule.kt
@@ -16,16 +16,16 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.utils.modules
+package foundation.e.apps.data.preference
import android.content.Context
import androidx.preference.PreferenceManager
import dagger.hilt.android.qualifiers.ApplicationContext
import foundation.e.apps.OpenForTesting
import foundation.e.apps.R
-import foundation.e.apps.utils.Constants.PREFERENCE_SHOW_FOSS
-import foundation.e.apps.utils.Constants.PREFERENCE_SHOW_GPLAY
-import foundation.e.apps.utils.Constants.PREFERENCE_SHOW_PWA
+import foundation.e.apps.data.Constants.PREFERENCE_SHOW_FOSS
+import foundation.e.apps.data.Constants.PREFERENCE_SHOW_GPLAY
+import foundation.e.apps.data.Constants.PREFERENCE_SHOW_PWA
import javax.inject.Inject
import javax.inject.Singleton
diff --git a/app/src/main/java/foundation/e/apps/updates/manager/UpdatesManagerImpl.kt b/app/src/main/java/foundation/e/apps/data/updates/UpdatesManagerImpl.kt
similarity index 92%
rename from app/src/main/java/foundation/e/apps/updates/manager/UpdatesManagerImpl.kt
rename to app/src/main/java/foundation/e/apps/data/updates/UpdatesManagerImpl.kt
index 0ee9eab6206e31fdb069257c8c19efac866a0cc4..d537ade94c75b36a0005b008435722aeccb75dfd 100644
--- a/app/src/main/java/foundation/e/apps/updates/manager/UpdatesManagerImpl.kt
+++ b/app/src/main/java/foundation/e/apps/data/updates/UpdatesManagerImpl.kt
@@ -16,24 +16,24 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.updates.manager
+package foundation.e.apps.data.updates
import android.content.Context
import android.content.pm.ApplicationInfo
import com.aurora.gplayapi.data.models.AuthData
import dagger.hilt.android.qualifiers.ApplicationContext
-import foundation.e.apps.api.cleanapk.ApkSignatureManager
-import foundation.e.apps.api.faultyApps.FaultyAppRepository
-import foundation.e.apps.api.fdroid.FdroidRepository
-import foundation.e.apps.api.fused.FusedAPIImpl.Companion.APP_TYPE_ANY
-import foundation.e.apps.api.fused.FusedAPIRepository
-import foundation.e.apps.api.fused.data.FusedApp
-import foundation.e.apps.manager.pkg.PkgManagerModule
-import foundation.e.apps.utils.enums.Origin
-import foundation.e.apps.utils.enums.ResultStatus
-import foundation.e.apps.utils.enums.Status
-import foundation.e.apps.utils.enums.isUnFiltered
-import foundation.e.apps.utils.modules.PreferenceManagerModule
+import foundation.e.apps.data.cleanapk.ApkSignatureManager
+import foundation.e.apps.data.enums.Origin
+import foundation.e.apps.data.enums.ResultStatus
+import foundation.e.apps.data.enums.Status
+import foundation.e.apps.data.enums.isUnFiltered
+import foundation.e.apps.data.faultyApps.FaultyAppRepository
+import foundation.e.apps.data.fdroid.FdroidRepository
+import foundation.e.apps.data.fused.FusedAPIImpl.Companion.APP_TYPE_ANY
+import foundation.e.apps.data.fused.FusedAPIRepository
+import foundation.e.apps.data.fused.data.FusedApp
+import foundation.e.apps.data.preference.PreferenceManagerModule
+import foundation.e.apps.install.pkg.PkgManagerModule
import timber.log.Timber
import javax.inject.Inject
diff --git a/app/src/main/java/foundation/e/apps/updates/manager/UpdatesManagerRepository.kt b/app/src/main/java/foundation/e/apps/data/updates/UpdatesManagerRepository.kt
similarity index 87%
rename from app/src/main/java/foundation/e/apps/updates/manager/UpdatesManagerRepository.kt
rename to app/src/main/java/foundation/e/apps/data/updates/UpdatesManagerRepository.kt
index f15c8bde010a39aee058734088574a80b748bba8..07dfe63b715c800763911a2c42e254068cddacc1 100644
--- a/app/src/main/java/foundation/e/apps/updates/manager/UpdatesManagerRepository.kt
+++ b/app/src/main/java/foundation/e/apps/data/updates/UpdatesManagerRepository.kt
@@ -16,12 +16,12 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.updates.manager
+package foundation.e.apps.data.updates
import com.aurora.gplayapi.data.models.AuthData
-import foundation.e.apps.api.fused.UpdatesDao
-import foundation.e.apps.api.fused.data.FusedApp
-import foundation.e.apps.utils.enums.ResultStatus
+import foundation.e.apps.data.enums.ResultStatus
+import foundation.e.apps.data.fused.UpdatesDao
+import foundation.e.apps.data.fused.data.FusedApp
import javax.inject.Inject
class UpdatesManagerRepository @Inject constructor(
diff --git a/app/src/main/java/foundation/e/apps/utils/modules/CommonUtilsModule.kt b/app/src/main/java/foundation/e/apps/di/CommonUtilsModule.kt
similarity index 96%
rename from app/src/main/java/foundation/e/apps/utils/modules/CommonUtilsModule.kt
rename to app/src/main/java/foundation/e/apps/di/CommonUtilsModule.kt
index a533a77e5ecb83dca582a1cdfcd61656957bad56..f868f978ae6c4a66582177042f3890e2604ca008 100644
--- a/app/src/main/java/foundation/e/apps/utils/modules/CommonUtilsModule.kt
+++ b/app/src/main/java/foundation/e/apps/di/CommonUtilsModule.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.utils.modules
+package foundation.e.apps.di
import android.content.ClipboardManager
import android.content.Context
diff --git a/app/src/main/java/foundation/e/apps/di/DaoModule.kt b/app/src/main/java/foundation/e/apps/di/DaoModule.kt
index 4c2a77e6f2b1d00b3d7e5f4743e7988956ffcede..738869c22030db7bce5ef8fd6c705f9dfdd8e64d 100644
--- a/app/src/main/java/foundation/e/apps/di/DaoModule.kt
+++ b/app/src/main/java/foundation/e/apps/di/DaoModule.kt
@@ -6,10 +6,10 @@ import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.android.qualifiers.ApplicationContext
import dagger.hilt.components.SingletonComponent
-import foundation.e.apps.api.database.AppDatabase
-import foundation.e.apps.api.exodus.TrackerDao
-import foundation.e.apps.api.faultyApps.FaultyAppDao
-import foundation.e.apps.api.fdroid.FdroidDao
+import foundation.e.apps.data.database.AppDatabase
+import foundation.e.apps.data.exodus.TrackerDao
+import foundation.e.apps.data.faultyApps.FaultyAppDao
+import foundation.e.apps.data.fdroid.FdroidDao
@InstallIn(SingletonComponent::class)
@Module
diff --git a/app/src/main/java/foundation/e/apps/manager/database/DatabaseModule.kt b/app/src/main/java/foundation/e/apps/di/DatabaseModule.kt
similarity index 77%
rename from app/src/main/java/foundation/e/apps/manager/database/DatabaseModule.kt
rename to app/src/main/java/foundation/e/apps/di/DatabaseModule.kt
index d2cf3fd03a4d8efc18f104f1809df5559a0c9f27..63b5cd8f8c9e426cfebdae128416ace6a78961e6 100644
--- a/app/src/main/java/foundation/e/apps/manager/database/DatabaseModule.kt
+++ b/app/src/main/java/foundation/e/apps/di/DatabaseModule.kt
@@ -1,4 +1,4 @@
-package foundation.e.apps.manager.database
+package foundation.e.apps.di
import android.content.Context
import dagger.Module
@@ -6,7 +6,8 @@ import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.android.qualifiers.ApplicationContext
import dagger.hilt.components.SingletonComponent
-import foundation.e.apps.manager.database.fusedDownload.FusedDownloadDAO
+import foundation.e.apps.data.database.fusedDownload.FusedDatabase
+import foundation.e.apps.data.fusedDownload.FusedDownloadDAO
import javax.inject.Singleton
@Module
diff --git a/app/src/main/java/foundation/e/apps/di/LoginModule.kt b/app/src/main/java/foundation/e/apps/di/LoginModule.kt
index ba12b0f08a626cde26fadbb3a563a86201af4e96..f59a084b8abfbab057fc725a488be61096d43095 100644
--- a/app/src/main/java/foundation/e/apps/di/LoginModule.kt
+++ b/app/src/main/java/foundation/e/apps/di/LoginModule.kt
@@ -21,9 +21,9 @@ import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
-import foundation.e.apps.login.LoginSourceCleanApk
-import foundation.e.apps.login.LoginSourceGPlay
-import foundation.e.apps.login.LoginSourceInterface
+import foundation.e.apps.data.login.LoginSourceCleanApk
+import foundation.e.apps.data.login.LoginSourceGPlay
+import foundation.e.apps.data.login.LoginSourceInterface
@InstallIn(SingletonComponent::class)
@Module
diff --git a/app/src/main/java/foundation/e/apps/di/NamedRepositoryModule.kt b/app/src/main/java/foundation/e/apps/di/NamedRepositoryModule.kt
index c506d4ff5cbc499009ccb653c0a71bc0a5eba2de..56d3d9393a770a90990c728af3b83e1258f0bc47 100644
--- a/app/src/main/java/foundation/e/apps/di/NamedRepositoryModule.kt
+++ b/app/src/main/java/foundation/e/apps/di/NamedRepositoryModule.kt
@@ -24,15 +24,15 @@ import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.android.qualifiers.ApplicationContext
import dagger.hilt.components.SingletonComponent
-import foundation.e.apps.api.cleanapk.CleanApkAppDetailsRetrofit
-import foundation.e.apps.api.cleanapk.CleanApkAppsRepositoryImpl
-import foundation.e.apps.api.cleanapk.CleanApkPWARepository
-import foundation.e.apps.api.cleanapk.CleanApkRepository
-import foundation.e.apps.api.cleanapk.CleanApkRetrofit
-import foundation.e.apps.api.gplay.GplayStoreRepository
-import foundation.e.apps.api.gplay.GplayStoreRepositoryImpl
-import foundation.e.apps.api.gplay.utils.GPlayHttpClient
-import foundation.e.apps.login.LoginSourceRepository
+import foundation.e.apps.data.cleanapk.CleanApkAppDetailsRetrofit
+import foundation.e.apps.data.cleanapk.CleanApkRetrofit
+import foundation.e.apps.data.cleanapk.repositories.CleanApkAppsRepositoryImpl
+import foundation.e.apps.data.cleanapk.repositories.CleanApkPWARepository
+import foundation.e.apps.data.cleanapk.repositories.CleanApkRepository
+import foundation.e.apps.data.gplay.GplayStoreRepository
+import foundation.e.apps.data.gplay.GplayStoreRepositoryImpl
+import foundation.e.apps.data.gplay.utils.GPlayHttpClient
+import foundation.e.apps.data.login.LoginSourceRepository
import javax.inject.Named
import javax.inject.Singleton
diff --git a/app/src/main/java/foundation/e/apps/di/RepositoryModule.kt b/app/src/main/java/foundation/e/apps/di/RepositoryModule.kt
index f527d7a7ada8f0f62f44329b077fad7f78f4e01c..ddaff28495b7fd28204e5c2b5e8f085207506da4 100644
--- a/app/src/main/java/foundation/e/apps/di/RepositoryModule.kt
+++ b/app/src/main/java/foundation/e/apps/di/RepositoryModule.kt
@@ -4,12 +4,12 @@ import dagger.Binds
import dagger.Module
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
-import foundation.e.apps.api.exodus.repositories.AppPrivacyInfoRepositoryImpl
-import foundation.e.apps.api.exodus.repositories.IAppPrivacyInfoRepository
-import foundation.e.apps.api.fdroid.FdroidRepository
-import foundation.e.apps.api.fdroid.IFdroidRepository
-import foundation.e.apps.manager.fused.FusedManagerImpl
-import foundation.e.apps.manager.fused.IFusedManager
+import foundation.e.apps.data.exodus.repositories.AppPrivacyInfoRepositoryImpl
+import foundation.e.apps.data.exodus.repositories.IAppPrivacyInfoRepository
+import foundation.e.apps.data.fdroid.FdroidRepository
+import foundation.e.apps.data.fdroid.IFdroidRepository
+import foundation.e.apps.data.fusedDownload.FusedManagerImpl
+import foundation.e.apps.data.fusedDownload.IFusedManager
import javax.inject.Singleton
@Module
diff --git a/app/src/main/java/foundation/e/apps/manager/download/DownloadManagerBR.kt b/app/src/main/java/foundation/e/apps/install/download/DownloadManagerBR.kt
similarity index 95%
rename from app/src/main/java/foundation/e/apps/manager/download/DownloadManagerBR.kt
rename to app/src/main/java/foundation/e/apps/install/download/DownloadManagerBR.kt
index 08c575860246757fcb85e36994f89717811c3cf1..a508197d3e37074a5efec41aacaca7cfec72761a 100644
--- a/app/src/main/java/foundation/e/apps/manager/download/DownloadManagerBR.kt
+++ b/app/src/main/java/foundation/e/apps/install/download/DownloadManagerBR.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.manager.download
+package foundation.e.apps.install.download
import android.app.DownloadManager
import android.content.BroadcastReceiver
diff --git a/app/src/main/java/foundation/e/apps/manager/download/DownloadManagerModule.kt b/app/src/main/java/foundation/e/apps/install/download/DownloadManagerModule.kt
similarity index 94%
rename from app/src/main/java/foundation/e/apps/manager/download/DownloadManagerModule.kt
rename to app/src/main/java/foundation/e/apps/install/download/DownloadManagerModule.kt
index 47c1bee37cab48c287760e5567f9ecc68a3883f8..9d94e27b3648a6a7c32c9a3ce2182e621370cd0a 100644
--- a/app/src/main/java/foundation/e/apps/manager/download/DownloadManagerModule.kt
+++ b/app/src/main/java/foundation/e/apps/install/download/DownloadManagerModule.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.manager.download
+package foundation.e.apps.install.download
import android.app.DownloadManager
import android.content.Context
diff --git a/app/src/main/java/foundation/e/apps/manager/download/DownloadManagerUtils.kt b/app/src/main/java/foundation/e/apps/install/download/DownloadManagerUtils.kt
similarity index 94%
rename from app/src/main/java/foundation/e/apps/manager/download/DownloadManagerUtils.kt
rename to app/src/main/java/foundation/e/apps/install/download/DownloadManagerUtils.kt
index 58f17ea2b6c4ccc52f754c3153d86d6379547cdd..fc32fbf97888d1b0af683e3e0a2d6d83f7927416 100644
--- a/app/src/main/java/foundation/e/apps/manager/download/DownloadManagerUtils.kt
+++ b/app/src/main/java/foundation/e/apps/install/download/DownloadManagerUtils.kt
@@ -16,15 +16,15 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.manager.download
+package foundation.e.apps.install.download
import android.content.Context
import dagger.hilt.android.qualifiers.ApplicationContext
-import foundation.e.apps.api.DownloadManager
-import foundation.e.apps.manager.database.fusedDownload.FusedDownload
-import foundation.e.apps.manager.fused.FusedManagerRepository
-import foundation.e.apps.utils.enums.Origin
-import foundation.e.apps.utils.enums.Status
+import foundation.e.apps.data.DownloadManager
+import foundation.e.apps.data.enums.Origin
+import foundation.e.apps.data.enums.Status
+import foundation.e.apps.data.fusedDownload.FusedManagerRepository
+import foundation.e.apps.data.fusedDownload.models.FusedDownload
import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.delay
diff --git a/app/src/main/java/foundation/e/apps/manager/download/data/DownloadProgress.kt b/app/src/main/java/foundation/e/apps/install/download/data/DownloadProgress.kt
similarity index 82%
rename from app/src/main/java/foundation/e/apps/manager/download/data/DownloadProgress.kt
rename to app/src/main/java/foundation/e/apps/install/download/data/DownloadProgress.kt
index 4df4506e4d600b45ff689b798a4ab2f514c05dfb..e2132b4de44d8199460d12c17cf230359668c7a2 100644
--- a/app/src/main/java/foundation/e/apps/manager/download/data/DownloadProgress.kt
+++ b/app/src/main/java/foundation/e/apps/install/download/data/DownloadProgress.kt
@@ -1,4 +1,4 @@
-package foundation.e.apps.manager.download.data
+package foundation.e.apps.install.download.data
data class DownloadProgress(
var totalSizeBytes: MutableMap = mutableMapOf(),
diff --git a/app/src/main/java/foundation/e/apps/manager/download/data/DownloadProgressLD.kt b/app/src/main/java/foundation/e/apps/install/download/data/DownloadProgressLD.kt
similarity index 95%
rename from app/src/main/java/foundation/e/apps/manager/download/data/DownloadProgressLD.kt
rename to app/src/main/java/foundation/e/apps/install/download/data/DownloadProgressLD.kt
index 3089bdaebef9def5efd6e80259a9b0282b930585..d65168a241e3d52dee5418934db2d98c6530f8d1 100644
--- a/app/src/main/java/foundation/e/apps/manager/download/data/DownloadProgressLD.kt
+++ b/app/src/main/java/foundation/e/apps/install/download/data/DownloadProgressLD.kt
@@ -16,14 +16,14 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.manager.download.data
+package foundation.e.apps.install.download.data
import android.app.DownloadManager
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.LiveData
import androidx.lifecycle.Observer
-import foundation.e.apps.manager.fused.FusedManagerRepository
+import foundation.e.apps.data.fusedDownload.FusedManagerRepository
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job
diff --git a/app/src/main/java/foundation/e/apps/manager/notification/NotificationManagerModule.kt b/app/src/main/java/foundation/e/apps/install/notification/NotificationManagerModule.kt
similarity index 95%
rename from app/src/main/java/foundation/e/apps/manager/notification/NotificationManagerModule.kt
rename to app/src/main/java/foundation/e/apps/install/notification/NotificationManagerModule.kt
index 6860575ab565809195fbb92b480a9070d403f9cd..f12b62b16ff2abec95cf7a1d35ec698c061cb2b3 100644
--- a/app/src/main/java/foundation/e/apps/manager/notification/NotificationManagerModule.kt
+++ b/app/src/main/java/foundation/e/apps/install/notification/NotificationManagerModule.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.manager.notification
+package foundation.e.apps.install.notification
import android.app.NotificationChannel
import android.app.NotificationManager
diff --git a/app/src/main/java/foundation/e/apps/manager/notification/NotificationManagerUtils.kt b/app/src/main/java/foundation/e/apps/install/notification/NotificationManagerUtils.kt
similarity index 93%
rename from app/src/main/java/foundation/e/apps/manager/notification/NotificationManagerUtils.kt
rename to app/src/main/java/foundation/e/apps/install/notification/NotificationManagerUtils.kt
index abcfbc53dc752bcf69d20d2e3d35af9e47fedaea..23a6be9a9f59b904cad302cfff1d9c1b517d658a 100644
--- a/app/src/main/java/foundation/e/apps/manager/notification/NotificationManagerUtils.kt
+++ b/app/src/main/java/foundation/e/apps/install/notification/NotificationManagerUtils.kt
@@ -16,13 +16,13 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.manager.notification
+package foundation.e.apps.install.notification
import android.content.Context
import androidx.core.app.NotificationCompat
import dagger.hilt.android.qualifiers.ApplicationContext
import foundation.e.apps.R
-import foundation.e.apps.utils.modules.PreferenceManagerModule
+import foundation.e.apps.data.preference.PreferenceManagerModule
import javax.inject.Inject
class NotificationManagerUtils @Inject constructor(
diff --git a/app/src/main/java/foundation/e/apps/manager/pkg/InstallerService.kt b/app/src/main/java/foundation/e/apps/install/pkg/InstallerService.kt
similarity index 94%
rename from app/src/main/java/foundation/e/apps/manager/pkg/InstallerService.kt
rename to app/src/main/java/foundation/e/apps/install/pkg/InstallerService.kt
index 3fd6379449dc6ff437342e6e18f02c76e8e09259..9c99665ea425110f00e31fa76caf5ddb86bfe3af 100644
--- a/app/src/main/java/foundation/e/apps/manager/pkg/InstallerService.kt
+++ b/app/src/main/java/foundation/e/apps/install/pkg/InstallerService.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.manager.pkg
+package foundation.e.apps.install.pkg
import android.app.Service
import android.content.Intent
@@ -25,10 +25,10 @@ import android.os.Build
import android.os.IBinder
import androidx.annotation.RequiresApi
import dagger.hilt.android.AndroidEntryPoint
-import foundation.e.apps.api.faultyApps.FaultyAppRepository
-import foundation.e.apps.api.fused.UpdatesDao
-import foundation.e.apps.manager.fused.FusedManagerRepository
-import foundation.e.apps.utils.enums.Status
+import foundation.e.apps.data.enums.Status
+import foundation.e.apps.data.faultyApps.FaultyAppRepository
+import foundation.e.apps.data.fused.UpdatesDao
+import foundation.e.apps.data.fusedDownload.FusedManagerRepository
import foundation.e.apps.utils.eventBus.AppEvent
import foundation.e.apps.utils.eventBus.EventBus
import kotlinx.coroutines.DelicateCoroutinesApi
diff --git a/app/src/main/java/foundation/e/apps/utils/modules/PWAManagerModule.kt b/app/src/main/java/foundation/e/apps/install/pkg/PWAManagerModule.kt
similarity index 90%
rename from app/src/main/java/foundation/e/apps/utils/modules/PWAManagerModule.kt
rename to app/src/main/java/foundation/e/apps/install/pkg/PWAManagerModule.kt
index 6d3faa62ada9e0ff36fb516770815a5459f3b5c0..628ad0df16bbc9002cdce7597924813ce9fc0e45 100644
--- a/app/src/main/java/foundation/e/apps/utils/modules/PWAManagerModule.kt
+++ b/app/src/main/java/foundation/e/apps/install/pkg/PWAManagerModule.kt
@@ -1,4 +1,4 @@
-package foundation.e.apps.utils.modules
+package foundation.e.apps.install.pkg
import android.content.ContentUris
import android.content.ContentValues
@@ -13,10 +13,10 @@ import androidx.core.content.pm.ShortcutManagerCompat
import androidx.core.graphics.drawable.IconCompat
import dagger.hilt.android.qualifiers.ApplicationContext
import foundation.e.apps.OpenForTesting
-import foundation.e.apps.api.fused.data.FusedApp
-import foundation.e.apps.manager.database.DatabaseRepository
-import foundation.e.apps.manager.database.fusedDownload.FusedDownload
-import foundation.e.apps.utils.enums.Status
+import foundation.e.apps.data.enums.Status
+import foundation.e.apps.data.fused.data.FusedApp
+import foundation.e.apps.data.fusedDownload.FusedDownloadRepository
+import foundation.e.apps.data.fusedDownload.models.FusedDownload
import kotlinx.coroutines.delay
import javax.inject.Inject
import javax.inject.Singleton
@@ -25,7 +25,7 @@ import javax.inject.Singleton
@OpenForTesting
class PWAManagerModule @Inject constructor(
@ApplicationContext private val context: Context,
- private val databaseRepository: DatabaseRepository
+ private val fusedDownloadRepository: FusedDownloadRepository
) {
companion object {
@@ -97,7 +97,7 @@ class PWAManagerModule @Inject constructor(
suspend fun installPWAApp(fusedDownload: FusedDownload) {
// Update status
fusedDownload.status = Status.DOWNLOADING
- databaseRepository.updateDownload(fusedDownload)
+ fusedDownloadRepository.updateDownload(fusedDownload)
// Get bitmap and byteArray for icon
val iconByteArray = Base64.decode(fusedDownload.iconByteArray, Base64.DEFAULT)
@@ -120,7 +120,7 @@ class PWAManagerModule @Inject constructor(
private suspend fun publishShortcut(fusedDownload: FusedDownload, bitmap: Bitmap, databaseID: Long) {
// Update status
fusedDownload.status = Status.INSTALLING
- databaseRepository.updateDownload(fusedDownload)
+ fusedDownloadRepository.updateDownload(fusedDownload)
val intent = Intent().apply {
action = VIEW_PWA
@@ -143,8 +143,8 @@ class PWAManagerModule @Inject constructor(
// Update status
fusedDownload.status = Status.INSTALLED
- databaseRepository.updateDownload(fusedDownload)
+ fusedDownloadRepository.updateDownload(fusedDownload)
delay(500)
- databaseRepository.deleteDownload(fusedDownload)
+ fusedDownloadRepository.deleteDownload(fusedDownload)
}
}
diff --git a/app/src/main/java/foundation/e/apps/manager/pkg/PackageInstallerService.kt b/app/src/main/java/foundation/e/apps/install/pkg/PackageInstallerService.kt
similarity index 94%
rename from app/src/main/java/foundation/e/apps/manager/pkg/PackageInstallerService.kt
rename to app/src/main/java/foundation/e/apps/install/pkg/PackageInstallerService.kt
index c4d7ea74cdbf492fb3edd016a086d147a29f56c5..0a3fa6f5ed9011b4e69bd4ab5958ad2db727f5e9 100644
--- a/app/src/main/java/foundation/e/apps/manager/pkg/PackageInstallerService.kt
+++ b/app/src/main/java/foundation/e/apps/install/pkg/PackageInstallerService.kt
@@ -16,15 +16,15 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.manager.pkg
+package foundation.e.apps.install.pkg
import android.app.Service
import android.content.Intent
import android.content.pm.PackageInstaller
import android.os.IBinder
import dagger.hilt.android.AndroidEntryPoint
-import foundation.e.apps.manager.fused.FusedManagerRepository
-import foundation.e.apps.utils.enums.Status
+import foundation.e.apps.data.enums.Status
+import foundation.e.apps.data.fusedDownload.FusedManagerRepository
import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
diff --git a/app/src/main/java/foundation/e/apps/manager/pkg/PkgManagerBR.kt b/app/src/main/java/foundation/e/apps/install/pkg/PkgManagerBR.kt
similarity index 93%
rename from app/src/main/java/foundation/e/apps/manager/pkg/PkgManagerBR.kt
rename to app/src/main/java/foundation/e/apps/install/pkg/PkgManagerBR.kt
index 665150bdd2dafb4474263e9d5255c6146124012a..918c93f1677d6b58e2ae928dbd45222843cc712a 100644
--- a/app/src/main/java/foundation/e/apps/manager/pkg/PkgManagerBR.kt
+++ b/app/src/main/java/foundation/e/apps/install/pkg/PkgManagerBR.kt
@@ -16,16 +16,16 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.manager.pkg
+package foundation.e.apps.install.pkg
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.content.pm.PackageInstaller
import dagger.hilt.android.AndroidEntryPoint
-import foundation.e.apps.api.faultyApps.FaultyAppRepository
-import foundation.e.apps.manager.fused.FusedManagerRepository
-import foundation.e.apps.utils.enums.Status
+import foundation.e.apps.data.enums.Status
+import foundation.e.apps.data.faultyApps.FaultyAppRepository
+import foundation.e.apps.data.fusedDownload.FusedManagerRepository
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.GlobalScope
diff --git a/app/src/main/java/foundation/e/apps/manager/pkg/PkgManagerModule.kt b/app/src/main/java/foundation/e/apps/install/pkg/PkgManagerModule.kt
similarity index 94%
rename from app/src/main/java/foundation/e/apps/manager/pkg/PkgManagerModule.kt
rename to app/src/main/java/foundation/e/apps/install/pkg/PkgManagerModule.kt
index 1b99aecb1fd45ed0e1f86fff17fa979343d358fe..076c05a8fab8a902c7a7a7ffe884360a4e443c0c 100644
--- a/app/src/main/java/foundation/e/apps/manager/pkg/PkgManagerModule.kt
+++ b/app/src/main/java/foundation/e/apps/install/pkg/PkgManagerModule.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.manager.pkg
+package foundation.e.apps.install.pkg
import android.app.PendingIntent
import android.content.Context
@@ -31,11 +31,11 @@ import android.os.Build
import androidx.core.content.pm.PackageInfoCompat
import dagger.hilt.android.qualifiers.ApplicationContext
import foundation.e.apps.OpenForTesting
-import foundation.e.apps.api.fused.FusedAPIImpl
-import foundation.e.apps.manager.database.fusedDownload.FusedDownload
-import foundation.e.apps.utils.enums.Origin
-import foundation.e.apps.utils.enums.Status
-import foundation.e.apps.utils.enums.Type
+import foundation.e.apps.data.enums.Origin
+import foundation.e.apps.data.enums.Status
+import foundation.e.apps.data.enums.Type
+import foundation.e.apps.data.fused.FusedAPIImpl
+import foundation.e.apps.data.fusedDownload.models.FusedDownload
import kotlinx.coroutines.DelicateCoroutinesApi
import timber.log.Timber
import java.io.File
diff --git a/app/src/main/java/foundation/e/apps/receiver/PWAPlayerStatusReceiver.kt b/app/src/main/java/foundation/e/apps/install/receiver/PWAPlayerStatusReceiver.kt
similarity index 82%
rename from app/src/main/java/foundation/e/apps/receiver/PWAPlayerStatusReceiver.kt
rename to app/src/main/java/foundation/e/apps/install/receiver/PWAPlayerStatusReceiver.kt
index 23b340ec18852dbb151889f3af4b4865bf48c5d7..21aa44c391c07350f20d39177a806c9b2b921988 100644
--- a/app/src/main/java/foundation/e/apps/receiver/PWAPlayerStatusReceiver.kt
+++ b/app/src/main/java/foundation/e/apps/install/receiver/PWAPlayerStatusReceiver.kt
@@ -15,14 +15,14 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.receiver
+package foundation.e.apps.install.receiver
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import dagger.hilt.android.AndroidEntryPoint
-import foundation.e.apps.manager.database.DatabaseRepository
-import foundation.e.apps.utils.enums.Status
+import foundation.e.apps.data.enums.Status
+import foundation.e.apps.data.fusedDownload.FusedDownloadRepository
import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
@@ -47,20 +47,20 @@ class PWAPlayerStatusReceiver : BroadcastReceiver() {
}
@Inject
- lateinit var databaseRepository: DatabaseRepository
+ lateinit var fusedDownloadRepository: FusedDownloadRepository
override fun onReceive(context: Context?, intent: Intent?) {
GlobalScope.launch {
try {
intent?.getStringExtra("SHORTCUT_ID")?.let { shortcutId ->
- databaseRepository.getDownloadById(shortcutId)?.let { fusedDownload ->
+ fusedDownloadRepository.getDownloadById(shortcutId)?.let { fusedDownload ->
when (intent.action) {
ACTION_PWA_ADDED -> {
fusedDownload.status = Status.INSTALLED
- databaseRepository.updateDownload(fusedDownload)
+ fusedDownloadRepository.updateDownload(fusedDownload)
}
ACTION_PWA_REMOVED -> {
- databaseRepository.deleteDownload(fusedDownload)
+ fusedDownloadRepository.deleteDownload(fusedDownload)
}
}
}
diff --git a/app/src/main/java/foundation/e/apps/splitinstall/SplitInstallBinder.kt b/app/src/main/java/foundation/e/apps/install/splitinstall/SplitInstallBinder.kt
similarity index 96%
rename from app/src/main/java/foundation/e/apps/splitinstall/SplitInstallBinder.kt
rename to app/src/main/java/foundation/e/apps/install/splitinstall/SplitInstallBinder.kt
index 5ce322d9ebe5b378ead66aa560d9f3512c1fd7c8..c1724a58d59942b8a995aa5e52a81e98e0a30eb2 100644
--- a/app/src/main/java/foundation/e/apps/splitinstall/SplitInstallBinder.kt
+++ b/app/src/main/java/foundation/e/apps/install/splitinstall/SplitInstallBinder.kt
@@ -16,14 +16,14 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.splitinstall
+package foundation.e.apps.install.splitinstall
import android.content.Context
import androidx.core.content.pm.PackageInfoCompat
import com.aurora.gplayapi.data.models.AuthData
import foundation.e.apps.ISplitInstallService
-import foundation.e.apps.api.DownloadManager
-import foundation.e.apps.api.fused.FusedAPIRepository
+import foundation.e.apps.data.DownloadManager
+import foundation.e.apps.data.fused.FusedAPIRepository
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
diff --git a/app/src/main/java/foundation/e/apps/splitinstall/SplitInstallService.kt b/app/src/main/java/foundation/e/apps/install/splitinstall/SplitInstallService.kt
similarity index 93%
rename from app/src/main/java/foundation/e/apps/splitinstall/SplitInstallService.kt
rename to app/src/main/java/foundation/e/apps/install/splitinstall/SplitInstallService.kt
index 17bf1077c639e28064da4edaafc620542388e516..ac561e3e53ca7f1404945c6ceaca2f75b20238f7 100644
--- a/app/src/main/java/foundation/e/apps/splitinstall/SplitInstallService.kt
+++ b/app/src/main/java/foundation/e/apps/install/splitinstall/SplitInstallService.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.splitinstall
+package foundation.e.apps.install.splitinstall
import android.content.ComponentName
import android.content.Intent
@@ -27,9 +27,9 @@ import androidx.lifecycle.lifecycleScope
import com.aurora.gplayapi.data.models.AuthData
import com.google.gson.Gson
import dagger.hilt.android.AndroidEntryPoint
-import foundation.e.apps.api.DownloadManager
-import foundation.e.apps.api.fused.FusedAPIRepository
-import foundation.e.apps.utils.modules.DataStoreModule
+import foundation.e.apps.data.DownloadManager
+import foundation.e.apps.data.fused.FusedAPIRepository
+import foundation.e.apps.data.preference.DataStoreModule
import foundation.e.splitinstall.ISplitInstallService
import foundation.e.splitinstall.SplitInstall
import kotlinx.coroutines.launch
diff --git a/app/src/main/java/foundation/e/apps/updates/manager/UpdatesBroadcastReceiver.kt b/app/src/main/java/foundation/e/apps/install/updates/UpdatesBroadcastReceiver.kt
similarity index 93%
rename from app/src/main/java/foundation/e/apps/updates/manager/UpdatesBroadcastReceiver.kt
rename to app/src/main/java/foundation/e/apps/install/updates/UpdatesBroadcastReceiver.kt
index bfc8e3b515084f3bc20cc473431a9d0026e1e53f..a966bf97b7ca464576ba11b6667100a2d3440d98 100644
--- a/app/src/main/java/foundation/e/apps/updates/manager/UpdatesBroadcastReceiver.kt
+++ b/app/src/main/java/foundation/e/apps/install/updates/UpdatesBroadcastReceiver.kt
@@ -15,13 +15,13 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.updates.manager
+package foundation.e.apps.install.updates
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import androidx.work.ExistingPeriodicWorkPolicy
-import foundation.e.apps.utils.modules.PreferenceManagerModule
+import foundation.e.apps.data.preference.PreferenceManagerModule
import timber.log.Timber
class UpdatesBroadcastReceiver : BroadcastReceiver() {
diff --git a/app/src/main/java/foundation/e/apps/updates/UpdatesNotifier.kt b/app/src/main/java/foundation/e/apps/install/updates/UpdatesNotifier.kt
similarity index 98%
rename from app/src/main/java/foundation/e/apps/updates/UpdatesNotifier.kt
rename to app/src/main/java/foundation/e/apps/install/updates/UpdatesNotifier.kt
index 1b6a7a57bf227fd05e8869cc03d606f423ed4401..e03ec3c7d714eea0a7503a9aba017d551888c1f3 100644
--- a/app/src/main/java/foundation/e/apps/updates/UpdatesNotifier.kt
+++ b/app/src/main/java/foundation/e/apps/install/updates/UpdatesNotifier.kt
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.updates
+package foundation.e.apps.install.updates
import android.app.Notification
import android.app.NotificationChannel
@@ -26,8 +26,8 @@ import android.content.Intent
import android.os.Build
import androidx.core.app.NotificationCompat
import androidx.core.app.NotificationManagerCompat
-import foundation.e.apps.MainActivity
import foundation.e.apps.R
+import foundation.e.apps.ui.MainActivity
object UpdatesNotifier {
const val UPDATES_NOTIFICATION_CLICK_EXTRA = "updates_notification_click_extra"
diff --git a/app/src/main/java/foundation/e/apps/updates/manager/UpdatesWorkManager.kt b/app/src/main/java/foundation/e/apps/install/updates/UpdatesWorkManager.kt
similarity index 98%
rename from app/src/main/java/foundation/e/apps/updates/manager/UpdatesWorkManager.kt
rename to app/src/main/java/foundation/e/apps/install/updates/UpdatesWorkManager.kt
index b3cdd04d61b01527a6e6a572e88e6493fa2dcdfa..895ebf020a91ede3810c7e84d5a814f52275af0e 100644
--- a/app/src/main/java/foundation/e/apps/updates/manager/UpdatesWorkManager.kt
+++ b/app/src/main/java/foundation/e/apps/install/updates/UpdatesWorkManager.kt
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.updates.manager
+package foundation.e.apps.install.updates
import android.content.Context
import android.util.Log
diff --git a/app/src/main/java/foundation/e/apps/updates/manager/UpdatesWorker.kt b/app/src/main/java/foundation/e/apps/install/updates/UpdatesWorker.kt
similarity index 93%
rename from app/src/main/java/foundation/e/apps/updates/manager/UpdatesWorker.kt
rename to app/src/main/java/foundation/e/apps/install/updates/UpdatesWorker.kt
index 71ea39583b6a62fad8f2cdf68bba4924b60d88c9..d2399e4cf093bf12dbbc86dbebbfcb282d10abd4 100644
--- a/app/src/main/java/foundation/e/apps/updates/manager/UpdatesWorker.kt
+++ b/app/src/main/java/foundation/e/apps/install/updates/UpdatesWorker.kt
@@ -1,4 +1,4 @@
-package foundation.e.apps.updates.manager
+package foundation.e.apps.install.updates
import android.Manifest
import android.content.Context
@@ -19,22 +19,22 @@ import com.google.gson.Gson
import dagger.assisted.Assisted
import dagger.assisted.AssistedInject
import foundation.e.apps.R
-import foundation.e.apps.api.ResultSupreme
-import foundation.e.apps.api.cleanapk.CleanApkRetrofit
-import foundation.e.apps.api.fused.FusedAPIRepository
-import foundation.e.apps.api.fused.data.FusedApp
-import foundation.e.apps.login.LoginSourceRepository
-import foundation.e.apps.manager.database.fusedDownload.FusedDownload
-import foundation.e.apps.manager.fused.FusedManagerRepository
-import foundation.e.apps.manager.workmanager.InstallWorkManager
-import foundation.e.apps.updates.UpdatesNotifier
-import foundation.e.apps.utils.enums.Origin
-import foundation.e.apps.utils.enums.ResultStatus
-import foundation.e.apps.utils.enums.Type
-import foundation.e.apps.utils.enums.User
+import foundation.e.apps.data.ResultSupreme
+import foundation.e.apps.data.cleanapk.CleanApkRetrofit
+import foundation.e.apps.data.enums.Origin
+import foundation.e.apps.data.enums.ResultStatus
+import foundation.e.apps.data.enums.Type
+import foundation.e.apps.data.enums.User
+import foundation.e.apps.data.fused.FusedAPIRepository
+import foundation.e.apps.data.fused.data.FusedApp
+import foundation.e.apps.data.fusedDownload.FusedManagerRepository
+import foundation.e.apps.data.fusedDownload.models.FusedDownload
+import foundation.e.apps.data.login.LoginSourceRepository
+import foundation.e.apps.data.preference.DataStoreManager
+import foundation.e.apps.data.updates.UpdatesManagerRepository
+import foundation.e.apps.install.workmanager.InstallWorkManager
import foundation.e.apps.utils.eventBus.AppEvent
import foundation.e.apps.utils.eventBus.EventBus
-import foundation.e.apps.utils.modules.DataStoreManager
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.delay
import kotlinx.coroutines.withContext
diff --git a/app/src/main/java/foundation/e/apps/manager/workmanager/AppInstallProcessor.kt b/app/src/main/java/foundation/e/apps/install/workmanager/AppInstallProcessor.kt
similarity index 91%
rename from app/src/main/java/foundation/e/apps/manager/workmanager/AppInstallProcessor.kt
rename to app/src/main/java/foundation/e/apps/install/workmanager/AppInstallProcessor.kt
index 0d8d7507497c88b93732a60e484f26b8542cc78b..85020e64ec92bd636060684369ff5f1b439fe85d 100644
--- a/app/src/main/java/foundation/e/apps/manager/workmanager/AppInstallProcessor.kt
+++ b/app/src/main/java/foundation/e/apps/install/workmanager/AppInstallProcessor.kt
@@ -16,20 +16,20 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.manager.workmanager
+package foundation.e.apps.install.workmanager
import android.content.Context
import dagger.hilt.android.qualifiers.ApplicationContext
import foundation.e.apps.R
-import foundation.e.apps.api.fused.UpdatesDao
-import foundation.e.apps.manager.database.DatabaseRepository
-import foundation.e.apps.manager.database.fusedDownload.FusedDownload
-import foundation.e.apps.manager.fused.FusedManagerRepository
-import foundation.e.apps.updates.UpdatesNotifier
-import foundation.e.apps.utils.enums.ResultStatus
-import foundation.e.apps.utils.enums.Status
+import foundation.e.apps.data.enums.ResultStatus
+import foundation.e.apps.data.enums.Status
+import foundation.e.apps.data.fused.UpdatesDao
+import foundation.e.apps.data.fusedDownload.FusedDownloadRepository
+import foundation.e.apps.data.fusedDownload.FusedManagerRepository
+import foundation.e.apps.data.fusedDownload.models.FusedDownload
+import foundation.e.apps.data.preference.DataStoreManager
+import foundation.e.apps.install.updates.UpdatesNotifier
import foundation.e.apps.utils.getFormattedString
-import foundation.e.apps.utils.modules.DataStoreManager
import kotlinx.coroutines.flow.transformWhile
import timber.log.Timber
import java.text.NumberFormat
@@ -38,7 +38,7 @@ import javax.inject.Inject
class AppInstallProcessor @Inject constructor(
@ApplicationContext private val context: Context,
- private val databaseRepository: DatabaseRepository,
+ private val fusedDownloadRepository: FusedDownloadRepository,
private val fusedManagerRepository: FusedManagerRepository,
private val dataStoreManager: DataStoreManager
) {
@@ -59,7 +59,7 @@ class AppInstallProcessor @Inject constructor(
try {
Timber.d("Fused download name $fusedDownloadId")
- fusedDownload = databaseRepository.getDownloadById(fusedDownloadId)
+ fusedDownload = fusedDownloadRepository.getDownloadById(fusedDownloadId)
Timber.i(">>> dowork started for Fused download name " + fusedDownload?.name + " " + fusedDownloadId)
fusedDownload?.let {
@@ -127,7 +127,7 @@ class AppInstallProcessor @Inject constructor(
private suspend fun isUpdateCompleted(): Boolean {
val downloadListWithoutAnyIssue =
- databaseRepository.getDownloadList()
+ fusedDownloadRepository.getDownloadList()
.filter {
!listOf(
Status.INSTALLATION_ISSUE,
@@ -159,7 +159,7 @@ class AppInstallProcessor @Inject constructor(
Timber.i("===> doWork: Download started ${fusedDownload.name} ${fusedDownload.status}")
}
- databaseRepository.getDownloadFlowById(fusedDownload.id)
+ fusedDownloadRepository.getDownloadFlowById(fusedDownload.id)
.transformWhile {
emit(it)
isInstallRunning(it)
diff --git a/app/src/main/java/foundation/e/apps/manager/workmanager/InstallAppWorker.kt b/app/src/main/java/foundation/e/apps/install/workmanager/InstallAppWorker.kt
similarity index 98%
rename from app/src/main/java/foundation/e/apps/manager/workmanager/InstallAppWorker.kt
rename to app/src/main/java/foundation/e/apps/install/workmanager/InstallAppWorker.kt
index 01fc3e291d2d72ef65c26bf434d88c949a8b62f4..5edf4dff477ea5bf1cc460af11abd714af3aa992 100644
--- a/app/src/main/java/foundation/e/apps/manager/workmanager/InstallAppWorker.kt
+++ b/app/src/main/java/foundation/e/apps/install/workmanager/InstallAppWorker.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.manager.workmanager
+package foundation.e.apps.install.workmanager
import android.app.NotificationChannel
import android.app.NotificationManager
diff --git a/app/src/main/java/foundation/e/apps/manager/workmanager/InstallWorkManager.kt b/app/src/main/java/foundation/e/apps/install/workmanager/InstallWorkManager.kt
similarity index 92%
rename from app/src/main/java/foundation/e/apps/manager/workmanager/InstallWorkManager.kt
rename to app/src/main/java/foundation/e/apps/install/workmanager/InstallWorkManager.kt
index 3c777c8dde4f92c18f16301a66aa30eea89fe1a2..aa838b785e38861ecb9d4d16332a6e94ab9188c8 100644
--- a/app/src/main/java/foundation/e/apps/manager/workmanager/InstallWorkManager.kt
+++ b/app/src/main/java/foundation/e/apps/install/workmanager/InstallWorkManager.kt
@@ -1,11 +1,11 @@
-package foundation.e.apps.manager.workmanager
+package foundation.e.apps.install.workmanager
import android.app.Application
import androidx.work.Data
import androidx.work.ExistingWorkPolicy
import androidx.work.OneTimeWorkRequestBuilder
import androidx.work.WorkManager
-import foundation.e.apps.manager.database.fusedDownload.FusedDownload
+import foundation.e.apps.data.fusedDownload.models.FusedDownload
import java.lang.Exception
object InstallWorkManager {
diff --git a/app/src/main/java/foundation/e/apps/AppInfoFetchViewModel.kt b/app/src/main/java/foundation/e/apps/ui/AppInfoFetchViewModel.kt
similarity index 84%
rename from app/src/main/java/foundation/e/apps/AppInfoFetchViewModel.kt
rename to app/src/main/java/foundation/e/apps/ui/AppInfoFetchViewModel.kt
index 1cc1de5f8f6573f4a9032a6eca8d1de4048bb4f3..9aa0ec8a96f55e35cc438369695b4baa780fb45b 100644
--- a/app/src/main/java/foundation/e/apps/AppInfoFetchViewModel.kt
+++ b/app/src/main/java/foundation/e/apps/ui/AppInfoFetchViewModel.kt
@@ -1,4 +1,4 @@
-package foundation.e.apps
+package foundation.e.apps.ui
import androidx.lifecycle.LiveData
import androidx.lifecycle.ViewModel
@@ -6,12 +6,12 @@ import androidx.lifecycle.liveData
import com.aurora.gplayapi.data.models.AuthData
import com.google.gson.Gson
import dagger.hilt.android.lifecycle.HiltViewModel
-import foundation.e.apps.api.cleanapk.blockedApps.BlockedAppRepository
-import foundation.e.apps.api.faultyApps.FaultyAppRepository
-import foundation.e.apps.api.fdroid.FdroidRepository
-import foundation.e.apps.api.fused.data.FusedApp
-import foundation.e.apps.api.gplay.GPlayAPIRepository
-import foundation.e.apps.utils.modules.DataStoreModule
+import foundation.e.apps.data.blockedApps.BlockedAppRepository
+import foundation.e.apps.data.faultyApps.FaultyAppRepository
+import foundation.e.apps.data.fdroid.FdroidRepository
+import foundation.e.apps.data.fused.data.FusedApp
+import foundation.e.apps.data.gplay.GPlayAPIRepository
+import foundation.e.apps.data.preference.DataStoreModule
import javax.inject.Inject
/**
diff --git a/app/src/main/java/foundation/e/apps/AppProgressViewModel.kt b/app/src/main/java/foundation/e/apps/ui/AppProgressViewModel.kt
similarity index 82%
rename from app/src/main/java/foundation/e/apps/AppProgressViewModel.kt
rename to app/src/main/java/foundation/e/apps/ui/AppProgressViewModel.kt
index 2b791032efd7a6be023f4e685097bbe4ab8dc03d..3ab4ce0d8c3b760043b76d0ff08a7ece7897bc8c 100644
--- a/app/src/main/java/foundation/e/apps/AppProgressViewModel.kt
+++ b/app/src/main/java/foundation/e/apps/ui/AppProgressViewModel.kt
@@ -16,14 +16,14 @@
* along with this program. If not, see .
*/
-package foundation.e.apps
+package foundation.e.apps.ui
import androidx.lifecycle.ViewModel
import dagger.hilt.android.lifecycle.HiltViewModel
-import foundation.e.apps.api.fused.data.FusedApp
-import foundation.e.apps.manager.download.data.DownloadProgress
-import foundation.e.apps.manager.download.data.DownloadProgressLD
-import foundation.e.apps.manager.fused.FusedManagerRepository
+import foundation.e.apps.data.fused.data.FusedApp
+import foundation.e.apps.data.fusedDownload.FusedManagerRepository
+import foundation.e.apps.install.download.data.DownloadProgress
+import foundation.e.apps.install.download.data.DownloadProgressLD
import javax.inject.Inject
@HiltViewModel
diff --git a/app/src/main/java/foundation/e/apps/MainActivity.kt b/app/src/main/java/foundation/e/apps/ui/MainActivity.kt
similarity index 92%
rename from app/src/main/java/foundation/e/apps/MainActivity.kt
rename to app/src/main/java/foundation/e/apps/ui/MainActivity.kt
index dd3b075e295074e8697f30254a05fe537f0de78f..fb76120bdaff69d9b3b16f7905f61e3ab00dbc4f 100644
--- a/app/src/main/java/foundation/e/apps/MainActivity.kt
+++ b/app/src/main/java/foundation/e/apps/ui/MainActivity.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps
+package foundation.e.apps.ui
import android.app.usage.StorageStatsManager
import android.os.Build
@@ -40,21 +40,22 @@ import com.aurora.gplayapi.exceptions.ApiException
import com.google.android.material.bottomnavigation.BottomNavigationView
import com.google.android.material.snackbar.Snackbar
import dagger.hilt.android.AndroidEntryPoint
-import foundation.e.apps.application.subFrags.ApplicationDialogFragment
+import foundation.e.apps.R
+import foundation.e.apps.data.enums.Status
+import foundation.e.apps.data.fusedDownload.models.FusedDownload
+import foundation.e.apps.data.login.AuthObject
+import foundation.e.apps.data.login.LoginViewModel
+import foundation.e.apps.data.login.exceptions.GPlayValidationException
import foundation.e.apps.databinding.ActivityMainBinding
-import foundation.e.apps.login.AuthObject
-import foundation.e.apps.login.LoginViewModel
-import foundation.e.apps.manager.database.fusedDownload.FusedDownload
-import foundation.e.apps.manager.workmanager.InstallWorkManager
-import foundation.e.apps.purchase.AppPurchaseFragmentDirections
-import foundation.e.apps.settings.SettingsFragment
-import foundation.e.apps.setup.signin.SignInViewModel
-import foundation.e.apps.updates.UpdatesNotifier
-import foundation.e.apps.utils.enums.Status
+import foundation.e.apps.install.updates.UpdatesNotifier
+import foundation.e.apps.install.workmanager.InstallWorkManager
+import foundation.e.apps.ui.application.subFrags.ApplicationDialogFragment
+import foundation.e.apps.ui.purchase.AppPurchaseFragmentDirections
+import foundation.e.apps.ui.settings.SettingsFragment
+import foundation.e.apps.ui.setup.signin.SignInViewModel
+import foundation.e.apps.utils.CommonUtilsFunctions
import foundation.e.apps.utils.eventBus.AppEvent
import foundation.e.apps.utils.eventBus.EventBus
-import foundation.e.apps.utils.exceptions.GPlayValidationException
-import foundation.e.apps.utils.modules.CommonUtilsFunctions
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.flow.distinctUntilChanged
import kotlinx.coroutines.flow.filter
diff --git a/app/src/main/java/foundation/e/apps/MainActivityViewModel.kt b/app/src/main/java/foundation/e/apps/ui/MainActivityViewModel.kt
similarity index 91%
rename from app/src/main/java/foundation/e/apps/MainActivityViewModel.kt
rename to app/src/main/java/foundation/e/apps/ui/MainActivityViewModel.kt
index e769ba46b2e4ee62aaad3787b5b843a342694aff..07ccbacc0f45444a6ccd6d81427bf02be8971d8a 100644
--- a/app/src/main/java/foundation/e/apps/MainActivityViewModel.kt
+++ b/app/src/main/java/foundation/e/apps/ui/MainActivityViewModel.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps
+package foundation.e.apps.ui
import android.content.Context
import android.content.Intent
@@ -40,21 +40,22 @@ import androidx.lifecycle.viewModelScope
import com.aurora.gplayapi.data.models.AuthData
import com.aurora.gplayapi.exceptions.ApiException
import dagger.hilt.android.lifecycle.HiltViewModel
-import foundation.e.apps.api.cleanapk.blockedApps.BlockedAppRepository
-import foundation.e.apps.api.ecloud.EcloudRepository
-import foundation.e.apps.api.fused.FusedAPIRepository
-import foundation.e.apps.api.fused.data.FusedApp
-import foundation.e.apps.manager.database.fusedDownload.FusedDownload
-import foundation.e.apps.manager.fused.FusedManagerRepository
-import foundation.e.apps.manager.pkg.PkgManagerModule
-import foundation.e.apps.utils.enums.Origin
-import foundation.e.apps.utils.enums.Status
-import foundation.e.apps.utils.enums.Type
-import foundation.e.apps.utils.enums.User
-import foundation.e.apps.utils.enums.isInitialized
-import foundation.e.apps.utils.enums.isUnFiltered
-import foundation.e.apps.utils.modules.DataStoreModule
-import foundation.e.apps.utils.modules.PWAManagerModule
+import foundation.e.apps.R
+import foundation.e.apps.data.blockedApps.BlockedAppRepository
+import foundation.e.apps.data.ecloud.EcloudRepository
+import foundation.e.apps.data.enums.Origin
+import foundation.e.apps.data.enums.Status
+import foundation.e.apps.data.enums.Type
+import foundation.e.apps.data.enums.User
+import foundation.e.apps.data.enums.isInitialized
+import foundation.e.apps.data.enums.isUnFiltered
+import foundation.e.apps.data.fused.FusedAPIRepository
+import foundation.e.apps.data.fused.data.FusedApp
+import foundation.e.apps.data.fusedDownload.FusedManagerRepository
+import foundation.e.apps.data.fusedDownload.models.FusedDownload
+import foundation.e.apps.data.preference.DataStoreModule
+import foundation.e.apps.install.pkg.PWAManagerModule
+import foundation.e.apps.install.pkg.PkgManagerModule
import kotlinx.coroutines.channels.ProducerScope
import kotlinx.coroutines.channels.awaitClose
import kotlinx.coroutines.flow.callbackFlow
diff --git a/app/src/main/java/foundation/e/apps/PrivacyInfoViewModel.kt b/app/src/main/java/foundation/e/apps/ui/PrivacyInfoViewModel.kt
similarity index 86%
rename from app/src/main/java/foundation/e/apps/PrivacyInfoViewModel.kt
rename to app/src/main/java/foundation/e/apps/ui/PrivacyInfoViewModel.kt
index ae4322e219ee953ac1feb3bb24f5b9fb8dbd0acf..6dfd016501f523626d4821cf0b682cbe28420033 100644
--- a/app/src/main/java/foundation/e/apps/PrivacyInfoViewModel.kt
+++ b/app/src/main/java/foundation/e/apps/ui/PrivacyInfoViewModel.kt
@@ -1,13 +1,13 @@
-package foundation.e.apps
+package foundation.e.apps.ui
import androidx.lifecycle.LiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.liveData
import dagger.hilt.android.lifecycle.HiltViewModel
-import foundation.e.apps.api.Result
-import foundation.e.apps.api.exodus.models.AppPrivacyInfo
-import foundation.e.apps.api.exodus.repositories.IAppPrivacyInfoRepository
-import foundation.e.apps.api.fused.data.FusedApp
+import foundation.e.apps.data.Result
+import foundation.e.apps.data.exodus.models.AppPrivacyInfo
+import foundation.e.apps.data.exodus.repositories.IAppPrivacyInfoRepository
+import foundation.e.apps.data.fused.data.FusedApp
import javax.inject.Inject
@HiltViewModel
diff --git a/app/src/main/java/foundation/e/apps/application/ApplicationFragment.kt b/app/src/main/java/foundation/e/apps/ui/application/ApplicationFragment.kt
similarity index 96%
rename from app/src/main/java/foundation/e/apps/application/ApplicationFragment.kt
rename to app/src/main/java/foundation/e/apps/ui/application/ApplicationFragment.kt
index 982785769c189c37b6ef1ba3baafd274b40de85b..5f4970fac00bd989cb51e3fcc4551513e563a86d 100644
--- a/app/src/main/java/foundation/e/apps/application/ApplicationFragment.kt
+++ b/app/src/main/java/foundation/e/apps/ui/application/ApplicationFragment.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.application
+package foundation.e.apps.ui.application
import android.content.Intent
import android.graphics.Color
@@ -44,28 +44,28 @@ import com.google.android.material.button.MaterialButton
import com.google.android.material.snackbar.Snackbar
import com.google.android.material.textview.MaterialTextView
import dagger.hilt.android.AndroidEntryPoint
-import foundation.e.apps.AppInfoFetchViewModel
-import foundation.e.apps.MainActivity
-import foundation.e.apps.MainActivityViewModel
-import foundation.e.apps.PrivacyInfoViewModel
import foundation.e.apps.R
-import foundation.e.apps.api.cleanapk.CleanApkRetrofit
-import foundation.e.apps.api.fused.data.FusedApp
-import foundation.e.apps.application.model.ApplicationScreenshotsRVAdapter
-import foundation.e.apps.application.subFrags.ApplicationDialogFragment
+import foundation.e.apps.data.cleanapk.CleanApkRetrofit
+import foundation.e.apps.data.enums.Origin
+import foundation.e.apps.data.enums.ResultStatus
+import foundation.e.apps.data.enums.Status
+import foundation.e.apps.data.enums.User
+import foundation.e.apps.data.enums.isInitialized
+import foundation.e.apps.data.fused.data.FusedApp
+import foundation.e.apps.data.login.AuthObject
+import foundation.e.apps.data.login.exceptions.GPlayLoginException
import foundation.e.apps.databinding.FragmentApplicationBinding
-import foundation.e.apps.login.AuthObject
-import foundation.e.apps.manager.download.data.DownloadProgress
-import foundation.e.apps.manager.pkg.PkgManagerModule
-import foundation.e.apps.utils.enums.Origin
-import foundation.e.apps.utils.enums.ResultStatus
-import foundation.e.apps.utils.enums.Status
-import foundation.e.apps.utils.enums.User
-import foundation.e.apps.utils.enums.isInitialized
-import foundation.e.apps.utils.exceptions.GPlayLoginException
-import foundation.e.apps.utils.modules.CommonUtilsModule.LIST_OF_NULL
-import foundation.e.apps.utils.modules.PWAManagerModule
-import foundation.e.apps.utils.parentFragment.TimeoutFragment
+import foundation.e.apps.di.CommonUtilsModule.LIST_OF_NULL
+import foundation.e.apps.install.download.data.DownloadProgress
+import foundation.e.apps.install.pkg.PWAManagerModule
+import foundation.e.apps.install.pkg.PkgManagerModule
+import foundation.e.apps.ui.AppInfoFetchViewModel
+import foundation.e.apps.ui.MainActivity
+import foundation.e.apps.ui.MainActivityViewModel
+import foundation.e.apps.ui.PrivacyInfoViewModel
+import foundation.e.apps.ui.application.model.ApplicationScreenshotsRVAdapter
+import foundation.e.apps.ui.application.subFrags.ApplicationDialogFragment
+import foundation.e.apps.ui.parentFragment.TimeoutFragment
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import timber.log.Timber
diff --git a/app/src/main/java/foundation/e/apps/application/ApplicationViewModel.kt b/app/src/main/java/foundation/e/apps/ui/application/ApplicationViewModel.kt
similarity index 87%
rename from app/src/main/java/foundation/e/apps/application/ApplicationViewModel.kt
rename to app/src/main/java/foundation/e/apps/ui/application/ApplicationViewModel.kt
index 6ecc40c5c6846471b142949093d78f03c82147e8..3f1889ae157a023058d7c313e5040fc0739d1b89 100644
--- a/app/src/main/java/foundation/e/apps/application/ApplicationViewModel.kt
+++ b/app/src/main/java/foundation/e/apps/ui/application/ApplicationViewModel.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.application
+package foundation.e.apps.ui.application
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.viewModelScope
@@ -24,19 +24,19 @@ import com.aurora.gplayapi.data.models.AuthData
import com.aurora.gplayapi.exceptions.ApiException
import dagger.hilt.android.lifecycle.HiltViewModel
import foundation.e.apps.R
-import foundation.e.apps.api.fused.FusedAPIRepository
-import foundation.e.apps.api.fused.data.FusedApp
-import foundation.e.apps.login.AuthObject
-import foundation.e.apps.manager.database.fusedDownload.FusedDownload
-import foundation.e.apps.manager.download.data.DownloadProgress
-import foundation.e.apps.manager.download.data.DownloadProgressLD
-import foundation.e.apps.manager.fused.FusedManagerRepository
-import foundation.e.apps.utils.enums.Origin
-import foundation.e.apps.utils.enums.ResultStatus
-import foundation.e.apps.utils.enums.Status
-import foundation.e.apps.utils.exceptions.CleanApkException
-import foundation.e.apps.utils.exceptions.GPlayException
-import foundation.e.apps.utils.parentFragment.LoadingViewModel
+import foundation.e.apps.data.enums.Origin
+import foundation.e.apps.data.enums.ResultStatus
+import foundation.e.apps.data.enums.Status
+import foundation.e.apps.data.fused.FusedAPIRepository
+import foundation.e.apps.data.fused.data.FusedApp
+import foundation.e.apps.data.fusedDownload.FusedManagerRepository
+import foundation.e.apps.data.fusedDownload.models.FusedDownload
+import foundation.e.apps.data.login.AuthObject
+import foundation.e.apps.data.login.exceptions.CleanApkException
+import foundation.e.apps.data.login.exceptions.GPlayException
+import foundation.e.apps.install.download.data.DownloadProgress
+import foundation.e.apps.install.download.data.DownloadProgressLD
+import foundation.e.apps.ui.parentFragment.LoadingViewModel
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import javax.inject.Inject
diff --git a/app/src/main/java/foundation/e/apps/application/model/ApplicationScreenshotsDiffUtil.kt b/app/src/main/java/foundation/e/apps/ui/application/model/ApplicationScreenshotsDiffUtil.kt
similarity index 94%
rename from app/src/main/java/foundation/e/apps/application/model/ApplicationScreenshotsDiffUtil.kt
rename to app/src/main/java/foundation/e/apps/ui/application/model/ApplicationScreenshotsDiffUtil.kt
index a8a84b38ed60cf861b741e993e3c17ae8283f3fd..d68ba25f8f707c1d12f8f253e2f2fa7540d9c24a 100644
--- a/app/src/main/java/foundation/e/apps/application/model/ApplicationScreenshotsDiffUtil.kt
+++ b/app/src/main/java/foundation/e/apps/ui/application/model/ApplicationScreenshotsDiffUtil.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.application.model
+package foundation.e.apps.ui.application.model
import androidx.recyclerview.widget.DiffUtil
diff --git a/app/src/main/java/foundation/e/apps/application/model/ApplicationScreenshotsRVAdapter.kt b/app/src/main/java/foundation/e/apps/ui/application/model/ApplicationScreenshotsRVAdapter.kt
similarity index 90%
rename from app/src/main/java/foundation/e/apps/application/model/ApplicationScreenshotsRVAdapter.kt
rename to app/src/main/java/foundation/e/apps/ui/application/model/ApplicationScreenshotsRVAdapter.kt
index eb121340fc180dbc984667708457872a794a37b7..f5e2cacb5630431e5bd12173b2acc8aef0fffaf2 100644
--- a/app/src/main/java/foundation/e/apps/application/model/ApplicationScreenshotsRVAdapter.kt
+++ b/app/src/main/java/foundation/e/apps/ui/application/model/ApplicationScreenshotsRVAdapter.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.application.model
+package foundation.e.apps.ui.application.model
import android.view.LayoutInflater
import android.view.ViewGroup
@@ -24,10 +24,10 @@ import androidx.navigation.findNavController
import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.RecyclerView
import coil.load
-import foundation.e.apps.api.cleanapk.CleanApkRetrofit
-import foundation.e.apps.application.ApplicationFragmentDirections
+import foundation.e.apps.data.cleanapk.CleanApkRetrofit
+import foundation.e.apps.data.enums.Origin
import foundation.e.apps.databinding.ApplicationScreenshotsListItemBinding
-import foundation.e.apps.utils.enums.Origin
+import foundation.e.apps.ui.application.ApplicationFragmentDirections
class ApplicationScreenshotsRVAdapter(
private val origin: Origin
diff --git a/app/src/main/java/foundation/e/apps/application/model/DepthPageTransformer.kt b/app/src/main/java/foundation/e/apps/ui/application/model/DepthPageTransformer.kt
similarity index 94%
rename from app/src/main/java/foundation/e/apps/application/model/DepthPageTransformer.kt
rename to app/src/main/java/foundation/e/apps/ui/application/model/DepthPageTransformer.kt
index 9984bdd0983fb9d2d9d3ac618b2ce1ba4a9b95d2..727a398141afdf3d44a678853899ecab818976e8 100644
--- a/app/src/main/java/foundation/e/apps/application/model/DepthPageTransformer.kt
+++ b/app/src/main/java/foundation/e/apps/ui/application/model/DepthPageTransformer.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.application.model
+package foundation.e.apps.ui.application.model
import android.view.View
import androidx.viewpager2.widget.ViewPager2
diff --git a/app/src/main/java/foundation/e/apps/application/model/ScreenshotRVAdapter.kt b/app/src/main/java/foundation/e/apps/ui/application/model/ScreenshotRVAdapter.kt
similarity index 92%
rename from app/src/main/java/foundation/e/apps/application/model/ScreenshotRVAdapter.kt
rename to app/src/main/java/foundation/e/apps/ui/application/model/ScreenshotRVAdapter.kt
index 61f2cb0c998e7533478ae11ed3bb8369ce876aac..b5533935dcb117df3db3e063beefa7c9a2561ec3 100644
--- a/app/src/main/java/foundation/e/apps/application/model/ScreenshotRVAdapter.kt
+++ b/app/src/main/java/foundation/e/apps/ui/application/model/ScreenshotRVAdapter.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.application.model
+package foundation.e.apps.ui.application.model
import android.graphics.PorterDuff
import android.graphics.PorterDuffColorFilter
@@ -26,9 +26,9 @@ import androidx.recyclerview.widget.RecyclerView
import androidx.swiperefreshlayout.widget.CircularProgressDrawable
import coil.load
import foundation.e.apps.R
-import foundation.e.apps.api.cleanapk.CleanApkRetrofit
+import foundation.e.apps.data.cleanapk.CleanApkRetrofit
+import foundation.e.apps.data.enums.Origin
import foundation.e.apps.databinding.ScreenshotListItemBinding
-import foundation.e.apps.utils.enums.Origin
class ScreenshotRVAdapter(private val list: List, private val origin: Origin) :
RecyclerView.Adapter() {
diff --git a/app/src/main/java/foundation/e/apps/application/subFrags/ApplicationDialogFragment.kt b/app/src/main/java/foundation/e/apps/ui/application/subFrags/ApplicationDialogFragment.kt
similarity index 96%
rename from app/src/main/java/foundation/e/apps/application/subFrags/ApplicationDialogFragment.kt
rename to app/src/main/java/foundation/e/apps/ui/application/subFrags/ApplicationDialogFragment.kt
index e975c8d0f4e5b087079c6dc48e1989a20b8ce01b..79e0a3081ba47baffaaf4716f56eb246d8eef72a 100644
--- a/app/src/main/java/foundation/e/apps/application/subFrags/ApplicationDialogFragment.kt
+++ b/app/src/main/java/foundation/e/apps/ui/application/subFrags/ApplicationDialogFragment.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.application.subFrags
+package foundation.e.apps.ui.application.subFrags
import android.app.Dialog
import android.os.Bundle
diff --git a/app/src/main/java/foundation/e/apps/application/subFrags/DescriptionFragment.kt b/app/src/main/java/foundation/e/apps/ui/application/subFrags/DescriptionFragment.kt
similarity index 95%
rename from app/src/main/java/foundation/e/apps/application/subFrags/DescriptionFragment.kt
rename to app/src/main/java/foundation/e/apps/ui/application/subFrags/DescriptionFragment.kt
index 2819d9bf1140fb9480f1da2791b465ce8812dfee..590f27d81ae23605aee9cc5e2ca588a1db29e57c 100644
--- a/app/src/main/java/foundation/e/apps/application/subFrags/DescriptionFragment.kt
+++ b/app/src/main/java/foundation/e/apps/ui/application/subFrags/DescriptionFragment.kt
@@ -1,4 +1,4 @@
-package foundation.e.apps.application.subFrags
+package foundation.e.apps.ui.application.subFrags
import android.os.Bundle
import android.text.Html
diff --git a/app/src/main/java/foundation/e/apps/application/subFrags/ScreenshotFragment.kt b/app/src/main/java/foundation/e/apps/ui/application/subFrags/ScreenshotFragment.kt
similarity index 91%
rename from app/src/main/java/foundation/e/apps/application/subFrags/ScreenshotFragment.kt
rename to app/src/main/java/foundation/e/apps/ui/application/subFrags/ScreenshotFragment.kt
index a4fd153917791a3850e22c07e34567da8b6c510d..eb65823eeacb013f5ab823934087a3c03dc60cc7 100644
--- a/app/src/main/java/foundation/e/apps/application/subFrags/ScreenshotFragment.kt
+++ b/app/src/main/java/foundation/e/apps/ui/application/subFrags/ScreenshotFragment.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.application.subFrags
+package foundation.e.apps.ui.application.subFrags
import android.os.Bundle
import android.view.View
@@ -25,9 +25,9 @@ import androidx.navigation.findNavController
import androidx.navigation.fragment.navArgs
import dagger.hilt.android.AndroidEntryPoint
import foundation.e.apps.R
-import foundation.e.apps.application.model.DepthPageTransformer
-import foundation.e.apps.application.model.ScreenshotRVAdapter
import foundation.e.apps.databinding.FragmentScreenshotBinding
+import foundation.e.apps.ui.application.model.DepthPageTransformer
+import foundation.e.apps.ui.application.model.ScreenshotRVAdapter
@AndroidEntryPoint
class ScreenshotFragment : Fragment(R.layout.fragment_screenshot) {
diff --git a/app/src/main/java/foundation/e/apps/applicationlist/ApplicationDiffUtil.kt b/app/src/main/java/foundation/e/apps/ui/applicationlist/ApplicationDiffUtil.kt
similarity index 94%
rename from app/src/main/java/foundation/e/apps/applicationlist/ApplicationDiffUtil.kt
rename to app/src/main/java/foundation/e/apps/ui/applicationlist/ApplicationDiffUtil.kt
index d7595c510ddca384cfb68a13d9273f3064d43ec2..4013e7095c8c6de542a143428aabaf9a129166bf 100644
--- a/app/src/main/java/foundation/e/apps/applicationlist/ApplicationDiffUtil.kt
+++ b/app/src/main/java/foundation/e/apps/ui/applicationlist/ApplicationDiffUtil.kt
@@ -15,11 +15,11 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package foundation.e.apps.applicationlist
+package foundation.e.apps.ui.applicationlist
import androidx.recyclerview.widget.DiffUtil
-import foundation.e.apps.api.fused.data.FusedApp
-import foundation.e.apps.utils.modules.CommonUtilsModule.LIST_OF_NULL
+import foundation.e.apps.data.fused.data.FusedApp
+import foundation.e.apps.di.CommonUtilsModule.LIST_OF_NULL
class ApplicationDiffUtil : DiffUtil.ItemCallback() {
override fun areItemsTheSame(oldItem: FusedApp, newItem: FusedApp): Boolean {
diff --git a/app/src/main/java/foundation/e/apps/applicationlist/ApplicationListFragment.kt b/app/src/main/java/foundation/e/apps/ui/applicationlist/ApplicationListFragment.kt
similarity index 93%
rename from app/src/main/java/foundation/e/apps/applicationlist/ApplicationListFragment.kt
rename to app/src/main/java/foundation/e/apps/ui/applicationlist/ApplicationListFragment.kt
index 881919e63ff4fd1ed30675e7ec12f70a62990b97..3d607d1374b9166c43c6becf194d99e5ea076c1c 100644
--- a/app/src/main/java/foundation/e/apps/applicationlist/ApplicationListFragment.kt
+++ b/app/src/main/java/foundation/e/apps/ui/applicationlist/ApplicationListFragment.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.applicationlist
+package foundation.e.apps.ui.applicationlist
import android.os.Bundle
import android.view.View
@@ -31,23 +31,23 @@ import androidx.navigation.fragment.navArgs
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import dagger.hilt.android.AndroidEntryPoint
-import foundation.e.apps.AppInfoFetchViewModel
-import foundation.e.apps.AppProgressViewModel
-import foundation.e.apps.MainActivityViewModel
-import foundation.e.apps.PrivacyInfoViewModel
import foundation.e.apps.R
-import foundation.e.apps.api.ResultSupreme
-import foundation.e.apps.api.fused.FusedAPIInterface
-import foundation.e.apps.api.fused.data.FusedApp
-import foundation.e.apps.application.subFrags.ApplicationDialogFragment
+import foundation.e.apps.data.ResultSupreme
+import foundation.e.apps.data.enums.Status
+import foundation.e.apps.data.fused.FusedAPIInterface
+import foundation.e.apps.data.fused.data.FusedApp
+import foundation.e.apps.data.login.AuthObject
+import foundation.e.apps.data.login.exceptions.GPlayLoginException
import foundation.e.apps.databinding.FragmentApplicationListBinding
-import foundation.e.apps.login.AuthObject
-import foundation.e.apps.manager.download.data.DownloadProgress
-import foundation.e.apps.manager.pkg.PkgManagerModule
-import foundation.e.apps.utils.enums.Status
-import foundation.e.apps.utils.exceptions.GPlayLoginException
-import foundation.e.apps.utils.modules.PWAManagerModule
-import foundation.e.apps.utils.parentFragment.TimeoutFragment
+import foundation.e.apps.install.download.data.DownloadProgress
+import foundation.e.apps.install.pkg.PWAManagerModule
+import foundation.e.apps.install.pkg.PkgManagerModule
+import foundation.e.apps.ui.AppInfoFetchViewModel
+import foundation.e.apps.ui.AppProgressViewModel
+import foundation.e.apps.ui.MainActivityViewModel
+import foundation.e.apps.ui.PrivacyInfoViewModel
+import foundation.e.apps.ui.application.subFrags.ApplicationDialogFragment
+import foundation.e.apps.ui.parentFragment.TimeoutFragment
import kotlinx.coroutines.launch
import javax.inject.Inject
diff --git a/app/src/main/java/foundation/e/apps/applicationlist/ApplicationListRVAdapter.kt b/app/src/main/java/foundation/e/apps/ui/applicationlist/ApplicationListRVAdapter.kt
similarity index 94%
rename from app/src/main/java/foundation/e/apps/applicationlist/ApplicationListRVAdapter.kt
rename to app/src/main/java/foundation/e/apps/ui/applicationlist/ApplicationListRVAdapter.kt
index 3e669f31e68bbd4655efd09b8c18a3625effa933..e39ca0d9a30f9884ca4ed21915d7758faae1d5f0 100644
--- a/app/src/main/java/foundation/e/apps/applicationlist/ApplicationListRVAdapter.kt
+++ b/app/src/main/java/foundation/e/apps/ui/applicationlist/ApplicationListRVAdapter.kt
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.applicationlist
+package foundation.e.apps.ui.applicationlist
import android.util.Log
import android.view.LayoutInflater
@@ -36,22 +36,22 @@ import com.facebook.shimmer.Shimmer.Direction.LEFT_TO_RIGHT
import com.facebook.shimmer.ShimmerDrawable
import com.google.android.material.button.MaterialButton
import com.google.android.material.snackbar.Snackbar
-import foundation.e.apps.AppInfoFetchViewModel
-import foundation.e.apps.MainActivityViewModel
-import foundation.e.apps.PrivacyInfoViewModel
import foundation.e.apps.R
-import foundation.e.apps.api.cleanapk.CleanApkRetrofit
-import foundation.e.apps.api.fused.FusedAPIInterface
-import foundation.e.apps.api.fused.data.FusedApp
+import foundation.e.apps.data.cleanapk.CleanApkRetrofit
+import foundation.e.apps.data.enums.Origin
+import foundation.e.apps.data.enums.Status
+import foundation.e.apps.data.enums.User
+import foundation.e.apps.data.fused.FusedAPIInterface
+import foundation.e.apps.data.fused.data.FusedApp
import foundation.e.apps.databinding.ApplicationListItemBinding
-import foundation.e.apps.manager.pkg.InstallerService
-import foundation.e.apps.search.SearchFragmentDirections
-import foundation.e.apps.updates.UpdatesFragmentDirections
+import foundation.e.apps.install.pkg.InstallerService
+import foundation.e.apps.ui.AppInfoFetchViewModel
+import foundation.e.apps.ui.MainActivityViewModel
+import foundation.e.apps.ui.PrivacyInfoViewModel
+import foundation.e.apps.ui.search.SearchFragmentDirections
+import foundation.e.apps.ui.updates.UpdatesFragmentDirections
import foundation.e.apps.utils.disableInstallButton
import foundation.e.apps.utils.enableInstallButton
-import foundation.e.apps.utils.enums.Origin
-import foundation.e.apps.utils.enums.Status
-import foundation.e.apps.utils.enums.User
import timber.log.Timber
import javax.inject.Singleton
diff --git a/app/src/main/java/foundation/e/apps/applicationlist/ApplicationListViewModel.kt b/app/src/main/java/foundation/e/apps/ui/applicationlist/ApplicationListViewModel.kt
similarity index 90%
rename from app/src/main/java/foundation/e/apps/applicationlist/ApplicationListViewModel.kt
rename to app/src/main/java/foundation/e/apps/ui/applicationlist/ApplicationListViewModel.kt
index 7eb43ebe43d0db663822cf4c83dabf389600fc19..b73b66db0b6b8ea7bbb8c4e29b332da7db494da1 100644
--- a/app/src/main/java/foundation/e/apps/applicationlist/ApplicationListViewModel.kt
+++ b/app/src/main/java/foundation/e/apps/ui/applicationlist/ApplicationListViewModel.kt
@@ -16,19 +16,19 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.applicationlist
+package foundation.e.apps.ui.applicationlist
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.viewModelScope
import com.aurora.gplayapi.data.models.AuthData
import dagger.hilt.android.lifecycle.HiltViewModel
-import foundation.e.apps.api.ResultSupreme
-import foundation.e.apps.api.fused.FusedAPIRepository
-import foundation.e.apps.api.fused.data.FusedApp
-import foundation.e.apps.login.AuthObject
-import foundation.e.apps.utils.exceptions.CleanApkException
-import foundation.e.apps.utils.exceptions.GPlayException
-import foundation.e.apps.utils.parentFragment.LoadingViewModel
+import foundation.e.apps.data.ResultSupreme
+import foundation.e.apps.data.fused.FusedAPIRepository
+import foundation.e.apps.data.fused.data.FusedApp
+import foundation.e.apps.data.login.AuthObject
+import foundation.e.apps.data.login.exceptions.CleanApkException
+import foundation.e.apps.data.login.exceptions.GPlayException
+import foundation.e.apps.ui.parentFragment.LoadingViewModel
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import javax.inject.Inject
diff --git a/app/src/main/java/foundation/e/apps/categories/AppsFragment.kt b/app/src/main/java/foundation/e/apps/ui/categories/AppsFragment.kt
similarity index 91%
rename from app/src/main/java/foundation/e/apps/categories/AppsFragment.kt
rename to app/src/main/java/foundation/e/apps/ui/categories/AppsFragment.kt
index 6838af7746eb69884971040964e91e73e7aefbdd..af0383c0dca7bf2bf80a5a227364cfe4669721fe 100644
--- a/app/src/main/java/foundation/e/apps/categories/AppsFragment.kt
+++ b/app/src/main/java/foundation/e/apps/ui/categories/AppsFragment.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.categories
+package foundation.e.apps.ui.categories
import android.os.Bundle
import android.view.View
@@ -25,14 +25,14 @@ import androidx.fragment.app.activityViewModels
import androidx.fragment.app.viewModels
import androidx.recyclerview.widget.LinearLayoutManager
import dagger.hilt.android.AndroidEntryPoint
-import foundation.e.apps.MainActivityViewModel
import foundation.e.apps.R
-import foundation.e.apps.api.fused.utils.CategoryType
-import foundation.e.apps.categories.model.CategoriesRVAdapter
+import foundation.e.apps.data.fused.utils.CategoryType
+import foundation.e.apps.data.login.AuthObject
+import foundation.e.apps.data.login.exceptions.GPlayLoginException
import foundation.e.apps.databinding.FragmentAppsBinding
-import foundation.e.apps.login.AuthObject
-import foundation.e.apps.utils.exceptions.GPlayLoginException
-import foundation.e.apps.utils.parentFragment.TimeoutFragment
+import foundation.e.apps.ui.MainActivityViewModel
+import foundation.e.apps.ui.categories.model.CategoriesRVAdapter
+import foundation.e.apps.ui.parentFragment.TimeoutFragment
@AndroidEntryPoint
class AppsFragment : TimeoutFragment(R.layout.fragment_apps) {
diff --git a/app/src/main/java/foundation/e/apps/categories/CategoriesFragment.kt b/app/src/main/java/foundation/e/apps/ui/categories/CategoriesFragment.kt
similarity index 95%
rename from app/src/main/java/foundation/e/apps/categories/CategoriesFragment.kt
rename to app/src/main/java/foundation/e/apps/ui/categories/CategoriesFragment.kt
index 59e94943538673006824dbf3a85234ad5edc0c1a..c6badc4d12dbb6c612966ec0d8e3ad7744a7fc27 100644
--- a/app/src/main/java/foundation/e/apps/categories/CategoriesFragment.kt
+++ b/app/src/main/java/foundation/e/apps/ui/categories/CategoriesFragment.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.categories
+package foundation.e.apps.ui.categories
import android.os.Bundle
import android.view.View
@@ -24,8 +24,8 @@ import androidx.fragment.app.Fragment
import com.google.android.material.tabs.TabLayoutMediator
import dagger.hilt.android.AndroidEntryPoint
import foundation.e.apps.R
-import foundation.e.apps.categories.model.CategoriesVPAdapter
import foundation.e.apps.databinding.FragmentCategoriesBinding
+import foundation.e.apps.ui.categories.model.CategoriesVPAdapter
@AndroidEntryPoint
class CategoriesFragment : Fragment(R.layout.fragment_categories) {
diff --git a/app/src/main/java/foundation/e/apps/categories/CategoriesViewModel.kt b/app/src/main/java/foundation/e/apps/ui/categories/CategoriesViewModel.kt
similarity index 83%
rename from app/src/main/java/foundation/e/apps/categories/CategoriesViewModel.kt
rename to app/src/main/java/foundation/e/apps/ui/categories/CategoriesViewModel.kt
index 9cb65211255dc452eec531c22ffbf0f5f0178c55..73b76d791142f707d905becafd12a49fa995496a 100644
--- a/app/src/main/java/foundation/e/apps/categories/CategoriesViewModel.kt
+++ b/app/src/main/java/foundation/e/apps/ui/categories/CategoriesViewModel.kt
@@ -16,20 +16,20 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.categories
+package foundation.e.apps.ui.categories
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.viewModelScope
import com.aurora.gplayapi.data.models.AuthData
import dagger.hilt.android.lifecycle.HiltViewModel
-import foundation.e.apps.api.fused.FusedAPIRepository
-import foundation.e.apps.api.fused.data.FusedCategory
-import foundation.e.apps.api.fused.utils.CategoryType
-import foundation.e.apps.login.AuthObject
-import foundation.e.apps.utils.enums.ResultStatus
-import foundation.e.apps.utils.exceptions.CleanApkException
-import foundation.e.apps.utils.exceptions.GPlayException
-import foundation.e.apps.utils.parentFragment.LoadingViewModel
+import foundation.e.apps.data.enums.ResultStatus
+import foundation.e.apps.data.fused.FusedAPIRepository
+import foundation.e.apps.data.fused.data.FusedCategory
+import foundation.e.apps.data.fused.utils.CategoryType
+import foundation.e.apps.data.login.AuthObject
+import foundation.e.apps.data.login.exceptions.CleanApkException
+import foundation.e.apps.data.login.exceptions.GPlayException
+import foundation.e.apps.ui.parentFragment.LoadingViewModel
import kotlinx.coroutines.launch
import javax.inject.Inject
diff --git a/app/src/main/java/foundation/e/apps/categories/GamesFragment.kt b/app/src/main/java/foundation/e/apps/ui/categories/GamesFragment.kt
similarity index 91%
rename from app/src/main/java/foundation/e/apps/categories/GamesFragment.kt
rename to app/src/main/java/foundation/e/apps/ui/categories/GamesFragment.kt
index 76ccada5a1fc38aa82644031b1f22a372105052f..8f8f11fdbf5c6d0cc83d7240de196a13da0094e3 100644
--- a/app/src/main/java/foundation/e/apps/categories/GamesFragment.kt
+++ b/app/src/main/java/foundation/e/apps/ui/categories/GamesFragment.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.categories
+package foundation.e.apps.ui.categories
import android.os.Bundle
import android.view.View
@@ -25,14 +25,14 @@ import androidx.fragment.app.activityViewModels
import androidx.fragment.app.viewModels
import androidx.recyclerview.widget.LinearLayoutManager
import dagger.hilt.android.AndroidEntryPoint
-import foundation.e.apps.MainActivityViewModel
import foundation.e.apps.R
-import foundation.e.apps.api.fused.utils.CategoryType
-import foundation.e.apps.categories.model.CategoriesRVAdapter
+import foundation.e.apps.data.fused.utils.CategoryType
+import foundation.e.apps.data.login.AuthObject
+import foundation.e.apps.data.login.exceptions.GPlayLoginException
import foundation.e.apps.databinding.FragmentGamesBinding
-import foundation.e.apps.login.AuthObject
-import foundation.e.apps.utils.exceptions.GPlayLoginException
-import foundation.e.apps.utils.parentFragment.TimeoutFragment
+import foundation.e.apps.ui.MainActivityViewModel
+import foundation.e.apps.ui.categories.model.CategoriesRVAdapter
+import foundation.e.apps.ui.parentFragment.TimeoutFragment
@AndroidEntryPoint
class GamesFragment : TimeoutFragment(R.layout.fragment_games) {
diff --git a/app/src/main/java/foundation/e/apps/categories/model/CategoriesDiffUtil.kt b/app/src/main/java/foundation/e/apps/ui/categories/model/CategoriesDiffUtil.kt
similarity index 92%
rename from app/src/main/java/foundation/e/apps/categories/model/CategoriesDiffUtil.kt
rename to app/src/main/java/foundation/e/apps/ui/categories/model/CategoriesDiffUtil.kt
index 8f9a1cb1b24b4b74e3847cb4fd1e98611eb2a1d3..23503db56457c649e4a8570391933ab537a17550 100644
--- a/app/src/main/java/foundation/e/apps/categories/model/CategoriesDiffUtil.kt
+++ b/app/src/main/java/foundation/e/apps/ui/categories/model/CategoriesDiffUtil.kt
@@ -16,10 +16,10 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.categories.model
+package foundation.e.apps.ui.categories.model
import androidx.recyclerview.widget.DiffUtil
-import foundation.e.apps.api.fused.data.FusedCategory
+import foundation.e.apps.data.fused.data.FusedCategory
class CategoriesDiffUtil(
private val oldList: List,
diff --git a/app/src/main/java/foundation/e/apps/categories/model/CategoriesRVAdapter.kt b/app/src/main/java/foundation/e/apps/ui/categories/model/CategoriesRVAdapter.kt
similarity index 92%
rename from app/src/main/java/foundation/e/apps/categories/model/CategoriesRVAdapter.kt
rename to app/src/main/java/foundation/e/apps/ui/categories/model/CategoriesRVAdapter.kt
index f98cf1ce76e4906ccb41db36333201f741e68538..c9d118290b75bf0ee620060dc208ed293cc7c92d 100644
--- a/app/src/main/java/foundation/e/apps/categories/model/CategoriesRVAdapter.kt
+++ b/app/src/main/java/foundation/e/apps/ui/categories/model/CategoriesRVAdapter.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.categories.model
+package foundation.e.apps.ui.categories.model
import android.view.LayoutInflater
import android.view.View
@@ -25,9 +25,9 @@ import androidx.navigation.findNavController
import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.RecyclerView
import coil.load
-import foundation.e.apps.api.fused.data.FusedCategory
-import foundation.e.apps.categories.CategoriesFragmentDirections
+import foundation.e.apps.data.fused.data.FusedCategory
import foundation.e.apps.databinding.CategoriesListItemBinding
+import foundation.e.apps.ui.categories.CategoriesFragmentDirections
class CategoriesRVAdapter :
RecyclerView.Adapter() {
diff --git a/app/src/main/java/foundation/e/apps/categories/model/CategoriesVPAdapter.kt b/app/src/main/java/foundation/e/apps/ui/categories/model/CategoriesVPAdapter.kt
similarity index 87%
rename from app/src/main/java/foundation/e/apps/categories/model/CategoriesVPAdapter.kt
rename to app/src/main/java/foundation/e/apps/ui/categories/model/CategoriesVPAdapter.kt
index 559192fcc77f751ae9c77176f2fab1b1cf2119a9..cdb8da38b1ce55daf16e5de4ed959cb76d582972 100644
--- a/app/src/main/java/foundation/e/apps/categories/model/CategoriesVPAdapter.kt
+++ b/app/src/main/java/foundation/e/apps/ui/categories/model/CategoriesVPAdapter.kt
@@ -16,14 +16,14 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.categories.model
+package foundation.e.apps.ui.categories.model
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import androidx.lifecycle.Lifecycle
import androidx.viewpager2.adapter.FragmentStateAdapter
-import foundation.e.apps.categories.AppsFragment
-import foundation.e.apps.categories.GamesFragment
+import foundation.e.apps.ui.categories.AppsFragment
+import foundation.e.apps.ui.categories.GamesFragment
class CategoriesVPAdapter(fragmentManager: FragmentManager, lifecycle: Lifecycle) :
FragmentStateAdapter(fragmentManager, lifecycle) {
diff --git a/app/src/main/java/foundation/e/apps/home/HomeFragment.kt b/app/src/main/java/foundation/e/apps/ui/home/HomeFragment.kt
similarity index 88%
rename from app/src/main/java/foundation/e/apps/home/HomeFragment.kt
rename to app/src/main/java/foundation/e/apps/ui/home/HomeFragment.kt
index ab8e94b952a50e1651eab339bf0b4ee081a57721..e77176ba2d62ca9c7db617a3bc8d459a9ee8c5f8 100644
--- a/app/src/main/java/foundation/e/apps/home/HomeFragment.kt
+++ b/app/src/main/java/foundation/e/apps/ui/home/HomeFragment.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.home
+package foundation.e.apps.ui.home
import android.os.Bundle
import android.view.View
@@ -29,26 +29,26 @@ import androidx.navigation.findNavController
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import dagger.hilt.android.AndroidEntryPoint
-import foundation.e.apps.AppInfoFetchViewModel
-import foundation.e.apps.AppProgressViewModel
-import foundation.e.apps.MainActivityViewModel
import foundation.e.apps.R
-import foundation.e.apps.api.ResultSupreme
-import foundation.e.apps.api.fused.FusedAPIInterface
-import foundation.e.apps.api.fused.data.FusedApp
-import foundation.e.apps.api.fused.data.FusedHome
-import foundation.e.apps.application.subFrags.ApplicationDialogFragment
+import foundation.e.apps.data.ResultSupreme
+import foundation.e.apps.data.enums.Status
+import foundation.e.apps.data.fused.FusedAPIInterface
+import foundation.e.apps.data.fused.data.FusedApp
+import foundation.e.apps.data.fused.data.FusedHome
+import foundation.e.apps.data.login.AuthObject
+import foundation.e.apps.data.login.exceptions.GPlayException
+import foundation.e.apps.data.login.exceptions.GPlayLoginException
import foundation.e.apps.databinding.FragmentHomeBinding
-import foundation.e.apps.home.model.HomeChildRVAdapter
-import foundation.e.apps.home.model.HomeParentRVAdapter
-import foundation.e.apps.login.AuthObject
-import foundation.e.apps.manager.download.data.DownloadProgress
-import foundation.e.apps.utils.enums.Status
-import foundation.e.apps.utils.exceptions.GPlayException
-import foundation.e.apps.utils.exceptions.GPlayLoginException
-import foundation.e.apps.utils.modules.CommonUtilsModule.safeNavigate
-import foundation.e.apps.utils.modules.PWAManagerModule
-import foundation.e.apps.utils.parentFragment.TimeoutFragment
+import foundation.e.apps.di.CommonUtilsModule.safeNavigate
+import foundation.e.apps.install.download.data.DownloadProgress
+import foundation.e.apps.install.pkg.PWAManagerModule
+import foundation.e.apps.ui.AppInfoFetchViewModel
+import foundation.e.apps.ui.AppProgressViewModel
+import foundation.e.apps.ui.MainActivityViewModel
+import foundation.e.apps.ui.application.subFrags.ApplicationDialogFragment
+import foundation.e.apps.ui.home.model.HomeChildRVAdapter
+import foundation.e.apps.ui.home.model.HomeParentRVAdapter
+import foundation.e.apps.ui.parentFragment.TimeoutFragment
import kotlinx.coroutines.launch
import javax.inject.Inject
diff --git a/app/src/main/java/foundation/e/apps/home/HomeViewModel.kt b/app/src/main/java/foundation/e/apps/ui/home/HomeViewModel.kt
similarity index 86%
rename from app/src/main/java/foundation/e/apps/home/HomeViewModel.kt
rename to app/src/main/java/foundation/e/apps/ui/home/HomeViewModel.kt
index dd24925e7b75fa208d72bbd0439663ce82e132bb..2fbea50a82b3f3f88b6bd4f261b6d6b9cb5f385a 100644
--- a/app/src/main/java/foundation/e/apps/home/HomeViewModel.kt
+++ b/app/src/main/java/foundation/e/apps/ui/home/HomeViewModel.kt
@@ -16,21 +16,21 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.home
+package foundation.e.apps.ui.home
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.viewModelScope
import com.aurora.gplayapi.data.models.AuthData
import dagger.hilt.android.lifecycle.HiltViewModel
-import foundation.e.apps.api.ResultSupreme
-import foundation.e.apps.api.fused.FusedAPIRepository
-import foundation.e.apps.api.fused.data.FusedApp
-import foundation.e.apps.api.fused.data.FusedHome
-import foundation.e.apps.login.AuthObject
-import foundation.e.apps.utils.exceptions.CleanApkException
-import foundation.e.apps.utils.exceptions.GPlayException
-import foundation.e.apps.utils.parentFragment.LoadingViewModel
+import foundation.e.apps.data.ResultSupreme
+import foundation.e.apps.data.fused.FusedAPIRepository
+import foundation.e.apps.data.fused.data.FusedApp
+import foundation.e.apps.data.fused.data.FusedHome
+import foundation.e.apps.data.login.AuthObject
+import foundation.e.apps.data.login.exceptions.CleanApkException
+import foundation.e.apps.data.login.exceptions.GPlayException
+import foundation.e.apps.ui.parentFragment.LoadingViewModel
import kotlinx.coroutines.launch
import javax.inject.Inject
diff --git a/app/src/main/java/foundation/e/apps/home/model/FusedHomeDiffUtil.kt b/app/src/main/java/foundation/e/apps/ui/home/model/FusedHomeDiffUtil.kt
similarity index 92%
rename from app/src/main/java/foundation/e/apps/home/model/FusedHomeDiffUtil.kt
rename to app/src/main/java/foundation/e/apps/ui/home/model/FusedHomeDiffUtil.kt
index 3933132b2ee395da3481f0451144a2654f5c9759..037bcd3834f0675eb8a70716d8f017db5f706a19 100644
--- a/app/src/main/java/foundation/e/apps/home/model/FusedHomeDiffUtil.kt
+++ b/app/src/main/java/foundation/e/apps/ui/home/model/FusedHomeDiffUtil.kt
@@ -15,10 +15,10 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package foundation.e.apps.home.model
+package foundation.e.apps.ui.home.model
import androidx.recyclerview.widget.DiffUtil
-import foundation.e.apps.api.fused.data.FusedHome
+import foundation.e.apps.data.fused.data.FusedHome
class FusedHomeDiffUtil : DiffUtil.ItemCallback() {
override fun areItemsTheSame(oldItem: FusedHome, newItem: FusedHome): Boolean {
diff --git a/app/src/main/java/foundation/e/apps/home/model/HomeChildFusedAppDiffUtil.kt b/app/src/main/java/foundation/e/apps/ui/home/model/HomeChildFusedAppDiffUtil.kt
similarity index 96%
rename from app/src/main/java/foundation/e/apps/home/model/HomeChildFusedAppDiffUtil.kt
rename to app/src/main/java/foundation/e/apps/ui/home/model/HomeChildFusedAppDiffUtil.kt
index 20db3b68ccb790df2b09553d180845926937dd47..61bba509755ea0762dc5351a98573589f0869450 100644
--- a/app/src/main/java/foundation/e/apps/home/model/HomeChildFusedAppDiffUtil.kt
+++ b/app/src/main/java/foundation/e/apps/ui/home/model/HomeChildFusedAppDiffUtil.kt
@@ -15,10 +15,10 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
-package foundation.e.apps.home.model
+package foundation.e.apps.ui.home.model
import androidx.recyclerview.widget.DiffUtil
-import foundation.e.apps.api.fused.data.FusedApp
+import foundation.e.apps.data.fused.data.FusedApp
class HomeChildFusedAppDiffUtil : DiffUtil.ItemCallback() {
override fun areItemsTheSame(oldItem: FusedApp, newItem: FusedApp): Boolean {
diff --git a/app/src/main/java/foundation/e/apps/home/model/HomeChildRVAdapter.kt b/app/src/main/java/foundation/e/apps/ui/home/model/HomeChildRVAdapter.kt
similarity index 93%
rename from app/src/main/java/foundation/e/apps/home/model/HomeChildRVAdapter.kt
rename to app/src/main/java/foundation/e/apps/ui/home/model/HomeChildRVAdapter.kt
index 548af8d7d69668a8ab93bf4c39ad56d58a48926e..1dc7933ab89d508dfd6921af0fe2ee8a46018984 100644
--- a/app/src/main/java/foundation/e/apps/home/model/HomeChildRVAdapter.kt
+++ b/app/src/main/java/foundation/e/apps/ui/home/model/HomeChildRVAdapter.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.home.model
+package foundation.e.apps.ui.home.model
import android.view.LayoutInflater
import android.view.View
@@ -32,19 +32,19 @@ import com.facebook.shimmer.Shimmer
import com.facebook.shimmer.ShimmerDrawable
import com.google.android.material.button.MaterialButton
import com.google.android.material.snackbar.Snackbar
-import foundation.e.apps.AppInfoFetchViewModel
-import foundation.e.apps.MainActivityViewModel
import foundation.e.apps.R
-import foundation.e.apps.api.cleanapk.CleanApkRetrofit
-import foundation.e.apps.api.fused.FusedAPIInterface
-import foundation.e.apps.api.fused.data.FusedApp
+import foundation.e.apps.data.cleanapk.CleanApkRetrofit
+import foundation.e.apps.data.enums.Origin
+import foundation.e.apps.data.enums.Status
+import foundation.e.apps.data.enums.User
+import foundation.e.apps.data.fused.FusedAPIInterface
+import foundation.e.apps.data.fused.data.FusedApp
import foundation.e.apps.databinding.HomeChildListItemBinding
-import foundation.e.apps.home.HomeFragmentDirections
+import foundation.e.apps.ui.AppInfoFetchViewModel
+import foundation.e.apps.ui.MainActivityViewModel
+import foundation.e.apps.ui.home.HomeFragmentDirections
import foundation.e.apps.utils.disableInstallButton
import foundation.e.apps.utils.enableInstallButton
-import foundation.e.apps.utils.enums.Origin
-import foundation.e.apps.utils.enums.Status
-import foundation.e.apps.utils.enums.User
class HomeChildRVAdapter(
private var fusedAPIInterface: FusedAPIInterface?,
diff --git a/app/src/main/java/foundation/e/apps/home/model/HomeParentRVAdapter.kt b/app/src/main/java/foundation/e/apps/ui/home/model/HomeParentRVAdapter.kt
similarity index 90%
rename from app/src/main/java/foundation/e/apps/home/model/HomeParentRVAdapter.kt
rename to app/src/main/java/foundation/e/apps/ui/home/model/HomeParentRVAdapter.kt
index 07641183c2c567690b82bd11f35f3f07de966c41..808b4665f9a65cc4012a3b330c8ef77392df96c9 100644
--- a/app/src/main/java/foundation/e/apps/home/model/HomeParentRVAdapter.kt
+++ b/app/src/main/java/foundation/e/apps/ui/home/model/HomeParentRVAdapter.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.home.model
+package foundation.e.apps.ui.home.model
import android.view.LayoutInflater
import android.view.ViewGroup
@@ -24,12 +24,12 @@ import androidx.lifecycle.LifecycleOwner
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.ListAdapter
import androidx.recyclerview.widget.RecyclerView
-import foundation.e.apps.AppInfoFetchViewModel
-import foundation.e.apps.MainActivityViewModel
-import foundation.e.apps.api.fused.FusedAPIInterface
-import foundation.e.apps.api.fused.data.FusedApp
-import foundation.e.apps.api.fused.data.FusedHome
+import foundation.e.apps.data.fused.FusedAPIInterface
+import foundation.e.apps.data.fused.data.FusedApp
+import foundation.e.apps.data.fused.data.FusedHome
import foundation.e.apps.databinding.HomeParentListItemBinding
+import foundation.e.apps.ui.AppInfoFetchViewModel
+import foundation.e.apps.ui.MainActivityViewModel
class HomeParentRVAdapter(
private val fusedAPIInterface: FusedAPIInterface,
diff --git a/app/src/main/java/foundation/e/apps/utils/parentFragment/LoadingViewModel.kt b/app/src/main/java/foundation/e/apps/ui/parentFragment/LoadingViewModel.kt
similarity index 91%
rename from app/src/main/java/foundation/e/apps/utils/parentFragment/LoadingViewModel.kt
rename to app/src/main/java/foundation/e/apps/ui/parentFragment/LoadingViewModel.kt
index cbd0ab493ca7bef005ff9db5b96acf7ed4ace54a..a59e502ca0bc1aa937f4afe847ac73102c5ae07f 100644
--- a/app/src/main/java/foundation/e/apps/utils/parentFragment/LoadingViewModel.kt
+++ b/app/src/main/java/foundation/e/apps/ui/parentFragment/LoadingViewModel.kt
@@ -15,13 +15,13 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.utils.parentFragment
+package foundation.e.apps.ui.parentFragment
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
-import foundation.e.apps.login.AuthObject
-import foundation.e.apps.utils.exceptions.GPlayValidationException
-import foundation.e.apps.utils.exceptions.UnknownSourceException
+import foundation.e.apps.data.login.AuthObject
+import foundation.e.apps.data.login.exceptions.GPlayValidationException
+import foundation.e.apps.data.login.exceptions.UnknownSourceException
abstract class LoadingViewModel : ViewModel() {
diff --git a/app/src/main/java/foundation/e/apps/utils/parentFragment/TimeoutFragment.kt b/app/src/main/java/foundation/e/apps/ui/parentFragment/TimeoutFragment.kt
similarity index 95%
rename from app/src/main/java/foundation/e/apps/utils/parentFragment/TimeoutFragment.kt
rename to app/src/main/java/foundation/e/apps/ui/parentFragment/TimeoutFragment.kt
index 447720787ce2503ed834086552a4217900ba7d08..c1e236c0712fc932991ecd47255cdeaef3ddbd7f 100644
--- a/app/src/main/java/foundation/e/apps/utils/parentFragment/TimeoutFragment.kt
+++ b/app/src/main/java/foundation/e/apps/ui/parentFragment/TimeoutFragment.kt
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.utils.parentFragment
+package foundation.e.apps.ui.parentFragment
import androidx.annotation.LayoutRes
import androidx.appcompat.app.AlertDialog
@@ -26,18 +26,18 @@ import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.Observer
import androidx.lifecycle.ViewModelProvider
-import foundation.e.apps.MainActivityViewModel
import foundation.e.apps.R
+import foundation.e.apps.data.enums.User
+import foundation.e.apps.data.login.AuthObject
+import foundation.e.apps.data.login.LoginSourceGPlay
+import foundation.e.apps.data.login.LoginViewModel
+import foundation.e.apps.data.login.exceptions.CleanApkException
+import foundation.e.apps.data.login.exceptions.GPlayException
+import foundation.e.apps.data.login.exceptions.GPlayLoginException
+import foundation.e.apps.data.login.exceptions.GPlayValidationException
+import foundation.e.apps.data.login.exceptions.UnknownSourceException
import foundation.e.apps.databinding.DialogErrorLogBinding
-import foundation.e.apps.login.AuthObject
-import foundation.e.apps.login.LoginSourceGPlay
-import foundation.e.apps.login.LoginViewModel
-import foundation.e.apps.utils.enums.User
-import foundation.e.apps.utils.exceptions.CleanApkException
-import foundation.e.apps.utils.exceptions.GPlayException
-import foundation.e.apps.utils.exceptions.GPlayLoginException
-import foundation.e.apps.utils.exceptions.GPlayValidationException
-import foundation.e.apps.utils.exceptions.UnknownSourceException
+import foundation.e.apps.ui.MainActivityViewModel
import timber.log.Timber
/**
diff --git a/app/src/main/java/foundation/e/apps/purchase/AppPurchaseFragment.kt b/app/src/main/java/foundation/e/apps/ui/purchase/AppPurchaseFragment.kt
similarity index 97%
rename from app/src/main/java/foundation/e/apps/purchase/AppPurchaseFragment.kt
rename to app/src/main/java/foundation/e/apps/ui/purchase/AppPurchaseFragment.kt
index bafc74ffa269bb91fb4dc85d40328431f1a5111c..f9688f226cd209f96b17fa9b4e5c09bbd4c6545e 100644
--- a/app/src/main/java/foundation/e/apps/purchase/AppPurchaseFragment.kt
+++ b/app/src/main/java/foundation/e/apps/ui/purchase/AppPurchaseFragment.kt
@@ -1,4 +1,4 @@
-package foundation.e.apps.purchase
+package foundation.e.apps.ui.purchase
import android.os.Build
import android.os.Bundle
@@ -11,8 +11,8 @@ import android.webkit.WebView
import android.webkit.WebViewClient
import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels
-import foundation.e.apps.MainActivityViewModel
import foundation.e.apps.databinding.FragmentAppPurchaseBinding
+import foundation.e.apps.ui.MainActivityViewModel
/**
* A simple [Fragment] subclass.
diff --git a/app/src/main/java/foundation/e/apps/search/SearchFragment.kt b/app/src/main/java/foundation/e/apps/ui/search/SearchFragment.kt
similarity index 94%
rename from app/src/main/java/foundation/e/apps/search/SearchFragment.kt
rename to app/src/main/java/foundation/e/apps/ui/search/SearchFragment.kt
index f89298ed140a4211a9269cd9d60ca9c40b8582de..f97ec131c017f16ee46d8d7178f3946cf35386ff 100644
--- a/app/src/main/java/foundation/e/apps/search/SearchFragment.kt
+++ b/app/src/main/java/foundation/e/apps/ui/search/SearchFragment.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.search
+package foundation.e.apps.ui.search
import android.app.Activity
import android.content.Context
@@ -42,23 +42,23 @@ import androidx.recyclerview.widget.RecyclerView
import com.aurora.gplayapi.SearchSuggestEntry
import com.facebook.shimmer.ShimmerFrameLayout
import dagger.hilt.android.AndroidEntryPoint
-import foundation.e.apps.AppInfoFetchViewModel
-import foundation.e.apps.AppProgressViewModel
-import foundation.e.apps.MainActivityViewModel
-import foundation.e.apps.PrivacyInfoViewModel
import foundation.e.apps.R
-import foundation.e.apps.api.fused.FusedAPIInterface
-import foundation.e.apps.api.fused.data.FusedApp
-import foundation.e.apps.application.subFrags.ApplicationDialogFragment
-import foundation.e.apps.applicationlist.ApplicationListRVAdapter
+import foundation.e.apps.data.enums.Status
+import foundation.e.apps.data.fused.FusedAPIInterface
+import foundation.e.apps.data.fused.data.FusedApp
+import foundation.e.apps.data.fusedDownload.models.FusedDownload
+import foundation.e.apps.data.login.AuthObject
+import foundation.e.apps.data.login.exceptions.GPlayLoginException
import foundation.e.apps.databinding.FragmentSearchBinding
-import foundation.e.apps.login.AuthObject
-import foundation.e.apps.manager.database.fusedDownload.FusedDownload
-import foundation.e.apps.manager.download.data.DownloadProgress
-import foundation.e.apps.utils.enums.Status
-import foundation.e.apps.utils.exceptions.GPlayLoginException
-import foundation.e.apps.utils.modules.PWAManagerModule
-import foundation.e.apps.utils.parentFragment.TimeoutFragment
+import foundation.e.apps.install.download.data.DownloadProgress
+import foundation.e.apps.install.pkg.PWAManagerModule
+import foundation.e.apps.ui.AppInfoFetchViewModel
+import foundation.e.apps.ui.AppProgressViewModel
+import foundation.e.apps.ui.MainActivityViewModel
+import foundation.e.apps.ui.PrivacyInfoViewModel
+import foundation.e.apps.ui.application.subFrags.ApplicationDialogFragment
+import foundation.e.apps.ui.applicationlist.ApplicationListRVAdapter
+import foundation.e.apps.ui.parentFragment.TimeoutFragment
import kotlinx.coroutines.launch
import javax.inject.Inject
diff --git a/app/src/main/java/foundation/e/apps/search/SearchViewModel.kt b/app/src/main/java/foundation/e/apps/ui/search/SearchViewModel.kt
similarity index 89%
rename from app/src/main/java/foundation/e/apps/search/SearchViewModel.kt
rename to app/src/main/java/foundation/e/apps/ui/search/SearchViewModel.kt
index deab32583a5e2295681b2ffaf90263a778674deb..09f8b2d6aede5ad21bfb736fc47451f68e3a61e0 100644
--- a/app/src/main/java/foundation/e/apps/search/SearchViewModel.kt
+++ b/app/src/main/java/foundation/e/apps/ui/search/SearchViewModel.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.search
+package foundation.e.apps.ui.search
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.LiveData
@@ -25,13 +25,13 @@ import androidx.lifecycle.viewModelScope
import com.aurora.gplayapi.SearchSuggestEntry
import com.aurora.gplayapi.data.models.AuthData
import dagger.hilt.android.lifecycle.HiltViewModel
-import foundation.e.apps.api.ResultSupreme
-import foundation.e.apps.api.fused.FusedAPIRepository
-import foundation.e.apps.api.fused.data.FusedApp
-import foundation.e.apps.login.AuthObject
-import foundation.e.apps.utils.exceptions.CleanApkException
-import foundation.e.apps.utils.exceptions.GPlayException
-import foundation.e.apps.utils.parentFragment.LoadingViewModel
+import foundation.e.apps.data.ResultSupreme
+import foundation.e.apps.data.fused.FusedAPIRepository
+import foundation.e.apps.data.fused.data.FusedApp
+import foundation.e.apps.data.login.AuthObject
+import foundation.e.apps.data.login.exceptions.CleanApkException
+import foundation.e.apps.data.login.exceptions.GPlayException
+import foundation.e.apps.ui.parentFragment.LoadingViewModel
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import javax.inject.Inject
diff --git a/app/src/main/java/foundation/e/apps/settings/LongPressPreference.kt b/app/src/main/java/foundation/e/apps/ui/settings/LongPressPreference.kt
similarity index 97%
rename from app/src/main/java/foundation/e/apps/settings/LongPressPreference.kt
rename to app/src/main/java/foundation/e/apps/ui/settings/LongPressPreference.kt
index 14b4b592e57e74fd3a33ba81c5d910fc571efce7..5d6130624da27cf8206403e2305d6404afc04bf7 100644
--- a/app/src/main/java/foundation/e/apps/settings/LongPressPreference.kt
+++ b/app/src/main/java/foundation/e/apps/ui/settings/LongPressPreference.kt
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.settings
+package foundation.e.apps.ui.settings
import android.content.Context
import android.util.AttributeSet
diff --git a/app/src/main/java/foundation/e/apps/settings/RadioButtonPreference.kt b/app/src/main/java/foundation/e/apps/ui/settings/RadioButtonPreference.kt
similarity index 94%
rename from app/src/main/java/foundation/e/apps/settings/RadioButtonPreference.kt
rename to app/src/main/java/foundation/e/apps/ui/settings/RadioButtonPreference.kt
index b1565a72413621e1c1a9e8ef0ab6f1d7ff4fd0fc..0dcc41d4287936f5895b37153e6124aaf184d6bd 100644
--- a/app/src/main/java/foundation/e/apps/settings/RadioButtonPreference.kt
+++ b/app/src/main/java/foundation/e/apps/ui/settings/RadioButtonPreference.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.settings
+package foundation.e.apps.ui.settings
import android.content.Context
import android.util.AttributeSet
diff --git a/app/src/main/java/foundation/e/apps/settings/SettingsFragment.kt b/app/src/main/java/foundation/e/apps/ui/settings/SettingsFragment.kt
similarity index 96%
rename from app/src/main/java/foundation/e/apps/settings/SettingsFragment.kt
rename to app/src/main/java/foundation/e/apps/ui/settings/SettingsFragment.kt
index 3fead6e10740c87f056e088f9552e684de23ddf5..cdff64f529a834f7a97919f5228d0ca0e325af16 100644
--- a/app/src/main/java/foundation/e/apps/settings/SettingsFragment.kt
+++ b/app/src/main/java/foundation/e/apps/ui/settings/SettingsFragment.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.settings
+package foundation.e.apps.ui.settings
import android.content.ClipboardManager
import android.content.Intent
@@ -37,15 +37,15 @@ import com.google.android.material.snackbar.Snackbar
import com.google.gson.Gson
import dagger.hilt.android.AndroidEntryPoint
import foundation.e.apps.BuildConfig
-import foundation.e.apps.MainActivity
-import foundation.e.apps.MainActivityViewModel
import foundation.e.apps.R
-import foundation.e.apps.api.fused.UpdatesDao
+import foundation.e.apps.data.enums.User
+import foundation.e.apps.data.fused.UpdatesDao
+import foundation.e.apps.data.login.LoginViewModel
import foundation.e.apps.databinding.CustomPreferenceBinding
-import foundation.e.apps.login.LoginViewModel
-import foundation.e.apps.updates.manager.UpdatesWorkManager
-import foundation.e.apps.utils.enums.User
-import foundation.e.apps.utils.modules.CommonUtilsFunctions
+import foundation.e.apps.install.updates.UpdatesWorkManager
+import foundation.e.apps.ui.MainActivity
+import foundation.e.apps.ui.MainActivityViewModel
+import foundation.e.apps.utils.CommonUtilsFunctions
import timber.log.Timber
import javax.inject.Inject
diff --git a/app/src/main/java/foundation/e/apps/setup/signin/LocaleChangedBroadcastReceiver.kt b/app/src/main/java/foundation/e/apps/ui/setup/signin/LocaleChangedBroadcastReceiver.kt
similarity index 95%
rename from app/src/main/java/foundation/e/apps/setup/signin/LocaleChangedBroadcastReceiver.kt
rename to app/src/main/java/foundation/e/apps/ui/setup/signin/LocaleChangedBroadcastReceiver.kt
index 2c47379f01bc6b001cf0d4ff9876f70c17a7753e..5aeda3fb17fd04b65586494469d170850598fa48 100644
--- a/app/src/main/java/foundation/e/apps/setup/signin/LocaleChangedBroadcastReceiver.kt
+++ b/app/src/main/java/foundation/e/apps/ui/setup/signin/LocaleChangedBroadcastReceiver.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.setup.signin
+package foundation.e.apps.ui.setup.signin
import android.content.BroadcastReceiver
import android.content.Context
@@ -24,7 +24,7 @@ import android.content.Intent
import com.aurora.gplayapi.data.models.AuthData
import com.google.gson.Gson
import dagger.hilt.android.AndroidEntryPoint
-import foundation.e.apps.utils.modules.DataStoreModule
+import foundation.e.apps.data.preference.DataStoreModule
import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
diff --git a/app/src/main/java/foundation/e/apps/setup/signin/SignInFragment.kt b/app/src/main/java/foundation/e/apps/ui/setup/signin/SignInFragment.kt
similarity index 91%
rename from app/src/main/java/foundation/e/apps/setup/signin/SignInFragment.kt
rename to app/src/main/java/foundation/e/apps/ui/setup/signin/SignInFragment.kt
index becf88684fa63e41cbeca76cc2d11e4f35d6e757..636e19f9907126d6e54ec9e921da64e1cf093a6d 100644
--- a/app/src/main/java/foundation/e/apps/setup/signin/SignInFragment.kt
+++ b/app/src/main/java/foundation/e/apps/ui/setup/signin/SignInFragment.kt
@@ -1,4 +1,4 @@
-package foundation.e.apps.setup.signin
+package foundation.e.apps.ui.setup.signin
import android.os.Bundle
import android.view.View
@@ -7,9 +7,9 @@ import androidx.lifecycle.ViewModelProvider
import androidx.navigation.findNavController
import dagger.hilt.android.AndroidEntryPoint
import foundation.e.apps.R
+import foundation.e.apps.data.login.LoginViewModel
import foundation.e.apps.databinding.FragmentSignInBinding
-import foundation.e.apps.login.LoginViewModel
-import foundation.e.apps.utils.modules.CommonUtilsModule.safeNavigate
+import foundation.e.apps.di.CommonUtilsModule.safeNavigate
@AndroidEntryPoint
class SignInFragment : Fragment(R.layout.fragment_sign_in) {
diff --git a/app/src/main/java/foundation/e/apps/setup/signin/SignInViewModel.kt b/app/src/main/java/foundation/e/apps/ui/setup/signin/SignInViewModel.kt
similarity index 85%
rename from app/src/main/java/foundation/e/apps/setup/signin/SignInViewModel.kt
rename to app/src/main/java/foundation/e/apps/ui/setup/signin/SignInViewModel.kt
index ee0e1ea91b61e7d756a1106dfb176915ca9244ff..61d7c57570176afe674c5337aeccec20f14e78e4 100644
--- a/app/src/main/java/foundation/e/apps/setup/signin/SignInViewModel.kt
+++ b/app/src/main/java/foundation/e/apps/ui/setup/signin/SignInViewModel.kt
@@ -1,4 +1,4 @@
-package foundation.e.apps.setup.signin
+package foundation.e.apps.ui.setup.signin
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
@@ -7,8 +7,8 @@ import androidx.lifecycle.asLiveData
import androidx.lifecycle.viewModelScope
import com.aurora.gplayapi.data.models.AuthData
import dagger.hilt.android.lifecycle.HiltViewModel
-import foundation.e.apps.utils.enums.User
-import foundation.e.apps.utils.modules.DataStoreModule
+import foundation.e.apps.data.enums.User
+import foundation.e.apps.data.preference.DataStoreModule
import kotlinx.coroutines.launch
import javax.inject.Inject
diff --git a/app/src/main/java/foundation/e/apps/setup/signin/google/GoogleSignInFragment.kt b/app/src/main/java/foundation/e/apps/ui/setup/signin/google/GoogleSignInFragment.kt
similarity index 95%
rename from app/src/main/java/foundation/e/apps/setup/signin/google/GoogleSignInFragment.kt
rename to app/src/main/java/foundation/e/apps/ui/setup/signin/google/GoogleSignInFragment.kt
index 8470c359c846868c7bf590d7cfd5b576f57d5228..e6602264287d2e03fc37b2c1d80ca511f02ec30f 100644
--- a/app/src/main/java/foundation/e/apps/setup/signin/google/GoogleSignInFragment.kt
+++ b/app/src/main/java/foundation/e/apps/ui/setup/signin/google/GoogleSignInFragment.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.setup.signin.google
+package foundation.e.apps.ui.setup.signin.google
import android.annotation.SuppressLint
import android.os.Build
@@ -31,10 +31,10 @@ import androidx.lifecycle.ViewModelProvider
import androidx.navigation.findNavController
import dagger.hilt.android.AndroidEntryPoint
import foundation.e.apps.R
-import foundation.e.apps.api.gplay.utils.AC2DMUtil
+import foundation.e.apps.data.gplay.utils.AC2DMUtil
+import foundation.e.apps.data.login.LoginViewModel
import foundation.e.apps.databinding.FragmentGoogleSigninBinding
-import foundation.e.apps.login.LoginViewModel
-import foundation.e.apps.utils.modules.CommonUtilsModule.safeNavigate
+import foundation.e.apps.di.CommonUtilsModule.safeNavigate
@AndroidEntryPoint
class GoogleSignInFragment : Fragment(R.layout.fragment_google_signin) {
diff --git a/app/src/main/java/foundation/e/apps/setup/tos/TOSFragment.kt b/app/src/main/java/foundation/e/apps/ui/setup/tos/TOSFragment.kt
similarity index 98%
rename from app/src/main/java/foundation/e/apps/setup/tos/TOSFragment.kt
rename to app/src/main/java/foundation/e/apps/ui/setup/tos/TOSFragment.kt
index 9a0515c1584f0b35b163c04aff866218b7d80eb3..82a282be03a64b5606534f2922bf7171a3918c51 100644
--- a/app/src/main/java/foundation/e/apps/setup/tos/TOSFragment.kt
+++ b/app/src/main/java/foundation/e/apps/ui/setup/tos/TOSFragment.kt
@@ -1,4 +1,4 @@
-package foundation.e.apps.setup.tos
+package foundation.e.apps.ui.setup.tos
import android.content.res.Configuration
import android.os.Bundle
diff --git a/app/src/main/java/foundation/e/apps/setup/tos/TOSViewModel.kt b/app/src/main/java/foundation/e/apps/ui/setup/tos/TOSViewModel.kt
similarity index 84%
rename from app/src/main/java/foundation/e/apps/setup/tos/TOSViewModel.kt
rename to app/src/main/java/foundation/e/apps/ui/setup/tos/TOSViewModel.kt
index c9a26fd4245c571ba92cc0ef416b963388ae6ac0..ef3ad38050c5c237b84c18b5e2272b101233819e 100644
--- a/app/src/main/java/foundation/e/apps/setup/tos/TOSViewModel.kt
+++ b/app/src/main/java/foundation/e/apps/ui/setup/tos/TOSViewModel.kt
@@ -1,11 +1,11 @@
-package foundation.e.apps.setup.tos
+package foundation.e.apps.ui.setup.tos
import androidx.lifecycle.LiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.asLiveData
import androidx.lifecycle.viewModelScope
import dagger.hilt.android.lifecycle.HiltViewModel
-import foundation.e.apps.utils.modules.DataStoreModule
+import foundation.e.apps.data.preference.DataStoreModule
import kotlinx.coroutines.launch
import javax.inject.Inject
diff --git a/app/src/main/java/foundation/e/apps/updates/UpdatesFragment.kt b/app/src/main/java/foundation/e/apps/ui/updates/UpdatesFragment.kt
similarity index 91%
rename from app/src/main/java/foundation/e/apps/updates/UpdatesFragment.kt
rename to app/src/main/java/foundation/e/apps/ui/updates/UpdatesFragment.kt
index 60bb51b2635826327bbcdec07e5f950733f1a475..4baf3adbf0b29ca84019abecae076428d41cb1f6 100644
--- a/app/src/main/java/foundation/e/apps/updates/UpdatesFragment.kt
+++ b/app/src/main/java/foundation/e/apps/ui/updates/UpdatesFragment.kt
@@ -16,7 +16,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.updates
+package foundation.e.apps.ui.updates
import android.os.Bundle
import android.view.View
@@ -33,31 +33,31 @@ import androidx.recyclerview.widget.RecyclerView
import androidx.work.WorkInfo
import androidx.work.WorkManager
import dagger.hilt.android.AndroidEntryPoint
-import foundation.e.apps.AppInfoFetchViewModel
-import foundation.e.apps.AppProgressViewModel
-import foundation.e.apps.MainActivityViewModel
-import foundation.e.apps.PrivacyInfoViewModel
import foundation.e.apps.R
-import foundation.e.apps.api.ResultSupreme
-import foundation.e.apps.api.fused.FusedAPIInterface
-import foundation.e.apps.api.fused.data.FusedApp
-import foundation.e.apps.application.subFrags.ApplicationDialogFragment
-import foundation.e.apps.applicationlist.ApplicationListRVAdapter
+import foundation.e.apps.data.ResultSupreme
+import foundation.e.apps.data.enums.ResultStatus
+import foundation.e.apps.data.enums.Status
+import foundation.e.apps.data.fused.FusedAPIInterface
+import foundation.e.apps.data.fused.data.FusedApp
+import foundation.e.apps.data.fusedDownload.models.FusedDownload
+import foundation.e.apps.data.login.AuthObject
+import foundation.e.apps.data.login.exceptions.GPlayException
+import foundation.e.apps.data.login.exceptions.GPlayLoginException
import foundation.e.apps.databinding.FragmentUpdatesBinding
-import foundation.e.apps.login.AuthObject
-import foundation.e.apps.manager.database.fusedDownload.FusedDownload
-import foundation.e.apps.manager.download.data.DownloadProgress
-import foundation.e.apps.manager.workmanager.InstallWorkManager.INSTALL_WORK_NAME
-import foundation.e.apps.updates.manager.UpdatesWorkManager
-import foundation.e.apps.utils.enums.ResultStatus
-import foundation.e.apps.utils.enums.Status
+import foundation.e.apps.di.CommonUtilsModule.safeNavigate
+import foundation.e.apps.install.download.data.DownloadProgress
+import foundation.e.apps.install.pkg.PWAManagerModule
+import foundation.e.apps.install.updates.UpdatesWorkManager
+import foundation.e.apps.install.workmanager.InstallWorkManager.INSTALL_WORK_NAME
+import foundation.e.apps.ui.AppInfoFetchViewModel
+import foundation.e.apps.ui.AppProgressViewModel
+import foundation.e.apps.ui.MainActivityViewModel
+import foundation.e.apps.ui.PrivacyInfoViewModel
+import foundation.e.apps.ui.application.subFrags.ApplicationDialogFragment
+import foundation.e.apps.ui.applicationlist.ApplicationListRVAdapter
+import foundation.e.apps.ui.parentFragment.TimeoutFragment
import foundation.e.apps.utils.eventBus.AppEvent
import foundation.e.apps.utils.eventBus.EventBus
-import foundation.e.apps.utils.exceptions.GPlayException
-import foundation.e.apps.utils.exceptions.GPlayLoginException
-import foundation.e.apps.utils.modules.CommonUtilsModule.safeNavigate
-import foundation.e.apps.utils.modules.PWAManagerModule
-import foundation.e.apps.utils.parentFragment.TimeoutFragment
import foundation.e.apps.utils.toast
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.flow.filter
diff --git a/app/src/main/java/foundation/e/apps/updates/UpdatesViewModel.kt b/app/src/main/java/foundation/e/apps/ui/updates/UpdatesViewModel.kt
similarity index 86%
rename from app/src/main/java/foundation/e/apps/updates/UpdatesViewModel.kt
rename to app/src/main/java/foundation/e/apps/ui/updates/UpdatesViewModel.kt
index d66ca5ace12591aeeb323d312ce7886c00dc58b4..1db01bb0cab4e2a329be77780d24d639b699874b 100644
--- a/app/src/main/java/foundation/e/apps/updates/UpdatesViewModel.kt
+++ b/app/src/main/java/foundation/e/apps/ui/updates/UpdatesViewModel.kt
@@ -16,23 +16,23 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.updates
+package foundation.e.apps.ui.updates
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.viewModelScope
import androidx.work.WorkInfo
import com.aurora.gplayapi.data.models.AuthData
import dagger.hilt.android.lifecycle.HiltViewModel
-import foundation.e.apps.api.fused.FusedAPIRepository
-import foundation.e.apps.api.fused.data.FusedApp
-import foundation.e.apps.login.AuthObject
-import foundation.e.apps.updates.manager.UpdatesManagerRepository
-import foundation.e.apps.utils.enums.ResultStatus
-import foundation.e.apps.utils.enums.Status
-import foundation.e.apps.utils.exceptions.CleanApkException
-import foundation.e.apps.utils.exceptions.GPlayException
-import foundation.e.apps.utils.modules.PreferenceManagerModule
-import foundation.e.apps.utils.parentFragment.LoadingViewModel
+import foundation.e.apps.data.enums.ResultStatus
+import foundation.e.apps.data.enums.Status
+import foundation.e.apps.data.fused.FusedAPIRepository
+import foundation.e.apps.data.fused.data.FusedApp
+import foundation.e.apps.data.login.AuthObject
+import foundation.e.apps.data.login.exceptions.CleanApkException
+import foundation.e.apps.data.login.exceptions.GPlayException
+import foundation.e.apps.data.preference.PreferenceManagerModule
+import foundation.e.apps.data.updates.UpdatesManagerRepository
+import foundation.e.apps.ui.parentFragment.LoadingViewModel
import kotlinx.coroutines.launch
import javax.inject.Inject
diff --git a/app/src/main/java/foundation/e/apps/utils/modules/CommonUtilsFunctions.kt b/app/src/main/java/foundation/e/apps/utils/CommonUtilsFunctions.kt
similarity index 98%
rename from app/src/main/java/foundation/e/apps/utils/modules/CommonUtilsFunctions.kt
rename to app/src/main/java/foundation/e/apps/utils/CommonUtilsFunctions.kt
index 6dcf53f9bfd07ee626e71d51959e9a3b8af2b50a..f3f93b989fe05341ea563b18967dbaddf8020e79 100644
--- a/app/src/main/java/foundation/e/apps/utils/modules/CommonUtilsFunctions.kt
+++ b/app/src/main/java/foundation/e/apps/utils/CommonUtilsFunctions.kt
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package foundation.e.apps.utils.modules
+package foundation.e.apps.utils
import android.annotation.SuppressLint
import android.content.ClipData
diff --git a/app/src/main/java/foundation/e/apps/utils/CommonUtils.kt b/app/src/main/java/foundation/e/apps/utils/Extensions.kt
similarity index 100%
rename from app/src/main/java/foundation/e/apps/utils/CommonUtils.kt
rename to app/src/main/java/foundation/e/apps/utils/Extensions.kt
diff --git a/app/src/main/java/foundation/e/apps/utils/MaterialButtonUtils.kt b/app/src/main/java/foundation/e/apps/utils/MaterialButtonUtils.kt
index 1d6b29825b8844ba20d1356990564136fe52a491..6e1ff37456e1ff7f74f137dbce4c1fc1645f2cc8 100644
--- a/app/src/main/java/foundation/e/apps/utils/MaterialButtonUtils.kt
+++ b/app/src/main/java/foundation/e/apps/utils/MaterialButtonUtils.kt
@@ -21,7 +21,7 @@ import android.graphics.Color
import androidx.core.content.ContextCompat
import com.google.android.material.button.MaterialButton
import foundation.e.apps.R
-import foundation.e.apps.utils.enums.Status
+import foundation.e.apps.data.enums.Status
fun MaterialButton.disableInstallButton(status: Status? = null) {
toggleEnableMaterialButton(false, status)
diff --git a/app/src/main/java/foundation/e/apps/utils/enums/Type.kt b/app/src/main/java/foundation/e/apps/utils/enums/Type.kt
deleted file mode 100644
index dd5775b0df2d87bf7ffcf3eb0ae086c2cf435183..0000000000000000000000000000000000000000
--- a/app/src/main/java/foundation/e/apps/utils/enums/Type.kt
+++ /dev/null
@@ -1,6 +0,0 @@
-package foundation.e.apps.utils.enums
-
-enum class Type {
- NATIVE,
- PWA
-}
diff --git a/app/src/main/java/foundation/e/apps/utils/eventBus/AppEvent.kt b/app/src/main/java/foundation/e/apps/utils/eventBus/AppEvent.kt
index 1509729b2a1997d207f49d2b0d0a9c1d0ebf5de9..d979763edbc7ee46e2db13d7cf3198453529d856 100644
--- a/app/src/main/java/foundation/e/apps/utils/eventBus/AppEvent.kt
+++ b/app/src/main/java/foundation/e/apps/utils/eventBus/AppEvent.kt
@@ -20,8 +20,8 @@
package foundation.e.apps.utils.eventBus
-import foundation.e.apps.api.ResultSupreme
-import foundation.e.apps.utils.enums.ResultStatus
+import foundation.e.apps.data.ResultSupreme
+import foundation.e.apps.data.enums.ResultStatus
sealed class AppEvent(val data: Any) {
class SignatureMissMatchError(packageName: String) : AppEvent(packageName)
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 99610ac8388a1c755549b52314d28545de85114b..59e74f839e8b1dca4e50b76c491ff8584517e4a0 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -21,7 +21,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
- tools:context=".MainActivity">
+ tools:context=".ui.MainActivity">
+ tools:context=".ui.purchase.AppPurchaseFragment">
+ tools:context=".ui.application.ApplicationFragment">
+ tools:context=".ui.applicationlist.ApplicationListFragment">
+ tools:context=".ui.categories.AppsFragment">
+ tools:context=".ui.categories.CategoriesFragment">
+ tools:context=".ui.application.subFrags.DescriptionFragment">
+ tools:context=".ui.categories.AppsFragment">
+ tools:context=".ui.home.HomeFragment">
+ tools:context=".ui.application.subFrags.ScreenshotFragment">
+ tools:context=".ui.search.SearchFragment">
+ tools:context=".ui.setup.signin.SignInFragment">
+ tools:context=".ui.updates.UpdatesFragment">
+ app:argType="foundation.e.apps.data.enums.Origin" />
+ app:argType="foundation.e.apps.data.enums.Origin" />
- ()
diff --git a/app/src/test/java/foundation/e/apps/installProcessor/FakeFusedManagerRepository.kt b/app/src/test/java/foundation/e/apps/installProcessor/FakeFusedManagerRepository.kt
index 8b65b50b567a425ba2bfee54a40610ce5579b97e..179b4837a6977f73f14618cbf2928118aae619cf 100644
--- a/app/src/test/java/foundation/e/apps/installProcessor/FakeFusedManagerRepository.kt
+++ b/app/src/test/java/foundation/e/apps/installProcessor/FakeFusedManagerRepository.kt
@@ -18,11 +18,11 @@
package foundation.e.apps.installProcessor
-import foundation.e.apps.api.fdroid.FdroidRepository
-import foundation.e.apps.manager.database.fusedDownload.FusedDownload
-import foundation.e.apps.manager.fused.FusedManagerRepository
-import foundation.e.apps.manager.fused.IFusedManager
-import foundation.e.apps.utils.enums.Status
+import foundation.e.apps.data.enums.Status
+import foundation.e.apps.data.fdroid.FdroidRepository
+import foundation.e.apps.data.fusedDownload.FusedManagerRepository
+import foundation.e.apps.data.fusedDownload.IFusedManager
+import foundation.e.apps.data.fusedDownload.models.FusedDownload
import kotlinx.coroutines.delay
class FakeFusedManagerRepository(