Skip to content

Instantly share code, notes, and snippets.

View arildojr7's full-sized avatar

Arildo Borges Jr arildojr7

View GitHub Profile
class IrisMockGradlePlugin : Plugin<Project> {
override fun apply(target: Project) {
project.configurations.getByName("implementation").dependencies.add(
project.dependencies.create("dev.arildo:iris-mock:$PLUGIN_VERSION")
)
}
}
@arildojr7
arildojr7 / old-build.gradle.kts
Created August 13, 2023 20:55
old build.gradle.kts
plugins {
id("com.google.devtools.ksp")
id("dev.arildo.iris-mock-plugin") version "1.0.1"
}
dependencies {
implementation("dev.arildo:iris-mock:1.0.1")
ksp("dev.arildo:iris-mock-compiler:1.0.1")
}
@IrisMockInterceptor
class MyInterceptor : Interceptor {
override fun intercept(chain: Interceptor.Chain) = irisMockScope(chain) {
onGet(contains = "user/profile") mockResponse userProfileJson
onPost(endsWith = "/login") then {
delay(2_000) // simulating a slow response
if (requestContains("validPassword")) mockResponse(successLoginJson)
else mockResponse(errorPasswordJson)
}
enableLogs() // you can also log the calls
@arildojr7
arildojr7 / IrisMockInterceptor.kt
Created August 10, 2023 20:44
simple iris mock interceptor
@IrisMockInterceptor
class MockInterceptor : Interceptor {
override fun intercept(chain: Interceptor.Chain) = irisMockScope(chain) {
onGet(endsWith = "starred") mockResponse getListOfReposBeingStarredJson
}
}
@arildojr7
arildojr7 / build.gradle.kts
Last active March 26, 2024 21:25
add iris mock plugin
plugins {
id("dev.arildo.iris-mock-plugin") version "1.1.0"
}
@arildojr7
arildojr7 / addInterceptorOkHttpClient
Created August 10, 2023 20:36
OkHtttpClientBuilder
val client = OkHttpClient.Builder()
.addInterceptor(MockInterceptor())
.build()
}
val retrofit = Retrofit.Builder()
.client(client)
.baseUrl(BASE_URL)
.build()
@arildojr7
arildojr7 / OldWayInterceptor.kt
Created August 10, 2023 20:27
OldWayInterceptor.kt
class MockInterceptor : Interceptor {
override fun intercept(chain: Interceptor.Chain): Response {
val uri = chain.request().url().uri().toString()
val responseString = when {
uri.endsWith("starred") -> getListOfReposBeingStarredJson
else -> ""
}
return chain.proceed(chain.request())
.newBuilder()
Scaffold(
timeText = { TimeText() }
) {
TunerScreen(viewModel.tunerState.observeAsState().value)
}
fun Double.isInPermittedTolerance() = this in -0.5..0.5
fun getCurrentPitchState(pitchHz: Double): TunerState {
val closestFrequency = getClosestFrequencyInAllNotes(pitchHz)
val note = getNoteByFrequency(closestFrequency)
val diff = if (closestFrequency > pitchHz) {
abs(closestFrequency - pitchHz).unaryMinus()
} else {
abs(pitchHz - closestFrequency)
}