File: arc.proto

package info (click to toggle)
chromium 139.0.7258.127-1
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 6,122,068 kB
  • sloc: cpp: 35,100,771; ansic: 7,163,530; javascript: 4,103,002; python: 1,436,920; asm: 946,517; xml: 746,709; pascal: 187,653; perl: 88,691; sh: 88,436; objc: 79,953; sql: 51,488; cs: 44,583; fortran: 24,137; makefile: 22,147; tcl: 15,277; php: 13,980; yacc: 8,984; ruby: 7,485; awk: 3,720; lisp: 3,096; lex: 1,327; ada: 727; jsp: 228; sed: 36
file content (228 lines) | stat: -rw-r--r-- 8,249 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
// Copyright 2017 The ChromiumOS Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

syntax = "proto2";

option optimize_for = LITE_RUNTIME;

package arc;
option go_package = "go.chromium.org/chromiumos/system_api/arc_proto";

// ARC start options sent from Chrome to session manager. This message is used
// in the SessionManagerInterface.StartArcMiniContainer method for ARC
// container. It is also being used by concierge when the device is running on
// ARCVM.
message StartArcMiniInstanceRequest {
  enum PlayStoreAutoUpdate {
    // Play Store auto-update is left unchanged.
    AUTO_UPDATE_DEFAULT = 0;
    // Play Store auto-update is forced to on.
    AUTO_UPDATE_ON = 1;
    // Play Store auto-update is forced to off.
    AUTO_UPDATE_OFF = 2;
  }

  enum DalvikMemoryProfile {
    // Default dalvik memory profile suitable for all devices.
    MEMORY_PROFILE_DEFAULT = 0;
    // Dalvik memory profile suitable for 4G devices.
    MEMORY_PROFILE_4G = 1;
    // Dalvik memory profile suitable for 8G devices.
    MEMORY_PROFILE_8G = 2;
    // Dalvik memory profile suitable for 16G devices.
    MEMORY_PROFILE_16G = 3;
  }

  enum HostUreadaheadMode {
    // By default, ureadahead is in readahead mode.
    MODE_DEFAULT = 0;
    // Ureadahead is in generate mode.
    MODE_GENERATE = 1;
    // Ureadahead is in disabled mode.
    MODE_DISABLED = 2;
  }

  // Override with ndk_translation. Useful for ARC++ only, for ARCVM see
  // native_bridge_experiment in StartArcVmRequest.
  optional bool native_bridge_experiment = 1 [default = false];

  // The density value passed to "ro.sf.lcd_density" property.
  optional int32 lcd_density = 2 [default = -1];

  // Optional mode for play store auto-update.
  optional PlayStoreAutoUpdate play_store_auto_update = 4
      [default = AUTO_UPDATE_DEFAULT];

  // Experiment flag for ARC Custom Tabs.
  optional bool arc_custom_tabs_experiment = 5 [default = false];

  // Optional mode for dalvik memory profile.
  optional DalvikMemoryProfile dalvik_memory_profile = 9
      [default = MEMORY_PROFILE_DEFAULT];

  // Option to disable download provider for tests that are sensetive to the
  // external components installaton. Last causes the flakiness in tests like
  // arc.CacheValidation.
  optional bool disable_download_provider = 12 [default = false];

  // Option to disable media store maintenance task scheduling. Used in tests
  // to prevent unreliable performance measurements and CPU not idle failures.
  optional bool disable_media_store_maintenance = 10 [default = false];

  // Enables additional debug settings used when generating Play Auto Install
  // rosters.
  optional bool arc_generate_pai = 11 [default = false];

  // Option to enable TTS caching
  optional bool enable_tts_caching = 14 [default = false];

  // Option to enable disable consumer auto update toggle.
  optional bool enable_consumer_auto_update_toggle = 15 [default = false];

  // Option to enable privacy hub for chrome in android settings.
  optional bool enable_privacy_hub_for_chrome = 17 [default = false];

  // Flag to switch from ARC Keymaster to ARC KeyMint. Intended for T+ only.
  // TODO(b/268706760): Remove this flag when ARC KeyMint upgrade is done.
  optional bool arc_switch_to_keymint = 18 [default = false];

  // Experimental value to test various possible values for the
  // "ro.vendor.arc.sf.maxacquired" property setting.
  optional int32 force_max_acquired_buffers_experiment = 19 [default = -1];

  // Flag to use dev caches in arccachesetup service.
  optional bool use_dev_caches = 20 [default = false];

  // Flag to set host ureadahead mode.
  optional HostUreadaheadMode host_ureadahead_mode = 21
      [default = MODE_DEFAULT];

  // Flag that indicates whether user is already signed into ARC.
  optional bool arc_signed_in = 22 [default = false];

  // Flag that would enable ARC Attestation, and would make ARC
  // RemotelyProvisionedComponentDevice visible to Keystore.
  optional bool enable_arc_attestation = 23 [default = false];

  reserved 6, 7, 8, 13, 16;

  // Next ID to use: 24
}

