metadata key: mccStatus
NonMCC
source logs
| filter ($d.cx_rum.log_context.message ~ 'MCC2MakeMccPaymentUseCase: Did not create card token')
| extract $d.cx_rum.log_context.data into $d.data using jsonobject()
| create $d.error from $d.data['MCC2MakeMccPaymentUseCase.errorCondition']
| create $d.pspReference from $d.data['MCC2MakeMccPaymentUseCase.pspReference']
| create $d.caused_by from (
if($d.error == null || $d.error == '',
Proof-of-concept(s) for implementing incremental update on private Android apps without using the Google Play store.
One of the difficulties of maintaining a private app (which does not publish to the Google Play store) is to implement a updating scheme. With Google Play store, the logic of app update is handled by the ingenious minds at Google, and for us developers, whenever we build a new version, we simply upload the latest APK to the store, and we done. However with a private app, we'll have to do it ourselves.
How to setup Pi to serve RGB and Thermal footage from cameras.
We're using the Logitech webcam c270 and Seek Compat for RGB and Thermal respectively.
Download mediamtx binary from: https://github.com/bluenviron/mediamtx/releases
Latest version is v1.8.3 as of writing, change it accordingly.
Some may-be-useful adb commands
# Open Android settings screen
adb shell am start -a com.android.settings.TTS_SETTINGS
# Set default Text-to-Speech (TTS) engine
adb shell settings put secure tts_default_synth <tts_engine>
adb shell settings put secure tts_default_synth com.google.android.tts # set to Google TTS| /** | |
| * Wrapper composable for checking permissions at runtime | |
| */ | |
| @OptIn(ExperimentalPermissionsApi::class) | |
| @Composable | |
| fun PermissionWrapper( | |
| activity: ComponentActivity, | |
| composable: @Composable () -> Unit, | |
| ) { | |
| val permissionStates = rememberMultiplePermissionsState( |