Merge "Move Canvas compatibility settings into Compatibility class"

This commit is contained in:
Leon Scroggins
2020-05-04 18:01:42 +00:00
committed by Android (Google) Code Review
3 changed files with 6 additions and 10 deletions

View File

@@ -5346,10 +5346,6 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
// of whether a layout was requested on that View.
sIgnoreMeasureCache = targetSdkVersion < Build.VERSION_CODES.KITKAT;
Canvas.sCompatibilityRestore = targetSdkVersion < Build.VERSION_CODES.M;
Canvas.sCompatibilitySetBitmap = targetSdkVersion < Build.VERSION_CODES.O;
Canvas.setCompatibilityVersion(targetSdkVersion);
// In M and newer, our widgets can pass a "hint" value in the size
// for UNSPECIFIED MeasureSpecs. This lets child views of scrolling containers
// know what the expected parent size is going to be, so e.g. list items can size

View File

@@ -51,10 +51,8 @@ import javax.microedition.khronos.opengles.GL;
*/
public class Canvas extends BaseCanvas {
private static int sCompatiblityVersion = 0;
/** @hide */
public static boolean sCompatibilityRestore = false;
/** @hide */
public static boolean sCompatibilitySetBitmap = false;
private static boolean sCompatibilityRestore = false;
private static boolean sCompatibilitySetBitmap = false;
/** @hide */
@UnsupportedAppUsage
@@ -1426,9 +1424,10 @@ public class Canvas extends BaseCanvas {
nFreeTextLayoutCaches();
}
/** @hide */
public static void setCompatibilityVersion(int apiLevel) {
/*package*/ static void setCompatibilityVersion(int apiLevel) {
sCompatiblityVersion = apiLevel;
sCompatibilityRestore = apiLevel < Build.VERSION_CODES.M;
sCompatibilitySetBitmap = apiLevel < Build.VERSION_CODES.O;
nSetCompatibilityVersion(apiLevel);
}

View File

@@ -37,6 +37,7 @@ public final class Compatibility {
@SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
public static void setTargetSdkVersion(int targetSdkVersion) {
sTargetSdkVersion = targetSdkVersion;
Canvas.setCompatibilityVersion(targetSdkVersion);
}
/**