Merge "Clear callingId before binder calls in CompatChanges" am: 45d1f67bf6 am: 00f11fe5fd

Change-Id: I90fd68462e5967cfe7eef2c3b86dbec78a124f72
This commit is contained in:
Automerger Merge Worker
2020-02-10 16:35:29 +00:00

View File

@@ -20,6 +20,7 @@ import android.annotation.NonNull;
import android.annotation.SystemApi;
import android.compat.Compatibility;
import android.content.Context;
import android.os.Binder;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.UserHandle;
@@ -70,11 +71,14 @@ public final class CompatChanges {
@NonNull UserHandle user) {
IPlatformCompat platformCompat = IPlatformCompat.Stub.asInterface(
ServiceManager.getService(Context.PLATFORM_COMPAT_SERVICE));
final long token = Binder.clearCallingIdentity();
try {
return platformCompat.isChangeEnabledByPackageName(changeId, packageName,
user.getIdentifier());
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
} finally {
Binder.restoreCallingIdentity(token);
}
}
@@ -99,10 +103,13 @@ public final class CompatChanges {
public static boolean isChangeEnabled(long changeId, int uid) {
IPlatformCompat platformCompat = IPlatformCompat.Stub.asInterface(
ServiceManager.getService(Context.PLATFORM_COMPAT_SERVICE));
final long token = Binder.clearCallingIdentity();
try {
return platformCompat.isChangeEnabledByUid(changeId, uid);
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
} finally {
Binder.restoreCallingIdentity(token);
}
}
}