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
This commit is contained in:
Reema Bajwa
2023-01-02 23:27:35 +00:00
parent 613dc26088
commit 8b604ab472
2 changed files with 8 additions and 1 deletions

View File

@@ -247,6 +247,8 @@ public final class CredentialManagerService
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 @@ public final class CredentialManagerService
runForUser(
(service) -> {
enabledProviders.add(
service.getServiceInfo().getComponentName().flattenToString());
service.getComponentName().flattenToString());
});
// Call the callback.

View File

@@ -53,6 +53,11 @@ public final class CredentialManagerServiceImpl extends
}
}
@GuardedBy("mLock")
public ComponentName getComponentName() {
return mInfo.getServiceInfo().getComponentName();
}
@Override // from PerUserSystemService
@GuardedBy("mLock")
protected ServiceInfo newServiceInfoLocked(@NonNull ComponentName serviceComponent)