Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d3d4df33 authored by Arpan Kaphle's avatar Arpan Kaphle Committed by Android (Google) Code Review
Browse files

Merge "Generating Provider Status Enum Consistently" into udc-dev

parents f32a80bf f73e42c4
Loading
Loading
Loading
Loading
+8 −7
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import android.util.Log;

import com.android.server.credentials.metrics.ApiName;
import com.android.server.credentials.metrics.ApiStatus;
import com.android.server.credentials.metrics.ProviderStatusForMetrics;

import java.util.ArrayList;

@@ -120,22 +121,22 @@ public final class ClearRequestSession extends RequestSession<ClearCredentialSta
        Log.i(TAG, "respondToClientWithResponseAndFinish");
        if (isSessionCancelled()) {
            mChosenProviderMetric.setChosenProviderStatus(
                    MetricUtilities.METRICS_PROVIDER_STATUS_FINAL_SUCCESS);
                    ProviderStatusForMetrics.FINAL_SUCCESS.getMetricCode());
            logApiCall(ApiName.CLEAR_CREDENTIAL, /* apiStatus */
                    ApiStatus.METRICS_API_STATUS_CLIENT_CANCELED);
                    ApiStatus.CLIENT_CANCELED);
            finishSession(/*propagateCancellation=*/true);
            return;
        }
        try {
            mClientCallback.onSuccess();
            logApiCall(ApiName.CLEAR_CREDENTIAL, /* apiStatus */
                    ApiStatus.METRICS_API_STATUS_SUCCESS);
                    ApiStatus.SUCCESS);
        } catch (RemoteException e) {
            mChosenProviderMetric.setChosenProviderStatus(
                    MetricUtilities.METRICS_PROVIDER_STATUS_FINAL_FAILURE);
                    ProviderStatusForMetrics.FINAL_FAILURE.getMetricCode());
            Log.i(TAG, "Issue while propagating the response to the client");
            logApiCall(ApiName.CLEAR_CREDENTIAL, /* apiStatus */
                    ApiStatus.METRICS_API_STATUS_FAILURE);
                    ApiStatus.FAILURE);
        }
        finishSession(/*propagateCancellation=*/false);
    }
@@ -144,7 +145,7 @@ public final class ClearRequestSession extends RequestSession<ClearCredentialSta
        Log.i(TAG, "respondToClientWithErrorAndFinish");
        if (isSessionCancelled()) {
            logApiCall(ApiName.CLEAR_CREDENTIAL, /* apiStatus */
                    ApiStatus.METRICS_API_STATUS_CLIENT_CANCELED);
                    ApiStatus.CLIENT_CANCELED);
            finishSession(/*propagateCancellation=*/true);
            return;
        }
@@ -154,7 +155,7 @@ public final class ClearRequestSession extends RequestSession<ClearCredentialSta
            e.printStackTrace();
        }
        logApiCall(ApiName.CLEAR_CREDENTIAL, /* apiStatus */
                ApiStatus.METRICS_API_STATUS_FAILURE);
                ApiStatus.FAILURE);
        finishSession(/*propagateCancellation=*/false);
    }

+9 −11
Original line number Diff line number Diff line
@@ -16,9 +16,6 @@

package com.android.server.credentials;

import static com.android.server.credentials.MetricUtilities.METRICS_PROVIDER_STATUS_FINAL_FAILURE;
import static com.android.server.credentials.MetricUtilities.METRICS_PROVIDER_STATUS_FINAL_SUCCESS;

import android.annotation.NonNull;
import android.annotation.Nullable;
import android.content.ComponentName;
@@ -38,6 +35,7 @@ import android.util.Log;

import com.android.server.credentials.metrics.ApiName;
import com.android.server.credentials.metrics.ApiStatus;
import com.android.server.credentials.metrics.ProviderStatusForMetrics;

import java.util.ArrayList;

@@ -103,11 +101,11 @@ public final class CreateRequestSession extends RequestSession<CreateCredentialR
        setChosenMetric(componentName);
        if (response != null) {
            mChosenProviderMetric.setChosenProviderStatus(
                    METRICS_PROVIDER_STATUS_FINAL_SUCCESS);
                    ProviderStatusForMetrics.FINAL_SUCCESS.getMetricCode());
            respondToClientWithResponseAndFinish(response);
        } else {
            mChosenProviderMetric.setChosenProviderStatus(
                    METRICS_PROVIDER_STATUS_FINAL_FAILURE);
                    ProviderStatusForMetrics.FINAL_FAILURE.getMetricCode());
            respondToClientWithErrorAndFinish(CreateCredentialException.TYPE_NO_CREATE_OPTIONS,
                    "Invalid response");
        }
