Selaa lähdekoodia

Fix Snackbar not dismissing bug

When Snackbar was displayed while another Snackbar was displayed,
the last ref to the current Snackbar was removed and it didn't get removed
when onScreenChange was called.
Guy Carmeli 8 vuotta sitten
vanhempi
commit
9e3715e523

+ 4
- 2
android/app/src/main/java/com/reactnativenavigation/views/SnackbarAndFabContainer.java Näytä tiedosto

@@ -36,8 +36,10 @@ public class SnackbarAndFabContainer extends CoordinatorLayout implements Snakba
36 36
     }
37 37
 
38 38
     @Override
39
-    public void onDismiss() {
40
-        snakbar = null;
39
+    public void onDismiss(Snakbar snakbar) {
40
+        if (this.snakbar == snakbar) {
41
+            this.snakbar = null;
42
+        }
41 43
     }
42 44
 
43 45
     public void destroy() {

+ 2
- 2
android/app/src/main/java/com/reactnativenavigation/views/Snakbar.java Näytä tiedosto

@@ -13,7 +13,7 @@ public class Snakbar {
13 13
     private Snackbar snackbar;
14 14
 
15 15
     public interface OnDismissListener {
16
-        void onDismiss();
16
+        void onDismiss(Snakbar snakbar);
17 17
     }
18 18
 
19 19
     public void show() {
@@ -68,7 +68,7 @@ public class Snakbar {
68 68
 
69 69
             @Override
70 70
             public void onViewDetachedFromWindow(View v) {
71
-                parent.onDismiss();
71
+                parent.onDismiss(Snakbar.this);
72 72
             }
73 73
         });
74 74
     }