/
AndroidManifest.xml
107 lines (96 loc) · 4.46 KB
/
AndroidManifest.xml
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
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Copyright (C) 2015 Square, Inc.
~
~ 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.
-->
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.squareup.leakcanary.core"
>
<!-- To store the heap dumps and leak analysis results. -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<!-- To allow posting notifications on Android 13 -->
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
<application>
<provider
android:name="leakcanary.internal.LeakCanaryFileProvider"
android:authorities="com.squareup.leakcanary.fileprovider.${applicationId}"
android:exported="false"
android:grantUriPermissions="true"
>
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/leak_canary_file_paths"/>
</provider>
<activity
android:name="leakcanary.internal.activity.LeakActivity"
android:icon="@mipmap/leak_canary_icon"
android:exported="true"
android:label="@string/leak_canary_display_activity_label"
android:taskAffinity="com.squareup.leakcanary.${applicationId}"
android:theme="@style/leak_canary_LeakCanary.Base"
>
<intent-filter android:label="@string/leak_canary_import_hprof_file">
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="file"/>
<data android:scheme="content"/>
<data android:mimeType="*/*"/>
<data android:host="*"/>
<data android:pathPattern=".*\\.hprof"/>
<data android:pathPattern=".*\\..*\\.hprof"/>
<data android:pathPattern=".*\\..*\\..*\\.hprof"/>
<data android:pathPattern=".*\\..*\\..*\\..*\\.hprof"/>
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\.hprof"/>
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\.hprof"/>
<data android:pathPattern=".*\\..*\\..*\\..*\\..*\\..*\\..*\\.hprof"/>
<!--
Since hprof isn't a standard MIME type, we have to declare such patterns.
Most file providers will generate URIs including their own package name,
which contains `.` characters that must be explicitly escaped in pathPattern.
@see https://stackoverflow.com/a/31028507/703646
-->
</intent-filter>
</activity>
<activity-alias
android:name="leakcanary.internal.activity.LeakLauncherActivity"
android:enabled="@bool/leak_canary_add_launcher_icon"
android:icon="@mipmap/leak_canary_icon"
android:banner="@drawable/leak_canary_tv_icon"
android:label="@string/leak_canary_display_activity_label"
android:targetActivity="leakcanary.internal.activity.LeakActivity"
android:taskAffinity="com.squareup.leakcanary.${applicationId}"
android:theme="@style/leak_canary_LeakCanary.Base"
android:exported="true"
>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
<!-- Android TV launcher intent -->
<category android:name="android.intent.category.LEANBACK_LAUNCHER"/>
</intent-filter>
</activity-alias>
<activity
android:name="leakcanary.internal.RequestPermissionActivity"
android:excludeFromRecents="true"
android:icon="@mipmap/leak_canary_icon"
android:label="@string/leak_canary_storage_permission_activity_label"
android:taskAffinity="com.squareup.leakcanary.${applicationId}"
android:theme="@style/leak_canary_Theme.Transparent"
/>
<receiver android:name="leakcanary.internal.NotificationReceiver" />
</application>
</manifest>