Skip to content

Commit

Permalink
feat(chuck): 测试下载
Browse files Browse the repository at this point in the history
  • Loading branch information
hss01248 committed Jul 7, 2022
1 parent 9655a26 commit 80badce
Show file tree
Hide file tree
Showing 6 changed files with 138 additions and 4 deletions.
4 changes: 4 additions & 0 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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'


}

Expand Down
83 changes: 83 additions & 0 deletions app/src/main/java/com/hss01248/flipperdemo/BaseApp.java
Original file line number Diff line number Diff line change
@@ -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;

Expand All @@ -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<String, String> bodyMetaData) {
Expand Down Expand Up @@ -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> T parseObject(String str, Class<T> clazz) {
return GsonUtils.getGson().fromJson(str, clazz);
}

@Override
public <E> List<E> parseArray(String str, Class<E> clazz) {
return GsonUtils.getGson().fromJson(str, new TypeToken<List<E>>(){}.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);
Expand Down
48 changes: 44 additions & 4 deletions app/src/main/java/com/hss01248/flipperdemo/MainActivity.java
Original file line number Diff line number Diff line change
@@ -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;

Expand Down Expand Up @@ -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<ResponseBean<FileDownlodConfig>>() {
@Override
public void onSuccess(ResponseBean<FileDownlodConfig> 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);

}
});

}
}
5 changes: 5 additions & 0 deletions app/src/main/res/layout/activity_main.xml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,11 @@
android:textAllCaps="false"
android:onClick="urlConnection"
android:layout_width="match_parent"/>
<Button android:layout_height="wrap_content"
android:text="大文件下载"
android:textAllCaps="false"
android:onClick="downloadLargeFile"
android:layout_width="match_parent"/>


</LinearLayout>
1 change: 1 addition & 0 deletions chuck/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ android {
targetSdkVersion 32
versionCode 1
versionName "1.0"
consumerProguardFiles "consumer-rules.pro"
}

buildTypes {
Expand Down
1 change: 1 addition & 0 deletions chuck/consumer-rules.pro
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
-keep class com.readystatesoftware.chuck.** {*; }

0 comments on commit 80badce

Please sign in to comment.