diff --git a/modules/juce_core/native/java/JuceAppActivity.java b/modules/juce_core/native/java/JuceAppActivity.java index 5d190e1d81..7d4f1008e2 100644 --- a/modules/juce_core/native/java/JuceAppActivity.java +++ b/modules/juce_core/native/java/JuceAppActivity.java @@ -221,6 +221,10 @@ public class JuceAppActivity extends Activity { super.onResume(); resumeApp(); + + // Ensure that navigation/status bar visibility is correctly restored. + for (int i = 0; i < viewHolder.getChildCount(); ++i) + ((ComponentPeerView) viewHolder.getChildAt (i)).appResumed(); } @Override @@ -821,6 +825,17 @@ public class JuceAppActivity extends Activity { return true; //xxx needs to check overlapping views } + + //============================================================================== + private native void handleAppResumed (long host); + + public void appResumed() + { + if (host == 0) + return; + + handleAppResumed (host); + } } //============================================================================== diff --git a/modules/juce_gui_basics/native/juce_android_Windowing.cpp b/modules/juce_gui_basics/native/juce_android_Windowing.cpp index 086ad15473..fff5d95ff8 100644 --- a/modules/juce_gui_basics/native/juce_android_Windowing.cpp +++ b/modules/juce_gui_basics/native/juce_android_Windowing.cpp @@ -547,6 +547,13 @@ public: app->backButtonPressed(); } + void handleAppResumedCallback() + { + if (Component* kiosk = Desktop::getInstance().getKioskModeComponent()) + if (kiosk->getPeer() == this) + setNavBarsHidden (navBarsHidden); + } + //============================================================================== bool isFocused() const override { @@ -780,6 +787,7 @@ JUCE_VIEW_CALLBACK (void, focusChanged, (JNIEnv* env, jobject /*view*/, jlon JUCE_VIEW_CALLBACK (void, handleKeyDown, (JNIEnv* env, jobject /*view*/, jlong host, jint k, jint kc), handleKeyDownCallback ((int) k, (int) kc)) JUCE_VIEW_CALLBACK (void, handleKeyUp, (JNIEnv* env, jobject /*view*/, jlong host, jint k, jint kc), handleKeyUpCallback ((int) k, (int) kc)) JUCE_VIEW_CALLBACK (void, handleBackButton, (JNIEnv* env, jobject /*view*/, jlong host), handleBackButtonCallback()) +JUCE_VIEW_CALLBACK (void, handleAppResumed, (JNIEnv* env, jobject /*view*/, jlong host), handleAppResumedCallback()) //============================================================================== ComponentPeer* Component::createNewPeer (int styleFlags, void*)