Skip to content

Instantly share code, notes, and snippets.

View esafirm's full-sized avatar
🏠
Working from home

Esa Firman esafirm

🏠
Working from home
View GitHub Profile
@esafirm
esafirm / build.gradle
Created November 3, 2016 14:25 — forked from ph0b/build.gradle
sample build.gradle for generating split APKs per ABI
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig{
minSdkVersion 14
targetSdkVersion 21
versionCode 101
Pasang ini untuk membuka akses blokir selain tiga dibawah ini. Pilih resolver yang paling deket (singapura)
https://dnscrypt.org
Testing started at 9:26 AM ...
07/18 09:26:57: Launching LoginActivityEspress...
$ adb push /Users/esa/Documents/AndroidStudioProjects/driver-android-new/apks/etobeedriver-dev-debug.apk /data/local/tmp/com.etobee.driver
$ adb shell pm install -r "/data/local/tmp/com.etobee.driver"
pkg: /data/local/tmp/com.etobee.driver
Success
$ adb push /Users/esa/Documents/AndroidStudioProjects/driver-android-new/etobeedriver/build/outputs/apk/etobeedriver-dev-debug-androidTest.apk /data/local/tmp/com.etobee.driver.test
@esafirm
esafirm / DenomSuggestion.kt
Last active July 30, 2017 03:35
Given some amount, return possible values that constructed by particular denomination
val denom = arrayOf(1, 2, 5, 10, 20, 50, 100)
val amount = arrayOf(5, 11, 53, 122, 155, 157, 210, 200)
fun main(args: Array<String>) = amount.forEach { currentAmount ->
val suggestions = mutableListOf<Int>()
denom.forEach {
if (it >= currentAmount) {
suggestions += it
public class LruStorage extends LinkedHashMap<String, byte[]>
implements KV.Storage {
private final ExecutorService mService = Executors.newSingleThreadExecutor();
private final KV.Storage mStorage;
private final int mMaxSize;
public LruStorage(KV.Storage storage, int size) {
super(size/2, 0.75f, true);
mStorage = storage;
@esafirm
esafirm / puzzler.ipynb
Last active July 19, 2018 06:33
ADB Meetup #4 - Kotlin Puzzler
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@esafirm
esafirm / instruction.md
Last active November 3, 2024 15:58
Android Nougat Above - Install Certificate to System

For more information https://blog.jeroenhd.nl/article/android-7-nougat-and-certificate-authorities


Ran into this issue as well while trying to check for privacy implications of an app. The blog post and docs linked above does explain what happened, but not how. Source code references follows based on nougat-mr2.3.

The change was made in commit aosp-mirror/platform_frameworks_base@32d2a10, see frameworks/base:core/java/android/security/net/config/NetworkSecurityConfig.java. After that change, only the [system root store](https://github.com/android/platform_frameworks_base/blob/nougat-m

@esafirm
esafirm / test_checker.rb
Created February 19, 2020 03:08
Script to test check
#!/usr/bin/env ruby
# frozen_string_literal: true
TARGET_DIR = ARGV[0]
@failing_module = []
@no_test_module = []
def fail_number(file_path)
file = IO.read(file_path)
class MemoryProfilerRule : TestRule {
override fun apply(base: Statement?, description: Description?): Statement {
return MemoryProfilerWatcher().apply(base, description)
}
private inner class MemoryProfilerWatcher : TestWatcher() {
private val runtime = Runtime.getRuntime()
private var before: Long = 0
@esafirm
esafirm / drafter.rb
Created May 18, 2020 03:26
Drafter Forumula
require 'formula'
class Drafter < Formula
homepage 'http://apiblueprint.org'
head 'https://github.com/apiaryio/drafter.git', :tag => 'v4.1.0'
def install
system "./configure", "--shared"
system "make", "drafter"
bin.install Dir["bin/drafter"]