Merge "Clear binder identity in callback of IMS IPC interfaces" into sc-dev am: 4696dc9bf8
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15329696 Change-Id: I5e2f280652352a73c618899b53d3aa4b89549159
This commit is contained in:
@@ -13965,7 +13965,12 @@ public class TelephonyManager {
|
||||
IBooleanConsumer aidlConsumer = callback == null ? null : new IBooleanConsumer.Stub() {
|
||||
@Override
|
||||
public void accept(boolean result) {
|
||||
executor.execute(() -> callback.accept(result));
|
||||
final long identity = Binder.clearCallingIdentity();
|
||||
try {
|
||||
executor.execute(() -> callback.accept(result));
|
||||
} finally {
|
||||
Binder.restoreCallingIdentity(identity);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -445,7 +445,12 @@ public class ImsMmTelManager implements RegistrationManager {
|
||||
iTelephony.getImsMmTelRegistrationState(mSubId, new IIntegerConsumer.Stub() {
|
||||
@Override
|
||||
public void accept(int result) {
|
||||
executor.execute(() -> stateCallback.accept(result));
|
||||
final long identity = Binder.clearCallingIdentity();
|
||||
try {
|
||||
executor.execute(() -> stateCallback.accept(result));
|
||||
} finally {
|
||||
Binder.restoreCallingIdentity(identity);
|
||||
}
|
||||
}
|
||||
});
|
||||
} catch (ServiceSpecificException | RemoteException e) {
|
||||
@@ -487,7 +492,12 @@ public class ImsMmTelManager implements RegistrationManager {
|
||||
new IIntegerConsumer.Stub() {
|
||||
@Override
|
||||
public void accept(int result) {
|
||||
executor.execute(() -> transportTypeCallback.accept(result));
|
||||
final long identity = Binder.clearCallingIdentity();
|
||||
try {
|
||||
executor.execute(() -> transportTypeCallback.accept(result));
|
||||
} finally {
|
||||
Binder.restoreCallingIdentity(identity);
|
||||
}
|
||||
}
|
||||
});
|
||||
} catch (ServiceSpecificException | RemoteException e) {
|
||||
@@ -807,7 +817,12 @@ public class ImsMmTelManager implements RegistrationManager {
|
||||
iTelephony.isMmTelCapabilitySupported(mSubId, new IIntegerConsumer.Stub() {
|
||||
@Override
|
||||
public void accept(int result) {
|
||||
executor.execute(() -> callback.accept(result == 1));
|
||||
final long identity = Binder.clearCallingIdentity();
|
||||
try {
|
||||
executor.execute(() -> callback.accept(result == 1));
|
||||
} finally {
|
||||
Binder.restoreCallingIdentity(identity);
|
||||
}
|
||||
}
|
||||
}, capability, transportType);
|
||||
} catch (ServiceSpecificException sse) {
|
||||
@@ -1452,7 +1467,12 @@ public class ImsMmTelManager implements RegistrationManager {
|
||||
iTelephony.getImsMmTelFeatureState(mSubId, new IIntegerConsumer.Stub() {
|
||||
@Override
|
||||
public void accept(int result) {
|
||||
executor.execute(() -> callback.accept(result));
|
||||
final long identity = Binder.clearCallingIdentity();
|
||||
try {
|
||||
executor.execute(() -> callback.accept(result));
|
||||
} finally {
|
||||
Binder.restoreCallingIdentity(identity);
|
||||
}
|
||||
}
|
||||
});
|
||||
} catch (ServiceSpecificException sse) {
|
||||
|
||||
@@ -299,7 +299,12 @@ public class ImsRcsManager {
|
||||
imsRcsController.getImsRcsRegistrationState(mSubId, new IIntegerConsumer.Stub() {
|
||||
@Override
|
||||
public void accept(int result) {
|
||||
executor.execute(() -> stateCallback.accept(result));
|
||||
final long identity = Binder.clearCallingIdentity();
|
||||
try {
|
||||
executor.execute(() -> stateCallback.accept(result));
|
||||
} finally {
|
||||
Binder.restoreCallingIdentity(identity);
|
||||
}
|
||||
}
|
||||
});
|
||||
} catch (ServiceSpecificException | RemoteException e) {
|
||||
@@ -345,7 +350,12 @@ public class ImsRcsManager {
|
||||
new IIntegerConsumer.Stub() {
|
||||
@Override
|
||||
public void accept(int result) {
|
||||
executor.execute(() -> transportTypeCallback.accept(result));
|
||||
final long identity = Binder.clearCallingIdentity();
|
||||
try {
|
||||
executor.execute(() -> transportTypeCallback.accept(result));
|
||||
} finally {
|
||||
Binder.restoreCallingIdentity(identity);
|
||||
}
|
||||
}
|
||||
});
|
||||
} catch (ServiceSpecificException | RemoteException e) {
|
||||
|
||||
Reference in New Issue
Block a user