Browse Source

Android: ensure that navigation/status bar visibility is correctly restored when the app gets resumed.

tags/2021-05-28
Lukasz Kozakiewicz 7 years ago
parent
commit
360449de0b
2 changed files with 23 additions and 0 deletions
  1. +15
    -0
      modules/juce_core/native/java/JuceAppActivity.java
  2. +8
    -0
      modules/juce_gui_basics/native/juce_android_Windowing.cpp

+ 15
- 0
modules/juce_core/native/java/JuceAppActivity.java View File

@@ -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);
}
}
//==============================================================================


+ 8
- 0
modules/juce_gui_basics/native/juce_android_Windowing.cpp View File

@@ -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*)


Loading…
Cancel
Save