Search in sources :

Example 6 with AvdManager

use of com.android.sdklib.internal.avd.AvdManager in project android by JetBrains.

the class AndroidFacet method getValidCompatibleAvds.

@NotNull
public AvdInfo[] getValidCompatibleAvds() {
    AvdManager manager = getAvdManagerSilently();
    List<AvdInfo> result = Lists.newArrayList();
    if (manager != null && reloadAvds(manager)) {
        addCompatibleAvds(result, manager.getValidAvds());
    }
    return result.toArray(new AvdInfo[result.size()]);
}
Also used : AvdManager(com.android.sdklib.internal.avd.AvdManager) AvdInfo(com.android.sdklib.internal.avd.AvdInfo) NotNull(org.jetbrains.annotations.NotNull)

Example 7 with AvdManager

use of com.android.sdklib.internal.avd.AvdManager in project android by JetBrains.

the class EmulatorTargetChooser method chooseAvd.

@Nullable
private String chooseAvd() {
    IAndroidTarget buildTarget = myFacet.getConfiguration().getAndroidTarget();
    assert buildTarget != null;
    AvdInfo[] avds = myFacet.getValidCompatibleAvds();
    if (avds.length > 0) {
        return avds[0].getName();
    }
    final Project project = myFacet.getModule().getProject();
    AvdManager manager;
    try {
        manager = myFacet.getAvdManager(new AvdManagerLog() {

            @Override
            public void error(Throwable t, String errorFormat, Object... args) {
                super.error(t, errorFormat, args);
                if (errorFormat != null) {
                    final String msg = String.format(errorFormat, args);
                    LOG.error(msg);
                }
            }
        });
    } catch (final AndroidLocation.AndroidLocationException e) {
        LOG.info(e);
        UIUtil.invokeLaterIfNeeded(new Runnable() {

            @Override
            public void run() {
                Messages.showErrorDialog(project, e.getMessage(), CommonBundle.getErrorTitle());
            }
        });
        return null;
    }
    final AvdManager finalManager = manager;
    assert finalManager != null;
    return UIUtil.invokeAndWaitIfNeeded(new Computable<String>() {

        @Override
        public String compute() {
            int result = Messages.showDialog(project, "To run using the emulator, you must have an AVD defined.", "Define AVD", new String[] { "Cancel", "Create AVD" }, 1, null);
            AvdInfo createdAvd = null;
            if (result == 1) {
                AvdOptionsModel avdOptionsModel = new AvdOptionsModel(null);
                ModelWizardDialog dialog = AvdWizardUtils.createAvdWizard(null, project, avdOptionsModel);
                if (dialog.showAndGet()) {
                    createdAvd = avdOptionsModel.getCreatedAvd();
                }
            }
            return createdAvd == null ? null : createdAvd.getName();
        }
    });
}
Also used : AvdManagerLog(org.jetbrains.android.sdk.AvdManagerLog) AvdInfo(com.android.sdklib.internal.avd.AvdInfo) IAndroidTarget(com.android.sdklib.IAndroidTarget) AvdOptionsModel(com.android.tools.idea.avdmanager.AvdOptionsModel) Project(com.intellij.openapi.project.Project) AvdManager(com.android.sdklib.internal.avd.AvdManager) ModelWizardDialog(com.android.tools.idea.wizard.model.ModelWizardDialog) AndroidLocation(com.android.prefs.AndroidLocation) Nullable(org.jetbrains.annotations.Nullable)

Example 8 with AvdManager

use of com.android.sdklib.internal.avd.AvdManager in project android by JetBrains.

the class DeviceSelectionPopup method findMatchingAvd.

/**
   * Find a avd matching the image size or ratio.
   *
   * @param configurationManager configuration managet to get the Android Facet
   * @param imageRatio           ratio of the imgage
   * @return true if a matching avd has been found
   */
private boolean findMatchingAvd(ConfigurationManager configurationManager, double imageRatio) {
    AndroidFacet facet = AndroidFacet.getInstance(configurationManager.getModule());
    if (facet == null) {
        // Unlikely, but has happened - see http://b.android.com/68091
        return false;
    }
    final AvdManager avdManager = facet.getAvdManagerSilently();
    if (avdManager != null) {
        final AvdInfo[] allAvds = avdManager.getAllAvds();
        for (AvdInfo avd : allAvds) {
            Device device = configurationManager.createDeviceForAvd(avd);
            if (device != null) {
                final Dimension screenSize = device.getScreenSize(myScreenOrientation);
                if (myImageSize.equals(screenSize) || ratioAlmostEqual(imageRatio, screenSize)) {
                    String avdName = "AVD: " + avd.getName();
                    myDevicesComboBox.addItem(avdName);
                    myMatchingDevices.add(device);
                }
            }
        }
    }
    return !myMatchingDevices.isEmpty();
}
Also used : AvdManager(com.android.sdklib.internal.avd.AvdManager) Device(com.android.sdklib.devices.Device) AvdInfo(com.android.sdklib.internal.avd.AvdInfo) AndroidFacet(org.jetbrains.android.facet.AndroidFacet)

Example 9 with AvdManager

use of com.android.sdklib.internal.avd.AvdManager in project otertool by wuntee.

the class AvdWorkshop method isAvdExist.

public static boolean isAvdExist(String avd) throws AndroidLocationException {
    ISdkLog sdkLogger = AvdWorkshop.getAvdLogger();
    SdkManager sdkManager = SdkManager.createManager(OterStatics.getAndroidHome(), sdkLogger);
    AvdManager avdManager = new AvdManager(sdkManager, sdkLogger);
    for (AvdInfo i : avdManager.getAllAvds()) {
        if (i.getName().equals(avd)) {
            return (true);
        }
    }
    return (false);
}
Also used : AvdManager(com.android.sdklib.internal.avd.AvdManager) SdkManager(com.android.sdklib.SdkManager) AvdInfo(com.android.sdklib.internal.avd.AvdInfo) ISdkLog(com.android.sdklib.ISdkLog)

Aggregations

AvdInfo (com.android.sdklib.internal.avd.AvdInfo)9 AvdManager (com.android.sdklib.internal.avd.AvdManager)9 AndroidFacet (org.jetbrains.android.facet.AndroidFacet)3 NotNull (org.jetbrains.annotations.NotNull)3 Nullable (org.jetbrains.annotations.Nullable)3 IAndroidTarget (com.android.sdklib.IAndroidTarget)2 ISdkLog (com.android.sdklib.ISdkLog)2 SdkManager (com.android.sdklib.SdkManager)2 Device (com.android.sdklib.devices.Device)2 IDevice (com.android.ddmlib.IDevice)1 AndroidLocation (com.android.prefs.AndroidLocation)1 AndroidVersion (com.android.sdklib.AndroidVersion)1 ISystemImage (com.android.sdklib.ISystemImage)1 IdDisplay (com.android.sdklib.repository.IdDisplay)1 AvdOptionsModel (com.android.tools.idea.avdmanager.AvdOptionsModel)1 FormFactor (com.android.tools.idea.npw.FormFactor)1 LaunchCompatibility (com.android.tools.idea.run.LaunchCompatibility)1 ModelWizardDialog (com.android.tools.idea.wizard.model.ModelWizardDialog)1 DefaultActionGroup (com.intellij.openapi.actionSystem.DefaultActionGroup)1 Module (com.intellij.openapi.module.Module)1