From 80badceefea974695ddcfe51d1f45ed966f40140 Mon Sep 17 00:00:00 2001 From: hss01248 Date: Thu, 7 Jul 2022 20:09:30 +0800 Subject: [PATCH] =?UTF-8?q?feat(chuck):=20=E6=B5=8B=E8=AF=95=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 4 + .../com/hss01248/flipperdemo/BaseApp.java | 83 +++++++++++++++++++ .../hss01248/flipperdemo/MainActivity.java | 48 ++++++++++- app/src/main/res/layout/activity_main.xml | 5 ++ chuck/build.gradle | 1 + chuck/consumer-rules.pro | 1 + 6 files changed, 138 insertions(+), 4 deletions(-) create mode 100644 chuck/consumer-rules.pro diff --git a/app/build.gradle b/app/build.gradle index 5c47cfd..db67137 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -40,6 +40,8 @@ android { // Make sure libjsc.so does not packed in APK //pickFirst '**/libc++_shared.so' //exclude("META-INF/*.kotlin_module") + exclude("META-INF/DEPENDENCIES") + //META-INF/DEPENDENCIES } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 @@ -72,6 +74,8 @@ dependencies { api 'io.github.didi.dokit:dokitx-plugin:3.5.0.1' + implementation 'com.github.hss01248.HttpUtil2:http:3.0.5' + } diff --git a/app/src/main/java/com/hss01248/flipperdemo/BaseApp.java b/app/src/main/java/com/hss01248/flipperdemo/BaseApp.java index 7ba7b78..aae9472 100644 --- a/app/src/main/java/com/hss01248/flipperdemo/BaseApp.java +++ b/app/src/main/java/com/hss01248/flipperdemo/BaseApp.java @@ -1,29 +1,37 @@ package com.hss01248.flipperdemo; +import android.app.Activity; import android.app.Application; import android.content.ContentResolver; import android.content.Context; import android.content.SharedPreferences; import android.content.res.Resources; +import com.blankj.utilcode.util.ActivityUtils; +import com.blankj.utilcode.util.GsonUtils; import com.blankj.utilcode.util.LogUtils; import com.blankj.utilcode.util.ToastUtils; import com.facebook.flipper.plugins.network.NetworkReporter; +import com.google.common.reflect.TypeToken; import com.hjq.permissions.XXPermissions; import com.hss01248.dokit.IDokitConfig; import com.hss01248.dokit.MyDokit; import com.hss01248.dokit.parts.BaseSwitcherKit; import com.hss01248.dokit.parts.ISwitch; import com.hss01248.flipper.FlipperUtil; +import com.hss01248.http.HttpUtil; +import com.hss01248.http.INetTool; import com.hss01248.network.body.meta.interceptor.BodyUtil2; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; +import java.util.List; import java.util.Map; +import okhttp3.OkHttpClient; import okhttp3.Request; import okio.Buffer; @@ -38,6 +46,7 @@ protected void attachBaseContext(Context base) { @Override public void onCreate() { super.onCreate(); + initHttp(); FlipperUtil.setRequestBodyParser(new com.facebook.flipper.plugins.network.RequestBodyParser() { @Override public boolean parseRequestBoddy(Request request, Buffer bodyBuffer, NetworkReporter.RequestInfo info, Map bodyMetaData) { @@ -82,6 +91,80 @@ public boolean onIconClick(Runnable changeState, boolean currentState) { } + private void initHttp() { + HttpUtil.init(this, true, "https://www.baidu.com", new INetTool() { + @Override + public String toJsonStr(Object obj) { + return GsonUtils.toJson(obj); + } + + @Override + public T parseObject(String str, Class clazz) { + return GsonUtils.getGson().fromJson(str, clazz); + } + + @Override + public List parseArray(String str, Class clazz) { + return GsonUtils.getGson().fromJson(str, new TypeToken>(){}.getType()); + } + + @Override + public void logi(String str) { + LogUtils.i(str); + } + + @Override + public void logd(String str) { + LogUtils.d(str); + } + + @Override + public void logw(String str) { + LogUtils.w(str); + } + + @Override + public void logdJson(String json) { + LogUtils.json(json); + } + + @Override + public void initialStetho(Application application) { + + } + + @Override + public void addChuckInterceptor(OkHttpClient.Builder builder) { + + } + + @Override + public void addStethoInterceptor(OkHttpClient.Builder builder) { + + } + + @Override + public void addHttpLogInterceptor(OkHttpClient.Builder builder) { + + } + + @Override + public Activity getTopActivity() { + return ActivityUtils.getTopActivity(); + } + + @Override + public void logObj(Object t) { + LogUtils.d(t); + } + + @Override + public void reportError(String code, String msg, String url) { + + } + }); + } + @Override public SharedPreferences getSharedPreferences(String name, int mode) { return super.getSharedPreferences(name, mode); diff --git a/app/src/main/java/com/hss01248/flipperdemo/MainActivity.java b/app/src/main/java/com/hss01248/flipperdemo/MainActivity.java index e79108b..bc91f7e 100644 --- a/app/src/main/java/com/hss01248/flipperdemo/MainActivity.java +++ b/app/src/main/java/com/hss01248/flipperdemo/MainActivity.java @@ -1,19 +1,23 @@ package com.hss01248.flipperdemo; -import androidx.appcompat.app.AppCompatActivity; - -import android.Manifest; -import android.os.Build; import android.os.Bundle; import android.util.Log; import android.view.View; +import androidx.appcompat.app.AppCompatActivity; +import com.blankj.utilcode.util.LogUtils; import com.blankj.utilcode.util.ThreadUtils; +import com.blankj.utilcode.util.ToastUtils; import com.hjq.permissions.OnPermissionCallback; import com.hjq.permissions.Permission; import com.hjq.permissions.XXPermissions; import com.hss01248.flipper.DBAspect; +import com.hss01248.http.ConfigInfo; +import com.hss01248.http.HttpUtil; +import com.hss01248.http.callback.MyNetCallback; +import com.hss01248.http.config.FileDownlodConfig; +import com.hss01248.http.response.ResponseBean; import com.hss01248.image.dataforphotoselet.ImgDataSeletor; import com.hss01248.media.metadata.FileTypeUtil; @@ -237,4 +241,40 @@ public void onSuccess(Object result) { }); } + + /** + * 测试用视频下载 + * + * 1、地址:http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4 1分钟 + * 2、地址:http://vjs.zencdn.net/v/oceans.mp4 + * 3、地址:https://media.w3.org/2010/05/sintel/trailer.mp4 52秒 + * 4、http://mirror.aarnet.edu.au/pub/TED-talks/911Mothers_2010W-480p.mp4 10分钟 + * @param view + */ + public void downloadLargeFile(View view) { + String url = "https://media.w3.org/2010/05/sintel/trailer.mp4"; + HttpUtil.download(url) + .setFileDownlodConfig(FileDownlodConfig.newBuilder() + .fileDir(getExternalFilesDir("down").getAbsolutePath()) + .build()) + .callback(new MyNetCallback>() { + @Override + public void onSuccess(ResponseBean response) { + + } + + @Override + public void onProgressChange(long transPortedBytes, long totalBytes, ConfigInfo info) { + super.onProgressChange(transPortedBytes, totalBytes, info); + LogUtils.i("transPortedBytes:"+transPortedBytes+"--totalBytes:"+totalBytes); + } + + @Override + public void onError(String msgCanShow) { + ToastUtils.showLong(msgCanShow); + + } + }); + + } } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index a45c60f..ae8d78c 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -33,6 +33,11 @@ android:textAllCaps="false" android:onClick="urlConnection" android:layout_width="match_parent"/> +