Skip to content

Instantly share code, notes, and snippets.

View AfzalivE's full-sized avatar
🌴
On vacation

Afzal Najam AfzalivE

🌴
On vacation
View GitHub Profile
class ForegroundServiceLauncher(private val serviceClass: Class<out Service>) {
private var isStarting = false
private var shouldStop = false
private var isCreated = false
@Synchronized
fun startService(context: Context, block: Intent.() -> Unit = {}) {
if (!isCreated) {
isStarting = true
@AfzalivE
AfzalivE / private ime options samsung keyboard.txt
Created September 25, 2023 21:42
Samsung Keyboard private IME options
customInputConnection,
customSymbols,
customSymbolsForCMSymbolKey,
customSymbolsForPeriodKey,
disableAllToolbarItems,
disableAmbiguousMode,
disableAutoCorrection,
disableBackspaceKey,
disableCandidateExpand,
disableClipboard,
@AfzalivE
AfzalivE / sideberry styles.css
Last active September 6, 2023 19:53
Sideberry collapsible styles
#root.root {--tabs-activated-shadow: box-shadow: 0 0 1px rgba(128, 128, 142, 0.9);;}
#root {
--tabs-font: 1rem -apple-system;
--tabs-count-font: .625rem -apple-system;
--bookmarks-bookmark-font: .875rem -apple-system;
--bookmarks-folder-font: 9pt -apple-system;
--nav-btn-width: 30px;
--nav-btn-height: 30px;
--tabs-inner-gap: 8px;
}
@AfzalivE
AfzalivE / sidebery styles.css
Created September 6, 2023 13:40
Sidebery my first settings
#root.root {--tabs-font: 1rem -apple-system;}
#root.root {--tabs-indent: 12px;}
#root.root {--tabs-inner-gap: 5px;}
#root.root {--tabs-count-font: 0.625rem -apple-system;}
#root.root {--general-border-radius: 8px;}
#root.root {--d-fast: 0.1s;}
@AfzalivE
AfzalivE / userChrome.css
Created September 6, 2023 13:38 — forked from lucaspar/userChrome.css
Stylesheets for collapsible vertical tabs for Firefox. Tabs expand horizontally when hovered, similar to Edge's.
/*
How to use this CSS:
0. Install the Sidebery extension: https://addons.mozilla.org/en-US/firefox/addon/sidebery/.
1. In Sidebery settings:
a. Set the title preface must as "[S] " (without quotes).
This is used by CSS rules below to identify when Sidebery is active.
b. Set 'Tabs tree structure' to false -- this stylesheet doesn't adapt to
multiple tab levels, but feel free to tweak it!
c. Copy and paste the "SIDEBERY STYLES" section below as a custom
@AfzalivE
AfzalivE / NumberPicker.kt
Created August 20, 2023 01:10
AndroidView NumberPicker type in test
import android.widget.NumberPicker
import android.widget.Toast
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.semantics.semantics
import androidx.compose.ui.semantics.setText
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.viewinterop.AndroidView
@AfzalivE
AfzalivE / quotes.json
Last active February 20, 2023 19:59 — forked from signed0/quotes.json
json formatted quotes
[
{
"quote": "Life isn’t about getting and having, it’s about giving and being.",
"author": "Kevin Kruse"
},
{
"quote": "Whatever the mind of man can conceive and believe, it can achieve.",
"author": "Napoleon Hill"
},
{
@AfzalivE
AfzalivE / ComposeLayoutPreviewHelper.kt
Last active February 9, 2023 14:37
AbstractComposeView layout preview helper
package com.yourpackage
import android.os.Bundle
import android.view.View
import androidx.compose.runtime.MonotonicFrameClock
import androidx.compose.runtime.PausableMonotonicFrameClock
import androidx.compose.runtime.Recomposer
import androidx.compose.ui.InternalComposeUiApi
import androidx.compose.ui.platform.AbstractComposeView
import androidx.compose.ui.platform.AndroidUiDispatcher
@AfzalivE
AfzalivE / Readme.md
Last active February 6, 2023 15:49
Figma to Drawable folder Transnomino recipe

This is a recipe for Transnomino app on Mac to rename and move files exported from Figma to an Android app's drawable folders.

There's one assumption here that layer names in figma are something like Light/Layer Name and Dark/Layer Name. Although, I imagine it'd be trivial to change it to something that's separated by a character other than /.

In Figma, the layer suffixes needs to be either

  1. HDPI, MDPI, XHDPI, XXHDPI, XXXHDPI
  2. -hdpi, -mdpi, -xhdpi, -xxhdpi, -xxxhdpi

If using #2, disable the 3rd step (Hyphenate suffix).

@AfzalivE
AfzalivE / BottomSheetScrollView.kt
Last active November 8, 2022 02:52
BottomSheetScrollView for when you have a ViewPager with RecyclerViews in your BottomSheet
class BottomSheetScrollView(context: Context, attrs: AttributeSet?) : FrameLayout(context, attrs),
NestedScrollingParent2 {
private val TAG = "NestedScroll3"
private val childHelper = NestedScrollingChildHelper(this).apply {
isNestedScrollingEnabled = true
}
private var behavior: BottomSheetBehavior<*>? = null
var started = false
var canScroll = false