From fd44f27b5145c2e3d56e84bba7bfe332f9882f04 Mon Sep 17 00:00:00 2001 From: Amith Yamasani Date: Mon, 14 May 2018 14:47:19 -0700 Subject: [PATCH] Rethrow SecurityExceptions in UsageStatsManager Some of the newer methods were not rethrowing the system server exceptions. When not returning a default value, rethrow the RemoteException from the system server. Bug: 79692228 Test: atest CtsUsageStatsTestCases:UsageStatsTest Change-Id: I7b2ae735fc97f3e1903903ed5c98ce914aeaa84a --- core/java/android/app/usage/UsageStatsManager.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/core/java/android/app/usage/UsageStatsManager.java b/core/java/android/app/usage/UsageStatsManager.java index 1b0540230d663..1b07784e4ceef 100644 --- a/core/java/android/app/usage/UsageStatsManager.java +++ b/core/java/android/app/usage/UsageStatsManager.java @@ -513,7 +513,7 @@ public final class UsageStatsManager { try { mService.setAppStandbyBucket(packageName, bucket, mContext.getUserId()); } catch (RemoteException e) { - // Nothing to do + throw e.rethrowFromSystemServer(); } } @@ -539,8 +539,8 @@ public final class UsageStatsManager { } return bucketMap; } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); } - return Collections.EMPTY_MAP; } /** @@ -563,6 +563,7 @@ public final class UsageStatsManager { try { mService.setAppStandbyBuckets(slice, mContext.getUserId()); } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); } } @@ -596,6 +597,7 @@ public final class UsageStatsManager { mService.registerAppUsageObserver(observerId, packages, timeUnit.toMillis(timeLimit), callbackIntent, mContext.getOpPackageName()); } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); } } @@ -614,6 +616,7 @@ public final class UsageStatsManager { try { mService.unregisterAppUsageObserver(observerId, mContext.getOpPackageName()); } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); } } @@ -698,6 +701,7 @@ public final class UsageStatsManager { try { mService.whitelistAppTemporarily(packageName, duration, user.getIdentifier()); } catch (RemoteException re) { + throw re.rethrowFromSystemServer(); } } @@ -709,6 +713,7 @@ public final class UsageStatsManager { try { mService.onCarrierPrivilegedAppsChanged(); } catch (RemoteException re) { + throw re.rethrowFromSystemServer(); } }