From dcdd636a073466936e694ae5059544ea01e9e959 Mon Sep 17 00:00:00 2001 From: Sourav Basu Date: Mon, 6 Jul 2015 12:35:47 -0700 Subject: [PATCH 1/5] Create ToggleDisplayCommand --- .../adbidea/adb/command/ToggleDisplayCommand | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/com/developerphil/adbidea/adb/command/ToggleDisplayCommand diff --git a/src/com/developerphil/adbidea/adb/command/ToggleDisplayCommand b/src/com/developerphil/adbidea/adb/command/ToggleDisplayCommand new file mode 100644 index 00000000..bbbb5fd8 --- /dev/null +++ b/src/com/developerphil/adbidea/adb/command/ToggleDisplayCommand @@ -0,0 +1,30 @@ +package com.developerphil.adbidea.adb.command; + +import com.android.ddmlib.IDevice; +import com.developerphil.adbidea.adb.command.receiver.GenericReceiver; +import com.intellij.openapi.project.Project; +import org.jetbrains.android.facet.AndroidFacet; + +import java.util.concurrent.TimeUnit; + +import static com.developerphil.adbidea.adb.AdbUtil.isAppInstalled; +import static com.developerphil.adbidea.ui.NotificationHelper.error; +import static com.developerphil.adbidea.ui.NotificationHelper.info; + +public class ToggleDisplayCommand implements Command { + + @Override + public boolean run(Project project, IDevice device, AndroidFacet facet, String packageName) { + try { + device.executeShellCommand("input keyevent 26", new GenericReceiver(), 5L, TimeUnit.MINUTES); + info(String.format("Toggle the display state on %s", device.getName())); + return true; + } + } catch (Exception e1) { + error("Toggle display failed" + e1.getMessage()); + } + + return false; + } + +} From 9a91e114d050df618c346e7b27ffc8d229be5290 Mon Sep 17 00:00:00 2001 From: Sourav Basu Date: Mon, 6 Jul 2015 12:38:06 -0700 Subject: [PATCH 2/5] Update AdbFacade.java --- src/com/developerphil/adbidea/adb/AdbFacade.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/com/developerphil/adbidea/adb/AdbFacade.java b/src/com/developerphil/adbidea/adb/AdbFacade.java index a4fda4fb..69efd544 100644 --- a/src/com/developerphil/adbidea/adb/AdbFacade.java +++ b/src/com/developerphil/adbidea/adb/AdbFacade.java @@ -46,6 +46,10 @@ public static void clearData(Project project) { public static void clearDataAndRestart(Project project) { executeOnDevice(project, new ClearDataAndRestartCommand()); } + + public static void toggleDisplay(Project project) { + executeOnDevice(project, new ToggleDisplayCommand()); + } private static void executeOnDevice(final Project project, final Command runnable) { final DeviceResult result = getDevice(project); From 22df877bf5c5ad7c571a215067fd149f3aa68df1 Mon Sep 17 00:00:00 2001 From: Sourav Basu Date: Mon, 6 Jul 2015 12:40:01 -0700 Subject: [PATCH 3/5] Create ToggleDisplayAction --- .../developerphil/adbidea/action/ToggleDisplayAction | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 src/com/developerphil/adbidea/action/ToggleDisplayAction diff --git a/src/com/developerphil/adbidea/action/ToggleDisplayAction b/src/com/developerphil/adbidea/action/ToggleDisplayAction new file mode 100644 index 00000000..459a3d49 --- /dev/null +++ b/src/com/developerphil/adbidea/action/ToggleDisplayAction @@ -0,0 +1,12 @@ +package com.developerphil.adbidea.action; + +import com.developerphil.adbidea.adb.AdbFacade; +import com.intellij.openapi.actionSystem.AnActionEvent; +import com.intellij.openapi.project.Project; + +public class ToggleDisplayAction extends AdbAction { + + public void actionPerformed(AnActionEvent e, Project project) { + AdbFacade.toggleDisplay(project); + } +} From 8acf269f95dcda421ae978c33ec9771e1d6331bb Mon Sep 17 00:00:00 2001 From: Sourav Basu Date: Mon, 6 Jul 2015 12:41:17 -0700 Subject: [PATCH 4/5] Update QuickListAction.java --- src/com/developerphil/adbidea/action/QuickListAction.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/com/developerphil/adbidea/action/QuickListAction.java b/src/com/developerphil/adbidea/action/QuickListAction.java index 1c4e4b30..766d09c6 100644 --- a/src/com/developerphil/adbidea/action/QuickListAction.java +++ b/src/com/developerphil/adbidea/action/QuickListAction.java @@ -17,6 +17,8 @@ protected void fillActions(@Nullable final Project project, return; } + addAction("com.developerphil.adbidea.action.ToggleDisplayAction", group); + addAction("com.developerphil.adbidea.action.ClearDataAndRestartAction", group); addAction("com.developerphil.adbidea.action.UninstallAction", group); addAction("com.developerphil.adbidea.action.KillAction", group); addAction("com.developerphil.adbidea.action.StartAction", group); From ff4e161720be7739af13ec1c321a53af1fbaff9d Mon Sep 17 00:00:00 2001 From: Sourav Basu Date: Mon, 6 Jul 2015 12:42:29 -0700 Subject: [PATCH 5/5] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 38634b3f..e96c64e9 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ A plugin for Android Studio and Intellij IDEA that speeds up your day to day and The following commands are provided: +* Toggle Display * Uninstall App * Kill App * Start App @@ -61,4 +62,4 @@ License distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file + limitations under the License.