Skip to content

Instantly share code, notes, and snippets.

View FannyDemey's full-sized avatar

DEMEY Fanny FannyDemey

  • Android senior developer
  • Lille
View GitHub Profile
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="148dp"
android:height="150dp"
android:viewportWidth="148"
android:viewportHeight="150">
<path
android:pathData="M2,1L145.5,1A1,1 0,0 1,146.5 2L146.5,148A1,1 0,0 1,145.5 149L2,149A1,1 0,0 1,1 148L1,2A1,1 0,0 1,2 1z"
android:fillColor="#ffffff"/>
<path
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="38.435143dp" android:viewportHeight="140" android:viewportWidth="1457" android:width="400dp">
<path android:fillColor="#ffffff" android:pathData="M110,20L110,20A5,5 0,0 1,115 25L115,115A5,5 0,0 1,110 120L110,120A5,5 0,0 1,105 115L105,25A5,5 0,0 1,110 20z"/>
<path android:fillColor="#ffffff" android:pathData="M140,40L140,40A5,5 0,0 1,145 45L145,95A5,5 0,0 1,140 100L140,100A5,5 0,0 1,135 95L135,45A5,5 0,0 1,140 40z"/>
<path android:fillColor="#ffffff" android:pathData="M170,29.5L170,29.5A5,5 0,0 1,175 34.5L175,105.5A5,5 0,0 1,170 110.5L170,110.5A5,5 0,0 1,165 105.5L165,34.5A5,5 0,0 1,170 29.5z"/>
<path android:fillColor="#ffffff" android:pathData="M198,40L198,40A5,5 0,0 1,203 45L203,95A5,5 0,0 1,198 100L198,100A5,5 0,0 1,193 95L193,45A5,5 0,0 1,198 40z"/>
data class Podcast(
val id: String,
val title: String,
val description: String,
val logoUrl: String,
val isFavourite: Boolean = false,
)
@Composable
private fun PodcastsList(
podcasts: List<Podcast>,
onFavouriteClicked: (id: String) -> Unit,
onPodcastClick: (id: String) -> Unit,
modifier: Modifier = Modifier,
) {
Box {
LazyColumn(
modifier = modifier,
class BrowseViewModel : ViewModel() {
private val _products: MutableStateFlow<List<Product>> = MutableStateFlow(emptyList())
val products: StateFlow<List<Product>> = _products.asStateFlow()
init {
viewModelScope.launch {
delay(1000)
_products.value = FakeDataSource.ALL_PRODUCTS
}
}
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.techethic.sandbox.ae.model.FakeDataSource
import com.techethic.sandbox.ae.model.Product
import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.asStateFlow
import kotlinx.coroutines.launch
data class Product(
val id: String,
val productName: String,
val productPrice: Float,
val imageUrl: String,
val maxQuantity: Int,
val quantity: Int = 0,
)
object FakeDataSource {
val ALL_PRODUCTS = listOf<Product>(
Product(
id = "3",
productName = "Tarte au citron meuringué",
productPrice = 3.15f,
imageUrl = "https://firebasestorage.googleapis.com/v0/b/training-compose.appspot.com/o/tarte-citron.jpeg?alt=media&token=2fb45a95-d589-4519-bb43-f95f1791f6da",
maxQuantity = 4,
),
Product(
@FannyDemey
FannyDemey / CustomLocalAccessibilityManagerDemo.kt
Created July 12, 2023 13:26
CustomLocalAccessibilityManager
import android.content.Context
import android.os.Build
import androidx.annotation.DoNotInline
import androidx.annotation.RequiresApi
import androidx.compose.ui.platform.AccessibilityManager
class AndroidAccessibilityManager(context: Context) : AccessibilityManager {
private companion object {
const val FlagContentIcons = 1
const val FlagContentText = 2

Formation : Développement d'application mobile accessible

Description

Le but de cette formation Accessibilité mobile est d'apprendre à développer des applications mobiles natives accessibles. Les applications mobiles sont aujourd'hui au cœur de nos interactions. Mais sommes-nous certains que nos développements soient utilisables par tout le monde ? Pour tous les cas d'usage ? Et dans tous les environnements possibles ?

Description

Le but de cette formation Accessibilité mobile est de vous apprendre à développer des applications mobile native accessibles.

Les applications mobile sont aujourd'hui au cœur de nos interactions. Mais sommes-nous certains que nos développements soient utilisables par tout le monde ? Pour tous les cas d'usage ? Et dans tous les environnements possibles ?