mirror of
https://github.com/permissionlesstech/bitchat-android.git
synced 2026-07-24 23:45:19 +00:00
Revert "update input button styling (#682)"
This reverts commit ce86f4ec2f.
This commit is contained in:
@@ -284,6 +284,7 @@ fun MessageInput(
|
|||||||
Spacer(Modifier.width(1.dp))
|
Spacer(Modifier.width(1.dp))
|
||||||
|
|
||||||
VoiceRecordButton(
|
VoiceRecordButton(
|
||||||
|
backgroundColor = bg,
|
||||||
onStart = {
|
onStart = {
|
||||||
isRecording = true
|
isRecording = true
|
||||||
elapsedMs = 0L
|
elapsedMs = 0L
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package com.bitchat.android.ui
|
package com.bitchat.android.ui
|
||||||
|
|
||||||
import android.Manifest
|
import android.Manifest
|
||||||
import androidx.compose.animation.animateColorAsState
|
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
import androidx.compose.foundation.gestures.detectTapGestures
|
import androidx.compose.foundation.gestures.detectTapGestures
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
@@ -10,11 +9,10 @@ import androidx.compose.foundation.shape.CircleShape
|
|||||||
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.Icon
|
import androidx.compose.material3.Icon
|
||||||
import androidx.compose.material3.MaterialTheme
|
|
||||||
import androidx.compose.runtime.*
|
import androidx.compose.runtime.*
|
||||||
import androidx.compose.runtime.getValue
|
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.input.pointer.pointerInput
|
import androidx.compose.ui.input.pointer.pointerInput
|
||||||
import androidx.compose.ui.platform.LocalContext
|
import androidx.compose.ui.platform.LocalContext
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
@@ -34,6 +32,7 @@ import kotlinx.coroutines.launch
|
|||||||
@Composable
|
@Composable
|
||||||
fun VoiceRecordButton(
|
fun VoiceRecordButton(
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
|
backgroundColor: Color,
|
||||||
onStart: () -> Unit,
|
onStart: () -> Unit,
|
||||||
onAmplitude: (amplitude: Int, elapsedMs: Long) -> Unit,
|
onAmplitude: (amplitude: Int, elapsedMs: Long) -> Unit,
|
||||||
onFinish: (filePath: String) -> Unit
|
onFinish: (filePath: String) -> Unit
|
||||||
@@ -55,21 +54,10 @@ fun VoiceRecordButton(
|
|||||||
val latestOnAmplitude = rememberUpdatedState(onAmplitude)
|
val latestOnAmplitude = rememberUpdatedState(onAmplitude)
|
||||||
val latestOnFinish = rememberUpdatedState(onFinish)
|
val latestOnFinish = rememberUpdatedState(onFinish)
|
||||||
|
|
||||||
val backgroundColor by animateColorAsState(
|
|
||||||
targetValue = if (isRecording) {
|
|
||||||
MaterialTheme.colorScheme.error.copy(alpha = 0.4f)
|
|
||||||
} else {
|
|
||||||
MaterialTheme.colorScheme.error
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
Box(
|
Box(
|
||||||
modifier = modifier
|
modifier = modifier
|
||||||
.size(32.dp)
|
.size(32.dp)
|
||||||
.background(
|
.background(backgroundColor, CircleShape)
|
||||||
color = backgroundColor,
|
|
||||||
shape = CircleShape,
|
|
||||||
)
|
|
||||||
.pointerInput(Unit) {
|
.pointerInput(Unit) {
|
||||||
detectTapGestures(
|
detectTapGestures(
|
||||||
onPress = {
|
onPress = {
|
||||||
@@ -143,7 +131,7 @@ fun VoiceRecordButton(
|
|||||||
Icon(
|
Icon(
|
||||||
imageVector = Icons.Filled.Mic,
|
imageVector = Icons.Filled.Mic,
|
||||||
contentDescription = stringResource(com.bitchat.android.R.string.cd_record_voice),
|
contentDescription = stringResource(com.bitchat.android.R.string.cd_record_voice),
|
||||||
tint = MaterialTheme.colorScheme.onError,
|
tint = Color.Black,
|
||||||
modifier = Modifier.size(20.dp)
|
modifier = Modifier.size(20.dp)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,24 +2,22 @@ package com.bitchat.android.ui.media
|
|||||||
|
|
||||||
import android.Manifest
|
import android.Manifest
|
||||||
import android.content.pm.PackageManager
|
import android.content.pm.PackageManager
|
||||||
|
import android.net.Uri
|
||||||
import androidx.activity.compose.rememberLauncherForActivityResult
|
import androidx.activity.compose.rememberLauncherForActivityResult
|
||||||
import androidx.activity.result.contract.ActivityResultContracts
|
import androidx.activity.result.contract.ActivityResultContracts
|
||||||
import androidx.compose.animation.animateColorAsState
|
|
||||||
import androidx.compose.foundation.ExperimentalFoundationApi
|
import androidx.compose.foundation.ExperimentalFoundationApi
|
||||||
import androidx.compose.foundation.background
|
|
||||||
import androidx.compose.foundation.combinedClickable
|
import androidx.compose.foundation.combinedClickable
|
||||||
import androidx.compose.foundation.interaction.MutableInteractionSource
|
|
||||||
import androidx.compose.foundation.interaction.collectIsPressedAsState
|
|
||||||
import androidx.compose.foundation.layout.Box
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.size
|
import androidx.compose.foundation.layout.size
|
||||||
import androidx.compose.foundation.shape.CircleShape
|
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
|
import androidx.compose.material.icons.filled.Camera
|
||||||
|
import androidx.compose.material.icons.filled.Photo
|
||||||
import androidx.compose.material.icons.filled.PhotoCamera
|
import androidx.compose.material.icons.filled.PhotoCamera
|
||||||
import androidx.compose.material3.Icon
|
import androidx.compose.material3.Icon
|
||||||
import androidx.compose.material3.MaterialTheme
|
|
||||||
import androidx.compose.runtime.*
|
import androidx.compose.runtime.*
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
|
import androidx.compose.ui.graphics.Color
|
||||||
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 androidx.compose.ui.unit.dp
|
||||||
@@ -36,16 +34,6 @@ fun ImagePickerButton(
|
|||||||
) {
|
) {
|
||||||
val context = LocalContext.current
|
val context = LocalContext.current
|
||||||
var capturedImagePath by remember { mutableStateOf<String?>(null) }
|
var capturedImagePath by remember { mutableStateOf<String?>(null) }
|
||||||
val interactionSource = remember { MutableInteractionSource() }
|
|
||||||
val isPressed by interactionSource.collectIsPressedAsState()
|
|
||||||
|
|
||||||
val backgroundColor by animateColorAsState(
|
|
||||||
targetValue = if(isPressed) {
|
|
||||||
MaterialTheme.colorScheme.primary.copy(alpha = 0.4f)
|
|
||||||
} else {
|
|
||||||
MaterialTheme.colorScheme.primary
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
val imagePicker = rememberLauncherForActivityResult(
|
val imagePicker = rememberLauncherForActivityResult(
|
||||||
contract = ActivityResultContracts.GetContent()
|
contract = ActivityResultContracts.GetContent()
|
||||||
@@ -101,13 +89,7 @@ fun ImagePickerButton(
|
|||||||
Box(
|
Box(
|
||||||
modifier = modifier
|
modifier = modifier
|
||||||
.size(32.dp)
|
.size(32.dp)
|
||||||
.background(
|
|
||||||
color = backgroundColor,
|
|
||||||
shape = CircleShape
|
|
||||||
)
|
|
||||||
.combinedClickable(
|
.combinedClickable(
|
||||||
interactionSource = interactionSource,
|
|
||||||
indication = null,
|
|
||||||
onClick = { imagePicker.launch("image/*") },
|
onClick = { imagePicker.launch("image/*") },
|
||||||
onLongClick = {
|
onLongClick = {
|
||||||
if (ContextCompat.checkSelfPermission(context, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED) {
|
if (ContextCompat.checkSelfPermission(context, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED) {
|
||||||
@@ -122,7 +104,7 @@ fun ImagePickerButton(
|
|||||||
Icon(
|
Icon(
|
||||||
imageVector = Icons.Filled.PhotoCamera,
|
imageVector = Icons.Filled.PhotoCamera,
|
||||||
contentDescription = stringResource(com.bitchat.android.R.string.pick_image),
|
contentDescription = stringResource(com.bitchat.android.R.string.pick_image),
|
||||||
tint = MaterialTheme.colorScheme.onPrimary,
|
tint = Color.Gray,
|
||||||
modifier = Modifier.size(20.dp)
|
modifier = Modifier.size(20.dp)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user