From 1d6eb70dcec105af28d6a5e9b59d56c895c70389 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Wed, 14 Sep 2016 15:45:30 +0300 Subject: Android: Allow the user to hook into the onCreate methods onCreate methods are very important when you want to add some java code before the Qt application is loaded. Because onCreate must call "super.onCreate(..)" it is impossible for the user to do anything before Qt is loaded. By using the onCreateHooks to load Qt, the user can decided, by overriding the onCreateHook method, when or if Qt is loaded. Change-Id: I15a3dd60b8ae7d314c53ace99faedfbd47d25502 Reviewed-by: Christian Stromme --- .../src/org/qtproject/qt5/android/bindings/QtActivity.java | 12 ++++++++---- .../src/org/qtproject/qt5/android/bindings/QtService.java | 5 ++++- 2 files changed, 12 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/android/java/src/org/qtproject/qt5/android/bindings/QtActivity.java b/src/android/java/src/org/qtproject/qt5/android/bindings/QtActivity.java index 22ff1738c8..2728988362 100644 --- a/src/android/java/src/org/qtproject/qt5/android/bindings/QtActivity.java +++ b/src/android/java/src/org/qtproject/qt5/android/bindings/QtActivity.java @@ -258,16 +258,20 @@ public class QtActivity extends Activity } //--------------------------------------------------------------------------- - @Override - public void onCreate(Bundle savedInstanceState) - { - super.onCreate(savedInstanceState); + protected void onCreateHook(Bundle savedInstanceState) { m_loader.APPLICATION_PARAMETERS = APPLICATION_PARAMETERS; m_loader.ENVIRONMENT_VARIABLES = ENVIRONMENT_VARIABLES; m_loader.QT_ANDROID_THEMES = QT_ANDROID_THEMES; m_loader.QT_ANDROID_DEFAULT_THEME = QT_ANDROID_DEFAULT_THEME; m_loader.onCreate(savedInstanceState); } + + @Override + public void onCreate(Bundle savedInstanceState) + { + super.onCreate(savedInstanceState); + onCreateHook(savedInstanceState); + } //--------------------------------------------------------------------------- @Override diff --git a/src/android/java/src/org/qtproject/qt5/android/bindings/QtService.java b/src/android/java/src/org/qtproject/qt5/android/bindings/QtService.java index 71acf9683e..cdd6c1efea 100644 --- a/src/android/java/src/org/qtproject/qt5/android/bindings/QtService.java +++ b/src/android/java/src/org/qtproject/qt5/android/bindings/QtService.java @@ -50,11 +50,14 @@ public class QtService extends Service /////////////////////////// Super class calls //////////////////////////////////// /////////////// PLEASE DO NOT CHANGE THE FOLLOWING CODE ////////////////////////// ////////////////////////////////////////////////////////////////////////////////// + protected void onCreateHook() { + m_loader.onCreate(); + } @Override public void onCreate() { super.onCreate(); - m_loader.onCreate(); + onCreateHook(); } //--------------------------------------------------------------------------- -- cgit v1.2.3