Skip to content

Instantly share code, notes, and snippets.

View emedinaa's full-sized avatar
🏠
Working from home

Eduardo José Medina Alfaro emedinaa

🏠
Working from home
View GitHub Profile
@Composable
fun Main(list: List<String>) {
var items by remember { mutableStateOf(list) }
LazyColumn {
items(items) { item ->
RowView(item) { str ->
val pos = items.indexOf(str)
Log.v(TAG, "pos $pos")
if(pos!= -1) {
@emedinaa
emedinaa / gist:789e97714c2fca45c0069a7e16a3a521
Last active December 6, 2023 16:21
Gradle configuration legacy library
build.gradle (app)
dependencies {
implementation 'androidx.core:core-ktx:1.8.0'
implementation platform('org.jetbrains.kotlin:kotlin-bom:1.8.0')
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.1'
implementation 'androidx.activity:activity-compose:1.5.1'
implementation platform('androidx.compose:compose-bom:2022.10.00')
implementation 'androidx.compose.ui:ui'
-keep class com.app.demo.model.* { *; }
-keep class com.app.demo.remote.SomeResponse { <fields>; }
-keep class com.app.demo.SomeEntity { *; }
-keep interface com.app.demo.SomeInterface { *; }
-keepclassmembers class com.app.demo.SomeClass {
public static ** Companion;
}
@emedinaa
emedinaa / gist:4e3fa0baab7bbb20684b8476776ffc80
Created March 26, 2020 23:52
Socket IO + android + kotlin
socketio='1.0.0'//‘io.socket:socket.io-client:1.0.0' https://mvnrepository.com/artifact/io.socket/socket.io-client/1.0.0
implementation "io.socket:socket.io-client:$rootProject.socketio"
package com.emedinaa.kotlinapp.data.socket
import io.socket.client.Ack
import io.socket.emitter.Emitter
import androidx.annotation.Nullable
import io.socket.client.IO
fun <T: ViewModel> T.createFactory() : ViewModelProvider.Factory {
val viewModel = this
@Suppress("UNCHECKED_CAST")
return object :ViewModelProvider.Factory{
override fun <T : ViewModel?> create(modelClass: Class<T>): T = viewModel as T
}
}
@emedinaa
emedinaa / NoteRemoteDataSource.kt
Created May 6, 2022 20:22
Retrofit + coroutines
override suspend fun notesByUser(
userId: String
): OperationResult<List<Note>> {
return try {
val response = serviceApi.notesByUser(userId)
val statusCode = response.code()
//200 300 400
if (response.isSuccessful) { //200
val body: NotesResponse? = response.body()
OperationResult.Success(body?.data?.map {
package com.emedinaa.kotlin
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.view.MotionEvent
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
var pDownX=0
@emedinaa
emedinaa / gist:a6ce06404e4e84db1bc7cd1151499db7
Last active December 8, 2021 14:37
kotlin version conflicts
Error :
w: Runtime JAR files in the classpath should have the same version. These files were found in the classpath:
/Users/xx/.gradle/caches/transforms-2/files-2.1/5ddeaae6ee15f19826b9dd5f1cf7b0a4/jetified-kotlin-stdlib-jdk7-1.3.72.jar (version 1.3)
/Users/xx/.gradle/caches/transforms-2/files-2.1/3951109aac4671bfe341f4dc43e131ef/jetified-kotlin-stdlib-1.4.32.jar (version 1.4)
/Users/xx/.gradle/caches/transforms-2/files-2.1/1d67f6842b59bd1bd3d06c3bca4e4ac4/jetified-kotlin-stdlib-common-1.4.32.jar (version 1.4)
Inspect dependencies :
./gradlew :module:dependencies
@emedinaa
emedinaa / gist:5c6fa5cbe3207a8fd892e88d51d4ebe0
Last active December 8, 2021 00:05
Android developers resources
Android developers resources
Getting started in Android development
Android developers
- official website https://developer.android.com/
- Codelabs https://codelabs.developers.google.com/
- Youtube https://www.youtube.com/user/androiddevelopers
- Android developers Blog https://android-developers.googleblog.com/