From a8b7d0a929bbe71ef8cea992fa6961bea69e528e Mon Sep 17 00:00:00 2001 From: fengjian Date: Mon, 20 Feb 2017 11:12:26 +0800 Subject: [PATCH 01/10] fix(http): support http download redirect url --- .../src/main/java/com/jayfeng/lesscode/core/HttpLess.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lesscode-core/src/main/java/com/jayfeng/lesscode/core/HttpLess.java b/lesscode-core/src/main/java/com/jayfeng/lesscode/core/HttpLess.java index c782d31..d573c8e 100644 --- a/lesscode-core/src/main/java/com/jayfeng/lesscode/core/HttpLess.java +++ b/lesscode-core/src/main/java/com/jayfeng/lesscode/core/HttpLess.java @@ -264,7 +264,12 @@ public void run() { String value = entry.getValue().toString(); conn.setRequestProperty(key, value); } - if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) { + if (conn.getResponseCode() == HttpURLConnection.HTTP_MOVED_PERM + || conn.getResponseCode()== HttpURLConnection.HTTP_MOVED_TEMP) { + // 重定向地址下载 + String redirectDownloadUrl = conn.getHeaderField("location"); + return $download(redirectDownloadUrl, dest, append, header, callBack); + } else if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) { is = conn.getInputStream(); remoteSize = conn.getContentLength(); String contentEndcoding = conn.getHeaderField("Content-Encoding"); From 61ab7ef6757ff03a70a582b5c5655f5a22ddd165 Mon Sep 17 00:00:00 2001 From: fengjian Date: Wed, 22 Feb 2017 14:08:43 +0800 Subject: [PATCH 02/10] release v2.1 --- README-cn.md | 2 +- README.md | 2 +- .../lesscode/app/activity/MainActivity.java | 36 +++++++++++++++++++ lesscode-core/build.gradle | 6 ++-- 4 files changed, 41 insertions(+), 5 deletions(-) diff --git a/README-cn.md b/README-cn.md index 861e90b..7d6ba70 100644 --- a/README-cn.md +++ b/README-cn.md @@ -13,7 +13,7 @@ ## Gradle ```groovy -compile('com.jayfeng:lesscode-core:1.0') +compile('com.jayfeng:lesscode-core:2.1') ``` ## Features diff --git a/README.md b/README.md index c9f08da..245fbf2 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ less code, more efficient for android, for the best android tools library! ## Gradle ```groovy -compile('com.jayfeng:lesscode-core:1.0') +compile('com.jayfeng:lesscode-core:2.1') ``` ## Features diff --git a/app/src/main/java/com/jayfeng/lesscode/app/activity/MainActivity.java b/app/src/main/java/com/jayfeng/lesscode/app/activity/MainActivity.java index d14f98a..8e12900 100644 --- a/app/src/main/java/com/jayfeng/lesscode/app/activity/MainActivity.java +++ b/app/src/main/java/com/jayfeng/lesscode/app/activity/MainActivity.java @@ -2,15 +2,20 @@ import android.app.Activity; import android.os.Bundle; +import android.os.Environment; import android.widget.BaseAdapter; import android.widget.ListView; import com.jayfeng.lesscode.app.R; import com.jayfeng.lesscode.app.model.LessItem; import com.jayfeng.lesscode.core.ActivityLess; +import com.jayfeng.lesscode.core.HttpLess; +import com.jayfeng.lesscode.core.LogLess; import com.jayfeng.lesscode.core.ToastLess; import com.jayfeng.lesscode.core.ViewLess; +import java.io.File; +import java.net.URLEncoder; import java.util.ArrayList; import java.util.List; @@ -32,6 +37,37 @@ protected void onCreate(Bundle savedInstanceState) { initData(); + final File mDestDir = new File(Environment.getExternalStorageDirectory().getPath() + "/lesscode-download"); + if (mDestDir.exists() && !mDestDir.isDirectory()) { + mDestDir.delete(); + } + if (mDestDir.exists() || mDestDir.mkdirs()) { + + } + final File mDestFile = new File(mDestDir.getPath() + "/" + URLEncoder.encode("http://www.vpngo.com/download/vpngo-release-v1.3.1-46.apk")); + new Thread() { + @Override + public void run() { + try { + HttpLess.$download("http://www.vpngo.com/download/vpngo-release-v1.3.1-46.apk", mDestFile, false, new HttpLess.DownloadCallBack() { + @Override + public void onDownloading(int progress) { + + } + + @Override + public void onDownloaded() { + LogLess.$d("下载完成"); + } + }); + } catch (Exception e) { + e.printStackTrace(); + LogLess.$d(e.getMessage()); + } + } + }.start(); + + // adapter = AdapterLess.$base(this, list, R.layout.activity_main_list_item, // new AdapterLess.CallBack() { // @Override diff --git a/lesscode-core/build.gradle b/lesscode-core/build.gradle index c6efd03..95db3bb 100644 --- a/lesscode-core/build.gradle +++ b/lesscode-core/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'com.android.library' apply plugin: 'com.github.dcendents.android-maven' apply plugin: 'com.jfrog.bintray' -version = "2.0" // #CONFIG# // project version +version = "2.1" // #CONFIG# // project version android { compileSdkVersion 25 @@ -28,8 +28,8 @@ android { dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) - compile 'com.android.support:support-v4:25.1.0' - compile 'com.android.support:recyclerview-v7:25.1.0' + compile 'com.android.support:support-v4:25.1.1' + compile 'com.android.support:recyclerview-v7:25.1.1' } def siteUrl = 'https://github.com/openproject/LessCode' // #CONFIG# // project homepage From 145d0c8a54e3cc61ee389a1a719557e178746aff Mon Sep 17 00:00:00 2001 From: fengjian Date: Wed, 22 Feb 2017 14:12:28 +0800 Subject: [PATCH 03/10] support http get redirect url --- .../src/main/java/com/jayfeng/lesscode/core/HttpLess.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lesscode-core/src/main/java/com/jayfeng/lesscode/core/HttpLess.java b/lesscode-core/src/main/java/com/jayfeng/lesscode/core/HttpLess.java index d573c8e..d0936f3 100644 --- a/lesscode-core/src/main/java/com/jayfeng/lesscode/core/HttpLess.java +++ b/lesscode-core/src/main/java/com/jayfeng/lesscode/core/HttpLess.java @@ -52,7 +52,12 @@ public final class HttpLess { String value = entry.getValue().toString(); conn.setRequestProperty(key, value); } - if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) { + if (conn.getResponseCode() == HttpURLConnection.HTTP_MOVED_PERM + || conn.getResponseCode()== HttpURLConnection.HTTP_MOVED_TEMP) { + // 重定向地址下载 + String redirectDownloadUrl = conn.getHeaderField("location"); + return $get(redirectDownloadUrl, header); + } else if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) { is = conn.getInputStream(); return FileLess.$read(is); } From d3224e9e3f374e2f4bbbaacd4be334f8c81e6944 Mon Sep 17 00:00:00 2001 From: fengjian Date: Wed, 22 Mar 2017 15:14:17 +0800 Subject: [PATCH 04/10] release v2.2 --- build.gradle | 2 +- gradle/wrapper/gradle-wrapper.properties | 4 ++-- lesscode-core/build.gradle | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/build.gradle b/build.gradle index 47804e3..746515f 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:2.2.3' + classpath 'com.android.tools.build:gradle:2.3.0' classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.1' classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5' // NOTE: Do not place your application dependencies here; they belong diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 0e65f82..1cfdd86 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Wed Aug 24 08:51:21 CST 2016 +#Wed Mar 22 15:12:10 CST 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip diff --git a/lesscode-core/build.gradle b/lesscode-core/build.gradle index 95db3bb..73a435c 100644 --- a/lesscode-core/build.gradle +++ b/lesscode-core/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'com.android.library' apply plugin: 'com.github.dcendents.android-maven' apply plugin: 'com.jfrog.bintray' -version = "2.1" // #CONFIG# // project version +version = "2.2" // #CONFIG# // project version android { compileSdkVersion 25 @@ -28,8 +28,8 @@ android { dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) - compile 'com.android.support:support-v4:25.1.1' - compile 'com.android.support:recyclerview-v7:25.1.1' + compile 'com.android.support:support-v4:25.3.0' + compile 'com.android.support:recyclerview-v7:25.3.0' } def siteUrl = 'https://github.com/openproject/LessCode' // #CONFIG# // project homepage From ace6435a91b3e0ed614d487179e02572d21440ae Mon Sep 17 00:00:00 2001 From: fengjian Date: Sun, 18 Jun 2017 21:01:40 +0800 Subject: [PATCH 05/10] upgrade the build config --- build.gradle | 2 +- lesscode-core/build.gradle | 6 +++--- .../java/com/jayfeng/lesscode/core/ApplicationLess.java | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/build.gradle b/build.gradle index 746515f..1319315 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:2.3.0' + classpath 'com.android.tools.build:gradle:2.3.2' classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.1' classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5' // NOTE: Do not place your application dependencies here; they belong diff --git a/lesscode-core/build.gradle b/lesscode-core/build.gradle index 73a435c..101e278 100644 --- a/lesscode-core/build.gradle +++ b/lesscode-core/build.gradle @@ -6,7 +6,7 @@ version = "2.2" // android { compileSdkVersion 25 - buildToolsVersion "25.0.2" + buildToolsVersion "25.0.3" // resourcePrefix "less_" // #CONFIG# // please remove this if you don't known it defaultConfig { minSdkVersion 9 @@ -28,8 +28,8 @@ android { dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) - compile 'com.android.support:support-v4:25.3.0' - compile 'com.android.support:recyclerview-v7:25.3.0' + compile 'com.android.support:support-v4:25.3.1' + compile 'com.android.support:recyclerview-v7:25.3.1' } def siteUrl = 'https://github.com/openproject/LessCode' // #CONFIG# // project homepage diff --git a/lesscode-core/src/main/java/com/jayfeng/lesscode/core/ApplicationLess.java b/lesscode-core/src/main/java/com/jayfeng/lesscode/core/ApplicationLess.java index 7c13710..4a521bb 100644 --- a/lesscode-core/src/main/java/com/jayfeng/lesscode/core/ApplicationLess.java +++ b/lesscode-core/src/main/java/com/jayfeng/lesscode/core/ApplicationLess.java @@ -14,7 +14,7 @@ public final class ApplicationLess { * @param context * @return */ - private static boolean $init(Context context) { + public static boolean $init(Context context) { ActivityManager am = ((ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE)); List processInfos = am.getRunningAppProcesses(); String mainProcessName = context.getPackageName(); From 77fd89266570f68f5e02230b692ace0daf7453e7 Mon Sep 17 00:00:00 2001 From: fengjian Date: Sun, 18 Jun 2017 21:18:13 +0800 Subject: [PATCH 06/10] release v2.3 --- lesscode-core/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lesscode-core/build.gradle b/lesscode-core/build.gradle index 101e278..1f500dc 100644 --- a/lesscode-core/build.gradle +++ b/lesscode-core/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'com.android.library' apply plugin: 'com.github.dcendents.android-maven' apply plugin: 'com.jfrog.bintray' -version = "2.2" // #CONFIG# // project version +version = "2.3" // #CONFIG# // project version android { compileSdkVersion 25 From d4cd01884431c77a1384659bc69b64ed7ed9fe95 Mon Sep 17 00:00:00 2001 From: fengjian Date: Wed, 28 Mar 2018 16:11:39 +0800 Subject: [PATCH 07/10] upgrade the as to 3.0 --- app/build.gradle | 8 ++++---- build.gradle | 4 +++- gradle/wrapper/gradle-wrapper.properties | 4 ++-- lesscode-core/build.gradle | 12 ++++++------ 4 files changed, 15 insertions(+), 13 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index ec60648..3384bef 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,13 +1,13 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 25 - buildToolsVersion "25.0.2" + compileSdkVersion 27 + buildToolsVersion '27.0.3' defaultConfig { applicationId "com.jayfeng.lesscode.app" - minSdkVersion 9 - targetSdkVersion 25 + minSdkVersion 14 + targetSdkVersion 27 versionCode 1 versionName "1.0" } diff --git a/build.gradle b/build.gradle index 1319315..9987d03 100644 --- a/build.gradle +++ b/build.gradle @@ -3,9 +3,10 @@ buildscript { repositories { jcenter() + google() } dependencies { - classpath 'com.android.tools.build:gradle:2.3.2' + classpath 'com.android.tools.build:gradle:3.0.1' classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.1' classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5' // NOTE: Do not place your application dependencies here; they belong @@ -16,5 +17,6 @@ buildscript { allprojects { repositories { jcenter() + google() } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 1cfdd86..cb24766 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Wed Mar 22 15:12:10 CST 2017 +#Wed Mar 28 16:07:08 CST 2018 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip diff --git a/lesscode-core/build.gradle b/lesscode-core/build.gradle index 1f500dc..6c087b7 100644 --- a/lesscode-core/build.gradle +++ b/lesscode-core/build.gradle @@ -5,12 +5,12 @@ apply plugin: 'com.jfrog.bintray' version = "2.3" // #CONFIG# // project version android { - compileSdkVersion 25 - buildToolsVersion "25.0.3" + compileSdkVersion 27 + buildToolsVersion "27.0.3" // resourcePrefix "less_" // #CONFIG# // please remove this if you don't known it defaultConfig { - minSdkVersion 9 - targetSdkVersion 25 + minSdkVersion 14 + targetSdkVersion 27 versionCode 1 versionName "1.0" } @@ -28,8 +28,8 @@ android { dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) - compile 'com.android.support:support-v4:25.3.1' - compile 'com.android.support:recyclerview-v7:25.3.1' + compile 'com.android.support:support-v4:27.1.0' + compile 'com.android.support:recyclerview-v7:27.1.0' } def siteUrl = 'https://github.com/openproject/LessCode' // #CONFIG# // project homepage From b07ccfc8fde18014b3b0bec43288139345348477 Mon Sep 17 00:00:00 2001 From: fengjian Date: Wed, 28 Mar 2018 16:18:50 +0800 Subject: [PATCH 08/10] fix(storage): fix the sdcard StatFs no permission error --- .../jayfeng/lesscode/core/StorageLess.java | 28 +++++++++++++------ 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/lesscode-core/src/main/java/com/jayfeng/lesscode/core/StorageLess.java b/lesscode-core/src/main/java/com/jayfeng/lesscode/core/StorageLess.java index 8b046e9..d881dc2 100644 --- a/lesscode-core/src/main/java/com/jayfeng/lesscode/core/StorageLess.java +++ b/lesscode-core/src/main/java/com/jayfeng/lesscode/core/StorageLess.java @@ -186,17 +186,29 @@ public static class ExtSdcard { } private static long total(File path) { - StatFs stat = new StatFs(path.getPath()); - long blockSize = stat.getBlockSize(); - long totalBlocks = stat.getBlockCount(); - return blockSize * totalBlocks; + try { + StatFs stat = new StatFs(path.getPath()); + long blockSize = stat.getBlockSize(); + long totalBlocks = stat.getBlockCount(); + return blockSize * totalBlocks; + } catch (Exception e) { + e.printStackTrace(); + } + + return 0; } private static long free(File path) { - StatFs stat = new StatFs(path.getPath()); - long blockSize = stat.getBlockSize(); - long freeBlocks = stat.getAvailableBlocks(); - return blockSize * freeBlocks; + try { + StatFs stat = new StatFs(path.getPath()); + long blockSize = stat.getBlockSize(); + long freeBlocks = stat.getAvailableBlocks(); + return blockSize * freeBlocks; + } catch (Exception e) { + e.printStackTrace(); + } + + return 0; } private static long used(File path) { From 7bb2431e34b30b738a4143158ce96342c9ec00de Mon Sep 17 00:00:00 2001 From: fengjian Date: Wed, 28 Mar 2018 16:27:18 +0800 Subject: [PATCH 09/10] fix(network): add more network type --- .../main/java/com/jayfeng/lesscode/core/NetworkLess.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lesscode-core/src/main/java/com/jayfeng/lesscode/core/NetworkLess.java b/lesscode-core/src/main/java/com/jayfeng/lesscode/core/NetworkLess.java index 7024c49..c532f5a 100644 --- a/lesscode-core/src/main/java/com/jayfeng/lesscode/core/NetworkLess.java +++ b/lesscode-core/src/main/java/com/jayfeng/lesscode/core/NetworkLess.java @@ -60,6 +60,7 @@ public static enum NetworkType { if (type == ConnectivityManager.TYPE_MOBILE) { switch (subType) { case TelephonyManager.NETWORK_TYPE_GPRS: + case TelephonyManager.NETWORK_TYPE_GSM: case TelephonyManager.NETWORK_TYPE_EDGE: case TelephonyManager.NETWORK_TYPE_CDMA: case TelephonyManager.NETWORK_TYPE_1xRTT: @@ -75,10 +76,15 @@ public static enum NetworkType { case TelephonyManager.NETWORK_TYPE_EVDO_B: case TelephonyManager.NETWORK_TYPE_EHRPD: case TelephonyManager.NETWORK_TYPE_HSPAP: + case TelephonyManager.NETWORK_TYPE_TD_SCDMA: return NetworkType.MOBILE_MIDDLE;// 3G case TelephonyManager.NETWORK_TYPE_LTE: + case TelephonyManager.NETWORK_TYPE_IWLAN: + case 19: // TelephonyManager.NETWORK_TYPE_LTE_CA return NetworkType.MOBILE_FAST; // 4G + default: // we think the network will be more and more better + return NetworkType.MOBILE_FAST; } } From a4829f8643bcd6b22eae1bd625a4bc7597b052d7 Mon Sep 17 00:00:00 2001 From: fengjian Date: Wed, 28 Mar 2018 17:46:31 +0800 Subject: [PATCH 10/10] release v2.4.2 --- README-cn.md | 2 +- README.md | 2 +- lesscode-core/build.gradle | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README-cn.md b/README-cn.md index 7d6ba70..2b151f5 100644 --- a/README-cn.md +++ b/README-cn.md @@ -13,7 +13,7 @@ ## Gradle ```groovy -compile('com.jayfeng:lesscode-core:2.1') +implementation 'com.jayfeng:lesscode-core:2.4.2' ``` ## Features diff --git a/README.md b/README.md index 245fbf2..c5f87c8 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ less code, more efficient for android, for the best android tools library! ## Gradle ```groovy -compile('com.jayfeng:lesscode-core:2.1') +implementation 'com.jayfeng:lesscode-core:2.4.2' ``` ## Features diff --git a/lesscode-core/build.gradle b/lesscode-core/build.gradle index 6c087b7..55d9bb4 100644 --- a/lesscode-core/build.gradle +++ b/lesscode-core/build.gradle @@ -2,11 +2,11 @@ apply plugin: 'com.android.library' apply plugin: 'com.github.dcendents.android-maven' apply plugin: 'com.jfrog.bintray' -version = "2.3" // #CONFIG# // project version +version = "2.4.2" // #CONFIG# // project version android { compileSdkVersion 27 - buildToolsVersion "27.0.3" + buildToolsVersion "27.0.2" // resourcePrefix "less_" // #CONFIG# // please remove this if you don't known it defaultConfig { minSdkVersion 14 @@ -28,8 +28,8 @@ android { dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) - compile 'com.android.support:support-v4:27.1.0' - compile 'com.android.support:recyclerview-v7:27.1.0' + compile 'com.android.support:support-v4:27.0.2' + compile 'com.android.support:recyclerview-v7:27.0.2' } def siteUrl = 'https://github.com/openproject/LessCode' // #CONFIG# // project homepage