Skip to content

Instantly share code, notes, and snippets.

View korniltsev's full-sized avatar
🏳️‍🌈
s/jz/jnz/

Tolya Korniltsev korniltsev

🏳️‍🌈
s/jz/jnz/
View GitHub Profile
@korniltsev
korniltsev / gist:214d81d0869df79245da7469240f0e89
Created March 8, 2018 10:22
Wathsap UncaughtExceptionHandler
.class final Lcom/whatsapp/App$1;
.super Ljava/lang/Object;
.source ""
# interfaces
.implements Ljava/lang/Thread$UncaughtExceptionHandler;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
@korniltsev
korniltsev / ok.diff
Created June 27, 2017 19:01
ok.diff
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 6eb87b0..3dee761 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -45,6 +45,8 @@
</intent-filter>
</activity>
+ <activity android:name="ru.ok.android.sdk.OkAuthActivity"/>
+
@korniltsev
korniltsev / crashlytics.gradle
Created June 1, 2017 15:39
crashlytics.gradle
task prepareCrashlyticsNdkDirs(type: PrepareCrashlyticsNdkDirs) {
libs = ["imgp","jpeg-turbo1500","lum","native_tools","usb100","uvc","UVCCamera"]
archs = ["x86", "armeabi-v7a"]
flavorPath = ["prod", "obfuscate"]
libsDir = new File(projectDir, 'libs')
objDir = new File(projectDir, 'obj')
}
class PrepareCrashlyticsNdkDirs extends DefaultTask {
@Input List<String> libs
@korniltsev
korniltsev / count_apk_methods.sh
Created October 22, 2016 16:11 — forked from chetbox/count_apk_methods.sh
Method count of multidex APK one-liner
apk=app.apk count=0 ; for dex in $(unzip -Z1 $apk classes*.dex); do count=$(($count + $(unzip -p $apk $dex | head -c 92 | tail -c 4 | hexdump -e '1/4 "%d\n"'))) ; done ; echo $count
@korniltsev
korniltsev / GammaEvaluator.java
Created October 15, 2016 12:33 — forked from FrancoisBlavoet/GammaEvaluator.java
Correct color interpolation
import android.animation.TypeEvaluator;
import android.animation.ValueAnimator;
import static java.lang.Math.pow;
public class GammaEvaluator implements TypeEvaluator {
private static final GammaEvaluator sInstance = new GammaEvaluator();
/**
@korniltsev
korniltsev / God2.java
Created October 4, 2016 07:40
God2.java
@NonNull
public static StreamViewHolder getViewHolder(LayoutInflater li,
/* parent */ ViewGroup p, int viewType, StreamItemViewController streamItemViewController) {
View v = null;
StreamViewHolder vh = null;
switch (viewType) {
case VIEW_TYPE_HEADER:
v = StreamFeedHeaderItem.newView(li, p);
vh = StreamFeedHeaderItem.newViewHolder(v, streamItemViewController);
@korniltsev
korniltsev / GOD.java
Created September 30, 2016 09:21
GOD.java
package ru.ok.android.bus.gen;
import android.content.Context;
import android.support.annotation.AnyRes;
import android.support.annotation.NonNull;
import android.util.Pair;
import java.lang.Boolean;
import java.lang.Object;
import java.lang.Override;
import java.lang.String;
# init
repo init -u https://android.googlesource.com/platform/manifest
# the same but depth=1 for faster clone
repo init --depth=1 -u https://android.googlesource.com/platform/manifest
# sync network in 4 threads and sync local in 16 threads
repo sync -n -j 4 && repo sync -l -j 16
# the same but sync only current branch -c
@korniltsev
korniltsev / CenterCropDrawable.java
Created September 8, 2016 13:38
CenterCropDrawable
import android.graphics.Canvas;
import android.graphics.ColorFilter;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
public class CenterCropDrawable extends Drawable {
private final Drawable drawable;
/*
* Copyright (C) 2016 Jesse Wilson
*
* 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