diff options
author | Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> | 2015-08-06 10:45:40 +0200 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> | 2015-08-06 10:54:01 +0200 |
commit | 77da617dc8e378a631ee8c15b1b414f16b87f147 (patch) | |
tree | 563f4f8e64e416774ea2b1599b896b589385168c /src/android | |
parent | c17134e2db4d364855aa78a0d3c47cb9ef964dd9 (diff) | |
parent | 01f3530650f9f6f4c08520263a3c62281d81e3fc (diff) |
Merge remote-tracking branch 'origin/5.5' into dev
Conflicts:
doc/global/qt-cpp-defines.qdocconf
src/3rdparty/forkfd/forkfd.c
src/corelib/codecs/qtextcodec.cpp
src/corelib/kernel/qmetatype.cpp
src/corelib/tools/qset.qdoc
src/gui/accessible/qaccessible.cpp
src/gui/image/qpixmapcache.cpp
src/opengl/qgl.cpp
src/tools/qdoc/generator.cpp
src/widgets/kernel/qwidget.cpp
tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp
Change-Id: I4fbe1fa756a54c6843aa75f4ef70a1069ba7b085
Diffstat (limited to 'src/android')
-rw-r--r-- | src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java | 30 | ||||
-rw-r--r-- | src/android/jar/src/org/qtproject/qt5/android/QtLayout.java | 8 |
2 files changed, 25 insertions, 13 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 f4d2645e9a..ba3ecfecd6 100644 --- a/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java +++ b/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java @@ -760,12 +760,6 @@ public class QtActivityDelegate if (null == m_surfaces) onCreate(null); - String nativeLibraryDir = QtNativeLibrariesDir.nativeLibrariesDir(m_activity); - QtNative.startApplication(m_applicationParameters, - m_environmentVariables, - m_mainLib, - nativeLibraryDir); - m_started = true; return true; } catch (Exception e) { e.printStackTrace(); @@ -781,14 +775,26 @@ public class QtActivityDelegate public void onCreate(Bundle savedInstanceState) { m_quitApp = true; + Runnable startApplication = null; if (null == savedInstanceState) { - DisplayMetrics metrics = new DisplayMetrics(); - m_activity.getWindowManager().getDefaultDisplay().getMetrics(metrics); - QtNative.setApplicationDisplayMetrics(metrics.widthPixels, metrics.heightPixels, - 0, 0, - metrics.xdpi, metrics.ydpi, metrics.scaledDensity); + startApplication = new Runnable() { + @Override + public void run() { + try { + String nativeLibraryDir = QtNativeLibrariesDir.nativeLibrariesDir(m_activity); + QtNative.startApplication(m_applicationParameters, + m_environmentVariables, + m_mainLib, + nativeLibraryDir); + m_started = true; + } catch (Exception e) { + e.printStackTrace(); + m_activity.finish(); + } + } + }; } - m_layout = new QtLayout(m_activity); + m_layout = new QtLayout(m_activity, startApplication); m_editText = new QtEditText(m_activity, this); m_imm = (InputMethodManager)m_activity.getSystemService(Context.INPUT_METHOD_SERVICE); m_surfaces = new HashMap<Integer, QtSurface>(); diff --git a/src/android/jar/src/org/qtproject/qt5/android/QtLayout.java b/src/android/jar/src/org/qtproject/qt5/android/QtLayout.java index 09fef4a705..4d7ca47dde 100644 --- a/src/android/jar/src/org/qtproject/qt5/android/QtLayout.java +++ b/src/android/jar/src/org/qtproject/qt5/android/QtLayout.java @@ -43,9 +43,11 @@ import android.view.ViewGroup; public class QtLayout extends ViewGroup { - public QtLayout(Context context) + private Runnable m_startApplicationRunnable; + public QtLayout(Context context, Runnable startRunnable) { super(context); + m_startApplicationRunnable = startRunnable; } public QtLayout(Context context, AttributeSet attrs) @@ -65,6 +67,10 @@ public class QtLayout extends ViewGroup ((Activity) getContext()).getWindowManager().getDefaultDisplay().getMetrics(metrics); QtNative.setApplicationDisplayMetrics(metrics.widthPixels, metrics.heightPixels, w, h, metrics.xdpi, metrics.ydpi, metrics.scaledDensity); + if (m_startApplicationRunnable != null) { + m_startApplicationRunnable.run(); + m_startApplicationRunnable = null; + } } @Override |