diff --git a/android/app/src/main/java/io/highfidelity/hifiinterface/InterfaceActivity.java b/android/app/src/main/java/io/highfidelity/hifiinterface/InterfaceActivity.java index 8a2f8cd030..2b3e0dea5e 100644 --- a/android/app/src/main/java/io/highfidelity/hifiinterface/InterfaceActivity.java +++ b/android/app/src/main/java/io/highfidelity/hifiinterface/InterfaceActivity.java @@ -130,15 +130,13 @@ public class InterfaceActivity extends QtActivity { if (!isLoading) { setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); } - // TODO Fix displayPlugin deactivate so it doesn't leave us with a black screen Interface - //nativeEnterForeground(); + nativeEnterForeground(); } @Override protected void onStop() { super.onStop(); - // TODO Fix displayPlugin deactivate so it doesn't leave us with a black screen Interface - //nativeEnterBackground(); + nativeEnterBackground(); } @Override diff --git a/android/app/src/main/java/org/qtproject/qt5/android/bindings/QtActivity.java b/android/app/src/main/java/org/qtproject/qt5/android/bindings/QtActivity.java index 887d27dba4..0639c66f38 100644 --- a/android/app/src/main/java/org/qtproject/qt5/android/bindings/QtActivity.java +++ b/android/app/src/main/java/org/qtproject/qt5/android/bindings/QtActivity.java @@ -504,7 +504,7 @@ public class QtActivity extends Activity { // GC: this trick allow us to show a splash activity until Qt app finishes // loading if (!isLoading) { - QtApplication.invokeDelegate(); + //QtApplication.invokeDelegate(); } } //--------------------------------------------------------------------------- @@ -644,7 +644,7 @@ public class QtActivity extends Activity { @Override protected void onStop() { super.onStop(); - QtApplication.invokeDelegate(); + //QtApplication.invokeDelegate(); } //--------------------------------------------------------------------------- diff --git a/interface/src/AndroidHelper.cpp b/interface/src/AndroidHelper.cpp index 9b79881075..10745b71ab 100644 --- a/interface/src/AndroidHelper.cpp +++ b/interface/src/AndroidHelper.cpp @@ -14,22 +14,13 @@ AndroidHelper::AndroidHelper() : _accountManager () { - workerThread.start(); } AndroidHelper::~AndroidHelper() { - workerThread.quit(); - workerThread.wait(); } QSharedPointer AndroidHelper::getAccountManager() { - - _accountManager = QSharedPointer(new AccountManager, &QObject::deleteLater); - _accountManager->setIsAgent(true); - _accountManager->setAuthURL(NetworkingConstants::METAVERSE_SERVER_URL()); - _accountManager->moveToThread(&workerThread); - - return _accountManager; + return DependencyManager::get(); } void AndroidHelper::requestActivity(const QString &activityName) { @@ -46,4 +37,12 @@ void AndroidHelper::goBackFromAndroidActivity() { void AndroidHelper::notifyLoginComplete(bool success) { emit loginComplete(success); -} \ No newline at end of file +} + +void AndroidHelper::setInBackground(bool background) { + inBackground = background; +} + +bool AndroidHelper::isInBackground() { + return inBackground; +} diff --git a/interface/src/AndroidHelper.h b/interface/src/AndroidHelper.h index dafb4ca89e..51ef51ee4f 100644 --- a/interface/src/AndroidHelper.h +++ b/interface/src/AndroidHelper.h @@ -26,6 +26,8 @@ public: void requestActivity(const QString &activityName); void notifyLoadComplete(); void goBackFromAndroidActivity(); + void setInBackground(bool background); + bool isInBackground(); void notifyLoginComplete(bool success); @@ -44,7 +46,7 @@ private: AndroidHelper(); ~AndroidHelper(); QSharedPointer _accountManager; - QThread workerThread; + bool inBackground; }; #endif \ No newline at end of file diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 37e6628543..46d06f6443 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -4331,6 +4331,12 @@ void setupCpuMonitorThread() { void Application::idle() { PerformanceTimer perfTimer("idle"); +#if defined(Q_OS_ANDROID) + if (AndroidHelper::instance().isInBackground()) { + return; + } +#endif + // Update the deadlock watchdog updateHeartbeat(); @@ -8177,17 +8183,13 @@ void Application::openAndroidActivity(const QString& activityName) { void Application::enterBackground() { QMetaObject::invokeMethod(DependencyManager::get().data(), "stop", Qt::BlockingQueuedConnection); - //GC: commenting it out until we fix it - //getActiveDisplayPlugin()->deactivate(); + AndroidHelper::instance().setInBackground(true); } + void Application::enterForeground() { QMetaObject::invokeMethod(DependencyManager::get().data(), "start", Qt::BlockingQueuedConnection); - //GC: commenting it out until we fix it - /*if (!getActiveDisplayPlugin() || !getActiveDisplayPlugin()->activate()) { - qWarning() << "Could not re-activate display plugin"; - }*/ - + AndroidHelper::instance().setInBackground(false); } #endif