diff --git a/APDebugTools/.gitignore b/APDebugTools/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..42afabfd2abebf31384ca7797186a27a4b7dbee8 --- /dev/null +++ b/APDebugTools/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/APDebugTools/build.gradle b/APDebugTools/build.gradle new file mode 100644 index 0000000000000000000000000000000000000000..d25c3824e9e665ea904509584311228f310a0021 --- /dev/null +++ b/APDebugTools/build.gradle @@ -0,0 +1,38 @@ +plugins { + alias(libs.plugins.android.library) + alias(libs.plugins.kotlin.android) +} + +android { + namespace 'foundation.e.advancedprivacy.debugtools' + + compileSdkVersion buildConfig.compileSdk + + defaultConfig { + minSdkVersion buildConfig.minSdk + targetSdkVersion buildConfig.targetSdk + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + + flavorDimensions 'os' + productFlavors { + eos { dimension 'os' } + standalone { dimension 'os' } + } + + buildFeatures { + viewBinding true + } +} + +dependencies { + implementation project(path: ":advancedprivacy") + + implementation libs.androidx.core.ktx + implementation libs.androidx.appcompat + implementation libs.google.material +} \ No newline at end of file diff --git a/APDebugTools/consumer-rules.pro b/APDebugTools/consumer-rules.pro new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/APDebugTools/proguard-rules.pro b/APDebugTools/proguard-rules.pro new file mode 100644 index 0000000000000000000000000000000000000000..481bb434814107eb79d7a30b676d344b0df2f8ce --- /dev/null +++ b/APDebugTools/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/APDebugTools/src/main/AndroidManifest.xml b/APDebugTools/src/main/AndroidManifest.xml new file mode 100644 index 0000000000000000000000000000000000000000..c4d4463152891ecef9e113d8cf6873afc26825f2 --- /dev/null +++ b/APDebugTools/src/main/AndroidManifest.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/APDebugTools/src/main/java/foundation/e/advancedprivacy/debugtools/AdvancedPrivacyDebugActivity.kt b/APDebugTools/src/main/java/foundation/e/advancedprivacy/debugtools/AdvancedPrivacyDebugActivity.kt new file mode 100644 index 0000000000000000000000000000000000000000..d78d079d9c25addb1b7a0565ad05caddf9666d8d --- /dev/null +++ b/APDebugTools/src/main/java/foundation/e/advancedprivacy/debugtools/AdvancedPrivacyDebugActivity.kt @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2025 E FOUNDATION + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package foundation.e.advancedprivacy.debugtools + +import android.content.Intent +import android.os.Bundle +import androidx.fragment.app.FragmentActivity +import foundation.e.advancedprivacy.debugtools.databinding.DebugActivityBinding +import foundation.e.advancedprivacy.main.MainActivity + +class AdvancedPrivacyDebugActivity : FragmentActivity() { + private lateinit var binding: DebugActivityBinding + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + binding = DebugActivityBinding.inflate(layoutInflater) + setContentView(binding.root) + + binding.gotoAdvancedprivacy.setOnClickListener { + startActivity(Intent(this, MainActivity::class.java)) + } + } +} diff --git a/APDebugTools/src/main/res/layout/debug_activity.xml b/APDebugTools/src/main/res/layout/debug_activity.xml new file mode 100644 index 0000000000000000000000000000000000000000..a8a2aac9ad3c02aeec6863bb10dfece083c5d4cc --- /dev/null +++ b/APDebugTools/src/main/res/layout/debug_activity.xml @@ -0,0 +1,38 @@ + + + + + + \ No newline at end of file diff --git a/APDebugTools/src/main/res/values/strings.xml b/APDebugTools/src/main/res/values/strings.xml new file mode 100644 index 0000000000000000000000000000000000000000..1b3689b64755b81444110a9b3673562d45187c15 --- /dev/null +++ b/APDebugTools/src/main/res/values/strings.xml @@ -0,0 +1,21 @@ + + + + Debug A-P + Open Advanced Privacy + \ No newline at end of file diff --git a/advancedprivacy/.gitignore b/advancedprivacy/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..42afabfd2abebf31384ca7797186a27a4b7dbee8 --- /dev/null +++ b/advancedprivacy/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/advancedprivacy/build.gradle b/advancedprivacy/build.gradle new file mode 100644 index 0000000000000000000000000000000000000000..afdfc2510c009975f0e4f38caa3db82fb7b50103 --- /dev/null +++ b/advancedprivacy/build.gradle @@ -0,0 +1,150 @@ +/* + * Copyright (C) 2023 MURENA SAS + * Copyright (C) 2022 - 2024 E FOUNDATION + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +plugins { + id 'com.android.library' + id 'kotlin-android' + id 'androidx.navigation.safeargs.kotlin' +} + +def getSentryDsn = { -> + + def sentryDsnEnv = System.getenv("SENTRY_DSN") + if (sentryDsnEnv != null) { + return sentryDsnEnv + } + + Properties properties = new Properties() + def propertiesFile = project.rootProject.file('local.properties') + if (propertiesFile.exists()) { + properties.load(propertiesFile.newDataInputStream()) + } + return properties.getProperty('SENTRY_DSN') +} + +android { + compileSdkVersion buildConfig.compileSdk + + defaultConfig { + minSdkVersion buildConfig.minSdk + targetSdkVersion buildConfig.targetSdk + + manifestPlaceholders = [ + persistent: "false", + mainActivityIntentFilterCategory: "android.intent.category.LAUNCHER" + ] + + resValue("string", "mapbox_key", MAPBOX_KEY) + buildConfigField("String", "SENTRY_DSN", "\"${getSentryDsn()}\"") + } + + + // We define here the OS flavor e, specific for the /e/ OS version, and google, for any + // android device. The e or google prefix is then used in resources, dependencies, ... as + // expected by the android gradle plugin. + flavorDimensions 'os' + productFlavors { + eos { + dimension 'os' + manifestPlaceholders = [ + mainActivityIntentFilterCategory: "android.intent.category.INFO" + ] + } + standalone { + dimension 'os' + manifestPlaceholders = [ + persistent: "false", + mainActivityIntentFilterCategory: "android.intent.category.LAUNCHER" + ] + } + } + + buildTypes { + debug { + + } + release { + manifestPlaceholders = [ + persistent: "true", + mainActivityIntentFilterCategory: "android.intent.category.INFO" + ] + } + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } + + buildFeatures { + dataBinding true + viewBinding true + } + + lintOptions { + disable 'MissingTranslation' + } + namespace 'foundation.e.advancedprivacy' +} + +dependencies { + implementation project(':core') + standaloneImplementation project(':permissionsstandalone') + eosImplementation project(':permissionseos') + + eosImplementation files('libs/lineage-sdk.jar') + + implementation project(':trackers') + + implementation project(':ipscrambling') + eosImplementation project(':trackersserviceeos') + standaloneImplementation project(':trackersservicestandalone') + + implementation ( + libs.androidx.core.ktx, + libs.androidx.appcompat, + libs.androidx.datastore.preferences, + libs.androidx.fragment.ktx, + libs.androidx.lifecycle.runtime, + libs.androidx.lifecycle.viewmodel, + libs.androidx.navigation.fragment, + libs.androidx.navigation.ui, + libs.androidx.viewpager2, + + libs.bundles.koin, + + libs.eos.elib, + libs.eos.telemetry, + + libs.google.material, + libs.kotlinx.serialization, + + libs.maplibre, + libs.mpandroidcharts, + + libs.timber + ) + + debugImplementation libs.leakcanary + + testImplementation libs.junit +} + +static def log(Object val) { + println("[GradleRepository]: " + val) +} diff --git a/app/libs/lineage-sdk.jar b/advancedprivacy/libs/lineage-sdk.jar similarity index 100% rename from app/libs/lineage-sdk.jar rename to advancedprivacy/libs/lineage-sdk.jar diff --git a/advancedprivacy/proguard-rules.pro b/advancedprivacy/proguard-rules.pro new file mode 100644 index 0000000000000000000000000000000000000000..481bb434814107eb79d7a30b676d344b0df2f8ce --- /dev/null +++ b/advancedprivacy/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/advancedprivacy/src/main/AndroidManifest.xml b/advancedprivacy/src/main/AndroidManifest.xml new file mode 100644 index 0000000000000000000000000000000000000000..aa3e518c35fc4eeff8a3ea8932195fcfee657667 --- /dev/null +++ b/advancedprivacy/src/main/AndroidManifest.xml @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/assets/e_trackers.json b/advancedprivacy/src/main/assets/e_trackers.json similarity index 100% rename from app/src/main/assets/e_trackers.json rename to advancedprivacy/src/main/assets/e_trackers.json diff --git a/app/src/main/java/foundation/e/advancedprivacy/AdvancedPrivacyApplication.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/AdvancedPrivacyApplication.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/AdvancedPrivacyApplication.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/AdvancedPrivacyApplication.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/KoinModule.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/KoinModule.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/KoinModule.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/KoinModule.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/Notifications.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/Notifications.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/Notifications.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/Notifications.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/common/BigNumberFormatter.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/common/BigNumberFormatter.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/common/BigNumberFormatter.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/common/BigNumberFormatter.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/common/BindingAdapter.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/common/BindingAdapter.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/common/BindingAdapter.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/common/BindingAdapter.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/common/BootCompletedReceiver.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/common/BootCompletedReceiver.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/common/BootCompletedReceiver.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/common/BootCompletedReceiver.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/common/BuildFlavor.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/common/BuildFlavor.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/common/BuildFlavor.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/common/BuildFlavor.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/common/NavToolbarFragment.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/common/NavToolbarFragment.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/common/NavToolbarFragment.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/common/NavToolbarFragment.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/common/RightRadioButton.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/common/RightRadioButton.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/common/RightRadioButton.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/common/RightRadioButton.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/common/TextViewHelpers.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/common/TextViewHelpers.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/common/TextViewHelpers.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/common/TextViewHelpers.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/common/ThrottleFlow.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/common/ThrottleFlow.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/common/ThrottleFlow.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/common/ThrottleFlow.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/common/WarningDialog.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/common/WarningDialog.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/common/WarningDialog.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/common/WarningDialog.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/common/extensions/IntExtensions.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/common/extensions/IntExtensions.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/common/extensions/IntExtensions.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/common/extensions/IntExtensions.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/common/extensions/NavControllerExtensions.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/common/extensions/NavControllerExtensions.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/common/extensions/NavControllerExtensions.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/common/extensions/NavControllerExtensions.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/common/extensions/ViewPager2Extensions.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/common/extensions/ViewPager2Extensions.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/common/extensions/ViewPager2Extensions.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/common/extensions/ViewPager2Extensions.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/data/repositories/CityDataSource.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/data/repositories/CityDataSource.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/data/repositories/CityDataSource.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/data/repositories/CityDataSource.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/data/repositories/LocalStateRepositoryImpl.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/data/repositories/LocalStateRepositoryImpl.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/data/repositories/LocalStateRepositoryImpl.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/data/repositories/LocalStateRepositoryImpl.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/data/repositories/ResourcesRepository.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/data/repositories/ResourcesRepository.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/data/repositories/ResourcesRepository.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/data/repositories/ResourcesRepository.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/domain/entities/FeatureMode.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/domain/entities/FeatureMode.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/domain/entities/FeatureMode.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/domain/entities/FeatureMode.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/domain/entities/TrackersAndAppsLists.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/domain/entities/TrackersAndAppsLists.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/domain/entities/TrackersAndAppsLists.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/domain/entities/TrackersAndAppsLists.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/domain/entities/TrackersPeriodicStatistics.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/domain/entities/TrackersPeriodicStatistics.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/domain/entities/TrackersPeriodicStatistics.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/domain/entities/TrackersPeriodicStatistics.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/domain/usecases/AppTrackersUseCase.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/domain/usecases/AppTrackersUseCase.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/domain/usecases/AppTrackersUseCase.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/domain/usecases/AppTrackersUseCase.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/domain/usecases/FakeLocationForAppUseCase.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/domain/usecases/FakeLocationForAppUseCase.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/domain/usecases/FakeLocationForAppUseCase.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/domain/usecases/FakeLocationForAppUseCase.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/domain/usecases/FakeLocationStateUseCase.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/domain/usecases/FakeLocationStateUseCase.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/domain/usecases/FakeLocationStateUseCase.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/domain/usecases/FakeLocationStateUseCase.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/domain/usecases/GetQuickPrivacyStateUseCase.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/domain/usecases/GetQuickPrivacyStateUseCase.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/domain/usecases/GetQuickPrivacyStateUseCase.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/domain/usecases/GetQuickPrivacyStateUseCase.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/domain/usecases/IpScramblingStateUseCase.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/domain/usecases/IpScramblingStateUseCase.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/domain/usecases/IpScramblingStateUseCase.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/domain/usecases/IpScramblingStateUseCase.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/domain/usecases/ListenLocationUseCase.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/domain/usecases/ListenLocationUseCase.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/domain/usecases/ListenLocationUseCase.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/domain/usecases/ListenLocationUseCase.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/domain/usecases/ShowFeaturesWarningUseCase.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/domain/usecases/ShowFeaturesWarningUseCase.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/domain/usecases/ShowFeaturesWarningUseCase.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/domain/usecases/ShowFeaturesWarningUseCase.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/domain/usecases/TrackerDetailsUseCase.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/domain/usecases/TrackerDetailsUseCase.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/domain/usecases/TrackerDetailsUseCase.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/domain/usecases/TrackerDetailsUseCase.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/domain/usecases/TrackersAndAppsListsUseCase.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/domain/usecases/TrackersAndAppsListsUseCase.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/domain/usecases/TrackersAndAppsListsUseCase.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/domain/usecases/TrackersAndAppsListsUseCase.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/domain/usecases/TrackersScreenUseCase.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/domain/usecases/TrackersScreenUseCase.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/domain/usecases/TrackersScreenUseCase.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/domain/usecases/TrackersScreenUseCase.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/domain/usecases/TrackersStateUseCase.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/domain/usecases/TrackersStateUseCase.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/domain/usecases/TrackersStateUseCase.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/domain/usecases/TrackersStateUseCase.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/domain/usecases/TrackersStatisticsUseCase.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/domain/usecases/TrackersStatisticsUseCase.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/domain/usecases/TrackersStatisticsUseCase.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/domain/usecases/TrackersStatisticsUseCase.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/externalinterfaces/contentproviders/FakeLocationContentProvider.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/externalinterfaces/contentproviders/FakeLocationContentProvider.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/externalinterfaces/contentproviders/FakeLocationContentProvider.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/externalinterfaces/contentproviders/FakeLocationContentProvider.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/dashboard/DashboardFragment.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/dashboard/DashboardFragment.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/features/dashboard/DashboardFragment.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/dashboard/DashboardFragment.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/dashboard/DashboardState.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/dashboard/DashboardState.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/features/dashboard/DashboardState.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/dashboard/DashboardState.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/dashboard/DashboardViewModel.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/dashboard/DashboardViewModel.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/features/dashboard/DashboardViewModel.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/dashboard/DashboardViewModel.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/dashboard/ShameListsTabPagerAdapter.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/dashboard/ShameListsTabPagerAdapter.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/features/dashboard/ShameListsTabPagerAdapter.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/dashboard/ShameListsTabPagerAdapter.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/internetprivacy/InternetPrivacyFragment.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/internetprivacy/InternetPrivacyFragment.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/features/internetprivacy/InternetPrivacyFragment.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/internetprivacy/InternetPrivacyFragment.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/internetprivacy/InternetPrivacyState.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/internetprivacy/InternetPrivacyState.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/features/internetprivacy/InternetPrivacyState.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/internetprivacy/InternetPrivacyState.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/internetprivacy/InternetPrivacyViewModel.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/internetprivacy/InternetPrivacyViewModel.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/features/internetprivacy/InternetPrivacyViewModel.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/internetprivacy/InternetPrivacyViewModel.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/internetprivacy/ToggleAppsAdapter.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/internetprivacy/ToggleAppsAdapter.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/features/internetprivacy/ToggleAppsAdapter.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/internetprivacy/ToggleAppsAdapter.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/location/FakeLocationFragment.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/location/FakeLocationFragment.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/features/location/FakeLocationFragment.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/location/FakeLocationFragment.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/location/FakeLocationMapView.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/location/FakeLocationMapView.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/features/location/FakeLocationMapView.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/location/FakeLocationMapView.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/location/FakeLocationState.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/location/FakeLocationState.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/features/location/FakeLocationState.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/location/FakeLocationState.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/location/FakeLocationViewModel.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/location/FakeLocationViewModel.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/features/location/FakeLocationViewModel.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/location/FakeLocationViewModel.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/trackers/ListsTabPagerAdapter.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/ListsTabPagerAdapter.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/features/trackers/ListsTabPagerAdapter.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/ListsTabPagerAdapter.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackerControlDisclaimer.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackerControlDisclaimer.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackerControlDisclaimer.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackerControlDisclaimer.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersFragment.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersFragment.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersFragment.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersFragment.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersPeriodAdapter.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersPeriodAdapter.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersPeriodAdapter.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersPeriodAdapter.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersPeriodFragment.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersPeriodFragment.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersPeriodFragment.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersPeriodFragment.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersPeriodViewModel.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersPeriodViewModel.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersPeriodViewModel.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersPeriodViewModel.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersState.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersState.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersState.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersState.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersViewModel.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersViewModel.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersViewModel.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/TrackersViewModel.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/trackers/apptrackers/AppTrackersFragment.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/apptrackers/AppTrackersFragment.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/features/trackers/apptrackers/AppTrackersFragment.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/apptrackers/AppTrackersFragment.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/trackers/apptrackers/AppTrackersState.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/apptrackers/AppTrackersState.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/features/trackers/apptrackers/AppTrackersState.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/apptrackers/AppTrackersState.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/trackers/apptrackers/AppTrackersViewModel.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/apptrackers/AppTrackersViewModel.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/features/trackers/apptrackers/AppTrackersViewModel.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/apptrackers/AppTrackersViewModel.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/trackers/apptrackers/ToggleTrackersAdapter.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/apptrackers/ToggleTrackersAdapter.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/features/trackers/apptrackers/ToggleTrackersAdapter.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/apptrackers/ToggleTrackersAdapter.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/trackers/graph/GraphHolder.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/graph/GraphHolder.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/features/trackers/graph/GraphHolder.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/graph/GraphHolder.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/trackers/graph/PeriodMarkerView.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/graph/PeriodMarkerView.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/features/trackers/graph/PeriodMarkerView.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/graph/PeriodMarkerView.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/trackers/trackerdetails/TrackerAppsAdapter.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/trackerdetails/TrackerAppsAdapter.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/features/trackers/trackerdetails/TrackerAppsAdapter.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/trackerdetails/TrackerAppsAdapter.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/trackers/trackerdetails/TrackerDetailsFragment.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/trackerdetails/TrackerDetailsFragment.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/features/trackers/trackerdetails/TrackerDetailsFragment.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/trackerdetails/TrackerDetailsFragment.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/trackers/trackerdetails/TrackerDetailsState.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/trackerdetails/TrackerDetailsState.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/features/trackers/trackerdetails/TrackerDetailsState.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/trackerdetails/TrackerDetailsState.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/features/trackers/trackerdetails/TrackerDetailsViewModel.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/trackerdetails/TrackerDetailsViewModel.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/features/trackers/trackerdetails/TrackerDetailsViewModel.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/features/trackers/trackerdetails/TrackerDetailsViewModel.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/main/MainActivity.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/main/MainActivity.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/main/MainActivity.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/main/MainActivity.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/widget/Widget.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/widget/Widget.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/widget/Widget.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/widget/Widget.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/widget/WidgetCommandReceiver.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/widget/WidgetCommandReceiver.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/widget/WidgetCommandReceiver.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/widget/WidgetCommandReceiver.kt diff --git a/app/src/main/java/foundation/e/advancedprivacy/widget/WidgetUI.kt b/advancedprivacy/src/main/java/foundation/e/advancedprivacy/widget/WidgetUI.kt similarity index 100% rename from app/src/main/java/foundation/e/advancedprivacy/widget/WidgetUI.kt rename to advancedprivacy/src/main/java/foundation/e/advancedprivacy/widget/WidgetUI.kt diff --git a/app/src/main/res/color/chip_background.xml b/advancedprivacy/src/main/res/color/chip_background.xml similarity index 100% rename from app/src/main/res/color/chip_background.xml rename to advancedprivacy/src/main/res/color/chip_background.xml diff --git a/app/src/main/res/color/chip_text.xml b/advancedprivacy/src/main/res/color/chip_text.xml similarity index 100% rename from app/src/main/res/color/chip_text.xml rename to advancedprivacy/src/main/res/color/chip_text.xml diff --git a/app/src/main/res/drawable/bg_outlined.xml b/advancedprivacy/src/main/res/drawable/bg_outlined.xml similarity index 100% rename from app/src/main/res/drawable/bg_outlined.xml rename to advancedprivacy/src/main/res/drawable/bg_outlined.xml diff --git a/app/src/main/res/drawable/bg_rounded_19.xml b/advancedprivacy/src/main/res/drawable/bg_rounded_19.xml similarity index 100% rename from app/src/main/res/drawable/bg_rounded_19.xml rename to advancedprivacy/src/main/res/drawable/bg_rounded_19.xml diff --git a/app/src/main/res/drawable/bg_stroke_rounded_12.xml b/advancedprivacy/src/main/res/drawable/bg_stroke_rounded_12.xml similarity index 100% rename from app/src/main/res/drawable/bg_stroke_rounded_12.xml rename to advancedprivacy/src/main/res/drawable/bg_stroke_rounded_12.xml diff --git a/app/src/main/res/drawable/bg_stroke_rounded_8.xml b/advancedprivacy/src/main/res/drawable/bg_stroke_rounded_8.xml similarity index 100% rename from app/src/main/res/drawable/bg_stroke_rounded_8.xml rename to advancedprivacy/src/main/res/drawable/bg_stroke_rounded_8.xml diff --git a/app/src/main/res/drawable/bg_tag.xml b/advancedprivacy/src/main/res/drawable/bg_tag.xml similarity index 100% rename from app/src/main/res/drawable/bg_tag.xml rename to advancedprivacy/src/main/res/drawable/bg_tag.xml diff --git a/app/src/main/res/drawable/bg_widget.xml b/advancedprivacy/src/main/res/drawable/bg_widget.xml similarity index 100% rename from app/src/main/res/drawable/bg_widget.xml rename to advancedprivacy/src/main/res/drawable/bg_widget.xml diff --git a/app/src/main/res/drawable/ic_apps_24.xml b/advancedprivacy/src/main/res/drawable/ic_apps_24.xml similarity index 100% rename from app/src/main/res/drawable/ic_apps_24.xml rename to advancedprivacy/src/main/res/drawable/ic_apps_24.xml diff --git a/app/src/main/res/drawable/ic_apps_compatibility_components.xml b/advancedprivacy/src/main/res/drawable/ic_apps_compatibility_components.xml similarity index 100% rename from app/src/main/res/drawable/ic_apps_compatibility_components.xml rename to advancedprivacy/src/main/res/drawable/ic_apps_compatibility_components.xml diff --git a/app/src/main/res/drawable/ic_block_24.xml b/advancedprivacy/src/main/res/drawable/ic_block_24.xml similarity index 100% rename from app/src/main/res/drawable/ic_block_24.xml rename to advancedprivacy/src/main/res/drawable/ic_block_24.xml diff --git a/app/src/main/res/drawable/ic_chevron_right_24dp.xml b/advancedprivacy/src/main/res/drawable/ic_chevron_right_24dp.xml similarity index 100% rename from app/src/main/res/drawable/ic_chevron_right_24dp.xml rename to advancedprivacy/src/main/res/drawable/ic_chevron_right_24dp.xml diff --git a/app/src/main/res/drawable/ic_close.xml b/advancedprivacy/src/main/res/drawable/ic_close.xml similarity index 100% rename from app/src/main/res/drawable/ic_close.xml rename to advancedprivacy/src/main/res/drawable/ic_close.xml diff --git a/app/src/main/res/drawable/ic_e_app_logo.xml b/advancedprivacy/src/main/res/drawable/ic_e_app_logo.xml similarity index 100% rename from app/src/main/res/drawable/ic_e_app_logo.xml rename to advancedprivacy/src/main/res/drawable/ic_e_app_logo.xml diff --git a/app/src/main/res/drawable/ic_fmd_bad.xml b/advancedprivacy/src/main/res/drawable/ic_fmd_bad.xml similarity index 100% rename from app/src/main/res/drawable/ic_fmd_bad.xml rename to advancedprivacy/src/main/res/drawable/ic_fmd_bad.xml diff --git a/app/src/main/res/drawable/ic_info_16dp.xml b/advancedprivacy/src/main/res/drawable/ic_info_16dp.xml similarity index 100% rename from app/src/main/res/drawable/ic_info_16dp.xml rename to advancedprivacy/src/main/res/drawable/ic_info_16dp.xml diff --git a/app/src/main/res/drawable/ic_language.xml b/advancedprivacy/src/main/res/drawable/ic_language.xml similarity index 100% rename from app/src/main/res/drawable/ic_language.xml rename to advancedprivacy/src/main/res/drawable/ic_language.xml diff --git a/app/src/main/res/drawable/ic_launcher.xml b/advancedprivacy/src/main/res/drawable/ic_launcher.xml similarity index 100% rename from app/src/main/res/drawable/ic_launcher.xml rename to advancedprivacy/src/main/res/drawable/ic_launcher.xml diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/advancedprivacy/src/main/res/drawable/ic_launcher_foreground.xml similarity index 100% rename from app/src/main/res/drawable/ic_launcher_foreground.xml rename to advancedprivacy/src/main/res/drawable/ic_launcher_foreground.xml diff --git a/app/src/main/res/drawable/ic_legend_blocked.xml b/advancedprivacy/src/main/res/drawable/ic_legend_blocked.xml similarity index 100% rename from app/src/main/res/drawable/ic_legend_blocked.xml rename to advancedprivacy/src/main/res/drawable/ic_legend_blocked.xml diff --git a/app/src/main/res/drawable/ic_legend_leaked.xml b/advancedprivacy/src/main/res/drawable/ic_legend_leaked.xml similarity index 100% rename from app/src/main/res/drawable/ic_legend_leaked.xml rename to advancedprivacy/src/main/res/drawable/ic_legend_leaked.xml diff --git a/app/src/main/res/drawable/ic_notification_logo.xml b/advancedprivacy/src/main/res/drawable/ic_notification_logo.xml similarity index 100% rename from app/src/main/res/drawable/ic_notification_logo.xml rename to advancedprivacy/src/main/res/drawable/ic_notification_logo.xml diff --git a/app/src/main/res/drawable/ic_settings.xml b/advancedprivacy/src/main/res/drawable/ic_settings.xml similarity index 100% rename from app/src/main/res/drawable/ic_settings.xml rename to advancedprivacy/src/main/res/drawable/ic_settings.xml diff --git a/app/src/main/res/drawable/ic_shield_alert.xml b/advancedprivacy/src/main/res/drawable/ic_shield_alert.xml similarity index 100% rename from app/src/main/res/drawable/ic_shield_alert.xml rename to advancedprivacy/src/main/res/drawable/ic_shield_alert.xml diff --git a/app/src/main/res/drawable/ic_switch_disabled_raster.png b/advancedprivacy/src/main/res/drawable/ic_switch_disabled_raster.png similarity index 100% rename from app/src/main/res/drawable/ic_switch_disabled_raster.png rename to advancedprivacy/src/main/res/drawable/ic_switch_disabled_raster.png diff --git a/app/src/main/res/drawable/ic_switch_enabled_raster.png b/advancedprivacy/src/main/res/drawable/ic_switch_enabled_raster.png similarity index 100% rename from app/src/main/res/drawable/ic_switch_enabled_raster.png rename to advancedprivacy/src/main/res/drawable/ic_switch_enabled_raster.png diff --git a/app/src/main/res/drawable/ic_valid.xml b/advancedprivacy/src/main/res/drawable/ic_valid.xml similarity index 100% rename from app/src/main/res/drawable/ic_valid.xml rename to advancedprivacy/src/main/res/drawable/ic_valid.xml diff --git a/app/src/main/res/drawable/part_square.xml b/advancedprivacy/src/main/res/drawable/part_square.xml similarity index 100% rename from app/src/main/res/drawable/part_square.xml rename to advancedprivacy/src/main/res/drawable/part_square.xml diff --git a/app/src/main/res/drawable/part_triangle.xml b/advancedprivacy/src/main/res/drawable/part_triangle.xml similarity index 100% rename from app/src/main/res/drawable/part_triangle.xml rename to advancedprivacy/src/main/res/drawable/part_triangle.xml diff --git a/app/src/main/res/drawable/pill_shape_tab_bg.xml b/advancedprivacy/src/main/res/drawable/pill_shape_tab_bg.xml similarity index 100% rename from app/src/main/res/drawable/pill_shape_tab_bg.xml rename to advancedprivacy/src/main/res/drawable/pill_shape_tab_bg.xml diff --git a/app/src/main/res/drawable/pill_shape_tab_indicator.xml b/advancedprivacy/src/main/res/drawable/pill_shape_tab_indicator.xml similarity index 100% rename from app/src/main/res/drawable/pill_shape_tab_indicator.xml rename to advancedprivacy/src/main/res/drawable/pill_shape_tab_indicator.xml diff --git a/app/src/main/res/drawable/pill_shape_tab_selected.xml b/advancedprivacy/src/main/res/drawable/pill_shape_tab_selected.xml similarity index 100% rename from app/src/main/res/drawable/pill_shape_tab_selected.xml rename to advancedprivacy/src/main/res/drawable/pill_shape_tab_selected.xml diff --git a/app/src/main/res/drawable/widget_large_preview.xml b/advancedprivacy/src/main/res/drawable/widget_large_preview.xml similarity index 100% rename from app/src/main/res/drawable/widget_large_preview.xml rename to advancedprivacy/src/main/res/drawable/widget_large_preview.xml diff --git a/app/src/main/res/layout/activity_main.xml b/advancedprivacy/src/main/res/layout/activity_main.xml similarity index 100% rename from app/src/main/res/layout/activity_main.xml rename to advancedprivacy/src/main/res/layout/activity_main.xml diff --git a/app/src/main/res/layout/alertdialog_do_not_show_again.xml b/advancedprivacy/src/main/res/layout/alertdialog_do_not_show_again.xml similarity index 100% rename from app/src/main/res/layout/alertdialog_do_not_show_again.xml rename to advancedprivacy/src/main/res/layout/alertdialog_do_not_show_again.xml diff --git a/app/src/main/res/layout/apptrackers_fragment.xml b/advancedprivacy/src/main/res/layout/apptrackers_fragment.xml similarity index 100% rename from app/src/main/res/layout/apptrackers_fragment.xml rename to advancedprivacy/src/main/res/layout/apptrackers_fragment.xml diff --git a/app/src/main/res/layout/apptrackers_item_tracker_toggle.xml b/advancedprivacy/src/main/res/layout/apptrackers_item_tracker_toggle.xml similarity index 100% rename from app/src/main/res/layout/apptrackers_item_tracker_toggle.xml rename to advancedprivacy/src/main/res/layout/apptrackers_item_tracker_toggle.xml diff --git a/app/src/main/res/layout/chart_tooltip.xml b/advancedprivacy/src/main/res/layout/chart_tooltip.xml similarity index 100% rename from app/src/main/res/layout/chart_tooltip.xml rename to advancedprivacy/src/main/res/layout/chart_tooltip.xml diff --git a/app/src/main/res/layout/dashboard_item_submenu_button.xml b/advancedprivacy/src/main/res/layout/dashboard_item_submenu_button.xml similarity index 100% rename from app/src/main/res/layout/dashboard_item_submenu_button.xml rename to advancedprivacy/src/main/res/layout/dashboard_item_submenu_button.xml diff --git a/app/src/main/res/layout/dashboard_shame_list.xml b/advancedprivacy/src/main/res/layout/dashboard_shame_list.xml similarity index 100% rename from app/src/main/res/layout/dashboard_shame_list.xml rename to advancedprivacy/src/main/res/layout/dashboard_shame_list.xml diff --git a/app/src/main/res/layout/disclaimer_block_trackers.xml b/advancedprivacy/src/main/res/layout/disclaimer_block_trackers.xml similarity index 100% rename from app/src/main/res/layout/disclaimer_block_trackers.xml rename to advancedprivacy/src/main/res/layout/disclaimer_block_trackers.xml diff --git a/app/src/main/res/layout/fragment_dashboard.xml b/advancedprivacy/src/main/res/layout/fragment_dashboard.xml similarity index 100% rename from app/src/main/res/layout/fragment_dashboard.xml rename to advancedprivacy/src/main/res/layout/fragment_dashboard.xml diff --git a/app/src/main/res/layout/fragment_fake_location.xml b/advancedprivacy/src/main/res/layout/fragment_fake_location.xml similarity index 100% rename from app/src/main/res/layout/fragment_fake_location.xml rename to advancedprivacy/src/main/res/layout/fragment_fake_location.xml diff --git a/app/src/main/res/layout/fragment_internet_activity_policy.xml b/advancedprivacy/src/main/res/layout/fragment_internet_activity_policy.xml similarity index 100% rename from app/src/main/res/layout/fragment_internet_activity_policy.xml rename to advancedprivacy/src/main/res/layout/fragment_internet_activity_policy.xml diff --git a/app/src/main/res/layout/fragment_trackers.xml b/advancedprivacy/src/main/res/layout/fragment_trackers.xml similarity index 100% rename from app/src/main/res/layout/fragment_trackers.xml rename to advancedprivacy/src/main/res/layout/fragment_trackers.xml diff --git a/app/src/main/res/layout/highlight_data_number.xml b/advancedprivacy/src/main/res/layout/highlight_data_number.xml similarity index 100% rename from app/src/main/res/layout/highlight_data_number.xml rename to advancedprivacy/src/main/res/layout/highlight_data_number.xml diff --git a/app/src/main/res/layout/ipscrambling_item_selectmode.xml b/advancedprivacy/src/main/res/layout/ipscrambling_item_selectmode.xml similarity index 100% rename from app/src/main/res/layout/ipscrambling_item_selectmode.xml rename to advancedprivacy/src/main/res/layout/ipscrambling_item_selectmode.xml diff --git a/app/src/main/res/layout/item_app_toggle.xml b/advancedprivacy/src/main/res/layout/item_app_toggle.xml similarity index 100% rename from app/src/main/res/layout/item_app_toggle.xml rename to advancedprivacy/src/main/res/layout/item_app_toggle.xml diff --git a/app/src/main/res/layout/topbar.xml b/advancedprivacy/src/main/res/layout/topbar.xml similarity index 100% rename from app/src/main/res/layout/topbar.xml rename to advancedprivacy/src/main/res/layout/topbar.xml diff --git a/app/src/main/res/layout/trackerdetails_fragment.xml b/advancedprivacy/src/main/res/layout/trackerdetails_fragment.xml similarity index 100% rename from app/src/main/res/layout/trackerdetails_fragment.xml rename to advancedprivacy/src/main/res/layout/trackerdetails_fragment.xml diff --git a/app/src/main/res/layout/trackers_apps_list.xml b/advancedprivacy/src/main/res/layout/trackers_apps_list.xml similarity index 100% rename from app/src/main/res/layout/trackers_apps_list.xml rename to advancedprivacy/src/main/res/layout/trackers_apps_list.xml diff --git a/app/src/main/res/layout/trackers_item_app.xml b/advancedprivacy/src/main/res/layout/trackers_item_app.xml similarity index 100% rename from app/src/main/res/layout/trackers_item_app.xml rename to advancedprivacy/src/main/res/layout/trackers_item_app.xml diff --git a/app/src/main/res/layout/trackers_item_graph.xml b/advancedprivacy/src/main/res/layout/trackers_item_graph.xml similarity index 100% rename from app/src/main/res/layout/trackers_item_graph.xml rename to advancedprivacy/src/main/res/layout/trackers_item_graph.xml diff --git a/app/src/main/res/layout/trackers_list.xml b/advancedprivacy/src/main/res/layout/trackers_list.xml similarity index 100% rename from app/src/main/res/layout/trackers_list.xml rename to advancedprivacy/src/main/res/layout/trackers_list.xml diff --git a/app/src/main/res/layout/trackers_period_fragment.xml b/advancedprivacy/src/main/res/layout/trackers_period_fragment.xml similarity index 100% rename from app/src/main/res/layout/trackers_period_fragment.xml rename to advancedprivacy/src/main/res/layout/trackers_period_fragment.xml diff --git a/app/src/main/res/layout/widget_large.xml b/advancedprivacy/src/main/res/layout/widget_large.xml similarity index 100% rename from app/src/main/res/layout/widget_large.xml rename to advancedprivacy/src/main/res/layout/widget_large.xml diff --git a/app/src/main/res/layout/widget_narrow.xml b/advancedprivacy/src/main/res/layout/widget_narrow.xml similarity index 100% rename from app/src/main/res/layout/widget_narrow.xml rename to advancedprivacy/src/main/res/layout/widget_narrow.xml diff --git a/app/src/main/res/navigation/nav_graph.xml b/advancedprivacy/src/main/res/navigation/nav_graph.xml similarity index 100% rename from app/src/main/res/navigation/nav_graph.xml rename to advancedprivacy/src/main/res/navigation/nav_graph.xml diff --git a/app/src/main/res/values-de/strings.xml b/advancedprivacy/src/main/res/values-de/strings.xml similarity index 100% rename from app/src/main/res/values-de/strings.xml rename to advancedprivacy/src/main/res/values-de/strings.xml diff --git a/app/src/main/res/values-en-rUS/strings.xml b/advancedprivacy/src/main/res/values-en-rUS/strings.xml similarity index 100% rename from app/src/main/res/values-en-rUS/strings.xml rename to advancedprivacy/src/main/res/values-en-rUS/strings.xml diff --git a/app/src/main/res/values-es/strings.xml b/advancedprivacy/src/main/res/values-es/strings.xml similarity index 100% rename from app/src/main/res/values-es/strings.xml rename to advancedprivacy/src/main/res/values-es/strings.xml diff --git a/app/src/main/res/values-fi/strings.xml b/advancedprivacy/src/main/res/values-fi/strings.xml similarity index 100% rename from app/src/main/res/values-fi/strings.xml rename to advancedprivacy/src/main/res/values-fi/strings.xml diff --git a/app/src/main/res/values-fr/strings.xml b/advancedprivacy/src/main/res/values-fr/strings.xml similarity index 100% rename from app/src/main/res/values-fr/strings.xml rename to advancedprivacy/src/main/res/values-fr/strings.xml diff --git a/app/src/main/res/values-in/strings.xml b/advancedprivacy/src/main/res/values-in/strings.xml similarity index 100% rename from app/src/main/res/values-in/strings.xml rename to advancedprivacy/src/main/res/values-in/strings.xml diff --git a/app/src/main/res/values-is/strings.xml b/advancedprivacy/src/main/res/values-is/strings.xml similarity index 100% rename from app/src/main/res/values-is/strings.xml rename to advancedprivacy/src/main/res/values-is/strings.xml diff --git a/app/src/main/res/values-it/strings.xml b/advancedprivacy/src/main/res/values-it/strings.xml similarity index 100% rename from app/src/main/res/values-it/strings.xml rename to advancedprivacy/src/main/res/values-it/strings.xml diff --git a/app/src/main/res/values-ja/strings.xml b/advancedprivacy/src/main/res/values-ja/strings.xml similarity index 100% rename from app/src/main/res/values-ja/strings.xml rename to advancedprivacy/src/main/res/values-ja/strings.xml diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/advancedprivacy/src/main/res/values-nb-rNO/strings.xml similarity index 100% rename from app/src/main/res/values-nb-rNO/strings.xml rename to advancedprivacy/src/main/res/values-nb-rNO/strings.xml diff --git a/app/src/main/res/values-night/bools.xml b/advancedprivacy/src/main/res/values-night/bools.xml similarity index 100% rename from app/src/main/res/values-night/bools.xml rename to advancedprivacy/src/main/res/values-night/bools.xml diff --git a/app/src/main/res/values-nl/strings.xml b/advancedprivacy/src/main/res/values-nl/strings.xml similarity index 100% rename from app/src/main/res/values-nl/strings.xml rename to advancedprivacy/src/main/res/values-nl/strings.xml diff --git a/app/src/main/res/values-ru/strings.xml b/advancedprivacy/src/main/res/values-ru/strings.xml similarity index 100% rename from app/src/main/res/values-ru/strings.xml rename to advancedprivacy/src/main/res/values-ru/strings.xml diff --git a/app/src/main/res/values-sv/strings.xml b/advancedprivacy/src/main/res/values-sv/strings.xml similarity index 100% rename from app/src/main/res/values-sv/strings.xml rename to advancedprivacy/src/main/res/values-sv/strings.xml diff --git a/app/src/main/res/values-uk/strings.xml b/advancedprivacy/src/main/res/values-uk/strings.xml similarity index 100% rename from app/src/main/res/values-uk/strings.xml rename to advancedprivacy/src/main/res/values-uk/strings.xml diff --git a/app/src/main/res/values/bools.xml b/advancedprivacy/src/main/res/values/bools.xml similarity index 100% rename from app/src/main/res/values/bools.xml rename to advancedprivacy/src/main/res/values/bools.xml diff --git a/app/src/main/res/values/colors.xml b/advancedprivacy/src/main/res/values/colors.xml similarity index 100% rename from app/src/main/res/values/colors.xml rename to advancedprivacy/src/main/res/values/colors.xml diff --git a/app/src/main/res/values/dimens.xml b/advancedprivacy/src/main/res/values/dimens.xml similarity index 100% rename from app/src/main/res/values/dimens.xml rename to advancedprivacy/src/main/res/values/dimens.xml diff --git a/app/src/main/res/values/strings.xml b/advancedprivacy/src/main/res/values/strings.xml similarity index 100% rename from app/src/main/res/values/strings.xml rename to advancedprivacy/src/main/res/values/strings.xml diff --git a/app/src/main/res/values/themes.xml b/advancedprivacy/src/main/res/values/themes.xml similarity index 100% rename from app/src/main/res/values/themes.xml rename to advancedprivacy/src/main/res/values/themes.xml diff --git a/app/src/main/res/xml/widget_info.xml b/advancedprivacy/src/main/res/xml/widget_info.xml similarity index 100% rename from app/src/main/res/xml/widget_info.xml rename to advancedprivacy/src/main/res/xml/widget_info.xml diff --git a/app/src/standalone/res/values-night/colors.xml b/advancedprivacy/src/standalone/res/values-night/colors.xml similarity index 100% rename from app/src/standalone/res/values-night/colors.xml rename to advancedprivacy/src/standalone/res/values-night/colors.xml diff --git a/app/src/standalone/res/values/colors.xml b/advancedprivacy/src/standalone/res/values/colors.xml similarity index 100% rename from app/src/standalone/res/values/colors.xml rename to advancedprivacy/src/standalone/res/values/colors.xml diff --git a/app/src/standalone/res/values/strings.xml b/advancedprivacy/src/standalone/res/values/strings.xml similarity index 100% rename from app/src/standalone/res/values/strings.xml rename to advancedprivacy/src/standalone/res/values/strings.xml diff --git a/app/src/test/java/foundation/e/advancedprivacy/ExampleUnitTest.kt b/advancedprivacy/src/test/java/foundation/e/advancedprivacy/ExampleUnitTest.kt similarity index 100% rename from app/src/test/java/foundation/e/advancedprivacy/ExampleUnitTest.kt rename to advancedprivacy/src/test/java/foundation/e/advancedprivacy/ExampleUnitTest.kt diff --git a/app/build.gradle b/app/build.gradle index e798ac7b0c3487f12273229c151d40834a4777bf..7e61c492c187293890bfda3d0e69c2c079ff0c15 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,6 +1,5 @@ /* - * Copyright (C) 2023 MURENA SAS - * Copyright (C) 2022 - 2025 E FOUNDATION + * Copyright (C) 2025 E FOUNDATION * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -17,24 +16,8 @@ */ plugins { - id 'com.android.application' - id 'kotlin-android' - id 'androidx.navigation.safeargs.kotlin' -} - -def getSentryDsn = { -> - - def sentryDsnEnv = System.getenv("SENTRY_DSN") - if (sentryDsnEnv != null) { - return sentryDsnEnv - } - - Properties properties = new Properties() - def propertiesFile = project.rootProject.file('local.properties') - if (propertiesFile.exists()) { - properties.load(propertiesFile.newDataInputStream()) - } - return properties.getProperty('SENTRY_DSN') + alias(libs.plugins.android.application) + alias(libs.plugins.kotlin.android) } android { @@ -46,16 +29,6 @@ android { targetSdkVersion buildConfig.targetSdk versionCode buildConfig.version.code versionName buildConfig.version.name - - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - - manifestPlaceholders = [ - persistent: "false", - mainActivityIntentFilterCategory: "android.intent.category.LAUNCHER" - ] - - resValue("string", "mapbox_key", MAPBOX_KEY) - buildConfigField("String", "SENTRY_DSN", "\"${getSentryDsn()}\"") } signingConfigs { @@ -87,10 +60,6 @@ android { standalone { dimension 'os' applicationIdSuffix '.standalone' - manifestPlaceholders = [ - persistent: "false", - mainActivityIntentFilterCategory: "android.intent.category.LAUNCHER" - ] signingConfig signingConfigs.debug } @@ -101,20 +70,11 @@ android { signingConfig null // Set signing config to null as we use signingConfig per variant. } release { - manifestPlaceholders = [ - persistent: "true", - mainActivityIntentFilterCategory: "android.intent.category.INFO" - ] - minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } releaseNoLibs { matchingFallbacks = ["release"] - manifestPlaceholders = [ - persistent: "true", - mainActivityIntentFilterCategory: "android.intent.category.INFO" - ] minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' @@ -143,7 +103,7 @@ android { lintOptions { disable 'MissingTranslation' } - namespace 'foundation.e.advancedprivacy' + namespace 'foundation.e.advancedprivacy.app' } // Required to exclude libs from one specific buildType: https://stackoverflow.com/a/78301183 @@ -154,48 +114,7 @@ androidComponents { } dependencies { - implementation project(':core') - standaloneImplementation project(':permissionsstandalone') - eosImplementation project(':permissionseos') - - eosImplementation files('libs/lineage-sdk.jar') - - implementation project(':trackers') + implementation project(':advancedprivacy') - implementation project(':ipscrambling') - eosImplementation project(':trackersserviceeos') - standaloneImplementation project(':trackersservicestandalone') - - implementation ( - libs.androidx.core.ktx, - libs.androidx.appcompat, - libs.androidx.datastore.preferences, - libs.androidx.fragment.ktx, - libs.androidx.lifecycle.runtime, - libs.androidx.lifecycle.viewmodel, - libs.androidx.navigation.fragment, - libs.androidx.navigation.ui, - libs.androidx.viewpager2, - - libs.bundles.koin, - - libs.eos.elib, - libs.eos.telemetry, - - libs.google.material, - libs.kotlinx.serialization, - - libs.maplibre, - libs.mpandroidcharts, - - libs.timber - ) - - debugImplementation libs.leakcanary - - testImplementation libs.junit -} - -static def log(Object val) { - println("[GradleRepository]: " + val) -} + debugImplementation project (':APDebugTools') +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index aa3e518c35fc4eeff8a3ea8932195fcfee657667..f6cb0f6121478dc7d3f271b03dd4d69e01f01ef9 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,6 +1,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index 0c00702ea21ba44b90870e87629a70b4320b8693..adec81966af3967f05e5d9326932ea7e5f540b92 100644 --- a/settings.gradle +++ b/settings.gradle @@ -6,7 +6,7 @@ pluginManagement { } } -include ':app' + rootProject.name = "AdvancedPrivacy" include ':core' include ':permissionsstandalone' @@ -18,6 +18,9 @@ include ':ipscrambling' //include ':ipscrambling:orbotservice' include ':trackersservicestandalone' include ':trackersserviceeos' +include ':advancedprivacy' +include ':APDebugTools' +include ':app' dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)