summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Tianjie Xu <xunchang@google.com> 2021-04-21 03:22:56 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2021-04-21 03:22:56 +0000
commit27dcfb808c87b49c56321eafe4ba88a19df66b16 (patch)
treef48b52dbc01028dd0565d84879a060440e1fec48
parent36478cfdaaa5b4ad609654af3a5800ded248352f (diff)
parent5cdc8a48e84483603e77679ad1b20b028cba0082 (diff)
Merge "Catch security exceptions in RoR APIs"
-rw-r--r--core/java/android/os/RecoverySystem.java21
1 files changed, 10 insertions, 11 deletions
diff --git a/core/java/android/os/RecoverySystem.java b/core/java/android/os/RecoverySystem.java
index b474d7c95996..051447f9219b 100644
--- a/core/java/android/os/RecoverySystem.java
+++ b/core/java/android/os/RecoverySystem.java
@@ -1423,8 +1423,8 @@ public class RecoverySystem {
private boolean requestLskf(String packageName, IntentSender sender) throws IOException {
try {
return mService.requestLskf(packageName, sender);
- } catch (RemoteException e) {
- throw new IOException("could request LSKF capture");
+ } catch (RemoteException | SecurityException e) {
+ throw new IOException("could not request LSKF capture", e);
}
}
@@ -1437,8 +1437,8 @@ public class RecoverySystem {
private boolean clearLskf(String packageName) throws IOException {
try {
return mService.clearLskf(packageName);
- } catch (RemoteException e) {
- throw new IOException("could not clear LSKF");
+ } catch (RemoteException | SecurityException e) {
+ throw new IOException("could not clear LSKF", e);
}
}
@@ -1452,8 +1452,8 @@ public class RecoverySystem {
private boolean isLskfCaptured(String packageName) throws IOException {
try {
return mService.isLskfCaptured(packageName);
- } catch (RemoteException e) {
- throw new IOException("could not get LSKF capture state");
+ } catch (RemoteException | SecurityException e) {
+ throw new IOException("could not get LSKF capture state", e);
}
}
@@ -1465,12 +1465,11 @@ public class RecoverySystem {
boolean slotSwitch) throws IOException {
try {
return mService.rebootWithLskf(packageName, reason, slotSwitch);
- } catch (RemoteException e) {
- throw new IOException("could not reboot for update");
+ } catch (RemoteException | SecurityException e) {
+ throw new IOException("could not reboot for update", e);
}
}
-
/**
* Calls the recovery system service to reboot and apply update. This is the legacy API and
* expects a slot switch for A/B devices.
@@ -1480,8 +1479,8 @@ public class RecoverySystem {
String reason) throws IOException {
try {
return mService.rebootWithLskfAssumeSlotSwitch(packageName, reason);
- } catch (RemoteException e) {
- throw new IOException("could not reboot for update");
+ } catch (RemoteException | RuntimeException e) {
+ throw new IOException("could not reboot for update", e);
}
}