//
// Copyright (C) 2006 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// @generated by protoc-gen-es v2.2.2 with parameter "target=ts"
// @generated from file protos/perfetto/trace/android/content/configuration.proto (package perfetto.protos, syntax proto2)
/* eslint-disable */

import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1";
import type { WindowConfigurationProto } from "../app/window_configuration_pb";
import { file_protos_perfetto_trace_android_app_window_configuration } from "../app/window_configuration_pb";
import type { LocaleProto } from "./locale_pb";
import { file_protos_perfetto_trace_android_content_locale } from "./locale_pb";
import { file_protos_perfetto_trace_android_privacy } from "../privacy_pb";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file protos/perfetto/trace/android/content/configuration.proto.
 */
export const file_protos_perfetto_trace_android_content_configuration: GenFile = /*@__PURE__*/
  fileDesc("Cjlwcm90b3MvcGVyZmV0dG8vdHJhY2UvYW5kcm9pZC9jb250ZW50L2NvbmZpZ3VyYXRpb24ucHJvdG8SD3BlcmZldHRvLnByb3RvcyLhBAoSQ29uZmlndXJhdGlvblByb3RvEhIKCmZvbnRfc2NhbGUYASABKAISCwoDbWNjGAIgASgNEhUKA21uYxgDIAEoDUIImp/VhwMCCGQSMQoHbG9jYWxlcxgEIAMoCzIcLnBlcmZldHRvLnByb3Rvcy5Mb2NhbGVQcm90b0ICGAESFQoNc2NyZWVuX2xheW91dBgFIAEoDRISCgpjb2xvcl9tb2RlGAYgASgNEhMKC3RvdWNoc2NyZWVuGAcgASgNEhAKCGtleWJvYXJkGAggASgNEhcKD2tleWJvYXJkX2hpZGRlbhgJIAEoDRIcChRoYXJkX2tleWJvYXJkX2hpZGRlbhgKIAEoDRISCgpuYXZpZ2F0aW9uGAsgASgNEhkKEW5hdmlnYXRpb25faGlkZGVuGAwgASgNEhMKC29yaWVudGF0aW9uGA0gASgNEg8KB3VpX21vZGUYDiABKA0SFwoPc2NyZWVuX3dpZHRoX2RwGA8gASgNEhgKEHNjcmVlbl9oZWlnaHRfZHAYECABKA0SIAoYc21hbGxlc3Rfc2NyZWVuX3dpZHRoX2RwGBEgASgNEhMKC2RlbnNpdHlfZHBpGBIgASgNEkcKFHdpbmRvd19jb25maWd1cmF0aW9uGBMgASgLMikucGVyZmV0dG8ucHJvdG9zLldpbmRvd0NvbmZpZ3VyYXRpb25Qcm90bxITCgtsb2NhbGVfbGlzdBgUIAEoCRIeChZmb250X3dlaWdodF9hZGp1c3RtZW50GBUgASgNEhoKEmdyYW1tYXRpY2FsX2dlbmRlchgWIAEoDSKhAQobUmVzb3VyY2VzQ29uZmlndXJhdGlvblByb3RvEjoKDWNvbmZpZ3VyYXRpb24YASABKAsyIy5wZXJmZXR0by5wcm90b3MuQ29uZmlndXJhdGlvblByb3RvEhMKC3Nka192ZXJzaW9uGAIgASgNEhcKD3NjcmVlbl93aWR0aF9weBgDIAEoDRIYChBzY3JlZW5faGVpZ2h0X3B4GAQgASgNIsgCChhEZXZpY2VDb25maWd1cmF0aW9uUHJvdG8SHgoWc3RhYmxlX3NjcmVlbl93aWR0aF9weBgBIAEoDRIfChdzdGFibGVfc2NyZWVuX2hlaWdodF9weBgCIAEoDRIaChJzdGFibGVfZGVuc2l0eV9kcGkYAyABKA0SEQoJdG90YWxfcmFtGAQgASgEEg8KB2xvd19yYW0YBSABKAgSEQoJbWF4X2NvcmVzGAYgASgNEh4KFmhhc19zZWN1cmVfc2NyZWVuX2xvY2sYByABKAgSFgoOb3BlbmdsX3ZlcnNpb24YCCABKA0SGQoRb3BlbmdsX2V4dGVuc2lvbnMYCSADKAkSGAoQc2hhcmVkX2xpYnJhcmllcxgKIAMoCRIQCghmZWF0dXJlcxgLIAMoCRIZChFjcHVfYXJjaGl0ZWN0dXJlcxgMIAMoCSKWAQoYR2xvYmFsQ29uZmlndXJhdGlvblByb3RvEj8KCXJlc291cmNlcxgBIAEoCzIsLnBlcmZldHRvLnByb3Rvcy5SZXNvdXJjZXNDb25maWd1cmF0aW9uUHJvdG8SOQoGZGV2aWNlGAIgASgLMikucGVyZmV0dG8ucHJvdG9zLkRldmljZUNvbmZpZ3VyYXRpb25Qcm90bw", [file_protos_perfetto_trace_android_app_window_configuration, file_protos_perfetto_trace_android_content_locale, file_protos_perfetto_trace_android_privacy]);