// ARC upgrade options sent from Chrome to session manager. This message is used
// in the SessionManagerInterface.UpgradeArcContainer method.
message UpgradeArcContainerRequest {
  enum PackageCacheMode {
    // Performs packages cache setup if the pre-generated cache exists.
    DEFAULT = 0;
    // Performs packages cache setup if the pre-generated cache exists and
    // copies resulting packages.xml to the temporary location after
    // SystemServer initialized the package manager.
    COPY_ON_INIT = 1;
    // Skips packages cache setup and copies resulting packages.xml to the
    // temporary location after SystemServer initialized the package manager.
    SKIP_SETUP_COPY_ON_INIT = 2;
  }

  enum ManagementTransition {
    // No transition necessary.
    NONE = 0;
    // Child user is transitioning to regular account, need to lift supervision.
    CHILD_TO_REGULAR = 1;
    // Regular user is transitioning to child account, need to enable
    // supervision.
    REGULAR_TO_CHILD = 2;
    // Unmanaged user is transitioning to managed state, need to enable
    // management.
    UNMANAGED_TO_MANAGED = 3;
  }

  // Account ID of the user to start ARC for. This must be the same as the
  // one given in StartSession.
  required string account_id = 1;

  // Whether the account is managed.
  optional bool is_account_managed = 14;

  // Whether adb sideloading is allowed when the account and/or the device is
  // managed.
  optional bool is_managed_adb_sideloading_allowed = 16;

  // Option to disable ACTION_BOOT_COMPLETED broadcast for 3rd party apps.
  optional bool skip_boot_completed_broadcast = 2 [default = false];

  // Optional mode for packages cache tests.
  optional PackageCacheMode packages_cache_mode = 4 [default = DEFAULT];

  // Option to disable GMS CORE cache.
  optional bool skip_gms_core_cache = 13 [default = false];

  // Whether the container is being upgraded for a Chrome OS demo session.
  optional bool is_demo_session = 10;

  // Non-empty only if the ARC container is being upgraded for a Chrome OS demo
  // session. The absolute path to the squashfs image that contains the set of
  // Android apps to be pre-installed into demo sessions. Note that arc-setup
  // expects this to be a path loaded by the imageloader service.
  optional string demo_session_apps_path = 6;

  // Locale to set in Android container during the boot.
  optional string locale = 7;

  // Preferred languages to set in Android container during the boot.
  repeated string preferred_languages = 8;

  // Option to notify ARC that it should transition from a managed state to an
  // unmanaged state, and vice-versa.
  optional ManagementTransition management_transition = 11;

  // Option to enable Arc Nearby Share.
  optional bool enable_arc_nearby_share = 17 [default = false];

  // Option to skip pregenerated TTS cache setup.
  optional bool skip_tts_cache = 18 [default = false];

  reserved 9, 15;

  // Next ID to use: 19
}

// It requests to execute a command on ARC shell.
// Available requests are managed by ArcCroshService in ARC.
// ArcCroshServiceProvider in Chrome proxies and translates the message for
// ArcCroshService.
message ArcShellExecutionRequest {
  // Supported shell commands to execute on ARC shell.
  enum ArcShellCommand {
    TOP = 0;
    CPUINFO = 1;
    MEMINFO = 2;
  }

  // The requested command is executed on ARC shell.
  optional ArcShellCommand command = 1;

  // User id of the requesting user.
  // Only request from the primary user is received in ArcCroshServiceProvider
  // since ARC is tied to the primary user.
  optional string user_id = 2;

  // Next ID to use: 3
}

// It contains the execution result of ArcShellExecutionRequest.
// ArcCroshService in ARC creates the original mojo message,
// then ArcCroshServiceProvider in Chrome translates it into
// ArcShellExecutionResult and proxies to crosh.
message ArcShellExecutionResult {
  oneof payload {
    // Acquired output if the execution successes.
    string stdout = 1;

    // Error message if the execution fails.
    string error = 2;
  }

  // Next ID to use: 3
}