diff --git a/Android/app/doraemonkit.gradle b/Android/app/doraemonkit.gradle
index 908775e23541455edf07364c17b467f1335ee114..1c5bcf371705e665331a5c1a34a706790aa858f1 100644
--- a/Android/app/doraemonkit.gradle
+++ b/Android/app/doraemonkit.gradle
@@ -10,12 +10,12 @@ if (rootProject.ext.config["applyPlugin"]) {
// releaseImplementation project(":doraemonkit-no-op")
// releaseImplementation project(":doraemonkit_weex_no_op")
- debugImplementation 'com.didichuxing.doraemonkit:doraemonkit:1.2.8'
- debugImplementation 'com.didichuxing.doraemonkit:doraemonkit-leakcanary:1.2.8'
- debugImplementation 'com.didichuxing.doraemonkit:doraemonkit-weex:1.2.8'
- debugImplementation 'com.didichuxing.doraemonkit:doraemonkit-aop:1.2.8'
- releaseImplementation 'com.didichuxing.doraemonkit:doraemonkit-weex-no-op:1.2.8'
- releaseImplementation 'com.didichuxing.doraemonkit:doraemonkit-no-op:1.2.8'
+ debugImplementation 'com.didichuxing.doraemonkit:doraemonkit:2.0.0'
+ debugImplementation 'com.didichuxing.doraemonkit:doraemonkit-leakcanary:2.0.0'
+ debugImplementation 'com.didichuxing.doraemonkit:doraemonkit-weex:2.0.0'
+ debugImplementation 'com.didichuxing.doraemonkit:doraemonkit-aop:2.0.0'
+ releaseImplementation 'com.didichuxing.doraemonkit:doraemonkit-weex-no-op:2.0.0'
+ releaseImplementation 'com.didichuxing.doraemonkit:doraemonkit-no-op:2.0.0'
}
} else {
// 引用no-op的库
diff --git a/Android/app/src/debug/java/com/didichuxing/doraemondemo/MainDebugActivity.java b/Android/app/src/debug/java/com/didichuxing/doraemondemo/MainDebugActivity.java
index aa05a75b501f84025e70a6f804cc4a0f12707aed..881cdb96bc0089cf6990a03ec690f92aff3e2d59 100644
--- a/Android/app/src/debug/java/com/didichuxing/doraemondemo/MainDebugActivity.java
+++ b/Android/app/src/debug/java/com/didichuxing/doraemondemo/MainDebugActivity.java
@@ -32,7 +32,6 @@ import com.didichuxing.doraemonkit.ui.realtime.datasource.DataSourceFactory;
import com.didichuxing.doraemonkit.util.threadpool.ThreadPoolProxyFactory;
import com.facebook.drawee.view.SimpleDraweeView;
import com.squareup.picasso.Picasso;
-//import com.squareup.picasso.Picasso;
import java.io.ByteArrayOutputStream;
import java.io.File;
@@ -58,7 +57,7 @@ import okhttp3.RequestBody;
import okhttp3.Response;
import okhttp3.ResponseBody;
-//import com.squareup.picasso.Picasso;
+
public class MainDebugActivity extends AppCompatActivity implements View.OnClickListener {
public static final String TAG = "MainActivity";
diff --git a/Android/build.gradle b/Android/build.gradle
index 8beda994d499d73011f4e304046fa9285afbe7f7..32ad492f47232886044b90c3e39d3315034ebf80 100644
--- a/Android/build.gradle
+++ b/Android/build.gradle
@@ -13,7 +13,7 @@ buildscript {
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.5.1'
+ classpath 'com.android.tools.build:gradle:3.5.2'
classpath 'com.novoda:bintray-release:0.9.1'
classpath 'com.github.franticn:gradle_plugin_android_aspectjx:2.0.6'
// NOTE: Do not place your application dependencies here; they belong
diff --git a/Android/config.gradle b/Android/config.gradle
index 7d76f1da53a050e4b3d8febb234285f36f248006..a151b8c846c12ae4ac997bcf13a281fcff28f61f 100755
--- a/Android/config.gradle
+++ b/Android/config.gradle
@@ -11,12 +11,12 @@ ext {
applicationId : "com.didichuxing.doraemondemo",
minSdkVersion : 16,
targetSdkVersion : 27,
- versionCode : 128,
+ versionCode : 200,
//滴滴内网dokit版本号
innerArchivesVersionName : "0.1.23",
//jcenter dokit版本号
- jcenterArchivesVersionName: "1.2.8",
- versionName : "1.2.8",
+ jcenterArchivesVersionName: "2.0.0",
+ versionName : "2.0.0",
"glide" : "4.8.0",
]
dependencies = [// ###### android library start ######
diff --git a/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/DoraemonKit.java b/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/DoraemonKit.java
index 2848b12aa1790bc0a9224557ae84f9b18db4f11d..f74cc9456646dfb13bb28ffb6fb160bd4ae0c304 100644
--- a/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/DoraemonKit.java
+++ b/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/DoraemonKit.java
@@ -201,7 +201,9 @@ public class DoraemonKit {
return;
}
//设置app的直接子view的Id
- UIUtils.getDokitAppContentView(activity).setId(R.id.dokit_app_contentview_id);
+ if (UIUtils.getDokitAppContentView(activity) != null) {
+ UIUtils.getDokitAppContentView(activity).setId(R.id.dokit_app_contentview_id);
+ }
if (IS_NORMAL_FLOAT_MODE) {
diff --git a/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/layoutborder/LayoutLevelDokitView.java b/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/layoutborder/LayoutLevelDokitView.java
index 397c5c7550afe9cf4fc6eca2bf4c731cd5b263e1..45c0af8d72ade82080a69b2e3b686cd29274f07f 100644
--- a/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/layoutborder/LayoutLevelDokitView.java
+++ b/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/kit/layoutborder/LayoutLevelDokitView.java
@@ -11,9 +11,9 @@ import android.view.Window;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.FrameLayout;
-import android.widget.LinearLayout;
import com.blankj.utilcode.util.ActivityUtils;
+import com.blankj.utilcode.util.ToastUtils;
import com.didichuxing.doraemonkit.DoraemonKit;
import com.didichuxing.doraemonkit.R;
import com.didichuxing.doraemonkit.config.LayoutBorderConfig;
@@ -22,13 +22,14 @@ import com.didichuxing.doraemonkit.ui.base.AbsDokitView;
import com.didichuxing.doraemonkit.ui.base.DokitViewLayoutParams;
import com.didichuxing.doraemonkit.ui.base.DokitViewManager;
import com.didichuxing.doraemonkit.ui.layoutborder.ScalpelFrameLayout;
-import com.didichuxing.doraemonkit.ui.layoutborder.ViewBorderFrameLayout;
+import com.didichuxing.doraemonkit.util.LogHelper;
import com.didichuxing.doraemonkit.util.UIUtils;
/**
* Created by jintai on 2019/09/26.
*/
public class LayoutLevelDokitView extends AbsDokitView {
+ private static final String TAG = "LayoutLevelDokitView";
private CheckBox mSwitchButton;
private View mClose;
@@ -73,8 +74,16 @@ public class LayoutLevelDokitView extends AbsDokitView {
}
if (appContentView == null) {
+ ToastUtils.showShort("当前根布局功能不支持");
return;
}
+
+ if(appContentView.toString().contains("SwipeBackLayout")){
+ LogHelper.i(TAG,"普通模式下布局层级功能暂不支持以SwipeBackLayout为根布局,请改用系统模式");
+ ToastUtils.showShort("普通模式下布局层级功能暂不支持以SwipeBackLayout为根布局");
+ return;
+ }
+
//将所有控件放入到ScalpelFrameLayout中
mScalpelFrameLayout = new ScalpelFrameLayout(appContentView.getContext());
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT);
diff --git a/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/ui/layoutborder/ViewBorderFrameLayout.java b/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/ui/layoutborder/ViewBorderFrameLayout.java
index b436070e59f9b874216df2f1f187c41bc8a0efd3..d0b7ca739bd5ffcd57091e85a0070bd2e0588051 100644
--- a/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/ui/layoutborder/ViewBorderFrameLayout.java
+++ b/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/ui/layoutborder/ViewBorderFrameLayout.java
@@ -12,9 +12,13 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
+import com.blankj.utilcode.util.Utils;
+import com.didichuxing.doraemonkit.R;
import com.didichuxing.doraemonkit.config.LayoutBorderConfig;
import com.didichuxing.doraemonkit.ui.base.DokitViewInterface;
import com.didichuxing.doraemonkit.ui.base.DokitViewManagerInterface;
+import com.didichuxing.doraemonkit.util.LogHelper;
+import com.didichuxing.doraemonkit.util.UIUtils;
import java.util.ArrayList;
import java.util.List;
@@ -23,16 +27,22 @@ import java.util.List;
* Created by wanglikun on 2019/1/12
*/
public class ViewBorderFrameLayout extends FrameLayout {
+ private static final String TAG = "ViewBorderFrameLayout";
+
public ViewBorderFrameLayout(@NonNull Context context) {
super(context);
+ setId(R.id.dokit_view_border_id);
+ //LogHelper.i(TAG, "childId=====>" + UIUtils.getIdText(this));
}
public ViewBorderFrameLayout(@NonNull Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
+ setId(R.id.dokit_view_border_id);
}
public ViewBorderFrameLayout(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
+ setId(R.id.dokit_view_border_id);
}
@Override
diff --git a/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/util/UIUtils.java b/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/util/UIUtils.java
index 821a8a956543688f6d3449d42943f49e1f74f8e4..6bc828fe26602b10b4c8495c3e8d15183998e6d6 100644
--- a/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/util/UIUtils.java
+++ b/Android/doraemonkit/src/main/java/com/didichuxing/doraemonkit/util/UIUtils.java
@@ -5,6 +5,7 @@ import android.content.Context;
import android.content.res.Resources;
import android.graphics.Rect;
import android.support.annotation.AnyRes;
+import android.text.TextUtils;
import android.util.DisplayMetrics;
import android.util.TypedValue;
import android.view.Display;
@@ -13,6 +14,7 @@ import android.view.Window;
import android.view.WindowManager;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
+import android.widget.TextView;
import com.didichuxing.doraemonkit.R;
import com.didichuxing.doraemonkit.ui.layoutborder.ViewBorderFrameLayout;
@@ -148,7 +150,11 @@ public class UIUtils {
return false;
}
-
+ /**
+ * 要特别注意 返回的字段包含空格 做判断时一定要trim()
+ * @param view
+ * @return
+ */
public static String getIdText(View view) {
final int id = view.getId();
StringBuilder out = new StringBuilder();
@@ -177,12 +183,17 @@ public class UIUtils {
out.append("/");
out.append(entryname);
} catch (Resources.NotFoundException e) {
+ e.printStackTrace();
}
}
}
- return out.toString();
+ return TextUtils.isEmpty(out.toString()) ? "" : out.toString();
}
+ /**
+ * ViewBorderFrameLayout 的str id
+ */
+ private final static String STR_VIEW_BORDER_Id = "app:id/dokit_view_border_id";
/**
* 获得app的contentView
@@ -199,9 +210,10 @@ public class UIUtils {
for (int index = 0; index < decorView.getChildCount(); index++) {
View child = decorView.getChildAt(index);
+ LogHelper.i(TAG, "childId=====>" + getIdText(child));
//解决与布局边框工具冲突的问题
- if (child instanceof LinearLayout || child instanceof ViewBorderFrameLayout) {
- if (child instanceof ViewBorderFrameLayout) {
+ if ((child instanceof LinearLayout && TextUtils.isEmpty(getIdText(child).trim())) || child instanceof FrameLayout) {
+ if (getIdText(child).trim().equals(STR_VIEW_BORDER_Id)) {
mAppContentView = ((ViewBorderFrameLayout) child).getChildAt(0);
} else {
mAppContentView = child;
diff --git a/Android/doraemonkit/src/main/res/values/ids.xml b/Android/doraemonkit/src/main/res/values/ids.xml
index 89a6776e1d2a52e6673844cc9262e67e7bc4f86a..ff43c2406e9de648a614100c39e482bd7429c274 100755
--- a/Android/doraemonkit/src/main/res/values/ids.xml
+++ b/Android/doraemonkit/src/main/res/values/ids.xml
@@ -27,4 +27,5 @@
+
diff --git a/Doc/android-ReleaseNotes.md b/Doc/android-ReleaseNotes.md
index 8b74eb5c71f2bee7aff320d2c043b4cf9fc1f373..6e24098a97068377320e4be8af344aa8297dfc1b 100644
--- a/Doc/android-ReleaseNotes.md
+++ b/Doc/android-ReleaseNotes.md
@@ -1,3 +1,7 @@
+## 2.0.0
+
+1. 修复V2.0.0前置试用版V1.2.8的相关issues,先正是推出V2.0.0版本,请大家升级使用
+
## 1.2.8
1. 解决app_name被覆盖的问题
diff --git a/Doc/android_cn_guide.md b/Doc/android_cn_guide.md
index 6accf41f9c1a31e135ec9a325af76497ce0c09cc..3182f79dfb5a182b9560896bfc4a6fbc5dbe63c4 100644
--- a/Doc/android_cn_guide.md
+++ b/Doc/android_cn_guide.md
@@ -5,8 +5,8 @@
```
dependencies {
...
- debugImplementation 'com.didichuxing.doraemonkit:doraemonkit:1.2.8'
- releaseImplementation 'com.didichuxing.doraemonkit:doraemonkit-no-op:1.2.8'
+ debugImplementation 'com.didichuxing.doraemonkit:doraemonkit:2.0.0'
+ releaseImplementation 'com.didichuxing.doraemonkit:doraemonkit-no-op:2.0.0'
implementation 'com.squareup.okhttp3:okhttp:3.12.1'
...
}
@@ -28,8 +28,8 @@ DoraemonKit目前已支持Weex工具,包括
```
dependencies {
...
- debugImplementation 'com.didichuxing.doraemonkit:doraemonkit-weex:1.2.8'
- releaseImplementation 'com.didichuxing.doraemonkit:doraemonkit-weex-no-op:1.2.8'
+ debugImplementation 'com.didichuxing.doraemonkit:doraemonkit-weex:2.0.0'
+ releaseImplementation 'com.didichuxing.doraemonkit:doraemonkit-weex-no-op:2.0.0'
...
}
```
@@ -39,7 +39,7 @@ dependencies {
```
dependencies {
...
- debugImplementation 'com.didichuxing.doraemonkit:doraemonkit-leakcanary:1.2.8'
+ debugImplementation 'com.didichuxing.doraemonkit:doraemonkit-leakcanary:2.0.0'
...
}
```
@@ -93,7 +93,7 @@ buildscript {
apply plugin: 'android-aspectjx'
dependencies {
...
- debugImplementation 'com.didichuxing.doraemonkit:doraemonkit-aop:1.2.8'
+ debugImplementation 'com.didichuxing.doraemonkit:doraemonkit-aop:2.0.0'
...
}
```
diff --git a/Doc/android_en_guide.md b/Doc/android_en_guide.md
index 3630423d4356c74dfe39d3a9cae5f95f6807a7c2..f040571ff1cb04ff36393b0f344032a8e939e440 100644
--- a/Doc/android_en_guide.md
+++ b/Doc/android_en_guide.md
@@ -5,8 +5,8 @@
```
dependencies {
...
- debugImplementation 'com.didichuxing.doraemonkit:doraemonkit:1.2.8'
- releaseImplementation 'com.didichuxing.doraemonkit:doraemonkit-no-op:1.2.8'
+ debugImplementation 'com.didichuxing.doraemonkit:doraemonkit:2.0.0'
+ releaseImplementation 'com.didichuxing.doraemonkit:doraemonkit-no-op:2.0.0'
...
}
```
@@ -62,7 +62,7 @@ Apply plugin in application module of `build.gradle`
apply plugin: 'android-aspectjx'
dependencies {
...
- debugImplementation 'com.didichuxing.doraemonkit:doraemonkit-aop:1.2.8'
+ debugImplementation 'com.didichuxing.doraemonkit:doraemonkit-aop:2.0.0'
...
}
```