Skip to content

Instantly share code, notes, and snippets.

View armcha's full-sized avatar

Arman armcha

View GitHub Profile
Box(
modifier = GlanceModifier
.fillMaxSize()
.background(Color.White),
contentAlignment = Alignment.Center
) {
GlanceText(
modifier = GlanceModifier.padding(horizontal = 20.dp),
text = "Welcome to App Widget",
font = R.font.good_times_rg,
class EventsWidget : GlanceAppWidget() {
override suspend fun provideGlance(context: Context, id: GlanceId) {
provideContent {
Box(
modifier = GlanceModifier
.fillMaxSize()
.background(Color.White),
contentAlignment = Alignment.Center
) {
@Composable
fun GlanceText(
text: String,
@FontRes font: Int,
fontSize: TextUnit,
modifier: GlanceModifier = GlanceModifier,
color: Color = Color.Black,
letterSpacing: TextUnit = 0.1.sp
) {
Image(
fun Context.textAsBitmap(
text: String,
fontSize: TextUnit,
color: Color = Color.Black,
letterSpacing: Float = 0.1f,
font: Int
): Bitmap {
val paint = TextPaint(Paint.ANTI_ALIAS_FLAG)
paint.textSize = spToPx(fontSize.value, this)
paint.color = color.toArgb()
<receiver
android:name=".widget.event.EventsWidgetReceiver"
android:enabled="@bool/glance_appwidget_available"
android:exported="true">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/event_widget_info" />
import UIKit
import shared
class IOSInterceptor: Interceptor {
func intercept(httpRequestBuilder: Ktor_client_coreHttpRequestBuilder) {
let headers = httpRequestBuilder.headers
headers.set(name: "IOS", value: "HEADER")
}
}
@armcha
armcha / SimpleDecorator.kt
Last active March 18, 2019 07:58
Decorator pattern simple exmple
fun main() {
val capitalizeDec = decorateCapitalize(::capitalize)
val text = capitalizeDec("HeLLo")
print(text)
}
fun capitalize(hello: String): String {
return hello.capitalize()
}
fun main(args: Array<String>) {
val առաջինՊայման: Բուլյան = ճիշտԷ
val երկրորդՊայման: Բուլյան = սխալԷ
val երրորդՊայման: Բուլյան = ճիշտԷ
եթե(առաջինՊայման) {
առաջինՄեթոդ()
} այլապես եթե(երկրորդՊայման) {
երկրորդՄեթոդ()
<?xml version="1.0" encoding="utf-8"?>
<MotionLayout ... >
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottomNavigationView"
android:layout_width="match_parent"
android:layout_height="55dp"
app:elevation="10dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
videoMotionLayout.addTransitionListener(object : MotionLayout.TransitionListener {
override fun onTransitionChange(motionLayout: MotionLayout?, startId: Int, endId: Int, progress: Float) {
val mainActivity = activity as MainActivity
mainActivity.mainMotionLayout.progress = Math.abs(progress)
}
override fun onTransitionCompleted(motionLayout: MotionLayout?, currentId: Int) {
}
})