summaryrefslogtreecommitdiffstats
path: root/src/android
diff options
context:
space:
mode:
authorOleg Yadrov <oleg.yadrov@qt.io>2017-04-19 14:31:43 -0400
committerOleg Yadrov <oleg.yadrov@qt.io>2017-05-04 19:43:33 +0000
commite2e874415e1f1c6a96915d9dc85dd31c61f73e24 (patch)
tree471761795f00d27a9520c2f6bd337369d12ad728 /src/android
parent4ad030de71fcf87c6b3afd6f12330a4e4b2fa567 (diff)
QClipboard: make dataChanged() signal work on Android
This part has not been implemented before. Also replace deprecated android.text.ClipboardManager with modern android.content.ClipboardManager. Task-number: QTBUG-58548 Change-Id: I190208042af8a6c87ed391c6c72f3f51e58dfad3 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Diffstat (limited to 'src/android')
-rw-r--r--src/android/jar/src/org/qtproject/qt5/android/QtNative.java16
1 files changed, 14 insertions, 2 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 c74e38d997..ccd8ec410e 100644
--- a/src/android/jar/src/org/qtproject/qt5/android/QtNative.java
+++ b/src/android/jar/src/org/qtproject/qt5/android/QtNative.java
@@ -52,7 +52,8 @@ import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Handler;
import android.os.Looper;
-import android.text.ClipboardManager;
+import android.content.ClipboardManager;
+import android.content.ClipboardManager.OnPrimaryClipChangedListener;
import android.os.Build;
import android.util.Log;
import android.view.ContextMenu;
@@ -584,7 +585,14 @@ public class QtNative
@Override
public void run() {
if (m_activity != null)
- m_clipboardManager = (android.text.ClipboardManager) m_activity.getSystemService(Context.CLIPBOARD_SERVICE);
+ m_clipboardManager = (android.content.ClipboardManager) m_activity.getSystemService(Context.CLIPBOARD_SERVICE);
+ if (m_clipboardManager != null) {
+ m_clipboardManager.addPrimaryClipChangedListener(new ClipboardManager.OnPrimaryClipChangedListener() {
+ public void onPrimaryClipChanged() {
+ onClipboardDataChanged();
+ }
+ });
+ }
semaphore.release();
}
});
@@ -844,6 +852,10 @@ public class QtNative
public static native void onContextMenuClosed(Menu menu);
// menu methods
+ // clipboard methods
+ public static native void onClipboardDataChanged();
+ // clipboard methods
+
// activity methods
public static native void onActivityResult(int requestCode, int resultCode, Intent data);
public static native void onNewIntent(Intent data);