Skip to content

Instantly share code, notes, and snippets.

View johnwatsondev's full-sized avatar
😐

JohnWatsonDev johnwatsondev

😐
  • 工厂
  • Hangzhou
View GitHub Profile
@johnwatsondev
johnwatsondev / SpanningLinearLayoutManager.java
Created December 26, 2017 14:10 — forked from heinrichreimer/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 {
$ ./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
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]
@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;
@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 / 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 / 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 / xcode-downloader.rb
Created May 2, 2017 04:13 — forked from iandundas/xcode-downloader.rb
Script for reliably downloading binaries (e.g. Xcode) from Apple's CDN
#!/usr/bin/env ruby
print "What is the URL of your Apple Downloads resource?\nURL:"
url = gets.strip
print "What is the ADCDownloadAuth cookie token:\nADCDownloadAuth: "
token = gets.strip
command = "aria2c --header \"Host: adcdownload.apple.com\" --header \"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\" --header \"Upgrade-Insecure-Requests: 1\" --header \"Cookie: ADCDownloadAuth=#{token}\" --header \"User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_1 like Mac OS X) AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0 Mobile/14B72 Safari/602.1\" --header \"Accept-Language: en-us\" -x 16 -s 16 #{url} -d ~/Downloads"
@johnwatsondev
johnwatsondev / README.md
Created November 21, 2016 10:22 — forked from hofmannsven/README.md
My simply Git Cheatsheet
@johnwatsondev
johnwatsondev / uninstall.sh
Created October 25, 2016 07:20 — forked from klarstil/uninstall.sh
Uninstall git on Mac OS X
#!/bin/bash
if [ ! -r "/usr/local/git" ]; then
echo "Git doesn't appear to be installed via this installer. Aborting"
exit 1
fi
echo "This will uninstall git by removing /usr/local/git/**/*, /etc/paths.d/git, /etc/manpaths.d/git"
printf "Type 'yes' if you sure you wish to continue: "
read response
if [ "$response" == "yes" ]; then
sudo rm -rf /usr/local/git/