/* * Copyright (C) 2017 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. */ syntax = "proto2"; package android.content; option java_multiple_files = true; import "frameworks/base/core/proto/android/content/component_name.proto"; import "frameworks/base/core/proto/android/os/patternmatcher.proto"; import "frameworks/base/core/proto/android/privacy.proto"; // Next Tag: 14 message IntentProto { option (.android.msg_privacy).dest = DEST_AUTOMATIC; enum DockState { // Used as an int value for Intent#EXTRA_DOCK_STATE to represent that // the phone is not in any dock. DOCK_STATE_UNDOCKED = 0; // Used as an int value for Intent#EXTRA_DOCK_STATE to represent that // the phone is in a desk dock. DOCK_STATE_DESK = 1; // Used as an int value for Intent#EXTRA_DOCK_STATE to represent that // the phone is in a car dock. DOCK_STATE_CAR = 2; // Used as an int value for Intent#EXTRA_DOCK_STATE to represent that // the phone is in a analog (low end) dock. DOCK_STATE_LE_DESK = 3; // Used as an int value for Intent#EXTRA_DOCK_STATE to represent that // the phone is in a digital (high end) dock. DOCK_STATE_HE_DESK = 4; } optional string action = 1; repeated string categories = 2; optional string data = 3 [ (.android.privacy).dest = DEST_EXPLICIT ]; optional string type = 4; optional string flag = 5; optional string package = 6; optional ComponentNameProto component = 7; optional string source_bounds = 8; optional string clip_data = 9 [ (.android.privacy).dest = DEST_LOCAL ]; optional string extras = 10 [ (.android.privacy).dest = DEST_LOCAL ]; // UserHandle value (similar to user_id in other protos). optional int32 content_user_hint = 11; optional string selector = 12; optional string identifier = 13 [ (.android.privacy).dest = DEST_EXPLICIT ]; } // Next Tag: 12 message IntentFilterProto { option (.android.msg_privacy).dest = DEST_AUTOMATIC; repeated string actions = 1; repeated string categories = 2; // https://developer.android.com/guide/topics/manifest/data-element#scheme: // The scheme part of a URI. This is the minimal essential attribute for // specifying a URI; at least one scheme attribute must be set for the filter, // or none of the other URI attributes are meaningful. A scheme is specified // without the trailing colon (for example, http, rather than http:). If the // filter has a data type set (the mimeType attribute) but no scheme, the // content: and file: schemes are assumed. repeated string data_schemes = 3 [ (.android.privacy).dest = DEST_EXPLICIT ]; repeated android.os.PatternMatcherProto data_scheme_specs = 4; repeated AuthorityEntryProto data_authorities = 5; repeated android.os.PatternMatcherProto data_paths = 6; repeated string data_types = 7; optional int32 priority = 8; optional bool has_partial_types = 9; optional bool get_auto_verify = 10; repeated string mime_groups = 11; } message AuthorityEntryProto { option (.android.msg_privacy).dest = DEST_AUTOMATIC; optional string host = 1; optional bool wild = 2; optional int32 port = 3; }