fixed app for non nfc devices & fixed navigation after app pause & resume (it seems...
authorpk910 <philipp@pk910.de>
Fri, 5 Feb 2016 18:31:25 +0000 (19:31 +0100)
committerpk910 <philipp@pk910.de>
Fri, 5 Feb 2016 18:31:25 +0000 (19:31 +0100)
app/src/main/java/de/dhbwloe/campusapp/NavigationManager.java
app/src/main/java/de/dhbwloe/campusapp/nfcreader/NfcCardListener.java

index 1330940689b5f8bb3efcfdf4821e1f8a7ff18b15..4a168a2212c829cedeae047bc5f2c505e9ebf528 100644 (file)
@@ -12,6 +12,7 @@ import android.widget.PopupWindow;
 import java.lang.reflect.Constructor;
 import java.lang.reflect.InvocationTargetException;
 import java.util.ArrayList;
+import java.util.List;
 
 import de.dhbwloe.campusapp.fragments.PopupFragment;
 
@@ -108,9 +109,16 @@ public class NavigationManager {
             oParentPage = oCurrentPage;
             oParentFragment = oCurrentFragment;
             history = false;
-        } else if (oCurrentPage != null) {
-            transaction.replace(iFragmentContainerId, fragment);
         } else {
+            // remove fragments
+            List<Fragment> al = fragmentActivity.getSupportFragmentManager().getFragments();
+            if(al != null) {
+                for (Fragment frag : al) {
+                    if (frag != null && frag.isAdded()) {
+                        transaction.remove(frag);
+                    }
+                }
+            }
             transaction.add(iFragmentContainerId, fragment);
         }
         if (history)
index d20e7d7e86eacb8a537ae1094ad4efc6c266fb07..e25544f856fd2ca6d8e3b1d3b412c354612b5ff8 100644 (file)
@@ -65,6 +65,8 @@ public class NfcCardListener {
     }
 
     private void updateNfcState() {
+        if(oAdapter == null)
+            return;
         boolean isEnabled = oAdapter.isEnabled();
         if(bNfcAdapterState != isEnabled) {
             bNfcAdapterState = isEnabled;