Home | History | Annotate | Download | only in login_manager
      1 // Copyright 2017 The Chromium OS Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 syntax = "proto2";
      6 
      7 option optimize_for = LITE_RUNTIME;
      8 
      9 package login_manager;
     10 
     11 // ARC start options sent from Chrome to session manager. This message is used
     12 // in the SessionManagerInterface.StartArcMiniContainer method.
     13 message StartArcMiniContainerRequest {
     14   optional bool native_bridge_experiment = 1 [default = false];
     15   // The density value passed to "ro.sf.lcd_density" property.
     16   optional int32 lcd_density = 2 [default = -1];
     17 }
     18 
     19 // ARC upgrade options sent from Chrome to session manager. This message is used
     20 // in the SessionManagerInterface.UpgradeArcContainer method.
     21 message UpgradeArcContainerRequest {
     22   enum PackageCacheMode {
     23     // Performs packages cache setup if the pre-generated cache exists.
     24     DEFAULT = 0;
     25     // Performs packages cache setup if the pre-generated cache exists and
     26     // copies resulting packages.xml to the temporary location after
     27     // SystemServer initialized the package manager.
     28     COPY_ON_INIT = 1;
     29     // Skips packages cache setup and copies resulting packages.xml to the
     30     // temporary location after SystemServer initialized the package manager.
     31     SKIP_SETUP_COPY_ON_INIT = 2;
     32   }
     33 
     34   enum SupervisionTransition {
     35     // No transition necessary.
     36     NONE = 0;
     37     // Child user is transitioning to regular account, need to lift supervision.
     38     CHILD_TO_REGULAR = 1;
     39     // Regular user is transitioning to child account, need to enable
     40     // supervision.
     41     REGULAR_TO_CHILD = 2;
     42   }
     43 
     44   // Account ID of the user to start ARC for. This must be the same as the
     45   // one given in StartSession.
     46   required string account_id = 1;
     47 
     48   // Option to disable ACTION_BOOT_COMPLETED broadcast for 3rd party apps.
     49   optional bool skip_boot_completed_broadcast = 2 [default = false];
     50 
     51   // Option to enable package manager service to scan /vendor/priv-app
     52   // directory.
     53   optional bool scan_vendor_priv_app = 3 [default = false];
     54 
     55   // Optional mode for packages cache tests.
     56   optional PackageCacheMode packages_cache_mode = 4 [default = DEFAULT];
     57 
     58   // Option to notify ARC if the account is a child, allowing us to provide
     59   // special behavior for child account on ARC.
     60   optional bool is_child = 9;
     61 
     62   // Whether the container is being upgraded for a Chrome OS demo session.
     63   optional bool is_demo_session = 10;
     64 
     65   // Non-empty only if the ARC container is being upgraded for a Chrome OS demo
     66   // session. The absolute path to the squashfs image that contains the set of
     67   // Android apps to be pre-installed into demo sessions. Note that arc-setup
     68   // expects this to be a path loaded by the imageloader service.
     69   optional string demo_session_apps_path = 6;
     70 
     71   // Locale to set in Android container during the boot.
     72   optional string locale = 7;
     73 
     74   // Preferred languages to set in Android container during the boot.
     75   repeated string preferred_languages = 8;
     76 
     77   // Option to notify ARC that it should transition from a supervised state to
     78   // a non-supervised state, and vice-versa.
     79   optional SupervisionTransition supervision_transition = 11;
     80 
     81   // Next ID to use: 12
     82 }
     83