Bugfix: stop audio when app starts

This commit is contained in:
Gabriel Calero 2018-05-17 14:05:49 -03:00
parent 96da032b16
commit 5a73da6fdf
6 changed files with 31 additions and 26 deletions

View file

@ -278,4 +278,14 @@ Java_io_highfidelity_hifiinterface_MainActivity_nativeGetDisplayName(JNIEnv *env
return env->NewStringUTF(username.toLatin1().data());
}
JNIEXPORT void JNICALL
Java_io_highfidelity_hifiinterface_InterfaceActivity_nativeEnterBackground(JNIEnv *env, jobject obj) {
AndroidHelper::instance().notifyEnterBackground();
}
JNIEXPORT void JNICALL
Java_io_highfidelity_hifiinterface_InterfaceActivity_nativeEnterForeground(JNIEnv *env, jobject obj) {
AndroidHelper::instance().notifyEnterForeground();
}
}

View file

@ -15,6 +15,7 @@ import android.content.Intent;
import android.content.res.AssetManager;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.os.Vibrator;
import android.view.HapticFeedbackConstants;
import android.view.WindowManager;
@ -113,7 +114,9 @@ public class InterfaceActivity extends QtActivity {
@Override
protected void onPause() {
super.onPause();
nativeEnterBackground();
if (!isLoading) {
nativeEnterBackground();
}
//gvrApi.pauseTracking();
}
@ -212,6 +215,9 @@ public class InterfaceActivity extends QtActivity {
public void onAppLoadedComplete() {
super.isLoading = false;
new Handler(getMainLooper()).postDelayed(() -> {
nativeEnterBackground();
}, 2000);
}
public void performHapticFeedback(int duration) {

View file

@ -49,6 +49,14 @@ void AndroidHelper::notifyEnterForeground() {
emit enterForeground();
}
void AndroidHelper::notifyEnterBackground() {
emit enterBackground();
}
void AndroidHelper::performHapticFeedback(int duration) {
emit hapticFeedbackRequested(duration);
}
void AndroidHelper::showLoginDialog() {
emit androidActivityRequested("Login", true);
}

View file

@ -26,6 +26,8 @@ public:
void init();
void requestActivity(const QString &activityName, const bool backToScene);
void notifyLoadComplete();
void notifyEnterForeground();
void notifyEnterBackground();
void performHapticFeedback(int duration);
@ -39,6 +41,8 @@ public slots:
signals:
void androidActivityRequested(const QString &activityName, const bool backToScene);
void qtAppLoadComplete();
void enterForeground();
void enterBackground();
void hapticFeedbackRequested(int duration);

View file

@ -2265,6 +2265,8 @@ Application::Application(int& argc, char** argv, QElapsedTimer& startupTimer, bo
#if defined(Q_OS_ANDROID)
AndroidHelper::instance().init();
connect(&AndroidHelper::instance(), &AndroidHelper::enterBackground, this, &Application::enterBackground);
connect(&AndroidHelper::instance(), &AndroidHelper::enterForeground, this, &Application::enterForeground);
AndroidHelper::instance().notifyLoadComplete();
#endif
}
@ -8290,5 +8292,4 @@ void Application::enterForeground() {
}
#endif
#include "Application_jni.cpp"
#include "Application.moc"

View file

@ -1,24 +0,0 @@
#if defined(Q_OS_ANDROID)
#include <QtAndroidExtras/QAndroidJniObject>
#include "AndroidHelper.h"
extern "C" {
JNIEXPORT void
Java_io_highfidelity_hifiinterface_InterfaceActivity_nativeEnterBackground(JNIEnv *env, jobject obj) {
if (qApp) {
qApp->enterBackground();
}
}
JNIEXPORT void
Java_io_highfidelity_hifiinterface_InterfaceActivity_nativeEnterForeground(JNIEnv *env, jobject obj) {
if (qApp) {
qApp->enterForeground();
}
}
}
#endif