summaryrefslogtreecommitdiffstats
path: root/src/android
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2017-05-07 13:07:34 +0200
committerLiang Qi <liang.qi@qt.io>2017-05-07 13:08:18 +0200
commitd1ea4813458b383e66ce4df69d1833b8b6a279c4 (patch)
tree3bdc16da993e5de56b669e6774fb0748075ddd90 /src/android
parent1c87d4e1a1d0e1972f6dc85e55ea9be8a42797ba (diff)
parent0b1ec78c2d4871afcc89d5b046926b88f0819a7c (diff)
Merge remote-tracking branch 'origin/5.9' into dev
Conflicts: src/network/access/qnetworkreply.cpp tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp Change-Id: Iadf766269454087e69fb216fc3857d85b0ddfaad
Diffstat (limited to 'src/android')
-rw-r--r--src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java53
-rw-r--r--src/android/jar/src/org/qtproject/qt5/android/QtNative.java16
-rw-r--r--src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java6
3 files changed, 29 insertions, 46 deletions
diff --git a/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java b/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java
index 7c11b5d136..5975d838ce 100644
--- a/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java
+++ b/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java
@@ -1,6 +1,6 @@
/****************************************************************************
**
-** Copyright (C) 2014 BogDan Vatra <bogdan@kde.org>
+** Copyright (C) 2017 BogDan Vatra <bogdan@kde.org>
** Copyright (C) 2016 The Qt Company Ltd.
** Copyright (C) 2016 Olivier Goffart <ogoffart@woboq.com>
** Contact: https://www.qt.io/licensing/
@@ -47,6 +47,7 @@ import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
+import android.content.res.AssetManager;
import android.content.res.Configuration;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
@@ -711,58 +712,26 @@ public class QtActivityDelegate
{
// start application
try {
- // FIXME turn on debuggable check
- // if the applications is debuggable and it has a native debug request
+
Bundle extras = m_activity.getIntent().getExtras();
if (extras != null) {
-
if ( /*(ai.flags&ApplicationInfo.FLAG_DEBUGGABLE) != 0
- &&*/ extras.containsKey("native_debug")
- && extras.getString("native_debug").equals("true")) {
+ &&*/ extras.containsKey("debug_ping")
+ && extras.getString("debug_ping").equals("true")) {
try {
+ final String dc = "--Added-by-androiddeployqt--/debugger.command";
+ String debuggerCommand =
+ new BufferedReader(new InputStreamReader(m_activity.getAssets().open(dc))).readLine();
String packagePath =
m_activity.getPackageManager().getApplicationInfo(m_activity.getPackageName(),
PackageManager.GET_CONFIGURATIONS).dataDir + "/";
- String gdbserverPath =
- extras.containsKey("gdbserver_path")
- ? extras.getString("gdbserver_path")
- : packagePath+"lib/gdbserver ";
-
- String socket =
- extras.containsKey("gdbserver_socket")
- ? extras.getString("gdbserver_socket")
- : "+debug-socket";
-
- if (!(new File(gdbserverPath)).exists())
- gdbserverPath += ".so";
-
- // start debugger
- m_debuggerProcess = Runtime.getRuntime().exec(gdbserverPath
- + socket
- + " --attach "
- + android.os.Process.myPid(),
- null,
- new File(packagePath));
- } catch (IOException ioe) {
- Log.e(QtNative.QtTAG,"Can't start debugger" + ioe.getMessage());
- } catch (SecurityException se) {
- Log.e(QtNative.QtTAG,"Can't start debugger" + se.getMessage());
- } catch (NameNotFoundException e) {
- Log.e(QtNative.QtTAG,"Can't start debugger" + e.getMessage());
- }
- }
-
- if ( /*(ai.flags&ApplicationInfo.FLAG_DEBUGGABLE) != 0
- &&*/ extras.containsKey("debug_ping")
- && extras.getString("debug_ping").equals("true")) {
- try {
debugLog("extra parameters: " + extras);
String packageName = m_activity.getPackageName();
String pingFile = extras.getString("ping_file");
String pongFile = extras.getString("pong_file");
String gdbserverSocket = extras.getString("gdbserver_socket");
- String gdbserverCommand = extras.getString("gdbserver_command");
+ String gdbserverCommand = packagePath + debuggerCommand + gdbserverSocket;
String pingSocket = extras.getString("ping_socket");
boolean usePing = pingFile != null;
boolean usePong = pongFile != null;
@@ -891,9 +860,9 @@ public class QtActivityDelegate
}
} catch (IOException ioe) {
- Log.e(QtNative.QtTAG,"Can't start debugger" + ioe.getMessage());
+ ioe.printStackTrace();
} catch (SecurityException se) {
- Log.e(QtNative.QtTAG,"Can't start debugger" + se.getMessage());
+ se.printStackTrace();
}
}
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 70f40915b2..1d3d329043 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);
diff --git a/src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java b/src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java
index aeac2448bb..69f351033d 100644
--- a/src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java
+++ b/src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java
@@ -608,9 +608,11 @@ public abstract class QtLoader {
if (!(new File(stylePath)).exists() && !extractOption.equals("none")) {
loaderParams.putString(EXTRACT_STYLE_KEY, stylePath);
loaderParams.putBoolean(EXTRACT_STYLE_MINIMAL_KEY, extractOption.equals("minimal"));
- if (extractOption.equals("full"))
- ENVIRONMENT_VARIABLES += "\tQT_USE_ANDROID_NATIVE_STYLE=1";
}
+
+ if (extractOption.equals("full"))
+ ENVIRONMENT_VARIABLES += "\tQT_USE_ANDROID_NATIVE_STYLE=1";
+
ENVIRONMENT_VARIABLES += "\tMINISTRO_ANDROID_STYLE_PATH=" + stylePath
+ "\tQT_ANDROID_THEMES_ROOT_PATH=" + themePath;