diff --git a/.github/workflows/release-tag.yml b/.github/workflows/release-tag.yml index fb908091..37dff90d 100644 --- a/.github/workflows/release-tag.yml +++ b/.github/workflows/release-tag.yml @@ -67,7 +67,6 @@ jobs: generate_release_notes: true files: | app/build/outputs/apk/foss/beta/*.apk - app-wear/build/outputs/apk/foss/beta/*.apk env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -130,14 +129,6 @@ jobs: ruby-version: 3.3.6 bundler-cache: true - # - name: Assemble WearOS beta and upload to Google Play - # if: contains(steps.tagger.outputs.tag, '-beta') - # run: bundle exec fastlane beta_wearos - # env: - # STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }} - # KEY_ALIAS: ${{ secrets.KEY_ALIAS }} - # KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }} - - name: Assemble beta and upload to Google Play if: contains(steps.tagger.outputs.tag, '-beta') run: bundle exec fastlane beta @@ -146,14 +137,6 @@ jobs: KEY_ALIAS: ${{ secrets.KEY_ALIAS }} KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }} - # - name: Assemble WearOS production and upload to Google Play - # if: "!contains(steps.tagger.outputs.tag, '-beta')" - # run: bundle exec fastlane production_wearos - # env: - # STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }} - # KEY_ALIAS: ${{ secrets.KEY_ALIAS }} - # KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }} - - name: Assemble production and upload to Google Play if: "!contains(steps.tagger.outputs.tag, '-beta')" run: bundle exec fastlane production diff --git a/CLAUDE.md b/CLAUDE.md index ebe0a5ac..fa8453c0 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -65,8 +65,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co ### Multi-Module Structure - **app/**: Main Android application with FOSS and Google Play flavors -- **app-common/**: Shared code between main app and Wear OS -- **app-wear/**: Dedicated Wear OS companion application +- **app-common/**: Shared code between main app ### Core Architecture Patterns diff --git a/README.md b/README.md index c77f1c5f..2f32424f 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,6 @@ A companion app that adds support for AirPod specific features to Android: * Ear detection with automatic play/pause. * Automatically connect phone & AirPods. * Show popup when case is opened. -* Support for Wear OS * Widgets CAPod is ad-free. Some additional features require an in-app purchase. diff --git a/_config.yml b/_config.yml index a79052d1..b2bb816b 100644 --- a/_config.yml +++ b/_config.yml @@ -25,6 +25,5 @@ exclude: - crowdin* - app - app-common - - app-wear - CONTRIBUTING.md - CLAUDE.md diff --git a/app-wear/.gitignore b/app-wear/.gitignore deleted file mode 100644 index 42afabfd..00000000 --- a/app-wear/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build \ No newline at end of file diff --git a/app-wear/build.gradle.kts b/app-wear/build.gradle.kts deleted file mode 100644 index ef43b79f..00000000 --- a/app-wear/build.gradle.kts +++ /dev/null @@ -1,140 +0,0 @@ -plugins { - id("com.android.application") - id("kotlin-android") - id("kotlin-kapt") - id("kotlin-parcelize") -} -apply(plugin = "dagger.hilt.android.plugin") -apply(plugin = "androidx.navigation.safeargs.kotlin") - -android { - compileSdk = ProjectConfig.compileSdk - namespace = ProjectConfig.packageName - - defaultConfig { - applicationId = ProjectConfig.packageName - - minSdk = ProjectConfig.minSdk - targetSdk = ProjectConfig.targetSdk - - versionCode = ProjectConfig.Version.code + 1 // Wear app - versionName = ProjectConfig.Version.name - - testInstrumentationRunner = "eu.darken.capod.HiltTestRunner" - - buildConfigField("String", "GITSHA", "\"${lastCommitHash()}\"") - } - - signingConfigs { - val basePath = File(System.getProperty("user.home"), ".appconfig/${ProjectConfig.packageName}") - create("releaseFoss") { - setupCredentials(File(basePath, "signing-foss.properties")) - } - create("releaseGplay") { - setupCredentials(File(basePath, "signing-gplay-upload.properties")) - } - } - - flavorDimensions.add("version") - productFlavors { - create("foss") { - dimension = "version" - signingConfig = signingConfigs["releaseFoss"] - } - create("gplay") { - dimension = "version" - signingConfig = signingConfigs["releaseGplay"] - } - } - - buildTypes { - val customProguardRules = fileTree(File("../proguard")) { - include("*.pro") - } - debug { - isMinifyEnabled = false - isShrinkResources = false - proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt")) - proguardFiles(*customProguardRules.toList().toTypedArray()) - proguardFiles("proguard-rules-debug.pro") - } - create("beta") { - lint { - abortOnError = true - fatal.add("StopShip") - } - isMinifyEnabled = true - isShrinkResources = true - proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt")) - proguardFiles(*customProguardRules.toList().toTypedArray()) - } - release { - lint { - abortOnError = true - fatal.add("StopShip") - } - isMinifyEnabled = true - isShrinkResources = true - proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt")) - proguardFiles(*customProguardRules.toList().toTypedArray()) - } - } - - buildOutputs.all { - val variantOutputImpl = this as com.android.build.gradle.internal.api.BaseVariantOutputImpl - val variantName: String = variantOutputImpl.name - - if (listOf("release", "beta").any { variantName.lowercase().contains(it) }) { - val outputFileName = ProjectConfig.packageName + "-WEAROS" + - "-v${defaultConfig.versionName}-${defaultConfig.versionCode}" + - "-${variantName.uppercase()}.apk" - - variantOutputImpl.outputFileName = outputFileName - } - } - - buildFeatures { - viewBinding = true - } - - compileOptions { - isCoreLibraryDesugaringEnabled = true - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 - } - - kotlinOptions { - jvmTarget = "17" - freeCompilerArgs = freeCompilerArgs + listOf( - "-opt-in=kotlin.ExperimentalStdlibApi", - "-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi", - "-opt-in=kotlinx.coroutines.FlowPreview", - "-opt-in=kotlin.time.ExperimentalTime", - "-opt-in=kotlin.RequiresOptIn" - ) - } -} - -dependencies { - coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.5") - - implementation(project(":app-common")) - - addBaseKotlin() - - addDagger() - - addBaseWorkManager() - - addBaseAndroid() - addBaseAndroidUi() - - implementation("androidx.core:core-splashscreen:1.0.1") - - addNavigation() - - addTesting() - - implementation("androidx.wear:wear:1.2.0") - implementation("androidx.wear.tiles:tiles-material:1.1.0") -} \ No newline at end of file diff --git a/app-wear/proguard-rules.pro b/app-wear/proguard-rules.pro deleted file mode 100644 index 481bb434..00000000 --- a/app-wear/proguard-rules.pro +++ /dev/null @@ -1,21 +0,0 @@ -# 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/app-wear/src/main/AndroidManifest.xml b/app-wear/src/main/AndroidManifest.xml deleted file mode 100644 index 7a18d6a9..00000000 --- a/app-wear/src/main/AndroidManifest.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app-wear/src/main/java/eu/darken/capod/App.kt b/app-wear/src/main/java/eu/darken/capod/App.kt deleted file mode 100644 index b406a024..00000000 --- a/app-wear/src/main/java/eu/darken/capod/App.kt +++ /dev/null @@ -1,85 +0,0 @@ -package eu.darken.capod - -import android.app.Application -import androidx.hilt.work.HiltWorkerFactory -import androidx.work.Configuration -import androidx.work.Data -import androidx.work.ExistingPeriodicWorkPolicy -import androidx.work.PeriodicWorkRequestBuilder -import androidx.work.WorkManager -import dagger.hilt.android.HiltAndroidApp -import eu.darken.capod.common.BuildConfig -import eu.darken.capod.common.BuildConfigWrap -import eu.darken.capod.common.coroutine.AppScope -import eu.darken.capod.common.debug.autoreport.AutomaticBugReporter -import eu.darken.capod.common.debug.logging.LogCatLogger -import eu.darken.capod.common.debug.logging.Logging -import eu.darken.capod.common.debug.logging.Logging.Priority.VERBOSE -import eu.darken.capod.common.debug.logging.asLog -import eu.darken.capod.common.debug.logging.log -import eu.darken.capod.common.debug.logging.logTag -import eu.darken.capod.main.core.GeneralSettings -import eu.darken.capod.wear.core.MonitorWorker -import kotlinx.coroutines.CoroutineScope -import java.time.Duration -import javax.inject.Inject - -@HiltAndroidApp -open class App : Application(), Configuration.Provider { - - @Inject lateinit var workerFactory: HiltWorkerFactory - @Inject lateinit var autoReporting: AutomaticBugReporter - @Inject lateinit var generalSettings: GeneralSettings - @Inject lateinit var workManager: WorkManager - @Inject @AppScope lateinit var appScope: CoroutineScope - - override fun onCreate() { - super.onCreate() - if (BuildConfig.DEBUG) Logging.install(LogCatLogger()) - - autoReporting.setup(this) - - setupWorker() - - log(TAG) { "onCreate() done! ${Exception().asLog()}" } - } - - private fun setupWorker() { - log(TAG) { "setupWorker()" } - val workRequest = PeriodicWorkRequestBuilder( - Duration.ofMinutes(30), - Duration.ofMinutes(30) - ).apply { - setInputData(Data.Builder().build()) - }.build() - - log(TAG, VERBOSE) { "Worker request: $workRequest" } - - val operation = workManager.enqueueUniquePeriodicWork( - "${BuildConfigWrap.APPLICATION_ID}.monitor.worker", - ExistingPeriodicWorkPolicy.KEEP, - workRequest, - ) - - operation.result.get() - log(TAG) { "Monitor start request send." } - } - - override val workManagerConfiguration: Configuration - get() = Configuration.Builder() - .setMinimumLoggingLevel( - when { - BuildConfigWrap.DEBUG -> android.util.Log.VERBOSE - BuildConfigWrap.BUILD_TYPE == BuildConfigWrap.BuildType.DEV -> android.util.Log.DEBUG - BuildConfigWrap.BUILD_TYPE == BuildConfigWrap.BuildType.BETA -> android.util.Log.INFO - BuildConfigWrap.BUILD_TYPE == BuildConfigWrap.BuildType.RELEASE -> android.util.Log.WARN - else -> android.util.Log.VERBOSE - } - ) - .setWorkerFactory(workerFactory) - .build() - - companion object { - internal val TAG = logTag("CAP") - } -} diff --git a/app-wear/src/main/java/eu/darken/capod/wear/core/MonitorWorker.kt b/app-wear/src/main/java/eu/darken/capod/wear/core/MonitorWorker.kt deleted file mode 100644 index d6fa89ee..00000000 --- a/app-wear/src/main/java/eu/darken/capod/wear/core/MonitorWorker.kt +++ /dev/null @@ -1,92 +0,0 @@ -package eu.darken.capod.wear.core - -import android.content.Context -import androidx.hilt.work.HiltWorker -import androidx.work.CoroutineWorker -import androidx.work.WorkerParameters -import dagger.assisted.Assisted -import dagger.assisted.AssistedInject -import eu.darken.capod.common.coroutine.DispatcherProvider -import eu.darken.capod.common.debug.Bugs -import eu.darken.capod.common.debug.logging.Logging.Priority.VERBOSE -import eu.darken.capod.common.debug.logging.Logging.Priority.WARN -import eu.darken.capod.common.debug.logging.log -import eu.darken.capod.common.debug.logging.logTag -import eu.darken.capod.common.flow.setupCommonEventHandlers -import eu.darken.capod.main.core.PermissionTool -import eu.darken.capod.monitor.core.MonitorCoroutineScope -import eu.darken.capod.monitor.core.PodMonitor -import kotlinx.coroutines.* -import kotlinx.coroutines.flow.filterNotNull -import kotlinx.coroutines.flow.first -import kotlinx.coroutines.flow.launchIn -import kotlinx.coroutines.flow.take - - -@HiltWorker -class MonitorWorker @AssistedInject constructor( - @Assisted private val context: Context, - @Assisted private val params: WorkerParameters, - private val dispatcherProvider: DispatcherProvider, - private val permissionTool: PermissionTool, - private val podMonitor: PodMonitor, -) : CoroutineWorker(context, params) { - - private val workerScope = MonitorCoroutineScope() - - private var finishedWithError = false - - init { - log(TAG, VERBOSE) { "init(): workerId=$id" } - } - - override suspend fun doWork(): Result = try { - val start = System.currentTimeMillis() - log(TAG, VERBOSE) { "Executing $inputData now (runAttemptCount=$runAttemptCount)" } - - doDoWork() - - val duration = System.currentTimeMillis() - start - - log(TAG, VERBOSE) { "Execution finished after ${duration}ms, $inputData" } - - Result.success(inputData) - } catch (e: Throwable) { - if (e !is CancellationException) { - Bugs.report(tag = TAG, "Execution failed", exception = e) - finishedWithError = true - Result.failure(inputData) - } else { - Result.success() - } - } finally { - this.workerScope.cancel("Worker finished (withError?=$finishedWithError).") - } - - private suspend fun doDoWork() = withContext(dispatcherProvider.IO) { - val permissionsMissingOnStart = permissionTool.missingPermissions.first() - if (permissionsMissingOnStart.isNotEmpty()) { - log(TAG, WARN) { "Aborting, missing permissions: $permissionsMissingOnStart" } - return@withContext - } - - val monitorJob = podMonitor.mainDevice - .filterNotNull() - .take(3) - .setupCommonEventHandlers(TAG) { "monitorJob" } - .launchIn(workerScope) - - try { - withTimeout(15 * 1000) { - monitorJob.join() - } - log(TAG) { "Monitor job quit after a few takes." } - } catch (e: TimeoutCancellationException) { - log(TAG) { "Monitor job quit after finding nothing." } - } - } - - companion object { - val TAG = logTag("Monitor", "Worker") - } -} diff --git a/app-wear/src/main/java/eu/darken/capod/wear/core/UserTime.kt b/app-wear/src/main/java/eu/darken/capod/wear/core/UserTime.kt deleted file mode 100644 index 960f6806..00000000 --- a/app-wear/src/main/java/eu/darken/capod/wear/core/UserTime.kt +++ /dev/null @@ -1,18 +0,0 @@ -package eu.darken.capod.wear.core - -import android.content.Context -import java.time.Instant -import java.time.ZoneId -import java.time.format.DateTimeFormatter -import java.time.format.FormatStyle -import java.util.Locale - -data class UserTime( - val time: Instant = Instant.now(), -) { - fun toFormatted(context: Context): String = DateTimeFormatter - .ofLocalizedTime(FormatStyle.SHORT) - .withLocale(Locale.getDefault()) - .withZone(ZoneId.systemDefault()) - .format(time) -} diff --git a/app-wear/src/main/java/eu/darken/capod/wear/ui/MainActivity.kt b/app-wear/src/main/java/eu/darken/capod/wear/ui/MainActivity.kt deleted file mode 100644 index 6e73b924..00000000 --- a/app-wear/src/main/java/eu/darken/capod/wear/ui/MainActivity.kt +++ /dev/null @@ -1,35 +0,0 @@ -package eu.darken.capod.wear.ui - -import android.os.Bundle -import androidx.activity.viewModels -import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen -import androidx.wear.widget.SwipeDismissFrameLayout -import dagger.hilt.android.AndroidEntryPoint -import eu.darken.capod.R -import eu.darken.capod.common.navigation.findNavController -import eu.darken.capod.common.uix.Activity2 -import eu.darken.capod.databinding.MainActivityBinding - -@AndroidEntryPoint -class MainActivity : Activity2() { - - private val vm: MainActivityVM by viewModels() - private lateinit var ui: MainActivityBinding - private val navController by lazy { supportFragmentManager.findNavController(R.id.nav_host) } - - override fun onCreate(savedInstanceState: Bundle?) { - installSplashScreen() - - super.onCreate(savedInstanceState) - - ui = MainActivityBinding.inflate(layoutInflater) - setContentView(ui.root) - - ui.swipeWrapper.addCallback(object : SwipeDismissFrameLayout.Callback() { - override fun onDismissed(layout: SwipeDismissFrameLayout) { - if (!navController.popBackStack()) finish() - super.onDismissed(layout) - } - }) - } -} diff --git a/app-wear/src/main/java/eu/darken/capod/wear/ui/MainActivityVM.kt b/app-wear/src/main/java/eu/darken/capod/wear/ui/MainActivityVM.kt deleted file mode 100644 index 6bfb929d..00000000 --- a/app-wear/src/main/java/eu/darken/capod/wear/ui/MainActivityVM.kt +++ /dev/null @@ -1,46 +0,0 @@ -package eu.darken.capod.wear.ui - -import androidx.lifecycle.SavedStateHandle -import dagger.hilt.android.lifecycle.HiltViewModel -import eu.darken.capod.common.coroutine.DispatcherProvider -import eu.darken.capod.common.permissions.Permission -import eu.darken.capod.common.uix.ViewModel2 -import eu.darken.capod.main.core.PermissionTool -import eu.darken.capod.monitor.core.PodMonitor -import eu.darken.capod.pods.core.PodDevice -import kotlinx.coroutines.flow.combine -import javax.inject.Inject - - -@HiltViewModel -class MainActivityVM @Inject constructor( - handle: SavedStateHandle, - dispatcherProvider: DispatcherProvider, - private val podMonitor: PodMonitor, - private val permissionTool: PermissionTool, -) : ViewModel2(dispatcherProvider = dispatcherProvider) { - - sealed class State { - data class PermissionRequired( - val permissions: List, - ) : State() - - data class Devices( - val devices: List - ) : State() - } - - val state = combine( - podMonitor.devices, - permissionTool.missingPermissions, - ) { devices, missingPermissions -> - when { - missingPermissions.isNotEmpty() -> State.PermissionRequired( - permissions = missingPermissions.toList() - ) - else -> State.Devices( - devices = devices - ) - } - } -} \ No newline at end of file diff --git a/app-wear/src/main/java/eu/darken/capod/wear/ui/overview/OverviewAdapter.kt b/app-wear/src/main/java/eu/darken/capod/wear/ui/overview/OverviewAdapter.kt deleted file mode 100644 index 74cfea64..00000000 --- a/app-wear/src/main/java/eu/darken/capod/wear/ui/overview/OverviewAdapter.kt +++ /dev/null @@ -1,45 +0,0 @@ -package eu.darken.capod.wear.ui.overview - -import android.view.ViewGroup -import androidx.annotation.LayoutRes -import androidx.viewbinding.ViewBinding -import eu.darken.capod.common.lists.BindableVH -import eu.darken.capod.common.lists.differ.AsyncDiffer -import eu.darken.capod.common.lists.differ.DifferItem -import eu.darken.capod.common.lists.differ.HasAsyncDiffer -import eu.darken.capod.common.lists.differ.setupDiffer -import eu.darken.capod.common.lists.modular.ModularAdapter -import eu.darken.capod.common.lists.modular.mods.DataBinderMod -import eu.darken.capod.common.lists.modular.mods.TypedVHCreatorMod -import eu.darken.capod.wear.ui.overview.cards.BluetoothDisabledVH -import eu.darken.capod.wear.ui.overview.cards.MissingMainDeviceVH -import eu.darken.capod.wear.ui.overview.cards.PermissionCardVH -import eu.darken.capod.wear.ui.overview.cards.pods.DualPodsCardVH -import eu.darken.capod.wear.ui.overview.cards.pods.SinglePodsCardVH -import javax.inject.Inject - -class OverviewAdapter @Inject constructor() : - ModularAdapter>(), - HasAsyncDiffer { - - override val asyncDiffer: AsyncDiffer<*, Item> = setupDiffer() - - init { - modules.add(DataBinderMod(data)) - modules.add(TypedVHCreatorMod({ data[it] is PermissionCardVH.Item }) { PermissionCardVH(it) }) - modules.add(TypedVHCreatorMod({ data[it] is DualPodsCardVH.Item }) { DualPodsCardVH(it) }) - modules.add(TypedVHCreatorMod({ data[it] is SinglePodsCardVH.Item }) { SinglePodsCardVH(it) }) - modules.add(TypedVHCreatorMod({ data[it] is MissingMainDeviceVH.Item }) { MissingMainDeviceVH(it) }) - modules.add(TypedVHCreatorMod({ data[it] is BluetoothDisabledVH.Item }) { BluetoothDisabledVH(it) }) - } - - override fun getItemCount(): Int = data.size - - abstract class BaseVH( - @LayoutRes layoutId: Int, - parent: ViewGroup - ) : ModularAdapter.VH(layoutId, parent), BindableVH - - interface Item : DifferItem - -} \ No newline at end of file diff --git a/app-wear/src/main/java/eu/darken/capod/wear/ui/overview/OverviewFragment.kt b/app-wear/src/main/java/eu/darken/capod/wear/ui/overview/OverviewFragment.kt deleted file mode 100644 index 168d5383..00000000 --- a/app-wear/src/main/java/eu/darken/capod/wear/ui/overview/OverviewFragment.kt +++ /dev/null @@ -1,95 +0,0 @@ -package eu.darken.capod.wear.ui.overview - -import android.content.Intent -import android.net.Uri -import android.os.Bundle -import android.provider.Settings -import android.view.View -import androidx.activity.result.ActivityResultLauncher -import androidx.activity.result.contract.ActivityResultContracts -import androidx.fragment.app.viewModels -import androidx.recyclerview.widget.LinearLayoutManager -import dagger.hilt.android.AndroidEntryPoint -import eu.darken.capod.R -import eu.darken.capod.common.debug.logging.log -import eu.darken.capod.common.lists.differ.update -import eu.darken.capod.common.permissions.Permission -import eu.darken.capod.common.uix.Fragment3 -import eu.darken.capod.common.viewbinding.viewBinding -import eu.darken.capod.databinding.MainFragmentBinding -import javax.inject.Inject - - -@AndroidEntryPoint -class OverviewFragment : Fragment3(R.layout.main_fragment) { - - override val vm: OverviewFragmentVM by viewModels() - override val ui: MainFragmentBinding by viewBinding() - - @Inject - lateinit var overviewAdapter: OverviewAdapter - - lateinit var permissionLauncher: ActivityResultLauncher - var awaitingPermission = false - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - awaitingPermission = savedInstanceState?.getBoolean("awaitingPermission") ?: false - - permissionLauncher = registerForActivityResult(ActivityResultContracts.RequestPermission()) { granted -> - log { "Request for $id was granted=$granted" } - vm.onPermissionResult(granted) - } - } - - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { - ui.list.apply { - layoutManager = LinearLayoutManager(context) - this.adapter = overviewAdapter - } - - vm.listItems.observe2(ui) { overviewAdapter.update(it) } - - vm.requestPermissionEvent.observe2(ui) { - when (it) { - Permission.IGNORE_BATTERY_OPTIMIZATION -> { - awaitingPermission = true - startActivity( - Intent( - Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS, - Uri.parse("package:${requireContext().packageName}") - ) - ) - } - Permission.SYSTEM_ALERT_WINDOW -> { - awaitingPermission = true - startActivity( - Intent( - Settings.ACTION_MANAGE_OVERLAY_PERMISSION, - Uri.parse("package:${requireContext().packageName}") - ) - ) - } - else -> { - permissionLauncher.launch(it.permissionId) - } - } - } - - super.onViewCreated(view, savedInstanceState) - } - - override fun onSaveInstanceState(outState: Bundle) { - outState.putBoolean("awaitingPermission", awaitingPermission) - super.onSaveInstanceState(outState) - } - - override fun onResume() { - super.onResume() - if (awaitingPermission) { - awaitingPermission = false - log { "awaitingPermission=true" } - vm.onPermissionResult(true) - } - } -} diff --git a/app-wear/src/main/java/eu/darken/capod/wear/ui/overview/OverviewFragmentVM.kt b/app-wear/src/main/java/eu/darken/capod/wear/ui/overview/OverviewFragmentVM.kt deleted file mode 100644 index 97171547..00000000 --- a/app-wear/src/main/java/eu/darken/capod/wear/ui/overview/OverviewFragmentVM.kt +++ /dev/null @@ -1,115 +0,0 @@ -package eu.darken.capod.wear.ui.overview - -import androidx.lifecycle.LiveData -import androidx.lifecycle.SavedStateHandle -import dagger.hilt.android.lifecycle.HiltViewModel -import eu.darken.capod.common.bluetooth.BluetoothManager2 -import eu.darken.capod.common.coroutine.DispatcherProvider -import eu.darken.capod.common.debug.DebugSettings -import eu.darken.capod.common.debug.logging.Logging.Priority.VERBOSE -import eu.darken.capod.common.debug.logging.log -import eu.darken.capod.common.flow.combine -import eu.darken.capod.common.flow.throttleLatest -import eu.darken.capod.common.livedata.SingleLiveEvent -import eu.darken.capod.common.permissions.Permission -import eu.darken.capod.common.uix.ViewModel3 -import eu.darken.capod.main.core.PermissionTool -import eu.darken.capod.monitor.core.PodMonitor -import eu.darken.capod.pods.core.DualPodDevice -import eu.darken.capod.pods.core.SinglePodDevice -import eu.darken.capod.wear.core.UserTime -import eu.darken.capod.wear.ui.overview.cards.BluetoothDisabledVH -import eu.darken.capod.wear.ui.overview.cards.MissingMainDeviceVH -import eu.darken.capod.wear.ui.overview.cards.PermissionCardVH -import eu.darken.capod.wear.ui.overview.cards.pods.DualPodsCardVH -import eu.darken.capod.wear.ui.overview.cards.pods.SinglePodsCardVH -import kotlinx.coroutines.delay -import kotlinx.coroutines.flow.* -import kotlinx.coroutines.isActive -import java.time.Instant -import javax.inject.Inject - -@HiltViewModel -class OverviewFragmentVM @Inject constructor( - @Suppress("UNUSED_PARAMETER") handle: SavedStateHandle, - dispatcherProvider: DispatcherProvider, - private val podMonitor: PodMonitor, - private val permissionTool: PermissionTool, - debugSettings: DebugSettings, - private val bluetoothManager: BluetoothManager2, -) : ViewModel3(dispatcherProvider = dispatcherProvider) { - - private val updateTicker = channelFlow { - while (isActive) { - trySend(Unit) - delay(3000) - } - } - - val requestPermissionEvent = SingleLiveEvent() - - private val mainDevice = podMonitor.mainDevice.throttleLatest(1000) - - val listItems: LiveData> = combine( - updateTicker, - permissionTool.missingPermissions, - debugSettings.isDebugModeEnabled.flow, - bluetoothManager.isBluetoothEnabled, - mainDevice, - ) { _, permissions, isDebugMode, isBluetoothEnabled, _ -> - val items = mutableListOf() - - if (permissions.isNotEmpty()) { - permissions - .map { perm -> - PermissionCardVH.Item( - permission = perm, - onRequest = { requestPermissionEvent.postValue(it) }, - ) - } - .run { items.addAll(this) } - return@combine items - } - - if (!isBluetoothEnabled) { - items.add(0, BluetoothDisabledVH.Item) - return@combine items - } - - val podToShow = podMonitor.latestMainDevice() - log(TAG, VERBOSE) { "Showing $podToShow" } - - val now = Instant.now() - - val pod = when (podToShow) { - is DualPodDevice -> DualPodsCardVH.Item( - now = now, - device = podToShow, - showDebug = isDebugMode, - isMainPod = true, - userTime = UserTime(), - ) - - is SinglePodDevice -> SinglePodsCardVH.Item( - now = now, - device = podToShow, - showDebug = isDebugMode, - isMainPod = true, - userTime = UserTime(), - ) - - else -> MissingMainDeviceVH.Item( - userTime = UserTime(), - ) - } - items.add(pod) - - items - } - .catch { errorEvents.postValue(it) } - .asLiveData2() - - fun onPermissionResult(granted: Boolean) { - if (granted) permissionTool.recheck() - } -} \ No newline at end of file diff --git a/app-wear/src/main/java/eu/darken/capod/wear/ui/overview/cards/BluetoothDisabledVH.kt b/app-wear/src/main/java/eu/darken/capod/wear/ui/overview/cards/BluetoothDisabledVH.kt deleted file mode 100644 index 41b77519..00000000 --- a/app-wear/src/main/java/eu/darken/capod/wear/ui/overview/cards/BluetoothDisabledVH.kt +++ /dev/null @@ -1,33 +0,0 @@ -package eu.darken.capod.wear.ui.overview.cards - -import android.view.ViewGroup -import eu.darken.capod.R -import eu.darken.capod.common.lists.binding -import eu.darken.capod.common.lists.differ.DifferItem -import eu.darken.capod.databinding.OverviewBluetoothDisabledItemBinding -import eu.darken.capod.wear.ui.overview.OverviewAdapter - -class BluetoothDisabledVH(parent: ViewGroup) : - OverviewAdapter.BaseVH( - R.layout.overview_bluetooth_disabled_item, - parent - ) { - - override val viewBinding = lazy { - OverviewBluetoothDisabledItemBinding.bind(itemView) - } - - override val onBindData: OverviewBluetoothDisabledItemBinding.( - item: Item, - payloads: List - ) -> Unit = binding(payload = true) { item -> - - } - - object Item : OverviewAdapter.Item { - override val stableId: Long = Item::class.hashCode().toLong() - - override val payloadProvider: ((DifferItem, DifferItem) -> DifferItem?) - get() = { old, new -> if (new::class.isInstance(old)) new else null } - } -} \ No newline at end of file diff --git a/app-wear/src/main/java/eu/darken/capod/wear/ui/overview/cards/MissingMainDeviceVH.kt b/app-wear/src/main/java/eu/darken/capod/wear/ui/overview/cards/MissingMainDeviceVH.kt deleted file mode 100644 index 8157283c..00000000 --- a/app-wear/src/main/java/eu/darken/capod/wear/ui/overview/cards/MissingMainDeviceVH.kt +++ /dev/null @@ -1,37 +0,0 @@ -package eu.darken.capod.wear.ui.overview.cards - -import android.view.ViewGroup -import eu.darken.capod.R -import eu.darken.capod.common.lists.binding -import eu.darken.capod.common.lists.differ.DifferItem -import eu.darken.capod.databinding.OverviewNomaindeviceItemBinding -import eu.darken.capod.wear.core.UserTime -import eu.darken.capod.wear.ui.overview.OverviewAdapter - -class MissingMainDeviceVH(parent: ViewGroup) : - OverviewAdapter.BaseVH( - R.layout.overview_nomaindevice_item, - parent - ) { - - override val viewBinding = lazy { - OverviewNomaindeviceItemBinding.bind(itemView) - } - - override val onBindData: OverviewNomaindeviceItemBinding.( - item: Item, - payloads: List - ) -> Unit = binding(payload = true) { item -> - userTime.text = item.userTime.toFormatted(context) - - } - - data class Item( - val userTime: UserTime, - ) : OverviewAdapter.Item { - override val stableId: Long = this.hashCode().toLong() - - override val payloadProvider: ((DifferItem, DifferItem) -> DifferItem?) - get() = { old, new -> if (new::class.isInstance(old)) new else null } - } -} \ No newline at end of file diff --git a/app-wear/src/main/java/eu/darken/capod/wear/ui/overview/cards/PermissionCardVH.kt b/app-wear/src/main/java/eu/darken/capod/wear/ui/overview/cards/PermissionCardVH.kt deleted file mode 100644 index 8db86018..00000000 --- a/app-wear/src/main/java/eu/darken/capod/wear/ui/overview/cards/PermissionCardVH.kt +++ /dev/null @@ -1,39 +0,0 @@ -package eu.darken.capod.wear.ui.overview.cards - -import android.view.ViewGroup -import eu.darken.capod.R -import eu.darken.capod.common.lists.binding -import eu.darken.capod.common.lists.differ.DifferItem -import eu.darken.capod.common.permissions.Permission -import eu.darken.capod.databinding.OverviewPermissionItemBinding -import eu.darken.capod.wear.ui.overview.OverviewAdapter - -class PermissionCardVH(parent: ViewGroup) : - OverviewAdapter.BaseVH( - R.layout.overview_permission_item, - parent - ) { - - override val viewBinding = lazy { - OverviewPermissionItemBinding.bind(itemView) - } - - override val onBindData: OverviewPermissionItemBinding.( - item: Item, - payloads: List - ) -> Unit = binding(payload = true) { item -> - permissionLabel.setText(item.permission.labelRes) - permissionDescription.setText(item.permission.descriptionRes) - grantAction.setOnClickListener { item.onRequest(item.permission) } - } - - data class Item( - val permission: Permission, - val onRequest: (Permission) -> Unit - ) : OverviewAdapter.Item { - override val stableId: Long = permission.hashCode().toLong() - - override val payloadProvider: ((DifferItem, DifferItem) -> DifferItem?) - get() = { old, new -> if (new::class.isInstance(old)) new else null } - } -} \ No newline at end of file diff --git a/app-wear/src/main/java/eu/darken/capod/wear/ui/overview/cards/pods/DualPodsCardVH.kt b/app-wear/src/main/java/eu/darken/capod/wear/ui/overview/cards/pods/DualPodsCardVH.kt deleted file mode 100644 index c42dfc84..00000000 --- a/app-wear/src/main/java/eu/darken/capod/wear/ui/overview/cards/pods/DualPodsCardVH.kt +++ /dev/null @@ -1,136 +0,0 @@ -package eu.darken.capod.wear.ui.overview.cards.pods - -import android.graphics.Typeface -import android.view.ViewGroup -import androidx.core.view.isGone -import androidx.core.view.isInvisible -import eu.darken.capod.R -import eu.darken.capod.common.lists.binding -import eu.darken.capod.databinding.OverviewPodsDualItemBinding -import eu.darken.capod.pods.core.* -import eu.darken.capod.pods.core.apple.DualApplePods -import eu.darken.capod.wear.core.UserTime -import java.time.Instant - -class DualPodsCardVH(parent: ViewGroup) : - PodDeviceVH( - R.layout.overview_pods_dual_item, - parent - ) { - - override val viewBinding = lazy { OverviewPodsDualItemBinding.bind(itemView) } - - override val onBindData = binding(payload = true) { item: Item -> - userTime.text = item.userTime.toFormatted(context) - - val device = item.device - - name.apply { - val sb = StringBuilder(device.getLabel(context)) - if (device is HasPodStyle && item.showDebug) { - val style = device.podStyle - sb.append(" (${style.getColor(context)})") - } - text = sb - - if (item.isMainPod) setTypeface(null, Typeface.BOLD) - else setTypeface(null, Typeface.NORMAL) - - if (device is DualApplePods && item.showDebug) { - append(" [${device.primaryPod.name}]") - } - } - deviceIcon.setImageResource(device.iconRes) - podLeftIcon.setImageResource(device.leftPodIcon) - podRightIcon.setImageResource(device.rightPodIcon) - - lastSeen.text = device.lastSeenFormatted(item.now) - - // Pods battery state - device.apply { - podLeftBatteryIcon.setImageResource(getBatteryDrawable(batteryLeftPodPercent)) - podLeftBatteryLabel.text = getBatteryLevelLeftPod(context) - - podRightBatteryIcon.setImageResource(getBatteryDrawable(batteryRightPodPercent)) - podRightBatteryLabel.text = getBatteryLevelRightPod(context) - } - - // Pods charging state - device.apply { - if (this is HasChargeDetectionDual) { - podLeftChargingIcon.isInvisible = !isLeftPodCharging - - podRightChargingIcon.isInvisible = !isRightPodCharging - } else { - podLeftChargingIcon.isGone = true - - podRightChargingIcon.isGone = true - } - } - - // Microphone state - device.apply { - if (this is HasDualMicrophone) { - podLeftMicrophoneIcon.isInvisible = !isLeftPodMicrophone - - podRightMicrophoneIcon.isInvisible = !isRightPodMicrophone - } else { - podLeftMicrophoneIcon.isGone = true - - podRightMicrophoneIcon.isGone = true - } - } - - // Pods wear state - device.apply { - if (this is HasEarDetectionDual) { - podLeftWearIcon.isInvisible = !isLeftPodInEar - - podRightWearIcon.isInvisible = !isRightPodInEar - } else { - podLeftWearIcon.isGone = true - - podRightWearIcon.isGone = true - } - } - - // Case charge state - device.apply { - if (this is HasCase) { - podCaseIcon.setImageResource(caseIcon) - podCaseBatteryIcon.isGone = false - podCaseBatteryIcon.setImageResource(getBatteryDrawable(batteryCasePercent)) - podCaseBatteryLabel.text = getBatteryLevelCase(context) - - podCaseChargingIcon.isInvisible = !isCaseCharging - } else { - podCaseBatteryIcon.isGone = true - podCaseBatteryLabel.isGone = true - - podCaseChargingIcon.isGone = true - } - } - - // Connection state - device.apply { - val sb = StringBuilder() - if (this is HasStateDetection) { - sb.append(state.getLabel(context)) - } - if (item.showDebug) { - sb.append("\n\n").append("---Debug---") - sb.append("\n").append(rawDataHex) - } - status.text = sb - status.isGone = sb.isEmpty() - } - } - - data class Item( - override val now: Instant, - override val device: DualPodDevice, - override val showDebug: Boolean, - override val isMainPod: Boolean, - val userTime: UserTime, - ) : PodDeviceVH.Item -} \ No newline at end of file diff --git a/app-wear/src/main/java/eu/darken/capod/wear/ui/overview/cards/pods/PodDeviceVH.kt b/app-wear/src/main/java/eu/darken/capod/wear/ui/overview/cards/pods/PodDeviceVH.kt deleted file mode 100644 index df71467e..00000000 --- a/app-wear/src/main/java/eu/darken/capod/wear/ui/overview/cards/pods/PodDeviceVH.kt +++ /dev/null @@ -1,41 +0,0 @@ -package eu.darken.capod.wear.ui.overview.cards.pods - -import android.view.ViewGroup -import androidx.annotation.LayoutRes -import androidx.viewbinding.ViewBinding -import eu.darken.capod.common.lists.BindableVH -import eu.darken.capod.common.lists.differ.DifferItem -import eu.darken.capod.common.lists.modular.ModularAdapter -import eu.darken.capod.pods.core.PodDevice -import eu.darken.capod.pods.core.getSignalQuality -import eu.darken.capod.wear.ui.overview.OverviewAdapter -import java.time.Instant - -abstract class PodDeviceVH( - @LayoutRes layoutId: Int, - parent: ViewGroup -) : ModularAdapter.VH(layoutId, parent), BindableVH { - - fun Item.getReceptionText(): String = device.getSignalQuality(context) - .let { if (showDebug) "$it ${device.seenCounter}" else it } - .let { if (isMainPod) "$it\n(${getString(eu.darken.capod.common.R.string.pods_yours)})" else it } - - interface Item : OverviewAdapter.Item { - - val now: Instant - - val device: PodDevice - - val showDebug: Boolean - - val isMainPod: Boolean - - override val stableId: Long get() = device.identifier.hashCode().toLong() - - override val payloadProvider: ((DifferItem, DifferItem) -> DifferItem?)? - get() = { old, new -> - if (new::class.isInstance(old)) new else null - } - - } -} \ No newline at end of file diff --git a/app-wear/src/main/java/eu/darken/capod/wear/ui/overview/cards/pods/SinglePodsCardVH.kt b/app-wear/src/main/java/eu/darken/capod/wear/ui/overview/cards/pods/SinglePodsCardVH.kt deleted file mode 100644 index 39b2347d..00000000 --- a/app-wear/src/main/java/eu/darken/capod/wear/ui/overview/cards/pods/SinglePodsCardVH.kt +++ /dev/null @@ -1,83 +0,0 @@ -package eu.darken.capod.wear.ui.overview.cards.pods - -import android.graphics.Typeface -import android.view.ViewGroup -import androidx.core.view.isGone -import androidx.core.view.isInvisible -import eu.darken.capod.R -import eu.darken.capod.common.lists.binding -import eu.darken.capod.databinding.OverviewPodsSingleItemBinding -import eu.darken.capod.pods.core.* -import eu.darken.capod.wear.core.UserTime -import java.time.Instant - -class SinglePodsCardVH(parent: ViewGroup) : - PodDeviceVH( - R.layout.overview_pods_single_item, - parent - ) { - - override val viewBinding = lazy { OverviewPodsSingleItemBinding.bind(itemView) } - - override val onBindData = binding(payload = true) { item: Item -> - userTime.text = item.userTime.toFormatted(context) - - val device = item.device - - name.apply { - text = device.getLabel(context) - if (item.isMainPod) setTypeface(null, Typeface.BOLD) - else setTypeface(null, Typeface.NORMAL) - } - - deviceIcon.setImageResource(device.iconRes) - - lastSeen.text = device.lastSeenFormatted(item.now) - - // Battery level - device.apply { - batteryLabel.text = getBatteryLevelHeadset(context) - batteryIcon.setImageResource(getBatteryDrawable(batteryHeadsetPercent)) - } - - // Charge state - device.apply { - if (this is HasChargeDetection) { - chargingIcon.isInvisible = isHeadsetBeingCharged - chargingLabel.isInvisible = isHeadsetBeingCharged - } else { - chargingIcon.isGone = true - chargingLabel.isGone = true - } - } - - // Has ear detection - device.apply { - if (this is HasEarDetection) { - wearIcon.isInvisible = isBeingWorn - wearLabel.isInvisible = isBeingWorn - } else { - wearIcon.isGone = true - wearLabel.isGone = true - } - } - - status.apply { - val sb = StringBuilder() - if (item.showDebug) { - sb.append("--- Debug ---") - sb.append("\n").append(device.rawDataHex) - } - text = sb - isGone = !item.showDebug - } - } - - data class Item( - override val now: Instant, - override val device: SinglePodDevice, - override val showDebug: Boolean, - override val isMainPod: Boolean, - val userTime: UserTime, - ) : PodDeviceVH.Item -} \ No newline at end of file diff --git a/app-wear/src/main/java/eu/darken/capod/wear/ui/settings/SettingsFragment.kt b/app-wear/src/main/java/eu/darken/capod/wear/ui/settings/SettingsFragment.kt deleted file mode 100644 index f675fc4d..00000000 --- a/app-wear/src/main/java/eu/darken/capod/wear/ui/settings/SettingsFragment.kt +++ /dev/null @@ -1,24 +0,0 @@ -package eu.darken.capod.wear.ui.settings - -import android.os.Bundle -import android.view.View -import androidx.fragment.app.viewModels -import dagger.hilt.android.AndroidEntryPoint -import eu.darken.capod.R -import eu.darken.capod.common.BuildConfigWrap -import eu.darken.capod.common.uix.Fragment3 -import eu.darken.capod.common.viewbinding.viewBinding -import eu.darken.capod.databinding.SettingsFragmentBinding - - -@AndroidEntryPoint -class SettingsFragment : Fragment3(R.layout.settings_fragment) { - - override val vm: SettingsFragmentVM by viewModels() - override val ui: SettingsFragmentBinding by viewBinding() - - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { - ui.appVersion.text = BuildConfigWrap.VERSION_DESCRIPTION_TINY - super.onViewCreated(view, savedInstanceState) - } -} diff --git a/app-wear/src/main/java/eu/darken/capod/wear/ui/settings/SettingsFragmentVM.kt b/app-wear/src/main/java/eu/darken/capod/wear/ui/settings/SettingsFragmentVM.kt deleted file mode 100644 index 7a4ebfd9..00000000 --- a/app-wear/src/main/java/eu/darken/capod/wear/ui/settings/SettingsFragmentVM.kt +++ /dev/null @@ -1,13 +0,0 @@ -package eu.darken.capod.wear.ui.settings - -import androidx.lifecycle.SavedStateHandle -import dagger.hilt.android.lifecycle.HiltViewModel -import eu.darken.capod.common.coroutine.DispatcherProvider -import eu.darken.capod.common.uix.ViewModel3 -import javax.inject.Inject - -@HiltViewModel -class SettingsFragmentVM @Inject constructor( - @Suppress("UNUSED_PARAMETER") handle: SavedStateHandle, - dispatcherProvider: DispatcherProvider, -) : ViewModel3(dispatcherProvider = dispatcherProvider) \ No newline at end of file diff --git a/app-wear/src/main/res/drawable/splash_screen.xml b/app-wear/src/main/res/drawable/splash_screen.xml deleted file mode 100644 index c178ba82..00000000 --- a/app-wear/src/main/res/drawable/splash_screen.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - \ No newline at end of file diff --git a/app-wear/src/main/res/layout/main_activity.xml b/app-wear/src/main/res/layout/main_activity.xml deleted file mode 100644 index f700038a..00000000 --- a/app-wear/src/main/res/layout/main_activity.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/app-wear/src/main/res/layout/main_fragment.xml b/app-wear/src/main/res/layout/main_fragment.xml deleted file mode 100644 index 5b6ae034..00000000 --- a/app-wear/src/main/res/layout/main_fragment.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/app-wear/src/main/res/layout/overview_bluetooth_disabled_item.xml b/app-wear/src/main/res/layout/overview_bluetooth_disabled_item.xml deleted file mode 100644 index edb9fc2c..00000000 --- a/app-wear/src/main/res/layout/overview_bluetooth_disabled_item.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - diff --git a/app-wear/src/main/res/layout/overview_nomaindevice_item.xml b/app-wear/src/main/res/layout/overview_nomaindevice_item.xml deleted file mode 100644 index f31fe56d..00000000 --- a/app-wear/src/main/res/layout/overview_nomaindevice_item.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - diff --git a/app-wear/src/main/res/layout/overview_permission_item.xml b/app-wear/src/main/res/layout/overview_permission_item.xml deleted file mode 100644 index ce7037e9..00000000 --- a/app-wear/src/main/res/layout/overview_permission_item.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - diff --git a/app-wear/src/main/res/layout/overview_pods_dual_item.xml b/app-wear/src/main/res/layout/overview_pods_dual_item.xml deleted file mode 100644 index 07524dda..00000000 --- a/app-wear/src/main/res/layout/overview_pods_dual_item.xml +++ /dev/null @@ -1,289 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app-wear/src/main/res/layout/overview_pods_single_item.xml b/app-wear/src/main/res/layout/overview_pods_single_item.xml deleted file mode 100644 index f93164f1..00000000 --- a/app-wear/src/main/res/layout/overview_pods_single_item.xml +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app-wear/src/main/res/layout/settings_fragment.xml b/app-wear/src/main/res/layout/settings_fragment.xml deleted file mode 100644 index 4af89739..00000000 --- a/app-wear/src/main/res/layout/settings_fragment.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app-wear/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app-wear/src/main/res/mipmap-anydpi-v26/ic_launcher.xml deleted file mode 100644 index be316184..00000000 --- a/app-wear/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app-wear/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app-wear/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml deleted file mode 100644 index be316184..00000000 --- a/app-wear/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app-wear/src/main/res/mipmap-hdpi/ic_launcher.png b/app-wear/src/main/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index 2919cd5a..00000000 Binary files a/app-wear/src/main/res/mipmap-hdpi/ic_launcher.png and /dev/null differ diff --git a/app-wear/src/main/res/mipmap-hdpi/ic_launcher_background.png b/app-wear/src/main/res/mipmap-hdpi/ic_launcher_background.png deleted file mode 100644 index 35e76e30..00000000 Binary files a/app-wear/src/main/res/mipmap-hdpi/ic_launcher_background.png and /dev/null differ diff --git a/app-wear/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/app-wear/src/main/res/mipmap-hdpi/ic_launcher_foreground.png deleted file mode 100644 index cd9679c6..00000000 Binary files a/app-wear/src/main/res/mipmap-hdpi/ic_launcher_foreground.png and /dev/null differ diff --git a/app-wear/src/main/res/mipmap-hdpi/ic_launcher_round.png b/app-wear/src/main/res/mipmap-hdpi/ic_launcher_round.png deleted file mode 100644 index 8d0a6dbc..00000000 Binary files a/app-wear/src/main/res/mipmap-hdpi/ic_launcher_round.png and /dev/null differ diff --git a/app-wear/src/main/res/mipmap-mdpi/ic_launcher.png b/app-wear/src/main/res/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index 440f5384..00000000 Binary files a/app-wear/src/main/res/mipmap-mdpi/ic_launcher.png and /dev/null differ diff --git a/app-wear/src/main/res/mipmap-mdpi/ic_launcher_background.png b/app-wear/src/main/res/mipmap-mdpi/ic_launcher_background.png deleted file mode 100644 index 3a32174e..00000000 Binary files a/app-wear/src/main/res/mipmap-mdpi/ic_launcher_background.png and /dev/null differ diff --git a/app-wear/src/main/res/mipmap-mdpi/ic_launcher_foreground.png b/app-wear/src/main/res/mipmap-mdpi/ic_launcher_foreground.png deleted file mode 100644 index 361ac8a0..00000000 Binary files a/app-wear/src/main/res/mipmap-mdpi/ic_launcher_foreground.png and /dev/null differ diff --git a/app-wear/src/main/res/mipmap-mdpi/ic_launcher_round.png b/app-wear/src/main/res/mipmap-mdpi/ic_launcher_round.png deleted file mode 100644 index 8e86f61f..00000000 Binary files a/app-wear/src/main/res/mipmap-mdpi/ic_launcher_round.png and /dev/null differ diff --git a/app-wear/src/main/res/mipmap-xhdpi/ic_launcher.png b/app-wear/src/main/res/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index 5a2ca739..00000000 Binary files a/app-wear/src/main/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ diff --git a/app-wear/src/main/res/mipmap-xhdpi/ic_launcher_background.png b/app-wear/src/main/res/mipmap-xhdpi/ic_launcher_background.png deleted file mode 100644 index 169f394d..00000000 Binary files a/app-wear/src/main/res/mipmap-xhdpi/ic_launcher_background.png and /dev/null differ diff --git a/app-wear/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/app-wear/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png deleted file mode 100644 index f94e8f28..00000000 Binary files a/app-wear/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png and /dev/null differ diff --git a/app-wear/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/app-wear/src/main/res/mipmap-xhdpi/ic_launcher_round.png deleted file mode 100644 index 9efc8ea0..00000000 Binary files a/app-wear/src/main/res/mipmap-xhdpi/ic_launcher_round.png and /dev/null differ diff --git a/app-wear/src/main/res/mipmap-xxhdpi/ic_launcher.png b/app-wear/src/main/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index aeb41411..00000000 Binary files a/app-wear/src/main/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ diff --git a/app-wear/src/main/res/mipmap-xxhdpi/ic_launcher_background.png b/app-wear/src/main/res/mipmap-xxhdpi/ic_launcher_background.png deleted file mode 100644 index 909fd2e1..00000000 Binary files a/app-wear/src/main/res/mipmap-xxhdpi/ic_launcher_background.png and /dev/null differ diff --git a/app-wear/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/app-wear/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png deleted file mode 100644 index d3ee90d5..00000000 Binary files a/app-wear/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png and /dev/null differ diff --git a/app-wear/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/app-wear/src/main/res/mipmap-xxhdpi/ic_launcher_round.png deleted file mode 100644 index 39cabb78..00000000 Binary files a/app-wear/src/main/res/mipmap-xxhdpi/ic_launcher_round.png and /dev/null differ diff --git a/app-wear/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/app-wear/src/main/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index f840622a..00000000 Binary files a/app-wear/src/main/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ diff --git a/app-wear/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png b/app-wear/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png deleted file mode 100644 index bb71e0e1..00000000 Binary files a/app-wear/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png and /dev/null differ diff --git a/app-wear/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/app-wear/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png deleted file mode 100644 index 253c9c16..00000000 Binary files a/app-wear/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png and /dev/null differ diff --git a/app-wear/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/app-wear/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png deleted file mode 100644 index 12bc8cfa..00000000 Binary files a/app-wear/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png and /dev/null differ diff --git a/app-wear/src/main/res/navigation/nav_graph.xml b/app-wear/src/main/res/navigation/nav_graph.xml deleted file mode 100644 index 6c238cf5..00000000 --- a/app-wear/src/main/res/navigation/nav_graph.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/app-wear/src/main/res/values-af-rZA/strings.xml b/app-wear/src/main/res/values-af-rZA/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-af-rZA/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-am/strings.xml b/app-wear/src/main/res/values-am/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-am/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-ar/strings.xml b/app-wear/src/main/res/values-ar/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-ar/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-az/strings.xml b/app-wear/src/main/res/values-az/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-az/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-be/strings.xml b/app-wear/src/main/res/values-be/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-be/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-bg/strings.xml b/app-wear/src/main/res/values-bg/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-bg/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-bn-rBD/strings.xml b/app-wear/src/main/res/values-bn-rBD/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-bn-rBD/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-ca/strings.xml b/app-wear/src/main/res/values-ca/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-ca/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-cs/strings.xml b/app-wear/src/main/res/values-cs/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-cs/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-da/strings.xml b/app-wear/src/main/res/values-da/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-da/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-de/strings.xml b/app-wear/src/main/res/values-de/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-de/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-el/strings.xml b/app-wear/src/main/res/values-el/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-el/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-es-rAR/strings.xml b/app-wear/src/main/res/values-es-rAR/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-es-rAR/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-es-rMX/strings.xml b/app-wear/src/main/res/values-es-rMX/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-es-rMX/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-es/strings.xml b/app-wear/src/main/res/values-es/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-es/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-et-rEE/strings.xml b/app-wear/src/main/res/values-et-rEE/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-et-rEE/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-eu-rES/strings.xml b/app-wear/src/main/res/values-eu-rES/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-eu-rES/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-fa/strings.xml b/app-wear/src/main/res/values-fa/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-fa/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-fi/strings.xml b/app-wear/src/main/res/values-fi/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-fi/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-fil/strings.xml b/app-wear/src/main/res/values-fil/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-fil/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-fr/strings.xml b/app-wear/src/main/res/values-fr/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-fr/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-gl-rES/strings.xml b/app-wear/src/main/res/values-gl-rES/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-gl-rES/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-hi-rIN/strings.xml b/app-wear/src/main/res/values-hi-rIN/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-hi-rIN/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-hr/strings.xml b/app-wear/src/main/res/values-hr/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-hr/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-hu/strings.xml b/app-wear/src/main/res/values-hu/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-hu/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-hy-rAM/strings.xml b/app-wear/src/main/res/values-hy-rAM/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-hy-rAM/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-in/strings.xml b/app-wear/src/main/res/values-in/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-in/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-is/strings.xml b/app-wear/src/main/res/values-is/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-is/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-it/strings.xml b/app-wear/src/main/res/values-it/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-it/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-iw/strings.xml b/app-wear/src/main/res/values-iw/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-iw/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-ja/strings.xml b/app-wear/src/main/res/values-ja/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-ja/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-ka-rGE/strings.xml b/app-wear/src/main/res/values-ka-rGE/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-ka-rGE/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-km-rKH/strings.xml b/app-wear/src/main/res/values-km-rKH/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-km-rKH/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-kmr-rTR/strings.xml b/app-wear/src/main/res/values-kmr-rTR/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-kmr-rTR/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-kn-rIN/strings.xml b/app-wear/src/main/res/values-kn-rIN/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-kn-rIN/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-ko/strings.xml b/app-wear/src/main/res/values-ko/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-ko/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-ky-rKG/strings.xml b/app-wear/src/main/res/values-ky-rKG/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-ky-rKG/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-lo-rLA/strings.xml b/app-wear/src/main/res/values-lo-rLA/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-lo-rLA/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-lt/strings.xml b/app-wear/src/main/res/values-lt/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-lt/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-lv/strings.xml b/app-wear/src/main/res/values-lv/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-lv/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-mk-rMK/strings.xml b/app-wear/src/main/res/values-mk-rMK/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-mk-rMK/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-ml-rIN/strings.xml b/app-wear/src/main/res/values-ml-rIN/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-ml-rIN/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-mn-rMN/strings.xml b/app-wear/src/main/res/values-mn-rMN/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-mn-rMN/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-mr-rIN/strings.xml b/app-wear/src/main/res/values-mr-rIN/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-mr-rIN/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-ms/strings.xml b/app-wear/src/main/res/values-ms/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-ms/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-my-rMM/strings.xml b/app-wear/src/main/res/values-my-rMM/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-my-rMM/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-ne-rNP/strings.xml b/app-wear/src/main/res/values-ne-rNP/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-ne-rNP/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-nl/strings.xml b/app-wear/src/main/res/values-nl/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-nl/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-pl/strings.xml b/app-wear/src/main/res/values-pl/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-pl/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-pt-rBR/strings.xml b/app-wear/src/main/res/values-pt-rBR/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-pt-rBR/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-pt/strings.xml b/app-wear/src/main/res/values-pt/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-pt/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-rm/strings.xml b/app-wear/src/main/res/values-rm/strings.xml deleted file mode 100644 index 55344e51..00000000 --- a/app-wear/src/main/res/values-rm/strings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app-wear/src/main/res/values-ro/strings.xml b/app-wear/src/main/res/values-ro/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-ro/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-ru/strings.xml b/app-wear/src/main/res/values-ru/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-ru/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-si-rLK/strings.xml b/app-wear/src/main/res/values-si-rLK/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-si-rLK/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-sk/strings.xml b/app-wear/src/main/res/values-sk/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-sk/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-sl/strings.xml b/app-wear/src/main/res/values-sl/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-sl/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-sr/strings.xml b/app-wear/src/main/res/values-sr/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-sr/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-sv/strings.xml b/app-wear/src/main/res/values-sv/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-sv/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-sw/strings.xml b/app-wear/src/main/res/values-sw/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-sw/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-ta-rIN/strings.xml b/app-wear/src/main/res/values-ta-rIN/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-ta-rIN/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-te-rIN/strings.xml b/app-wear/src/main/res/values-te-rIN/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-te-rIN/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-th/strings.xml b/app-wear/src/main/res/values-th/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-th/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-tr/strings.xml b/app-wear/src/main/res/values-tr/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-tr/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-uk/strings.xml b/app-wear/src/main/res/values-uk/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-uk/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-ur-rIN/strings.xml b/app-wear/src/main/res/values-ur-rIN/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-ur-rIN/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-uz/strings.xml b/app-wear/src/main/res/values-uz/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-uz/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-vi/strings.xml b/app-wear/src/main/res/values-vi/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-vi/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-zh-rCN/strings.xml b/app-wear/src/main/res/values-zh-rCN/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-zh-rCN/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-zh-rHK/strings.xml b/app-wear/src/main/res/values-zh-rHK/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-zh-rHK/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-zh-rTW/strings.xml b/app-wear/src/main/res/values-zh-rTW/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-zh-rTW/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values-zu/strings.xml b/app-wear/src/main/res/values-zu/strings.xml deleted file mode 100644 index 0f911553..00000000 --- a/app-wear/src/main/res/values-zu/strings.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/app-wear/src/main/res/values/colors.xml b/app-wear/src/main/res/values/colors.xml deleted file mode 100644 index 4fac9aa7..00000000 --- a/app-wear/src/main/res/values/colors.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - #3F7AFF - #FEFBFF - #003EA7 - #FEFBFF - #E9C426 - #3B2F00 - #564500 - #FFE16C - #33E286 - #00391B - #005229 - #5CFFA0 - #FFB4A9 - #930006 - #680003 - #FFDAD4 - #000000 - #FEFBFF - #000000 - #FEFBFF - #44464E - #C6C6D0 - #8F909A - #1B1B1F - #FEFBFF - #0054D9 - - #3F7AFF - #BA1B1B - - #3f7aff - #ffd83c - #41eb8e - \ No newline at end of file diff --git a/app-wear/src/main/res/values/dimens.xml b/app-wear/src/main/res/values/dimens.xml deleted file mode 100644 index 5dd421f1..00000000 --- a/app-wear/src/main/res/values/dimens.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - 5dp - \ No newline at end of file diff --git a/app-wear/src/main/res/values/strings.xml b/app-wear/src/main/res/values/strings.xml deleted file mode 100644 index d5dac5f6..00000000 --- a/app-wear/src/main/res/values/strings.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/app-wear/src/main/res/values/styles.xml b/app-wear/src/main/res/values/styles.xml deleted file mode 100644 index 51cee47c..00000000 --- a/app-wear/src/main/res/values/styles.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/app-wear/src/main/res/values/themes.xml b/app-wear/src/main/res/values/themes.xml deleted file mode 100644 index d64cea3b..00000000 --- a/app-wear/src/main/res/values/themes.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/crowdin.yaml b/crowdin.yaml index 494073ae..fa4859e5 100644 --- a/crowdin.yaml +++ b/crowdin.yaml @@ -102,12 +102,6 @@ "translation": "/app/src/main/res/values-%android_code%/strings.xml", # "update_option" : "update_without_changes", "languages_mapping": *stringmapping - }, { - "source": "/app-wear/src/main/res/values/strings.xml", - "dest": "/strings-wear.xml", - "translation": "/app-wear/src/main/res/values-%android_code%/strings.xml", - # "update_option" : "update_without_changes", - "languages_mapping": *stringmapping }, { "source": "/fastlane/metadata/android/en-US/full_description.txt", "dest": "/description.txt", diff --git a/fastlane/Fastfile b/fastlane/Fastfile index c1e32e10..a681947a 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -38,24 +38,6 @@ platform :android do ) end - lane :beta_wearos do - gradle(task: 'clean bundleGplayBeta') - sh "bash ./remove_unsupported_languages.sh" - supply( - track: 'wear:beta', - rollout: '0.10', - package_name: 'eu.darken.capod', - skip_upload_changelogs: 'false', - skip_upload_apk: 'true', - skip_upload_images: 'true', - skip_upload_screenshots: 'true', - skip_upload_metadata: 'true', - aab_paths: [ - "app-wear/build/outputs/bundle/gplayRelease/app-wear-gplay-beta.aab", - ], - ) - end - lane :production do gradle(task: 'clean bundleGplayRelease') sh "bash ./remove_unsupported_languages.sh" @@ -74,24 +56,6 @@ platform :android do ) end - lane :production_wearos do - gradle(task: 'clean bundleGplayRelease') - sh "bash ./remove_unsupported_languages.sh" - supply( - track: 'wear:beta', - rollout: '0.10', - package_name: 'eu.darken.capod', - skip_upload_changelogs: 'false', - skip_upload_apk: 'true', - skip_upload_images: 'true', - skip_upload_screenshots: 'true', - skip_upload_metadata: 'true', - aab_paths: [ - "app-wear/build/outputs/bundle/gplayRelease/app-wear-gplay-release.aab", - ], - ) - end - lane :listing_only do sh "bash ./remove_unsupported_languages.sh" supply( diff --git a/settings.gradle b/settings.gradle index b8acb261..8bb8a52e 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,4 +1,3 @@ rootProject.name = "Companion App for AirPods" include ':app' -include ':app-wear' include ':app-common'