diff --git a/Clover/app/src/main/java/org/floens/chan/ui/activity/StartActivity.java b/Clover/app/src/main/java/org/floens/chan/ui/activity/StartActivity.java index 10635a43..f367a9d8 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/activity/StartActivity.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/activity/StartActivity.java @@ -256,9 +256,27 @@ public class StartActivity extends AppCompatActivity implements NfcAdapter.Creat @Override public NdefMessage createNdefMessage(NfcEvent event) { - Controller controller = mainNavigationController.getTop(); - if (controller instanceof NfcAdapter.CreateNdefMessageCallback) { - return ((NfcAdapter.CreateNdefMessageCallback) controller).createNdefMessage(event); + Controller threadController = null; + if (drawerController.childControllers.get(0) instanceof SplitNavigationController) { + SplitNavigationController splitNavigationController = (SplitNavigationController) drawerController.childControllers.get(0); + if (splitNavigationController.rightController instanceof NavigationController) { + NavigationController rightNavigationController = (NavigationController) splitNavigationController.rightController; + for (Controller controller : rightNavigationController.childControllers) { + if (controller instanceof NfcAdapter.CreateNdefMessageCallback) { + threadController = controller; + break; + } + } + + } + } + + if (threadController == null) { + threadController = mainNavigationController.getTop(); + } + + if (threadController instanceof NfcAdapter.CreateNdefMessageCallback) { + return ((NfcAdapter.CreateNdefMessageCallback) threadController).createNdefMessage(event); } else { return null; }