diff options
| author | 2016-06-13 18:42:42 -0400 | |
|---|---|---|
| committer | 2016-06-13 18:42:42 -0400 | |
| commit | 5d9314f134ddd3dc4c853e398ac90ba247fb2e4f (patch) | |
| tree | 5c457fc188036988d7abd29a3eb09931e406510f /Plugins/DbAndroid/dbandroidshellconnection.cpp | |
| parent | 8e640722c62692818ab840d50b3758f89a41a54e (diff) | |
Imported Upstream version 3.1.0upstream/3.1.0
Diffstat (limited to 'Plugins/DbAndroid/dbandroidshellconnection.cpp')
| -rw-r--r-- | Plugins/DbAndroid/dbandroidshellconnection.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/Plugins/DbAndroid/dbandroidshellconnection.cpp b/Plugins/DbAndroid/dbandroidshellconnection.cpp index 1a76f8d..b39c19d 100644 --- a/Plugins/DbAndroid/dbandroidshellconnection.cpp +++ b/Plugins/DbAndroid/dbandroidshellconnection.cpp @@ -39,7 +39,7 @@ bool DbAndroidShellConnection::connectToAndroid(const DbAndroidUrl& url) } QString stdOut; - bool res = adbManager->exec(QStringList({"shell", "run-as", url.getApplication(), "echo", "1"}), &stdOut); + bool res = adbManager->exec(QStringList({"shell", "run-as", url.getApplication(), "ls"}), &stdOut); if (!res) { notifyWarn(tr("Cannot connect to device %1, because the application %2 doesn't seem to be installed on the device.").arg(url.getDevice(), url.getApplication())); @@ -172,6 +172,7 @@ DbAndroidConnection::ExecutionResult DbAndroidShellConnection::executeQuery(cons QStringList args = stdArguments; args.replace(2, connectionUrl.getApplication()); args << "databases/" + connectionUrl.getDbName(); +// args << "/data/data/" + connectionUrl.getApplication() + "/sqlitestudio_remote.sql"; args << AdbManager::encode(query); // In case of SELECT we want to union typeof() for all columns first, then original query @@ -186,7 +187,7 @@ DbAndroidConnection::ExecutionResult DbAndroidShellConnection::executeQuery(cons { firstHalfForTypes = true; args.removeLast(); - args << appendTypeQueryPart(query, columnNames); + args << AdbManager::encode(appendTypeQueryPart(query, columnNames)); } } @@ -194,7 +195,7 @@ DbAndroidConnection::ExecutionResult DbAndroidShellConnection::executeQuery(cons DbAndroidConnection::ExecutionResult results; QByteArray out; QByteArray err; - bool res = adbManager->execBytes(args, &out, &err); + bool res = adbManager->execBytes(args, &out, &err, true); if (!res) { results.wasError = true; @@ -234,7 +235,7 @@ QStringList DbAndroidShellConnection::findColumns(const QStringList& originalArg QString out; QString err; - bool res = adbManager->exec(tmpArgs, &out, &err); + bool res = adbManager->exec(tmpArgs, &out, &err, true); if (!res) { qCritical() << "Error querying columns in DbAndroidShellConnection::findColumns(): " << out << "\n" << err; @@ -331,7 +332,7 @@ QVariant DbAndroidShellConnection::valueFromString(const QByteArray& bytes, cons { static const QStringList types = QStringList({"null", "integer", "real", "text", "blob"}); - DataType dataType = static_cast<DataType>(types.indexOf(AdbManager::decode(type))); + DataType dataType = static_cast<DataType>(types.indexOf(AdbManager::decode(type).trimmed())); QByteArray decodedBytes = QByteArray::fromHex(bytes); switch (dataType) { |
