mirror of
https://github.com/rhunk/SnapEnhance.git
synced 2025-04-29 22:24:35 +02:00
feat(core): startup default camera
Signed-off-by: rhunk <101876869+rhunk@users.noreply.github.com>
This commit is contained in:
parent
b6aa4857d2
commit
3394bfce47
@ -931,6 +931,10 @@
|
||||
"name": "Force Camera Source Encoding",
|
||||
"description": "Forces the camera source encoding"
|
||||
},
|
||||
"startup_default_camera": {
|
||||
"name": "Startup Default Camera",
|
||||
"description": "Sets the default camera when opening Snapchat"
|
||||
},
|
||||
"hevc_recording": {
|
||||
"name": "HEVC Recording",
|
||||
"description": "Uses HEVC (H.265) codec for video recording"
|
||||
@ -1403,6 +1407,10 @@
|
||||
"delete_message": "Delete Message",
|
||||
"mark_as_read": "Mark as Read",
|
||||
"custom_emoji_reaction": "Custom Emoji Reaction"
|
||||
},
|
||||
"startup_default_camera": {
|
||||
"front": "Front Camera",
|
||||
"back": "Back Camera"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -54,6 +54,7 @@ class Camera : ConfigContainer() {
|
||||
val backCustomFrameRate = unique("back_custom_frame_rate", *customFrameRates) { requireRestart(); addFlags(ConfigFlag.NO_TRANSLATE) }
|
||||
val hevcRecording = boolean("hevc_recording") { requireRestart() }
|
||||
val forceCameraSourceEncoding = boolean("force_camera_source_encoding")
|
||||
val startupDefaultCamera = unique("startup_default_camera", "front", "back") { requireRestart() }
|
||||
val overrideFrontResolution get() = _overrideFrontResolution
|
||||
val overrideBackResolution get() = _overrideBackResolution
|
||||
|
||||
|
@ -25,6 +25,7 @@ enum class DatabaseType(
|
||||
val fileName: String
|
||||
) {
|
||||
MAIN("main.db"),
|
||||
CORE("core.db"),
|
||||
ARROYO("arroyo.db"),
|
||||
SIMPLE_DB_HELPER("simple_db_helper.db")
|
||||
}
|
||||
@ -508,4 +509,29 @@ class DatabaseAccess(
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
fun setCameraType(cameraType: String) {
|
||||
useDatabase(DatabaseType.CORE, writeMode = true)?.use { database ->
|
||||
database.performOperation {
|
||||
if (rawQuery("SELECT * FROM Preferences WHERE 'key' = 'CAMERA~CAMERA_TYPE'", null).use { !it.moveToFirst() }) {
|
||||
insert(
|
||||
"Preferences",
|
||||
null,
|
||||
ContentValues().apply {
|
||||
put("key", "CAMERA~CAMERA_TYPE")
|
||||
put("type", 0)
|
||||
put("stringValue", cameraType)
|
||||
}
|
||||
)
|
||||
} else update(
|
||||
"Preferences",
|
||||
ContentValues().apply {
|
||||
put("stringValue", cameraType)
|
||||
},
|
||||
"key = ?",
|
||||
arrayOf("CAMERA~CAMERA_TYPE")
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -27,6 +27,10 @@ class CameraTweaks : Feature("Camera Tweaks") {
|
||||
override fun init() {
|
||||
val config = context.config.camera
|
||||
|
||||
config.startupDefaultCamera.getNullable()?.let { defaultCamera ->
|
||||
context.database.setCameraType(if (defaultCamera == "back") "BACK_FACING" else "FRONT_FACING")
|
||||
}
|
||||
|
||||
val frontCameraId by lazy {
|
||||
runCatching { context.androidContext.getSystemService(CameraManager::class.java).run {
|
||||
cameraIdList.firstOrNull { getCameraCharacteristics(it).get(CameraCharacteristics.LENS_FACING) == CameraCharacteristics.LENS_FACING_FRONT }
|
||||
|
Loading…
x
Reference in New Issue
Block a user