mirror of
https://github.com/d4rken-org/capod.git
synced 2026-09-14 18:26:11 -04:00
Rename CAP -> CAPod
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# Companion App for AirPods (CAP)
|
||||
# Companion App for AirPods (CAPod)
|
||||
|
||||
A companion app that adds support for AirPod specific features to Android.
|
||||
|
||||
@@ -10,16 +10,16 @@ Supported models:
|
||||
|
||||
## Support the project
|
||||
|
||||
* Buy the CAP Pro In-App purchase on [Google Play](https://play.google.com/store/apps/details?id=eu.darken.cap)
|
||||
* Buy the CAPod Pro In-App purchase on [Google Play](https://play.google.com/store/apps/details?id=eu.darken.capod)
|
||||
* [Buy me a coffee](https://www.buymeacoffee.com/tydarken)
|
||||
* Help translate CAP [on Crowdin](https://crowdin.com/project/airpod-companion)
|
||||
* Help translate CAPod [on Crowdin](https://crowdin.com/project/airpod-companion)
|
||||
|
||||
## Download
|
||||
|
||||
* [Google Play](https://play.google.com/store/apps/details?id=eu.darken.cap)
|
||||
* [Google Play](https://play.google.com/store/apps/details?id=eu.darken.capod)
|
||||
* [GitHub](https://github.com/d4rken/android-airpods-companion/releases/latest)
|
||||
|
||||
## Use CAP as a library
|
||||
## Use CAPod as a library
|
||||
|
||||
AirPods use Apple's Continuity Protocol to communicate, specifically the Proximity Pairing Message type. If you want to
|
||||
build your own app based on this, you can include it like this:
|
||||
@@ -37,10 +37,10 @@ build your own app based on this, you can include it like this:
|
||||
|
||||
## License
|
||||
|
||||
CAP's code is available under a GPL v3 license, this excludes:
|
||||
CAPod's code is available under a GPL v3 license, this excludes:
|
||||
|
||||
* CAP icons, logos, mascots and marketing materials.
|
||||
* CAP animations and videos.
|
||||
* CAP documentation.
|
||||
* CAPod icons, logos, mascots and marketing materials.
|
||||
* CAPod animations and videos.
|
||||
* CAPod documentation.
|
||||
* Google Play store screenshots.
|
||||
* Google Play store texts & descriptions.
|
||||
+1
-1
@@ -25,7 +25,7 @@ android {
|
||||
versionCode buildConfig.version.code
|
||||
versionName buildConfig.version.name
|
||||
|
||||
testInstrumentationRunner "eu.darken.cap.HiltTestRunner"
|
||||
testInstrumentationRunner "eu.darken.capod.HiltTestRunner"
|
||||
|
||||
buildConfigField "String", "GITSHA", "\"${gitSha}\""
|
||||
buildConfigField "String", "BUILDTIME", "\"${buildTime}\""
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="eu.darken.cap">
|
||||
package="eu.darken.capod">
|
||||
|
||||
<uses-permission android:name="android.permission.BLUETOOTH" />
|
||||
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
|
||||
@@ -11,7 +11,7 @@
|
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
||||
|
||||
<application
|
||||
android:name="eu.darken.cap.App"
|
||||
android:name="eu.darken.capod.App"
|
||||
android:allowBackup="true"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:label="@string/app_name"
|
||||
@@ -20,7 +20,7 @@
|
||||
android:theme="@style/AppTheme">
|
||||
|
||||
<activity
|
||||
android:name="eu.darken.cap.main.ui.MainActivity"
|
||||
android:name="eu.darken.capod.main.ui.MainActivity"
|
||||
android:exported="true"
|
||||
android:label="@string/app_name">
|
||||
<intent-filter>
|
||||
@@ -31,7 +31,7 @@
|
||||
</activity>
|
||||
|
||||
<receiver
|
||||
android:name="eu.darken.cap.monitor.core.receiver.BluetoothEventReceiver"
|
||||
android:name="eu.darken.capod.monitor.core.receiver.BluetoothEventReceiver"
|
||||
android:enabled="true"
|
||||
android:exported="true"
|
||||
android:label="Service trigger">
|
||||
@@ -55,10 +55,10 @@
|
||||
|
||||
<!-- Debug stuff-->
|
||||
<activity
|
||||
android:name=".common.debug.recording.ui.RecorderActivity"
|
||||
android:name="eu.darken.capod.common.debug.recording.ui.RecorderActivity"
|
||||
android:theme="@style/AppThemeFloating" />
|
||||
|
||||
<service android:name=".common.debug.recording.core.RecorderService" />
|
||||
<service android:name="eu.darken.capod.common.debug.recording.core.RecorderService" />
|
||||
|
||||
<!-- Worker stuff-->
|
||||
<service
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
package eu.darken.cap.common.error
|
||||
|
||||
import eu.darken.cap.common.livedata.SingleLiveEvent
|
||||
|
||||
interface ErrorEventSource {
|
||||
val errorEvents: SingleLiveEvent<Throwable>
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
package eu.darken.cap.common.flow
|
||||
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
package eu.darken.cap.common.lists
|
||||
|
||||
interface ListItem
|
||||
@@ -1,14 +1,14 @@
|
||||
package eu.darken.cap
|
||||
package eu.darken.capod
|
||||
|
||||
import android.app.Application
|
||||
import androidx.hilt.work.HiltWorkerFactory
|
||||
import androidx.work.Configuration
|
||||
import com.getkeepsafe.relinker.ReLinker
|
||||
import dagger.hilt.android.HiltAndroidApp
|
||||
import eu.darken.cap.common.coroutine.AppScope
|
||||
import eu.darken.cap.common.debug.bugreporting.BugReporter
|
||||
import eu.darken.cap.common.debug.logging.*
|
||||
import eu.darken.cap.monitor.core.worker.MonitorControl
|
||||
import eu.darken.capod.common.coroutine.AppScope
|
||||
import eu.darken.capod.common.debug.bugreporting.BugReporter
|
||||
import eu.darken.capod.common.debug.logging.*
|
||||
import eu.darken.capod.monitor.core.worker.MonitorControl
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.launch
|
||||
import javax.inject.Inject
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package eu.darken.cap.common
|
||||
package eu.darken.capod.common
|
||||
|
||||
import eu.darken.cap.BuildConfig
|
||||
import eu.darken.capod.BuildConfig
|
||||
|
||||
|
||||
// Can't be const because that prevents them from being mocked in tests
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common
|
||||
package eu.darken.capod.common
|
||||
|
||||
import android.os.Build
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common
|
||||
package eu.darken.capod.common
|
||||
|
||||
import java.util.*
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common
|
||||
package eu.darken.capod.common
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.ComponentName
|
||||
+3
-3
@@ -1,9 +1,9 @@
|
||||
package eu.darken.cap.common
|
||||
package eu.darken.capod.common
|
||||
|
||||
import android.content.Context
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import eu.darken.cap.common.debug.logging.log
|
||||
import eu.darken.cap.common.debug.logging.logTag
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
import eu.darken.capod.common.debug.logging.logTag
|
||||
import java.io.File
|
||||
import java.util.*
|
||||
import java.util.regex.Pattern
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common
|
||||
package eu.darken.capod.common
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.fragment.app.Fragment
|
||||
+5
-5
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.bluetooth
|
||||
package eu.darken.capod.common.bluetooth
|
||||
|
||||
import android.bluetooth.BluetoothManager
|
||||
import android.bluetooth.le.ScanCallback
|
||||
@@ -7,10 +7,10 @@ import android.bluetooth.le.ScanResult
|
||||
import android.bluetooth.le.ScanSettings
|
||||
import android.content.Context
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import eu.darken.cap.common.debug.logging.Logging.Priority.*
|
||||
import eu.darken.cap.common.debug.logging.log
|
||||
import eu.darken.cap.common.debug.logging.logTag
|
||||
import eu.darken.cap.pods.core.airpods.ProximityPairing
|
||||
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.pods.core.airpods.ProximityPairing
|
||||
import kotlinx.coroutines.channels.awaitClose
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.callbackFlow
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.bluetooth
|
||||
package eu.darken.capod.common.bluetooth
|
||||
|
||||
import android.bluetooth.BluetoothDevice
|
||||
import android.os.ParcelUuid
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.bluetooth
|
||||
package eu.darken.capod.common.bluetooth
|
||||
|
||||
import android.bluetooth.BluetoothDevice
|
||||
import android.os.ParcelUuid
|
||||
+5
-5
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.bluetooth
|
||||
package eu.darken.capod.common.bluetooth
|
||||
|
||||
import android.bluetooth.BluetoothAdapter
|
||||
import android.bluetooth.BluetoothDevice
|
||||
@@ -11,10 +11,10 @@ import android.content.IntentFilter
|
||||
import android.os.Handler
|
||||
import android.os.HandlerThread
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import eu.darken.cap.common.coroutine.DispatcherProvider
|
||||
import eu.darken.cap.common.debug.logging.Logging.Priority.*
|
||||
import eu.darken.cap.common.debug.logging.log
|
||||
import eu.darken.cap.common.debug.logging.logTag
|
||||
import eu.darken.capod.common.coroutine.DispatcherProvider
|
||||
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 kotlinx.coroutines.channels.awaitClose
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.callbackFlow
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.bluetooth
|
||||
package eu.darken.capod.common.bluetooth
|
||||
|
||||
import android.bluetooth.BluetoothProfile
|
||||
import java.util.concurrent.atomic.AtomicBoolean
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.collections
|
||||
package eu.darken.capod.common.collections
|
||||
|
||||
inline fun <K, V> Map<K, V>.mutate(block: MutableMap<K, V>.() -> Unit): Map<K, V> {
|
||||
return toMutableMap().apply(block).toMap()
|
||||
+4
-4
@@ -1,8 +1,8 @@
|
||||
package eu.darken.cap.common.compression
|
||||
package eu.darken.capod.common.compression
|
||||
|
||||
import eu.darken.cap.common.debug.logging.Logging.Priority.VERBOSE
|
||||
import eu.darken.cap.common.debug.logging.log
|
||||
import eu.darken.cap.common.debug.logging.logTag
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.VERBOSE
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
import eu.darken.capod.common.debug.logging.logTag
|
||||
import java.io.BufferedInputStream
|
||||
import java.io.BufferedOutputStream
|
||||
import java.io.FileInputStream
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.coroutine
|
||||
package eu.darken.capod.common.coroutine
|
||||
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.coroutine
|
||||
package eu.darken.capod.common.coroutine
|
||||
|
||||
import dagger.Binds
|
||||
import dagger.Module
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.coroutine
|
||||
package eu.darken.capod.common.coroutine
|
||||
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.coroutine
|
||||
package eu.darken.capod.common.coroutine
|
||||
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlin.coroutines.CoroutineContext
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.dagger
|
||||
package eu.darken.capod.common.dagger
|
||||
|
||||
import android.app.Application
|
||||
import android.app.NotificationManager
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
package eu.darken.cap.common.debug.bugreporting
|
||||
package eu.darken.capod.common.debug.bugreporting
|
||||
|
||||
import android.content.Context
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import eu.darken.cap.common.preferences.createFlowPreference
|
||||
import eu.darken.capod.common.preferences.createFlowPreference
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
|
||||
+8
-8
@@ -1,16 +1,16 @@
|
||||
package eu.darken.cap.common.debug.bugreporting
|
||||
package eu.darken.capod.common.debug.bugreporting
|
||||
|
||||
import android.content.Context
|
||||
import com.bugsnag.android.Bugsnag
|
||||
import com.bugsnag.android.Configuration
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import eu.darken.cap.common.InstallId
|
||||
import eu.darken.cap.common.debug.bugsnag.BugsnagErrorHandler
|
||||
import eu.darken.cap.common.debug.bugsnag.BugsnagLogger
|
||||
import eu.darken.cap.common.debug.bugsnag.NOPBugsnagErrorHandler
|
||||
import eu.darken.cap.common.debug.logging.Logging
|
||||
import eu.darken.cap.common.debug.logging.log
|
||||
import eu.darken.cap.common.debug.logging.logTag
|
||||
import eu.darken.capod.common.InstallId
|
||||
import eu.darken.capod.common.debug.bugsnag.BugsnagErrorHandler
|
||||
import eu.darken.capod.common.debug.bugsnag.BugsnagLogger
|
||||
import eu.darken.capod.common.debug.bugsnag.NOPBugsnagErrorHandler
|
||||
import eu.darken.capod.common.debug.logging.Logging
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
import eu.darken.capod.common.debug.logging.logTag
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Provider
|
||||
import javax.inject.Singleton
|
||||
+5
-5
@@ -1,10 +1,10 @@
|
||||
package eu.darken.cap.common.debug.bugreporting
|
||||
package eu.darken.capod.common.debug.bugreporting
|
||||
|
||||
import com.bugsnag.android.Bugsnag
|
||||
import eu.darken.cap.common.debug.logging.Logging.Priority.VERBOSE
|
||||
import eu.darken.cap.common.debug.logging.Logging.Priority.WARN
|
||||
import eu.darken.cap.common.debug.logging.log
|
||||
import eu.darken.cap.common.debug.logging.logTag
|
||||
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
|
||||
|
||||
object Bugs {
|
||||
var ready = false
|
||||
+5
-5
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.debug.bugsnag
|
||||
package eu.darken.capod.common.debug.bugsnag
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
@@ -6,10 +6,10 @@ import android.content.pm.PackageManager
|
||||
import com.bugsnag.android.Event
|
||||
import com.bugsnag.android.OnErrorCallback
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import eu.darken.cap.BuildConfig
|
||||
import eu.darken.cap.common.debug.logging.Logging.Priority.WARN
|
||||
import eu.darken.cap.common.debug.logging.asLog
|
||||
import eu.darken.cap.common.debug.logging.log
|
||||
import eu.darken.capod.BuildConfig
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.WARN
|
||||
import eu.darken.capod.common.debug.logging.asLog
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
|
||||
+3
-3
@@ -1,8 +1,8 @@
|
||||
package eu.darken.cap.common.debug.bugsnag
|
||||
package eu.darken.capod.common.debug.bugsnag
|
||||
|
||||
import com.bugsnag.android.Event
|
||||
import eu.darken.cap.common.debug.logging.Logging
|
||||
import eu.darken.cap.common.debug.logging.asLog
|
||||
import eu.darken.capod.common.debug.logging.Logging
|
||||
import eu.darken.capod.common.debug.logging.asLog
|
||||
import java.lang.String.format
|
||||
import java.util.*
|
||||
import javax.inject.Inject
|
||||
+4
-4
@@ -1,10 +1,10 @@
|
||||
package eu.darken.cap.common.debug.bugsnag
|
||||
package eu.darken.capod.common.debug.bugsnag
|
||||
|
||||
import com.bugsnag.android.Event
|
||||
import com.bugsnag.android.OnErrorCallback
|
||||
import eu.darken.cap.common.debug.logging.Logging.Priority.WARN
|
||||
import eu.darken.cap.common.debug.logging.asLog
|
||||
import eu.darken.cap.common.debug.logging.log
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.WARN
|
||||
import eu.darken.capod.common.debug.logging.asLog
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.debug.logging
|
||||
package eu.darken.capod.common.debug.logging
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.util.Log
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.debug.logging
|
||||
package eu.darken.capod.common.debug.logging
|
||||
|
||||
import android.os.Build
|
||||
import android.util.Log
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.debug.logging
|
||||
package eu.darken.capod.common.debug.logging
|
||||
|
||||
fun logTag(vararg tags: String): String {
|
||||
val sb = StringBuilder("CAP:")
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.debug.logging
|
||||
package eu.darken.capod.common.debug.logging
|
||||
|
||||
import java.io.PrintWriter
|
||||
import java.io.StringWriter
|
||||
+6
-6
@@ -1,10 +1,10 @@
|
||||
package eu.darken.cap.common.debug.recording.core
|
||||
package eu.darken.capod.common.debug.recording.core
|
||||
|
||||
import eu.darken.cap.common.debug.logging.FileLogger
|
||||
import eu.darken.cap.common.debug.logging.Logging
|
||||
import eu.darken.cap.common.debug.logging.Logging.Priority.INFO
|
||||
import eu.darken.cap.common.debug.logging.log
|
||||
import eu.darken.cap.common.debug.logging.logTag
|
||||
import eu.darken.capod.common.debug.logging.FileLogger
|
||||
import eu.darken.capod.common.debug.logging.Logging
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.INFO
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
import eu.darken.capod.common.debug.logging.logTag
|
||||
import kotlinx.coroutines.sync.Mutex
|
||||
import kotlinx.coroutines.sync.withLock
|
||||
import java.io.File
|
||||
+10
-10
@@ -1,18 +1,18 @@
|
||||
package eu.darken.cap.common.debug.recording.core
|
||||
package eu.darken.capod.common.debug.recording.core
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.os.Environment
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import eu.darken.cap.common.BuildConfigWrap
|
||||
import eu.darken.cap.common.coroutine.AppScope
|
||||
import eu.darken.cap.common.coroutine.DispatcherProvider
|
||||
import eu.darken.cap.common.debug.logging.Logging.Priority.ERROR
|
||||
import eu.darken.cap.common.debug.logging.log
|
||||
import eu.darken.cap.common.debug.logging.logTag
|
||||
import eu.darken.cap.common.debug.recording.ui.RecorderActivity
|
||||
import eu.darken.cap.common.flow.DynamicStateFlow
|
||||
import eu.darken.cap.common.startServiceCompat
|
||||
import eu.darken.capod.common.BuildConfigWrap
|
||||
import eu.darken.capod.common.coroutine.AppScope
|
||||
import eu.darken.capod.common.coroutine.DispatcherProvider
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.ERROR
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
import eu.darken.capod.common.debug.logging.logTag
|
||||
import eu.darken.capod.common.debug.recording.ui.RecorderActivity
|
||||
import eu.darken.capod.common.flow.DynamicStateFlow
|
||||
import eu.darken.capod.common.startServiceCompat
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.flow.*
|
||||
import kotlinx.coroutines.plus
|
||||
+9
-9
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.debug.recording.core
|
||||
package eu.darken.capod.common.debug.recording.core
|
||||
|
||||
import android.app.NotificationChannel
|
||||
import android.app.NotificationManager
|
||||
@@ -8,14 +8,14 @@ import android.os.Build
|
||||
import android.os.IBinder
|
||||
import androidx.core.app.NotificationCompat
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import eu.darken.cap.R
|
||||
import eu.darken.cap.common.BuildConfigWrap
|
||||
import eu.darken.cap.common.coroutine.DispatcherProvider
|
||||
import eu.darken.cap.common.debug.logging.log
|
||||
import eu.darken.cap.common.debug.logging.logTag
|
||||
import eu.darken.cap.common.notifications.PendingIntentCompat
|
||||
import eu.darken.cap.common.smart.SmartService
|
||||
import eu.darken.cap.main.ui.MainActivity
|
||||
import eu.darken.capod.R
|
||||
import eu.darken.capod.common.BuildConfigWrap
|
||||
import eu.darken.capod.common.coroutine.DispatcherProvider
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
import eu.darken.capod.common.debug.logging.logTag
|
||||
import eu.darken.capod.common.notifications.PendingIntentCompat
|
||||
import eu.darken.capod.common.smart.SmartService
|
||||
import eu.darken.capod.main.ui.MainActivity
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.SupervisorJob
|
||||
import kotlinx.coroutines.cancel
|
||||
+8
-7
@@ -1,26 +1,27 @@
|
||||
package eu.darken.cap.common.debug.recording.ui
|
||||
package eu.darken.capod.common.debug.recording.ui
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import android.text.format.Formatter
|
||||
import androidx.activity.viewModels
|
||||
import androidx.core.view.isInvisible
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import eu.darken.cap.common.debug.logging.logTag
|
||||
import eu.darken.cap.common.error.asErrorDialogBuilder
|
||||
import eu.darken.cap.common.smart.SmartActivity
|
||||
import eu.darken.cap.databinding.CoreDebugRecordingActivityBinding
|
||||
import eu.darken.capod.common.debug.logging.logTag
|
||||
import eu.darken.capod.common.error.asErrorDialogBuilder
|
||||
import eu.darken.capod.common.smart.SmartActivity
|
||||
import eu.darken.capod.databinding.DebugRecordingActivityBinding
|
||||
|
||||
@AndroidEntryPoint
|
||||
class RecorderActivity : SmartActivity() {
|
||||
|
||||
private lateinit var ui: CoreDebugRecordingActivityBinding
|
||||
private lateinit var ui: DebugRecordingActivityBinding
|
||||
private val vm: RecorderActivityVM by viewModels()
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
ui = CoreDebugRecordingActivityBinding.inflate(layoutInflater)
|
||||
ui = DebugRecordingActivityBinding.inflate(layoutInflater)
|
||||
setContentView(ui.root)
|
||||
|
||||
vm.state.observe2 { state ->
|
||||
+12
-12
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.debug.recording.ui
|
||||
package eu.darken.capod.common.debug.recording.ui
|
||||
|
||||
|
||||
import android.content.Context
|
||||
@@ -7,16 +7,16 @@ import androidx.core.content.FileProvider
|
||||
import androidx.lifecycle.SavedStateHandle
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import eu.darken.cap.R
|
||||
import eu.darken.cap.common.BuildConfigWrap
|
||||
import eu.darken.cap.common.compression.Zipper
|
||||
import eu.darken.cap.common.coroutine.DispatcherProvider
|
||||
import eu.darken.cap.common.debug.logging.logTag
|
||||
import eu.darken.cap.common.flow.DynamicStateFlow
|
||||
import eu.darken.cap.common.flow.onError
|
||||
import eu.darken.cap.common.flow.replayingShare
|
||||
import eu.darken.cap.common.livedata.SingleLiveEvent
|
||||
import eu.darken.cap.common.smart.Smart2VM
|
||||
import eu.darken.capod.R
|
||||
import eu.darken.capod.common.BuildConfigWrap
|
||||
import eu.darken.capod.common.compression.Zipper
|
||||
import eu.darken.capod.common.coroutine.DispatcherProvider
|
||||
import eu.darken.capod.common.debug.logging.logTag
|
||||
import eu.darken.capod.common.flow.DynamicStateFlow
|
||||
import eu.darken.capod.common.flow.onError
|
||||
import eu.darken.capod.common.flow.replayingShare
|
||||
import eu.darken.capod.common.livedata.SingleLiveEvent
|
||||
import eu.darken.capod.common.smart.Smart2VM
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
import kotlinx.coroutines.flow.first
|
||||
import kotlinx.coroutines.flow.map
|
||||
@@ -95,7 +95,7 @@ class RecorderActivityVM @Inject constructor(
|
||||
}
|
||||
|
||||
|
||||
val chooserIntent = Intent.createChooser(intent, context.getString(R.string.debug_log_file_label))
|
||||
val chooserIntent = Intent.createChooser(intent, context.getString(R.string.debug_debuglog_file_label))
|
||||
shareEvent.postValue(chooserIntent)
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.error
|
||||
package eu.darken.capod.common.error
|
||||
|
||||
import android.content.Context
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
@@ -0,0 +1,7 @@
|
||||
package eu.darken.capod.common.error
|
||||
|
||||
import eu.darken.capod.common.livedata.SingleLiveEvent
|
||||
|
||||
interface ErrorEventSource {
|
||||
val errorEvents: SingleLiveEvent<Throwable>
|
||||
}
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
package eu.darken.cap.common.error
|
||||
package eu.darken.capod.common.error
|
||||
|
||||
import android.content.Context
|
||||
import eu.darken.cap.R
|
||||
import eu.darken.capod.R
|
||||
|
||||
interface HasLocalizedError {
|
||||
fun getLocalizedError(context: Context): LocalizedError
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.error
|
||||
package eu.darken.capod.common.error
|
||||
|
||||
import java.io.PrintWriter
|
||||
import java.io.StringWriter
|
||||
+4
-4
@@ -1,8 +1,8 @@
|
||||
package eu.darken.cap.common.flow
|
||||
package eu.darken.capod.common.flow
|
||||
|
||||
import eu.darken.cap.common.debug.logging.Logging.Priority.VERBOSE
|
||||
import eu.darken.cap.common.debug.logging.asLog
|
||||
import eu.darken.cap.common.debug.logging.log
|
||||
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 kotlinx.coroutines.CancellationException
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.channels.BufferOverflow
|
||||
@@ -0,0 +1,3 @@
|
||||
package eu.darken.capod.common.flow
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.flow
|
||||
package eu.darken.capod.common.flow
|
||||
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
+6
-6
@@ -1,10 +1,10 @@
|
||||
package eu.darken.cap.common.flow
|
||||
package eu.darken.capod.common.flow
|
||||
|
||||
import eu.darken.cap.common.debug.logging.Logging.Priority.ERROR
|
||||
import eu.darken.cap.common.debug.logging.Logging.Priority.VERBOSE
|
||||
import eu.darken.cap.common.debug.logging.asLog
|
||||
import eu.darken.cap.common.debug.logging.log
|
||||
import eu.darken.cap.common.error.hasCause
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.ERROR
|
||||
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.error.hasCause
|
||||
import kotlinx.coroutines.CancellationException
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.flow.*
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.lists
|
||||
package eu.darken.capod.common.lists
|
||||
|
||||
import android.content.Context
|
||||
import android.content.res.Resources
|
||||
@@ -7,7 +7,7 @@ import android.view.ViewGroup
|
||||
import androidx.annotation.*
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import eu.darken.cap.common.getColorForAttr
|
||||
import eu.darken.capod.common.getColorForAttr
|
||||
|
||||
abstract class BaseAdapter<T : BaseAdapter.VH> : RecyclerView.Adapter<T>() {
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.lists
|
||||
package eu.darken.capod.common.lists
|
||||
|
||||
import androidx.viewbinding.ViewBinding
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.lists
|
||||
package eu.darken.capod.common.lists
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
package eu.darken.capod.common.lists
|
||||
|
||||
interface ListItem
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.lists
|
||||
package eu.darken.capod.common.lists
|
||||
|
||||
import androidx.recyclerview.widget.DefaultItemAnimator
|
||||
import androidx.recyclerview.widget.DividerItemDecoration
|
||||
+3
-3
@@ -1,9 +1,9 @@
|
||||
package eu.darken.cap.common.lists.differ
|
||||
package eu.darken.capod.common.lists.differ
|
||||
|
||||
import androidx.recyclerview.widget.AsyncListDiffer
|
||||
import androidx.recyclerview.widget.DiffUtil
|
||||
import eu.darken.cap.common.lists.modular.ModularAdapter
|
||||
import eu.darken.cap.common.lists.modular.mods.StableIdMod
|
||||
import eu.darken.capod.common.lists.modular.ModularAdapter
|
||||
import eu.darken.capod.common.lists.modular.mods.StableIdMod
|
||||
|
||||
class AsyncDiffer<A, T : DifferItem> internal constructor(
|
||||
adapter: A,
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
package eu.darken.cap.common.lists.differ
|
||||
package eu.darken.capod.common.lists.differ
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import eu.darken.cap.common.lists.modular.ModularAdapter
|
||||
import eu.darken.capod.common.lists.modular.ModularAdapter
|
||||
|
||||
|
||||
fun <X, T> X.update(newData: List<T>?)
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package eu.darken.cap.common.lists.differ
|
||||
package eu.darken.capod.common.lists.differ
|
||||
|
||||
import eu.darken.cap.common.lists.ListItem
|
||||
import eu.darken.capod.common.lists.ListItem
|
||||
|
||||
interface DifferItem : ListItem {
|
||||
val stableId: Long
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.lists.differ
|
||||
package eu.darken.capod.common.lists.differ
|
||||
|
||||
interface HasAsyncDiffer<T : DifferItem> {
|
||||
|
||||
+2
-2
@@ -1,10 +1,10 @@
|
||||
package eu.darken.cap.common.lists.modular
|
||||
package eu.darken.capod.common.lists.modular
|
||||
|
||||
import android.view.ViewGroup
|
||||
import androidx.annotation.CallSuper
|
||||
import androidx.annotation.LayoutRes
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import eu.darken.cap.common.lists.BaseAdapter
|
||||
import eu.darken.capod.common.lists.BaseAdapter
|
||||
|
||||
abstract class ModularAdapter<VH : ModularAdapter.VH> : BaseAdapter<VH>() {
|
||||
val modules = mutableListOf<Module>()
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package eu.darken.cap.common.lists.modular.mods
|
||||
package eu.darken.capod.common.lists.modular.mods
|
||||
|
||||
import eu.darken.cap.common.lists.modular.ModularAdapter
|
||||
import eu.darken.capod.common.lists.modular.ModularAdapter
|
||||
|
||||
class ClickMod<VHT : ModularAdapter.VH> constructor(
|
||||
private val listener: (VHT, Int) -> Unit
|
||||
+3
-3
@@ -1,8 +1,8 @@
|
||||
package eu.darken.cap.common.lists.modular.mods
|
||||
package eu.darken.capod.common.lists.modular.mods
|
||||
|
||||
import androidx.viewbinding.ViewBinding
|
||||
import eu.darken.cap.common.lists.BindableVH
|
||||
import eu.darken.cap.common.lists.modular.ModularAdapter
|
||||
import eu.darken.capod.common.lists.BindableVH
|
||||
import eu.darken.capod.common.lists.modular.ModularAdapter
|
||||
|
||||
class DataBinderMod<ItemT, HolderT> constructor(
|
||||
private val data: List<ItemT>,
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
package eu.darken.cap.common.lists.modular.mods
|
||||
package eu.darken.capod.common.lists.modular.mods
|
||||
|
||||
import android.view.ViewGroup
|
||||
import eu.darken.cap.common.lists.modular.ModularAdapter
|
||||
import eu.darken.capod.common.lists.modular.ModularAdapter
|
||||
|
||||
class SimpleVHCreatorMod<HolderT> constructor(
|
||||
private val viewType: Int = 0,
|
||||
+3
-3
@@ -1,8 +1,8 @@
|
||||
package eu.darken.cap.common.lists.modular.mods
|
||||
package eu.darken.capod.common.lists.modular.mods
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import eu.darken.cap.common.lists.differ.DifferItem
|
||||
import eu.darken.cap.common.lists.modular.ModularAdapter
|
||||
import eu.darken.capod.common.lists.differ.DifferItem
|
||||
import eu.darken.capod.common.lists.modular.ModularAdapter
|
||||
|
||||
class StableIdMod<ItemT : DifferItem> constructor(
|
||||
private val data: List<ItemT>,
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
package eu.darken.cap.common.lists.modular.mods
|
||||
package eu.darken.capod.common.lists.modular.mods
|
||||
|
||||
import android.view.ViewGroup
|
||||
import eu.darken.cap.common.lists.modular.ModularAdapter
|
||||
import eu.darken.capod.common.lists.modular.ModularAdapter
|
||||
|
||||
class TypedVHCreatorMod<HolderT> constructor(
|
||||
private val typeResolver: (Int) -> Boolean,
|
||||
+3
-3
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.livedata
|
||||
package eu.darken.capod.common.livedata
|
||||
|
||||
/*
|
||||
* Copyright 2017 Google Inc.
|
||||
@@ -22,8 +22,8 @@ import androidx.annotation.Nullable
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import androidx.lifecycle.Observer
|
||||
import eu.darken.cap.common.debug.logging.Logging.Priority.WARN
|
||||
import eu.darken.cap.common.debug.logging.log
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.WARN
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
import java.util.concurrent.atomic.AtomicBoolean
|
||||
|
||||
/**
|
||||
+4
-4
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.navigation
|
||||
package eu.darken.capod.common.navigation
|
||||
|
||||
import android.app.Activity
|
||||
import androidx.annotation.IdRes
|
||||
@@ -9,9 +9,9 @@ import androidx.navigation.NavController
|
||||
import androidx.navigation.NavDirections
|
||||
import androidx.navigation.fragment.NavHostFragment
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import eu.darken.cap.common.debug.logging.Logging.Priority.WARN
|
||||
import eu.darken.cap.common.debug.logging.asLog
|
||||
import eu.darken.cap.common.debug.logging.log
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.WARN
|
||||
import eu.darken.capod.common.debug.logging.asLog
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
|
||||
fun Fragment.doNavigate(direction: NavDirections) = findNavController().doNavigate(direction)
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.navigation
|
||||
package eu.darken.capod.common.navigation
|
||||
|
||||
import android.os.Bundle
|
||||
import android.os.Parcelable
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.navigation
|
||||
package eu.darken.capod.common.navigation
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.annotation.IdRes
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.navigation
|
||||
package eu.darken.capod.common.navigation
|
||||
|
||||
import androidx.annotation.IdRes
|
||||
import androidx.navigation.NavDestination
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
package eu.darken.cap.common.navigation
|
||||
package eu.darken.capod.common.navigation
|
||||
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import androidx.navigation.NavDirections
|
||||
import eu.darken.cap.common.livedata.SingleLiveEvent
|
||||
import eu.darken.capod.common.livedata.SingleLiveEvent
|
||||
|
||||
fun NavDirections.navVia(pub: MutableLiveData<in NavDirections>) = pub.postValue(this)
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
package eu.darken.cap.common.notifications
|
||||
package eu.darken.capod.common.notifications
|
||||
|
||||
import android.app.PendingIntent
|
||||
import eu.darken.cap.common.hasApiLevel
|
||||
import eu.darken.capod.common.hasApiLevel
|
||||
|
||||
object PendingIntentCompat {
|
||||
val FLAG_IMMUTABLE: Int = if (hasApiLevel(31)) {
|
||||
+2
-2
@@ -1,11 +1,11 @@
|
||||
package eu.darken.cap.common.permissions
|
||||
package eu.darken.capod.common.permissions
|
||||
|
||||
import android.content.Context
|
||||
import android.content.pm.PackageManager
|
||||
import android.os.Build
|
||||
import androidx.annotation.StringRes
|
||||
import androidx.core.content.ContextCompat
|
||||
import eu.darken.cap.R
|
||||
import eu.darken.capod.R
|
||||
|
||||
enum class Permission(
|
||||
val minApiLevel: Int,
|
||||
+3
-3
@@ -1,9 +1,9 @@
|
||||
package eu.darken.cap.common.preferences
|
||||
package eu.darken.capod.common.preferences
|
||||
|
||||
import android.content.SharedPreferences
|
||||
import androidx.core.content.edit
|
||||
import eu.darken.cap.common.debug.logging.Logging.Priority.*
|
||||
import eu.darken.cap.common.debug.logging.log
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.*
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.MutableStateFlow
|
||||
|
||||
+3
-3
@@ -1,9 +1,9 @@
|
||||
package eu.darken.cap.common.preferences
|
||||
package eu.darken.capod.common.preferences
|
||||
|
||||
import android.content.SharedPreferences
|
||||
import androidx.core.content.edit
|
||||
import eu.darken.cap.common.debug.logging.Logging.Priority.VERBOSE
|
||||
import eu.darken.cap.common.debug.logging.log
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.VERBOSE
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
|
||||
fun SharedPreferences.clearAndNotify() {
|
||||
val currentKeys = this.all.keys.toSet()
|
||||
+8
-8
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.smart
|
||||
package eu.darken.capod.common.smart
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
@@ -9,13 +9,13 @@ import android.view.ViewGroup
|
||||
import androidx.lifecycle.LiveData
|
||||
import androidx.viewbinding.ViewBinding
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
||||
import eu.darken.cap.common.debug.logging.Logging.Priority.VERBOSE
|
||||
import eu.darken.cap.common.debug.logging.log
|
||||
import eu.darken.cap.common.debug.logging.logTag
|
||||
import eu.darken.cap.common.error.asErrorDialogBuilder
|
||||
import eu.darken.cap.common.navigation.doNavigate
|
||||
import eu.darken.cap.common.navigation.popBackStack
|
||||
import eu.darken.cap.common.observe2
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.VERBOSE
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
import eu.darken.capod.common.debug.logging.logTag
|
||||
import eu.darken.capod.common.error.asErrorDialogBuilder
|
||||
import eu.darken.capod.common.navigation.doNavigate
|
||||
import eu.darken.capod.common.navigation.popBackStack
|
||||
import eu.darken.capod.common.observe2
|
||||
|
||||
|
||||
abstract class Smart2BottomSheetDialogFragment : BottomSheetDialogFragment() {
|
||||
+5
-5
@@ -1,14 +1,14 @@
|
||||
package eu.darken.cap.common.smart
|
||||
package eu.darken.capod.common.smart
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import androidx.annotation.LayoutRes
|
||||
import androidx.lifecycle.LiveData
|
||||
import androidx.viewbinding.ViewBinding
|
||||
import eu.darken.cap.common.debug.logging.log
|
||||
import eu.darken.cap.common.error.asErrorDialogBuilder
|
||||
import eu.darken.cap.common.navigation.doNavigate
|
||||
import eu.darken.cap.common.navigation.popBackStack
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
import eu.darken.capod.common.error.asErrorDialogBuilder
|
||||
import eu.darken.capod.common.navigation.doNavigate
|
||||
import eu.darken.capod.common.navigation.popBackStack
|
||||
|
||||
|
||||
abstract class Smart2Fragment(@LayoutRes layoutRes: Int?) : SmartFragment(layoutRes) {
|
||||
+8
-8
@@ -1,13 +1,13 @@
|
||||
package eu.darken.cap.common.smart
|
||||
package eu.darken.capod.common.smart
|
||||
|
||||
import androidx.navigation.NavDirections
|
||||
import eu.darken.cap.common.coroutine.DispatcherProvider
|
||||
import eu.darken.cap.common.debug.logging.asLog
|
||||
import eu.darken.cap.common.debug.logging.log
|
||||
import eu.darken.cap.common.error.ErrorEventSource
|
||||
import eu.darken.cap.common.flow.setupCommonEventHandlers
|
||||
import eu.darken.cap.common.livedata.SingleLiveEvent
|
||||
import eu.darken.cap.common.navigation.NavEventSource
|
||||
import eu.darken.capod.common.coroutine.DispatcherProvider
|
||||
import eu.darken.capod.common.debug.logging.asLog
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
import eu.darken.capod.common.error.ErrorEventSource
|
||||
import eu.darken.capod.common.flow.setupCommonEventHandlers
|
||||
import eu.darken.capod.common.livedata.SingleLiveEvent
|
||||
import eu.darken.capod.common.navigation.NavEventSource
|
||||
import kotlinx.coroutines.CoroutineExceptionHandler
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.launchIn
|
||||
+4
-4
@@ -1,12 +1,12 @@
|
||||
package eu.darken.cap.common.smart
|
||||
package eu.darken.capod.common.smart
|
||||
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.lifecycle.LiveData
|
||||
import eu.darken.cap.common.debug.logging.Logging.Priority.VERBOSE
|
||||
import eu.darken.cap.common.debug.logging.log
|
||||
import eu.darken.cap.common.debug.logging.logTag
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.VERBOSE
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
import eu.darken.capod.common.debug.logging.logTag
|
||||
|
||||
abstract class SmartActivity : AppCompatActivity() {
|
||||
internal val tag: String =
|
||||
+4
-4
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.smart
|
||||
package eu.darken.capod.common.smart
|
||||
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
@@ -8,9 +8,9 @@ import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.annotation.LayoutRes
|
||||
import androidx.fragment.app.Fragment
|
||||
import eu.darken.cap.common.debug.logging.Logging.Priority.VERBOSE
|
||||
import eu.darken.cap.common.debug.logging.log
|
||||
import eu.darken.cap.common.debug.logging.logTag
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.VERBOSE
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
import eu.darken.capod.common.debug.logging.logTag
|
||||
|
||||
|
||||
abstract class SmartFragment(@LayoutRes val layoutRes: Int?) : Fragment(layoutRes ?: 0) {
|
||||
+3
-3
@@ -1,10 +1,10 @@
|
||||
package eu.darken.cap.common.smart
|
||||
package eu.darken.capod.common.smart
|
||||
|
||||
import android.app.Service
|
||||
import android.content.Intent
|
||||
import android.content.res.Configuration
|
||||
import eu.darken.cap.common.debug.logging.log
|
||||
import eu.darken.cap.common.debug.logging.logTag
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
import eu.darken.capod.common.debug.logging.logTag
|
||||
|
||||
abstract class SmartService : Service() {
|
||||
private val tag: String =
|
||||
+9
-9
@@ -1,15 +1,15 @@
|
||||
package eu.darken.cap.common.smart
|
||||
package eu.darken.capod.common.smart
|
||||
|
||||
import androidx.lifecycle.asLiveData
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import eu.darken.cap.common.coroutine.DefaultDispatcherProvider
|
||||
import eu.darken.cap.common.coroutine.DispatcherProvider
|
||||
import eu.darken.cap.common.debug.logging.Logging.Priority.WARN
|
||||
import eu.darken.cap.common.debug.logging.asLog
|
||||
import eu.darken.cap.common.debug.logging.log
|
||||
import eu.darken.cap.common.error.ErrorEventSource
|
||||
import eu.darken.cap.common.flow.DynamicStateFlow
|
||||
import eu.darken.cap.common.viewmodel.VM
|
||||
import eu.darken.capod.common.coroutine.DefaultDispatcherProvider
|
||||
import eu.darken.capod.common.coroutine.DispatcherProvider
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.WARN
|
||||
import eu.darken.capod.common.debug.logging.asLog
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
import eu.darken.capod.common.error.ErrorEventSource
|
||||
import eu.darken.capod.common.flow.DynamicStateFlow
|
||||
import eu.darken.capod.common.viewmodel.VM
|
||||
import kotlinx.coroutines.*
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.launchIn
|
||||
+3
-3
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.viewbinding
|
||||
package eu.darken.capod.common.viewbinding
|
||||
|
||||
import android.os.Handler
|
||||
import android.os.Looper
|
||||
@@ -8,8 +8,8 @@ import androidx.fragment.app.Fragment
|
||||
import androidx.lifecycle.DefaultLifecycleObserver
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import androidx.viewbinding.ViewBinding
|
||||
import eu.darken.cap.common.debug.logging.Logging.Priority.*
|
||||
import eu.darken.cap.common.debug.logging.log
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.*
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
import kotlin.properties.ReadOnlyProperty
|
||||
import kotlin.reflect.KProperty
|
||||
|
||||
+3
-3
@@ -1,8 +1,8 @@
|
||||
package eu.darken.cap.common.viewmodel
|
||||
package eu.darken.capod.common.viewmodel
|
||||
|
||||
import androidx.lifecycle.asLiveData
|
||||
import eu.darken.cap.common.coroutine.DefaultDispatcherProvider
|
||||
import eu.darken.cap.common.coroutine.DispatcherProvider
|
||||
import eu.darken.capod.common.coroutine.DefaultDispatcherProvider
|
||||
import eu.darken.capod.common.coroutine.DispatcherProvider
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
|
||||
|
||||
+3
-3
@@ -1,9 +1,9 @@
|
||||
package eu.darken.cap.common.viewmodel
|
||||
package eu.darken.capod.common.viewmodel
|
||||
|
||||
import androidx.annotation.CallSuper
|
||||
import androidx.lifecycle.ViewModel
|
||||
import eu.darken.cap.common.debug.logging.log
|
||||
import eu.darken.cap.common.debug.logging.logTag
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
import eu.darken.capod.common.debug.logging.logTag
|
||||
|
||||
abstract class VM : ViewModel() {
|
||||
val TAG: String = logTag("VM", javaClass.simpleName)
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.viewmodel
|
||||
package eu.darken.capod.common.viewmodel
|
||||
|
||||
/*
|
||||
* Copyright 2018 The Android Open Source Project
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.common.worker
|
||||
package eu.darken.capod.common.worker
|
||||
|
||||
import android.os.Parcel
|
||||
import android.os.Parcelable
|
||||
+5
-5
@@ -1,12 +1,12 @@
|
||||
package eu.darken.cap.main.ui
|
||||
package eu.darken.capod.main.ui
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.activity.viewModels
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import eu.darken.cap.R
|
||||
import eu.darken.cap.common.navigation.findNavController
|
||||
import eu.darken.cap.common.smart.SmartActivity
|
||||
import eu.darken.cap.databinding.MainActivityBinding
|
||||
import eu.darken.capod.R
|
||||
import eu.darken.capod.common.navigation.findNavController
|
||||
import eu.darken.capod.common.smart.SmartActivity
|
||||
import eu.darken.capod.databinding.MainActivityBinding
|
||||
|
||||
@AndroidEntryPoint
|
||||
class MainActivity : SmartActivity() {
|
||||
+4
-6
@@ -1,9 +1,9 @@
|
||||
package eu.darken.cap.main.ui
|
||||
package eu.darken.capod.main.ui
|
||||
|
||||
import androidx.lifecycle.SavedStateHandle
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import eu.darken.cap.common.coroutine.DispatcherProvider
|
||||
import eu.darken.cap.common.viewmodel.SmartVM
|
||||
import eu.darken.capod.common.coroutine.DispatcherProvider
|
||||
import eu.darken.capod.common.viewmodel.SmartVM
|
||||
import javax.inject.Inject
|
||||
|
||||
|
||||
@@ -11,6 +11,4 @@ import javax.inject.Inject
|
||||
class MainActivityVM @Inject constructor(
|
||||
handle: SavedStateHandle,
|
||||
dispatcherProvider: DispatcherProvider,
|
||||
) : SmartVM(dispatcherProvider = dispatcherProvider) {
|
||||
|
||||
}
|
||||
) : SmartVM(dispatcherProvider = dispatcherProvider)
|
||||
+11
-11
@@ -1,18 +1,18 @@
|
||||
package eu.darken.cap.main.ui
|
||||
package eu.darken.capod.main.ui
|
||||
|
||||
import android.view.ViewGroup
|
||||
import androidx.annotation.LayoutRes
|
||||
import androidx.viewbinding.ViewBinding
|
||||
import eu.darken.cap.common.lists.BindableVH
|
||||
import eu.darken.cap.common.lists.differ.AsyncDiffer
|
||||
import eu.darken.cap.common.lists.differ.DifferItem
|
||||
import eu.darken.cap.common.lists.differ.HasAsyncDiffer
|
||||
import eu.darken.cap.common.lists.differ.setupDiffer
|
||||
import eu.darken.cap.common.lists.modular.ModularAdapter
|
||||
import eu.darken.cap.common.lists.modular.mods.DataBinderMod
|
||||
import eu.darken.cap.common.lists.modular.mods.TypedVHCreatorMod
|
||||
import eu.darken.cap.main.ui.cards.PermissionCardVH
|
||||
import eu.darken.cap.main.ui.cards.ToggleCardVH
|
||||
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.main.ui.cards.PermissionCardVH
|
||||
import eu.darken.capod.main.ui.cards.ToggleCardVH
|
||||
import javax.inject.Inject
|
||||
|
||||
class MainAdapter @Inject constructor() :
|
||||
+9
-9
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.main.ui
|
||||
package eu.darken.capod.main.ui
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
@@ -6,14 +6,14 @@ import androidx.activity.result.ActivityResultLauncher
|
||||
import androidx.activity.result.contract.ActivityResultContracts
|
||||
import androidx.fragment.app.viewModels
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import eu.darken.cap.R
|
||||
import eu.darken.cap.common.BuildConfigWrap
|
||||
import eu.darken.cap.common.debug.logging.log
|
||||
import eu.darken.cap.common.lists.differ.update
|
||||
import eu.darken.cap.common.lists.setupDefaults
|
||||
import eu.darken.cap.common.smart.Smart2Fragment
|
||||
import eu.darken.cap.common.viewbinding.viewBinding
|
||||
import eu.darken.cap.databinding.MainFragmentBinding
|
||||
import eu.darken.capod.R
|
||||
import eu.darken.capod.common.BuildConfigWrap
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
import eu.darken.capod.common.lists.differ.update
|
||||
import eu.darken.capod.common.lists.setupDefaults
|
||||
import eu.darken.capod.common.smart.Smart2Fragment
|
||||
import eu.darken.capod.common.viewbinding.viewBinding
|
||||
import eu.darken.capod.databinding.MainFragmentBinding
|
||||
import javax.inject.Inject
|
||||
|
||||
@AndroidEntryPoint
|
||||
+10
-10
@@ -1,19 +1,19 @@
|
||||
package eu.darken.cap.main.ui
|
||||
package eu.darken.capod.main.ui
|
||||
|
||||
import android.content.Context
|
||||
import androidx.lifecycle.LiveData
|
||||
import androidx.lifecycle.SavedStateHandle
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||
import eu.darken.cap.common.coroutine.DispatcherProvider
|
||||
import eu.darken.cap.common.debug.recording.core.RecorderModule
|
||||
import eu.darken.cap.common.hasApiLevel
|
||||
import eu.darken.cap.common.livedata.SingleLiveEvent
|
||||
import eu.darken.cap.common.permissions.Permission
|
||||
import eu.darken.cap.common.permissions.isGranted
|
||||
import eu.darken.cap.common.smart.Smart2VM
|
||||
import eu.darken.cap.main.ui.cards.PermissionCardVH
|
||||
import eu.darken.cap.main.ui.cards.ToggleCardVH
|
||||
import eu.darken.capod.common.coroutine.DispatcherProvider
|
||||
import eu.darken.capod.common.debug.recording.core.RecorderModule
|
||||
import eu.darken.capod.common.hasApiLevel
|
||||
import eu.darken.capod.common.livedata.SingleLiveEvent
|
||||
import eu.darken.capod.common.permissions.Permission
|
||||
import eu.darken.capod.common.permissions.isGranted
|
||||
import eu.darken.capod.common.smart.Smart2VM
|
||||
import eu.darken.capod.main.ui.cards.PermissionCardVH
|
||||
import eu.darken.capod.main.ui.cards.ToggleCardVH
|
||||
import kotlinx.coroutines.flow.*
|
||||
import java.util.*
|
||||
import javax.inject.Inject
|
||||
+5
-5
@@ -1,10 +1,10 @@
|
||||
package eu.darken.cap.main.ui.cards
|
||||
package eu.darken.capod.main.ui.cards
|
||||
|
||||
import android.view.ViewGroup
|
||||
import eu.darken.cap.R
|
||||
import eu.darken.cap.common.permissions.Permission
|
||||
import eu.darken.cap.databinding.MainPermissionItemBinding
|
||||
import eu.darken.cap.main.ui.MainAdapter
|
||||
import eu.darken.capod.R
|
||||
import eu.darken.capod.common.permissions.Permission
|
||||
import eu.darken.capod.databinding.MainPermissionItemBinding
|
||||
import eu.darken.capod.main.ui.MainAdapter
|
||||
|
||||
class PermissionCardVH(parent: ViewGroup) :
|
||||
MainAdapter.BaseVH<PermissionCardVH.Item, MainPermissionItemBinding>(
|
||||
+4
-4
@@ -1,9 +1,9 @@
|
||||
package eu.darken.cap.main.ui.cards
|
||||
package eu.darken.capod.main.ui.cards
|
||||
|
||||
import android.view.ViewGroup
|
||||
import eu.darken.cap.R
|
||||
import eu.darken.cap.databinding.MainToggleItemBinding
|
||||
import eu.darken.cap.main.ui.MainAdapter
|
||||
import eu.darken.capod.R
|
||||
import eu.darken.capod.databinding.MainToggleItemBinding
|
||||
import eu.darken.capod.main.ui.MainAdapter
|
||||
|
||||
class ToggleCardVH(parent: ViewGroup) :
|
||||
MainAdapter.BaseVH<ToggleCardVH.Item, MainToggleItemBinding>(
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.monitor.core
|
||||
package eu.darken.capod.monitor.core
|
||||
|
||||
import dagger.BindsInstance
|
||||
import dagger.hilt.DefineComponent
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.monitor.core
|
||||
package eu.darken.capod.monitor.core
|
||||
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.monitor.core
|
||||
package eu.darken.capod.monitor.core
|
||||
|
||||
import dagger.Binds
|
||||
import dagger.Module
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.monitor.core
|
||||
package eu.darken.capod.monitor.core
|
||||
|
||||
import javax.inject.Qualifier
|
||||
|
||||
+5
-5
@@ -1,9 +1,9 @@
|
||||
package eu.darken.cap.monitor.core
|
||||
package eu.darken.capod.monitor.core
|
||||
|
||||
import eu.darken.cap.common.bluetooth.BleScanner
|
||||
import eu.darken.cap.common.debug.logging.logTag
|
||||
import eu.darken.cap.pods.core.PodDevice
|
||||
import eu.darken.cap.pods.core.PodFactory
|
||||
import eu.darken.capod.common.bluetooth.BleScanner
|
||||
import eu.darken.capod.common.debug.logging.logTag
|
||||
import eu.darken.capod.pods.core.PodDevice
|
||||
import eu.darken.capod.pods.core.PodFactory
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.map
|
||||
import kotlinx.coroutines.flow.onStart
|
||||
+8
-8
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.monitor.core.receiver
|
||||
package eu.darken.capod.monitor.core.receiver
|
||||
|
||||
import android.bluetooth.BluetoothA2dp
|
||||
import android.bluetooth.BluetoothDevice
|
||||
@@ -7,13 +7,13 @@ import android.content.BroadcastReceiver
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import eu.darken.cap.common.bluetooth.hasFeature
|
||||
import eu.darken.cap.common.coroutine.AppScope
|
||||
import eu.darken.cap.common.debug.logging.Logging.Priority.WARN
|
||||
import eu.darken.cap.common.debug.logging.log
|
||||
import eu.darken.cap.common.debug.logging.logTag
|
||||
import eu.darken.cap.monitor.core.worker.MonitorControl
|
||||
import eu.darken.cap.pods.core.airpods.ContinuityProtocol
|
||||
import eu.darken.capod.common.bluetooth.hasFeature
|
||||
import eu.darken.capod.common.coroutine.AppScope
|
||||
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.monitor.core.worker.MonitorControl
|
||||
import eu.darken.capod.pods.core.airpods.ContinuityProtocol
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.launch
|
||||
import javax.inject.Inject
|
||||
+6
-6
@@ -1,15 +1,15 @@
|
||||
package eu.darken.cap.monitor.core.worker
|
||||
package eu.darken.capod.monitor.core.worker
|
||||
|
||||
import android.bluetooth.BluetoothDevice
|
||||
import androidx.work.Data
|
||||
import androidx.work.ExistingWorkPolicy
|
||||
import androidx.work.OneTimeWorkRequestBuilder
|
||||
import androidx.work.WorkManager
|
||||
import eu.darken.cap.common.BuildConfigWrap
|
||||
import eu.darken.cap.common.coroutine.DispatcherProvider
|
||||
import eu.darken.cap.common.debug.logging.Logging.Priority.VERBOSE
|
||||
import eu.darken.cap.common.debug.logging.log
|
||||
import eu.darken.cap.common.debug.logging.logTag
|
||||
import eu.darken.capod.common.BuildConfigWrap
|
||||
import eu.darken.capod.common.coroutine.DispatcherProvider
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.VERBOSE
|
||||
import eu.darken.capod.common.debug.logging.log
|
||||
import eu.darken.capod.common.debug.logging.logTag
|
||||
import kotlinx.coroutines.withContext
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
+11
-11
@@ -1,4 +1,4 @@
|
||||
package eu.darken.cap.monitor.core.worker
|
||||
package eu.darken.capod.monitor.core.worker
|
||||
|
||||
import android.app.NotificationManager
|
||||
import android.content.Context
|
||||
@@ -8,16 +8,16 @@ import androidx.work.WorkerParameters
|
||||
import dagger.assisted.Assisted
|
||||
import dagger.assisted.AssistedInject
|
||||
import dagger.hilt.EntryPoints
|
||||
import eu.darken.cap.common.debug.logging.Logging.Priority.ERROR
|
||||
import eu.darken.cap.common.debug.logging.Logging.Priority.VERBOSE
|
||||
import eu.darken.cap.common.debug.logging.asLog
|
||||
import eu.darken.cap.common.debug.logging.log
|
||||
import eu.darken.cap.common.debug.logging.logTag
|
||||
import eu.darken.cap.common.flow.setupCommonEventHandlers
|
||||
import eu.darken.cap.monitor.core.MonitorComponent
|
||||
import eu.darken.cap.monitor.core.MonitorCoroutineScope
|
||||
import eu.darken.cap.monitor.ui.MonitorNotifications
|
||||
import eu.darken.cap.pods.core.airpods.ContinuityProtocol
|
||||
import eu.darken.capod.common.debug.logging.Logging.Priority.ERROR
|
||||
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.common.flow.setupCommonEventHandlers
|
||||
import eu.darken.capod.monitor.core.MonitorComponent
|
||||
import eu.darken.capod.monitor.core.MonitorCoroutineScope
|
||||
import eu.darken.capod.monitor.ui.MonitorNotifications
|
||||
import eu.darken.capod.pods.core.airpods.ContinuityProtocol
|
||||
import kotlinx.coroutines.cancel
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.flow.*
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user