am ab5755ae: am 1a81b50b: Merge "SDK Manager: always display Build Tools previews." into idea133 automerge: 83cb2ee
* commit 'ab5755ae17c228f38ce22273ea81a9d5731682ac':
SDK Manager: always display Build Tools previews.
diff --git a/sdkmanager/sdkuilib/src/main/java/com/android/sdkuilib/internal/repository/core/PackagesDiffLogic.java b/sdkmanager/sdkuilib/src/main/java/com/android/sdkuilib/internal/repository/core/PackagesDiffLogic.java
index 01ea803..75bf6d6 100755
--- a/sdkmanager/sdkuilib/src/main/java/com/android/sdkuilib/internal/repository/core/PackagesDiffLogic.java
+++ b/sdkmanager/sdkuilib/src/main/java/com/android/sdkuilib/internal/repository/core/PackagesDiffLogic.java
@@ -34,10 +34,10 @@
import com.android.sdklib.internal.repository.updater.PkgItem.PkgState;
import com.android.sdklib.repository.FullRevision;
import com.android.sdklib.repository.FullRevision.PreviewComparison;
-import com.android.utils.SparseArray;
import com.android.sdkuilib.internal.repository.SwtUpdaterData;
import com.android.sdkuilib.internal.repository.ui.PackagesPageIcons;
import com.android.utils.Pair;
+import com.android.utils.SparseArray;
import com.google.common.collect.Maps;
import java.util.ArrayList;
@@ -265,7 +265,9 @@
break;
}
}
- if (p instanceof SystemImagePackage && item.getState() == PkgState.INSTALLED) {
+ if (p instanceof SystemImagePackage &&
+ ((SystemImagePackage) p).isPlatform() &&
+ item.getState() == PkgState.INSTALLED) {
hasSysImg = true;
break;
}
@@ -297,7 +299,9 @@
// No system image in the platform, try a system image package
for (PkgItem item : items) {
Package p = item.getMainPackage();
- if (p instanceof SystemImagePackage && item.getState() == PkgState.NEW) {
+ if (p instanceof SystemImagePackage &&
+ ((SystemImagePackage) p).isPlatform() &&
+ item.getState() == PkgState.NEW) {
item.setChecked(true);
}
}
@@ -595,7 +599,11 @@
if (!enablePreviews && newPkg.getRevision().isPreview()) {
// This is a preview and previews are not enabled. Ignore the package.
- continue nextPkg;
+ // Starting with Tools 23, we explicitly allows Build-Tools RC packages to
+ // always be visible so only RCs for Tools & Platform-Tools will be hidden.
+ if (!(newPkg instanceof BuildToolPackage)) {
+ continue nextPkg;
+ }
}
for (PkgCategory cat : cats) {
diff --git a/sdkmanager/sdkuilib/src/test/java/com/android/sdkuilib/internal/repository/core/PackagesDiffLogicTest.java b/sdkmanager/sdkuilib/src/test/java/com/android/sdkuilib/internal/repository/core/PackagesDiffLogicTest.java
index c4e3a81..1235bf6 100755
--- a/sdkmanager/sdkuilib/src/test/java/com/android/sdkuilib/internal/repository/core/PackagesDiffLogicTest.java
+++ b/sdkmanager/sdkuilib/src/test/java/com/android/sdkuilib/internal/repository/core/PackagesDiffLogicTest.java
@@ -1471,19 +1471,26 @@
new MockToolPackage(src1, new FullRevision(4, 0, 0, 1), 3), // Tools 4 rc1
new MockPlatformToolPackage(src1, new FullRevision(3, 0, 0)), // Plat-T 3
new MockPlatformToolPackage(src1, new FullRevision(5, 0, 0, 1)), // Plat-T 5 rc1
+ new MockBuildToolPackage(src1, new FullRevision(6, 0, 0)),
+ new MockBuildToolPackage(src1, new FullRevision(7, 0, 0, 1))
});
m.updateEnd(true /*sortByApi*/);
assertEquals(
- "PkgCategoryApi <API=TOOLS, label=Tools, #items=2>\n" +
+ "PkgCategoryApi <API=TOOLS, label=Tools, #items=3>\n" +
"-- <NEW, pkg:Android SDK Tools, revision 2>\n" +
"-- <NEW, pkg:Android SDK Platform-tools, revision 3>\n" +
+ "-- <NEW, pkg:Android SDK Build-tools, revision 6>\n" +
+ "PkgCategoryApi <API=TOOLS-PREVIEW, label=Tools (Preview Channel), #items=1>\n" +
+ "-- <NEW, pkg:Android SDK Build-tools, revision 7 rc1>\n" +
"PkgCategoryApi <API=EXTRAS, label=Extras, #items=0>\n",
getTree(m, true /*displaySortByApi*/));
assertEquals(
- "PkgCategorySource <source=repo1 (1.example.com), #items=2>\n" +
+ "PkgCategorySource <source=repo1 (1.example.com), #items=4>\n" +
"-- <NEW, pkg:Android SDK Tools, revision 2>\n" +
- "-- <NEW, pkg:Android SDK Platform-tools, revision 3>\n",
+ "-- <NEW, pkg:Android SDK Platform-tools, revision 3>\n" +
+ "-- <NEW, pkg:Android SDK Build-tools, revision 7 rc1>\n" +
+ "-- <NEW, pkg:Android SDK Build-tools, revision 6>\n",
getTree(m, false /*displaySortByApi*/));
}
diff --git a/sdkmanager/sdkuilib/src/test/java/com/android/sdkuilib/internal/repository/ui/SdkManagerUpgradeTest.java b/sdkmanager/sdkuilib/src/test/java/com/android/sdkuilib/internal/repository/ui/SdkManagerUpgradeTest.java
index bbefe25..a21dda5 100755
--- a/sdkmanager/sdkuilib/src/test/java/com/android/sdkuilib/internal/repository/ui/SdkManagerUpgradeTest.java
+++ b/sdkmanager/sdkuilib/src/test/java/com/android/sdkuilib/internal/repository/ui/SdkManagerUpgradeTest.java
@@ -98,20 +98,20 @@
actual = pageImpl.getMockTreeDisplay();
assertEquals(
- "[] Tools | | | \n" +
- " L_[] Android SDK Tools | | 1.0.1 | Update available: rev. 20.0.3\n" +
- " L_[] Android SDK Platform-tools | | 17.1.2 | Update available: rev. 18 \n" +
- " L_[] Android SDK Build-tools | | 18 | Not installed \n" +
- " L_[] Android SDK Build-tools | | 3.0.1 | Installed \n" +
- " L_[] Android SDK Build-tools | | 3 | Installed \n" +
- "[] Tools (Preview Channel) | | | \n" +
+ "[] Tools | | | \n" +
+ " L_[] Android SDK Tools | | 1.0.1 | Update available: rev. 20.0.3 \n" +
+ " L_[] Android SDK Platform-tools | | 17.1.2 | Update available: rev. 18 \n" +
+ " L_[] Android SDK Build-tools | | 18 | Not installed \n" +
+ " L_[] Android SDK Build-tools | | 3.0.1 | Installed \n" +
+ " L_[] Android SDK Build-tools | | 3 | Installed \n" +
+ "[] Tools (Preview Channel) | | | \n" +
// Note: locally installed previews are always shown, even when enable previews is false.
- " L_[] Android SDK Build-tools | | 18.3.4 rc5 | Installed \n" +
- "[] Android 0.0 (API 0) | | | \n" +
- " L_[] SDK Platform | | 1 | Installed \n" +
- " L_[] Sys-Img v0 for (Tag 1, armeabi) | | 0 | Installed \n" +
- " L_[] Sources for Android SDK | | 0 | Installed \n" +
- "[] Extras | | | ",
+ " L_[] Android SDK Build-tools | | 18.3.4 rc5 | Update available: rev. 18.3.4 rc15\n" +
+ "[] Android 0.0 (API 0) | | | \n" +
+ " L_[] SDK Platform | | 1 | Installed \n" +
+ " L_[] Sys-Img v0 for (Tag 1, armeabi) | | 0 | Installed \n" +
+ " L_[] Sources for Android SDK | | 0 | Installed \n" +
+ "[] Extras | | | ",
actual);
assertEquals(
@@ -139,19 +139,19 @@
actual = pageImpl.getMockTreeDisplay();
assertEquals(
- "[] Tools | | | \n" +
- " L_[] Android SDK Tools | | 1.0.1 | Update available: rev. 20.0.3\n" +
- " L_[] Android SDK Platform-tools | | 17.1.2 | Update available: rev. 18 \n" +
- " L_[] Android SDK Build-tools | | 18 | Not installed \n" +
- " L_[] Android SDK Build-tools | | 3.0.1 | Installed \n" +
- " L_[] Android SDK Build-tools | | 3 | Installed \n" +
- "[] Tools (Preview Channel) | | | \n" +
- " L_[] Android SDK Build-tools | | 18.3.4 rc5 | Installed \n" +
- "[] Android 0.0 (API 0) | | | \n" +
- " L_[] SDK Platform | | 1 | Installed \n" +
- " L_[] Sys-Img v0 for (Tag 1, armeabi) | | 0 | Installed \n" +
- " L_[] Sources for Android SDK | | 0 | Installed \n" +
- "[] Extras | | | ",
+ "[] Tools | | | \n" +
+ " L_[] Android SDK Tools | | 1.0.1 | Update available: rev. 20.0.3 \n" +
+ " L_[] Android SDK Platform-tools | | 17.1.2 | Update available: rev. 18 \n" +
+ " L_[] Android SDK Build-tools | | 18 | Not installed \n" +
+ " L_[] Android SDK Build-tools | | 3.0.1 | Installed \n" +
+ " L_[] Android SDK Build-tools | | 3 | Installed \n" +
+ "[] Tools (Preview Channel) | | | \n" +
+ " L_[] Android SDK Build-tools | | 18.3.4 rc5 | Update available: rev. 18.3.4 rc15\n" +
+ "[] Android 0.0 (API 0) | | | \n" +
+ " L_[] SDK Platform | | 1 | Installed \n" +
+ " L_[] Sys-Img v0 for (Tag 1, armeabi) | | 0 | Installed \n" +
+ " L_[] Sources for Android SDK | | 0 | Installed \n" +
+ "[] Extras | | | ",
actual);
assertEquals(