/**
 * An android Configuration object
 *
 * @generated from message perfetto.protos.ConfigurationProto
 */
export type ConfigurationProto = Message<"perfetto.protos.ConfigurationProto"> & {
  /**
   * @generated from field: optional float font_scale = 1;
   */
  fontScale: number;

  /**
   * @generated from field: optional uint32 mcc = 2;
   */
  mcc: number;

  /**
   * @generated from field: optional uint32 mnc = 3;
   */
  mnc: number;

  /**
   * @generated from field: repeated perfetto.protos.LocaleProto locales = 4 [deprecated = true];
   * @deprecated
   */
  locales: LocaleProto[];

  /**
   * @generated from field: optional uint32 screen_layout = 5;
   */
  screenLayout: number;

  /**
   * @generated from field: optional uint32 color_mode = 6;
   */
  colorMode: number;

  /**
   * @generated from field: optional uint32 touchscreen = 7;
   */
  touchscreen: number;

  /**
   * @generated from field: optional uint32 keyboard = 8;
   */
  keyboard: number;

  /**
   * @generated from field: optional uint32 keyboard_hidden = 9;
   */
  keyboardHidden: number;

  /**
   * @generated from field: optional uint32 hard_keyboard_hidden = 10;
   */
  hardKeyboardHidden: number;

  /**
   * @generated from field: optional uint32 navigation = 11;
   */
  navigation: number;

  /**
   * @generated from field: optional uint32 navigation_hidden = 12;
   */
  navigationHidden: number;

  /**
   * @generated from field: optional uint32 orientation = 13;
   */
  orientation: number;

  /**
   * @generated from field: optional uint32 ui_mode = 14;
   */
  uiMode: number;

  /**
   * @generated from field: optional uint32 screen_width_dp = 15;
   */
  screenWidthDp: number;

  /**
   * @generated from field: optional uint32 screen_height_dp = 16;
   */
  screenHeightDp: number;

  /**
   * @generated from field: optional uint32 smallest_screen_width_dp = 17;
   */
  smallestScreenWidthDp: number;

  /**
   * @generated from field: optional uint32 density_dpi = 18;
   */
  densityDpi: number;

  /**
   * @generated from field: optional perfetto.protos.WindowConfigurationProto window_configuration = 19;
   */
  windowConfiguration?: WindowConfigurationProto;

  /**
   * @generated from field: optional string locale_list = 20;
   */
  localeList: string;

  /**
   * @generated from field: optional uint32 font_weight_adjustment = 21;
   */
  fontWeightAdjustment: number;

  /**
   * @generated from field: optional uint32 grammatical_gender = 22;
   */
  grammaticalGender: number;
};

