diff options
author | Vikas Pachdha <vikas.pachdha@qt.io> | 2017-06-08 14:57:09 +0200 |
---|---|---|
committer | Vikas Pachdha <vikas.pachdha@qt.io> | 2017-06-30 11:56:50 +0000 |
commit | a6a13bfb76a4814d4b34360d1da29055409ea859 (patch) | |
tree | e9b320bb91ea31ceead8ad01bcce6f57dd9fa1e1 /src/plugins/android/androidrunconfiguration.cpp | |
parent | cc8bff67b312fe8f18304859eeb421744f1fac6d (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.cpp | 34 |
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 |