Skip to content

Instantly share code, notes, and snippets.

View bobipermanasandi's full-sized avatar
7️⃣ 8️⃣ | LR x CU

Bobi Permana Sandi bobipermanasandi

7️⃣ 8️⃣ | LR x CU
View GitHub Profile
@bobipermanasandi
bobipermanasandi / flutter_launcher_icons.yaml
Created August 31, 2025 16:35
Configure Application Launcher Icons
flutter_launcher_icons:
android: "launcher_icon"
ios: true
image_path: "assets/icon.png"
min_sdk_android: 21
remove_alpha_ios: true
web:
generate: true
image_path: "assets/icon.png"
@bobipermanasandi
bobipermanasandi / flutter_native_splash.yaml
Created August 31, 2025 15:55
Configure flutter_native_splash
flutter_native_splash:
android: true
ios: true
background_image: "assets/bg.png"
image: "assets/logo.png"
branding: "assets/brand_img.png"
background_image_dark: "assets/bg_dark.png"
image_dark: "assets/logo_dark.png"
import android.content.res.AssetManager
import okhttp3.Interceptor
import okhttp3.MediaType.Companion.toMediaTypeOrNull
import okhttp3.Protocol
import okhttp3.Response
import okhttp3.ResponseBody.Companion.toResponseBody
import java.io.BufferedReader
import java.io.InputStreamReader
class AssetFileInterceptor(private val assetManager: AssetManager) : Interceptor {
@bobipermanasandi
bobipermanasandi / Event.kt
Created March 19, 2024 14:39 — forked from JoseAlcerreca/Event.kt
An event wrapper for data that is exposed via a LiveData that represents an event.
/**
* Used as a wrapper for data that is exposed via a LiveData that represents an event.
*/
open class Event<out T>(private val content: T) {
var hasBeenHandled = false
private set // Allow external read but not write
/**
* Returns the content and prevents its use again.