Procházet zdrojové kódy

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 před 8 roky
rodič
revize
9e3715e523

+ 4
- 2
android/app/src/main/java/com/reactnativenavigation/views/SnackbarAndFabContainer.java Zobrazit soubor

36
     }
36
     }
37
 
37
 
38
     @Override
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
     public void destroy() {
45
     public void destroy() {

+ 2
- 2
android/app/src/main/java/com/reactnativenavigation/views/Snakbar.java Zobrazit soubor

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