/* * SPDX-FileCopyrightText: 2017 Marco Martin * * SPDX-License-Identifier: LGPL-2.0-or-later */ #ifdef Q_OS_ANDROID #include #else #include #endif #include #include #include #ifdef Q_OS_ANDROID #include // WindowManager.LayoutParams #define FLAG_TRANSLUCENT_STATUS 0x04000000 #define FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS 0x80000000 // View #define SYSTEM_UI_FLAG_LIGHT_STATUS_BAR 0x00002000 #endif Q_IMPORT_PLUGIN(KirigamiPlugin) Q_DECL_EXPORT int main(int argc, char *argv[]) { // The desktop QQC2 style needs it to be a QApplication #ifdef Q_OS_ANDROID QGuiApplication app(argc, argv); #else QApplication app(argc, argv); #endif // qputenv("QML_IMPORT_TRACE", "1"); QQmlApplicationEngine engine; engine.load(QUrl(QStringLiteral("qrc:///main.qml"))); if (engine.rootObjects().isEmpty()) { return -1; } // HACK to color the system bar on Android, use qtandroidextras and call the appropriate Java methods #ifdef Q_OS_ANDROID QtAndroid::runOnAndroidThread([=]() { QAndroidJniObject window = QtAndroid::androidActivity().callObjectMethod("getWindow", "()Landroid/view/Window;"); window.callMethod("addFlags", "(I)V", FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.callMethod("clearFlags", "(I)V", FLAG_TRANSLUCENT_STATUS); window.callMethod("setStatusBarColor", "(I)V", QColor("#2196f3").rgba()); window.callMethod("setNavigationBarColor", "(I)V", QColor("#2196f3").rgba()); }); #endif return app.exec(); }