@NonNull public static ApiVersion create(@NonNull Object value) { if (value instanceof Integer) { return new DefaultApiVersion((Integer) value, null); } else if (value instanceof String) { return new DefaultApiVersion(1, (String) value); } return new DefaultApiVersion(1, null); }
@NonNull public static ApiVersion create(@NonNull Object value) { if (value instanceof Integer) { return new DefaultApiVersion((Integer) value, null); } else if (value instanceof String) { return new DefaultApiVersion(1, (String) value); } return new DefaultApiVersion(1, null); }
public void setMinSdkVersion(int minSdkVersion) { setMinSdkVersion(new DefaultApiVersion(minSdkVersion)); }
@Nullable private static ApiVersion getApiVersion(@Nullable String value) { if (!Strings.isNullOrEmpty(value)) { if (Character.isDigit(value.charAt(0))) { try { int apiLevel = Integer.valueOf(value); return new DefaultApiVersion(apiLevel); } catch (NumberFormatException e) { throw new RuntimeException("'" + value + "' is not a valid API level. ", e); } } return new DefaultApiVersion(value); } return null; }
@NonNull public com.android.builder.model.ProductFlavor setTargetSdkVersion(int targetSdkVersion) { setTargetSdkVersion(new DefaultApiVersion(targetSdkVersion)); return this; }
@NonNull @Override public ApiVersion getMinSdkVersion() { return new DefaultApiVersion(mInstantRunBuildContext.getFeatureLevel()); }
@Override public ApiVersions getApiVersionsNonTestVariant() { ApiVersions apiVersions = super.getApiVersionsNonTestVariant(); if (!project.hasProperty(AndroidProject.PROPERTY_BUILD_API) || !getBuildType().isDebuggable()) { return apiVersions; } // Consider runtime API passed from the IDE only if the app is debuggable. Integer targetAPILevel = Integer.parseInt(project.property(AndroidProject.PROPERTY_BUILD_API).toString()); if (targetAPILevel < 23) { // max 100 DEX files in native multidex for L - see http://b.android.com/233093 return apiVersions; } int minVersion = apiVersions.targetSdkVersion.getApiLevel() > 0 ? Integer.min(apiVersions.targetSdkVersion.getApiLevel(), targetAPILevel) : targetAPILevel; return new ApiVersions(new DefaultApiVersion(minVersion), apiVersions.targetSdkVersion); }