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
use crateVarOrBool;
use IntentFilter;
use MetaData;
use ;
use ;
/// An alias for an activity, named by the `targetActivity` attribute.
///
/// The target must be in the same application as the alias and it must be declared before
/// the alias in the manifest.
///
/// The alias presents the target activity as an independent entity. It can have its own
/// set of intent filters, and they, rather than the intent filters on the target activity
/// itself, determine which intents can activate the target through the alias and how the
/// system treats the alias. For example, the intent filters on the alias may specify the
/// "[`android.intent.action.MAIN`]" and "[`android.intent.category.LAUNCHER`]" flags,
/// causing it to be represented in the application launcher, even though none of the
/// filters on the target activity itself set these flags.
///
/// With the exception of `targetActivity`, `<activity-alias>` attributes are a subset of
/// [`<activity>`] attributes. For attributes in the subset, none of the values set for
/// the target carry over to the alias. However, for attributes not in the subset, the
/// values set for the target activity also apply to the alias.
///
/// ## XML Syntax
/// ```xml
/// <activity-alias android:enabled=["true" | "false"]
/// android:exported=["true" | "false"]
/// android:icon="drawable resource"
/// android:label="string resource"
/// android:name="string"
/// android:permission="string"
/// android:targetActivity="string" >
/// ...
/// </activity-alias>
/// ```
///
/// ## Contained in
/// * [`<application>`]
///
/// ## Can contain
/// * [`<intent-filter>`]
/// * [`<meta-data>`]
///
/// ## Introduced in
/// API Level 1
///
/// [`<application>`]: crate::Application
/// [`<intent-filter>`]: crate::IntentFilter
/// [`<meta-data>`]: crate::MetaData
/// [`<activity>`]: crate::Activity
/// [`android.intent.action.MAIN`]: https://developer.android.com/reference/android/content/Intent#ACTION_MAIN
/// [`android.intent.category.LAUNCHER`]: https://developer.android.com/reference/android/content/Intent#CATEGORY_LAUNCHER