Loading core/java/android/content/pm/PackageParser.java +18 −0 Original line number Diff line number Diff line Loading @@ -2618,6 +2618,15 @@ public class PackageParser { return Build.VERSION_CODES.CUR_DEVELOPMENT; } // STOPSHIP: hack for the pre-release SDK if (platformSdkCodenames.length == 0 && Build.VERSION.KNOWN_CODENAMES.stream().max(String::compareTo).orElse("").equals( targetCode)) { Slog.w(TAG, "Package requires development platform " + targetCode + ", returning current version " + Build.VERSION.SDK_INT); return Build.VERSION.SDK_INT; } // Otherwise, we're looking at an incompatible pre-release SDK. if (platformSdkCodenames.length > 0) { outError[0] = "Requires development platform " + targetCode Loading Loading @@ -2689,6 +2698,15 @@ public class PackageParser { return Build.VERSION_CODES.CUR_DEVELOPMENT; } // STOPSHIP: hack for the pre-release SDK if (platformSdkCodenames.length == 0 && Build.VERSION.KNOWN_CODENAMES.stream().max(String::compareTo).orElse("").equals( minCode)) { Slog.w(TAG, "Package requires min development platform " + minCode + ", returning current version " + Build.VERSION.SDK_INT); return Build.VERSION.SDK_INT; } // Otherwise, we're looking at an incompatible pre-release SDK. if (platformSdkCodenames.length > 0) { outError[0] = "Requires development platform " + minCode Loading core/java/android/content/pm/parsing/FrameworkParsingPackageUtils.java +26 −4 Original line number Diff line number Diff line Loading @@ -315,6 +315,15 @@ public class FrameworkParsingPackageUtils { return input.success(Build.VERSION_CODES.CUR_DEVELOPMENT); } // STOPSHIP: hack for the pre-release SDK if (platformSdkCodenames.length == 0 && Build.VERSION.KNOWN_CODENAMES.stream().max(String::compareTo).orElse("").equals( minCode)) { Slog.w(TAG, "Parsed package requires min development platform " + minCode + ", returning current version " + Build.VERSION.SDK_INT); return input.success(Build.VERSION.SDK_INT); } // Otherwise, we're looking at an incompatible pre-release SDK. if (platformSdkCodenames.length > 0) { return input.error(PackageManager.INSTALL_FAILED_OLDER_SDK, Loading Loading @@ -367,16 +376,29 @@ public class FrameworkParsingPackageUtils { return input.success(targetVers); } if (allowUnknownCodenames && UnboundedSdkLevel.isAtMost(targetCode)) { return input.success(Build.VERSION_CODES.CUR_DEVELOPMENT); } // If it's a pre-release SDK and the codename matches this platform, it // definitely targets this SDK. if (matchTargetCode(platformSdkCodenames, targetCode)) { return input.success(Build.VERSION_CODES.CUR_DEVELOPMENT); } // STOPSHIP: hack for the pre-release SDK if (platformSdkCodenames.length == 0 && Build.VERSION.KNOWN_CODENAMES.stream().max(String::compareTo).orElse("").equals( targetCode)) { Slog.w(TAG, "Parsed package requires development platform " + targetCode + ", returning current version " + Build.VERSION.SDK_INT); return input.success(Build.VERSION.SDK_INT); } try { if (allowUnknownCodenames && UnboundedSdkLevel.isAtMost(targetCode)) { return input.success(Build.VERSION_CODES.CUR_DEVELOPMENT); } } catch (IllegalArgumentException e) { return input.error(PackageManager.INSTALL_FAILED_OLDER_SDK, "Bad package SDK"); } // Otherwise, we're looking at an incompatible pre-release SDK. if (platformSdkCodenames.length > 0) { return input.error(PackageManager.INSTALL_FAILED_OLDER_SDK, Loading services/tests/servicestests/src/com/android/server/systemconfig/SystemConfigTest.java +2 −2 Original line number Diff line number Diff line Loading @@ -454,14 +454,14 @@ public class SystemConfigTest { + " <library \n" + " name=\"foo\"\n" + " file=\"" + mFooJar + "\"\n" + " on-bootclasspath-before=\"Q\"\n" + " on-bootclasspath-before=\"A\"\n" + " on-bootclasspath-since=\"W\"\n" + " />\n\n" + " </permissions>"; parseSharedLibraries(contents); assertFooIsOnlySharedLibrary(); SystemConfig.SharedLibraryEntry entry = mSysConfig.getSharedLibraries().get("foo"); assertThat(entry.onBootclasspathBefore).isEqualTo("Q"); assertThat(entry.onBootclasspathBefore).isEqualTo("A"); assertThat(entry.onBootclasspathSince).isEqualTo("W"); } Loading Loading
core/java/android/content/pm/PackageParser.java +18 −0 Original line number Diff line number Diff line Loading @@ -2618,6 +2618,15 @@ public class PackageParser { return Build.VERSION_CODES.CUR_DEVELOPMENT; } // STOPSHIP: hack for the pre-release SDK if (platformSdkCodenames.length == 0 && Build.VERSION.KNOWN_CODENAMES.stream().max(String::compareTo).orElse("").equals( targetCode)) { Slog.w(TAG, "Package requires development platform " + targetCode + ", returning current version " + Build.VERSION.SDK_INT); return Build.VERSION.SDK_INT; } // Otherwise, we're looking at an incompatible pre-release SDK. if (platformSdkCodenames.length > 0) { outError[0] = "Requires development platform " + targetCode Loading Loading @@ -2689,6 +2698,15 @@ public class PackageParser { return Build.VERSION_CODES.CUR_DEVELOPMENT; } // STOPSHIP: hack for the pre-release SDK if (platformSdkCodenames.length == 0 && Build.VERSION.KNOWN_CODENAMES.stream().max(String::compareTo).orElse("").equals( minCode)) { Slog.w(TAG, "Package requires min development platform " + minCode + ", returning current version " + Build.VERSION.SDK_INT); return Build.VERSION.SDK_INT; } // Otherwise, we're looking at an incompatible pre-release SDK. if (platformSdkCodenames.length > 0) { outError[0] = "Requires development platform " + minCode Loading
core/java/android/content/pm/parsing/FrameworkParsingPackageUtils.java +26 −4 Original line number Diff line number Diff line Loading @@ -315,6 +315,15 @@ public class FrameworkParsingPackageUtils { return input.success(Build.VERSION_CODES.CUR_DEVELOPMENT); } // STOPSHIP: hack for the pre-release SDK if (platformSdkCodenames.length == 0 && Build.VERSION.KNOWN_CODENAMES.stream().max(String::compareTo).orElse("").equals( minCode)) { Slog.w(TAG, "Parsed package requires min development platform " + minCode + ", returning current version " + Build.VERSION.SDK_INT); return input.success(Build.VERSION.SDK_INT); } // Otherwise, we're looking at an incompatible pre-release SDK. if (platformSdkCodenames.length > 0) { return input.error(PackageManager.INSTALL_FAILED_OLDER_SDK, Loading Loading @@ -367,16 +376,29 @@ public class FrameworkParsingPackageUtils { return input.success(targetVers); } if (allowUnknownCodenames && UnboundedSdkLevel.isAtMost(targetCode)) { return input.success(Build.VERSION_CODES.CUR_DEVELOPMENT); } // If it's a pre-release SDK and the codename matches this platform, it // definitely targets this SDK. if (matchTargetCode(platformSdkCodenames, targetCode)) { return input.success(Build.VERSION_CODES.CUR_DEVELOPMENT); } // STOPSHIP: hack for the pre-release SDK if (platformSdkCodenames.length == 0 && Build.VERSION.KNOWN_CODENAMES.stream().max(String::compareTo).orElse("").equals( targetCode)) { Slog.w(TAG, "Parsed package requires development platform " + targetCode + ", returning current version " + Build.VERSION.SDK_INT); return input.success(Build.VERSION.SDK_INT); } try { if (allowUnknownCodenames && UnboundedSdkLevel.isAtMost(targetCode)) { return input.success(Build.VERSION_CODES.CUR_DEVELOPMENT); } } catch (IllegalArgumentException e) { return input.error(PackageManager.INSTALL_FAILED_OLDER_SDK, "Bad package SDK"); } // Otherwise, we're looking at an incompatible pre-release SDK. if (platformSdkCodenames.length > 0) { return input.error(PackageManager.INSTALL_FAILED_OLDER_SDK, Loading
services/tests/servicestests/src/com/android/server/systemconfig/SystemConfigTest.java +2 −2 Original line number Diff line number Diff line Loading @@ -454,14 +454,14 @@ public class SystemConfigTest { + " <library \n" + " name=\"foo\"\n" + " file=\"" + mFooJar + "\"\n" + " on-bootclasspath-before=\"Q\"\n" + " on-bootclasspath-before=\"A\"\n" + " on-bootclasspath-since=\"W\"\n" + " />\n\n" + " </permissions>"; parseSharedLibraries(contents); assertFooIsOnlySharedLibrary(); SystemConfig.SharedLibraryEntry entry = mSysConfig.getSharedLibraries().get("foo"); assertThat(entry.onBootclasspathBefore).isEqualTo("Q"); assertThat(entry.onBootclasspathBefore).isEqualTo("A"); assertThat(entry.onBootclasspathSince).isEqualTo("W"); } Loading