remove something that wasn't supposed to be herr

This commit is contained in:
Kavish Devar
2025-01-07 23:58:27 +05:30
committed by GitHub
parent d3a7727fd3
commit 5362108306

View File

@@ -25,20 +25,14 @@ import android.content.Intent
import android.content.IntentFilter import android.content.IntentFilter
import android.content.SharedPreferences import android.content.SharedPreferences
import android.os.Build import android.os.Build
import androidx.compose.animation.core.animateFloatAsState
import androidx.compose.foundation.background import androidx.compose.foundation.background
import androidx.compose.foundation.gestures.Orientation
import androidx.compose.foundation.gestures.draggable
import androidx.compose.foundation.gestures.rememberDraggableState
import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.foundation.isSystemInDarkTheme
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.Row import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.offset
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text import androidx.compose.material3.Text
@@ -59,14 +53,12 @@ import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp import androidx.compose.ui.unit.sp
import me.kavishdevar.aln.R import me.kavishdevar.aln.R
import me.kavishdevar.aln.services.AirPodsService import me.kavishdevar.aln.services.AirPodsService
import me.kavishdevar.aln.utils.AirPodsNotifications import me.kavishdevar.aln.utils.AirPodsNotifications
import me.kavishdevar.aln.utils.NoiseControlMode import me.kavishdevar.aln.utils.NoiseControlMode
import kotlin.math.roundToInt
@SuppressLint("UnspecifiedRegisterReceiverFlag") @SuppressLint("UnspecifiedRegisterReceiverFlag")
@Composable @Composable
@@ -74,7 +66,7 @@ fun NoiseControlSettings(service: AirPodsService) {
val context = LocalContext.current val context = LocalContext.current
val sharedPreferences = context.getSharedPreferences("settings", Context.MODE_PRIVATE) val sharedPreferences = context.getSharedPreferences("settings", Context.MODE_PRIVATE)
val offListeningMode = remember { mutableStateOf(sharedPreferences.getBoolean("off_listening_mode", true)) } val offListeningMode = remember { mutableStateOf(sharedPreferences.getBoolean("off_listening_mode", true)) }
val preferenceChangeListener = remember { val preferenceChangeListener = remember {
SharedPreferences.OnSharedPreferenceChangeListener { _, key -> SharedPreferences.OnSharedPreferenceChangeListener { _, key ->
if (key == "off_listening_mode") { if (key == "off_listening_mode") {
@@ -82,14 +74,13 @@ fun NoiseControlSettings(service: AirPodsService) {
} }
} }
} }
DisposableEffect(Unit) { DisposableEffect(Unit) {
sharedPreferences.registerOnSharedPreferenceChangeListener(preferenceChangeListener) sharedPreferences.registerOnSharedPreferenceChangeListener(preferenceChangeListener)
onDispose { onDispose {
sharedPreferences.unregisterOnSharedPreferenceChangeListener(preferenceChangeListener) sharedPreferences.unregisterOnSharedPreferenceChangeListener(preferenceChangeListener)
} }
} }
val isDarkTheme = isSystemInDarkTheme() val isDarkTheme = isSystemInDarkTheme()
val backgroundColor = if (isDarkTheme) Color(0xFF1C1C1E) else Color(0xFFE3E3E8) val backgroundColor = if (isDarkTheme) Color(0xFF1C1C1E) else Color(0xFFE3E3E8)
val textColor = if (isDarkTheme) Color.White else Color.Black val textColor = if (isDarkTheme) Color.White else Color.Black
@@ -97,15 +88,11 @@ fun NoiseControlSettings(service: AirPodsService) {
val selectedBackground = if (isDarkTheme) Color(0xFF5C5A5F) else Color(0xFFFFFFFF) val selectedBackground = if (isDarkTheme) Color(0xFF5C5A5F) else Color(0xFFFFFFFF)
val noiseControlMode = remember { mutableStateOf(NoiseControlMode.OFF) } val noiseControlMode = remember { mutableStateOf(NoiseControlMode.OFF) }
val selectedOffset = remember { mutableFloatStateOf(0f) }
val animatedOffset = animateFloatAsState(targetValue = selectedOffset.floatValue)
val d1a = remember { mutableFloatStateOf(0f) } val d1a = remember { mutableFloatStateOf(0f) }
val d2a = remember { mutableFloatStateOf(0f) } val d2a = remember { mutableFloatStateOf(0f) }
val d3a = remember { mutableFloatStateOf(0f) } val d3a = remember { mutableFloatStateOf(0f) }
val boxWidth = 200.dp.value
fun onModeSelected(mode: NoiseControlMode, received: Boolean = false) { fun onModeSelected(mode: NoiseControlMode, received: Boolean = false) {
if (!received && !offListeningMode.value && mode == NoiseControlMode.OFF) { if (!received && !offListeningMode.value && mode == NoiseControlMode.OFF) {
noiseControlMode.value = NoiseControlMode.ADAPTIVE noiseControlMode.value = NoiseControlMode.ADAPTIVE
@@ -113,12 +100,6 @@ fun NoiseControlSettings(service: AirPodsService) {
noiseControlMode.value = mode noiseControlMode.value = mode
} }
if (!received) service.setANCMode(mode.ordinal + 1) if (!received) service.setANCMode(mode.ordinal + 1)
selectedOffset.floatValue = when (noiseControlMode.value) {
NoiseControlMode.NOISE_CANCELLATION -> 3 * boxWidth
NoiseControlMode.OFF -> 0f
NoiseControlMode.ADAPTIVE -> 2 * boxWidth
NoiseControlMode.TRANSPARENCY -> 1 * boxWidth
}
when (noiseControlMode.value) { when (noiseControlMode.value) {
NoiseControlMode.NOISE_CANCELLATION -> { NoiseControlMode.NOISE_CANCELLATION -> {
d1a.floatValue = 1f d1a.floatValue = 1f
@@ -143,15 +124,6 @@ fun NoiseControlSettings(service: AirPodsService) {
} }
} }
LaunchedEffect(noiseControlMode.value) {
selectedOffset.value = when (noiseControlMode.value) {
NoiseControlMode.NOISE_CANCELLATION -> 3 * boxWidth
NoiseControlMode.OFF -> 0f
NoiseControlMode.ADAPTIVE -> 2 * boxWidth
NoiseControlMode.TRANSPARENCY -> 1 * boxWidth
}
}
val noiseControlReceiver = remember { val noiseControlReceiver = remember {
object : BroadcastReceiver() { object : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) { override fun onReceive(context: Context, intent: Intent) {
@@ -199,25 +171,12 @@ fun NoiseControlSettings(service: AirPodsService) {
.fillMaxWidth() .fillMaxWidth()
.height(75.dp) .height(75.dp)
.padding(8.dp) .padding(8.dp)
.draggable(
orientation = Orientation.Horizontal,
state = rememberDraggableState { delta ->
selectedOffset.floatValue = (selectedOffset.floatValue + delta).coerceIn(0f, 3 * boxWidth)
}
)
) { ) {
Row( Row(
modifier = Modifier modifier = Modifier
.fillMaxWidth() .fillMaxWidth()
.background(backgroundColor, RoundedCornerShape(14.dp)) .background(backgroundColor, RoundedCornerShape(14.dp))
) { ) {
Box(
modifier = Modifier
.offset { IntOffset(animatedOffset.value.roundToInt(), 0) }
.width(boxWidth.dp)
.height(75.dp)
.background(selectedBackground, RoundedCornerShape(14.dp))
)
if (offListeningMode.value) { if (offListeningMode.value) {
NoiseControlButton( NoiseControlButton(
icon = ImageBitmap.imageResource(R.drawable.noise_cancellation), icon = ImageBitmap.imageResource(R.drawable.noise_cancellation),
@@ -315,4 +274,4 @@ fun NoiseControlSettings(service: AirPodsService) {
@Composable @Composable
fun NoiseControlSettingsPreview() { fun NoiseControlSettingsPreview() {
NoiseControlSettings(AirPodsService()) NoiseControlSettings(AirPodsService())
} }