Преглед на файлове

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 преди 9 години
родител
ревизия
9e3715e523

+ 4
- 2
android/app/src/main/java/com/reactnativenavigation/views/SnackbarAndFabContainer.java Целия файл

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 Целия файл

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
     }