chromium/chrome/browser/first_run/android/java/src/org/chromium/chrome/browser/firstrun/MobileFreProgress.java

// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

package org.chromium.chrome.browser.firstrun;

import androidx.annotation.IntDef;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

/**
 * This is used for histograms to track the FRE progress. It should therefore be treated as
 * append-only. See {@code MobileFreProgress} in tools/metrics/histograms/enums.xml.
 */
@IntDef({
    MobileFreProgress.STARTED,
    MobileFreProgress.WELCOME_SHOWN,
    MobileFreProgress.DEPRECATED_DATA_SAVER_SHOWN,
    MobileFreProgress.SYNC_CONSENT_SHOWN,
    MobileFreProgress.SYNC_CONSENT_ACCEPTED,
    MobileFreProgress.SYNC_CONSENT_DISMISSED,
    MobileFreProgress.DEFAULT_SEARCH_ENGINE_SHOWN,
    MobileFreProgress.WELCOME_ADD_ACCOUNT,
    MobileFreProgress.WELCOME_SIGNIN_WITH_DEFAULT_ACCOUNT,
    MobileFreProgress.WELCOME_SIGNIN_WITH_NON_DEFAULT_ACCOUNT,
    MobileFreProgress.WELCOME_DISMISS,
    MobileFreProgress.SYNC_CONSENT_SETTINGS_LINK_CLICK,
    MobileFreProgress.HISTORY_SYNC_OPT_IN_SHOWN,
    MobileFreProgress.HISTORY_SYNC_ACCEPTED,
    MobileFreProgress.HISTORY_SYNC_DISMISSED,
    MobileFreProgress.MAX,
})
@Retention(RetentionPolicy.SOURCE)
public @interface MobileFreProgress {
    int STARTED = 0;
    int WELCOME_SHOWN = 1;
    int DEPRECATED_DATA_SAVER_SHOWN = 2;
    int SYNC_CONSENT_SHOWN = 3;

    /** The user clicked on the continue button to continue with sync consent. */
    int SYNC_CONSENT_ACCEPTED = 4;

    /** The user clicked on the |No thanks| button to continue without sync consent. */
    int SYNC_CONSENT_DISMISSED = 5;

    int DEFAULT_SEARCH_ENGINE_SHOWN = 6;

    /** The user started adding account from welcome screen. */
    int WELCOME_ADD_ACCOUNT = 7;

    /** The user signed in with default account from welcome screen. */
    int WELCOME_SIGNIN_WITH_DEFAULT_ACCOUNT = 8;

    /** The user signed in with non-default account from welcome screen. */
    int WELCOME_SIGNIN_WITH_NON_DEFAULT_ACCOUNT = 9;

    /** The user clicked the dismiss button on welcome screen. */
    int WELCOME_DISMISS = 10;

    /** The user clicked on the |settings| link on sync consent screen. */
    int SYNC_CONSENT_SETTINGS_LINK_CLICK = 11;

    int HISTORY_SYNC_OPT_IN_SHOWN = 12;

    /** The user clicked on the |Yes, I'm in| button to accept history sync. */
    int HISTORY_SYNC_ACCEPTED = 13;

    /** The user clicked on the |No thanks| button to decline history sync. */
    int HISTORY_SYNC_DISMISSED = 14;

    int MAX = 15;
}