Browse Source

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 years ago
parent
commit
9e3715e523

+ 4
- 2
android/app/src/main/java/com/reactnativenavigation/views/SnackbarAndFabContainer.java View File

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 View File

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
     }