1*e17b4558SAndroid Build Coastguard Worker /* 2*e17b4558SAndroid Build Coastguard Worker * Copyright (C) 2011 The Android Open Source Project 3*e17b4558SAndroid Build Coastguard Worker * 4*e17b4558SAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*e17b4558SAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*e17b4558SAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*e17b4558SAndroid Build Coastguard Worker * 8*e17b4558SAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*e17b4558SAndroid Build Coastguard Worker * 10*e17b4558SAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*e17b4558SAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*e17b4558SAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*e17b4558SAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*e17b4558SAndroid Build Coastguard Worker * limitations under the License. 15*e17b4558SAndroid Build Coastguard Worker */ 16*e17b4558SAndroid Build Coastguard Worker 17*e17b4558SAndroid Build Coastguard Worker package vogar.android; 18*e17b4558SAndroid Build Coastguard Worker 19*e17b4558SAndroid Build Coastguard Worker import vogar.Action; 20*e17b4558SAndroid Build Coastguard Worker import vogar.Run; 21*e17b4558SAndroid Build Coastguard Worker import vogar.commands.Command; 22*e17b4558SAndroid Build Coastguard Worker import vogar.tasks.RunActionTask; 23*e17b4558SAndroid Build Coastguard Worker 24*e17b4558SAndroid Build Coastguard Worker public final class RunActivityTask extends RunActionTask { RunActivityTask(Run run, Action action, boolean useLargeTimeout)25*e17b4558SAndroid Build Coastguard Worker public RunActivityTask(Run run, Action action, boolean useLargeTimeout) { 26*e17b4558SAndroid Build Coastguard Worker super(run, action, useLargeTimeout); 27*e17b4558SAndroid Build Coastguard Worker } 28*e17b4558SAndroid Build Coastguard Worker createActionCommand(Action action, String skipPast, int monitorPort)29*e17b4558SAndroid Build Coastguard Worker @Override public Command createActionCommand(Action action, String skipPast, int monitorPort) { 30*e17b4558SAndroid Build Coastguard Worker if (monitorPort != -1) { 31*e17b4558SAndroid Build Coastguard Worker throw new IllegalArgumentException("ActivityMode doesn't support runtime monitor ports!"); 32*e17b4558SAndroid Build Coastguard Worker } 33*e17b4558SAndroid Build Coastguard Worker 34*e17b4558SAndroid Build Coastguard Worker return new Command(run.log, 35*e17b4558SAndroid Build Coastguard Worker "adb", "shell", "am", "start", "-W", 36*e17b4558SAndroid Build Coastguard Worker "-a", "android.intent.action.MAIN", 37*e17b4558SAndroid Build Coastguard Worker "-n", (InstallApkTask.packageName(action) + "/" + InstallApkTask.ACTIVITY_CLASS)); 38*e17b4558SAndroid Build Coastguard Worker } 39*e17b4558SAndroid Build Coastguard Worker useSocketMonitor()40*e17b4558SAndroid Build Coastguard Worker @Override public boolean useSocketMonitor() { 41*e17b4558SAndroid Build Coastguard Worker return true; 42*e17b4558SAndroid Build Coastguard Worker } 43*e17b4558SAndroid Build Coastguard Worker } 44