From 7e5f5292dbe39a4650f0b6cca6b8b33f6276ee22 Mon Sep 17 00:00:00 2001 From: jackjintai Date: Sat, 1 Feb 2020 15:39:50 +0800 Subject: [PATCH] =?UTF-8?q?modify:=201=E3=80=81=E6=89=93=E5=8C=85=E5=B9=B6?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E5=88=B0didi=E5=86=85=E9=83=A8=E4=BB=93?= =?UTF-8?q?=E5=BA=93=E5=B9=B6=E5=9C=A8=E4=BB=A3=E9=A9=BE=E4=B8=AD=E8=BF=9B?= =?UTF-8?q?=E8=A1=8C=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/didichuxing/doraemondemo/App.java | 2 +- Android/config.gradle | 10 +++---- .../doraemonkit-leakcanary/gradle.properties | 2 +- Android/doraemonkit-leakcanary/upload.gradle | 2 +- Android/doraemonkit-no-op/gradle.properties | 2 +- Android/doraemonkit-no-op/upload.gradle | 2 +- Android/doraemonkit-plugin/gradle.properties | 2 +- .../plugin/bytecode/DokitClassAdapter.java | 5 ++-- Android/doraemonkit-plugin/upload.gradle | 2 +- Android/doraemonkit-rpc/build.gradle | 2 +- Android/doraemonkit-rpc/gradle.properties | 2 +- Android/doraemonkit-rpc/upload.gradle | 2 +- .../doraemonkit-weex-no-op/gradle.properties | 2 +- Android/doraemonkit-weex-no-op/upload.gradle | 2 +- Android/doraemonkit-weex/build.gradle | 2 +- Android/doraemonkit-weex/gradle.properties | 2 +- Android/doraemonkit-weex/upload.gradle | 2 +- Android/doraemonkit/gradle.properties | 2 +- .../DokitActivityLifecycleCallbacks.java | 4 +-- .../doraemonkit/DoraemonKitReal.java | 11 ++++--- .../kit/colorpick/ImageCapture.java | 29 ++++++++++--------- .../kit/health/AppHealthInfoUtil.java | 2 +- .../kit/health/HealthFragmentChild0.java | 19 ++++++++++-- .../kit/health/UserInfoDialogProvider.java | 17 ++++++++--- .../kit/timecounter/TimeCounterManager.java | 20 +++++++------ .../doraemonkit/ui/dialog/DialogProvider.java | 2 +- .../main/res/layout/dk_dialog_userinfo.xml | 11 +++++++ .../src/main/res/values-en-rUS/strings.xml | 1 + .../src/main/res/values-zh-rCN/strings.xml | 1 + .../src/main/res/values-zh-rTW/strings.xml | 1 + .../src/main/res/values/strings.xml | 1 + Android/doraemonkit/upload.gradle | 2 +- 32 files changed, 108 insertions(+), 60 deletions(-) diff --git a/Android/app/src/main/java/com/didichuxing/doraemondemo/App.java b/Android/app/src/main/java/com/didichuxing/doraemondemo/App.java index 7f7f3983..9320739a 100644 --- a/Android/app/src/main/java/com/didichuxing/doraemondemo/App.java +++ b/Android/app/src/main/java/com/didichuxing/doraemondemo/App.java @@ -44,7 +44,7 @@ public class App extends Application { } }); //严格检查模式 - StrictMode.enableDefaults(); + //StrictMode.enableDefaults(); } diff --git a/Android/config.gradle b/Android/config.gradle index 7b26d9c6..9a0b89aa 100755 --- a/Android/config.gradle +++ b/Android/config.gradle @@ -4,9 +4,9 @@ ext { // 线上包不会接入DoraemonKit,测试包会自动接入 applyPlugin : true, //上传到远程仓库时需要打开 - uploadArchives : true, + uploadArchives : false, //是否发布插件到远程仓库 - publishPluginToRemote: true + publishPluginToRemote: false ] android = [compileSdkVersion : 28, suppotrSdkVersion : "27.1.1", @@ -15,9 +15,10 @@ ext { targetSdkVersion : 27, versionCode : 224, //dokit 插件版本号 - pluginVersionName : "1.0.0", + pluginVersionName : "1000.0.0", //jcenter dokit版本号 jcenterArchivesVersionName: "2.2.4", + didiArchivesVersionName : "1000.0.5", versionName : "2.2.4", glide : "4.8.0", ] @@ -44,7 +45,7 @@ ext { //将urlconnection代理到okhttp //"okhttp_urlconnection" : "com.squareup.okhttp3:okhttp-urlconnection:3.12.1", //"okio" : "com.squareup.okio:okio:1.15.0", - "utilcode" : 'com.blankj:utilcode:1.25.9', + "utilcode" : 'com.blankj:utilcode:1.26.0', "glide" : 'com.github.bumptech.glide:glide:4.9.0', "glide_okhttp3" : "com.github.bumptech.glide:okhttp3-integration:4.9.0", "glide_compiler" : "com.github.bumptech.glide:compiler:4.9.0", @@ -60,7 +61,6 @@ ext { "haha" : 'com.squareup.haha:haha:2.0.4', "debug-db" : "com.amitshekhar.android:debug-db:1.0.6", "debug-db-encrypt" : "com.amitshekhar.android:debug-db-encrypt:1.0.6", - "doraemonkit" : "com.didichuxing.doraemonkit:doraemonkit:${android["jcenterArchivesVersionName"]}", "weex_inspector" : "com.taobao.android:weex_inspector:0.24.2.11", "weex_sdk" : "com.taobao.android:weex_sdk:0.26.0", "brvah" : 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.50', diff --git a/Android/doraemonkit-leakcanary/gradle.properties b/Android/doraemonkit-leakcanary/gradle.properties index 845b222f..facd6ac0 100644 --- a/Android/doraemonkit-leakcanary/gradle.properties +++ b/Android/doraemonkit-leakcanary/gradle.properties @@ -2,7 +2,7 @@ android.useDeprecatedNdk=true GROUP_ID=com.didichuxing.doraemonkit ARTIFACT_ID=doraemonkit-leakcanary -VERSION=2.2.4 +VERSION=1000.0.0 RELEASE_REPOSITORY_URL=http://artifactory.intra.xiaojukeji.com/artifactory/libs-release/ SNAPSHOT_REPOSITORY_URL=http://artifactory.intra.xiaojukeji.com/artifactory/libs-snapshot/ USERNAME=deployment diff --git a/Android/doraemonkit-leakcanary/upload.gradle b/Android/doraemonkit-leakcanary/upload.gradle index f76eaf8c..efe18951 100644 --- a/Android/doraemonkit-leakcanary/upload.gradle +++ b/Android/doraemonkit-leakcanary/upload.gradle @@ -6,7 +6,7 @@ uploadArchives { pom.project { groupId project.GROUP_ID artifactId project.ARTIFACT_ID - version project.VERSION + version rootProject.ext.android["didiArchivesVersionName"] } pom.withXml { diff --git a/Android/doraemonkit-no-op/gradle.properties b/Android/doraemonkit-no-op/gradle.properties index 105fe86c..577211e2 100644 --- a/Android/doraemonkit-no-op/gradle.properties +++ b/Android/doraemonkit-no-op/gradle.properties @@ -2,7 +2,7 @@ android.useDeprecatedNdk=true GROUP_ID=com.didichuxing.doraemonkit ARTIFACT_ID=doraemonkit-no-op -VERSION=2.2.4 +VERSION=1000.0.0 RELEASE_REPOSITORY_URL=http://artifactory.intra.xiaojukeji.com/artifactory/libs-release/ SNAPSHOT_REPOSITORY_URL=http://artifactory.intra.xiaojukeji.com/artifactory/libs-snapshot/ USERNAME=deployment diff --git a/Android/doraemonkit-no-op/upload.gradle b/Android/doraemonkit-no-op/upload.gradle index f76eaf8c..efe18951 100644 --- a/Android/doraemonkit-no-op/upload.gradle +++ b/Android/doraemonkit-no-op/upload.gradle @@ -6,7 +6,7 @@ uploadArchives { pom.project { groupId project.GROUP_ID artifactId project.ARTIFACT_ID - version project.VERSION + version rootProject.ext.android["didiArchivesVersionName"] } pom.withXml { diff --git a/Android/doraemonkit-plugin/gradle.properties b/Android/doraemonkit-plugin/gradle.properties index 149f9a80..b7570192 100644 --- a/Android/doraemonkit-plugin/gradle.properties +++ b/Android/doraemonkit-plugin/gradle.properties @@ -2,7 +2,7 @@ android.useDeprecatedNdk=true GROUP_ID=com.didichuxing.doraemonkit ARTIFACT_ID=doraemonkit-plugin -VERSION=1.0.0 +VERSION=1000.0.0 RELEASE_REPOSITORY_URL=http://artifactory.intra.xiaojukeji.com/artifactory/libs-release/ SNAPSHOT_REPOSITORY_URL=http://artifactory.intra.xiaojukeji.com/artifactory/libs-snapshot/ USERNAME=deployment diff --git a/Android/doraemonkit-plugin/src/main/groovy/com/didichuxing/doraemonkit/plugin/bytecode/DokitClassAdapter.java b/Android/doraemonkit-plugin/src/main/groovy/com/didichuxing/doraemonkit/plugin/bytecode/DokitClassAdapter.java index a2cd76fb..4387a6d8 100644 --- a/Android/doraemonkit-plugin/src/main/groovy/com/didichuxing/doraemonkit/plugin/bytecode/DokitClassAdapter.java +++ b/Android/doraemonkit-plugin/src/main/groovy/com/didichuxing/doraemonkit/plugin/bytecode/DokitClassAdapter.java @@ -106,8 +106,9 @@ public final class DokitClassAdapter extends ClassVisitor { log(className, access, name, desc, signature); return mv == null ? null : new PlatformHttpMethodAdapter(access, desc, mv); } - //app启动hook点 onCreate()函数 - if (!StringUtils.isEmpty(superName) && superName.equals("android/app/Application") && name.equals("onCreate") && desc.equals("()V")) { + //app启动hook点 onCreate()函数 兼容MultiDex + if (!StringUtils.isEmpty(superName) && (superName.equals("android/app/Application")|| superName.equals("android/support/multidex/MultiDexApplication")) && name.equals("onCreate") && desc.equals("()V")) { + log(className, access, name, desc, signature); return mv == null ? null : new ApplicationOnCreateMethodAdapter(access, name, desc, mv); } diff --git a/Android/doraemonkit-plugin/upload.gradle b/Android/doraemonkit-plugin/upload.gradle index f76eaf8c..b5ecc0cd 100644 --- a/Android/doraemonkit-plugin/upload.gradle +++ b/Android/doraemonkit-plugin/upload.gradle @@ -6,7 +6,7 @@ uploadArchives { pom.project { groupId project.GROUP_ID artifactId project.ARTIFACT_ID - version project.VERSION + version rootProject.ext.android["pluginVersionName"] } pom.withXml { diff --git a/Android/doraemonkit-rpc/build.gradle b/Android/doraemonkit-rpc/build.gradle index ec90a9d2..5ae5a736 100644 --- a/Android/doraemonkit-rpc/build.gradle +++ b/Android/doraemonkit-rpc/build.gradle @@ -54,7 +54,7 @@ dependencies { compileOnly rootProject.ext.dependencies["didi_rpc"] //此处需要使用api的形式 向上暴露内部api if (rootProject.ext.config["uploadArchives"]) { - api "com.didichuxing.doraemonkit:doraemonkit:${rootProject.ext.android["jcenterArchivesVersionName"]}" + api "com.didichuxing.doraemonkit:doraemonkit:${rootProject.ext.android["didiArchivesVersionName"]}" } else { api project(':doraemonkit') } diff --git a/Android/doraemonkit-rpc/gradle.properties b/Android/doraemonkit-rpc/gradle.properties index 0aa7e110..2cf0eadc 100644 --- a/Android/doraemonkit-rpc/gradle.properties +++ b/Android/doraemonkit-rpc/gradle.properties @@ -2,7 +2,7 @@ android.useDeprecatedNdk=true GROUP_ID=com.didichuxing.doraemonkit ARTIFACT_ID=doraemonkit-rpc -VERSION=2.2.4 +VERSION=1000.0.0 RELEASE_REPOSITORY_URL=http://artifactory.intra.xiaojukeji.com/artifactory/libs-release/ SNAPSHOT_REPOSITORY_URL=http://artifactory.intra.xiaojukeji.com/artifactory/libs-snapshot/ USERNAME=deployment diff --git a/Android/doraemonkit-rpc/upload.gradle b/Android/doraemonkit-rpc/upload.gradle index f76eaf8c..efe18951 100644 --- a/Android/doraemonkit-rpc/upload.gradle +++ b/Android/doraemonkit-rpc/upload.gradle @@ -6,7 +6,7 @@ uploadArchives { pom.project { groupId project.GROUP_ID artifactId project.ARTIFACT_ID - version project.VERSION + version rootProject.ext.android["didiArchivesVersionName"] } pom.withXml { diff --git a/Android/doraemonkit-weex-no-op/gradle.properties b/Android/doraemonkit-weex-no-op/gradle.properties index f56e9cff..98d4c04a 100644 --- a/Android/doraemonkit-weex-no-op/gradle.properties +++ b/Android/doraemonkit-weex-no-op/gradle.properties @@ -2,7 +2,7 @@ android.useDeprecatedNdk=true GROUP_ID=com.didichuxing.doraemonkit ARTIFACT_ID=doraemonkit-weex-no-op -VERSION=2.2.4 +VERSION=1000.0.0 RELEASE_REPOSITORY_URL=http://artifactory.intra.xiaojukeji.com/artifactory/libs-release/ SNAPSHOT_REPOSITORY_URL=http://artifactory.intra.xiaojukeji.com/artifactory/libs-snapshot/ USERNAME=deployment diff --git a/Android/doraemonkit-weex-no-op/upload.gradle b/Android/doraemonkit-weex-no-op/upload.gradle index 23e26da3..a7a85161 100644 --- a/Android/doraemonkit-weex-no-op/upload.gradle +++ b/Android/doraemonkit-weex-no-op/upload.gradle @@ -6,7 +6,7 @@ uploadArchives { pom.project { groupId project.GROUP_ID artifactId project.ARTIFACT_ID - version project.VERSION + version rootProject.ext.android["didiArchivesVersionName"] } pom.withXml { diff --git a/Android/doraemonkit-weex/build.gradle b/Android/doraemonkit-weex/build.gradle index 930d2984..64338735 100644 --- a/Android/doraemonkit-weex/build.gradle +++ b/Android/doraemonkit-weex/build.gradle @@ -39,7 +39,7 @@ dependencies { implementation rootProject.ext.dependencies["design"] implementation rootProject.ext.dependencies["utilcode"] if (rootProject.ext.config["uploadArchives"]) { - implementation "com.didichuxing.doraemonkit:doraemonkit:${rootProject.ext.android["jcenterArchivesVersionName"]}" + implementation "com.didichuxing.doraemonkit:doraemonkit:${rootProject.ext.android["didiArchivesVersionName"]}" } else { implementation project(':doraemonkit') } diff --git a/Android/doraemonkit-weex/gradle.properties b/Android/doraemonkit-weex/gradle.properties index f4854fab..630f0848 100644 --- a/Android/doraemonkit-weex/gradle.properties +++ b/Android/doraemonkit-weex/gradle.properties @@ -2,7 +2,7 @@ android.useDeprecatedNdk=true GROUP_ID=com.didichuxing.doraemonkit ARTIFACT_ID=doraemonkit-weex -VERSION=2.2.4 +VERSION=1000.0.0 RELEASE_REPOSITORY_URL=http://artifactory.intra.xiaojukeji.com/artifactory/libs-release/ SNAPSHOT_REPOSITORY_URL=http://artifactory.intra.xiaojukeji.com/artifactory/libs-snapshot/ USERNAME=deployment diff --git a/Android/doraemonkit-weex/upload.gradle b/Android/doraemonkit-weex/upload.gradle index 23e26da3..a7a85161 100644 --- a/Android/doraemonkit-weex/upload.gradle +++ b/Android/doraemonkit-weex/upload.gradle @@ -6,7 +6,7 @@ uploadArchives { pom.project { groupId project.GROUP_ID artifactId project.ARTIFACT_ID - version project.VERSION + version rootProject.ext.android["didiArchivesVersionName"] } pom.withXml { diff --git a/Android/doraemonkit/gradle.properties b/Android/doraemonkit/gradle.properties index 5459c3ac..9bfb302a 100644 --- a/Android/doraemonkit/gradle.properties +++ b/Android/doraemonkit/gradle.properties @@ -2,7 +2,7 @@ android.useDeprecatedNdk=true GROUP_ID=com.didichuxing.doraemonkit ARTIFACT_ID=doraemonkit -VERSION=2.2.4 +VERSION=1000.0.0 RELEASE_REPOSITORY_URL=http://artifactory.intra.xiaojukeji.com/artifactory/libs-release/ SNAPSHOT_REPOSITORY_URL=http://artifactory.intra.xiaojukeji.com/artifactory/libs-snapshot/ USERNAME=deployment diff --git a/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/DokitActivityLifecycleCallbacks.java b/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/DokitActivityLifecycleCallbacks.java index 8f56d65f..2e701c03 100644 --- a/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/DokitActivityLifecycleCallbacks.java +++ b/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/DokitActivityLifecycleCallbacks.java @@ -247,10 +247,10 @@ class DokitActivityLifecycleCallbacks implements Application.ActivityLifecycleCa } String detail = "最大层级:" + maxLevel + "\n" - + "控件id:" + (maxLevelViewInfo == null ? "no matched" : maxLevelViewInfo.id) + "\n" + + "控件id:" + (maxLevelViewInfo == null ? "no id" : maxLevelViewInfo.id) + "\n" + "总绘制耗时:" + totalTime + "ms" + "\n" + "绘制耗时最长控件:" + maxTime + "ms" + "\n" - + "绘制耗时最长控件id:" + (maxTimeViewInfo == null ? "no matched" : maxTimeViewInfo.id) + "\n"; + + "绘制耗时最长控件id:" + (maxTimeViewInfo == null ? "no id" : maxTimeViewInfo.id) + "\n"; AppHealthInfo.DataBean.UiLevelBean uiLevelBean = new AppHealthInfo.DataBean.UiLevelBean(); uiLevelBean.setPage(activity.getClass().getCanonicalName()); uiLevelBean.setLevel("" + maxLevel); diff --git a/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/DoraemonKitReal.java b/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/DoraemonKitReal.java index b7f521e7..26851c6d 100644 --- a/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/DoraemonKitReal.java +++ b/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/DoraemonKitReal.java @@ -15,6 +15,7 @@ import com.blankj.utilcode.util.ThreadUtils; import com.blankj.utilcode.util.ToastUtils; import com.blankj.utilcode.util.Utils; import com.didichuxing.doraemonkit.aop.OkHttpHook; +import com.didichuxing.doraemonkit.config.GlobalConfig; import com.didichuxing.doraemonkit.config.PerformanceSpInfoConfig; import com.didichuxing.doraemonkit.constant.DokitConstant; import com.didichuxing.doraemonkit.constant.SharedPrefsKey; @@ -115,6 +116,7 @@ class DoraemonKitReal { */ static void install(final Application app, List selfKits, String productId) { DokitConstant.PRODUCT_ID = productId; + DokitConstant.APP_HEALTH_RUNNING = GlobalConfig.getAppHealth(DoraemonKit.APPLICATION); //添加常用工具 if (sHasInit) { //已经初始化添加自定义kits @@ -296,10 +298,11 @@ class DoraemonKitReal { } /** - * 单个文件的阈值为10M + * 单个文件的阈值为1M */ - // private static long FILE_LENGTH_THRESHOLD = 10 * 1024 * 1024; - private static long FILE_LENGTH_THRESHOLD = 1 * 1024; + // private static long FILE_LENGTH_THRESHOLD = 1 * 1024 * 1024; + // 测试时为1k + private static long FILE_LENGTH_THRESHOLD = 1024; private static void traverseFile(File rootFileDir) { if (rootFileDir == null) { @@ -314,7 +317,7 @@ class DoraemonKitReal { } if (file.isFile()) { //若是文件,直接打印 byte - long fileLength = FileUtils.getFileLength(file); + long fileLength = FileUtils.getLength(file); if (fileLength > FILE_LENGTH_THRESHOLD) { AppHealthInfo.DataBean.BigFileBean fileBean = new AppHealthInfo.DataBean.BigFileBean(); fileBean.setFileName(FileUtils.getFileName(file)); diff --git a/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/colorpick/ImageCapture.java b/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/colorpick/ImageCapture.java index be2048e2..04c98582 100644 --- a/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/colorpick/ImageCapture.java +++ b/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/colorpick/ImageCapture.java @@ -19,9 +19,10 @@ import com.didichuxing.doraemonkit.util.UIUtils; import java.nio.ByteBuffer; /** - * Created by wanglikun on 2018/12/3. + * + * @author wanglikun + * @date 2018/12/3 */ - @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) public class ImageCapture { private MediaProjectionManager mMediaProjectionManager; @@ -30,9 +31,6 @@ public class ImageCapture { private boolean isCapturing; private Bitmap mBitmap; - public ImageCapture() { - - } public void init(Context context, Bundle bundle) { mMediaProjectionManager = (MediaProjectionManager) context.getSystemService(Context.MEDIA_PROJECTION_SERVICE); @@ -51,7 +49,7 @@ public class ImageCapture { mImageReader.getSurface(), null, null); } - public void capture() { + void capture() { if (isCapturing) { return; } @@ -68,14 +66,14 @@ public class ImageCapture { int rowStride = planes[0].getRowStride(); int rowPaddingStride = rowStride - pixelStride * width; int rowPadding = rowPaddingStride / pixelStride; - Bitmap recordBitmap = Bitmap.createBitmap(width + rowPadding , height, Bitmap.Config.ARGB_8888); + Bitmap recordBitmap = Bitmap.createBitmap(width + rowPadding, height, Bitmap.Config.ARGB_8888); recordBitmap.copyPixelsFromBuffer(buffer); mBitmap = Bitmap.createBitmap(recordBitmap, 0, 0, width, height); image.close(); isCapturing = false; } - public Bitmap getPartBitmap(int x, int y, int width, int height) { + Bitmap getPartBitmap(int x, int y, int width, int height) { if (mBitmap == null) { return null; } @@ -94,12 +92,17 @@ public class ImageCapture { return Bitmap.createBitmap(mBitmap, x, y, width, height); } - public void destroy() { - mImageReader.close(); - mMediaProjection.stop(); + void destroy() { + if (mImageReader != null) { + mImageReader.close(); + mImageReader = null; + } + if (mMediaProjection != null) { + mMediaProjection.stop(); + mMediaProjection = null; + } mMediaProjectionManager = null; - mMediaProjection = null; - mImageReader = null; + if (mBitmap != null) { mBitmap.recycle(); mBitmap = null; diff --git a/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/health/AppHealthInfoUtil.java b/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/health/AppHealthInfoUtil.java index f7deea03..b5e290d6 100644 --- a/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/health/AppHealthInfoUtil.java +++ b/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/health/AppHealthInfoUtil.java @@ -243,7 +243,7 @@ public class AppHealthInfoUtil { if (mAppHealthInfo == null) { return; } - OkGo.post("http://172.23.163.178:80/healthCheck/addCheckData") + OkGo.post("http://dokit-test.intra.xiaojukeji.com/healthCheck/addCheckData") .upJson(GsonUtils.toJson(mAppHealthInfo)) .execute(new StringCallback() { @Override diff --git a/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/health/HealthFragmentChild0.java b/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/health/HealthFragmentChild0.java index 95008195..1e63d5f7 100644 --- a/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/health/HealthFragmentChild0.java +++ b/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/health/HealthFragmentChild0.java @@ -62,7 +62,7 @@ public class HealthFragmentChild0 extends BaseFragment { public boolean onPositive() { if (mUserInfoDialogProvider != null) { //上传健康体检数据 - mUserInfoDialogProvider.uploadAppHealthInfo(new UploadAppHealthCallback() { + boolean isCheck = mUserInfoDialogProvider.uploadAppHealthInfo(new UploadAppHealthCallback() { @Override public void onSuccess(Response response) { ToastUtils.showShort("上传数据成功!"); @@ -78,11 +78,17 @@ public class HealthFragmentChild0 extends BaseFragment { @Override public void onError(Response response) { + LogHelper.e(TAG, "error response===>" + response.body()); ToastUtils.showShort("上传数据失败,请重新上传"); } }); + + return isCheck; } + return true; + + } @Override @@ -92,7 +98,15 @@ public class HealthFragmentChild0 extends BaseFragment { @Override public void onCancel() { - + ToastUtils.showShort("本次测试用例已丢弃!"); + //重置状态 + GlobalConfig.setAppHealth(DoraemonKit.APPLICATION, false); + DokitConstant.APP_HEALTH_RUNNING = false; + mTitle.setVisibility(View.INVISIBLE); + mController.setImageResource(R.drawable.dk_health_start); + //关闭健康体检监控 + AppHealthInfoUtil.getInstance().stop(); + AppHealthInfoUtil.getInstance().release(); } }); mController.setOnClickListener(new View.OnClickListener() { @@ -107,6 +121,7 @@ public class HealthFragmentChild0 extends BaseFragment { if (mController != null) { ToastUtils.showShort("App即将重启并开始进入体检模式"); GlobalConfig.setAppHealth(DoraemonKit.APPLICATION, true); + DokitConstant.APP_HEALTH_RUNNING = true; //重启app mController.postDelayed(new Runnable() { @Override diff --git a/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/health/UserInfoDialogProvider.java b/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/health/UserInfoDialogProvider.java index 3c19ec20..0e2fc155 100644 --- a/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/health/UserInfoDialogProvider.java +++ b/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/health/UserInfoDialogProvider.java @@ -9,18 +9,21 @@ import com.blankj.utilcode.util.ToastUtils; import com.didichuxing.doraemonkit.R; import com.didichuxing.doraemonkit.ui.dialog.DialogListener; import com.didichuxing.doraemonkit.ui.dialog.DialogProvider; +import com.didichuxing.doraemonkit.util.LogHelper; /** * Created by jint on 2019/4/12 * 完善健康体检用户信息dialog + * @author jintai */ public class UserInfoDialogProvider extends DialogProvider { private TextView mPositive; private TextView mNegative; + private TextView mClose; private EditText mCaseName; private EditText mUserName; - public UserInfoDialogProvider(Object data, DialogListener listener) { + UserInfoDialogProvider(Object data, DialogListener listener) { super(data, listener); } @@ -33,6 +36,7 @@ public class UserInfoDialogProvider extends DialogProvider { protected void findViews(View view) { mPositive = view.findViewById(R.id.positive); mNegative = view.findViewById(R.id.negative); + mClose = view.findViewById(R.id.close); mCaseName = view.findViewById(R.id.edit_case_name); mUserName = view.findViewById(R.id.edit_user_name); } @@ -52,13 +56,18 @@ public class UserInfoDialogProvider extends DialogProvider { return mNegative; } + @Override + protected View getCancelView() { + return mClose; + } + /** * 上传健康体检数据 */ - void uploadAppHealthInfo(UploadAppHealthCallback uploadAppHealthCallBack) { + boolean uploadAppHealthInfo(UploadAppHealthCallback uploadAppHealthCallBack) { if (!userInfoCheck()) { ToastUtils.showShort("请填写测试用例和测试人"); - return; + return false; } String caseName = mCaseName.getText().toString(); String userName = mUserName.getText().toString(); @@ -66,7 +75,7 @@ public class UserInfoDialogProvider extends DialogProvider { AppHealthInfoUtil.getInstance().setBaseInfo(caseName, userName); //上传数据 AppHealthInfoUtil.getInstance().post(uploadAppHealthCallBack); - + return true; } /** diff --git a/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/timecounter/TimeCounterManager.java b/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/timecounter/TimeCounterManager.java index 1a8aa5ef..2ed4bc7d 100644 --- a/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/timecounter/TimeCounterManager.java +++ b/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/timecounter/TimeCounterManager.java @@ -58,17 +58,19 @@ public class TimeCounterManager { @Override public void onCall(ArrayList orderBeans) { try { - if (DokitConstant.APP_HEALTH_RUNNING) { - CounterInfo counterInfo = getAppSetupInfo(); - List loads = new ArrayList<>(); - for (OrderBean orderBean : orderBeans) { - AppHealthInfo.DataBean.AppStartBean.LoadFuncBean loadFuncBean = new AppHealthInfo.DataBean.AppStartBean.LoadFuncBean(); - loadFuncBean.setClassName(orderBean.getFunctionName()); - loadFuncBean.setCostTime(orderBean.getCostTime()); - loads.add(loadFuncBean); + CounterInfo counterInfo = getAppSetupInfo(); + List loads = new ArrayList<>(); + for (OrderBean orderBean : orderBeans) { + long costTime = Long.parseLong(orderBean.getCostTime()); + if (costTime < 1000) { + continue; } - AppHealthInfoUtil.getInstance().setAppStartInfo("" + counterInfo.totalCost, orderBeans.toString(), loads); + AppHealthInfo.DataBean.AppStartBean.LoadFuncBean loadFuncBean = new AppHealthInfo.DataBean.AppStartBean.LoadFuncBean(); + loadFuncBean.setClassName(orderBean.getFunctionName()); + loadFuncBean.setCostTime(orderBean.getCostTime()); + loads.add(loadFuncBean); } + AppHealthInfoUtil.getInstance().setAppStartInfo("" + counterInfo.totalCost, orderBeans.toString(), loads); } catch (Exception e) { e.printStackTrace(); } diff --git a/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/ui/dialog/DialogProvider.java b/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/ui/dialog/DialogProvider.java index dcde5012..4a11a89b 100644 --- a/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/ui/dialog/DialogProvider.java +++ b/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/ui/dialog/DialogProvider.java @@ -122,7 +122,7 @@ public abstract class DialogProvider { } } - public void onCancel() { + void onCancel() { if (mDialogListener != null) { mDialogListener.onCancel(); } diff --git a/Android/doraemonkit/src/main/res/layout/dk_dialog_userinfo.xml b/Android/doraemonkit/src/main/res/layout/dk_dialog_userinfo.xml index 7acaa87d..e6fa6a45 100644 --- a/Android/doraemonkit/src/main/res/layout/dk_dialog_userinfo.xml +++ b/Android/doraemonkit/src/main/res/layout/dk_dialog_userinfo.xml @@ -87,6 +87,17 @@ + + + + Time Counter History submit cancel + discard delete insert diff --git a/Android/doraemonkit/src/main/res/values-zh-rCN/strings.xml b/Android/doraemonkit/src/main/res/values-zh-rCN/strings.xml index 7f9c6cc5..9ac41deb 100644 --- a/Android/doraemonkit/src/main/res/values-zh-rCN/strings.xml +++ b/Android/doraemonkit/src/main/res/values-zh-rCN/strings.xml @@ -227,6 +227,7 @@ 添加 提交 取消 + 丢弃 成功 失败 确认 diff --git a/Android/doraemonkit/src/main/res/values-zh-rTW/strings.xml b/Android/doraemonkit/src/main/res/values-zh-rTW/strings.xml index 28125746..1cceda81 100644 --- a/Android/doraemonkit/src/main/res/values-zh-rTW/strings.xml +++ b/Android/doraemonkit/src/main/res/values-zh-rTW/strings.xml @@ -222,6 +222,7 @@ 鏈接 總封包數 取消 + 丟棄 確認 提交 請授權讀寫權限,避免crash文件丟失 diff --git a/Android/doraemonkit/src/main/res/values/strings.xml b/Android/doraemonkit/src/main/res/values/strings.xml index 1c5d00f2..0ac73be7 100644 --- a/Android/doraemonkit/src/main/res/values/strings.xml +++ b/Android/doraemonkit/src/main/res/values/strings.xml @@ -237,6 +237,7 @@ 提交 取消 + 丢弃 删除 添加 成功 diff --git a/Android/doraemonkit/upload.gradle b/Android/doraemonkit/upload.gradle index f76eaf8c..efe18951 100644 --- a/Android/doraemonkit/upload.gradle +++ b/Android/doraemonkit/upload.gradle @@ -6,7 +6,7 @@ uploadArchives { pom.project { groupId project.GROUP_ID artifactId project.ARTIFACT_ID - version project.VERSION + version rootProject.ext.android["didiArchivesVersionName"] } pom.withXml { -- GitLab