| 145 | } |
| 146 | |
| 147 | rdcstr GetProcessNameForActivity(const rdcstr &deviceID, const rdcstr &packageName, |
| 148 | const rdcstr &activityName) |
| 149 | { |
| 150 | Process::ProcessResult activity = |
| 151 | adbExecCommand(deviceID, StringFormat::Fmt("shell cmd package resolve-activity %s/%s", |
| 152 | packageName.c_str(), activityName.c_str())); |
| 153 | |
| 154 | if(activity.strStdout.empty()) |
| 155 | { |
| 156 | RDCERR("Failed to resolve activity %s/%s. STDERR: %s", packageName.c_str(), |
| 157 | activityName.c_str(), activity.strStderror.c_str()); |
| 158 | return packageName; |
| 159 | } |
| 160 | |
| 161 | rdcarray<rdcstr> lines; |
| 162 | split(activity.strStdout, lines, '\n'); |
| 163 | |
| 164 | for(rdcstr &line : lines) |
| 165 | { |
| 166 | line.trim(); |
| 167 | |
| 168 | if(line.beginsWith("processName=")) |
| 169 | { |
| 170 | return line.substr(12); |
| 171 | } |
| 172 | } |
| 173 | |
| 174 | return packageName; |
| 175 | } |
| 176 | |
| 177 | int GetCurrentPID(const rdcstr &deviceID, const rdcstr &processName) |
| 178 | { |
no test coverage detected