Add support for preview versions of platforms.
ro.build.version.codename is a new property indicating whether a platform is in its release form (value = REL) or in development (value = dev branch name such as Donut). When the codename indicates a development/preview version then the API level must be ignored and this codename is used as a unique identifier of the platform. IAndroidTarget has been changed to return an instance of a new class AndroidVersion instead of the api level directly. This class helps deals with the logic of comparing version from targets or devices. This change impacts all of the sdk manager to deal with targets identified by codename instead of api level. This in turn impacts everything that relies on the sdkmanager: ADT (build, launch, project creation), the AVD manager, the SDK updater.
This commit is contained in:
@@ -273,14 +273,14 @@ final class AvdCreationDialog extends Dialog {
|
||||
for (IAndroidTarget target : sdkManager.getTargets()) {
|
||||
String name;
|
||||
if (target.isPlatform()) {
|
||||
name = String.format("%s - API Level %d",
|
||||
name = String.format("%s - API Level %s",
|
||||
target.getName(),
|
||||
target.getApiVersionNumber());
|
||||
target.getVersion().getApiString());
|
||||
} else {
|
||||
name = String.format("%s (%s) - API Level %d",
|
||||
name = String.format("%s (%s) - API Level %s",
|
||||
target.getName(),
|
||||
target.getVendor(),
|
||||
target.getApiVersionNumber());
|
||||
target.getVersion().getApiString());
|
||||
}
|
||||
mCurrentTargets.put(name, target);
|
||||
mTargetCombo.add(name);
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package com.android.sdkuilib.internal.widgets;
|
||||
|
||||
import com.android.sdklib.AndroidVersion;
|
||||
import com.android.sdklib.IAndroidTarget;
|
||||
import com.android.sdklib.internal.avd.AvdManager;
|
||||
import com.android.sdklib.internal.avd.AvdManager.AvdInfo;
|
||||
@@ -106,8 +107,9 @@ final class AvdDetailsDialog extends Dialog {
|
||||
displayValue(c, "Error:", mAvdInfo.getErrorMessage());
|
||||
} else {
|
||||
IAndroidTarget target = mAvdInfo.getTarget();
|
||||
displayValue(c, "Target:", String.format("%s (API level %d)",
|
||||
target.getName(), target.getApiVersionNumber()));
|
||||
AndroidVersion version = target.getVersion();
|
||||
displayValue(c, "Target:", String.format("%s (API level %s)",
|
||||
target.getName(), version.getApiString()));
|
||||
|
||||
// display some extra values.
|
||||
Map<String, String> properties = mAvdInfo.getProperties();
|
||||
|
||||
@@ -723,8 +723,8 @@ public final class AvdSelector {
|
||||
IAndroidTarget target = avd.getTarget();
|
||||
if (target != null) {
|
||||
item.setText(1, target.getFullName());
|
||||
item.setText(2, target.getApiVersionName());
|
||||
item.setText(3, Integer.toString(target.getApiVersionNumber()));
|
||||
item.setText(2, target.getVersionName());
|
||||
item.setText(3, target.getVersion().getApiString());
|
||||
} else {
|
||||
item.setText(1, "?");
|
||||
item.setText(2, "?");
|
||||
|
||||
@@ -323,8 +323,8 @@ public class SdkTargetSelector {
|
||||
item.setData(target);
|
||||
item.setText(0, target.getName());
|
||||
item.setText(1, target.getVendor());
|
||||
item.setText(2, target.getApiVersionName());
|
||||
item.setText(3, Integer.toString(target.getApiVersionNumber()));
|
||||
item.setText(2, target.getVersionName());
|
||||
item.setText(3, target.getVersion().getApiString());
|
||||
}
|
||||
} else {
|
||||
table.setEnabled(false);
|
||||
|
||||
Reference in New Issue
Block a user