Skip to content

Instantly share code, notes, and snippets.

View johnwatsondev's full-sized avatar
😐

JohnWatsonDev johnwatsondev

😐
  • 工厂
  • Hangzhou
View GitHub Profile
@johnwatsondev
johnwatsondev / karumi's dexter crash
Last active May 23, 2017 07:11
karumi's dexter crash
Process: com.karumi.dexter.sample, PID: 19347
java.lang.RuntimeException: Unable to destroy activity {com.karumi.dexter.sample/com.karumi.dexter.DexterActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.karumi.dexter.DexterInstance.onActivityDestroyed()' on a null object reference
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3831)
at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3849)
at android.app.ActivityThread.-wrap5(ActivityThread.java)
at android.app.ActivityThread$H.
@johnwatsondev
johnwatsondev / dump dexter sample's activities hierarchy
Created May 23, 2017 07:27
dump dexter sample's activities hierarchy
$ adb shell dumpsys activity a
ACTIVITY MANAGER ACTIVITIES (dumpsys activity activities)
Display #0 (activities from top to bottom):
Stack #45:
Task id #86
* TaskRecord{157d6d #86 A=com.karumi.dexter.sample U=0 sz=1}
userId=0 effectiveUid=u0a58 mCallingUid=u0a58 mCallingPackage=com.karumi.dexter.sample
affinity=com.karumi.dexter.sample
intent={flg=0x10000000 cmp=com.karumi.dexter.sample/com.karumi.dexter.DexterActivity}
realActivity=com.karumi.dexter.sample/com.karumi.dexter.DexterActivity
@johnwatsondev
johnwatsondev / ReactNativeJson.java
Created June 19, 2017 14:31 — forked from viperwarp/ReactNativeJson.java
React-Native Module, ReadableMap/Array to Java JSON objects
private static WritableMap convertJsonToMap(JSONObject jsonObject) throws JSONException {
WritableMap map = new WritableNativeMap();
Iterator<String> iterator = jsonObject.keys();
while (iterator.hasNext()) {
String key = iterator.next();
Object value = jsonObject.get(key);
if (value instanceof JSONObject) {
map.putMap(key, convertJsonToMap((JSONObject) value));
} else if (value instanceof JSONArray) {
@johnwatsondev
johnwatsondev / ApiRestClient.java
Last active October 10, 2018 23:15
OkHttpClient set custom trust.
package com.jwdev.data.api;
import java.io.IOException;
import java.io.InputStream;
import java.security.GeneralSecurityException;
import java.security.KeyStore;
import java.security.cert.Certificate;
import java.security.cert.CertificateFactory;
import java.util.ArrayList;
import java.util.Arrays;
22:29:47.688 [ERROR] [org.gradle.api.Project] Uncaught translation error: com.android.dx.cf.code.SimException: local variable type mismatch: attempt to set or access a value of type java.lang.Object using a local variable of type int. This is symptomatic of .class transformation tools that ignore local variable information.
22:29:47.688 [ERROR] [org.gradle.api.Project] Uncaught translation error: com.android.dx.cf.code.SimException: local variable type mismatch: attempt to set or access a value of type java.lang.Object using a local variable of type int. This is symptomatic of .class transformation tools that ignore local variable information.
22:29:47.688 [ERROR] [org.gradle.api.Project] Uncaught translation error: com.android.dx.cf.code.SimException: local variable type mismatch: attempt to set or access a value of type java.lang.Object using a local variable of type int. This is symptomatic of .class transformation tools that ignore local variable information.
22:29:47.688 [ERROR] [org.gradle.api.Project]
$ ./gradlew clean installDebug --stacktrace --info | grep CredentialProvider.class

addJar(.../android/app/libs/aliyun-oss-sdk-android-2.3.0.jar): entry com/alibaba/sdk/android/common/auth/CredentialProvider.class
addJar(.../node_modules/react-native-api-sdk-rn/android/build/intermediates/bundles/default/libs/aliyun-oss-sdk-android-2.3.0.jar): entry com/alibaba/sdk/android/common/auth/CredentialProvider.class

Caused by: com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/alibaba/sdk/android/common/auth/CredentialProvider.class
@johnwatsondev
johnwatsondev / SpanningLinearLayoutManager.java
Created December 26, 2017 14:10 — forked from janheinrichmerker/LICENSE
LinearLayoutManager implementation that stretches to fit all list items on screen and disables scrolling. Useful for dashboards etc.
package de.wilhelmgym.quiz.recyclerview;
import android.content.Context;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.AttributeSet;
import android.view.ViewGroup;
public class SpanningLinearLayoutManager extends LinearLayoutManager {
@johnwatsondev
johnwatsondev / SpanningGridLayoutManager.java
Created December 26, 2017 14:10 — forked from janheinrichmerker/SpanningGridLayoutManager.java
GridLayoutManager implementation that stretches to fit all grid items on screen and disables scrolling. Useful for dashboards etc.
package com.example;
import android.content.Context;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.AttributeSet;
import android.view.ViewGroup;
public class SpanningGridLayoutManager extends GridLayoutManager {
@johnwatsondev
johnwatsondev / EqualSpacingItemDecoration.java
Created December 26, 2017 14:11 — forked from alexfu/EqualSpacingItemDecoration.java
Add equal spacing to RecyclerView items automatically. Can handle horizontal, vertical, and grid display modes
import android.graphics.Rect;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
public class EqualSpacingItemDecoration extends RecyclerView.ItemDecoration {
private final int spacing;
private int displayMode;
public static final int HORIZONTAL = 0;
@johnwatsondev
johnwatsondev / jetbrain.sh
Created March 13, 2018 10:15
set jet brain server locally
#!/bin/sh
echo 'start jetbrain local server...'
cd '/DevelopPrograms/IntelliJIDEALicenseServer' && screen -dmS IntelliJIDEALicenseServer -d -m ./IntelliJIDEALicenseServer_darwin_amd64 -p 1024 -u johnwatsondev