From a5dc628ab8717d2ba82b4d852749e698830366ae Mon Sep 17 00:00:00 2001 From: garan Date: Fri, 20 Jun 2025 11:13:21 +0100 Subject: [PATCH] Applies Spotless --- .../androidify/navigation/MainNavigation.kt | 4 ---- .../androidify/vertexai/FirebaseAiDataSource.kt | 4 ++-- .../androidify/util/LocalFileProvider.kt | 9 ++++++--- .../androidify/camera/CameraControls.kt | 4 ++-- .../developers/androidify/camera/CameraLayout.kt | 10 +++++----- .../developers/androidify/camera/CameraScreen.kt | 16 ++++++++-------- .../androidify/camera/CameraViewfinder.kt | 10 +++++----- .../developers/androidify/camera/ZoomState.kt | 3 +-- .../androidify/creation/CreationScreenTest.kt | 3 --- .../androidify/creation/CreationScreen.kt | 7 +++++-- .../developers/androidify/home/HomeScreen.kt | 6 ++---- 11 files changed, 36 insertions(+), 40 deletions(-) diff --git a/app/src/main/java/com/android/developers/androidify/navigation/MainNavigation.kt b/app/src/main/java/com/android/developers/androidify/navigation/MainNavigation.kt index d14c48aa..1ff5936b 100644 --- a/app/src/main/java/com/android/developers/androidify/navigation/MainNavigation.kt +++ b/app/src/main/java/com/android/developers/androidify/navigation/MainNavigation.kt @@ -29,16 +29,12 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue -import androidx.compose.ui.graphics.TransformOrigin import androidx.compose.ui.unit.IntOffset -import androidx.lifecycle.viewmodel.navigation3.ViewModelStoreNavEntryDecorator import androidx.lifecycle.viewmodel.navigation3.rememberViewModelStoreNavEntryDecorator -import androidx.navigation3.runtime.SavedStateNavEntryDecorator import androidx.navigation3.runtime.entry import androidx.navigation3.runtime.entryProvider import androidx.navigation3.runtime.rememberSavedStateNavEntryDecorator import androidx.navigation3.ui.NavDisplay -import androidx.navigation3.ui.SceneSetupNavEntryDecorator import com.android.developers.androidify.camera.CameraPreviewScreen import com.android.developers.androidify.creation.CreationScreen import com.android.developers.androidify.home.AboutScreen diff --git a/core/network/src/main/java/com/android/developers/androidify/vertexai/FirebaseAiDataSource.kt b/core/network/src/main/java/com/android/developers/androidify/vertexai/FirebaseAiDataSource.kt index 434ef2be..24c9d6a5 100644 --- a/core/network/src/main/java/com/android/developers/androidify/vertexai/FirebaseAiDataSource.kt +++ b/core/network/src/main/java/com/android/developers/androidify/vertexai/FirebaseAiDataSource.kt @@ -24,6 +24,8 @@ import com.android.developers.androidify.model.ValidatedImage import com.google.firebase.Firebase import com.google.firebase.ai.GenerativeModel import com.google.firebase.ai.ImagenModel +import com.google.firebase.ai.ai +import com.google.firebase.ai.type.GenerativeBackend import com.google.firebase.ai.type.HarmBlockThreshold import com.google.firebase.ai.type.HarmCategory import com.google.firebase.ai.type.ImagenPersonFilterLevel @@ -34,8 +36,6 @@ import com.google.firebase.ai.type.SafetySetting import com.google.firebase.ai.type.Schema import com.google.firebase.ai.type.content import com.google.firebase.ai.type.generationConfig -import com.google.firebase.ai.ai -import com.google.firebase.ai.type.GenerativeBackend import kotlinx.serialization.json.Json import kotlinx.serialization.json.booleanOrNull import kotlinx.serialization.json.decodeFromJsonElement diff --git a/core/util/src/main/java/com/android/developers/androidify/util/LocalFileProvider.kt b/core/util/src/main/java/com/android/developers/androidify/util/LocalFileProvider.kt index 387857eb..0b436e9a 100644 --- a/core/util/src/main/java/com/android/developers/androidify/util/LocalFileProvider.kt +++ b/core/util/src/main/java/com/android/developers/androidify/util/LocalFileProvider.kt @@ -25,12 +25,10 @@ import android.provider.MediaStore import androidx.annotation.WorkerThread import androidx.core.content.FileProvider import kotlinx.coroutines.CoroutineDispatcher -import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import java.io.File import java.io.FileOutputStream import java.io.IOException -import java.nio.file.Files import java.util.UUID import javax.inject.Inject import javax.inject.Named @@ -39,15 +37,20 @@ import javax.inject.Singleton interface LocalFileProvider { @WorkerThread suspend fun saveBitmapToFile(bitmap: Bitmap, file: File) + @WorkerThread suspend fun getFileFromCache(fileName: String): File + @WorkerThread suspend fun createCacheFile(fileName: String): File + @WorkerThread suspend fun saveToSharedStorage(file: File, fileName: String, mimeType: String): Uri fun sharingUriForFile(file: File): Uri + @WorkerThread suspend fun copyToInternalStorage(uri: Uri): File + @WorkerThread suspend fun saveUriToSharedStorage(inputUri: Uri, fileName: String, mimeType: String): Uri } @@ -104,7 +107,7 @@ open class LocalFileProviderImpl @Inject constructor( inputUri: Uri, fileName: String, mimeType: String, - ): Uri = withContext(ioDispatcher) { + ): Uri = withContext(ioDispatcher) { val (newUri, contentValues) = createSharedStorageEntry(fileName, mimeType) application.contentResolver.openOutputStream(newUri)?.use { outputStream -> application.contentResolver.openInputStream(inputUri)?.use { inputStream -> diff --git a/feature/camera/src/main/java/com/android/developers/androidify/camera/CameraControls.kt b/feature/camera/src/main/java/com/android/developers/androidify/camera/CameraControls.kt index ccc8b983..dce4d161 100644 --- a/feature/camera/src/main/java/com/android/developers/androidify/camera/CameraControls.kt +++ b/feature/camera/src/main/java/com/android/developers/androidify/camera/CameraControls.kt @@ -45,7 +45,7 @@ internal fun CameraControls( ZoomToolbar( defaultZoomOptions = defaultZoomOptions, zoomLevel = zoomLevel, - onZoomLevelSelected = onZoomLevelSelected + onZoomLevelSelected = onZoomLevelSelected, ) Spacer(Modifier.height(12.dp)) Row(verticalAlignment = Alignment.CenterVertically) { @@ -74,7 +74,7 @@ private fun CameraControlsPreview() { canFlipCamera = true, flipCameraDirectionClicked = { }, detectedPose = true, - zoomLevel = {0.4f}, + zoomLevel = { 0.4f }, onZoomLevelSelected = {}, defaultZoomOptions = listOf(.6f, 1f), ) diff --git a/feature/camera/src/main/java/com/android/developers/androidify/camera/CameraLayout.kt b/feature/camera/src/main/java/com/android/developers/androidify/camera/CameraLayout.kt index c807ae63..a19395af 100644 --- a/feature/camera/src/main/java/com/android/developers/androidify/camera/CameraLayout.kt +++ b/feature/camera/src/main/java/com/android/developers/androidify/camera/CameraLayout.kt @@ -73,7 +73,7 @@ internal fun CameraLayout( ) { val mContext = LocalContext.current var isCameraLeft by remember { mutableStateOf(false) } - LifecycleStartEffect(Unit){ + LifecycleStartEffect(Unit) { val displayManager = mContext.getSystemService(Context.DISPLAY_SERVICE) as DisplayManager val displayListener = object : DisplayManager.DisplayListener { override fun onDisplayChanged(displayId: Int) { @@ -115,7 +115,7 @@ internal fun CameraLayout( zoomButton, guideText, guide, - isCameraLeft + isCameraLeft, ) this.maxWidth > maxHeight && allowsFullContent() -> CompactHorizontalCameraLayout( @@ -472,9 +472,9 @@ private fun VerticalControlsLayout( Row( modifier = modifier, verticalAlignment = Alignment.CenterVertically, - horizontalArrangement = if(isCameraLeft) Arrangement.End else Arrangement.Start, + horizontalArrangement = if (isCameraLeft) Arrangement.End else Arrangement.Start, ) { - if(isCameraLeft){ + if (isCameraLeft) { if (zoomButton != null) zoomButton(Modifier) Spacer(Modifier.width(12.dp)) Column(horizontalAlignment = Alignment.CenterHorizontally) { @@ -484,7 +484,7 @@ private fun VerticalControlsLayout( captureButton(Modifier) Spacer(modifier = Modifier.weight(1f)) } - }else{ + } else { Column(horizontalAlignment = Alignment.CenterHorizontally) { Box(Modifier.weight(1f), contentAlignment = Alignment.Center) { if (flipCameraButton != null) flipCameraButton(Modifier) diff --git a/feature/camera/src/main/java/com/android/developers/androidify/camera/CameraScreen.kt b/feature/camera/src/main/java/com/android/developers/androidify/camera/CameraScreen.kt index 5b7eef35..80b649fd 100644 --- a/feature/camera/src/main/java/com/android/developers/androidify/camera/CameraScreen.kt +++ b/feature/camera/src/main/java/com/android/developers/androidify/camera/CameraScreen.kt @@ -146,7 +146,7 @@ fun CameraPreviewScreen( shouldShowRearCameraFeature = viewModel::shouldShowRearDisplayFeature, toggleRearCameraFeature = { viewModel.toggleRearDisplayFeature(activity) }, isRearCameraEnabled = uiState.isRearCameraActive, - cameraSessionId = uiState.cameraSessionId + cameraSessionId = uiState.cameraSessionId, ) } } else { @@ -304,13 +304,13 @@ private fun CameraPreviewContent( toggleRearCameraFeature: () -> Unit = {}, isRearCameraEnabled: Boolean = false, ) { - val scope = rememberCoroutineScope() + val scope = rememberCoroutineScope() val zoomState = remember(cameraSessionId) { - ZoomState( - initialZoomLevel = zoomLevel(), - onChangeZoomLevel = onChangeZoomLevel, - zoomRange = zoomRange, - ) + ZoomState( + initialZoomLevel = zoomLevel(), + onChangeZoomLevel = onChangeZoomLevel, + zoomRange = zoomRange, + ) } // Delegate the layout to the stateless version StatelessCameraPreviewContent( @@ -321,7 +321,7 @@ private fun CameraPreviewContent( surfaceRequest = surfaceRequest, autofocusUiState = autofocusUiState, tapToFocus = tapToFocus, - onScaleZoom = { scope.launch { zoomState.scaleZoom(it) }}, + onScaleZoom = { scope.launch { zoomState.scaleZoom(it) } }, modifier = viewfinderModifier.onSizeChanged { size -> // Apply modifier from slot if (size.height > 0) { aspectRatio = calculateCorrectAspectRatio(size.height, size.width, aspectRatio) diff --git a/feature/camera/src/main/java/com/android/developers/androidify/camera/CameraViewfinder.kt b/feature/camera/src/main/java/com/android/developers/androidify/camera/CameraViewfinder.kt index 7a614c35..475a7f45 100644 --- a/feature/camera/src/main/java/com/android/developers/androidify/camera/CameraViewfinder.kt +++ b/feature/camera/src/main/java/com/android/developers/androidify/camera/CameraViewfinder.kt @@ -47,11 +47,11 @@ private val TAP_TO_FOCUS_INDICATOR_SIZE = 48.dp @Composable internal fun CameraViewfinder( - surfaceRequest: SurfaceRequest, - autofocusUiState: AutofocusUiState, - tapToFocus: (tapCoords: Offset) -> Unit, - onScaleZoom: (zoomScaleFactor: Float) -> Unit, - modifier: Modifier = Modifier, + surfaceRequest: SurfaceRequest, + autofocusUiState: AutofocusUiState, + tapToFocus: (tapCoords: Offset) -> Unit, + onScaleZoom: (zoomScaleFactor: Float) -> Unit, + modifier: Modifier = Modifier, ) { val onScaleCurrentZoom by rememberUpdatedState(onScaleZoom) val currentTapToFocus by rememberUpdatedState(tapToFocus) diff --git a/feature/camera/src/main/java/com/android/developers/androidify/camera/ZoomState.kt b/feature/camera/src/main/java/com/android/developers/androidify/camera/ZoomState.kt index 506f521a..8f30bf5a 100644 --- a/feature/camera/src/main/java/com/android/developers/androidify/camera/ZoomState.kt +++ b/feature/camera/src/main/java/com/android/developers/androidify/camera/ZoomState.kt @@ -13,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package com.android.developers.androidify.camera import androidx.compose.animation.core.Animatable @@ -69,4 +68,4 @@ class ZoomState( } } } -} \ No newline at end of file +} diff --git a/feature/creation/src/androidTest/java/com/android/developers/androidify/creation/CreationScreenTest.kt b/feature/creation/src/androidTest/java/com/android/developers/androidify/creation/CreationScreenTest.kt index 8c21d020..46624d90 100644 --- a/feature/creation/src/androidTest/java/com/android/developers/androidify/creation/CreationScreenTest.kt +++ b/feature/creation/src/androidTest/java/com/android/developers/androidify/creation/CreationScreenTest.kt @@ -19,8 +19,6 @@ import android.net.Uri import androidx.activity.ComponentActivity import androidx.compose.material3.SnackbarHostState import androidx.compose.ui.test.assertIsDisplayed -import androidx.compose.ui.test.assertIsEnabled -import androidx.compose.ui.test.assertIsNotEnabled import androidx.compose.ui.test.assertIsOff import androidx.compose.ui.test.assertIsOn import androidx.compose.ui.test.junit4.createAndroidComposeRule @@ -223,7 +221,6 @@ class CreationScreenTest { } } - composeTestRule.onNodeWithText(headlineText).assertIsDisplayed() // TODO: Fails in pixel 5 // composeTestRule.onNodeWithText(writingChipText).assertIsDisplayed().assertIsNotEnabled() diff --git a/feature/creation/src/main/java/com/android/developers/androidify/creation/CreationScreen.kt b/feature/creation/src/main/java/com/android/developers/androidify/creation/CreationScreen.kt index f0e1d924..ca80bde4 100644 --- a/feature/creation/src/main/java/com/android/developers/androidify/creation/CreationScreen.kt +++ b/feature/creation/src/main/java/com/android/developers/androidify/creation/CreationScreen.kt @@ -167,8 +167,11 @@ fun CreationScreen( creationViewModel.onBackPress() } LaunchedEffect(Unit) { - if (fileName != null) creationViewModel.onImageSelected(fileName.toUri()) - else creationViewModel.onImageSelected(null) + if (fileName != null) { + creationViewModel.onImageSelected(fileName.toUri()) + } else { + creationViewModel.onImageSelected(null) + } } val pickMedia = rememberLauncherForActivityResult(PickVisualMedia()) { uri -> if (uri != null) { diff --git a/feature/home/src/main/java/com/android/developers/androidify/home/HomeScreen.kt b/feature/home/src/main/java/com/android/developers/androidify/home/HomeScreen.kt index c4ec8700..3de5c427 100644 --- a/feature/home/src/main/java/com/android/developers/androidify/home/HomeScreen.kt +++ b/feature/home/src/main/java/com/android/developers/androidify/home/HomeScreen.kt @@ -79,7 +79,6 @@ import androidx.compose.ui.layout.onLayoutRectChanged import androidx.compose.ui.layout.onVisibilityChanged import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalInspectionMode -import androidx.compose.ui.platform.LocalView import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.vectorResource @@ -543,9 +542,8 @@ private fun VideoPlayer( .background(MaterialTheme.colorScheme.surfaceContainerLowest) .onVisibilityChanged( minDurationMs = 100, - minFractionVisible = 1f - ) - { fullyVisible -> videoFullyOnScreen = fullyVisible } + minFractionVisible = 1f, + ) { fullyVisible -> videoFullyOnScreen = fullyVisible } .then(modifier), ) { player?.let { currentPlayer ->