chromium/chrome/browser/password_manager/android/chromesync_status_code.h

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

#ifndef CHROME_BROWSER_PASSWORD_MANAGER_ANDROID_CHROMESYNC_STATUS_CODE_H_
#define CHROME_BROWSER_PASSWORD_MANAGER_ANDROID_CHROMESYNC_STATUS_CODE_H_

namespace password_manager {

// TODO(crbug.com/40824450): Remove once GMS definition will be exposed.
// Status codes redefinition for the GMS ChromeSync API.
// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.password_manager
enum class ChromeSyncStatusCode {
  // We need user to retrieve their passphrase in order to decrypt the data.
  kPassphraseRequired = 11000,

  // Happens when user enters the wrong custom passphrase.
  kWrongPassphrase = 11001,

  // Happens when trying to retrieve / modify the data that is not being
  // subscribed by any subscribers.
  kDataNotSubscribed = 11002,

  // Happens when the execution of a ChromeSync service operation fails due to
  // the request/response data exceeding the binder size limit. Also see
  // https://developer.android.com/reference/android/os/TransactionTooLargeException
  kTransactionTooLarge = 11003,

  // Happens when the package of the calling application package name is not
  // allowlisted via the flag "first_party_api_allow_list".
  kAccessDenied = 11004,

  // Happens when the account is not authenticated and the issue is resolvable
  // by the user.
  kAuthErrorResolvable = 11005,

  // Happens when the account is not authenticated, but the issue is not
  // resolvable by the user.
  kAuthErrorUnresolvable = 11006,

  // The 0P API has some operations that don't support local accounts. If they
  // are called for local accounts, this status code is provided.
  kLocalAccountNotSupported = 11007,

  kMaxValue = kLocalAccountNotSupported,
};

}  // namespace password_manager

#endif  // CHROME_BROWSER_PASSWORD_MANAGER_ANDROID_CHROMESYNC_STATUS_CODE_H_