@@ -144,18 +142,18 @@ public final class CreateRequestSession extends RequestSession<CreateCredentialR
        }
        if (isSessionCancelled()) {
            logApiCall(ApiName.CREATE_CREDENTIAL, /* apiStatus */
                    ApiStatus.METRICS_API_STATUS_CLIENT_CANCELED);
                    ApiStatus.CLIENT_CANCELED);
            finishSession(/*propagateCancellation=*/true);
            return;
        }
        try {
            mClientCallback.onResponse(response);
            logApiCall(ApiName.CREATE_CREDENTIAL, /* apiStatus */
                    ApiStatus.METRICS_API_STATUS_SUCCESS);
                    ApiStatus.SUCCESS);
        } catch (RemoteException e) {
            Log.i(TAG, "Issue while responding to client: " + e.getMessage());
            logApiCall(ApiName.CREATE_CREDENTIAL, /* apiStatus */
                    ApiStatus.METRICS_API_STATUS_FAILURE);
                    ApiStatus.FAILURE);
        }
        finishSession(/*propagateCancellation=*/false);
    }
@@ -168,7 +166,7 @@ public final class CreateRequestSession extends RequestSession<CreateCredentialR
        }
        if (isSessionCancelled()) {
            logApiCall(ApiName.CREATE_CREDENTIAL, /* apiStatus */
                    ApiStatus.METRICS_API_STATUS_CLIENT_CANCELED);
                    ApiStatus.CLIENT_CANCELED);
            finishSession(/*propagateCancellation=*/true);
            return;
        }
@@ -184,10 +182,10 @@ public final class CreateRequestSession extends RequestSession<CreateCredentialR
    private void logFailureOrUserCancel(String errorType) {
        if (CreateCredentialException.TYPE_USER_CANCELED.equals(errorType)) {
            logApiCall(ApiName.CREATE_CREDENTIAL,
                    /* apiStatus */ ApiStatus.METRICS_API_STATUS_USER_CANCELED);
                    /* apiStatus */ ApiStatus.USER_CANCELED);
        } else {
            logApiCall(ApiName.CREATE_CREDENTIAL,
                    /* apiStatus */ ApiStatus.METRICS_API_STATUS_FAILURE);
                    /* apiStatus */ ApiStatus.FAILURE);
        }
    }

+2 −2
Original line number Diff line number Diff line
@@ -659,7 +659,7 @@ public final class CredentialManagerService
                            // The component name and the package name do not match.
                            MetricUtilities.logApiCalled(
                                    ApiName.IS_ENABLED_CREDENTIAL_PROVIDER_SERVICE,
                                    ApiStatus.METRICS_API_STATUS_FAILURE, callingUid);
                                    ApiStatus.FAILURE, callingUid);
                            Log.w(
                                    TAG,
                                    "isEnabledCredentialProviderService: Component name does not"
@@ -667,7 +667,7 @@ public final class CredentialManagerService
                            return false;
                        }
                        MetricUtilities.logApiCalled(ApiName.IS_ENABLED_CREDENTIAL_PROVIDER_SERVICE,
                                ApiStatus.METRICS_API_STATUS_SUCCESS, callingUid);
                                ApiStatus.SUCCESS, callingUid);
                        return true;
                    }
                }
+9 −11
Original line number Diff line number Diff line
@@ -16,9 +16,6 @@

package com.android.server.credentials;

import static com.android.server.credentials.MetricUtilities.METRICS_PROVIDER_STATUS_FINAL_FAILURE;
import static com.android.server.credentials.MetricUtilities.METRICS_PROVIDER_STATUS_FINAL_SUCCESS;

import android.annotation.Nullable;
import android.content.ComponentName;
import android.content.Context;
@@ -36,6 +33,7 @@ import android.util.Log;

import com.android.server.credentials.metrics.ApiName;
import com.android.server.credentials.metrics.ApiStatus;
import com.android.server.credentials.metrics.ProviderStatusForMetrics;

import java.util.ArrayList;

@@ -95,11 +93,11 @@ public final class GetRequestSession extends RequestSession<GetCredentialRequest
        setChosenMetric(componentName);
        if (response != null) {
            mChosenProviderMetric.setChosenProviderStatus(
                    METRICS_PROVIDER_STATUS_FINAL_SUCCESS);
                    ProviderStatusForMetrics.FINAL_SUCCESS.getMetricCode());
            respondToClientWithResponseAndFinish(response);
        } else {
            mChosenProviderMetric.setChosenProviderStatus(
                    METRICS_PROVIDER_STATUS_FINAL_FAILURE);
                    ProviderStatusForMetrics.FINAL_FAILURE.getMetricCode());
            respondToClientWithErrorAndFinish(GetCredentialException.TYPE_NO_CREDENTIAL,
                    "Invalid response from provider");
        }
