Skip to content

Instantly share code, notes, and snippets.

View Kane-Shih's full-sized avatar

Kane Shih Kane-Shih

View GitHub Profile
@Kane-Shih
Kane-Shih / 00_READ_ME.txt
Last active December 6, 2023 18:17
Enable TLS 1.2 in Android 4.4
1. To enable TLS 1.2 in Android 4.4
Copy TLSSocketFactory.java
If using HttpsURLConnection:
=> conn.setSSLSocketFactory(new TLSSocketFactory());
Else if using OkHttp:
=> new OkHttpClient.Builder().setSocketFactory(new TLSSocketFactory()). ... .build();
Else if using HttpClient:
sample for legacy apache http library: https://github.com/Kane-Shih/TestApacheHttpClient
=> see: https://stackoverflow.com/questions/2603691/android-httpclient-and-https
private static void printFragments(int level, FragmentManager fm) {
if (fm != null) {
List<Fragment> fragList = fm.getFragments();
if (fragList != null && fragList.size() > 0) {
String indent = level > 0 ? StringUtils.repeat(' ', level) : "";
for (Fragment frag : fragList) {
if (frag == null) {
continue;
}
Log.d(TAG, indent + frag + " (" + (frag.isVisible() ? "visible)" : "invisible)"));
import java.util.*;
public class PromisePipeTest {
static boolean isOver = false;
public static void main(String[] args) {
Promise p1 = new Promise("p1");
Promise p2 = new Promise("p2");
Promise p21 = new Promise("p2-1");
Promise p211 = new Promise("p2-1-1");
Promise p22 = new Promise("p2-2");
@Kane-Shih
Kane-Shih / TextImageView.java
Last active November 11, 2015 09:25
A View contains both text and image. Note: 1. Relies on UIL; 2. Needs to improve: use invalidate(Rect) and canvas.getClipBounds(), auto line break, WRAP_CONTENT
package tw.kaneshih.view;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.RectF;
import android.graphics.Typeface;
package tw.kaneshih.view;
import android.content.Context;
import android.support.annotation.DrawableRes;
import android.support.annotation.StringRes;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.content.Context;
import android.graphics.Matrix;
import android.graphics.PointF;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.ViewTreeObserver;
import android.widget.ImageView;
<html>
<head>
<title></title>
</head>
<body style="border: 0; margin:0; padding:0; background-color:#000000">
<script src="http://www.youtube.com/iframe_api"></script>
<script type="text/javascript">
var player;
@Kane-Shih
Kane-Shih / Javascript, ask for HTTP GET through Android
Last active December 20, 2015 11:29
deprecated use WebView's loadUrl() with a file URI, then the Javascript will be able to cross domain.
<html>
<head>
<script type="text/javascript">
// to simulate Android WebView... which exposes itself as "Android" here by addJavascriptInterface()
var Android = {
Log: function(msg) {
document.getElementById("log").innerHTML += "Log(" + msg + ")<br/>";
},
doHttpGet: function(url, requestCode) {