diff --git a/services/core/java/com/android/server/accounts/AccountManagerService.java b/services/core/java/com/android/server/accounts/AccountManagerService.java index f4c8a570b5663..146215b211d33 100644 --- a/services/core/java/com/android/server/accounts/AccountManagerService.java +++ b/services/core/java/com/android/server/accounts/AccountManagerService.java @@ -357,15 +357,25 @@ public class AccountManagerService @Override public void onPackageAdded(String packageName, int uid) { // Called on a handler, and running as the system - UserAccounts accounts = getUserAccounts(UserHandle.getUserId(uid)); - cancelAccountAccessRequestNotificationIfNeeded(uid, true, accounts); + try { + UserAccounts accounts = getUserAccounts(UserHandle.getUserId(uid)); + cancelAccountAccessRequestNotificationIfNeeded(uid, true, accounts); + } catch (SQLiteCantOpenDatabaseException e) { + Log.w(TAG, "Can't read accounts database", e); + return; + } } @Override public void onPackageUpdateFinished(String packageName, int uid) { // Called on a handler, and running as the system - UserAccounts accounts = getUserAccounts(UserHandle.getUserId(uid)); - cancelAccountAccessRequestNotificationIfNeeded(uid, true, accounts); + try { + UserAccounts accounts = getUserAccounts(UserHandle.getUserId(uid)); + cancelAccountAccessRequestNotificationIfNeeded(uid, true, accounts); + } catch (SQLiteCantOpenDatabaseException e) { + Log.w(TAG, "Can't read accounts database", e); + return; + } } }.register(mContext, mHandler.getLooper(), UserHandle.ALL, true); @@ -391,6 +401,9 @@ public class AccountManagerService } } catch (NameNotFoundException e) { /* ignore */ + } catch (SQLiteCantOpenDatabaseException e) { + Log.w(TAG, "Can't read accounts database", e); + return; } } });