xref: /aosp_15_r20/external/libtextclassifier/proto/model_manifest.proto (revision 993b0882672172b81d12fad7a7ac0c3e5c824a12)
1*993b0882SAndroid Build Coastguard Worker//
2*993b0882SAndroid Build Coastguard Worker// Copyright (C) 2018 The Android Open Source Project
3*993b0882SAndroid Build Coastguard Worker//
4*993b0882SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
5*993b0882SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
6*993b0882SAndroid Build Coastguard Worker// You may obtain a copy of the License at
7*993b0882SAndroid Build Coastguard Worker//
8*993b0882SAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
9*993b0882SAndroid Build Coastguard Worker//
10*993b0882SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
11*993b0882SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
12*993b0882SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*993b0882SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
14*993b0882SAndroid Build Coastguard Worker// limitations under the License.
15*993b0882SAndroid Build Coastguard Worker//
16*993b0882SAndroid Build Coastguard Worker
17*993b0882SAndroid Build Coastguard Workersyntax = "proto2";
18*993b0882SAndroid Build Coastguard Worker
19*993b0882SAndroid Build Coastguard Workerpackage textclassifier.tcs;
20*993b0882SAndroid Build Coastguard Worker
21*993b0882SAndroid Build Coastguard Workeroption java_package = "com.android.textclassifier.downloader";
22*993b0882SAndroid Build Coastguard Workeroption java_multiple_files = true;
23*993b0882SAndroid Build Coastguard Worker
24*993b0882SAndroid Build Coastguard Worker// Manifest for a download task.
25*993b0882SAndroid Build Coastguard Workermessage ModelManifest {
26*993b0882SAndroid Build Coastguard Worker  message Model {
27*993b0882SAndroid Build Coastguard Worker    optional string url = 1;
28*993b0882SAndroid Build Coastguard Worker    optional int64 size_in_bytes = 2;
29*993b0882SAndroid Build Coastguard Worker    optional string fingerprint = 3;
30*993b0882SAndroid Build Coastguard Worker    // ModelUsage enum used to assign usage to Model files.
31*993b0882SAndroid Build Coastguard Worker    // Model file could have one of {DARK, LIVE, UNKNOWN} usage value.
32*993b0882SAndroid Build Coastguard Worker    enum ModelUsage {
33*993b0882SAndroid Build Coastguard Worker      UNKNOWN_USAGE = 0;
34*993b0882SAndroid Build Coastguard Worker      LIVE_MODEL = 1;
35*993b0882SAndroid Build Coastguard Worker      DARK_MODEL = 2;
36*993b0882SAndroid Build Coastguard Worker    }
37*993b0882SAndroid Build Coastguard Worker    optional ModelUsage usage = 4;
38*993b0882SAndroid Build Coastguard Worker  }
39*993b0882SAndroid Build Coastguard Worker  // All models to download in this task. Currently the size is always one.
40*993b0882SAndroid Build Coastguard Worker  repeated Model models = 1;
41*993b0882SAndroid Build Coastguard Worker  // Consistent with androidx.work.NetworkType.
42*993b0882SAndroid Build Coastguard Worker  enum NetworkType {
43*993b0882SAndroid Build Coastguard Worker    UNMETERED = 0;
44*993b0882SAndroid Build Coastguard Worker    METERED = 1;
45*993b0882SAndroid Build Coastguard Worker    NOT_REQUIRED = 2;
46*993b0882SAndroid Build Coastguard Worker    NOT_ROAMING = 3;
47*993b0882SAndroid Build Coastguard Worker    CONNECTED = 4;
48*993b0882SAndroid Build Coastguard Worker  }
49*993b0882SAndroid Build Coastguard Worker  // Notice: all fields below are not used currently
50*993b0882SAndroid Build Coastguard Worker  optional NetworkType required_network_type = 2;
51*993b0882SAndroid Build Coastguard Worker  optional bool requires_battery_not_low = 3;
52*993b0882SAndroid Build Coastguard Worker  optional bool requires_charging = 4;
53*993b0882SAndroid Build Coastguard Worker  optional bool requires_device_idle = 5;
54*993b0882SAndroid Build Coastguard Worker  optional bool requires_storage_not_low = 6;
55*993b0882SAndroid Build Coastguard Worker}
56