diff options
Diffstat (limited to 'src/android/jar/src/org/qtproject/qt/android/QtActivityDelegate.java')
-rw-r--r-- | src/android/jar/src/org/qtproject/qt/android/QtActivityDelegate.java | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/android/jar/src/org/qtproject/qt/android/QtActivityDelegate.java b/src/android/jar/src/org/qtproject/qt/android/QtActivityDelegate.java index 46b703a56e..7d49fb71b1 100644 --- a/src/android/jar/src/org/qtproject/qt/android/QtActivityDelegate.java +++ b/src/android/jar/src/org/qtproject/qt/android/QtActivityDelegate.java @@ -903,6 +903,8 @@ public class QtActivityDelegate QtNative.handleOrientationChanged(rotation, m_nativeOrientation); m_currentRotation = rotation; + handleUiModeChange(m_activity.getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK); + float refreshRate = (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) ? m_activity.getWindowManager().getDefaultDisplay().getRefreshRate() : m_activity.getDisplay().getRefreshRate(); @@ -995,6 +997,14 @@ public class QtActivityDelegate m_accessibilityDelegate.notifyValueChanged(viewId, value); } + public void notifyScrolledEvent(int viewId) + { + if (m_accessibilityDelegate == null) + return; + m_accessibilityDelegate.notifyScrolledEvent(viewId); + } + + public void notifyQtAndroidPluginRunning(boolean running) { m_isPluginRunning = running; @@ -1015,6 +1025,18 @@ public class QtActivityDelegate updateFullScreen(); } + private void handleUiModeChange(int uiMode) + { + switch (uiMode) { + case Configuration.UI_MODE_NIGHT_NO: + QtNative.handleUiDarkModeChanged(0); + break; + case Configuration.UI_MODE_NIGHT_YES: + QtNative.handleUiDarkModeChanged(1); + break; + } + } + public void onConfigurationChanged(Configuration configuration) { try { @@ -1022,6 +1044,7 @@ public class QtActivityDelegate } catch (Exception e) { e.printStackTrace(); } + handleUiModeChange(configuration.uiMode & Configuration.UI_MODE_NIGHT_MASK); } public void onDestroy() |