| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2012 Dart project authors. | 2 * Copyright 2012 Dart project authors. |
| 3 * | 3 * |
| 4 * Licensed under the Eclipse Public License v1.0 (the "License"); you may not u
se this file except | 4 * Licensed under the Eclipse Public License v1.0 (the "License"); you may not u
se this file except |
| 5 * in compliance with the License. You may obtain a copy of the License at | 5 * in compliance with the License. You may obtain a copy of the License at |
| 6 * | 6 * |
| 7 * http://www.eclipse.org/legal/epl-v10.html | 7 * http://www.eclipse.org/legal/epl-v10.html |
| 8 * | 8 * |
| 9 * Unless required by applicable law or agreed to in writing, software distribut
ed under the License | 9 * Unless required by applicable law or agreed to in writing, software distribut
ed under the License |
| 10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY K
IND, either express | 10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY K
IND, either express |
| 11 * or implied. See the License for the specific language governing permissions a
nd limitations under | 11 * or implied. See the License for the specific language governing permissions a
nd limitations under |
| 12 * the License. | 12 * the License. |
| 13 */ | 13 */ |
| 14 | 14 |
| 15 package com.google.dart.tools.debug.ui.launch; | 15 package com.google.dart.tools.debug.ui.launch; |
| 16 | 16 |
| 17 import com.google.dart.tools.core.mobile.AndroidDebugBridge; |
| 17 import com.google.dart.tools.debug.core.DartDebugCorePlugin; | 18 import com.google.dart.tools.debug.core.DartDebugCorePlugin; |
| 18 import com.google.dart.tools.debug.core.DartLaunchConfigWrapper; | 19 import com.google.dart.tools.debug.core.DartLaunchConfigWrapper; |
| 19 import com.google.dart.tools.debug.ui.internal.DebugErrorHandler; | 20 import com.google.dart.tools.debug.ui.internal.DebugErrorHandler; |
| 20 import com.google.dart.tools.debug.ui.internal.DebugInstrumentationUtilities; | 21 import com.google.dart.tools.debug.ui.internal.DebugInstrumentationUtilities; |
| 22 import com.google.dart.tools.debug.ui.internal.dialogs.ManageLaunchesDialog; |
| 21 import com.google.dart.tools.debug.ui.internal.util.LaunchUtils; | 23 import com.google.dart.tools.debug.ui.internal.util.LaunchUtils; |
| 22 import com.google.dart.tools.ui.actions.InstrumentedAction; | 24 import com.google.dart.tools.ui.actions.InstrumentedAction; |
| 23 import com.google.dart.tools.ui.instrumentation.UIInstrumentationBuilder; | 25 import com.google.dart.tools.ui.instrumentation.UIInstrumentationBuilder; |
| 24 | 26 |
| 25 import org.eclipse.core.runtime.CoreException; | 27 import org.eclipse.core.runtime.CoreException; |
| 26 import org.eclipse.debug.core.ILaunchConfiguration; | 28 import org.eclipse.debug.core.ILaunchConfiguration; |
| 27 import org.eclipse.debug.core.ILaunchManager; | 29 import org.eclipse.debug.core.ILaunchManager; |
| 28 import org.eclipse.debug.ui.DebugUITools; | 30 import org.eclipse.debug.ui.DebugUITools; |
| 29 import org.eclipse.debug.ui.ILaunchShortcut; | 31 import org.eclipse.debug.ui.ILaunchShortcut; |
| 30 import org.eclipse.jface.action.ActionContributionItem; | 32 import org.eclipse.jface.action.ActionContributionItem; |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 183 int count = Math.min(launches.length, MAX_MENU_LENGTH); | 185 int count = Math.min(launches.length, MAX_MENU_LENGTH); |
| 184 | 186 |
| 185 for (int i = 0; i < count; i++) { | 187 for (int i = 0; i < count; i++) { |
| 186 final ILaunchConfiguration config = launches[i]; | 188 final ILaunchConfiguration config = launches[i]; |
| 187 | 189 |
| 188 InstrumentedAction launchAction = new InstrumentedAction( | 190 InstrumentedAction launchAction = new InstrumentedAction( |
| 189 LaunchUtils.getLongLaunchName(config), | 191 LaunchUtils.getLongLaunchName(config), |
| 190 DebugUITools.getDefaultImageDescriptor(config)) { | 192 DebugUITools.getDefaultImageDescriptor(config)) { |
| 191 @Override | 193 @Override |
| 192 public void doRun(Event event, UIInstrumentationBuilder instrumentation)
{ | 194 public void doRun(Event event, UIInstrumentationBuilder instrumentation)
{ |
| 195 |
| 196 // If this is a mobile launch and device is not connected or not autho
rized |
| 197 // then open launch dialog |
| 198 try { |
| 199 if (config.getType().getIdentifier().equals(DartDebugCorePlugin.MOBI
LE_LAUNCH_CONFIG_ID)) { |
| 200 if (!AndroidDebugBridge.getAndroidDebugBridge().isDeviceConnectedA
ndAuthorized()) { |
| 201 ManageLaunchesDialog.openAsync(window, config); |
| 202 return; |
| 203 } |
| 204 } |
| 205 } catch (CoreException e) { |
| 206 //$FALL-THROUGH$ |
| 207 } |
| 208 |
| 193 launch(config, instrumentation); | 209 launch(config, instrumentation); |
| 194 } | 210 } |
| 195 }; | 211 }; |
| 196 | 212 |
| 197 new ActionContributionItem(launchAction).fill(menu, -1); | 213 new ActionContributionItem(launchAction).fill(menu, -1); |
| 198 } | 214 } |
| 199 | 215 |
| 200 if (menu.getItemCount() > 0) { | 216 if (menu.getItemCount() > 0) { |
| 201 new Separator().fill(menu, -1); | 217 new Separator().fill(menu, -1); |
| 202 } | 218 } |
| 203 | 219 |
| 204 new ActionContributionItem(new ManageLaunchesAction(window)).fill(menu, -1); | 220 new ActionContributionItem(new ManageLaunchesAction(window)).fill(menu, -1); |
| 205 | 221 |
| 206 } | 222 } |
| 207 | 223 |
| 208 private void initMenu() { | 224 private void initMenu() { |
| 209 | 225 |
| 210 } | 226 } |
| 211 | 227 |
| 212 private void setMenu(Menu inMenu) { | 228 private void setMenu(Menu inMenu) { |
| 213 if (menu != null) { | 229 if (menu != null) { |
| 214 menu.dispose(); | 230 menu.dispose(); |
| 215 } | 231 } |
| 216 | 232 |
| 217 menu = inMenu; | 233 menu = inMenu; |
| 218 } | 234 } |
| 219 | 235 |
| 220 } | 236 } |
| OLD | NEW |