This workflow uses the GitHub CLI to keep a forked repo in sync with the upstream repo. Add it to your repo as .github/workflows/sync-fork.yaml
.
It runs daily to sync the default branch and can be triggered manually for any branch.
package de.halfbit.seventysix | |
import androidx.compose.foundation.layout.Column | |
import androidx.compose.foundation.layout.fillMaxWidth | |
import androidx.compose.material.Button | |
import androidx.compose.material.MaterialTheme | |
import androidx.compose.material.Text | |
import androidx.compose.runtime.* | |
import androidx.compose.ui.Alignment | |
import androidx.compose.ui.Modifier |
import androidx.compose.animation.core.RepeatMode | |
import androidx.compose.animation.core.VectorConverter | |
import androidx.compose.animation.core.animateValue | |
import androidx.compose.animation.core.infiniteRepeatable | |
import androidx.compose.animation.core.keyframesWithSpline | |
import androidx.compose.animation.core.rememberInfiniteTransition | |
import androidx.compose.foundation.Image | |
import androidx.compose.foundation.layout.Box | |
import androidx.compose.foundation.layout.BoxWithConstraints |
fun <T, B> createJsonRpcService(service: Class<T>, | |
client: JsonRpcClient<B>, | |
resultDeserializer: Deserializer<B>, | |
logger: (String) -> Unit = {}): T { | |
val classLoader = service.classLoader | |
val interfaces = arrayOf<Class<*>>(service) | |
val invocationHandler = createInvocationHandler(service, client, resultDeserializer, logger) | |
@Suppress("UNCHECKED_CAST") |