Parcourir la source

0.0.49.beta1
- 修复 BlurRelativeLayout 和 BlurLinearLayout 在 iOS 主题下使用 DialogFragment 模式时存在的渲染宽度和高度 <=0 导致的异常(issues:324);
- 修复 IOS 主题下可能存在的 `RSInvalidStateException: Calling RS with no Context active` 异常问题(issues:327);
- 修复可能存在的高频启关对话框过程中,因UI未完成构建被关闭引发的空指针异常;

Kongzue il y a 1 an
Parent
commit
2e69210867

+ 1 - 1
DialogX/src/main/java/com/kongzue/dialogx/dialogs/BottomDialog.java

@@ -619,7 +619,7 @@ public class BottomDialog extends BaseDialog implements DialogXBaseBottomDialog
             if (v != null) v.setEnabled(false);
             if (getOwnActivity() == null) return;
 
-            if (!dismissAnimFlag) {
+            if (!dismissAnimFlag && getDialogXAnimImpl() != null) {
                 dismissAnimFlag = true;
 
                 getDialogXAnimImpl().doExitAnim(BottomDialog.this, bkg);

+ 1 - 1
DialogX/src/main/java/com/kongzue/dialogx/dialogs/CustomDialog.java

@@ -424,7 +424,7 @@ public class CustomDialog extends BaseDialog {
         @Override
         public void doDismiss(View v) {
             if (v != null) v.setEnabled(false);
-            if (!dismissAnimFlag) {
+            if (!dismissAnimFlag && boxCustom != null) {
                 dismissAnimFlag = true;
                 boxCustom.post(new Runnable() {
                     @Override

+ 1 - 1
DialogX/src/main/java/com/kongzue/dialogx/dialogs/FullScreenDialog.java

@@ -347,7 +347,7 @@ public class FullScreenDialog extends BaseDialog implements DialogXBaseBottomDia
             if (v != null) v.setEnabled(false);
             if (getOwnActivity() == null) return;
 
-            if (!dismissAnimFlag) {
+            if (!dismissAnimFlag && getDialogXAnimImpl() != null) {
                 dismissAnimFlag = true;
                 getDialogXAnimImpl().doExitAnim(me, bkg);
 

+ 1 - 1
DialogX/src/main/java/com/kongzue/dialogx/dialogs/MessageDialog.java

@@ -807,7 +807,7 @@ public class MessageDialog extends BaseDialog {
             if (v != null) v.setEnabled(false);
             if (getOwnActivity() == null) return;
 
-            if (!dismissAnimFlag) {
+            if (!dismissAnimFlag && getDialogXAnimImpl() != null) {
                 dismissAnimFlag = true;
                 getDialogXAnimImpl().doExitAnim(MessageDialog.this, bkg);
                 runOnMainDelay(new Runnable() {

+ 1 - 1
DialogX/src/main/java/com/kongzue/dialogx/dialogs/PopMenu.java

@@ -638,7 +638,7 @@ public class PopMenu extends BaseDialog {
                 v.setEnabled(false);
             }
 
-            if (!dismissAnimFlag) {
+            if (!dismissAnimFlag && boxRoot != null) {
                 dismissAnimFlag = true;
                 boxRoot.post(new Runnable() {
                     @Override

+ 1 - 1
DialogX/src/main/java/com/kongzue/dialogx/dialogs/PopNotification.java

@@ -828,7 +828,7 @@ public class PopNotification extends BaseDialog implements NoTouchInterface {
         public void doDismiss(final View v) {
             if (v != null) v.setEnabled(false);
 
-            if (!dismissAnimFlag) {
+            if (!dismissAnimFlag && boxRoot != null) {
                 dismissAnimFlag = true;
                 boxRoot.post(new Runnable() {
                     @Override

+ 1 - 1
DialogX/src/main/java/com/kongzue/dialogx/dialogs/PopTip.java

@@ -688,7 +688,7 @@ public class PopTip extends BaseDialog implements NoTouchInterface {
         public void doDismiss(final View v) {
             if (v != null) v.setEnabled(false);
 
-            if (!dismissAnimFlag) {
+            if (!dismissAnimFlag && boxRoot != null) {
                 dismissAnimFlag = true;
                 boxRoot.post(new Runnable() {
                     @Override

+ 1 - 1
DialogX/src/main/java/com/kongzue/dialogx/dialogs/WaitDialog.java

@@ -514,7 +514,7 @@ public class WaitDialog extends BaseDialog {
             if (boxRoot == null) return;
             if (getOwnActivity() == null) return;
 
-            if (!dismissAnimFlag) {
+            if (!dismissAnimFlag && boxRoot != null) {
                 dismissAnimFlag = true;
                 boxRoot.post(new Runnable() {
                     @Override