Skip to content

Instantly share code, notes, and snippets.

View msdx's full-sized avatar

浩码农 msdx

View GitHub Profile
@msdx
msdx / jiagu.sh
Created January 23, 2019 10:13
360加固
#!/bin/bash
cd `dirname $0`/../
projectDir=`pwd`
buildDir="$projectDir/build"
# release Official apk
cd $buildDir
touch timestampFile
echo "Build release official apk"
@msdx
msdx / Json.kt
Last active November 16, 2018 08:15
kotlin 泛型问题
/*
* Copyright (c) 2018. Xi'an iRain IOT Technology service CO., Ltd (ShenZhen). All Rights Reserved.
*/
package com.parkingwang.iop.api.json
import com.google.gson.Gson
import com.google.gson.GsonBuilder
import com.google.gson.reflect.TypeToken
import com.parkingwang.iop.api.services.park.objects.Version
@msdx
msdx / bintray.gradle
Created November 12, 2018 02:10
Android Gradle Javadoc Task
task javadoc(type: Javadoc, dependsOn: 'assembleRelease') {
source = android.sourceSets.main.java.srcDirs
classpath += configurations.compile
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
android.libraryVariants.all { variant ->
if (variant.name == 'release') {
owner.classpath += variant.javaCompile.classpath
}
}
}
@msdx
msdx / TypeExtensions.kt
Last active October 17, 2018 02:53
Kotlin extensions
fun Date.toCalendar(): Calendar = Calendar.getInstance().apply { this.time = this@toCalendar }
fun Calendar.addDayOfMonth(amount: Int): Calendar {
this.add(Calendar.DAY_OF_MONTH, amount)
return this
}
fun Calendar.formatTo(formatter: SimpleDateFormat): String {
return formatter.format(this.timeInMillis)
}
@msdx
msdx / build.gradle
Created November 26, 2017 13:23
syncDocs
task syncJavadoc(type: Sync) {
from javadoc.destinationDir
into rootProject.file('docs')
}
@msdx
msdx / CountDown.java
Created October 26, 2017 12:07
rxjava countdown
Subscription subscription = Observable.interval(0, 1, TimeUnit.SECONDS)
.take(seconds + 1)
.map(new Func1<Long, Long>() {
@Override
public Long call(Long past) {
return seconds - past - 1;
}
})
.filter(new Func1<Long, Boolean>() {
@Override
@msdx
msdx / gist:f4753db527fb7dd6427053714e14f823
Created September 27, 2016 05:44
32bit dynamic library
sudo apt-get install -y libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 lib32z1
@msdx
msdx / ForceableChoiceLayout.java
Created September 19, 2016 04:15
ForceableChoiceLayout
/**
* 绑定Checkable控件的Layout.
*/
public static class ForceableChoiceLayout extends DefaultChoiceView {
/**
* 是否强制设为选中状态
*/
private boolean mForceChecked;
@msdx
msdx / BorderLinearLayout.java
Created April 13, 2016 03:25
带上下分割线的 LinearLayout
package com.parkingwang.widget;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.widget.LinearLayout;
import com.parkingwang.app.R;
@msdx
msdx / ToggleView.java
Created March 11, 2016 00:56
添加控件状态
/*
* Copyright (c) 2015. Xi'an iRain IOT Technology Service CO., Ltd. All Rights Reserved.
*/
package com.parkingwang.widget;
import android.content.Context;
import android.content.res.ColorStateList;
import android.content.res.TypedArray;
import android.graphics.Canvas;