Skip to content

Instantly share code, notes, and snippets.

View technoir42's full-sized avatar

Sergey C. technoir42

View GitHub Profile
@technoir42
technoir42 / Flank.rb
Created June 23, 2020 17:18
Homebrew formula for installing Flank
class Flank < Formula
desc "Massively parallel Android and iOS test runner for Firebase Test Lab"
homepage "https://firebase.community/"
url "https://github.com/Flank/flank/releases/download/v20.06.2/flank.jar"
sha256 "2aa7e5e5fc83396fa95a2f41341a39d07ee289289e67bdfea874fd5e521777b9"
bottle :unneeded
depends_on "openjdk"
import android.os.Build
import android.security.keystore.KeyGenParameterSpec
import android.security.keystore.KeyProperties
import android.util.Base64
import androidx.annotation.RequiresApi
import java.nio.ByteBuffer
import java.security.InvalidKeyException
import java.security.Key
import java.security.KeyStore
import java.security.SecureRandom
/*
* Copyright 2019 Sergey Chelombitko
*
* 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
@technoir42
technoir42 / DebugTransitionFactory.kt
Last active February 25, 2020 09:47
Glide debug indicator
import android.annotation.SuppressLint
import android.graphics.Canvas
import android.graphics.Color
import android.graphics.Matrix
import android.graphics.Paint
import android.graphics.Path
import android.graphics.drawable.Drawable
import android.util.TypedValue
import androidx.annotation.ColorInt
import androidx.appcompat.graphics.drawable.DrawableWrapper
api=28
branch=android-9.0.0_r3
mkdir android-sdk-source-build
cd android-sdk-source-build
mkdir -p frameworks/base
# Fetch repositories that contain the sources we're interested in
git clone --depth 1 https://android.googlesource.com/platform/frameworks/base -b $branch frameworks/base
@technoir42
technoir42 / classyshark.rb
Last active September 30, 2018 10:11
Homebrew formulas
class Classyshark < Formula
desc "Executables browser for Android, Java and Kotlin"
homepage "https://github.com/google/android-classyshark"
url "https://github.com/google/android-classyshark/releases/download/8.1/ClassyShark.jar"
sha256 "73f0f8854a564d0eec4550fd69ebc239a38ae82f57e95cffb45890ba1b2e8098"
head do
url "https://github.com/google/android-classyshark.git"
depends_on "gradle" => :build
end
import android.support.v7.widget.RecyclerView;
import android.util.SparseArray;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
public abstract class BinderRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
apply plugin: 'checkstyle'
checkstyle {
toolVersion = '8.2'
configFile rootProject.file('checkstyle.xml')
}
afterEvaluate { project ->
def variants
if (project.plugins.hasPlugin('com.android.application')) {
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.support.annotation.Nullable;
import java.util.concurrent.atomic.AtomicInteger;
import rx.Completable;
import rx.Subscription;
import rx.schedulers.Schedulers;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.os.Parcelable;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.util.LongSparseArray;
import android.support.v4.view.PagerAdapter;
import android.view.View;