summaryrefslogtreecommitdiffstats
path: root/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java')
-rw-r--r--src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java45
1 files changed, 35 insertions, 10 deletions
diff --git a/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java b/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java
index c85104b11e..cddb06eff1 100644
--- a/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java
+++ b/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java
@@ -366,11 +366,6 @@ public class QtActivityDelegate
});
}
- public boolean isSoftwareKeyboardVisible()
- {
- return m_keyboardIsVisible;
- }
-
String getAppIconSize(Activity a)
{
int size = a.getResources().getDimensionPixelSize(android.R.dimen.app_icon_size);
@@ -1030,8 +1025,8 @@ public class QtActivityDelegate
view.setLayoutParams(new QtLayout.LayoutParams(w, h, x, y));
}
+ view.setId(id);
m_layout.addView(view);
- m_layout.bringChildToFront(view);
m_nativeViews.put(id, view);
}
@@ -1062,9 +1057,11 @@ public class QtActivityDelegate
surface.setLayoutParams( new QtLayout.LayoutParams(w, h, x, y));
}
- m_layout.addView(surface);
- if (onTop)
- m_layout.bringChildToFront(surface);
+ // Native views are always inserted in the end of the stack (i.e., on top).
+ // All other views are stacked based on the order they are created.
+ final int index = m_layout.getChildCount() - m_nativeViews.size() - 1;
+ m_layout.addView(surface, index < 0 ? 0 : index);
+
m_surfaces.put(id, surface);
}
@@ -1075,7 +1072,6 @@ public class QtActivityDelegate
} else if (m_nativeViews.containsKey(id)) {
View view = m_nativeViews.get(id);
view.setLayoutParams(new QtLayout.LayoutParams(w, h, x, y));
- m_layout.bringChildToFront(view);
} else {
Log.e(QtNative.QtTAG, "Surface " + id +" not found!");
return;
@@ -1106,4 +1102,33 @@ public class QtActivityDelegate
m_layout.removeView(view);
}
}
+
+ public void bringChildToFront(int id)
+ {
+ View view = m_surfaces.get(id);
+ if (view != null) {
+ final int index = m_layout.getChildCount() - m_nativeViews.size() - 1;
+ m_layout.moveChild(view, index < 0 ? 0 : index);
+ return;
+ }
+
+ view = m_nativeViews.get(id);
+ if (view != null)
+ m_layout.moveChild(view, -1);
+ }
+
+ public void bringChildToBack(int id)
+ {
+ View view = m_surfaces.get(id);
+ if (view != null) {
+ m_layout.moveChild(view, 0);
+ return;
+ }
+
+ view = m_nativeViews.get(id);
+ if (view != null) {
+ final int index = m_layout.getChildCount() - m_nativeViews.size();
+ m_layout.moveChild(view, index);
+ }
+ }
}