aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/android/androidrunconfiguration.cpp
diff options
context:
space:
mode:
authorVikas Pachdha <vikas.pachdha@qt.io>2017-06-08 14:57:09 +0200
committerVikas Pachdha <vikas.pachdha@qt.io>2017-06-30 11:56:50 +0000
commita6a13bfb76a4814d4b34360d1da29055409ea859 (patch)
treee9b320bb91ea31ceead8ad01bcce6f57dd9fa1e1 /src/plugins/android/androidrunconfiguration.cpp
parentcc8bff67b312fe8f18304859eeb421744f1fac6d (diff)
Android: Let user specify shell commands
Let user specify list of shell commands to run before app starts and after app quits. Change-Id: I9794fb96180530ca6c28ce6581fda51a25be28d4 Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'src/plugins/android/androidrunconfiguration.cpp')
-rw-r--r--src/plugins/android/androidrunconfiguration.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/plugins/android/androidrunconfiguration.cpp b/src/plugins/android/androidrunconfiguration.cpp
index 7b69ed2364f..79bfa1007fa 100644
--- a/src/plugins/android/androidrunconfiguration.cpp
+++ b/src/plugins/android/androidrunconfiguration.cpp
@@ -40,7 +40,10 @@ using namespace ProjectExplorer;
namespace Android {
using namespace Internal;
+
const char amStartArgsKey[] = "Android.AmStartArgsKey";
+const char preStartShellCmdsKey[] = "Android.PreStartShellCmdListKey";
+const char postFinishShellCmdsKey[] = "Android.PostFinishShellCmdListKey";
AndroidRunConfiguration::AndroidRunConfiguration(Target *parent, Core::Id id)
: RunConfiguration(parent, id)
@@ -52,6 +55,16 @@ AndroidRunConfiguration::AndroidRunConfiguration(Target *parent, AndroidRunConfi
{
}
+void AndroidRunConfiguration::setPreStartShellCommands(const QStringList &cmdList)
+{
+ m_preStartShellCommands = cmdList;
+}
+
+void AndroidRunConfiguration::setPostFinishShellCommands(const QStringList &cmdList)
+{
+ m_postFinishShellCommands = cmdList;
+}
+
void AndroidRunConfiguration::setAmStartExtraArgs(const QStringList &args)
{
m_amStartExtraArgs = args;
@@ -61,8 +74,14 @@ QWidget *AndroidRunConfiguration::createConfigurationWidget()
{
auto configWidget = new AndroidRunConfigurationWidget();
configWidget->setAmStartArgs(m_amStartExtraArgs);
+ configWidget->setPreStartShellCommands(m_preStartShellCommands);
+ configWidget->setPostFinishShellCommands(m_postFinishShellCommands);
connect(configWidget, &AndroidRunConfigurationWidget::amStartArgsChanged,
this, &AndroidRunConfiguration::setAmStartExtraArgs);
+ connect(configWidget, &AndroidRunConfigurationWidget::preStartCmdsChanged,
+ this, &AndroidRunConfiguration::setPreStartShellCommands);
+ connect(configWidget, &AndroidRunConfigurationWidget::postFinishCmdsChanged,
+ this, &AndroidRunConfiguration::setPostFinishShellCommands);
return configWidget;
}
@@ -73,6 +92,8 @@ Utils::OutputFormatter *AndroidRunConfiguration::createOutputFormatter() const
bool AndroidRunConfiguration::fromMap(const QVariantMap &map)
{
+ m_preStartShellCommands = map.value(preStartShellCmdsKey).toStringList();
+ m_postFinishShellCommands = map.value(postFinishShellCmdsKey).toStringList();
m_amStartExtraArgs = map.value(amStartArgsKey).toStringList();
return RunConfiguration::fromMap(map);
}
@@ -80,6 +101,8 @@ bool AndroidRunConfiguration::fromMap(const QVariantMap &map)
QVariantMap AndroidRunConfiguration::toMap() const
{
QVariantMap res = RunConfiguration::toMap();
+ res[preStartShellCmdsKey] = m_preStartShellCommands;
+ res[postFinishShellCmdsKey] = m_postFinishShellCommands;
res[amStartArgsKey] = m_amStartExtraArgs;
return res;
}
@@ -88,4 +111,15 @@ const QStringList &AndroidRunConfiguration::amStartExtraArgs() const
{
return m_amStartExtraArgs;
}
+
+const QStringList &AndroidRunConfiguration::preStartShellCommands() const
+{
+ return m_preStartShellCommands;
+}
+
+const QStringList &AndroidRunConfiguration::postFinishShellCommands() const
+{
+ return m_postFinishShellCommands;
+}
+
} // namespace Android