@@ -120,18 +118,18 @@ public final class GetRequestSession extends RequestSession<GetCredentialRequest
        }
        if (isSessionCancelled()) {
            logApiCall(ApiName.GET_CREDENTIAL, /* apiStatus */
                    ApiStatus.METRICS_API_STATUS_CLIENT_CANCELED);
                    ApiStatus.CLIENT_CANCELED);
            finishSession(/*propagateCancellation=*/true);
            return;
        }
        try {
            mClientCallback.onResponse(response);
            logApiCall(ApiName.GET_CREDENTIAL, /* apiStatus */
                    ApiStatus.METRICS_API_STATUS_SUCCESS);
                    ApiStatus.SUCCESS);
        } catch (RemoteException e) {
            Log.i(TAG, "Issue while responding to client with a response : " + e.getMessage());
            logApiCall(ApiName.GET_CREDENTIAL, /* apiStatus */
                    ApiStatus.METRICS_API_STATUS_FAILURE);
                    ApiStatus.FAILURE);
        }
        finishSession(/*propagateCancellation=*/false);
    }
@@ -143,7 +141,7 @@ public final class GetRequestSession extends RequestSession<GetCredentialRequest
        }
        if (isSessionCancelled()) {
            logApiCall(ApiName.GET_CREDENTIAL, /* apiStatus */
                    ApiStatus.METRICS_API_STATUS_CLIENT_CANCELED);
                    ApiStatus.CLIENT_CANCELED);
            finishSession(/*propagateCancellation=*/true);
            return;
        }
@@ -160,10 +158,10 @@ public final class GetRequestSession extends RequestSession<GetCredentialRequest
    private void logFailureOrUserCancel(String errorType) {
        if (GetCredentialException.TYPE_USER_CANCELED.equals(errorType)) {
            logApiCall(ApiName.GET_CREDENTIAL,
                    /* apiStatus */ ApiStatus.METRICS_API_STATUS_USER_CANCELED);
                    /* apiStatus */ ApiStatus.USER_CANCELED);
        } else {
            logApiCall(ApiName.GET_CREDENTIAL,
                    /* apiStatus */ ApiStatus.METRICS_API_STATUS_FAILURE);
                    /* apiStatus */ ApiStatus.FAILURE);
        }
    }

+0 −18
Original line number Diff line number Diff line
@@ -16,12 +16,6 @@

package com.android.server.credentials;

import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_API_CALLED__CANDIDATE_PROVIDER_STATUS__PROVIDER_FINAL_FAILURE;
import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_API_CALLED__CANDIDATE_PROVIDER_STATUS__PROVIDER_FINAL_SUCCESS;
import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_API_CALLED__CANDIDATE_PROVIDER_STATUS__PROVIDER_QUERY_FAILURE;
import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_API_CALLED__CANDIDATE_PROVIDER_STATUS__PROVIDER_QUERY_SUCCESS;
import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_API_CALLED__CANDIDATE_PROVIDER_STATUS__PROVIDER_UNKNOWN;

import android.content.ComponentName;
import android.content.Context;
import android.content.pm.PackageManager;
@@ -46,18 +40,6 @@ public class MetricUtilities {
    public static final int DEFAULT_INT_32 = -1;
    public static final int[] DEFAULT_REPEATED_INT_32 = new int[0];

    // Metrics constants TODO(b/269290341) migrate to enums eventually to improve
    protected static final int METRICS_PROVIDER_STATUS_FINAL_FAILURE =
            CREDENTIAL_MANAGER_API_CALLED__CANDIDATE_PROVIDER_STATUS__PROVIDER_FINAL_FAILURE;
    protected static final int METRICS_PROVIDER_STATUS_QUERY_FAILURE =
            CREDENTIAL_MANAGER_API_CALLED__CANDIDATE_PROVIDER_STATUS__PROVIDER_QUERY_FAILURE;
    protected static final int METRICS_PROVIDER_STATUS_FINAL_SUCCESS =
            CREDENTIAL_MANAGER_API_CALLED__CANDIDATE_PROVIDER_STATUS__PROVIDER_FINAL_SUCCESS;
    protected static final int METRICS_PROVIDER_STATUS_QUERY_SUCCESS =
            CREDENTIAL_MANAGER_API_CALLED__CANDIDATE_PROVIDER_STATUS__PROVIDER_QUERY_SUCCESS;
    protected static final int METRICS_PROVIDER_STATUS_UNKNOWN =
            CREDENTIAL_MANAGER_API_CALLED__CANDIDATE_PROVIDER_STATUS__PROVIDER_UNKNOWN;


    /**
     * This retrieves the uid of any package name, given a context and a component name for the
Loading