Loading services/credentials/java/com/android/server/credentials/CredentialManagerService.java +14 −12 Original line number Diff line number Diff line Loading @@ -112,8 +112,9 @@ public final class CredentialManagerService continue; } try { serviceList.add( new CredentialManagerServiceImpl(this, mLock, resolvedUserId, serviceName)); serviceList.add(new CredentialManagerServiceImpl(this, mLock, resolvedUserId, serviceName)); } catch (PackageManager.NameNotFoundException | SecurityException e) { Log.i(TAG, "Unable to add serviceInfo : " + e.getMessage()); } Loading @@ -137,15 +138,16 @@ public final class CredentialManagerService } } @SuppressWarnings("GuardedBy") // ErrorProne requires initiateProviderSessionForRequestLocked // to be guarded by 'service.mLock', which is the same as mLock. private List<ProviderSession> initiateProviderSessions( RequestSession session, List<String> requestOptions) { List<ProviderSession> providerSessions = new ArrayList<>(); // Invoke all services of a user to initiate a provider session runForUser( (service) -> { if (service.isServiceCapable(requestOptions)) { ProviderSession providerSession = service.initiateProviderSessionForRequest(session); runForUser((service) -> { synchronized (mLock) { ProviderSession providerSession = service .initiateProviderSessionForRequestLocked(session, requestOptions); if (providerSession != null) { providerSessions.add(providerSession); } Loading services/credentials/java/com/android/server/credentials/CredentialManagerServiceImpl.java +26 −11 Original line number Diff line number Diff line Loading @@ -22,8 +22,10 @@ import android.content.ComponentName; import android.content.pm.PackageManager; import android.content.pm.ServiceInfo; import android.service.credentials.CredentialProviderInfo; import android.util.Log; import android.util.Slog; import com.android.internal.annotations.GuardedBy; import com.android.server.infra.AbstractPerUserSystemService; import java.util.List; Loading @@ -37,26 +39,33 @@ public final class CredentialManagerServiceImpl extends private static final String TAG = "CredManSysServiceImpl"; // TODO(b/210531) : Make final when update flow is fixed private ComponentName mRemoteServiceComponentName; @GuardedBy("mLock") private CredentialProviderInfo mInfo; public CredentialManagerServiceImpl( CredentialManagerServiceImpl( @NonNull CredentialManagerService master, @NonNull Object lock, int userId, String serviceName) throws PackageManager.NameNotFoundException { super(master, lock, userId); Slog.i(TAG, "in CredentialManagerServiceImpl cons"); // TODO : Replace with newServiceInfoLocked after confirming behavior mRemoteServiceComponentName = ComponentName.unflattenFromString(serviceName); mInfo = new CredentialProviderInfo(getContext(), mRemoteServiceComponentName, mUserId); Log.i(TAG, "in CredentialManagerServiceImpl constructed with: " + serviceName); synchronized (mLock) { newServiceInfoLocked(ComponentName.unflattenFromString(serviceName)); } } @Override // from PerUserSystemService @GuardedBy("mLock") protected ServiceInfo newServiceInfoLocked(@NonNull ComponentName serviceComponent) throws PackageManager.NameNotFoundException { // TODO : Test update flows with multiple providers Slog.i(TAG , "newServiceInfoLocked with : " + serviceComponent.getPackageName()); mRemoteServiceComponentName = serviceComponent; if (mInfo != null) { Log.i(TAG, "newServiceInfoLocked with : " + mInfo.getServiceInfo().getComponentName().flattenToString() + " , " + serviceComponent.getPackageName()); } else { Log.i(TAG, "newServiceInfoLocked with null mInfo , " + serviceComponent.getPackageName()); } mInfo = new CredentialProviderInfo(getContext(), serviceComponent, mUserId); return mInfo.getServiceInfo(); } Loading @@ -64,8 +73,13 @@ public final class CredentialManagerServiceImpl extends /** * Starts a provider session and associates it with the given request session. */ @Nullable public ProviderSession initiateProviderSessionForRequest( RequestSession requestSession) { @GuardedBy("mLock") public ProviderSession initiateProviderSessionForRequestLocked( RequestSession requestSession, List<String> requestOptions) { if (!isServiceCapableLocked(requestOptions)) { Log.i(TAG, "Service is not capable"); return null; } Slog.i(TAG, "in initiateProviderSessionForRequest in CredManServiceImpl"); if (mInfo == null) { Slog.i(TAG, "in initiateProviderSessionForRequest in CredManServiceImpl, " Loading @@ -80,7 +94,8 @@ public final class CredentialManagerServiceImpl extends } /** Return true if at least one capability found. */ boolean isServiceCapable(List<String> requestedOptions) { @GuardedBy("mLock") boolean isServiceCapableLocked(List<String> requestedOptions) { if (mInfo == null) { Slog.i(TAG, "in isServiceCapable, mInfo is null"); return false; Loading Loading
services/credentials/java/com/android/server/credentials/CredentialManagerService.java +14 −12 Original line number Diff line number Diff line Loading @@ -112,8 +112,9 @@ public final class CredentialManagerService continue; } try { serviceList.add( new CredentialManagerServiceImpl(this, mLock, resolvedUserId, serviceName)); serviceList.add(new CredentialManagerServiceImpl(this, mLock, resolvedUserId, serviceName)); } catch (PackageManager.NameNotFoundException | SecurityException e) { Log.i(TAG, "Unable to add serviceInfo : " + e.getMessage()); } Loading @@ -137,15 +138,16 @@ public final class CredentialManagerService } } @SuppressWarnings("GuardedBy") // ErrorProne requires initiateProviderSessionForRequestLocked // to be guarded by 'service.mLock', which is the same as mLock. private List<ProviderSession> initiateProviderSessions( RequestSession session, List<String> requestOptions) { List<ProviderSession> providerSessions = new ArrayList<>(); // Invoke all services of a user to initiate a provider session runForUser( (service) -> { if (service.isServiceCapable(requestOptions)) { ProviderSession providerSession = service.initiateProviderSessionForRequest(session); runForUser((service) -> { synchronized (mLock) { ProviderSession providerSession = service .initiateProviderSessionForRequestLocked(session, requestOptions); if (providerSession != null) { providerSessions.add(providerSession); } Loading
services/credentials/java/com/android/server/credentials/CredentialManagerServiceImpl.java +26 −11 Original line number Diff line number Diff line Loading @@ -22,8 +22,10 @@ import android.content.ComponentName; import android.content.pm.PackageManager; import android.content.pm.ServiceInfo; import android.service.credentials.CredentialProviderInfo; import android.util.Log; import android.util.Slog; import com.android.internal.annotations.GuardedBy; import com.android.server.infra.AbstractPerUserSystemService; import java.util.List; Loading @@ -37,26 +39,33 @@ public final class CredentialManagerServiceImpl extends private static final String TAG = "CredManSysServiceImpl"; // TODO(b/210531) : Make final when update flow is fixed private ComponentName mRemoteServiceComponentName; @GuardedBy("mLock") private CredentialProviderInfo mInfo; public CredentialManagerServiceImpl( CredentialManagerServiceImpl( @NonNull CredentialManagerService master, @NonNull Object lock, int userId, String serviceName) throws PackageManager.NameNotFoundException { super(master, lock, userId); Slog.i(TAG, "in CredentialManagerServiceImpl cons"); // TODO : Replace with newServiceInfoLocked after confirming behavior mRemoteServiceComponentName = ComponentName.unflattenFromString(serviceName); mInfo = new CredentialProviderInfo(getContext(), mRemoteServiceComponentName, mUserId); Log.i(TAG, "in CredentialManagerServiceImpl constructed with: " + serviceName); synchronized (mLock) { newServiceInfoLocked(ComponentName.unflattenFromString(serviceName)); } } @Override // from PerUserSystemService @GuardedBy("mLock") protected ServiceInfo newServiceInfoLocked(@NonNull ComponentName serviceComponent) throws PackageManager.NameNotFoundException { // TODO : Test update flows with multiple providers Slog.i(TAG , "newServiceInfoLocked with : " + serviceComponent.getPackageName()); mRemoteServiceComponentName = serviceComponent; if (mInfo != null) { Log.i(TAG, "newServiceInfoLocked with : " + mInfo.getServiceInfo().getComponentName().flattenToString() + " , " + serviceComponent.getPackageName()); } else { Log.i(TAG, "newServiceInfoLocked with null mInfo , " + serviceComponent.getPackageName()); } mInfo = new CredentialProviderInfo(getContext(), serviceComponent, mUserId); return mInfo.getServiceInfo(); } Loading @@ -64,8 +73,13 @@ public final class CredentialManagerServiceImpl extends /** * Starts a provider session and associates it with the given request session. */ @Nullable public ProviderSession initiateProviderSessionForRequest( RequestSession requestSession) { @GuardedBy("mLock") public ProviderSession initiateProviderSessionForRequestLocked( RequestSession requestSession, List<String> requestOptions) { if (!isServiceCapableLocked(requestOptions)) { Log.i(TAG, "Service is not capable"); return null; } Slog.i(TAG, "in initiateProviderSessionForRequest in CredManServiceImpl"); if (mInfo == null) { Slog.i(TAG, "in initiateProviderSessionForRequest in CredManServiceImpl, " Loading @@ -80,7 +94,8 @@ public final class CredentialManagerServiceImpl extends } /** Return true if at least one capability found. */ boolean isServiceCapable(List<String> requestedOptions) { @GuardedBy("mLock") boolean isServiceCapableLocked(List<String> requestedOptions) { if (mInfo == null) { Slog.i(TAG, "in isServiceCapable, mInfo is null"); return false; Loading