diff --git a/app-common/build.gradle b/app-common/build.gradle index 76ac35db..537b6da2 100644 --- a/app-common/build.gradle +++ b/app-common/build.gradle @@ -8,6 +8,10 @@ plugins { id 'dagger.hilt.android.plugin' } + +def gitSha = 'git rev-parse --short HEAD'.execute([], project.rootDir).text.trim() +def buildTime = new Date().format("yyyy-MM-dd'T'HH:mm:ss'Z'", TimeZone.getTimeZone("GMT+1")) + android { compileSdkVersion buildConfig.compileSdk @@ -18,12 +22,38 @@ android { versionCode buildConfig.version.code versionName buildConfig.version.name + + buildConfigField "long", "VERSION_CODE", "${buildConfig.version.code}" + buildConfigField "String", "VERSION_NAME", "\"${buildConfig.version.name}\"" + + buildConfigField "String", "GITSHA", "\"${gitSha}\"" + buildConfigField "String", "BUILDTIME", "\"${buildTime}\"" + } + + flavorDimensions "version" + productFlavors { + foss { + + } + gplay { + + } } buildTypes { + def proguardRulesRelease = fileTree(dir: "../proguard", include: ["*.pro"]).asList().toArray() + debug { + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt') + proguardFiles proguardRulesRelease + proguardFiles 'proguard-rules-debug.pro' + } + beta { + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt') + proguardFiles proguardRulesRelease + } release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt') + proguardFiles proguardRulesRelease } } @@ -57,6 +87,16 @@ android { } dependencies { + + implementation("com.squareup.moshi:moshi:1.13.0") + kapt("com.squareup.moshi:moshi-kotlin-codegen:1.13.0") + + // Debugging + implementation('com.bugsnag:bugsnag-android:5.9.2') + implementation 'com.getkeepsafe.relinker:relinker:1.4.3' + + implementation 'androidx.preference:preference-ktx:1.1.1' + // DI implementation "com.google.dagger:dagger:${versions.dagger.core}" implementation "com.google.dagger:dagger-android:${versions.dagger.core}" diff --git a/app/src/main/java/eu/darken/capod/common/BuildConfigWrap.kt b/app-common/src/main/java/eu/darken/capod/common/BuildConfigWrap.kt similarity index 91% rename from app/src/main/java/eu/darken/capod/common/BuildConfigWrap.kt rename to app-common/src/main/java/eu/darken/capod/common/BuildConfigWrap.kt index b0b77747..fbccbf37 100644 --- a/app/src/main/java/eu/darken/capod/common/BuildConfigWrap.kt +++ b/app-common/src/main/java/eu/darken/capod/common/BuildConfigWrap.kt @@ -34,11 +34,12 @@ object BuildConfigWrap { ; } - val APPLICATION_ID = BuildConfig.APPLICATION_ID + val APPLICATION_ID: String = TODO()//BuildConfig.APPLICATION_ID val VERSION_CODE: Long = BuildConfig.VERSION_CODE.toLong() val VERSION_NAME: String = BuildConfig.VERSION_NAME val GIT_SHA: String = BuildConfig.GITSHA + val BUILDTIME: String = BuildConfig.BUILDTIME val VERSION_DESCRIPTION_LONG: String = "v$VERSION_NAME ($VERSION_CODE) [$GIT_SHA] ${FLAVOR}_$BUILD_TYPE" val VERSION_DESCRIPTION_SHORT: String = "v$VERSION_NAME [$GIT_SHA] $FLAVOR" diff --git a/app/src/main/java/eu/darken/capod/common/BuildWrap.kt b/app-common/src/main/java/eu/darken/capod/common/BuildWrap.kt similarity index 62% rename from app/src/main/java/eu/darken/capod/common/BuildWrap.kt rename to app-common/src/main/java/eu/darken/capod/common/BuildWrap.kt index 9967862e..3d1006e4 100644 --- a/app/src/main/java/eu/darken/capod/common/BuildWrap.kt +++ b/app-common/src/main/java/eu/darken/capod/common/BuildWrap.kt @@ -13,6 +13,6 @@ object BuildWrap { } } -fun hasApiLevel(level: Int): Boolean = BuildWrap.VERSION.SDK_INT >= level +fun hasApiLevel(level: Int): Boolean = BuildWrap.VersionWrap.SDK_INT >= level -fun withinApiLevel(start: Int, end: Int): Boolean = BuildWrap.VERSION.SDK_INT in start..end +fun withinApiLevel(start: Int, end: Int): Boolean = BuildWrap.VersionWrap.SDK_INT in start..end diff --git a/app/src/main/java/eu/darken/capod/common/ByteArrayExtensions.kt b/app-common/src/main/java/eu/darken/capod/common/ByteArrayExtensions.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/common/ByteArrayExtensions.kt rename to app-common/src/main/java/eu/darken/capod/common/ByteArrayExtensions.kt diff --git a/app/src/main/java/eu/darken/capod/common/InstallId.kt b/app-common/src/main/java/eu/darken/capod/common/InstallId.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/common/InstallId.kt rename to app-common/src/main/java/eu/darken/capod/common/InstallId.kt diff --git a/app/src/main/java/eu/darken/capod/common/SystemClockWrap.kt b/app-common/src/main/java/eu/darken/capod/common/SystemClockWrap.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/common/SystemClockWrap.kt rename to app-common/src/main/java/eu/darken/capod/common/SystemClockWrap.kt diff --git a/app/src/main/java/eu/darken/capod/common/UIConverter.kt b/app-common/src/main/java/eu/darken/capod/common/UIConverter.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/common/UIConverter.kt rename to app-common/src/main/java/eu/darken/capod/common/UIConverter.kt diff --git a/app/src/main/java/eu/darken/capod/common/bluetooth/BleScanResult.kt b/app-common/src/main/java/eu/darken/capod/common/bluetooth/BleScanResult.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/common/bluetooth/BleScanResult.kt rename to app-common/src/main/java/eu/darken/capod/common/bluetooth/BleScanResult.kt diff --git a/app/src/main/java/eu/darken/capod/common/bluetooth/BleScanner.kt b/app-common/src/main/java/eu/darken/capod/common/bluetooth/BleScanner.kt similarity index 99% rename from app/src/main/java/eu/darken/capod/common/bluetooth/BleScanner.kt rename to app-common/src/main/java/eu/darken/capod/common/bluetooth/BleScanner.kt index bb1a4d3d..2f57b157 100644 --- a/app/src/main/java/eu/darken/capod/common/bluetooth/BleScanner.kt +++ b/app-common/src/main/java/eu/darken/capod/common/bluetooth/BleScanner.kt @@ -10,7 +10,6 @@ import dagger.hilt.android.qualifiers.ApplicationContext import eu.darken.capod.common.debug.logging.Logging.Priority.* import eu.darken.capod.common.debug.logging.log import eu.darken.capod.common.debug.logging.logTag -import eu.darken.capod.main.core.ScannerMode import kotlinx.coroutines.channels.awaitClose import kotlinx.coroutines.delay import kotlinx.coroutines.flow.Flow diff --git a/app/src/main/java/eu/darken/capod/common/bluetooth/BluetoothExtensions.kt b/app-common/src/main/java/eu/darken/capod/common/bluetooth/BluetoothExtensions.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/common/bluetooth/BluetoothExtensions.kt rename to app-common/src/main/java/eu/darken/capod/common/bluetooth/BluetoothExtensions.kt diff --git a/app/src/main/java/eu/darken/capod/common/bluetooth/BluetoothManager2.kt b/app-common/src/main/java/eu/darken/capod/common/bluetooth/BluetoothManager2.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/common/bluetooth/BluetoothManager2.kt rename to app-common/src/main/java/eu/darken/capod/common/bluetooth/BluetoothManager2.kt diff --git a/app/src/main/java/eu/darken/capod/common/bluetooth/BluetoothProfile2.kt b/app-common/src/main/java/eu/darken/capod/common/bluetooth/BluetoothProfile2.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/common/bluetooth/BluetoothProfile2.kt rename to app-common/src/main/java/eu/darken/capod/common/bluetooth/BluetoothProfile2.kt diff --git a/app/src/main/java/eu/darken/capod/common/bluetooth/FakeBleData.kt b/app-common/src/main/java/eu/darken/capod/common/bluetooth/FakeBleData.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/common/bluetooth/FakeBleData.kt rename to app-common/src/main/java/eu/darken/capod/common/bluetooth/FakeBleData.kt diff --git a/app/src/main/java/eu/darken/capod/main/core/ScannerMode.kt b/app-common/src/main/java/eu/darken/capod/common/bluetooth/ScannerMode.kt similarity index 94% rename from app/src/main/java/eu/darken/capod/main/core/ScannerMode.kt rename to app-common/src/main/java/eu/darken/capod/common/bluetooth/ScannerMode.kt index e0efd9f6..494755f7 100644 --- a/app/src/main/java/eu/darken/capod/main/core/ScannerMode.kt +++ b/app-common/src/main/java/eu/darken/capod/common/bluetooth/ScannerMode.kt @@ -1,4 +1,4 @@ -package eu.darken.capod.main.core +package eu.darken.capod.common.bluetooth import androidx.annotation.StringRes import com.squareup.moshi.Json diff --git a/app/src/main/java/eu/darken/capod/common/coroutine/AppCoroutineScope.kt b/app-common/src/main/java/eu/darken/capod/common/coroutine/AppCoroutineScope.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/common/coroutine/AppCoroutineScope.kt rename to app-common/src/main/java/eu/darken/capod/common/coroutine/AppCoroutineScope.kt diff --git a/app/src/main/java/eu/darken/capod/common/coroutine/CoroutineModule.kt b/app-common/src/main/java/eu/darken/capod/common/coroutine/CoroutineModule.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/common/coroutine/CoroutineModule.kt rename to app-common/src/main/java/eu/darken/capod/common/coroutine/CoroutineModule.kt diff --git a/app/src/main/java/eu/darken/capod/common/coroutine/DefaultDispatcherProvider.kt b/app-common/src/main/java/eu/darken/capod/common/coroutine/DefaultDispatcherProvider.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/common/coroutine/DefaultDispatcherProvider.kt rename to app-common/src/main/java/eu/darken/capod/common/coroutine/DefaultDispatcherProvider.kt diff --git a/app/src/main/java/eu/darken/capod/common/coroutine/DispatcherProvider.kt b/app-common/src/main/java/eu/darken/capod/common/coroutine/DispatcherProvider.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/common/coroutine/DispatcherProvider.kt rename to app-common/src/main/java/eu/darken/capod/common/coroutine/DispatcherProvider.kt diff --git a/app/src/main/java/eu/darken/capod/common/debug/Bugs.kt b/app-common/src/main/java/eu/darken/capod/common/debug/Bugs.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/common/debug/Bugs.kt rename to app-common/src/main/java/eu/darken/capod/common/debug/Bugs.kt diff --git a/app/src/main/java/eu/darken/capod/common/debug/autoreport/AutoReporting.kt b/app-common/src/main/java/eu/darken/capod/common/debug/autoreport/AutoReporting.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/common/debug/autoreport/AutoReporting.kt rename to app-common/src/main/java/eu/darken/capod/common/debug/autoreport/AutoReporting.kt diff --git a/app/src/main/java/eu/darken/capod/common/debug/autoreport/DebugSettings.kt b/app-common/src/main/java/eu/darken/capod/common/debug/autoreport/DebugSettings.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/common/debug/autoreport/DebugSettings.kt rename to app-common/src/main/java/eu/darken/capod/common/debug/autoreport/DebugSettings.kt diff --git a/app/src/main/java/eu/darken/capod/common/debug/autoreport/bugsnag/BugsnagErrorHandler.kt b/app-common/src/main/java/eu/darken/capod/common/debug/autoreport/bugsnag/BugsnagErrorHandler.kt similarity index 87% rename from app/src/main/java/eu/darken/capod/common/debug/autoreport/bugsnag/BugsnagErrorHandler.kt rename to app-common/src/main/java/eu/darken/capod/common/debug/autoreport/bugsnag/BugsnagErrorHandler.kt index 5222ca26..8c803728 100644 --- a/app/src/main/java/eu/darken/capod/common/debug/autoreport/bugsnag/BugsnagErrorHandler.kt +++ b/app-common/src/main/java/eu/darken/capod/common/debug/autoreport/bugsnag/BugsnagErrorHandler.kt @@ -6,7 +6,6 @@ import android.content.pm.PackageManager import com.bugsnag.android.Event import com.bugsnag.android.OnErrorCallback import dagger.hilt.android.qualifiers.ApplicationContext -import eu.darken.capod.BuildConfig import eu.darken.capod.common.BuildConfigWrap import eu.darken.capod.common.debug.autoreport.DebugSettings import eu.darken.capod.common.debug.logging.Logging.Priority.WARN @@ -26,13 +25,13 @@ class BugsnagErrorHandler @Inject constructor( bugsnagLogger.injectLog(event) TAB_APP.also { tab -> - event.addMetadata(tab, "gitSha", BuildConfig.GITSHA) - event.addMetadata(tab, "buildTime", BuildConfig.BUILDTIME) + event.addMetadata(tab, "gitSha", BuildConfigWrap.GIT_SHA) + event.addMetadata(tab, "buildTime", BuildConfigWrap.BUILDTIME) context.tryFormattedSignature()?.let { event.addMetadata(tab, "signatures", it) } } - return debugSettings.isAutoReportingEnabled.value && !BuildConfigWrap.DEBUG + return debugSettings.isAutoReportingEnabled.value && !eu.darken.capod.common.BuildConfigWrap.DEBUG } companion object { diff --git a/app/src/main/java/eu/darken/capod/common/debug/autoreport/bugsnag/BugsnagLogger.kt b/app-common/src/main/java/eu/darken/capod/common/debug/autoreport/bugsnag/BugsnagLogger.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/common/debug/autoreport/bugsnag/BugsnagLogger.kt rename to app-common/src/main/java/eu/darken/capod/common/debug/autoreport/bugsnag/BugsnagLogger.kt diff --git a/app/src/main/java/eu/darken/capod/common/debug/autoreport/bugsnag/NOPBugsnagErrorHandler.kt b/app-common/src/main/java/eu/darken/capod/common/debug/autoreport/bugsnag/NOPBugsnagErrorHandler.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/common/debug/autoreport/bugsnag/NOPBugsnagErrorHandler.kt rename to app-common/src/main/java/eu/darken/capod/common/debug/autoreport/bugsnag/NOPBugsnagErrorHandler.kt diff --git a/app/src/main/java/eu/darken/capod/common/debug/logging/FileLogger.kt b/app-common/src/main/java/eu/darken/capod/common/debug/logging/FileLogger.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/common/debug/logging/FileLogger.kt rename to app-common/src/main/java/eu/darken/capod/common/debug/logging/FileLogger.kt diff --git a/app/src/main/java/eu/darken/capod/common/debug/logging/LogCatLogger.kt b/app-common/src/main/java/eu/darken/capod/common/debug/logging/LogCatLogger.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/common/debug/logging/LogCatLogger.kt rename to app-common/src/main/java/eu/darken/capod/common/debug/logging/LogCatLogger.kt diff --git a/app/src/main/java/eu/darken/capod/common/debug/logging/LogExtensions.kt b/app-common/src/main/java/eu/darken/capod/common/debug/logging/LogExtensions.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/common/debug/logging/LogExtensions.kt rename to app-common/src/main/java/eu/darken/capod/common/debug/logging/LogExtensions.kt diff --git a/app/src/main/java/eu/darken/capod/common/debug/logging/Logging.kt b/app-common/src/main/java/eu/darken/capod/common/debug/logging/Logging.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/common/debug/logging/Logging.kt rename to app-common/src/main/java/eu/darken/capod/common/debug/logging/Logging.kt diff --git a/app/src/main/java/eu/darken/capod/common/preferences/FlowPreference.kt b/app-common/src/main/java/eu/darken/capod/common/preferences/FlowPreference.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/common/preferences/FlowPreference.kt rename to app-common/src/main/java/eu/darken/capod/common/preferences/FlowPreference.kt diff --git a/app/src/main/java/eu/darken/capod/common/preferences/FlowPreferenceExtension.kt b/app-common/src/main/java/eu/darken/capod/common/preferences/FlowPreferenceExtension.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/common/preferences/FlowPreferenceExtension.kt rename to app-common/src/main/java/eu/darken/capod/common/preferences/FlowPreferenceExtension.kt diff --git a/app/src/main/java/eu/darken/capod/common/preferences/FlowPreferenceMoshiExtension.kt b/app-common/src/main/java/eu/darken/capod/common/preferences/FlowPreferenceMoshiExtension.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/common/preferences/FlowPreferenceMoshiExtension.kt rename to app-common/src/main/java/eu/darken/capod/common/preferences/FlowPreferenceMoshiExtension.kt diff --git a/app/src/main/java/eu/darken/capod/common/preferences/PreferenceStoreMapper.kt b/app-common/src/main/java/eu/darken/capod/common/preferences/PreferenceStoreMapper.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/common/preferences/PreferenceStoreMapper.kt rename to app-common/src/main/java/eu/darken/capod/common/preferences/PreferenceStoreMapper.kt diff --git a/app/src/main/java/eu/darken/capod/common/preferences/Settings.kt b/app-common/src/main/java/eu/darken/capod/common/preferences/Settings.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/common/preferences/Settings.kt rename to app-common/src/main/java/eu/darken/capod/common/preferences/Settings.kt diff --git a/app/src/main/java/eu/darken/capod/common/preferences/SharedPreferenceExtensions.kt b/app-common/src/main/java/eu/darken/capod/common/preferences/SharedPreferenceExtensions.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/common/preferences/SharedPreferenceExtensions.kt rename to app-common/src/main/java/eu/darken/capod/common/preferences/SharedPreferenceExtensions.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/DualPodDevice.kt b/app-common/src/main/java/eu/darken/capod/pods/core/DualPodDevice.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/DualPodDevice.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/DualPodDevice.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/HasCase.kt b/app-common/src/main/java/eu/darken/capod/pods/core/HasCase.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/HasCase.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/HasCase.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/HasChargeDetection.kt b/app-common/src/main/java/eu/darken/capod/pods/core/HasChargeDetection.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/HasChargeDetection.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/HasChargeDetection.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/HasChargeDetectionDual.kt b/app-common/src/main/java/eu/darken/capod/pods/core/HasChargeDetectionDual.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/HasChargeDetectionDual.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/HasChargeDetectionDual.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/HasDualMicrophone.kt b/app-common/src/main/java/eu/darken/capod/pods/core/HasDualMicrophone.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/HasDualMicrophone.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/HasDualMicrophone.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/HasEarDetection.kt b/app-common/src/main/java/eu/darken/capod/pods/core/HasEarDetection.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/HasEarDetection.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/HasEarDetection.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/HasEarDetectionDual.kt b/app-common/src/main/java/eu/darken/capod/pods/core/HasEarDetectionDual.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/HasEarDetectionDual.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/HasEarDetectionDual.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/HasPodStyle.kt b/app-common/src/main/java/eu/darken/capod/pods/core/HasPodStyle.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/HasPodStyle.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/HasPodStyle.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/HasStateDetection.kt b/app-common/src/main/java/eu/darken/capod/pods/core/HasStateDetection.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/HasStateDetection.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/HasStateDetection.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/PodDevice.kt b/app-common/src/main/java/eu/darken/capod/pods/core/PodDevice.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/PodDevice.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/PodDevice.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/PodDeviceExtensions.kt b/app-common/src/main/java/eu/darken/capod/pods/core/PodDeviceExtensions.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/PodDeviceExtensions.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/PodDeviceExtensions.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/PodFactory.kt b/app-common/src/main/java/eu/darken/capod/pods/core/PodFactory.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/PodFactory.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/PodFactory.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/SinglePodDevice.kt b/app-common/src/main/java/eu/darken/capod/pods/core/SinglePodDevice.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/SinglePodDevice.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/SinglePodDevice.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/apple/AppleFactory.kt b/app-common/src/main/java/eu/darken/capod/pods/core/apple/AppleFactory.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/apple/AppleFactory.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/apple/AppleFactory.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/apple/AppleFactoryModule.kt b/app-common/src/main/java/eu/darken/capod/pods/core/apple/AppleFactoryModule.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/apple/AppleFactoryModule.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/apple/AppleFactoryModule.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/apple/ApplePods.kt b/app-common/src/main/java/eu/darken/capod/pods/core/apple/ApplePods.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/apple/ApplePods.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/apple/ApplePods.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/apple/ApplePodsFactory.kt b/app-common/src/main/java/eu/darken/capod/pods/core/apple/ApplePodsFactory.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/apple/ApplePodsFactory.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/apple/ApplePodsFactory.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/apple/DualAirPods.kt b/app-common/src/main/java/eu/darken/capod/pods/core/apple/DualAirPods.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/apple/DualAirPods.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/apple/DualAirPods.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/apple/DualApplePodsFactory.kt b/app-common/src/main/java/eu/darken/capod/pods/core/apple/DualApplePodsFactory.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/apple/DualApplePodsFactory.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/apple/DualApplePodsFactory.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/apple/HasAppleColor.kt b/app-common/src/main/java/eu/darken/capod/pods/core/apple/HasAppleColor.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/apple/HasAppleColor.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/apple/HasAppleColor.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/apple/SingleApplePods.kt b/app-common/src/main/java/eu/darken/capod/pods/core/apple/SingleApplePods.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/apple/SingleApplePods.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/apple/SingleApplePods.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/apple/SingleApplePodsFactory.kt b/app-common/src/main/java/eu/darken/capod/pods/core/apple/SingleApplePodsFactory.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/apple/SingleApplePodsFactory.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/apple/SingleApplePodsFactory.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/apple/airpods/AirPodsGen1.kt b/app-common/src/main/java/eu/darken/capod/pods/core/apple/airpods/AirPodsGen1.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/apple/airpods/AirPodsGen1.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/apple/airpods/AirPodsGen1.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/apple/airpods/AirPodsGen2.kt b/app-common/src/main/java/eu/darken/capod/pods/core/apple/airpods/AirPodsGen2.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/apple/airpods/AirPodsGen2.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/apple/airpods/AirPodsGen2.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/apple/airpods/AirPodsGen3.kt b/app-common/src/main/java/eu/darken/capod/pods/core/apple/airpods/AirPodsGen3.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/apple/airpods/AirPodsGen3.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/apple/airpods/AirPodsGen3.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/apple/airpods/AirPodsMax.kt b/app-common/src/main/java/eu/darken/capod/pods/core/apple/airpods/AirPodsMax.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/apple/airpods/AirPodsMax.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/apple/airpods/AirPodsMax.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/apple/airpods/AirPodsPro.kt b/app-common/src/main/java/eu/darken/capod/pods/core/apple/airpods/AirPodsPro.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/apple/airpods/AirPodsPro.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/apple/airpods/AirPodsPro.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/apple/beats/BeatsFlex.kt b/app-common/src/main/java/eu/darken/capod/pods/core/apple/beats/BeatsFlex.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/apple/beats/BeatsFlex.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/apple/beats/BeatsFlex.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/apple/beats/BeatsSolo3.kt b/app-common/src/main/java/eu/darken/capod/pods/core/apple/beats/BeatsSolo3.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/apple/beats/BeatsSolo3.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/apple/beats/BeatsSolo3.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/apple/beats/BeatsStudio3.kt b/app-common/src/main/java/eu/darken/capod/pods/core/apple/beats/BeatsStudio3.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/apple/beats/BeatsStudio3.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/apple/beats/BeatsStudio3.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/apple/beats/BeatsX.kt b/app-common/src/main/java/eu/darken/capod/pods/core/apple/beats/BeatsX.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/apple/beats/BeatsX.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/apple/beats/BeatsX.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/apple/beats/PowerBeats3.kt b/app-common/src/main/java/eu/darken/capod/pods/core/apple/beats/PowerBeats3.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/apple/beats/PowerBeats3.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/apple/beats/PowerBeats3.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/apple/beats/PowerBeatsPro.kt b/app-common/src/main/java/eu/darken/capod/pods/core/apple/beats/PowerBeatsPro.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/apple/beats/PowerBeatsPro.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/apple/beats/PowerBeatsPro.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/apple/misc/Twsi99999.kt b/app-common/src/main/java/eu/darken/capod/pods/core/apple/misc/Twsi99999.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/apple/misc/Twsi99999.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/apple/misc/Twsi99999.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/apple/misc/UnknownAppleDevice.kt b/app-common/src/main/java/eu/darken/capod/pods/core/apple/misc/UnknownAppleDevice.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/apple/misc/UnknownAppleDevice.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/apple/misc/UnknownAppleDevice.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/apple/misc/VarunrAirPodsPro.kt b/app-common/src/main/java/eu/darken/capod/pods/core/apple/misc/VarunrAirPodsPro.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/apple/misc/VarunrAirPodsPro.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/apple/misc/VarunrAirPodsPro.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/apple/protocol/ContinuityProtocol.kt b/app-common/src/main/java/eu/darken/capod/pods/core/apple/protocol/ContinuityProtocol.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/apple/protocol/ContinuityProtocol.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/apple/protocol/ContinuityProtocol.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/apple/protocol/ProximityPairing.kt b/app-common/src/main/java/eu/darken/capod/pods/core/apple/protocol/ProximityPairing.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/apple/protocol/ProximityPairing.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/apple/protocol/ProximityPairing.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/unknown/UnknownDevice.kt b/app-common/src/main/java/eu/darken/capod/pods/core/unknown/UnknownDevice.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/unknown/UnknownDevice.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/unknown/UnknownDevice.kt diff --git a/app/src/main/java/eu/darken/capod/pods/core/unknown/UnknownDeviceFactory.kt b/app-common/src/main/java/eu/darken/capod/pods/core/unknown/UnknownDeviceFactory.kt similarity index 100% rename from app/src/main/java/eu/darken/capod/pods/core/unknown/UnknownDeviceFactory.kt rename to app-common/src/main/java/eu/darken/capod/pods/core/unknown/UnknownDeviceFactory.kt diff --git a/app-common/src/main/res/values/strings.xml b/app-common/src/main/res/values/strings.xml index 5edb55d2..a64dcc12 100644 --- a/app-common/src/main/res/values/strings.xml +++ b/app-common/src/main/res/values/strings.xml @@ -3,8 +3,6 @@ CAPod Pro CAPod FOSS - Device status - Error Share Done @@ -16,12 +14,6 @@ Check Close - Size - Compressed size - Debug notifications - Recorded log file - Record debug log - Bluetooth connect This app requires the \"Bluetooth connect\" permission to interact with paired devices and initiate connections. Bluetooth scanning @@ -58,95 +50,10 @@ Being worn Unknown state - No primary device - All detected devices are unlikely to be yours. Power on and connect your device or adjust the settings. + Last seen: %s + First seen: %s - Settings - Privacy policy - Handling data responsibly. - Licenses - Other - Settings - General tweaks that affect the whole app. - Acknowledgements - - Changelog - Email developer - - Install ID - Automatic error reports are anonymous. Share your install ID if the developer needs to find your error reports. - Support - If you need some help. - Issue tracker - A public issue tracker for bug reports and feature requests (english only). - Discord - A place to hang out in and ask questions. - Note that I can only respond in german or english. - Automatic bug reports - Automatically reports issues, e.g. details on an app crash so I can figure out how to fix it. - Debug mode - Show additional information to troubleshoot issues. - Monitor mode - Under which circumstances this app monitors Bluetooth data. - Scanner mode - Should the Bluetooth Low Energy data scanner prioritize performance or conserve energy? - When app is open - When device is connected - Always Low power Balanced Low latency - Auto pause - Pause audio when removing the device from your ear. - Show all devices - Show other people\'s devices that are near you. - Auto play - Start audio playback when device is worn. - Fake data - Show fake data, i.e., simulate devices that don\’t exist. - Debug settings - Additional settings to help troubleshoot issues with the app. - Minimum signal quality - The minimum signal quality that a device needs to have to be considered yours. - Auto connect - If Android does not automatically connect, we can ask it too. This will set the monitor mode setting to \'Always\'. - Auto connect condition - When should we try to connect to your device? - Reactions - React to events and behaviors. - Your device - Your device address - The address of your paired device. The app uses this to determine when it is connected to your phone. - None - Your device model - The model of your main device. This helps the app recognize your device when it is not connected to your phone. - - When seen - Case is open - In ear - - Upgrade CAPod - Get additional features and support the developer. - Show popup - Show a popup when the device case is opened (experimental). - Bluetooth is disabled - Bluetooth is disabled, enable it ;) - Translation - Help translate this app into your favorite language. - One pod mode - Wearing both pods is not required, wearing a single pod is sufficient to trigger reactions. - System Alert Window - Allow CAPod to draw over other apps to make the feature \"Show PopUp\" possible. - Last seen: %s - First seen: %s - Unfiltered BLE data - Remove any filters from the BLE scanner to show all broadcasted BLE data. Useful to add support for new headphone types. - The following permission is required: - Compatibility mode - Disable optimizations to improve compatibility. Try this if you are not seeing any data. - Translators - darken - - CAPod for WearOS - View details about your AirPood devices on your WearOS device. \ No newline at end of file diff --git a/app/src/main/java/eu/darken/capod/main/core/GeneralSettings.kt b/app/src/main/java/eu/darken/capod/main/core/GeneralSettings.kt index b3d0b99a..e33118fe 100644 --- a/app/src/main/java/eu/darken/capod/main/core/GeneralSettings.kt +++ b/app/src/main/java/eu/darken/capod/main/core/GeneralSettings.kt @@ -5,6 +5,7 @@ import android.content.SharedPreferences import androidx.preference.PreferenceDataStore import com.squareup.moshi.Moshi import dagger.hilt.android.qualifiers.ApplicationContext +import eu.darken.capod.common.bluetooth.ScannerMode import eu.darken.capod.common.debug.autoreport.DebugSettings import eu.darken.capod.common.preferences.PreferenceStoreMapper import eu.darken.capod.common.preferences.Settings diff --git a/app/src/main/java/eu/darken/capod/main/ui/settings/general/GeneralSettingsFragment.kt b/app/src/main/java/eu/darken/capod/main/ui/settings/general/GeneralSettingsFragment.kt index 8980b331..56d8f662 100644 --- a/app/src/main/java/eu/darken/capod/main/ui/settings/general/GeneralSettingsFragment.kt +++ b/app/src/main/java/eu/darken/capod/main/ui/settings/general/GeneralSettingsFragment.kt @@ -8,12 +8,12 @@ import androidx.preference.ListPreference import androidx.preference.Preference import dagger.hilt.android.AndroidEntryPoint import eu.darken.capod.R +import eu.darken.capod.common.bluetooth.ScannerMode import eu.darken.capod.common.preferences.PercentSliderPreference import eu.darken.capod.common.uix.PreferenceFragment2 import eu.darken.capod.common.upgrade.UpgradeRepo import eu.darken.capod.main.core.GeneralSettings import eu.darken.capod.main.core.MonitorMode -import eu.darken.capod.main.core.ScannerMode import eu.darken.capod.pods.core.PodDevice import javax.inject.Inject diff --git a/app/src/main/java/eu/darken/capod/monitor/core/PodMonitor.kt b/app/src/main/java/eu/darken/capod/monitor/core/PodMonitor.kt index 536941fe..6e1f571f 100644 --- a/app/src/main/java/eu/darken/capod/monitor/core/PodMonitor.kt +++ b/app/src/main/java/eu/darken/capod/monitor/core/PodMonitor.kt @@ -4,6 +4,7 @@ import android.bluetooth.le.ScanFilter import eu.darken.capod.common.bluetooth.BleScanResult import eu.darken.capod.common.bluetooth.BleScanner import eu.darken.capod.common.bluetooth.BluetoothManager2 +import eu.darken.capod.common.bluetooth.ScannerMode import eu.darken.capod.common.coroutine.AppScope import eu.darken.capod.common.debug.autoreport.DebugSettings import eu.darken.capod.common.debug.logging.Logging.Priority.VERBOSE @@ -13,7 +14,6 @@ import eu.darken.capod.common.debug.logging.log import eu.darken.capod.common.debug.logging.logTag import eu.darken.capod.common.flow.replayingShare import eu.darken.capod.main.core.GeneralSettings -import eu.darken.capod.main.core.ScannerMode import eu.darken.capod.pods.core.PodDevice import eu.darken.capod.pods.core.PodFactory import eu.darken.capod.pods.core.apple.protocol.ProximityPairing diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 452abe61..1c9bcdec 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -5,17 +5,6 @@ Device status - Error - Share - Done - Copy - Thank you - N/A - Grant permission - Upgrade - Check - Close - Size Compressed size Debug notifications @@ -93,9 +82,7 @@ When app is open When device is connected Always - Low power - Balanced - Low latency + Auto pause Pause audio when removing the device from your ear. Show all devices