Skip to content

Instantly share code, notes, and snippets.

View aashreys's full-sized avatar
zooming...

Aashrey Sharma aashreys

zooming...
View GitHub Profile
@aashreys
aashreys / config.h
Last active December 20, 2023 09:28
Adding RGB Timeout functionality to your QMK keyboard
/* In your config.h define a new variable RGBLIGHT_TIMEOUT and give it a value in milliseconds */
#define RGBLIGHT_SLEEP // allows us to use rgblight_suspend() and rgblight_wakeup() in keymap.c
#define RGBLIGHT_TIMEOUT 30000 // 30 seconds
@aashreys
aashreys / Instant handler runnable execution with Mockito
Last active October 27, 2023 23:48
Use Mockito to instantly execute handler runnables in your tests.
// Creating a handler which executes runnables immediately
Mockito.when(uiHandler.post(Mockito.any(Runnable.class))).thenAnswer(
new Answer<Object>() {
@Override
public Object answer(InvocationOnMock invocation) throws Throwable {
Runnable msg = invocation.getArgument(0);
msg.run();
return null;
}
}
@aashreys
aashreys / figma-gist.js
Created November 29, 2022 19:16
Check if a Figma URL is that of the current file
export function isThisFile(url: string): boolean {
let formattedFilename = figma.root.name.trim()
formattedFilename = encodeURIComponent(formattedFilename).replace(/%20/g, '-')
let isThisFile = url.includes('figma.com') && url.includes(formattedFilename)
return isThisFile
}
@aashreys
aashreys / figma_gist.js
Created November 29, 2022 19:14
Get Figma Node ID from URL
export function getNodeIdFromUrl(url: string): string | null {
url = url.toLowerCase()
let startIndex: number = url.indexOf('node-id=') + 8
let endIndex: number = url.indexOf('&', startIndex)
if (startIndex) {
if (endIndex > 0) {
return url.substring(startIndex, endIndex).replace('%3a', ':')
} else {
return url.substring(startIndex).replace('%3a', ':')
}
@aashreys
aashreys / dimens.xml
Created March 13, 2017 12:20
Standard dimensions for Android
<resources>
<dimen name="spacing_xxs">2dp</dimen>
<dimen name="spacing_xs">4dp</dimen>
<dimen name="spacing_small">8dp</dimen>
<dimen name="spacing_medium">16dp</dimen>
<dimen name="spacing_large">24dp</dimen>
<dimen name="spacing_xl">32dp</dimen>
<dimen name="spacing_xxl">48dp</dimen>
<dimen name="spacing_xxxl">72dp</dimen>
@aashreys
aashreys / ChromeTabUtils.java
Last active November 20, 2019 06:00
Simple helper to check if Chrome Tabs is supported on a device and open urls.
public class ChromeTabUtils {
public static void openUrl(Context context, String url) {
if (isChromeTabSupported(context)) {
// Build intent to open Chrome Tab
CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
builder.setToolbarColor(getColor(context, R.color.toolbarBackground));
CustomTabsIntent customTabsIntent = builder.build();
customTabsIntent.launchUrl(context, Uri.parse(url));
} else {
@aashreys
aashreys / wait-for-webserver.sh
Created July 21, 2017 02:39
A bash script which checks the status of a web server before executing commands.
#!/bin/bash
# wait-for-nlu.sh
set -e
host="$1"
shift
cmd="$@"
http_status="$(curl -s -o /dev/null -I -w "%{http_code}" http://www.webserver.com:8080/)"
@aashreys
aashreys / QuickActionView.java
Last active July 3, 2017 07:00
A simple view for providing iOS's Assistive Touch capabilities to your application's screens.
import android.animation.Animator;
import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.content.Context;
import android.content.res.TypedArray;
import android.os.Build;
import android.support.annotation.ColorRes;
import android.support.annotation.DrawableRes;
@aashreys
aashreys / FlickrBaseEncoder.java
Created April 24, 2017 14:50
A class to encode number for use with Flickr's short url template.
/*
* Copyright {2017} {Aashrey Kamal Sharma}
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
@aashreys
aashreys / Migrator.java
Last active April 24, 2017 04:01
A class for managing application migration across updates
/**
* A simple class for managing application migration across updates.
*
* Created by aashreys on 24/04/17.
*/
public class Migrator {
private static final String KEY_LAST_VERSION = "migrator_key_last_version";