Skip to content

Instantly share code, notes, and snippets.

View ionull's full-sized avatar
🎯
Focusing

Tsung Wu ionull

🎯
Focusing
View GitHub Profile
@Kashif-E
Kashif-E / proguard_rules.pro
Last active March 27, 2024 06:24
This gist contains almost all the pro guard rules that you will ever need for R8
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
@ollieatkinson
ollieatkinson / SVG.swift
Last active June 24, 2024 11:37
Utilise the private CoreSVG framework in Swift
import Darwin
import Foundation
import UIKit
// https://github.com/xybp888/iOS-SDKs/blob/master/iPhoneOS17.1.sdk/System/Library/PrivateFrameworks/CoreSVG.framework/CoreSVG.tbd
// https://developer.limneos.net/index.php?ios=17.1&framework=UIKitCore.framework&header=UIImage.h
@objc
class CGSVGDocument: NSObject { }
@vganin
vganin / FlexRow.kt
Last active April 28, 2024 06:08
Jetpack Compose simple flex-wrap container
@Composable
fun FlowRow(
horizontalGap: Dp = 0.dp,
verticalGap: Dp = 0.dp,
alignment: Alignment.Horizontal = Alignment.Start,
content: @Composable () -> Unit,
) = Layout(content = content) { measurables, constraints ->
val horizontalGapPx = horizontalGap.toPx().roundToInt()
val verticalGapPx = verticalGap.toPx().roundToInt()
@zach-klippenstein
zach-klippenstein / SegmentedControl.kt
Last active June 24, 2024 01:54
iOS-style segmented control in Compose
import android.annotation.SuppressLint
import androidx.compose.animation.core.animateDpAsState
import androidx.compose.animation.core.animateFloatAsState
import androidx.compose.foundation.Canvas
import androidx.compose.foundation.background
import androidx.compose.foundation.gestures.awaitFirstDown
import androidx.compose.foundation.gestures.forEachGesture
import androidx.compose.foundation.gestures.horizontalDrag
import androidx.compose.foundation.layout.Arrangement.spacedBy
import androidx.compose.foundation.layout.Box
@diegohkd
diegohkd / DialogFragment+FullscreenWithCustomStatusBarColor.kt
Last active June 24, 2024 09:11
Show DialogFragment in full screen with status bar, change status bar background color and update status bar components color depending on background color to make them more readable
...
import androidx.fragment.app.DialogFragment
...
class MyDialogFragmentDialog : DialogFragment() {
...
private val statusBarColorRes = R.color.colorPrimaryDark
private var previousSystemUiVisibility: Int? = null
...
override fun getTheme(): Int = R.style.FullscreenDialog
...
@darwin
darwin / readme.md
Last active April 9, 2024 22:30
APFS Container cloning/replicating under Catalina (with a bootable system)

Today I wanted to move existing APFS-resident macOS Catalina installation to a new disk. I upgraded my late 2014 Mac Mini with a shiny new 1TB SSD. This took way too many hours of my life I will never get back. Hope this saves some time to you.

Good news:

  1. it is possible to create a DMG image from existing APFS container with macOS Catalina installation including metadata needed for complete restore (the DMG contains OS, OS Data, Preboot, Recovery and VM volumes)
  2. it is possible to restore this DMG image into empty APFS container and get a bootable copy of the original system

This information is relevant for Catalina (I'm currently running macOS 10.15.1).

@nicbet
nicbet / Dockerfile
Created June 27, 2019 03:00
Elixir 1.9 Releases Alpine Linux Docker Multi-Stage Build
# ---- Build Stage ----
FROM erlang:22-alpine AS app_builder
# Set environment variables for building the application
ENV MIX_ENV=prod \
TEST=1 \
LANG=C.UTF-8
# Fetch the latest version of Elixir (once the 1.9 docker image is available you won't have to do this)
RUN set -xe \
@jamieweavis
jamieweavis / macos-app-icon.md
Last active June 30, 2024 08:23
How to create an .icns macOS app icon
#!/usr/bin/env bash
mix ecto.migrate
exec mix phoenix.server
@jpshelley
jpshelley / AdapterSection.kt
Last active July 21, 2019 12:02
A Sectioned Adapter for Android via Kotlin
/**
* A section to use in Recycler Adapter's.
* It holds a sectioned position for use in determining the offset of the adapter items.
*/
data class AdapterSection(var firstPosition: Int, var title: String, var sectionedPosition: Int = 0)