Skip to content

Instantly share code, notes, and snippets.

View tuanchauict's full-sized avatar
🐟
I am lazy

Tuan Chau tuanchauict

🐟
I am lazy
View GitHub Profile
@tuanchauict
tuanchauict / IDETextKeyBindingSet.plist
Last active November 9, 2016 03:37
XCode IDEA-like macro. Make XCode less suck
<key>Customized</key>
<dict>
<key>Duplicate Lines</key>
<string>selectLine:, copy:, moveToEndOfLine:, paste:, deleteBackward:</string>
<key>Duplicate Current Line</key>
<string>moveToBeginningOfLine:, deleteToEndOfLine:, yank:, insertNewline:, moveToBeginningOfLine:, yank:</string>
<key>Start New Line</key>
<string>moveToEndOfLine:, insertNewline:</string>
<key>Start New Line Above</key>
<string>moveUp:, moveToEndOfLine:, insertNewline:</string>
@tuanchauict
tuanchauict / build.gradle
Last active November 29, 2022 10:07
Auto switch signing configs for multiple-releases-product
apply from: 'release.gradle'
android{
productFlavors {
dev {
//...
}
//...
}
@tuanchauict
tuanchauict / build.gradle
Last active October 14, 2016 04:07
Auto increment version code and version name. This gist borrows heavily the code from https://gist.github.com/luciofm/923a9f35f2175dda7ad7.
//module gradle
apply from: 'versionCode.gradle' //anywhere
android {
defaultConfig {
versionName VERSION_NAME
versionCode Integer.parseInt(VERSION_CODE)
}
}
import scrapy
from crawler.items import CommentItem
from crawler.items import PostItem
class TinhteSpider(scrapy.Spider):
name = "tinhte"
allowed_domains = ["tinhte.vn"]
start_urls = [
adb shell << 'END'
run-as <package_id>
chmod 777 shared_prefs/<prefs_file_name>.xml
exit
cp /data/data/<package_id>/shared_prefs/<prefs_file_name>.xml /sdcard/Download/prefs.xml
exit
END
elem = document.createElement("div");
elem.style.position="absolute";
elem.style.width="30px";
elem.style.height="30px";
elem.style.zIndex="9999999999";
elem.style.background="#f00";
elem.style.pointerEvents="none";
document.body.appendChild(elem);
document.onmousemove = function(e){
elem.style.left = e.x - 15;
@tuanchauict
tuanchauict / BaseFragment.java
Last active June 6, 2016 06:49
Shortcut way for finding a view that is located inside layout of an ViewStub on Android.
private SparseArray<View> mViewStubSparseArray;
/**
* Find view inside ViewStub layout
*
* @param stubId
* @param viewId
* @param <T>
* @return
*/
@tuanchauict
tuanchauict / README.md
Last active March 17, 2016 07:09
Revoke permissions for testing request permissions on android SDK >= 23
$ python3 revoke_permission.py
$ python3 revoke_permission.py <device_code>
@tuanchauict
tuanchauict / RotateOrientationEventListener.java
Created March 16, 2016 13:10
Handle screen rotation without onConfigurationChanged
package com.notabasement.common.photopicker.events;
import android.content.Context;
/**
* Created by tuanchauict on 3/16/16.
*/
public abstract class RotateOrientationEventListener extends SimpleOrientationEventListener {
public RotateOrientationEventListener(Context context) {
super(context);
@tuanchauict
tuanchauict / PermissionActivity.java
Last active March 14, 2016 15:00
Headless permissions request for Android 23+
import android.content.pm.PackageManager;
import android.os.Build;
import android.support.annotation.NonNull;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.util.SparseArray;
import java.util.ArrayList;