/**
 * Describes the message perfetto.protos.ConfigurationProto.
 * Use `create(ConfigurationProtoSchema)` to create a new message.
 */
export const ConfigurationProtoSchema: GenMessage<ConfigurationProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_content_configuration, 0);

/**
 * All current configuration data used to select resources
 *
 * @generated from message perfetto.protos.ResourcesConfigurationProto
 */
export type ResourcesConfigurationProto = Message<"perfetto.protos.ResourcesConfigurationProto"> & {
  /**
   * @generated from field: optional perfetto.protos.ConfigurationProto configuration = 1;
   */
  configuration?: ConfigurationProto;

  /**
   * @generated from field: optional uint32 sdk_version = 2;
   */
  sdkVersion: number;

  /**
   * @generated from field: optional uint32 screen_width_px = 3;
   */
  screenWidthPx: number;

  /**
   * @generated from field: optional uint32 screen_height_px = 4;
   */
  screenHeightPx: number;
};

/**
 * Describes the message perfetto.protos.ResourcesConfigurationProto.
 * Use `create(ResourcesConfigurationProtoSchema)` to create a new message.
 */
export const ResourcesConfigurationProtoSchema: GenMessage<ResourcesConfigurationProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_content_configuration, 1);

/**
 * Overall device configuration data
 *
 * @generated from message perfetto.protos.DeviceConfigurationProto
 */
export type DeviceConfigurationProto = Message<"perfetto.protos.DeviceConfigurationProto"> & {
  /**
   * @generated from field: optional uint32 stable_screen_width_px = 1;
   */
  stableScreenWidthPx: number;

  /**
   * @generated from field: optional uint32 stable_screen_height_px = 2;
   */
  stableScreenHeightPx: number;

  /**
   * @generated from field: optional uint32 stable_density_dpi = 3;
   */
  stableDensityDpi: number;

  /**
   * @generated from field: optional uint64 total_ram = 4;
   */
  totalRam: bigint;

  /**
   * @generated from field: optional bool low_ram = 5;
   */
  lowRam: boolean;

  /**
   * @generated from field: optional uint32 max_cores = 6;
   */
  maxCores: number;

  /**
   * @generated from field: optional bool has_secure_screen_lock = 7;
   */
  hasSecureScreenLock: boolean;

  /**
   * @generated from field: optional uint32 opengl_version = 8;
   */
  openglVersion: number;

  /**
   * @generated from field: repeated string opengl_extensions = 9;
   */
  openglExtensions: string[];

  /**
   * @generated from field: repeated string shared_libraries = 10;
   */
  sharedLibraries: string[];

  /**
   * @generated from field: repeated string features = 11;
   */
  features: string[];

  /**
   * @generated from field: repeated string cpu_architectures = 12;
   */
  cpuArchitectures: string[];
};

/**
 * Describes the message perfetto.protos.DeviceConfigurationProto.
 * Use `create(DeviceConfigurationProtoSchema)` to create a new message.
 */
export const DeviceConfigurationProtoSchema: GenMessage<DeviceConfigurationProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_content_configuration, 2);

/**
 * All current configuration data device is running with, everything used
 * to filter and target apps.
 *
 * @generated from message perfetto.protos.GlobalConfigurationProto
 */
export type GlobalConfigurationProto = Message<"perfetto.protos.GlobalConfigurationProto"> & {
  /**
   * @generated from field: optional perfetto.protos.ResourcesConfigurationProto resources = 1;
   */
  resources?: ResourcesConfigurationProto;

  /**
   * @generated from field: optional perfetto.protos.DeviceConfigurationProto device = 2;
   */
  device?: DeviceConfigurationProto;
};

/**
 * Describes the message perfetto.protos.GlobalConfigurationProto.
 * Use `create(GlobalConfigurationProtoSchema)` to create a new message.
 */
export const GlobalConfigurationProtoSchema: GenMessage<GlobalConfigurationProto> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_trace_android_content_configuration, 3);

