commit | 8b604ab472c5aedf5c9e78c8aa31b53b0185df79 | [log] [tgz] |
---|---|---|
author | Reema Bajwa <reemabajwa@google.com> | Mon Jan 02 23:27:35 2023 +0000 |
committer | Reema Bajwa <reemabajwa@google.com> | Tue Jan 03 19:29:43 2023 +0000 |
tree | 9a53e7baf1446116b8aa01e7ff3386efa8ee9640 | |
parent | 613dc2608856a1115009a562b1d1a174c01cca88 [diff] |
Fix bug in credential manager settings Crash due to null ServiceInfo when base class getServiceInfo is called. This is because the base serviceInfo is not populated until an update happens. Bug: 264279975 Test: Build locally Change-Id: I80b7ad2885dcfa675e2dffffb249ab33b117d77d
diff --git a/services/credentials/java/com/android/server/credentials/CredentialManagerService.java b/services/credentials/java/com/android/server/credentials/CredentialManagerService.java index d29f86e..9b2d876 100644 --- a/services/credentials/java/com/android/server/credentials/CredentialManagerService.java +++ b/services/credentials/java/com/android/server/credentials/CredentialManagerService.java
@@ -247,6 +247,8 @@ return cancelTransport; } + @SuppressWarnings("GuardedBy") // ErrorProne requires listEnabledProviders + // to be guarded by 'service.mLock', which is the same as mLock. @Override public ICancellationSignal listEnabledProviders(IListEnabledProvidersCallback callback) { Log.i(TAG, "listEnabledProviders"); @@ -256,7 +258,7 @@ runForUser( (service) -> { enabledProviders.add( - service.getServiceInfo().getComponentName().flattenToString()); + service.getComponentName().flattenToString()); }); // Call the callback.
diff --git a/services/credentials/java/com/android/server/credentials/CredentialManagerServiceImpl.java b/services/credentials/java/com/android/server/credentials/CredentialManagerServiceImpl.java index c03d505..183f743 100644 --- a/services/credentials/java/com/android/server/credentials/CredentialManagerServiceImpl.java +++ b/services/credentials/java/com/android/server/credentials/CredentialManagerServiceImpl.java
@@ -53,6 +53,11 @@ } } + @GuardedBy("mLock") + public ComponentName getComponentName() { + return mInfo.getServiceInfo().getComponentName(); + } + @Override // from PerUserSystemService @GuardedBy("mLock") protected ServiceInfo newServiceInfoLocked(@NonNull ComponentName serviceComponent)