summaryrefslogtreecommitdiffstats
path: root/src/android/jar/src/org/qtproject/qt5/android/QtNative.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/android/jar/src/org/qtproject/qt5/android/QtNative.java')
-rw-r--r--src/android/jar/src/org/qtproject/qt5/android/QtNative.java48
1 files changed, 32 insertions, 16 deletions
diff --git a/src/android/jar/src/org/qtproject/qt5/android/QtNative.java b/src/android/jar/src/org/qtproject/qt5/android/QtNative.java
index 5792b5b2f5..b077014b81 100644
--- a/src/android/jar/src/org/qtproject/qt5/android/QtNative.java
+++ b/src/android/jar/src/org/qtproject/qt5/android/QtNative.java
@@ -103,6 +103,7 @@ public class QtNative
private static int m_displayMetricsScreenHeightPixels = 0;
private static int m_displayMetricsDesktopWidthPixels = 0;
private static int m_displayMetricsDesktopHeightPixels = 0;
+ private static float m_displayMetricsRefreshRate = 60;
private static double m_displayMetricsXDpi = .0;
private static double m_displayMetricsYDpi = .0;
private static double m_displayMetricsScaledDensity = 1.0;
@@ -614,7 +615,7 @@ public class QtNative
m_displayMetricsYDpi,
m_displayMetricsScaledDensity,
m_displayMetricsDensity,
- true);
+ m_displayMetricsRefreshRate);
}
});
m_qtThread.post(new Runnable() {
@@ -637,7 +638,7 @@ public class QtNative
double YDpi,
double scaledDensity,
double density,
- boolean forceUpdate)
+ float refreshRate)
{
/* Fix buggy dpi report */
if (XDpi < android.util.DisplayMetrics.DENSITY_LOW)
@@ -647,15 +648,9 @@ public class QtNative
synchronized (m_mainActivityMutex) {
if (m_started) {
- setDisplayMetrics(screenWidthPixels,
- screenHeightPixels,
- desktopWidthPixels,
- desktopHeightPixels,
- XDpi,
- YDpi,
- scaledDensity,
- density,
- forceUpdate);
+ setDisplayMetrics(screenWidthPixels, screenHeightPixels, desktopWidthPixels,
+ desktopHeightPixels, XDpi, YDpi, scaledDensity, density,
+ refreshRate);
} else {
m_displayMetricsScreenWidthPixels = screenWidthPixels;
m_displayMetricsScreenHeightPixels = screenHeightPixels;
@@ -665,6 +660,7 @@ public class QtNative
m_displayMetricsYDpi = YDpi;
m_displayMetricsScaledDensity = scaledDensity;
m_displayMetricsDensity = density;
+ m_displayMetricsRefreshRate = refreshRate;
}
}
}
@@ -712,9 +708,11 @@ public class QtNative
}
return 1;
}
- if (action == MotionEvent.ACTION_DOWN || action == MotionEvent.ACTION_POINTER_DOWN && index == event.getActionIndex()) {
+ if (action == MotionEvent.ACTION_DOWN
+ || action == MotionEvent.ACTION_POINTER_DOWN && index == event.getActionIndex()) {
return 0;
- } else if (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_CANCEL || action == MotionEvent.ACTION_POINTER_UP && index == event.getActionIndex()) {
+ } else if (action == MotionEvent.ACTION_UP
+ || action == MotionEvent.ACTION_POINTER_UP && index == event.getActionIndex()) {
return 3;
}
return 2;
@@ -766,6 +764,10 @@ public class QtNative
touchEnd(id, 2);
break;
+ case MotionEvent.ACTION_CANCEL:
+ touchCancel(id);
+ break;
+
default:
touchEnd(id, 1);
}
@@ -954,13 +956,13 @@ public class QtNative
});
}
- private static void notifyObjectHide(final int viewId)
+ private static void notifyObjectHide(final int viewId, final int parentId)
{
runAction(new Runnable() {
@Override
public void run() {
if (m_activityDelegate != null) {
- m_activityDelegate.notifyObjectHide(viewId);
+ m_activityDelegate.notifyObjectHide(viewId, parentId);
}
}
});
@@ -978,6 +980,18 @@ public class QtNative
});
}
+ private static void notifyValueChanged(final int viewId, final String value)
+ {
+ runAction(new Runnable() {
+ @Override
+ public void run() {
+ if (m_activityDelegate != null) {
+ m_activityDelegate.notifyValueChanged(viewId, value);
+ }
+ }
+ });
+ }
+
public static void notifyQtAndroidPluginRunning(final boolean running)
{
m_activityDelegate.notifyQtAndroidPluginRunning(running);
@@ -1344,8 +1358,9 @@ public class QtNative
double YDpi,
double scaledDensity,
double density,
- boolean forceUpdate);
+ float refreshRate);
public static native void handleOrientationChanged(int newRotation, int nativeOrientation);
+ public static native void handleRefreshRateChanged(float refreshRate);
// screen methods
// pointer methods
@@ -1356,6 +1371,7 @@ public class QtNative
public static native void touchBegin(int winId);
public static native void touchAdd(int winId, int pointerId, int action, boolean primary, int x, int y, float major, float minor, float rotation, float pressure);
public static native void touchEnd(int winId, int action);
+ public static native void touchCancel(int winId);
public static native void longPress(int winId, int x, int y);
// pointer methods