Skip to content

Instantly share code, notes, and snippets.

Avatar

Oleksii Malovanyi almozavr

  • Lviv, UA
View GitHub Profile
@almozavr
almozavr / .gitconfig
Created Jun 10, 2014
global git config
View .gitconfig
# core {{{
[core]
excludesfile = /Users/almozavr/.gitignore_global
pager=less -x4
quotepath = false
pager = less
autocrlf = input
#}}}
# user {{{
@almozavr
almozavr / Script to start-stop Genymotion with connection to ADB
Last active Aug 29, 2015
Start(resume)/stop virtual machine by serial number and connect/disconnect with adb. Could be useful to control remote CI Genymotion instance
View Script to start-stop Genymotion with connection to ADB
#!/bin/bash
#=====EXAMPLE OF USAGE===============
# $ ./scripts/gm.sh -r 526d4be6-9964-4a84-83fd-31af8029cf44
# $ ./gradlew clean connectedAndroidTest
# $ ./scripts/gm.sh -s 526d4be6-9964-4a84-83fd-31af8029cf44
#====================================
#===========
# VM helpers
@almozavr
almozavr / .gitconfig
Last active Aug 29, 2015
Basic config with great aliases
View .gitconfig
# core {{{
[core]
excludesfile = ~/.gitignore_global
pager=less -x4
quotepath = false
pager = less
autocrlf = input
#}}}
# user {{{
View blur static method
private static WeakReference<RenderScript> rsRef = new WeakReference<>(null);
private static WeakReference<ScriptIntrinsicBlur> blurScriptRef = new WeakReference<>(null);
/**
* Use {@link RenderScript} to blur bitmap.
*
* @param bitmap to be blurred
* @param radius of blur
* @throws RSRuntimeException when some .so libs are not available (e.g. on Genymotion emulator)
*/
@almozavr
almozavr / open_db.sh
Created Oct 1, 2014
Downloads db from non-root devices and opens it via provided sqlite-viewer.
View open_db.sh
#!/bin/sh
# Script for getting database form device via adb and open in sqlite_client(work with not rooted devices)
#
# While you aren't breaking script execution(CTLR+C),
# each closing of sqlite_client will be download and open database again and again.
#
# Note: if you don't have installed sqliteman override sqlite_client variable with your favorite client
#
# Usage: open_db.sh {app_package} {db_name} {app}
View gist:f4d990fef964d0a1d4bd
public class PositionResizeAnimator {
public static Animator createAnimator(Holder srcHolder, Holder targetHolder, final View animateView) {
ValueAnimator heightAnimator = ValueAnimator.ofInt(srcHolder.height, targetHolder.height);
heightAnimator.addUpdateListener(
new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
int val = (Integer) animation.getAnimatedValue();
ViewGroup.LayoutParams layoutParams = animateView.getLayoutParams();
@almozavr
almozavr / FixedSwitchPreference.java
Last active Aug 29, 2015
FixedSwitchPreference
View FixedSwitchPreference.java
public class FixedSwitchPreference extends SwitchPreference {
/**
* Construct a new SwitchPreference with the given style options.
*
* @param context The Context that will style this preference
* @param attrs Style attributes that differ from the default
* @param defStyle Theme attribute defining the default style options
*/
public FixedSwitchPreference(Context context, AttributeSet attrs, int defStyle) {
@almozavr
almozavr / AndroidPaletteCallback
Last active Aug 29, 2015 — forked from imminent/ExampleActivity.java
Gist for a modified approach to integrating Palette with Picasso proposed by Jake Wharton for the interim while Picasso doesn't have a supported way to pass meta data along the pipeline. http://jakewharton.com/coercing-picasso-to-play-with-palette/ Fork provides diff RoundedImageView support
View AndroidPaletteCallback
package your.package;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.support.annotation.NonNull;
import android.widget.ImageView;
public abstract class AndroidPaletteCallback extends PaletteCallback<ImageView> {
public AndroidPaletteCallback(@NonNull ImageView imageView) {
@almozavr
almozavr / ModalUrl
Last active Aug 29, 2015
Modal which preserves unique url via query, best with with routeProvider's reloadOnSearch: false
View ModalUrl
angular.module("services").factory('ModalUrl', [
'$rootScope', '$modal', '$location', '$routeParams', '$window', '$timeout',
($rootScope, $modal, $location, $routeParams, $window, $timeout) ->
modalInstance = null
checkModal = () ->
modalParam = decodeURIComponent($routeParams.modal)
if (modalParam != 'undefined')
optionsParam = decodeURIComponent($routeParams.options)
if (optionsParam != 'undefined')
options = JSON.parse(optionsParam)
View gist:fc76f605c03822a3ee14
public static Intent newSmsIntent(Context context, String body, String... phoneNumber) {
Uri smsUri;
if (phoneNumber == null) {
smsUri = Uri.parse("smsto:");
} else {
smsUri = Uri.parse("smsto:" + Uri.encode(TextUtils.join(",", phoneNumber)));
}
Intent intent;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
intent = new Intent(Intent.ACTION_SENDTO, smsUri);