diff options
Diffstat (limited to 'data/settings/src/main/java/com/google/jetpackcamera/settings/SettingsRepository.kt')
-rw-r--r-- | data/settings/src/main/java/com/google/jetpackcamera/settings/SettingsRepository.kt | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/data/settings/src/main/java/com/google/jetpackcamera/settings/SettingsRepository.kt b/data/settings/src/main/java/com/google/jetpackcamera/settings/SettingsRepository.kt new file mode 100644 index 0000000..637a1ab --- /dev/null +++ b/data/settings/src/main/java/com/google/jetpackcamera/settings/SettingsRepository.kt @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.google.jetpackcamera.settings + +import com.google.jetpackcamera.settings.model.AspectRatio +import com.google.jetpackcamera.settings.model.CameraAppSettings +import com.google.jetpackcamera.settings.model.CaptureMode +import com.google.jetpackcamera.settings.model.DarkMode +import com.google.jetpackcamera.settings.model.FlashMode +import kotlinx.coroutines.flow.Flow + +/** + * Data layer for settings. + */ +interface SettingsRepository { + + val cameraAppSettings: Flow<CameraAppSettings> + + suspend fun updateDefaultToFrontCamera() + + suspend fun updateDarkModeStatus(darkMode: DarkMode) + + suspend fun updateFlashModeStatus(flashMode: FlashMode) + + // set device values from cameraUseCase + suspend fun updateAvailableCameraLens(frontLensAvailable: Boolean, backLensAvailable: Boolean) + + suspend fun updateAspectRatio(aspectRatio: AspectRatio) + + suspend fun updateCaptureMode(captureMode: CaptureMode) + + suspend fun getCameraAppSettings(): CameraAppSettings +} |