mirror of
https://github.com/Myzel394/Alibi.git
synced 2025-06-18 14:55:26 +02:00
refactor: Rename to Alibi
This commit is contained in:
parent
f131f40ba1
commit
2ad5364376
@ -5,16 +5,16 @@ plugins {
|
|||||||
}
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
namespace 'app.myzel394.locationtest'
|
namespace 'app.myzel394.alibi'
|
||||||
compileSdk 34
|
compileSdk 34
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
multiDexEnabled true
|
multiDexEnabled true
|
||||||
applicationId "app.myzel394.locationtest"
|
applicationId "app.myzel394.alibi"
|
||||||
minSdk 24
|
minSdk 24
|
||||||
targetSdk 34
|
targetSdk 34
|
||||||
versionCode 1
|
versionCode 1
|
||||||
versionName "1.0"
|
versionName "0.1.0"
|
||||||
|
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
vectorDrawables {
|
vectorDrawables {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package app.myzel394.locationtest
|
package app.myzel394.alibi
|
||||||
|
|
||||||
import androidx.test.platform.app.InstrumentationRegistry
|
import androidx.test.platform.app.InstrumentationRegistry
|
||||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||||
@ -19,6 +19,6 @@ class ExampleInstrumentedTest {
|
|||||||
fun useAppContext() {
|
fun useAppContext() {
|
||||||
// Context of the app under test.
|
// Context of the app under test.
|
||||||
val appContext = InstrumentationRegistry.getInstrumentation().targetContext
|
val appContext = InstrumentationRegistry.getInstrumentation().targetContext
|
||||||
assertEquals("app.myzel394.locationtest", appContext.packageName)
|
assertEquals("app.myzel394.alibi", appContext.packageName)
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -16,13 +16,13 @@
|
|||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
android:roundIcon="@mipmap/ic_launcher_round"
|
android:roundIcon="@mipmap/ic_launcher_round"
|
||||||
android:supportsRtl="true"
|
android:supportsRtl="true"
|
||||||
android:theme="@style/Theme.LocationTest"
|
android:theme="@style/Theme.Alibi"
|
||||||
tools:targetApi="31">
|
tools:targetApi="31">
|
||||||
<activity
|
<activity
|
||||||
android:name=".MainActivity"
|
android:name=".MainActivity"
|
||||||
android:exported="true"
|
android:exported="true"
|
||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
android:theme="@style/Theme.LocationTest">
|
android:theme="@style/Theme.Alibi">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
|
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
package app.myzel394.locationtest
|
package app.myzel394.alibi
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.activity.ComponentActivity
|
import androidx.activity.ComponentActivity
|
||||||
import androidx.activity.compose.setContent
|
import androidx.activity.compose.setContent
|
||||||
import androidx.datastore.dataStore
|
import androidx.datastore.dataStore
|
||||||
import app.myzel394.locationtest.db.AppSettingsSerializer
|
import app.myzel394.alibi.db.AppSettingsSerializer
|
||||||
import app.myzel394.locationtest.ui.Navigation
|
import app.myzel394.alibi.ui.Navigation
|
||||||
import app.myzel394.locationtest.ui.theme.LocationTestTheme
|
import app.myzel394.alibi.ui.theme.AlibiTheme
|
||||||
|
|
||||||
const val SETTINGS_FILE = "settings.json"
|
const val SETTINGS_FILE = "settings.json"
|
||||||
val Context.dataStore by dataStore(
|
val Context.dataStore by dataStore(
|
||||||
@ -19,7 +19,7 @@ class MainActivity : ComponentActivity() {
|
|||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
setContent {
|
setContent {
|
||||||
LocationTestTheme {
|
AlibiTheme {
|
||||||
Navigation()
|
Navigation()
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package app.myzel394.locationtest
|
package app.myzel394.alibi
|
||||||
|
|
||||||
import android.app.Application
|
import android.app.Application
|
||||||
import android.app.NotificationChannel
|
import android.app.NotificationChannel
|
@ -1,11 +1,8 @@
|
|||||||
package app.myzel394.locationtest.db
|
package app.myzel394.alibi.db
|
||||||
|
|
||||||
import android.media.MediaRecorder
|
import android.media.MediaRecorder
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import com.maxkeppeler.sheets.list.models.ListOption
|
|
||||||
import kotlinx.serialization.Serializable
|
import kotlinx.serialization.Serializable
|
||||||
import kotlinx.serialization.json.Json
|
|
||||||
import kotlinx.serialization.json.decodeFromStream
|
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
data class AppSettings(
|
data class AppSettings(
|
@ -1,4 +1,4 @@
|
|||||||
package app.myzel394.locationtest.db
|
package app.myzel394.alibi.db
|
||||||
|
|
||||||
import androidx.datastore.core.Serializer
|
import androidx.datastore.core.Serializer
|
||||||
import kotlinx.serialization.SerializationException
|
import kotlinx.serialization.SerializationException
|
@ -1,4 +1,4 @@
|
|||||||
package app.myzel394.locationtest.services
|
package app.myzel394.alibi.services
|
||||||
|
|
||||||
import android.app.Service
|
import android.app.Service
|
||||||
import android.content.ComponentName
|
import android.content.ComponentName
|
||||||
@ -22,10 +22,9 @@ import androidx.compose.runtime.setValue
|
|||||||
import androidx.compose.ui.platform.LocalContext
|
import androidx.compose.ui.platform.LocalContext
|
||||||
import androidx.core.app.NotificationCompat
|
import androidx.core.app.NotificationCompat
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import app.myzel394.locationtest.R
|
import app.myzel394.alibi.R
|
||||||
import app.myzel394.locationtest.dataStore
|
import app.myzel394.alibi.dataStore
|
||||||
import app.myzel394.locationtest.db.AudioRecorderSettings
|
import app.myzel394.alibi.db.AudioRecorderSettings
|
||||||
import app.myzel394.locationtest.ui.utils.formatDuration
|
|
||||||
import com.arthenica.ffmpegkit.FFmpegKit
|
import com.arthenica.ffmpegkit.FFmpegKit
|
||||||
import com.arthenica.ffmpegkit.ReturnCode
|
import com.arthenica.ffmpegkit.ReturnCode
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
@ -37,7 +36,6 @@ import kotlinx.coroutines.launch
|
|||||||
import java.io.File
|
import java.io.File
|
||||||
import java.time.LocalDateTime
|
import java.time.LocalDateTime
|
||||||
import java.time.ZoneId
|
import java.time.ZoneId
|
||||||
import java.time.format.DateTimeFormatter
|
|
||||||
import java.time.format.DateTimeFormatter.ISO_DATE_TIME
|
import java.time.format.DateTimeFormatter.ISO_DATE_TIME
|
||||||
import java.util.Date
|
import java.util.Date
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package app.myzel394.locationtest.ui
|
package app.myzel394.alibi.ui
|
||||||
|
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
|
|
@ -1,12 +1,10 @@
|
|||||||
package app.myzel394.locationtest.ui
|
package app.myzel394.alibi.ui
|
||||||
|
|
||||||
import androidx.compose.animation.Crossfade
|
|
||||||
import androidx.compose.animation.core.tween
|
import androidx.compose.animation.core.tween
|
||||||
import androidx.compose.animation.fadeIn
|
import androidx.compose.animation.fadeIn
|
||||||
import androidx.compose.animation.fadeOut
|
import androidx.compose.animation.fadeOut
|
||||||
import androidx.compose.animation.scaleIn
|
import androidx.compose.animation.scaleIn
|
||||||
import androidx.compose.animation.scaleOut
|
import androidx.compose.animation.scaleOut
|
||||||
import androidx.compose.animation.slideInHorizontally
|
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
@ -16,11 +14,11 @@ import androidx.compose.ui.platform.LocalContext
|
|||||||
import androidx.navigation.compose.NavHost
|
import androidx.navigation.compose.NavHost
|
||||||
import androidx.navigation.compose.composable
|
import androidx.navigation.compose.composable
|
||||||
import androidx.navigation.compose.rememberNavController
|
import androidx.navigation.compose.rememberNavController
|
||||||
import app.myzel394.locationtest.dataStore
|
import app.myzel394.alibi.dataStore
|
||||||
import app.myzel394.locationtest.ui.enums.Screen
|
import app.myzel394.alibi.ui.enums.Screen
|
||||||
import app.myzel394.locationtest.ui.screens.AudioRecorder
|
import app.myzel394.alibi.ui.screens.AudioRecorder
|
||||||
import app.myzel394.locationtest.ui.screens.SettingsScreen
|
import app.myzel394.alibi.ui.screens.SettingsScreen
|
||||||
import app.myzel394.locationtest.ui.screens.WelcomeScreen
|
import app.myzel394.alibi.ui.screens.WelcomeScreen
|
||||||
|
|
||||||
const val SCALE_IN = 1.25f
|
const val SCALE_IN = 1.25f
|
||||||
|
|
@ -1,17 +1,14 @@
|
|||||||
package app.myzel394.locationtest.ui.components.AudioRecorder.atoms
|
package app.myzel394.alibi.ui.components.AudioRecorder.atoms
|
||||||
|
|
||||||
import androidx.compose.foundation.Canvas
|
import androidx.compose.foundation.Canvas
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
import androidx.compose.foundation.layout.height
|
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.geometry.CornerRadius
|
import androidx.compose.ui.geometry.CornerRadius
|
||||||
import androidx.compose.ui.geometry.Offset
|
import androidx.compose.ui.geometry.Offset
|
||||||
import androidx.compose.ui.geometry.Size
|
import androidx.compose.ui.geometry.Size
|
||||||
import androidx.compose.ui.graphics.drawscope.translate
|
import app.myzel394.alibi.ui.MAX_AMPLITUDE
|
||||||
import androidx.compose.ui.unit.dp
|
|
||||||
import app.myzel394.locationtest.ui.MAX_AMPLITUDE
|
|
||||||
|
|
||||||
// Inspired by https://github.com/Bnyro/RecordYou/blob/main/app/src/main/java/com/bnyro/recorder/ui/components/AudioVisualizer.kt
|
// Inspired by https://github.com/Bnyro/RecordYou/blob/main/app/src/main/java/com/bnyro/recorder/ui/components/AudioVisualizer.kt
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package app.myzel394.locationtest.ui.components.AudioRecorder.atoms
|
package app.myzel394.alibi.ui.components.AudioRecorder.atoms
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.Spacer
|
import androidx.compose.foundation.layout.Spacer
|
||||||
import androidx.compose.foundation.layout.size
|
import androidx.compose.foundation.layout.size
|
||||||
@ -16,8 +16,7 @@ import androidx.compose.ui.Modifier
|
|||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.semantics.contentDescription
|
import androidx.compose.ui.semantics.contentDescription
|
||||||
import androidx.compose.ui.semantics.semantics
|
import androidx.compose.ui.semantics.semantics
|
||||||
import app.myzel394.locationtest.R
|
import app.myzel394.alibi.R
|
||||||
import app.myzel394.locationtest.services.RecorderService
|
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun ConfirmDeletionDialog(
|
fun ConfirmDeletionDialog(
|
@ -1,4 +1,4 @@
|
|||||||
package app.myzel394.locationtest.ui.components.AudioRecorder.atoms
|
package app.myzel394.alibi.ui.components.AudioRecorder.atoms
|
||||||
|
|
||||||
import androidx.compose.animation.core.Animatable
|
import androidx.compose.animation.core.Animatable
|
||||||
import androidx.compose.animation.core.LinearEasing
|
import androidx.compose.animation.core.LinearEasing
|
||||||
@ -17,9 +17,9 @@ import androidx.compose.ui.geometry.Offset
|
|||||||
import androidx.compose.ui.geometry.Size
|
import androidx.compose.ui.geometry.Size
|
||||||
import androidx.compose.ui.graphics.drawscope.translate
|
import androidx.compose.ui.graphics.drawscope.translate
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import app.myzel394.locationtest.services.RecorderService
|
import app.myzel394.alibi.services.RecorderService
|
||||||
import app.myzel394.locationtest.ui.MAX_AMPLITUDE
|
import app.myzel394.alibi.ui.MAX_AMPLITUDE
|
||||||
import app.myzel394.locationtest.ui.utils.clamp
|
import app.myzel394.alibi.ui.utils.clamp
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
private const val BOX_WIDTH = 15f
|
private const val BOX_WIDTH = 15f
|
@ -1,4 +1,4 @@
|
|||||||
package app.myzel394.locationtest.ui.components.AudioRecorder.molecules
|
package app.myzel394.alibi.ui.components.AudioRecorder.molecules
|
||||||
|
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
@ -37,14 +37,14 @@ import androidx.compose.ui.res.stringResource
|
|||||||
import androidx.compose.ui.semantics.contentDescription
|
import androidx.compose.ui.semantics.contentDescription
|
||||||
import androidx.compose.ui.semantics.semantics
|
import androidx.compose.ui.semantics.semantics
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import app.myzel394.locationtest.R
|
import app.myzel394.alibi.R
|
||||||
import app.myzel394.locationtest.services.RecorderService
|
import app.myzel394.alibi.services.RecorderService
|
||||||
import app.myzel394.locationtest.ui.BIG_PRIMARY_BUTTON_SIZE
|
import app.myzel394.alibi.ui.BIG_PRIMARY_BUTTON_SIZE
|
||||||
import app.myzel394.locationtest.ui.components.AudioRecorder.atoms.ConfirmDeletionDialog
|
import app.myzel394.alibi.ui.components.AudioRecorder.atoms.ConfirmDeletionDialog
|
||||||
import app.myzel394.locationtest.ui.components.AudioRecorder.atoms.RealtimeAudioVisualizer
|
import app.myzel394.alibi.ui.components.AudioRecorder.atoms.RealtimeAudioVisualizer
|
||||||
import app.myzel394.locationtest.ui.components.atoms.Pulsating
|
import app.myzel394.alibi.ui.components.atoms.Pulsating
|
||||||
import app.myzel394.locationtest.ui.utils.KeepScreenOn
|
import app.myzel394.alibi.ui.utils.KeepScreenOn
|
||||||
import app.myzel394.locationtest.ui.utils.formatDuration
|
import app.myzel394.alibi.ui.utils.formatDuration
|
||||||
import kotlinx.coroutines.delay
|
import kotlinx.coroutines.delay
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.time.Duration
|
import java.time.Duration
|
@ -1,4 +1,4 @@
|
|||||||
package app.myzel394.locationtest.ui.components.AudioRecorder.molecules
|
package app.myzel394.alibi.ui.components.AudioRecorder.molecules
|
||||||
|
|
||||||
import android.Manifest
|
import android.Manifest
|
||||||
import android.content.ServiceConnection
|
import android.content.ServiceConnection
|
||||||
@ -29,12 +29,12 @@ import androidx.compose.ui.res.stringResource
|
|||||||
import androidx.compose.ui.semantics.contentDescription
|
import androidx.compose.ui.semantics.contentDescription
|
||||||
import androidx.compose.ui.semantics.semantics
|
import androidx.compose.ui.semantics.semantics
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import app.myzel394.locationtest.R
|
import app.myzel394.alibi.R
|
||||||
import app.myzel394.locationtest.services.RecorderService
|
import app.myzel394.alibi.services.RecorderService
|
||||||
import app.myzel394.locationtest.ui.BIG_PRIMARY_BUTTON_SIZE
|
import app.myzel394.alibi.ui.BIG_PRIMARY_BUTTON_SIZE
|
||||||
import app.myzel394.locationtest.ui.components.AudioRecorder.atoms.AudioVisualizer
|
import app.myzel394.alibi.ui.components.AudioRecorder.atoms.AudioVisualizer
|
||||||
import app.myzel394.locationtest.ui.components.atoms.PermissionRequester
|
import app.myzel394.alibi.ui.components.atoms.PermissionRequester
|
||||||
import app.myzel394.locationtest.ui.utils.rememberFileSaverDialog
|
import app.myzel394.alibi.ui.utils.rememberFileSaverDialog
|
||||||
import java.time.format.DateTimeFormatter
|
import java.time.format.DateTimeFormatter
|
||||||
import java.time.format.FormatStyle
|
import java.time.format.FormatStyle
|
||||||
|
|
@ -1,10 +1,7 @@
|
|||||||
package app.myzel394.locationtest.ui.components.SettingsScreen.atoms
|
package app.myzel394.alibi.ui.components.SettingsScreen.atoms
|
||||||
|
|
||||||
import androidx.compose.foundation.lazy.LazyRow
|
|
||||||
import androidx.compose.foundation.text.KeyboardActions
|
|
||||||
import androidx.compose.foundation.text.KeyboardOptions
|
import androidx.compose.foundation.text.KeyboardOptions
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.filled.Mic
|
|
||||||
import androidx.compose.material.icons.filled.Tune
|
import androidx.compose.material.icons.filled.Tune
|
||||||
import androidx.compose.material3.Button
|
import androidx.compose.material3.Button
|
||||||
import androidx.compose.material3.ButtonDefaults
|
import androidx.compose.material3.ButtonDefaults
|
||||||
@ -15,17 +12,15 @@ import androidx.compose.material3.Text
|
|||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.collectAsState
|
import androidx.compose.runtime.collectAsState
|
||||||
import androidx.compose.runtime.rememberCoroutineScope
|
import androidx.compose.runtime.rememberCoroutineScope
|
||||||
import androidx.compose.ui.Modifier
|
|
||||||
import androidx.compose.ui.platform.LocalContext
|
import androidx.compose.ui.platform.LocalContext
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.text.input.KeyboardType
|
import androidx.compose.ui.text.input.KeyboardType
|
||||||
import androidx.compose.ui.unit.dp
|
import app.myzel394.alibi.R
|
||||||
import app.myzel394.locationtest.R
|
import app.myzel394.alibi.dataStore
|
||||||
import app.myzel394.locationtest.dataStore
|
import app.myzel394.alibi.db.AppSettings
|
||||||
import app.myzel394.locationtest.db.AppSettings
|
import app.myzel394.alibi.db.AudioRecorderSettings
|
||||||
import app.myzel394.locationtest.db.AudioRecorderSettings
|
import app.myzel394.alibi.ui.components.atoms.ExampleListRoulette
|
||||||
import app.myzel394.locationtest.ui.components.atoms.ExampleListRoulette
|
import app.myzel394.alibi.ui.components.atoms.SettingsTile
|
||||||
import app.myzel394.locationtest.ui.components.atoms.SettingsTile
|
|
||||||
import com.maxkeppeker.sheets.core.models.base.IconSource
|
import com.maxkeppeker.sheets.core.models.base.IconSource
|
||||||
import com.maxkeppeker.sheets.core.models.base.rememberUseCaseState
|
import com.maxkeppeker.sheets.core.models.base.rememberUseCaseState
|
||||||
import com.maxkeppeler.sheets.input.InputDialog
|
import com.maxkeppeler.sheets.input.InputDialog
|
@ -1,7 +1,6 @@
|
|||||||
package app.myzel394.locationtest.ui.components.SettingsScreen.atoms
|
package app.myzel394.alibi.ui.components.SettingsScreen.atoms
|
||||||
|
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.filled.AudioFile
|
|
||||||
import androidx.compose.material.icons.filled.Memory
|
import androidx.compose.material.icons.filled.Memory
|
||||||
import androidx.compose.material3.Button
|
import androidx.compose.material3.Button
|
||||||
import androidx.compose.material3.ButtonDefaults
|
import androidx.compose.material3.ButtonDefaults
|
||||||
@ -14,12 +13,12 @@ import androidx.compose.runtime.collectAsState
|
|||||||
import androidx.compose.runtime.rememberCoroutineScope
|
import androidx.compose.runtime.rememberCoroutineScope
|
||||||
import androidx.compose.ui.platform.LocalContext
|
import androidx.compose.ui.platform.LocalContext
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import app.myzel394.locationtest.R
|
import app.myzel394.alibi.R
|
||||||
import app.myzel394.locationtest.dataStore
|
import app.myzel394.alibi.dataStore
|
||||||
import app.myzel394.locationtest.db.AppSettings
|
import app.myzel394.alibi.db.AppSettings
|
||||||
import app.myzel394.locationtest.db.AudioRecorderSettings
|
import app.myzel394.alibi.db.AudioRecorderSettings
|
||||||
import app.myzel394.locationtest.ui.components.atoms.ExampleListRoulette
|
import app.myzel394.alibi.ui.components.atoms.ExampleListRoulette
|
||||||
import app.myzel394.locationtest.ui.components.atoms.SettingsTile
|
import app.myzel394.alibi.ui.components.atoms.SettingsTile
|
||||||
import com.maxkeppeker.sheets.core.models.base.rememberUseCaseState
|
import com.maxkeppeker.sheets.core.models.base.rememberUseCaseState
|
||||||
import com.maxkeppeler.sheets.list.ListDialog
|
import com.maxkeppeler.sheets.list.ListDialog
|
||||||
import com.maxkeppeler.sheets.list.models.ListOption
|
import com.maxkeppeler.sheets.list.models.ListOption
|
@ -1,23 +1,18 @@
|
|||||||
package app.myzel394.locationtest.ui.components.SettingsScreen.atoms
|
package app.myzel394.alibi.ui.components.SettingsScreen.atoms
|
||||||
|
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.filled.GraphicEq
|
import androidx.compose.material.icons.filled.GraphicEq
|
||||||
import androidx.compose.material.icons.filled.Memory
|
|
||||||
import androidx.compose.material3.ButtonDefaults
|
|
||||||
import androidx.compose.material3.Icon
|
import androidx.compose.material3.Icon
|
||||||
import androidx.compose.material3.MaterialTheme
|
|
||||||
import androidx.compose.material3.Switch
|
import androidx.compose.material3.Switch
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.collectAsState
|
import androidx.compose.runtime.collectAsState
|
||||||
import androidx.compose.runtime.rememberCoroutineScope
|
import androidx.compose.runtime.rememberCoroutineScope
|
||||||
import androidx.compose.ui.platform.LocalContext
|
import androidx.compose.ui.platform.LocalContext
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import app.myzel394.locationtest.R
|
import app.myzel394.alibi.R
|
||||||
import app.myzel394.locationtest.dataStore
|
import app.myzel394.alibi.dataStore
|
||||||
import app.myzel394.locationtest.db.AppSettings
|
import app.myzel394.alibi.db.AppSettings
|
||||||
import app.myzel394.locationtest.db.AudioRecorderSettings
|
import app.myzel394.alibi.ui.components.atoms.SettingsTile
|
||||||
import app.myzel394.locationtest.ui.components.atoms.ExampleListRoulette
|
|
||||||
import app.myzel394.locationtest.ui.components.atoms.SettingsTile
|
|
||||||
import com.maxkeppeker.sheets.core.models.base.rememberUseCaseState
|
import com.maxkeppeker.sheets.core.models.base.rememberUseCaseState
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
@ -1,9 +1,5 @@
|
|||||||
package app.myzel394.locationtest.ui.components.SettingsScreen.atoms
|
package app.myzel394.alibi.ui.components.SettingsScreen.atoms
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
|
||||||
import androidx.compose.foundation.layout.PaddingValues
|
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
|
||||||
import androidx.compose.foundation.lazy.LazyRow
|
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.filled.Mic
|
import androidx.compose.material.icons.filled.Mic
|
||||||
import androidx.compose.material3.Button
|
import androidx.compose.material3.Button
|
||||||
@ -15,17 +11,15 @@ import androidx.compose.material3.Text
|
|||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.collectAsState
|
import androidx.compose.runtime.collectAsState
|
||||||
import androidx.compose.runtime.rememberCoroutineScope
|
import androidx.compose.runtime.rememberCoroutineScope
|
||||||
import androidx.compose.ui.Modifier
|
|
||||||
import androidx.compose.ui.platform.LocalContext
|
import androidx.compose.ui.platform.LocalContext
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.unit.dp
|
import app.myzel394.alibi.R
|
||||||
import app.myzel394.locationtest.R
|
import app.myzel394.alibi.dataStore
|
||||||
import app.myzel394.locationtest.dataStore
|
import app.myzel394.alibi.db.AppSettings
|
||||||
import app.myzel394.locationtest.db.AppSettings
|
import app.myzel394.alibi.db.AudioRecorderSettings
|
||||||
import app.myzel394.locationtest.db.AudioRecorderSettings
|
import app.myzel394.alibi.ui.components.atoms.ExampleListRoulette
|
||||||
import app.myzel394.locationtest.ui.components.atoms.ExampleListRoulette
|
import app.myzel394.alibi.ui.components.atoms.SettingsTile
|
||||||
import app.myzel394.locationtest.ui.components.atoms.SettingsTile
|
import app.myzel394.alibi.ui.utils.formatDuration
|
||||||
import app.myzel394.locationtest.ui.utils.formatDuration
|
|
||||||
import com.maxkeppeker.sheets.core.models.base.rememberUseCaseState
|
import com.maxkeppeker.sheets.core.models.base.rememberUseCaseState
|
||||||
import com.maxkeppeler.sheets.duration.DurationDialog
|
import com.maxkeppeler.sheets.duration.DurationDialog
|
||||||
import com.maxkeppeler.sheets.duration.models.DurationConfig
|
import com.maxkeppeler.sheets.duration.models.DurationConfig
|
@ -1,12 +1,7 @@
|
|||||||
package app.myzel394.locationtest.ui.components.SettingsScreen.atoms
|
package app.myzel394.alibi.ui.components.SettingsScreen.atoms
|
||||||
|
|
||||||
import androidx.compose.foundation.lazy.LazyRow
|
|
||||||
import androidx.compose.foundation.text.KeyboardActions
|
|
||||||
import androidx.compose.foundation.text.KeyboardOptions
|
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.filled.Mic
|
|
||||||
import androidx.compose.material.icons.filled.Timer
|
import androidx.compose.material.icons.filled.Timer
|
||||||
import androidx.compose.material.icons.filled.Tune
|
|
||||||
import androidx.compose.material3.Button
|
import androidx.compose.material3.Button
|
||||||
import androidx.compose.material3.ButtonDefaults
|
import androidx.compose.material3.ButtonDefaults
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
@ -16,30 +11,20 @@ import androidx.compose.material3.Text
|
|||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.collectAsState
|
import androidx.compose.runtime.collectAsState
|
||||||
import androidx.compose.runtime.rememberCoroutineScope
|
import androidx.compose.runtime.rememberCoroutineScope
|
||||||
import androidx.compose.ui.Modifier
|
|
||||||
import androidx.compose.ui.platform.LocalContext
|
import androidx.compose.ui.platform.LocalContext
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.text.input.KeyboardType
|
import app.myzel394.alibi.R
|
||||||
import androidx.compose.ui.unit.dp
|
import app.myzel394.alibi.dataStore
|
||||||
import app.myzel394.locationtest.R
|
import app.myzel394.alibi.db.AppSettings
|
||||||
import app.myzel394.locationtest.dataStore
|
import app.myzel394.alibi.db.AudioRecorderSettings
|
||||||
import app.myzel394.locationtest.db.AppSettings
|
import app.myzel394.alibi.ui.components.atoms.ExampleListRoulette
|
||||||
import app.myzel394.locationtest.db.AudioRecorderSettings
|
import app.myzel394.alibi.ui.components.atoms.SettingsTile
|
||||||
import app.myzel394.locationtest.ui.components.atoms.ExampleListRoulette
|
import app.myzel394.alibi.ui.utils.formatDuration
|
||||||
import app.myzel394.locationtest.ui.components.atoms.SettingsTile
|
|
||||||
import app.myzel394.locationtest.ui.utils.formatDuration
|
|
||||||
import com.maxkeppeker.sheets.core.models.base.IconSource
|
|
||||||
import com.maxkeppeker.sheets.core.models.base.rememberUseCaseState
|
import com.maxkeppeker.sheets.core.models.base.rememberUseCaseState
|
||||||
import com.maxkeppeler.sheets.duration.DurationDialog
|
import com.maxkeppeler.sheets.duration.DurationDialog
|
||||||
import com.maxkeppeler.sheets.duration.models.DurationConfig
|
import com.maxkeppeler.sheets.duration.models.DurationConfig
|
||||||
import com.maxkeppeler.sheets.duration.models.DurationFormat
|
import com.maxkeppeler.sheets.duration.models.DurationFormat
|
||||||
import com.maxkeppeler.sheets.duration.models.DurationSelection
|
import com.maxkeppeler.sheets.duration.models.DurationSelection
|
||||||
import com.maxkeppeler.sheets.input.InputDialog
|
|
||||||
import com.maxkeppeler.sheets.input.models.InputHeader
|
|
||||||
import com.maxkeppeler.sheets.input.models.InputSelection
|
|
||||||
import com.maxkeppeler.sheets.input.models.InputTextField
|
|
||||||
import com.maxkeppeler.sheets.input.models.InputTextFieldType
|
|
||||||
import com.maxkeppeler.sheets.input.models.ValidationResult
|
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
@OptIn(ExperimentalMaterial3Api::class)
|
@OptIn(ExperimentalMaterial3Api::class)
|
@ -1,10 +1,7 @@
|
|||||||
package app.myzel394.locationtest.ui.components.SettingsScreen.atoms
|
package app.myzel394.alibi.ui.components.SettingsScreen.atoms
|
||||||
|
|
||||||
import android.app.ProgressDialog.show
|
|
||||||
import androidx.compose.foundation.text.KeyboardOptions
|
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.filled.AudioFile
|
import androidx.compose.material.icons.filled.AudioFile
|
||||||
import androidx.compose.material.icons.filled.RadioButtonChecked
|
|
||||||
import androidx.compose.material3.Button
|
import androidx.compose.material3.Button
|
||||||
import androidx.compose.material3.ButtonDefaults
|
import androidx.compose.material3.ButtonDefaults
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
@ -16,21 +13,13 @@ import androidx.compose.runtime.collectAsState
|
|||||||
import androidx.compose.runtime.rememberCoroutineScope
|
import androidx.compose.runtime.rememberCoroutineScope
|
||||||
import androidx.compose.ui.platform.LocalContext
|
import androidx.compose.ui.platform.LocalContext
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.text.input.KeyboardType
|
import app.myzel394.alibi.R
|
||||||
import app.myzel394.locationtest.R
|
import app.myzel394.alibi.dataStore
|
||||||
import app.myzel394.locationtest.dataStore
|
import app.myzel394.alibi.db.AppSettings
|
||||||
import app.myzel394.locationtest.db.AppSettings
|
import app.myzel394.alibi.db.AudioRecorderSettings
|
||||||
import app.myzel394.locationtest.db.AudioRecorderSettings
|
import app.myzel394.alibi.ui.components.atoms.ExampleListRoulette
|
||||||
import app.myzel394.locationtest.ui.components.atoms.ExampleListRoulette
|
import app.myzel394.alibi.ui.components.atoms.SettingsTile
|
||||||
import app.myzel394.locationtest.ui.components.atoms.SettingsTile
|
|
||||||
import com.maxkeppeker.sheets.core.models.base.IconSource
|
|
||||||
import com.maxkeppeker.sheets.core.models.base.rememberUseCaseState
|
import com.maxkeppeker.sheets.core.models.base.rememberUseCaseState
|
||||||
import com.maxkeppeler.sheets.input.InputDialog
|
|
||||||
import com.maxkeppeler.sheets.input.models.InputHeader
|
|
||||||
import com.maxkeppeler.sheets.input.models.InputSelection
|
|
||||||
import com.maxkeppeler.sheets.input.models.InputTextField
|
|
||||||
import com.maxkeppeler.sheets.input.models.InputTextFieldType
|
|
||||||
import com.maxkeppeler.sheets.input.models.ValidationResult
|
|
||||||
import com.maxkeppeler.sheets.list.ListDialog
|
import com.maxkeppeler.sheets.list.ListDialog
|
||||||
import com.maxkeppeler.sheets.list.models.ListOption
|
import com.maxkeppeler.sheets.list.models.ListOption
|
||||||
import com.maxkeppeler.sheets.list.models.ListSelection
|
import com.maxkeppeler.sheets.list.models.ListSelection
|
@ -1,4 +1,4 @@
|
|||||||
package app.myzel394.locationtest.ui.components.SettingsScreen.atoms
|
package app.myzel394.alibi.ui.components.SettingsScreen.atoms
|
||||||
|
|
||||||
import androidx.compose.foundation.text.KeyboardOptions
|
import androidx.compose.foundation.text.KeyboardOptions
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
@ -15,12 +15,12 @@ import androidx.compose.runtime.rememberCoroutineScope
|
|||||||
import androidx.compose.ui.platform.LocalContext
|
import androidx.compose.ui.platform.LocalContext
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.text.input.KeyboardType
|
import androidx.compose.ui.text.input.KeyboardType
|
||||||
import app.myzel394.locationtest.R
|
import app.myzel394.alibi.R
|
||||||
import app.myzel394.locationtest.dataStore
|
import app.myzel394.alibi.dataStore
|
||||||
import app.myzel394.locationtest.db.AppSettings
|
import app.myzel394.alibi.db.AppSettings
|
||||||
import app.myzel394.locationtest.db.AudioRecorderSettings
|
import app.myzel394.alibi.db.AudioRecorderSettings
|
||||||
import app.myzel394.locationtest.ui.components.atoms.ExampleListRoulette
|
import app.myzel394.alibi.ui.components.atoms.ExampleListRoulette
|
||||||
import app.myzel394.locationtest.ui.components.atoms.SettingsTile
|
import app.myzel394.alibi.ui.components.atoms.SettingsTile
|
||||||
import com.maxkeppeker.sheets.core.models.base.IconSource
|
import com.maxkeppeker.sheets.core.models.base.IconSource
|
||||||
import com.maxkeppeker.sheets.core.models.base.rememberUseCaseState
|
import com.maxkeppeker.sheets.core.models.base.rememberUseCaseState
|
||||||
import com.maxkeppeler.sheets.input.InputDialog
|
import com.maxkeppeler.sheets.input.InputDialog
|
@ -1,8 +1,6 @@
|
|||||||
package app.myzel394.locationtest.ui.components.WelcomeScreen.atoms
|
package app.myzel394.alibi.ui.components.WelcomeScreen.atoms
|
||||||
|
|
||||||
import android.graphics.drawable.Icon
|
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Box
|
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.Spacer
|
import androidx.compose.foundation.layout.Spacer
|
||||||
import androidx.compose.foundation.layout.fillMaxSize
|
import androidx.compose.foundation.layout.fillMaxSize
|
||||||
@ -12,7 +10,6 @@ import androidx.compose.foundation.layout.padding
|
|||||||
import androidx.compose.foundation.layout.size
|
import androidx.compose.foundation.layout.size
|
||||||
import androidx.compose.foundation.layout.width
|
import androidx.compose.foundation.layout.width
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.filled.ArrowRight
|
|
||||||
import androidx.compose.material.icons.filled.ChevronRight
|
import androidx.compose.material.icons.filled.ChevronRight
|
||||||
import androidx.compose.material.icons.filled.WavingHand
|
import androidx.compose.material.icons.filled.WavingHand
|
||||||
import androidx.compose.material3.Button
|
import androidx.compose.material3.Button
|
||||||
@ -25,8 +22,8 @@ import androidx.compose.ui.Alignment
|
|||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import app.myzel394.locationtest.R
|
import app.myzel394.alibi.R
|
||||||
import app.myzel394.locationtest.ui.BIG_PRIMARY_BUTTON_SIZE
|
import app.myzel394.alibi.ui.BIG_PRIMARY_BUTTON_SIZE
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun ExplanationPage(
|
fun ExplanationPage(
|
@ -1,4 +1,4 @@
|
|||||||
package app.myzel394.locationtest.ui.components.WelcomeScreen.atoms
|
package app.myzel394.alibi.ui.components.WelcomeScreen.atoms
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
@ -11,7 +11,6 @@ import androidx.compose.foundation.layout.size
|
|||||||
import androidx.compose.foundation.layout.width
|
import androidx.compose.foundation.layout.width
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.filled.Check
|
import androidx.compose.material.icons.filled.Check
|
||||||
import androidx.compose.material.icons.filled.ChevronRight
|
|
||||||
import androidx.compose.material.icons.filled.Warning
|
import androidx.compose.material.icons.filled.Warning
|
||||||
import androidx.compose.material3.Button
|
import androidx.compose.material3.Button
|
||||||
import androidx.compose.material3.ButtonDefaults
|
import androidx.compose.material3.ButtonDefaults
|
||||||
@ -23,8 +22,8 @@ import androidx.compose.ui.Alignment
|
|||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import app.myzel394.locationtest.R
|
import app.myzel394.alibi.R
|
||||||
import app.myzel394.locationtest.ui.BIG_PRIMARY_BUTTON_SIZE
|
import app.myzel394.alibi.ui.BIG_PRIMARY_BUTTON_SIZE
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun ResponsibilityPage(
|
fun ResponsibilityPage(
|
@ -1,4 +1,4 @@
|
|||||||
package app.myzel394.locationtest.ui.components.atoms
|
package app.myzel394.alibi.ui.components.atoms
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
||||||
import androidx.compose.foundation.layout.PaddingValues
|
import androidx.compose.foundation.layout.PaddingValues
|
@ -1,4 +1,4 @@
|
|||||||
package app.myzel394.locationtest.ui.components.atoms
|
package app.myzel394.alibi.ui.components.atoms
|
||||||
|
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
import androidx.compose.foundation.layout.Arrangement
|
@ -1,4 +1,4 @@
|
|||||||
package app.myzel394.locationtest.ui.components.atoms
|
package app.myzel394.alibi.ui.components.atoms
|
||||||
|
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
@ -1,4 +1,4 @@
|
|||||||
package app.myzel394.locationtest.ui.components.atoms
|
package app.myzel394.alibi.ui.components.atoms
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.Spacer
|
import androidx.compose.foundation.layout.Spacer
|
||||||
import androidx.compose.foundation.layout.size
|
import androidx.compose.foundation.layout.size
|
||||||
@ -19,9 +19,9 @@ import androidx.compose.runtime.getValue
|
|||||||
import androidx.compose.runtime.setValue
|
import androidx.compose.runtime.setValue
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import app.myzel394.locationtest.R
|
import app.myzel394.alibi.R
|
||||||
import app.myzel394.locationtest.ui.utils.PermissionHelper
|
import app.myzel394.alibi.ui.utils.PermissionHelper
|
||||||
import app.myzel394.locationtest.ui.utils.openAppSystemSettings
|
import app.myzel394.alibi.ui.utils.openAppSystemSettings
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun PermissionRequester(
|
fun PermissionRequester(
|
@ -1,4 +1,4 @@
|
|||||||
package app.myzel394.locationtest.ui.components.atoms
|
package app.myzel394.alibi.ui.components.atoms
|
||||||
|
|
||||||
import androidx.compose.animation.core.RepeatMode
|
import androidx.compose.animation.core.RepeatMode
|
||||||
import androidx.compose.animation.core.animateFloat
|
import androidx.compose.animation.core.animateFloat
|
@ -1,4 +1,4 @@
|
|||||||
package app.myzel394.locationtest.ui.components.atoms
|
package app.myzel394.alibi.ui.components.atoms
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.Row
|
import androidx.compose.foundation.layout.Row
|
||||||
@ -7,23 +7,12 @@ import androidx.compose.foundation.layout.fillMaxWidth
|
|||||||
import androidx.compose.foundation.layout.height
|
import androidx.compose.foundation.layout.height
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.layout.width
|
import androidx.compose.foundation.layout.width
|
||||||
import androidx.compose.material.icons.Icons
|
|
||||||
import androidx.compose.material.icons.filled.Mic
|
|
||||||
import androidx.compose.material3.ButtonDefaults
|
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
|
||||||
import androidx.compose.material3.Icon
|
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import com.maxkeppeker.sheets.core.models.base.rememberUseCaseState
|
|
||||||
import com.maxkeppeler.sheets.duration.DurationDialog
|
|
||||||
import com.maxkeppeler.sheets.duration.models.DurationConfig
|
|
||||||
import com.maxkeppeler.sheets.duration.models.DurationFormat
|
|
||||||
import com.maxkeppeler.sheets.duration.models.DurationSelection
|
|
||||||
import kotlinx.serialization.json.JsonNull.content
|
|
||||||
|
|
||||||
|
|
||||||
@Composable
|
@Composable
|
@ -1,4 +1,4 @@
|
|||||||
package app.myzel394.locationtest.ui.enums
|
package app.myzel394.alibi.ui.enums
|
||||||
|
|
||||||
sealed class Screen(val route: String) {
|
sealed class Screen(val route: String) {
|
||||||
object AudioRecorder : Screen("audio-recorder")
|
object AudioRecorder : Screen("audio-recorder")
|
@ -1,4 +1,4 @@
|
|||||||
package app.myzel394.locationtest.ui.screens
|
package app.myzel394.alibi.ui.screens
|
||||||
|
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.fillMaxSize
|
import androidx.compose.foundation.layout.fillMaxSize
|
||||||
@ -16,12 +16,12 @@ import androidx.compose.runtime.*
|
|||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.navigation.NavController
|
import androidx.navigation.NavController
|
||||||
import app.myzel394.locationtest.services.bindToRecorderService
|
import app.myzel394.alibi.services.bindToRecorderService
|
||||||
import app.myzel394.locationtest.ui.components.AudioRecorder.molecules.RecordingStatus
|
import app.myzel394.alibi.ui.components.AudioRecorder.molecules.RecordingStatus
|
||||||
import app.myzel394.locationtest.ui.components.AudioRecorder.molecules.StartRecording
|
import app.myzel394.alibi.ui.components.AudioRecorder.molecules.StartRecording
|
||||||
import app.myzel394.locationtest.ui.enums.Screen
|
import app.myzel394.alibi.ui.enums.Screen
|
||||||
import app.myzel394.locationtest.ui.utils.rememberFileSaverDialog
|
import app.myzel394.alibi.ui.utils.rememberFileSaverDialog
|
||||||
import app.myzel394.locationtest.R
|
import app.myzel394.alibi.R
|
||||||
|
|
||||||
@OptIn(ExperimentalMaterial3Api::class)
|
@OptIn(ExperimentalMaterial3Api::class)
|
||||||
@Composable
|
@Composable
|
@ -1,29 +1,20 @@
|
|||||||
package app.myzel394.locationtest.ui.screens
|
package app.myzel394.alibi.ui.screens
|
||||||
|
|
||||||
import androidx.compose.animation.AnimatedVisibility
|
import androidx.compose.animation.AnimatedVisibility
|
||||||
import androidx.compose.foundation.layout.Arrangement
|
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.PaddingValues
|
|
||||||
import androidx.compose.foundation.layout.Row
|
|
||||||
import androidx.compose.foundation.layout.fillMaxSize
|
import androidx.compose.foundation.layout.fillMaxSize
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.lazy.LazyRow
|
|
||||||
import androidx.compose.foundation.rememberScrollState
|
import androidx.compose.foundation.rememberScrollState
|
||||||
import androidx.compose.foundation.verticalScroll
|
import androidx.compose.foundation.verticalScroll
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.filled.ArrowBack
|
import androidx.compose.material.icons.filled.ArrowBack
|
||||||
import androidx.compose.material.icons.filled.Mic
|
|
||||||
import androidx.compose.material.icons.filled.Tune
|
|
||||||
import androidx.compose.material3.Button
|
|
||||||
import androidx.compose.material3.ButtonDefaults
|
|
||||||
import androidx.compose.material3.Divider
|
import androidx.compose.material3.Divider
|
||||||
import androidx.compose.material3.ExperimentalMaterial3Api
|
import androidx.compose.material3.ExperimentalMaterial3Api
|
||||||
import androidx.compose.material3.Icon
|
import androidx.compose.material3.Icon
|
||||||
import androidx.compose.material3.IconButton
|
import androidx.compose.material3.IconButton
|
||||||
import androidx.compose.material3.LargeTopAppBar
|
import androidx.compose.material3.LargeTopAppBar
|
||||||
import androidx.compose.material3.MaterialTheme
|
|
||||||
import androidx.compose.material3.Scaffold
|
import androidx.compose.material3.Scaffold
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.material3.TopAppBarDefaults
|
import androidx.compose.material3.TopAppBarDefaults
|
||||||
@ -38,28 +29,20 @@ import androidx.compose.ui.platform.LocalContext
|
|||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.navigation.NavController
|
import androidx.navigation.NavController
|
||||||
import app.myzel394.locationtest.R
|
import app.myzel394.alibi.R
|
||||||
import app.myzel394.locationtest.dataStore
|
import app.myzel394.alibi.dataStore
|
||||||
import app.myzel394.locationtest.db.AppSettings
|
import app.myzel394.alibi.db.AppSettings
|
||||||
import app.myzel394.locationtest.db.AudioRecorderSettings
|
import app.myzel394.alibi.services.bindToRecorderService
|
||||||
import app.myzel394.locationtest.services.bindToRecorderService
|
import app.myzel394.alibi.ui.components.SettingsScreen.atoms.BitrateTile
|
||||||
import app.myzel394.locationtest.ui.components.SettingsScreen.atoms.BitrateTile
|
import app.myzel394.alibi.ui.components.SettingsScreen.atoms.EncoderTile
|
||||||
import app.myzel394.locationtest.ui.components.SettingsScreen.atoms.EncoderTile
|
import app.myzel394.alibi.ui.components.SettingsScreen.atoms.ForceExactMaxDurationTile
|
||||||
import app.myzel394.locationtest.ui.components.SettingsScreen.atoms.ForceExactMaxDurationTile
|
import app.myzel394.alibi.ui.components.SettingsScreen.atoms.IntervalDurationTile
|
||||||
import app.myzel394.locationtest.ui.components.SettingsScreen.atoms.IntervalDurationTile
|
import app.myzel394.alibi.ui.components.SettingsScreen.atoms.MaxDurationTile
|
||||||
import app.myzel394.locationtest.ui.components.SettingsScreen.atoms.MaxDurationTile
|
import app.myzel394.alibi.ui.components.SettingsScreen.atoms.OutputFormatTile
|
||||||
import app.myzel394.locationtest.ui.components.SettingsScreen.atoms.OutputFormatTile
|
import app.myzel394.alibi.ui.components.SettingsScreen.atoms.SamplingRateTile
|
||||||
import app.myzel394.locationtest.ui.components.SettingsScreen.atoms.SamplingRateTile
|
import app.myzel394.alibi.ui.components.atoms.GlobalSwitch
|
||||||
import app.myzel394.locationtest.ui.components.atoms.GlobalSwitch
|
import app.myzel394.alibi.ui.components.atoms.MessageBox
|
||||||
import app.myzel394.locationtest.ui.components.atoms.MessageBox
|
import app.myzel394.alibi.ui.components.atoms.MessageType
|
||||||
import app.myzel394.locationtest.ui.components.atoms.MessageType
|
|
||||||
import app.myzel394.locationtest.ui.components.atoms.SettingsTile
|
|
||||||
import app.myzel394.locationtest.ui.utils.formatDuration
|
|
||||||
import com.maxkeppeker.sheets.core.models.base.rememberUseCaseState
|
|
||||||
import com.maxkeppeler.sheets.duration.DurationDialog
|
|
||||||
import com.maxkeppeler.sheets.duration.models.DurationConfig
|
|
||||||
import com.maxkeppeler.sheets.duration.models.DurationFormat
|
|
||||||
import com.maxkeppeler.sheets.duration.models.DurationSelection
|
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
@OptIn(ExperimentalMaterial3Api::class)
|
@OptIn(ExperimentalMaterial3Api::class)
|
||||||
@ -67,7 +50,7 @@ import kotlinx.coroutines.launch
|
|||||||
fun SettingsScreen(
|
fun SettingsScreen(
|
||||||
navController: NavController
|
navController: NavController
|
||||||
) {
|
) {
|
||||||
val (connection, service) = bindToRecorderService()
|
val (_, service) = bindToRecorderService()
|
||||||
val isRecording = service?.isRecording?.value ?: false
|
val isRecording = service?.isRecording?.value ?: false
|
||||||
val scrollBehavior = TopAppBarDefaults.exitUntilCollapsedScrollBehavior(
|
val scrollBehavior = TopAppBarDefaults.exitUntilCollapsedScrollBehavior(
|
||||||
rememberTopAppBarState()
|
rememberTopAppBarState()
|
@ -1,7 +1,6 @@
|
|||||||
package app.myzel394.locationtest.ui.screens
|
package app.myzel394.alibi.ui.screens
|
||||||
|
|
||||||
import androidx.compose.foundation.ExperimentalFoundationApi
|
import androidx.compose.foundation.ExperimentalFoundationApi
|
||||||
import androidx.compose.foundation.layout.Box
|
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.fillMaxSize
|
import androidx.compose.foundation.layout.fillMaxSize
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
@ -15,10 +14,10 @@ import androidx.compose.ui.Alignment
|
|||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.platform.LocalContext
|
import androidx.compose.ui.platform.LocalContext
|
||||||
import androidx.navigation.NavController
|
import androidx.navigation.NavController
|
||||||
import app.myzel394.locationtest.dataStore
|
import app.myzel394.alibi.dataStore
|
||||||
import app.myzel394.locationtest.ui.components.WelcomeScreen.atoms.ExplanationPage
|
import app.myzel394.alibi.ui.components.WelcomeScreen.atoms.ExplanationPage
|
||||||
import app.myzel394.locationtest.ui.components.WelcomeScreen.atoms.ResponsibilityPage
|
import app.myzel394.alibi.ui.components.WelcomeScreen.atoms.ResponsibilityPage
|
||||||
import app.myzel394.locationtest.ui.enums.Screen
|
import app.myzel394.alibi.ui.enums.Screen
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
@OptIn(ExperimentalFoundationApi::class)
|
@OptIn(ExperimentalFoundationApi::class)
|
@ -1,4 +1,4 @@
|
|||||||
package app.myzel394.locationtest.ui.theme
|
package app.myzel394.alibi.ui.theme
|
||||||
|
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package app.myzel394.locationtest.ui.theme
|
package app.myzel394.alibi.ui.theme
|
||||||
|
|
||||||
import android.app.Activity
|
import android.app.Activity
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
@ -38,7 +38,7 @@ private val LightColorScheme = lightColorScheme(
|
|||||||
)
|
)
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun LocationTestTheme(
|
fun AlibiTheme(
|
||||||
darkTheme: Boolean = isSystemInDarkTheme(),
|
darkTheme: Boolean = isSystemInDarkTheme(),
|
||||||
// Dynamic color is available on Android 12+
|
// Dynamic color is available on Android 12+
|
||||||
dynamicColor: Boolean = true,
|
dynamicColor: Boolean = true,
|
@ -1,4 +1,4 @@
|
|||||||
package app.myzel394.locationtest.ui.theme
|
package app.myzel394.alibi.ui.theme
|
||||||
|
|
||||||
import androidx.compose.material3.Typography
|
import androidx.compose.material3.Typography
|
||||||
import androidx.compose.ui.text.TextStyle
|
import androidx.compose.ui.text.TextStyle
|
@ -1,4 +1,4 @@
|
|||||||
package app.myzel394.locationtest.ui.utils
|
package app.myzel394.alibi.ui.utils
|
||||||
|
|
||||||
import android.app.Activity
|
import android.app.Activity
|
||||||
import android.content.Context
|
import android.content.Context
|
@ -1,4 +1,4 @@
|
|||||||
package app.myzel394.locationtest.ui.utils
|
package app.myzel394.alibi.ui.utils
|
||||||
|
|
||||||
import androidx.activity.compose.rememberLauncherForActivityResult
|
import androidx.activity.compose.rememberLauncherForActivityResult
|
||||||
import androidx.activity.result.contract.ActivityResultContracts
|
import androidx.activity.result.contract.ActivityResultContracts
|
@ -1,4 +1,4 @@
|
|||||||
package app.myzel394.locationtest.ui.utils
|
package app.myzel394.alibi.ui.utils
|
||||||
|
|
||||||
import kotlin.math.floor
|
import kotlin.math.floor
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package app.myzel394.locationtest.ui.utils
|
package app.myzel394.alibi.ui.utils
|
||||||
|
|
||||||
|
|
||||||
fun clamp(value: Float, min: Float, max: Float): Float {
|
fun clamp(value: Float, min: Float, max: Float): Float {
|
@ -1,4 +1,4 @@
|
|||||||
package app.myzel394.locationtest.ui.utils
|
package app.myzel394.alibi.ui.utils
|
||||||
|
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.DisposableEffect
|
import androidx.compose.runtime.DisposableEffect
|
@ -1,6 +1,7 @@
|
|||||||
<resources xmlns:android="http://schemas.android.com/apk/res/android"
|
<resources xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||||
<string name="app_name">LocationTest</string>
|
<string name="app_name">Alibi</string>
|
||||||
|
|
||||||
<string name="dialog_close_cancel_label">Cancel</string>
|
<string name="dialog_close_cancel_label">Cancel</string>
|
||||||
<string name="dialog_close_neutral_label">OK</string>
|
<string name="dialog_close_neutral_label">OK</string>
|
||||||
<string name="continue_label">Continue</string>
|
<string name="continue_label">Continue</string>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
|
|
||||||
<style name="Theme.LocationTest" parent="android:Theme.Material.Light.NoActionBar" />
|
<style name="Theme.Alibi" parent="android:Theme.Material.Light.NoActionBar" />
|
||||||
</resources>
|
</resources>
|
@ -1,4 +1,4 @@
|
|||||||
package app.myzel394.locationtest
|
package app.myzel394.alibi
|
||||||
|
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
|
|
@ -12,5 +12,5 @@ dependencyResolutionManagement {
|
|||||||
mavenCentral()
|
mavenCentral()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
rootProject.name = "LocationTest"
|
rootProject.name = "Alibi"
|
||||||
include ':app'
|
include ':app'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user