Add null checks for ConcurrentHashmap queries
Ensure all queries done in CompatChange are only done for non-null package names. The previous change broke several tests. Bug: 200155796 Test: atest com.android.server.wm.DisplayAreaTest#testGetOrientation Change-Id: I7fc9ccb45987e03f6f172a077303c25d5ae1ccf3
This commit is contained in:
@@ -183,14 +183,15 @@ public final class CompatChange extends CompatibilityChangeInfo {
|
||||
*/
|
||||
synchronized boolean recheckOverride(String packageName, OverrideAllowedState allowedState,
|
||||
@Nullable Long versionCode) {
|
||||
if (packageName == null) {
|
||||
return false;
|
||||
}
|
||||
boolean allowed = (allowedState.state == OverrideAllowedState.ALLOWED);
|
||||
|
||||
// If the app is not installed or no longer has raw overrides, evaluate to false
|
||||
if (versionCode == null || !mRawOverrides.containsKey(packageName) || !allowed) {
|
||||
removePackageOverrideInternal(packageName);
|
||||
return false;
|
||||
}
|
||||
|
||||
// Evaluate the override based on its version
|
||||
int overrideValue = mRawOverrides.get(packageName).evaluate(versionCode);
|
||||
switch (overrideValue) {
|
||||
@@ -266,6 +267,9 @@ public final class CompatChange extends CompatibilityChangeInfo {
|
||||
* @return {@code true} if the change should be enabled for the package.
|
||||
*/
|
||||
boolean willBeEnabled(String packageName) {
|
||||
if (packageName == null) {
|
||||
return defaultValue();
|
||||
}
|
||||
final PackageOverride override = mRawOverrides.get(packageName);
|
||||
if (override != null) {
|
||||
switch (override.evaluateForAllVersions()) {
|
||||
|
||||
Reference in New Issue
Block a user