Prevent against NPE inside ComponentKey
b/31063280 Change-Id: I71254fc1a3244fd6834ebf65923d194f17afc1ba
This commit is contained in:
@@ -32,8 +32,8 @@ public class ComponentKey {
|
|||||||
private final int mHashCode;
|
private final int mHashCode;
|
||||||
|
|
||||||
public ComponentKey(ComponentName componentName, UserHandleCompat user) {
|
public ComponentKey(ComponentName componentName, UserHandleCompat user) {
|
||||||
assert (componentName != null);
|
Preconditions.assertNotNull(componentName);
|
||||||
assert (user != null);
|
Preconditions.assertNotNull(user);
|
||||||
this.componentName = componentName;
|
this.componentName = componentName;
|
||||||
this.user = user;
|
this.user = user;
|
||||||
mHashCode = Arrays.hashCode(new Object[] {componentName, user});
|
mHashCode = Arrays.hashCode(new Object[] {componentName, user});
|
||||||
@@ -58,6 +58,8 @@ public class ComponentKey {
|
|||||||
componentName = ComponentName.unflattenFromString(componentKeyStr);
|
componentName = ComponentName.unflattenFromString(componentKeyStr);
|
||||||
user = UserHandleCompat.myUserHandle();
|
user = UserHandleCompat.myUserHandle();
|
||||||
}
|
}
|
||||||
|
Preconditions.assertNotNull(componentName);
|
||||||
|
Preconditions.assertNotNull(user);
|
||||||
mHashCode = Arrays.hashCode(new Object[] {componentName, user});
|
mHashCode = Arrays.hashCode(new Object[] {componentName, user});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -26,6 +26,12 @@ import com.android.launcher3.config.ProviderConfig;
|
|||||||
*/
|
*/
|
||||||
public class Preconditions {
|
public class Preconditions {
|
||||||
|
|
||||||
|
public static void assertNotNull(Object o) {
|
||||||
|
if (ProviderConfig.IS_DOGFOOD_BUILD && o == null) {
|
||||||
|
throw new IllegalStateException();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static void assertWorkerThread() {
|
public static void assertWorkerThread() {
|
||||||
if (ProviderConfig.IS_DOGFOOD_BUILD && !isSameLooper(LauncherModel.getWorkerLooper())) {
|
if (ProviderConfig.IS_DOGFOOD_BUILD && !isSameLooper(LauncherModel.getWorkerLooper())) {
|
||||||
throw new IllegalStateException();
|
throw new IllegalStateException();
|
||||||
|
|||||||
Reference in New Issue
Block a user