Skip to content

Instantly share code, notes, and snippets.

View chibatching's full-sized avatar
🍃

Takao Chiba chibatching

🍃
View GitHub Profile
@chibatching
chibatching / qr_gen.py
Created September 26, 2014 08:03
QRcode generator for the access local test server
"""
QRcode generator
usage:
qr_gen.py [-t] <url>
options:
-t Translate localhost or loopback address to host address
"""
import qrcode
@chibatching
chibatching / resource_copy.py
Created February 13, 2015 02:36
Copy image files with dpi suffix (_xdpi, _hdpi etc..) to Android resource folder.
"""
Copy image files with dpi suffix to Android resource folder
usage:
resource_copy.py <target-resource-folder> <source-file>...
"""
import os
import glob
import sys
import re
@chibatching
chibatching / tinyPNG.py
Created June 19, 2015 22:42
Batch compress PNG images by using TinyPNG
"""
Batch compress PNG images by using TinyPNG
usage:
tinyPNG.py <key> <target-folder> <source-file>...
"""
import os
import glob
import sys
import re
import shutil
import android.app.Activity
import android.content.ComponentName
import android.content.Context
import android.content.Intent
import android.content.pm.PackageManager
import android.graphics.Bitmap
import android.net.Uri
import android.support.customtabs.CustomTabsClient
import android.support.customtabs.CustomTabsIntent
import android.support.customtabs.CustomTabsServiceConnection
class SampleAdapter() : RecyclerView.Adapter<SampleAdapter.ViewHolder>() {
var data: List<String> = emptyList()
var onClick: (String) -> Unit = {}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder? {
val binding = ItemListBinding.inflate(LayoutInflater.from(parent.context), parent, false)
binding.root.setOnClickListener {
onClick(data[(parent as RecyclerView).getChildAdapterPosition(it)])
}
return ViewHolder(it)
import android.app.Activity
import android.databinding.DataBindingUtil
import android.databinding.ViewDataBinding
fun <T : ViewDataBinding> Activity.contentViewBinding(layout: Int): Lazy<T> = lazy {
DataBindingUtil.setContentView<T>(this, layout)
}
@chibatching
chibatching / play_service_proj_builder.py
Last active November 26, 2016 09:02
Create eclipse library project from google play service aar in android sdk
from distutils.spawn import find_executable
import os
import re
import sys
import subprocess
import zipfile
import tempfile
import shutil
import com.google.android.gms.maps.model.LatLng
// Compute latitude and longitude from current lat lng,
// using Vincenty's direct formulae https://en.wikipedia.org/wiki/Vincenty's_formulae
fun LatLng.computeLatLngByDistanceAndBearing(distance: Double, bearing: Double): LatLng {
val PI = Math.PI / 180.0
val MAXITERS = 20
import android.content.Context
import android.support.design.widget.CoordinatorLayout
import android.support.v4.view.NestedScrollingChild
import android.support.v4.view.NestedScrollingChildHelper
import android.util.AttributeSet
import android.view.View
/**
* Propagate nested scroll event to in/out nested coordinator layout
@chibatching
chibatching / OAuthPostHurlStack.java
Last active February 3, 2018 18:14
OAuth signed POST request with Volley + oauth-signpost
public class OAuthPostHurlStack extends HurlStack {
private final OAuthConsumer mConsumer;
private ArrayList<String> mOauthSignedPosts = new ArrayList<>();
public OAuthPostHurlStack(OAuthConsumer consumer) {
mConsumer = consumer;
}
@Override