diff options
author | BogDan Vatra <bogdan@kdab.com> | 2016-09-14 15:45:30 +0300 |
---|---|---|
committer | BogDan Vatra <bogdan@kdab.com> | 2016-10-12 11:47:32 +0000 |
commit | 1d6eb70dcec105af28d6a5e9b59d56c895c70389 (patch) | |
tree | 555add3824e2e57fda72fe2015e5c6f1d79bf7c8 | |
parent | 14a5086bd381f1b198e86099a578c70f20aed0d3 (diff) |
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 <christian.stromme@qt.io>
-rw-r--r-- | src/android/java/src/org/qtproject/qt5/android/bindings/QtActivity.java | 12 | ||||
-rw-r--r-- | src/android/java/src/org/qtproject/qt5/android/bindings/QtService.java | 5 |
2 files changed, 12 insertions, 5 deletions
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(); } //--------------------------------------------------------------------------- |