// Copyright 2023 The Chromium 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 apps.proto;
import "chrome/browser/apps/almanac_api_client/proto/client_context.proto";
// This file is a mirror of the proto file maintained in the server code base at
// go/launcher-app-proto. Changes should be made by updating the server code
// base and then copying the result to Chromium.
message LauncherAppRequest {
// Context information about the device making this request.
optional ClientDeviceContext device_context = 1;
// Context information about the user making this request.
optional ClientUserContext user_context = 2;
}
message LauncherAppResponse {
// The list of app groups to be used by the launcher.
repeated AppGroup app_groups = 1;
message AppGroup {
// The unique identifier for the app group.
optional string uuid = 1;
// The name of the app group in the requested language.
optional string name = 2;
// Optional badging text to render next to the name in the requested
// language.
optional string badge_text = 5;
// A set of icons for the app group in the requested language.
repeated Icon icons = 3;
// An action link for the app. This is typically a deeplink.
optional string action_link = 4;
}
message Icon {
// URL to query to get the icon.
optional string url = 1;
// Width of the icon in pixels.
optional int32 width_in_pixels = 2;
// Whether or not we have permission from the platform to mask the icon.
optional bool is_masking_allowed = 3;
}
}