Skip to content

Instantly share code, notes, and snippets.

View FStranieri's full-sized avatar

Francesco Stranieri FStranieri

View GitHub Profile
@FStranieri
FStranieri / TextRecognitionComposable.kt
Last active December 8, 2021 17:13
The list of available languages to translate on Cloud
{
...
LazyColumn( horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.spacedBy(8.dp)) {
languages?.let { list ->
items(list.toList(), key = { it }) { lang ->
BuildTransLangCard(lang = lang, listener = listener)
}
}
@FStranieri
FStranieri / TextRecognitionComposable.kt
Created December 8, 2021 17:07
Animation for in and out of the translated text
@Composable
fun BindTextRecognitionOutput(
textRecognitionViewModel: TextRecognitionViewModel,
textTranslationViewModel: TextTranslationViewModel,
listener: TextRecognitionComposableInterface
) {
//animation based on this value: if the translation is ready, show up it and hide the language choice and viceversa
val showTranslation = remember { textTranslationViewModel.showTranslation }
ConstraintLayout(Modifier.fillMaxSize()) {
@FStranieri
FStranieri / TextRecognitionComposable.kt
Last active December 8, 2021 17:00
Animation for in and out of the available text translation languages
@Composable
fun BindTextRecognitionOutput(
textRecognitionViewModel: TextRecognitionViewModel,
textTranslationViewModel: TextTranslationViewModel,
listener: TextRecognitionComposableInterface
) {
//animation based on this value
val showTranslationLanguages = remember { textTranslationViewModel.showLanguagesState }
ConstraintLayout(Modifier.fillMaxSize()) {
@FStranieri
FStranieri / MainActivity.kt
Created November 29, 2021 15:27
Managing permissions with Compose
@ExperimentalPermissionsApi
@Composable
private fun BuildCameraUI() {
val cameraPermissionState = rememberPermissionState(Manifest.permission.CAMERA)
PermissionRequired(
permissionState = cameraPermissionState,
permissionNotGrantedContent = {
Column(
Modifier
.fillMaxSize()
@FStranieri
FStranieri / MainActivity.kt
Created November 28, 2021 18:27
ML Composer - Ep.1 - Text Recognition composable
@androidx.compose.ui.tooling.preview.Preview
@Composable
private fun BindTextRecognitionOutput() {
ConstraintLayout(Modifier.fillMaxSize()) {
val (title, text, backToCameraButton) = createRefs()
val textValue by textRecognitionViewModel.getOutput().observeAsState()
val scrollState = rememberScrollState(0)
Text(
modifier = Modifier
@FStranieri
FStranieri / MainActivity.kt
Last active December 10, 2021 16:36
ML Composer - Ep.1 - Main Composable
@Composable
private fun BuildCameraUI() {
//PERMISSION MANAGEMENT part
...
{
ConstraintLayout(Modifier.fillMaxSize()) {
val (preview, takePhotoButton, progress) = createRefs()
val executor = remember(context) { ContextCompat.getMainExecutor(context) }
val imageCapture: MutableState<ImageCapture?> = remember { mutableStateOf(null) }
@FStranieri
FStranieri / MainAbility.java
Last active June 26, 2021 08:31
Harmony OS - Java SwipeGestureManager
package com.fs.uiapplication;
import com.fs.uiapplication.slice.*;
import ohos.aafwk.ability.Ability;
import ohos.aafwk.content.Intent;
import ohos.multimodalinput.event.TouchEvent;
public class MainAbility extends Ability implements SwipeListener{
private SwipeManager swipeManager = new SwipeManager(this);
@FStranieri
FStranieri / map_fragment.xml
Created March 13, 2021 00:07
MapFragment layout
<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
android:id="@+id/map"
class="com.huawei.hms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
map:cameraTargetLat="45.4781878"
map:cameraTargetLng="9.1684945"
map:cameraZoom="10" />
@FStranieri
FStranieri / MainActivity.kt
Created March 13, 2021 00:06
SupportMapFragment with Jetpack Compose
package com.fs.composesample
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import androidx.activity.compose.setContent
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.viewinterop.AndroidView
import com.huawei.hms.maps.*
import com.huawei.hms.maps.model.LatLng
@FStranieri
FStranieri / MainActivity.kt
Created March 13, 2021 00:00
MapView with Jetpack Compose
package com.fs.composesample
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.viewinterop.AndroidView
import com.huawei.hms.maps.*