Auto-Commit: 2026-08-25 06:51:35

This commit is contained in:
Jannik committed 2026-08-25 06:51:35 +02:00
1 parent c50307c61e
commit bcca645d82
8 files changed
+66 -105

No files matched your search

@@ -64,3 +64,4 @@
11 81 0 C:/GitHub/Schnappix/android/app/.cxx/RelWithDebInfo/3x5j4n2e/arm64-v8a/CMakeFiles/cmake.verify_globs 5250f1b80cb55465
4 35 0 C:/GitHub/Schnappix/android/app/.cxx/RelWithDebInfo/3x5j4n2e/arm64-v8a/CMakeFiles/cmake.verify_globs 5250f1b80cb55465
3 31 0 C:/GitHub/Schnappix/android/app/.cxx/RelWithDebInfo/3x5j4n2e/arm64-v8a/CMakeFiles/cmake.verify_globs 5250f1b80cb55465
5 57 0 C:/GitHub/Schnappix/android/app/.cxx/RelWithDebInfo/3x5j4n2e/arm64-v8a/CMakeFiles/cmake.verify_globs 5250f1b80cb55465
@@ -2,41 +2,41 @@ C/C++ Structured Logg
e
cC:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\arm64-v8a\additional_project_files.txtC
A
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ¦�ƪƒ4Å, Üû—ö‚4d
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ïö†ºƒ4Å, Üû—ö‚4d
b
`C:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\arm64-v8a\android_gradle_build.json  ¦�ƪƒ4û" Þû—ö‚4i
`C:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\arm64-v8a\android_gradle_build.json  ïö†ºƒ4û" Þû—ö‚4i
g
eC:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\arm64-v8a\android_gradle_build_mini.json  ¦�ƪƒ4ï —ü—ö‚4V
eC:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\arm64-v8a\android_gradle_build_mini.json  ïö†ºƒ4ï —ü—ö‚4V
T
RC:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\arm64-v8a\build.ninja  ¦�ƪƒ4œÞ Íø—ö‚4Z
RC:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\arm64-v8a\build.ninja  ïö†ºƒ4œÞ Íø—ö‚4Z
X
VC:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\arm64-v8a\build.ninja.txt  ¦�ƪƒ4_
VC:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\arm64-v8a\build.ninja.txt  ïö†ºƒ4_
]
[C:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\arm64-v8a\build_file_index.txt  ¦�ƪƒ4� ™ü—ö‚4`
[C:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\arm64-v8a\build_file_index.txt  ïö†ºƒ4� ™ü—ö‚4`
^
\C:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\arm64-v8a\compile_commands.json  ¦�ƪƒ4‘Ø Ëø—ö‚4d
\C:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\arm64-v8a\compile_commands.json  ïö†ºƒ4‘Ø Ëø—ö‚4d
b
`C:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\arm64-v8a\compile_commands.json.bin  ¦�ƪƒ4 Ê„ Ëø—ö‚4j
`C:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\arm64-v8a\compile_commands.json.bin  ïö†ºƒ4 Ê„ Ëø—ö‚4j
h
fC:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\arm64-v8a\metadata_generation_command.txt  ¦�ƪƒ4
fC:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\arm64-v8a\metadata_generation_command.txt  ïö†ºƒ4
¸ ˜ü—ö‚4]
[
YC:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\arm64-v8a\prefab_config.json  ¦�ƪƒ4 € ˜ü—ö‚4b
YC:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\arm64-v8a\prefab_config.json  ïö†ºƒ4 € ˜ü—ö‚4b
`
^C:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\arm64-v8a\symbol_folder_index.txt  ¦�ƪƒ4␍ ] ˜ü—ö‚4{
^C:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\arm64-v8a\symbol_folder_index.txt  ïö†ºƒ4␍ ] ˜ü—ö‚4{
y
wC:\GitHub\Schnappix\node_modules\react-native-gesture-handler\android\build\generated\source\codegen\jni\CMakeLists.txt  ¦�ƪƒ4␍¾ ‡•‚ö‚4v
wC:\GitHub\Schnappix\node_modules\react-native-gesture-handler\android\build\generated\source\codegen\jni\CMakeLists.txt  ïö†ºƒ4␍¾ ‡•‚ö‚4v
t
rC:\GitHub\Schnappix\node_modules\react-native-reanimated\android\build\generated\source\codegen\jni\CMakeLists.txt  ¦�ƪƒ4ö ’•‚ö‚4µ
rC:\GitHub\Schnappix\node_modules\react-native-reanimated\android\build\generated\source\codegen\jni\CMakeLists.txt  ïö†ºƒ4ö ’•‚ö‚4µ
²
¯C:\GitHub\Schnappix\node_modules\react-native-reanimated\android\build\intermediates\prefab_package_configuration\release\prefabReleaseConfigurePackage\prefab_publication.json  ¦�ƪƒ4Y
¯C:\GitHub\Schnappix\node_modules\react-native-reanimated\android\build\intermediates\prefab_package_configuration\release\prefabReleaseConfigurePackage\prefab_publication.json  ïö†ºƒ4Y
W
UC:\GitHub\Schnappix\node_modules\react-native-svg\android\src\main\jni\CMakeLists.txt  ¦�ƪƒ4½ œ§ØÖç3u
UC:\GitHub\Schnappix\node_modules\react-native-svg\android\src\main\jni\CMakeLists.txt  ïö†ºƒ4½ œ§ØÖç3u
s
qC:\GitHub\Schnappix\node_modules\react-native-view-shot\android\build\generated\source\codegen\jni\CMakeLists.txt  ¦�ƪƒ4ê û”‚ö‚4t
qC:\GitHub\Schnappix\node_modules\react-native-view-shot\android\build\generated\source\codegen\jni\CMakeLists.txt  ïö†ºƒ4ê û”‚ö‚4t
r
pC:\GitHub\Schnappix\node_modules\react-native-worklets\android\build\generated\source\codegen\jni\CMakeLists.txt  ¦�ƪƒ4ê Ÿ•‚ö‚4³
pC:\GitHub\Schnappix\node_modules\react-native-worklets\android\build\generated\source\codegen\jni\CMakeLists.txt  ïö†ºƒ4ê Ÿ•‚ö‚4³
°
­C:\GitHub\Schnappix\node_modules\react-native-worklets\android\build\intermediates\prefab_package_configuration\release\prefabReleaseConfigurePackage\prefab_publication.json  ¦�ƪƒ4k
­C:\GitHub\Schnappix\node_modules\react-native-worklets\android\build\intermediates\prefab_package_configuration\release\prefabReleaseConfigurePackage\prefab_publication.json  ïö†ºƒ4k
i
gC:\GitHub\Schnappix\node_modules\react-native\ReactAndroid\cmake-utils\default-app-setup\CMakeLists.txt  ¦�ƪƒ4ð ®¡ÈÑç3
gC:\GitHub\Schnappix\node_modules\react-native\ReactAndroid\cmake-utils\default-app-setup\CMakeLists.txt  ïö†ºƒ4ð ®¡ÈÑç3
@@ -64,3 +64,4 @@
4 79 0 C:/GitHub/Schnappix/android/app/.cxx/RelWithDebInfo/3x5j4n2e/armeabi-v7a/CMakeFiles/cmake.verify_globs 1eb2d1da6ebc2e74
5 47 0 C:/GitHub/Schnappix/android/app/.cxx/RelWithDebInfo/3x5j4n2e/armeabi-v7a/CMakeFiles/cmake.verify_globs 1eb2d1da6ebc2e74
3 29 0 C:/GitHub/Schnappix/android/app/.cxx/RelWithDebInfo/3x5j4n2e/armeabi-v7a/CMakeFiles/cmake.verify_globs 1eb2d1da6ebc2e74
4 57 0 C:/GitHub/Schnappix/android/app/.cxx/RelWithDebInfo/3x5j4n2e/armeabi-v7a/CMakeFiles/cmake.verify_globs 1eb2d1da6ebc2e74
@@ -2,41 +2,41 @@ C/C++ Structured Logi
g
eC:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\armeabi-v7a\additional_project_files.txtC
A
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  â�ƪƒ4ý, Óì™ö‚4f
?com.android.build.gradle.internal.cxx.io.EncodedFileFingerPrint  ÿ÷†ºƒ4ý, Óì™ö‚4f
d
bC:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\armeabi-v7a\android_gradle_build.json  â�ƪƒ4�# Øì™ö‚4k
bC:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\armeabi-v7a\android_gradle_build.json  ÿ÷†ºƒ4�# Øì™ö‚4k
i
gC:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\armeabi-v7a\android_gradle_build_mini.json  â�ƪƒ4‘ ˆí™ö‚4X
gC:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\armeabi-v7a\android_gradle_build_mini.json  ÿ÷†ºƒ4‘ ˆí™ö‚4X
V
TC:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\armeabi-v7a\build.ninja  â�ƪƒ4Áå  é™ö‚4\
TC:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\armeabi-v7a\build.ninja  ÿ÷†ºƒ4Áå  é™ö‚4\
Z
XC:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\armeabi-v7a\build.ninja.txt  â�ƪƒ4a
XC:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\armeabi-v7a\build.ninja.txt  ÿ÷†ºƒ4a
_
]C:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\armeabi-v7a\build_file_index.txt  â�ƪƒ4� �í™ö‚4b
]C:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\armeabi-v7a\build_file_index.txt  ÿ÷†ºƒ4� �í™ö‚4b
`
^C:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\armeabi-v7a\compile_commands.json  â�ƪƒ4´à žé™ö‚4f
^C:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\armeabi-v7a\compile_commands.json  ÿ÷†ºƒ4´à žé™ö‚4f
d
bC:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\armeabi-v7a\compile_commands.json.bin  â�ƪƒ4 ò„ žé™ö‚4l
bC:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\armeabi-v7a\compile_commands.json.bin  ÿ÷†ºƒ4 ò„ žé™ö‚4l
j
hC:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\armeabi-v7a\metadata_generation_command.txt  â�ƪƒ4
hC:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\armeabi-v7a\metadata_generation_command.txt  ÿ÷†ºƒ4
Ä Ší™ö‚4_
]
[C:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\armeabi-v7a\prefab_config.json  â�ƪƒ4 € ‹í™ö‚4d
[C:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\armeabi-v7a\prefab_config.json  ÿ÷†ºƒ4 € ‹í™ö‚4d
b
`C:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\armeabi-v7a\symbol_folder_index.txt  â�ƪƒ4␍ _ Œí™ö‚4{
`C:\GitHub\Schnappix\android\app\.cxx\RelWithDebInfo\3x5j4n2e\armeabi-v7a\symbol_folder_index.txt  ÿ÷†ºƒ4␍ _ Œí™ö‚4{
y
wC:\GitHub\Schnappix\node_modules\react-native-gesture-handler\android\build\generated\source\codegen\jni\CMakeLists.txt  â�ƪƒ4␍¾ ‡•‚ö‚4v
wC:\GitHub\Schnappix\node_modules\react-native-gesture-handler\android\build\generated\source\codegen\jni\CMakeLists.txt  ÿ÷†ºƒ4␍¾ ‡•‚ö‚4v
t
rC:\GitHub\Schnappix\node_modules\react-native-reanimated\android\build\generated\source\codegen\jni\CMakeLists.txt  â�ƪƒ4ö ’•‚ö‚4µ
rC:\GitHub\Schnappix\node_modules\react-native-reanimated\android\build\generated\source\codegen\jni\CMakeLists.txt  ÿ÷†ºƒ4ö ’•‚ö‚4µ
²
¯C:\GitHub\Schnappix\node_modules\react-native-reanimated\android\build\intermediates\prefab_package_configuration\release\prefabReleaseConfigurePackage\prefab_publication.json  â�ƪƒ4Y
¯C:\GitHub\Schnappix\node_modules\react-native-reanimated\android\build\intermediates\prefab_package_configuration\release\prefabReleaseConfigurePackage\prefab_publication.json  ÿ÷†ºƒ4Y
W
UC:\GitHub\Schnappix\node_modules\react-native-svg\android\src\main\jni\CMakeLists.txt  â�ƪƒ4½ œ§ØÖç3u
UC:\GitHub\Schnappix\node_modules\react-native-svg\android\src\main\jni\CMakeLists.txt  ÿ÷†ºƒ4½ œ§ØÖç3u
s
qC:\GitHub\Schnappix\node_modules\react-native-view-shot\android\build\generated\source\codegen\jni\CMakeLists.txt  â�ƪƒ4ê û”‚ö‚4t
qC:\GitHub\Schnappix\node_modules\react-native-view-shot\android\build\generated\source\codegen\jni\CMakeLists.txt  ÿ÷†ºƒ4ê û”‚ö‚4t
r
pC:\GitHub\Schnappix\node_modules\react-native-worklets\android\build\generated\source\codegen\jni\CMakeLists.txt  â�ƪƒ4ê Ÿ•‚ö‚4³
pC:\GitHub\Schnappix\node_modules\react-native-worklets\android\build\generated\source\codegen\jni\CMakeLists.txt  ÿ÷†ºƒ4ê Ÿ•‚ö‚4³
°
­C:\GitHub\Schnappix\node_modules\react-native-worklets\android\build\intermediates\prefab_package_configuration\release\prefabReleaseConfigurePackage\prefab_publication.json  â�ƪƒ4k
­C:\GitHub\Schnappix\node_modules\react-native-worklets\android\build\intermediates\prefab_package_configuration\release\prefabReleaseConfigurePackage\prefab_publication.json  ÿ÷†ºƒ4k
i
gC:\GitHub\Schnappix\node_modules\react-native\ReactAndroid\cmake-utils\default-app-setup\CMakeLists.txt  â�ƪƒ4ð ®¡ÈÑç3
gC:\GitHub\Schnappix\node_modules\react-native\ReactAndroid\cmake-utils\default-app-setup\CMakeLists.txt  ÿ÷†ºƒ4ð ®¡ÈÑç3
+2 -2
View File
@@ -92,8 +92,8 @@ android {
applicationId 'de.orfel.schnappix'
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 69
versionName "23.01.69"
versionCode 70
versionName "23.01.70"
buildConfigField "String", "REACT_NATIVE_RELEASE_LEVEL", "\"${findProperty('reactNativeReleaseLevel') ?: 'stable'}\""
}
+3 -3
View File
@@ -3,7 +3,7 @@
"newArchEnabled": true,
"name": "Schnappix",
"slug": "Schnappix",
"version": "23.01.69",
"version": "23.01.70",
"orientation": "landscape",
"icon": "./Icon.png",
"userInterfaceStyle": "dark",
@@ -13,7 +13,7 @@
},
"android": {
"package": "de.orfel.schnappix",
"versionCode": 69,
"versionCode": 70,
"usesCleartextTraffic": true,
"adaptiveIcon": {
"backgroundColor": "#050510",
@@ -75,4 +75,4 @@
}
}
}
}
}
@@ -99,65 +99,7 @@ class UsbContextWrapper(base: Context) : android.content.ContextWrapper(base), L
}
}
@Keep
class CenterCropTextureView(context: Context) : TextureView(context), IAspectRatio {
// We expect the camera to be 1920x1080 (16:9). We hardcode the initial aspect ratio
// to prevent the first layout pass from stretching the image into the container.
private var customAspectRatio = 1920.0 / 1080.0
override fun setAspectRatio(width: Int, height: Int) {
post {
val ratio = width.toDouble() / height
if (customAspectRatio != ratio) {
customAspectRatio = ratio
requestLayout()
}
}
}
override fun getSurfaceWidth(): Int = width
override fun getSurfaceHeight(): Int = height
override fun getSurface(): Surface? {
return try {
Surface(surfaceTexture)
} catch (e: Exception) {
null
}
}
override fun postUITask(task: () -> Unit) {
post {
task()
}
}
override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
var initialWidth = MeasureSpec.getSize(widthMeasureSpec)
var initialHeight = MeasureSpec.getSize(heightMeasureSpec)
if (customAspectRatio > 0) {
val viewAspectRatio = initialWidth.toDouble() / initialHeight
val diff = customAspectRatio / viewAspectRatio - 1
// To achieve "Center Crop" behavior instead of "Center Inside" (letterbox):
if (diff > 0) {
// Camera aspect ratio is wider than view (e.g. 16:9 camera on a 3:2 screen).
// To crop, we must match the view's height and expand the width beyond the screen.
initialWidth = (initialHeight * customAspectRatio).toInt()
} else {
// Camera aspect ratio is taller than view (e.g. 4:3 camera on a 16:9 screen).
// To crop, we must match the view's width and expand the height beyond the screen.
initialHeight = (initialWidth / customAspectRatio).toInt()
}
}
val wMeasureSpec = MeasureSpec.makeMeasureSpec(initialWidth, MeasureSpec.EXACTLY)
val hMeasureSpec = MeasureSpec.makeMeasureSpec(initialHeight, MeasureSpec.EXACTLY)
super.onMeasure(wMeasureSpec, hMeasureSpec)
}
}
@Keep
class UsbCameraView(context: Context, appContext: AppContext) : ExpoView(context, appContext) {
@@ -166,7 +108,7 @@ class UsbCameraView(context: Context, appContext: AppContext) : ExpoView(context
var sharedSafeContext: UsbContextWrapperJava? = null
}
private var textureView: CenterCropTextureView
private var textureView: AspectRatioTextureView
private val onCameraReady by EventDispatcher()
private val onCameraError by EventDispatcher()
@@ -193,10 +135,27 @@ class UsbCameraView(context: Context, appContext: AppContext) : ExpoView(context
}
val safeContextVal = sharedSafeContext!!
textureView = CenterCropTextureView(safeContextVal)
textureView = AspectRatioTextureView(safeContextVal)
val layoutParams = LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)
layoutParams.gravity = android.view.Gravity.CENTER
addView(textureView, layoutParams)
// Apply Center Crop Scaling via visual transform to bypass letterboxing and fill the container
textureView.addOnLayoutChangeListener { v, left, top, right, bottom, _, _, _, _ ->
val parent = v.parent as? android.view.View ?: return@addOnLayoutChangeListener
val parentW = parent.width.toFloat()
val parentH = parent.height.toFloat()
val viewW = (right - left).toFloat()
val viewH = (bottom - top).toFloat()
if (viewW > 0 && viewH > 0 && parentW > 0 && parentH > 0) {
val scaleX = parentW / viewW
val scaleY = parentH / viewH
val maxScale = kotlin.math.max(scaleX, scaleY)
v.scaleX = maxScale
v.scaleY = maxScale
}
}
try {
if (sharedCameraClient == null) {
val cameraRequest = CameraRequest.Builder()
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "schnappix",
"version": "23.01.69",
"version": "23.01.70",
"main": "index.ts",
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^6.7.2",
@@ -41,4 +41,4 @@
"web": "expo start --web"
},
"private": true
}
}