From 05c4c32e300c59f22741892032dbb47aeb4797f3 Mon Sep 17 00:00:00 2001
From: Stephen Birarda <commit@birarda.com>
Date: Fri, 30 Jan 2015 13:29:54 -0800
Subject: [PATCH] make sure ANDROID is defined for Android build

---
 gvr-interface/CMakeLists.txt        |  2 ++
 gvr-interface/src/GVRInterface.cpp  |  5 ++---
 gvr-interface/src/GVRInterface.h    |  2 +-
 gvr-interface/src/GVRMainWindow.cpp | 25 +++++++++++++++++++------
 gvr-interface/src/GVRMainWindow.h   |  1 +
 5 files changed, 25 insertions(+), 10 deletions(-)

diff --git a/gvr-interface/CMakeLists.txt b/gvr-interface/CMakeLists.txt
index 91838edc63..b52047a38a 100644
--- a/gvr-interface/CMakeLists.txt
+++ b/gvr-interface/CMakeLists.txt
@@ -17,6 +17,8 @@ if (ANDROID)
   set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${ANDROID_APK_OUTPUT_DIR}/libs/${ANDROID_ABI}")
   
   setup_hifi_library(Gui Widgets AndroidExtras)
+  
+  add_definitions(-DANDROID)
 else ()
   setup_hifi_project(Gui Widgets)
 endif ()
diff --git a/gvr-interface/src/GVRInterface.cpp b/gvr-interface/src/GVRInterface.cpp
index 35b1d1011d..d40845d675 100644
--- a/gvr-interface/src/GVRInterface.cpp
+++ b/gvr-interface/src/GVRInterface.cpp
@@ -13,13 +13,13 @@
 
 #include <jni.h>
 
+#include <qpa/qplatformnativeinterface.h>
 #include <QtAndroidExtras/QAndroidJniEnvironment>
 #include <QtAndroidExtras/QAndroidJniObject>
 
 #endif
 
 #include <QtCore/QTimer>
-#include <qpa/qplatformnativeinterface.h>
 #include <QtWidgets/QMenuBar>
 
 #ifdef HAVE_LIBOVR
@@ -53,13 +53,12 @@ GVRInterface::GVRInterface(int argc, char* argv[]) :
     
     connect(this, &QGuiApplication::applicationStateChanged, this, &GVRInterface::handleApplicationStateChange);
 
-#if defined(Q_WS_ANDROID) && defined(HAVE_LIBOVR)
+#if defined(ANDROID) && defined(HAVE_LIBOVR)
     QAndroidJniEnvironment jniEnv;
     
     QPlatformNativeInterface* interface = QApplication::platformNativeInterface();
     jobject activity = (jobject) interface->nativeResourceForIntegration("QtActivity");
 
-
     ovr_RegisterHmtReceivers(&*jniEnv, activity);
 #endif
     
diff --git a/gvr-interface/src/GVRInterface.h b/gvr-interface/src/GVRInterface.h
index 58fe80f7c0..d189c0b2af 100644
--- a/gvr-interface/src/GVRInterface.h
+++ b/gvr-interface/src/GVRInterface.h
@@ -30,7 +30,7 @@ class GVRInterface : public QApplication {
     Q_OBJECT
 public:
     GVRInterface(int argc, char* argv[]);
-      
+    
     RenderingClient* getClient() { return _client; }
     
 private slots:
diff --git a/gvr-interface/src/GVRMainWindow.cpp b/gvr-interface/src/GVRMainWindow.cpp
index c2ae8bf818..456c6851d5 100644
--- a/gvr-interface/src/GVRMainWindow.cpp
+++ b/gvr-interface/src/GVRMainWindow.cpp
@@ -14,7 +14,7 @@
 #include <QtWidgets/QInputDialog>
 #include <QtWidgets/QMenuBar>
 
-#ifndef Q_OS_ANDROID
+#ifndef ANDROID
 #include <QtWidgets/QDesktopWidget>
 #endif
 
@@ -42,13 +42,18 @@ GVRMainWindow::GVRMainWindow(QWidget* parent) :
     menuBar()->addMenu(helpMenu);
     
     QAction* goToAddress = new QAction("Go to Address", fileMenu);
-    QAction* aboutQt = new QAction("About Qt", helpMenu);
-    
-    fileMenu->addAction(goToAddress);
-    helpMenu->addAction(aboutQt);
-
     connect(goToAddress, &QAction::triggered, this, &GVRMainWindow::showAddressBar);
+    fileMenu->addAction(goToAddress);
+    
+#ifdef ANDROID
+    QAction* goFullScreen = new QAction("Enter Full Screen", fileMenu);
+    connect(goFullScreen, &QAction::triggered, this, &GVRMainWindow::goFullScreen);
+    fileMenu->addAction(goFullScreen);
+#endif
+    
+    QAction* aboutQt = new QAction("About Qt", helpMenu);
     connect(aboutQt, &QAction::triggered, qApp, &QApplication::aboutQt);
+    helpMenu->addAction(aboutQt);
     
     QWidget* baseWidget = new QWidget(this);
     
@@ -65,6 +70,14 @@ GVRMainWindow::GVRMainWindow(QWidget* parent) :
     new InterfaceView(baseWidget);
 }
 
+void GVRMainWindow::goFullScreen() {
+#ifdef ANDROID
+    menuBar()->hide();
+#else
+    showFullScreen();
+#endif
+}
+
 void GVRMainWindow::showAddressBar() {
     // setup the address QInputDialog
     QInputDialog* addressDialog = new QInputDialog(this);
diff --git a/gvr-interface/src/GVRMainWindow.h b/gvr-interface/src/GVRMainWindow.h
index 3d7e80e6b8..47eee2ae98 100644
--- a/gvr-interface/src/GVRMainWindow.h
+++ b/gvr-interface/src/GVRMainWindow.h
@@ -22,6 +22,7 @@ public:
     GVRMainWindow(QWidget* parent = 0);
 public slots:
     void showAddressBar();
+    void goFullScreen();
 private:
     QVBoxLayout* _mainLayout;
 };