diff --git a/app/src/main/java/com/fastmask/data/local/TokenStorage.kt b/app/src/main/java/com/fastmask/data/local/TokenStorage.kt index f5ed142..06589e9 100644 --- a/app/src/main/java/com/fastmask/data/local/TokenStorage.kt +++ b/app/src/main/java/com/fastmask/data/local/TokenStorage.kt @@ -12,17 +12,19 @@ import javax.inject.Singleton class TokenStorage @Inject constructor( @ApplicationContext private val context: Context ) { - private val masterKey = MasterKey.Builder(context) - .setKeyScheme(MasterKey.KeyScheme.AES256_GCM) - .build() + private val sharedPreferences: SharedPreferences by lazy { + val masterKey = MasterKey.Builder(context) + .setKeyScheme(MasterKey.KeyScheme.AES256_GCM) + .build() - private val sharedPreferences: SharedPreferences = EncryptedSharedPreferences.create( - context, - PREFS_FILE_NAME, - masterKey, - EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV, - EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM - ) + EncryptedSharedPreferences.create( + context, + PREFS_FILE_NAME, + masterKey, + EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV, + EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM + ) + } fun saveToken(token: String) { sharedPreferences.edit().putString(KEY_API_TOKEN, token).apply() diff --git a/app/src/main/java/com/fastmask/ui/components/MaskedEmailCard.kt b/app/src/main/java/com/fastmask/ui/components/MaskedEmailCard.kt index 238fb13..c681446 100644 --- a/app/src/main/java/com/fastmask/ui/components/MaskedEmailCard.kt +++ b/app/src/main/java/com/fastmask/ui/components/MaskedEmailCard.kt @@ -49,7 +49,6 @@ fun MaskedEmailCard( modifier: Modifier = Modifier ) { val haptic = LocalHapticFeedback.current - val statusColors = FastMaskStatusColors.current val stateDescription = when (maskedEmail.state) { EmailState.ENABLED -> "Enabled" diff --git a/app/src/main/java/com/fastmask/ui/create/CreateMaskedEmailScreen.kt b/app/src/main/java/com/fastmask/ui/create/CreateMaskedEmailScreen.kt index 0bb3fc9..3674494 100644 --- a/app/src/main/java/com/fastmask/ui/create/CreateMaskedEmailScreen.kt +++ b/app/src/main/java/com/fastmask/ui/create/CreateMaskedEmailScreen.kt @@ -36,7 +36,6 @@ import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.compose.runtime.remember -import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.hapticfeedback.HapticFeedbackType @@ -48,7 +47,6 @@ import androidx.compose.ui.unit.dp import androidx.hilt.navigation.compose.hiltViewModel import com.fastmask.domain.model.EmailState import kotlinx.coroutines.flow.collectLatest -import kotlinx.coroutines.launch @OptIn(ExperimentalMaterial3Api::class) @Composable @@ -59,7 +57,6 @@ fun CreateMaskedEmailScreen( val uiState by viewModel.uiState.collectAsState() val context = LocalContext.current val snackbarHostState = remember { SnackbarHostState() } - val scope = rememberCoroutineScope() val haptic = LocalHapticFeedback.current LaunchedEffect(Unit) { diff --git a/app/src/main/java/com/fastmask/ui/detail/MaskedEmailDetailScreen.kt b/app/src/main/java/com/fastmask/ui/detail/MaskedEmailDetailScreen.kt index 405c8df..5d4acf1 100644 --- a/app/src/main/java/com/fastmask/ui/detail/MaskedEmailDetailScreen.kt +++ b/app/src/main/java/com/fastmask/ui/detail/MaskedEmailDetailScreen.kt @@ -475,10 +475,10 @@ private fun EmailDetailContent( enabled = !uiState.isUpdating ) - if (uiState.error != null) { + uiState.error?.let { error -> Spacer(modifier = Modifier.height(16.dp)) Text( - text = uiState.error!!, + text = error, color = MaterialTheme.colorScheme.error, style = MaterialTheme.typography.bodyMedium ) diff --git a/app/src/main/java/com/fastmask/ui/list/MaskedEmailListScreen.kt b/app/src/main/java/com/fastmask/ui/list/MaskedEmailListScreen.kt index 4a168d1..b7043d5 100644 --- a/app/src/main/java/com/fastmask/ui/list/MaskedEmailListScreen.kt +++ b/app/src/main/java/com/fastmask/ui/list/MaskedEmailListScreen.kt @@ -21,7 +21,7 @@ import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Add import androidx.compose.material.icons.filled.Close import androidx.compose.material.icons.filled.FilterList -import androidx.compose.material.icons.filled.Logout +import androidx.compose.material.icons.automirrored.filled.Logout import androidx.compose.material.icons.filled.Search import androidx.compose.material3.DropdownMenu import androidx.compose.material3.DropdownMenuItem @@ -140,7 +140,7 @@ fun MaskedEmailListScreen( } ) { Icon( - imageVector = Icons.Default.Logout, + imageVector = Icons.AutoMirrored.Filled.Logout, contentDescription = null ) }