• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Local modifications:
2# * removed com.google.android.backup.api_key. This should be added to
3#      the manifest in the top level directory.
4# * removed com.google.android.geo.API_KEY key. This should be added to
5#      the manifest files in java/com/android/incallui/calllocation/impl/
6#      and /java/com/android/incallui/maps/impl/
7LOCAL_PATH:= $(call my-dir)
8include $(CLEAR_VARS)
9
10ifeq ($(TARGET_BUILD_APPS),)
11support_library_root_dir := frameworks/support
12else
13support_library_root_dir := prebuilts/sdk/current/support
14endif
15
16# The base directory for Dialer sources.
17BASE_DIR := java/com/android
18
19# Primary dialer module sources.
20SRC_DIRS := \
21	$(BASE_DIR)/contacts/common \
22	$(BASE_DIR)/dialer \
23	$(BASE_DIR)/incallui \
24	$(BASE_DIR)/voicemail
25
26# Exclude files incompatible with AOSP.
27EXCLUDE_FILES := \
28	$(BASE_DIR)/incallui/calllocation/impl/AuthException.java \
29	$(BASE_DIR)/incallui/calllocation/impl/CallLocationImpl.java \
30	$(BASE_DIR)/incallui/calllocation/impl/CallLocationModule.java \
31	$(BASE_DIR)/incallui/calllocation/impl/DownloadMapImageTask.java \
32	$(BASE_DIR)/incallui/calllocation/impl/GoogleLocationSettingHelper.java \
33	$(BASE_DIR)/incallui/calllocation/impl/HttpFetcher.java \
34	$(BASE_DIR)/incallui/calllocation/impl/LocationFragment.java \
35	$(BASE_DIR)/incallui/calllocation/impl/LocationHelper.java \
36	$(BASE_DIR)/incallui/calllocation/impl/LocationPresenter.java \
37	$(BASE_DIR)/incallui/calllocation/impl/LocationUrlBuilder.java \
38	$(BASE_DIR)/incallui/calllocation/impl/ReverseGeocodeTask.java \
39	$(BASE_DIR)/incallui/calllocation/impl/TrafficStatsTags.java \
40	$(BASE_DIR)/incallui/maps/impl/MapsImpl.java \
41	$(BASE_DIR)/incallui/maps/impl/MapsModule.java \
42	$(BASE_DIR)/incallui/maps/impl/StaticMapFragment.java
43
44# All Dialers resources.
45# find . -type d -name "res" | uniq | sort
46RES_DIRS := \
47	assets/product/res \
48	assets/quantum/res \
49	$(BASE_DIR)/contacts/common/res \
50	$(BASE_DIR)/dialer/about/res \
51	$(BASE_DIR)/dialer/app/res \
52	$(BASE_DIR)/dialer/app/voicemail/error/res \
53	$(BASE_DIR)/dialer/blocking/res \
54	$(BASE_DIR)/dialer/callcomposer/camera/camerafocus/res \
55	$(BASE_DIR)/dialer/callcomposer/cameraui/res \
56	$(BASE_DIR)/dialer/callcomposer/res \
57	$(BASE_DIR)/dialer/calldetails/res \
58	$(BASE_DIR)/dialer/calllog/ui/res \
59	$(BASE_DIR)/dialer/calllogutils/res \
60	$(BASE_DIR)/dialer/common/res \
61	$(BASE_DIR)/dialer/contactsfragment/res \
62	$(BASE_DIR)/dialer/dialpadview/res \
63	$(BASE_DIR)/dialer/interactions/res \
64	$(BASE_DIR)/dialer/notification/res \
65	$(BASE_DIR)/dialer/oem/res \
66	$(BASE_DIR)/dialer/phonenumberutil/res \
67	$(BASE_DIR)/dialer/postcall/res \
68	$(BASE_DIR)/dialer/shortcuts/res \
69	$(BASE_DIR)/dialer/speeddial/res \
70	$(BASE_DIR)/dialer/theme/res \
71	$(BASE_DIR)/dialer/util/res \
72	$(BASE_DIR)/dialer/voicemailstatus/res \
73	$(BASE_DIR)/dialer/widget/res \
74	$(BASE_DIR)/incallui/answer/impl/affordance/res \
75	$(BASE_DIR)/incallui/answer/impl/answermethod/res \
76	$(BASE_DIR)/incallui/answer/impl/hint/res \
77	$(BASE_DIR)/incallui/answer/impl/res \
78	$(BASE_DIR)/incallui/audioroute/res \
79	$(BASE_DIR)/incallui/autoresizetext/res \
80	$(BASE_DIR)/incallui/calllocation/impl/res \
81	$(BASE_DIR)/incallui/commontheme/res \
82	$(BASE_DIR)/incallui/contactgrid/res \
83	$(BASE_DIR)/incallui/hold/res \
84	$(BASE_DIR)/incallui/incall/impl/res \
85	$(BASE_DIR)/incallui/res \
86	$(BASE_DIR)/incallui/sessiondata/res \
87	$(BASE_DIR)/incallui/telecomeventui/res \
88	$(BASE_DIR)/incallui/video/impl/res \
89	$(BASE_DIR)/incallui/video/protocol/res \
90	$(BASE_DIR)/incallui/wifi/res \
91	$(BASE_DIR)/voicemail/impl/res \
92
93
94# Dialer manifest files to merge.
95# find . -type f -name "AndroidManifest.xml" | uniq | sort
96DIALER_MANIFEST_FILES += \
97	$(BASE_DIR)/contacts/common/AndroidManifest.xml \
98	$(BASE_DIR)/dialer/about/AndroidManifest.xml \
99	$(BASE_DIR)/dialer/app/AndroidManifest.xml \
100	$(BASE_DIR)/dialer/app/manifests/activities/AndroidManifest.xml \
101	$(BASE_DIR)/dialer/app/voicemail/error/AndroidManifest.xml \
102	$(BASE_DIR)/dialer/backup/AndroidManifest.xml \
103	$(BASE_DIR)/dialer/blocking/AndroidManifest.xml \
104	$(BASE_DIR)/dialer/callcomposer/AndroidManifest.xml \
105	$(BASE_DIR)/dialer/callcomposer/camera/AndroidManifest.xml \
106	$(BASE_DIR)/dialer/callcomposer/camera/camerafocus/AndroidManifest.xml \
107	$(BASE_DIR)/dialer/callcomposer/cameraui/AndroidManifest.xml \
108	$(BASE_DIR)/dialer/calldetails/AndroidManifest.xml \
109	$(BASE_DIR)/dialer/calllog/ui/AndroidManifest.xml \
110	$(BASE_DIR)/dialer/calllogutils/AndroidManifest.xml \
111	$(BASE_DIR)/dialer/common/AndroidManifest.xml \
112	$(BASE_DIR)/dialer/contactsfragment/AndroidManifest.xml \
113	$(BASE_DIR)/dialer/dialpadview/AndroidManifest.xml \
114	$(BASE_DIR)/dialer/interactions/AndroidManifest.xml \
115	$(BASE_DIR)/dialer/notification/AndroidManifest.xml \
116	$(BASE_DIR)/dialer/oem/AndroidManifest.xml \
117	$(BASE_DIR)/dialer/phonenumberutil/AndroidManifest.xml \
118	$(BASE_DIR)/dialer/postcall/AndroidManifest.xml \
119	$(BASE_DIR)/dialer/shortcuts/AndroidManifest.xml \
120	$(BASE_DIR)/dialer/simulator/impl/AndroidManifest.xml \
121	$(BASE_DIR)/dialer/speeddial/AndroidManifest.xml \
122	$(BASE_DIR)/dialer/theme/AndroidManifest.xml \
123	$(BASE_DIR)/dialer/util/AndroidManifest.xml \
124	$(BASE_DIR)/dialer/voicemailstatus/AndroidManifest.xml \
125	$(BASE_DIR)/dialer/widget/AndroidManifest.xml \
126	$(BASE_DIR)/incallui/AndroidManifest.xml \
127	$(BASE_DIR)/incallui/answer/impl/affordance/AndroidManifest.xml \
128	$(BASE_DIR)/incallui/answer/impl/AndroidManifest.xml \
129	$(BASE_DIR)/incallui/answer/impl/answermethod/AndroidManifest.xml \
130	$(BASE_DIR)/incallui/answer/impl/hint/AndroidManifest.xml \
131	$(BASE_DIR)/incallui/audioroute/AndroidManifest.xml \
132	$(BASE_DIR)/incallui/autoresizetext/AndroidManifest.xml \
133	$(BASE_DIR)/incallui/commontheme/AndroidManifest.xml \
134	$(BASE_DIR)/incallui/contactgrid/AndroidManifest.xml \
135	$(BASE_DIR)/incallui/hold/AndroidManifest.xml \
136	$(BASE_DIR)/incallui/incall/impl/AndroidManifest.xml \
137	$(BASE_DIR)/incallui/sessiondata/AndroidManifest.xml \
138	$(BASE_DIR)/incallui/telecomeventui/AndroidManifest.xml \
139	$(BASE_DIR)/incallui/video/impl/AndroidManifest.xml \
140	$(BASE_DIR)/incallui/video/protocol/AndroidManifest.xml \
141	$(BASE_DIR)/incallui/wifi/AndroidManifest.xml \
142	$(BASE_DIR)/voicemail/impl/AndroidManifest.xml \
143	$(BASE_DIR)/voicemail/permissions.xml \
144
145
146# Merge all manifest files.
147LOCAL_FULL_LIBS_MANIFEST_FILES := \
148	$(addprefix $(LOCAL_PATH)/, $(DIALER_MANIFEST_FILES))
149LOCAL_SRC_FILES := $(call all-java-files-under, $(SRC_DIRS))
150LOCAL_SRC_FILES := $(filter-out $(EXCLUDE_FILES),$(LOCAL_SRC_FILES))
151LOCAL_SRC_FILES += $(call all-proto-files-under, $(SRC_DIRS))
152LOCAL_PROTOC_FLAGS := --proto_path=$(LOCAL_PATH)
153
154LOCAL_RESOURCE_DIR := \
155	$(addprefix $(LOCAL_PATH)/, $(RES_DIRS)) \
156	$(support_library_root_dir)/design/res \
157	$(support_library_root_dir)/transition/res \
158	$(support_library_root_dir)/v7/appcompat/res \
159	$(support_library_root_dir)/v7/cardview/res \
160	$(support_library_root_dir)/v7/recyclerview/res
161
162# We specify each package explicitly to glob resource files.
163LOCAL_AAPT_FLAGS := \
164	--auto-add-overlay \
165	--extra-packages com.android.contacts.common \
166	--extra-packages com.android.dialer.about \
167	--extra-packages com.android.dialer.app \
168	--extra-packages com.android.dialer.app.voicemail.error \
169	--extra-packages com.android.dialer.blocking \
170	--extra-packages com.android.dialer.callcomposer \
171	--extra-packages com.android.dialer.callcomposer \
172	--extra-packages com.android.dialer.callcomposer.camera \
173	--extra-packages com.android.dialer.callcomposer.camera.camerafocus \
174	--extra-packages com.android.dialer.callcomposer.cameraui \
175	--extra-packages com.android.dialer.calldetails \
176	--extra-packages com.android.dialer.calllog.ui \
177	--extra-packages com.android.dialer.calllogutils \
178	--extra-packages com.android.dialer.common \
179	--extra-packages com.android.dialer.contactsfragment \
180	--extra-packages com.android.dialer.dialpadview \
181	--extra-packages com.android.dialer.interactions \
182	--extra-packages com.android.dialer.notification \
183	--extra-packages com.android.dialer.oem \
184	--extra-packages com.android.dialer.phonenumberutil \
185	--extra-packages com.android.dialer.postcall \
186	--extra-packages com.android.dialer.shortcuts \
187	--extra-packages com.android.dialer.speeddial \
188	--extra-packages com.android.dialer.theme \
189	--extra-packages com.android.dialer.util \
190	--extra-packages com.android.dialer.voicemailstatus \
191	--extra-packages com.android.dialer.widget \
192	--extra-packages com.android.incallui \
193	--extra-packages com.android.incallui.answer.impl \
194	--extra-packages com.android.incallui.answer.impl.affordance \
195	--extra-packages com.android.incallui.answer.impl.affordance \
196	--extra-packages com.android.incallui.answer.impl.answermethod \
197	--extra-packages com.android.incallui.answer.impl.hint \
198	--extra-packages com.android.incallui.audioroute \
199	--extra-packages com.android.incallui.autoresizetext \
200	--extra-packages com.android.incallui.calllocation \
201	--extra-packages com.android.incallui.calllocation.impl \
202	--extra-packages com.android.incallui.commontheme \
203	--extra-packages com.android.incallui.contactgrid \
204	--extra-packages com.android.incallui.hold \
205	--extra-packages com.android.incallui.incall.impl \
206	--extra-packages com.android.incallui.maps.impl \
207	--extra-packages com.android.incallui.sessiondata \
208	--extra-packages com.android.incallui.telecomeventui \
209	--extra-packages com.android.incallui.video \
210	--extra-packages com.android.incallui.video.impl \
211	--extra-packages com.android.incallui.wifi \
212	--extra-packages com.android.phone.common \
213	--extra-packages com.android.voicemail \
214	--extra-packages com.android.voicemail.impl \
215	--extra-packages com.android.voicemail.impl.fetch \
216	--extra-packages com.android.voicemail.impl.settings \
217	--extra-packages com.android.voicemail.settings \
218	--extra-packages me.leolin.shortcutbadger
219
220LOCAL_STATIC_JAVA_LIBRARIES := \
221	android-common \
222	com.android.vcard \
223	dialer-commons-io-target \
224	dialer-dagger2-target \
225	dialer-disklrucache-target \
226	dialer-gifdecoder-target \
227	dialer-glide-target \
228	dialer-guava-target \
229	dialer-javax-annotation-api-target \
230	dialer-javax-inject-target \
231	dialer-libshortcutbadger-target \
232	dialer-mime4j-core-target \
233	dialer-mime4j-dom-target \
234	jsr305 \
235	libphonenumber \
236	volley \
237
238LOCAL_STATIC_ANDROID_LIBRARIES := \
239	android-support-design \
240	android-support-transition \
241	android-support-v13 \
242	android-support-v4 \
243	android-support-v7-appcompat \
244	android-support-v7-cardview \
245	android-support-v7-recyclerview \
246
247LOCAL_JAVA_LIBRARIES := \
248	org.apache.http.legacy \
249	dialer-auto-value \
250
251# Libraries needed by the compiler (JACK) to generate code.
252PROCESSOR_LIBRARIES_TARGET := \
253	dialer-dagger2-compiler \
254	dialer-dagger2 \
255	dialer-dagger2-producers \
256	dialer-guava \
257	dialer-javax-annotation-api \
258	dialer-javax-inject \
259	dialer-auto-value \
260
261# Resolve the jar paths.
262PROCESSOR_JARS := $(call java-lib-deps, $(PROCESSOR_LIBRARIES_TARGET))
263# Necessary for annotation processors to work correctly.
264LOCAL_ADDITIONAL_DEPENDENCIES += $(PROCESSOR_JARS)
265
266LOCAL_JACK_FLAGS += --processorpath $(call normalize-path-list,$(PROCESSOR_JARS))
267LOCAL_JAVACFLAGS += -processorpath $(call normalize-path-list,$(PROCESSOR_JARS))
268
269# Proguard includes
270LOCAL_PROGUARD_FLAG_FILES := \
271    java/com/android/dialer/common/proguard.flags \
272    java/com/android/dialer/proguard/proguard_base.flags \
273    java/com/android/dialer/proguard/proguard.flags \
274    java/com/android/dialer/proguard/proguard_release.flags \
275    java/com/android/incallui/answer/impl/proguard.flags
276LOCAL_PROGUARD_ENABLED := custom
277
278ifdef LOCAL_JACK_ENABLED
279# Bug: 37077388
280LOCAL_PROGUARD_ENABLED += optimization
281endif
282
283LOCAL_SDK_VERSION := system_current
284LOCAL_MODULE_TAGS := optional
285LOCAL_PACKAGE_NAME := Dialer
286LOCAL_CERTIFICATE := shared
287LOCAL_PRIVILEGED_MODULE := true
288LOCAL_USE_AAPT2 := true
289
290# b/37483961 - Jack Not Compiling Dagger Class Properly
291LOCAL_JACK_ENABLED := javac_frontend
292
293include $(BUILD_PACKAGE)
294
295# Cleanup local state
296BASE_DIR :=
297SRC_DIRS :=
298EXCLUDE_FILES :=
299RES_DIRS :=
300DIALER_MANIFEST_FILES :=
301PROCESSOR_LIBRARIES_TARGET :=
302PROCESSOR_JARS :=
303
304# Create references to prebuilt libraries.
305include $(CLEAR_VARS)
306
307LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := \
308    dialer-dagger2-compiler:../../../prebuilts/tools/common/m2/repository/com/google/dagger/dagger-compiler/2.7/dagger-compiler-2.7$(COMMON_JAVA_PACKAGE_SUFFIX) \
309    dialer-auto-value:../../../prebuilts/tools/common/m2/repository/com/google/auto/value/auto-value/1.3/auto-value-1.3$(COMMON_JAVA_PACKAGE_SUFFIX) \
310    dialer-dagger2:../../../prebuilts/tools/common/m2/repository/com/google/dagger/dagger/2.7/dagger-2.7$(COMMON_JAVA_PACKAGE_SUFFIX) \
311    dialer-dagger2-producers:../../../prebuilts/tools/common/m2/repository/com/google/dagger/dagger-producers/2.7/dagger-producers-2.7$(COMMON_JAVA_PACKAGE_SUFFIX) \
312    dialer-guava:../../../prebuilts/tools/common/m2/repository/com/google/guava/guava/20.0/guava-20.0$(COMMON_JAVA_PACKAGE_SUFFIX) \
313    dialer-javax-annotation-api:../../../prebuilts/tools/common/m2/repository/javax/annotation/javax.annotation-api/1.2/javax.annotation-api-1.2$(COMMON_JAVA_PACKAGE_SUFFIX) \
314    dialer-javax-inject:../../../prebuilts/tools/common/m2/repository/javax/inject/javax.inject/1/javax.inject-1$(COMMON_JAVA_PACKAGE_SUFFIX)
315
316include $(BUILD_MULTI_PREBUILT)
317
318# Enumerate target prebuilts to avoid linker warnings like
319# Dialer (java:sdk) should not link to dialer-guava (java:platform)
320include $(CLEAR_VARS)
321
322LOCAL_MODULE_CLASS := JAVA_LIBRARIES
323LOCAL_MODULE := dialer-guava-target
324LOCAL_SDK_VERSION := current
325LOCAL_SRC_FILES := ../../../prebuilts/tools/common/m2/repository/com/google/guava/guava/20.0/guava-20.0$(COMMON_JAVA_PACKAGE_SUFFIX)
326LOCAL_UNINSTALLABLE_MODULE := true
327
328include $(BUILD_PREBUILT)
329
330include $(CLEAR_VARS)
331
332LOCAL_MODULE_CLASS := JAVA_LIBRARIES
333LOCAL_MODULE := dialer-dagger2-target
334LOCAL_SDK_VERSION := current
335LOCAL_SRC_FILES := ../../../prebuilts/tools/common/m2/repository/com/google/dagger/dagger/2.7/dagger-2.7$(COMMON_JAVA_PACKAGE_SUFFIX)
336LOCAL_UNINSTALLABLE_MODULE := true
337
338include $(BUILD_PREBUILT)
339
340include $(CLEAR_VARS)
341
342LOCAL_MODULE_CLASS := JAVA_LIBRARIES
343LOCAL_MODULE := dialer-disklrucache-target
344LOCAL_SDK_VERSION := current
345LOCAL_SRC_FILES := ../../../prebuilts/maven_repo/bumptech/com/github/bumptech/glide/disklrucache/1.0.0-SNAPSHOT/disklrucache-1.0.0-SNAPSHOT$(COMMON_JAVA_PACKAGE_SUFFIX)
346LOCAL_UNINSTALLABLE_MODULE := true
347
348include $(BUILD_PREBUILT)
349
350include $(CLEAR_VARS)
351
352LOCAL_MODULE_CLASS := JAVA_LIBRARIES
353LOCAL_MODULE := dialer-gifdecoder-target
354LOCAL_SDK_VERSION := current
355LOCAL_SRC_FILES := ../../../prebuilts/maven_repo/bumptech/com/github/bumptech/glide/gifdecoder/1.0.0-SNAPSHOT/gifdecoder-1.0.0-SNAPSHOT$(COMMON_JAVA_PACKAGE_SUFFIX)
356LOCAL_UNINSTALLABLE_MODULE := true
357
358include $(BUILD_PREBUILT)
359
360include $(CLEAR_VARS)
361
362LOCAL_MODULE_CLASS := JAVA_LIBRARIES
363LOCAL_MODULE := dialer-glide-target
364LOCAL_SDK_VERSION := current
365LOCAL_SRC_FILES := ../../../prebuilts/maven_repo/bumptech/com/github/bumptech/glide/glide/4.0.0-SNAPSHOT/glide-4.0.0-SNAPSHOT$(COMMON_JAVA_PACKAGE_SUFFIX)
366LOCAL_UNINSTALLABLE_MODULE := true
367
368include $(BUILD_PREBUILT)
369
370include $(CLEAR_VARS)
371
372LOCAL_MODULE_CLASS := JAVA_LIBRARIES
373LOCAL_MODULE := dialer-javax-annotation-api-target
374LOCAL_SDK_VERSION := current
375LOCAL_SRC_FILES := ../../../prebuilts/tools/common/m2/repository/javax/annotation/javax.annotation-api/1.2/javax.annotation-api-1.2$(COMMON_JAVA_PACKAGE_SUFFIX)
376LOCAL_UNINSTALLABLE_MODULE := true
377
378include $(BUILD_PREBUILT)
379
380include $(CLEAR_VARS)
381
382LOCAL_MODULE_CLASS := JAVA_LIBRARIES
383LOCAL_MODULE := dialer-libshortcutbadger-target
384LOCAL_SDK_VERSION := current
385LOCAL_SRC_FILES := ../../../prebuilts/tools/common/m2/repository/me/leolin/ShortcutBadger/1.1.13/ShortcutBadger-1.1.13$(COMMON_JAVA_PACKAGE_SUFFIX)
386LOCAL_UNINSTALLABLE_MODULE := true
387
388include $(BUILD_PREBUILT)
389
390include $(CLEAR_VARS)
391
392LOCAL_MODULE_CLASS := JAVA_LIBRARIES
393LOCAL_MODULE := dialer-javax-inject-target
394LOCAL_SDK_VERSION := current
395LOCAL_SRC_FILES := ../../../prebuilts/tools/common/m2/repository/javax/inject/javax.inject/1/javax.inject-1$(COMMON_JAVA_PACKAGE_SUFFIX)
396LOCAL_UNINSTALLABLE_MODULE := true
397
398include $(BUILD_PREBUILT)
399
400include $(CLEAR_VARS)
401
402LOCAL_MODULE_CLASS := JAVA_LIBRARIES
403LOCAL_MODULE := dialer-commons-io-target
404LOCAL_SDK_VERSION := current
405LOCAL_SRC_FILES := ../../../prebuilts/tools/common/m2/repository/commons-io/commons-io/2.4/commons-io-2.4$(COMMON_JAVA_PACKAGE_SUFFIX)
406LOCAL_UNINSTALLABLE_MODULE := true
407
408include $(BUILD_PREBUILT)
409
410include $(CLEAR_VARS)
411
412LOCAL_MODULE_CLASS := JAVA_LIBRARIES
413LOCAL_MODULE := dialer-mime4j-core-target
414LOCAL_SDK_VERSION := current
415LOCAL_SRC_FILES := ../../../prebuilts/tools/common/m2/repository/org/apache/james/apache-mime4j-core/0.7.2/apache-mime4j-core-0.7.2$(COMMON_JAVA_PACKAGE_SUFFIX)
416LOCAL_UNINSTALLABLE_MODULE := true
417
418include $(BUILD_PREBUILT)
419
420include $(CLEAR_VARS)
421
422LOCAL_MODULE_CLASS := JAVA_LIBRARIES
423LOCAL_MODULE := dialer-mime4j-dom-target
424LOCAL_SDK_VERSION := current
425LOCAL_SRC_FILES := ../../../prebuilts/tools/common/m2/repository/org/apache/james/apache-mime4j-dom/0.7.2/apache-mime4j-dom-0.7.2$(COMMON_JAVA_PACKAGE_SUFFIX)
426LOCAL_UNINSTALLABLE_MODULE := true
427
428include $(BUILD_PREBUILT)
429
430include $(CLEAR_VARS)
431