diff options
Diffstat (limited to 'sdkmanager/libs')
3 files changed, 33 insertions, 47 deletions
diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/avd/AvdManager.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/avd/AvdManager.java index 7b8fdbe..65cbbe3 100644 --- a/sdkmanager/libs/sdklib/src/com/android/sdklib/avd/AvdManager.java +++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/avd/AvdManager.java @@ -303,8 +303,11 @@ public final class AvdManager { } if (NUMERIC_SKIN_SIZE.matcher(skinName).matches()) { - // Skin name is an actual screen resolution, no skin.path + // Skin name is an actual screen resolution. + // Set skin.name for display purposes in the AVD manager and + // set skin.path for use by the emulator. values.put(AVD_INI_SKIN_NAME, skinName); + values.put(AVD_INI_SKIN_PATH, skinName); } else { // get the path of the skin (relative to the SDK) // assume skin name is valid diff --git a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/ApkConfigWidget.java b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/ApkConfigWidget.java index 6bf1df3..825be93 100644 --- a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/ApkConfigWidget.java +++ b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/ApkConfigWidget.java @@ -41,7 +41,7 @@ import java.util.Set; * The APK Configuration widget is a table that is added to the given parent composite. * <p/> * To use, create it using {@link #ApkConfigWidget(Composite)} then - * call {@link #fillTable(Map) to set the initial list of configurations. + * call {@link #fillTable(Map)} to set the initial list of configurations. */ public class ApkConfigWidget { private final static int INDEX_NAME = 0; diff --git a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/AvdSelector.java b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/AvdSelector.java index 9d0b928..67c70a6 100644 --- a/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/AvdSelector.java +++ b/sdkmanager/libs/sdkuilib/src/com/android/sdkuilib/AvdSelector.java @@ -36,21 +36,17 @@ import org.eclipse.swt.widgets.Table; import org.eclipse.swt.widgets.TableColumn; import org.eclipse.swt.widgets.TableItem; -import java.util.ArrayList; - /** * The AVD selector is a table that is added to the given parent composite. * <p/> - * To use, create it using {@link #AvdSelector(Composite, AvdInfo[], boolean)} then + * To use, create it using {@link #AvdSelector(Composite, AvdInfo[])} then * call {@link #setSelection(AvdInfo)}, {@link #setSelectionListener(SelectionListener)} - * and finally use {@link #getFirstSelected()} or {@link #getAllSelected()} to retrieve the - * selection. + * and finally use {@link #getFirstSelected()} to retrieve the selection. */ public final class AvdSelector { private AvdInfo[] mAvds; - private final boolean mAllowMultipleSelection; private SelectionListener mSelectionListener; private Table mTable; private Label mDescription; @@ -63,11 +59,8 @@ public final class AvdSelector { * * @param parent The parent composite where the selector will be added. * @param avds The list of AVDs. This is <em>not</em> copied, the caller must not modify. - * @param allowMultipleSelection True if more than one SDK target can be selected at the same - * time. */ - public AvdSelector(Composite parent, AvdInfo[] avds, IAndroidTarget filter, - boolean allowMultipleSelection) { + public AvdSelector(Composite parent, AvdInfo[] avds, IAndroidTarget filter) { mAvds = avds; // Layout has 1 column @@ -76,7 +69,6 @@ public final class AvdSelector { group.setLayoutData(new GridData(GridData.FILL_BOTH)); group.setFont(parent.getFont()); - mAllowMultipleSelection = allowMultipleSelection; mTable = new Table(group, SWT.CHECK | SWT.FULL_SELECTION | SWT.SINGLE | SWT.BORDER); mTable.setHeaderVisible(true); mTable.setLinesVisible(false); @@ -112,11 +104,9 @@ public final class AvdSelector { * * @param parent The parent composite where the selector will be added. * @param avds The list of AVDs. This is <em>not</em> copied, the caller must not modify. - * @param allowMultipleSelection True if more than one SDK target can be selected at the same - * time. */ - public AvdSelector(Composite parent, AvdInfo[] avds, boolean allowMultipleSelection) { - this(parent, avds, null /* filter */, allowMultipleSelection); + public AvdSelector(Composite parent, AvdInfo[] avds) { + this(parent, avds, null /* filter */); } @@ -160,8 +150,7 @@ public final class AvdSelector { * The event's item contains a {@link TableItem}. * The {@link TableItem#getData()} contains an {@link IAndroidTarget}. * <p/> - * It is recommended that the caller uses the {@link #getFirstSelected()} and - * {@link #getAllSelected()} methods instead. + * It is recommended that the caller uses the {@link #getFirstSelected()} method instead. * * @param selectionListener The new listener or null to remove it. */ @@ -202,27 +191,9 @@ public final class AvdSelector { } /** - * Returns all selected items. - * This is useful when the table is in multiple-selection mode. - * - * @see #getFirstSelected() - * @return An array of selected items. The list can be empty but not null. - */ - public AvdInfo[] getAllSelected() { - ArrayList<IAndroidTarget> list = new ArrayList<IAndroidTarget>(); - for (TableItem i : mTable.getItems()) { - if (i.getChecked()) { - list.add((IAndroidTarget) i.getData()); - } - } - return list.toArray(new AvdInfo[list.size()]); - } - - /** * Returns the first selected item. * This is useful when the table is in single-selection mode. * - * @see #getAllSelected() * @return The first selected item or null. */ public AvdInfo getFirstSelected() { @@ -278,38 +249,50 @@ public final class AvdSelector { private void setupSelectionListener(final Table table) { // Add a selection listener that will check/uncheck items when they are double-clicked table.addSelectionListener(new SelectionListener() { - /** Default selection means double-click on "most" platforms */ - public void widgetDefaultSelected(SelectionEvent e) { + + /** + * Handles single-click selection on the table. + * {@inheritDoc} + */ + public void widgetSelected(SelectionEvent e) { if (e.item instanceof TableItem) { TableItem i = (TableItem) e.item; - i.setChecked(!i.getChecked()); enforceSingleSelection(i); updateDescription(i); } if (mSelectionListener != null) { - mSelectionListener.widgetDefaultSelected(e); + mSelectionListener.widgetSelected(e); } } - - public void widgetSelected(SelectionEvent e) { + + /** + * Handles double-click selection on the table. + * Note that the single-click handler will probably already have been called. + * + * On double-click, <em>always</em> check the table item. + * + * {@inheritDoc} + */ + public void widgetDefaultSelected(SelectionEvent e) { if (e.item instanceof TableItem) { TableItem i = (TableItem) e.item; + i.setChecked(true); enforceSingleSelection(i); updateDescription(i); } if (mSelectionListener != null) { - mSelectionListener.widgetSelected(e); + mSelectionListener.widgetDefaultSelected(e); } } /** - * If we're not in multiple selection mode, uncheck all other - * items when this one is selected. + * To ensure single selection, uncheck all other items when this one is selected. + * This makes the chekboxes act as radio buttons. */ private void enforceSingleSelection(TableItem item) { - if (!mAllowMultipleSelection && item.getChecked()) { + if (item.getChecked()) { Table parentTable = item.getParent(); for (TableItem i2 : parentTable.getItems()) { if (i2 != item && i2.getChecked()) { |