# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*- # vim: set filetype=python: # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. DIRS += ['locales'] CONFIGURE_SUBST_FILES += ['adjust_sdk_app_token'] include('android-services.mozbuild') geckoview_source_dir = TOPSRCDIR + '/mobile/android/geckoview/src/main/' geckoview_thirdparty_source_dir = TOPSRCDIR + '/mobile/android/geckoview/src/thirdparty/' thirdparty_source_dir = TOPSRCDIR + '/mobile/android/thirdparty/' constants_jar = add_java_jar('constants') constants_jar.sources += [geckoview_source_dir + 'java/org/mozilla/gecko/' + x for x in [ 'annotation/JNITarget.java', 'annotation/ReflectionTarget.java', 'annotation/RobocopTarget.java', 'annotation/WebRTCJNITarget.java', 'annotation/WrapForJNI.java', 'SysInfo.java', ]] constants_jar.sources += ['java/org/mozilla/gecko/' + x for x in [ 'adjust/AdjustHelperInterface.java', 'adjust/AttributionHelperListener.java', 'db/BrowserContract.java', 'LocaleManager.java', 'Locales.java', ]] constants_jar.generated_sources = [ 'preprocessed/org/mozilla/gecko/AdjustConstants.java', 'preprocessed/org/mozilla/gecko/AppConstants.java', ] constants_jar.extra_jars = [ CONFIG['ANDROID_SUPPORT_ANNOTATIONS_JAR_LIB'], CONFIG['ANDROID_SUPPORT_V4_AAR_LIB'], CONFIG['ANDROID_SUPPORT_V4_AAR_INTERNAL_LIB'], CONFIG['ANDROID_APPCOMPAT_V7_AAR_LIB'], ] if CONFIG['MOZ_INSTALL_TRACKING']: constants_jar.sources += ['java/org/mozilla/gecko/' + x for x in [ 'adjust/AdjustHelper.java', ]] constants_jar.extra_jars += [ 'gecko-thirdparty-adjust_sdk.jar', ] else: constants_jar.sources += ['java/org/mozilla/gecko/' + x for x in [ 'adjust/StubAdjustHelper.java', ]] resjar = add_java_jar('gecko-R') resjar.sources = [] resjar.generated_sources += [ 'org/mozilla/gecko/R.java', ] if CONFIG['ANDROID_SUPPORT_V4_AAR']: ANDROID_EXTRA_PACKAGES += ['android.support.v4'] ANDROID_EXTRA_RES_DIRS += ['%' + CONFIG['ANDROID_SUPPORT_V4_AAR_RES']] # (no resources) resjar.generated_sources += ['android/support/v4/R.java'] if CONFIG['ANDROID_APPCOMPAT_V7_AAR']: ANDROID_EXTRA_PACKAGES += ['android.support.v7.appcompat'] ANDROID_EXTRA_RES_DIRS += ['%' + CONFIG['ANDROID_APPCOMPAT_V7_AAR_RES']] resjar.generated_sources += ['android/support/v7/appcompat/R.java'] if CONFIG['ANDROID_SUPPORT_VECTOR_DRAWABLE_AAR']: ANDROID_EXTRA_PACKAGES += ['android.support.graphics.drawable'] ANDROID_EXTRA_RES_DIRS += ['%' + CONFIG['ANDROID_SUPPORT_VECTOR_DRAWABLE_AAR_RES']] # (no reosurces) resjar.generated_sources += ['android/support/graphics/drawable/R.java'] if CONFIG['ANDROID_ANIMATED_VECTOR_DRAWABLE_AAR']: ANDROID_EXTRA_PACKAGES += ['android.support.graphics.drawable.animated'] ANDROID_EXTRA_RES_DIRS += ['%' + CONFIG['ANDROID_ANIMATED_VECTOR_DRAWABLE_AAR_RES']] # (no resources) resjar.generated_sources += ['android/support/graphics/drawable/animated/R.java'] if CONFIG['ANDROID_CARDVIEW_V7_AAR']: ANDROID_EXTRA_PACKAGES += ['android.support.v7.cardview'] ANDROID_EXTRA_RES_DIRS += ['%' + CONFIG['ANDROID_CARDVIEW_V7_AAR_RES']] resjar.generated_sources += ['android/support/v7/cardview/R.java'] if CONFIG['ANDROID_DESIGN_AAR']: ANDROID_EXTRA_PACKAGES += ['android.support.design'] ANDROID_EXTRA_RES_DIRS += ['%' + CONFIG['ANDROID_DESIGN_AAR_RES']] resjar.generated_sources += ['android/support/design/R.java'] if CONFIG['ANDROID_RECYCLERVIEW_V7_AAR']: ANDROID_EXTRA_PACKAGES += ['android.support.v7.recyclerview'] ANDROID_EXTRA_RES_DIRS += ['%' + CONFIG['ANDROID_RECYCLERVIEW_V7_AAR_RES']] resjar.generated_sources += ['android/support/v7/recyclerview/R.java'] if CONFIG['ANDROID_CUSTOMTABS_AAR']: ANDROID_EXTRA_PACKAGES += ['android.support.customtabs'] ANDROID_EXTRA_RES_DIRS += ['%' + CONFIG['ANDROID_CUSTOMTABS_AAR_RES']] # (no resources) resjar.generated_sources += ['android/support/customtabs/R.java'] if CONFIG['ANDROID_PALETTE_V7_AAR']: ANDROID_EXTRA_PACKAGES += ['android.support.v7.palette'] ANDROID_EXTRA_RES_DIRS += ['%' + CONFIG['ANDROID_PALETTE_V7_AAR_RES']] # (no resources) resjar.generated_sources += ['android/support/v7/palette/R.java'] resjar.javac_flags += ['-Xlint:all'] mgjar = add_java_jar('gecko-mozglue') mgjar.sources += [geckoview_source_dir + 'java/org/mozilla/gecko/' + x for x in [ 'mozglue/ByteBufferInputStream.java', 'mozglue/DirectBufferAllocator.java', 'mozglue/GeckoLoader.java', 'mozglue/JNIObject.java', 'mozglue/NativeReference.java', 'mozglue/NativeZip.java', 'mozglue/SafeIntent.java', ]] mgjar.generated_sources = [] # Keep it this way. mgjar.extra_jars += [ CONFIG['ANDROID_SUPPORT_ANNOTATIONS_JAR_LIB'], 'constants.jar', ] mgjar.javac_flags += ['-Xlint:all'] gujar = add_java_jar('gecko-util') gujar.sources += [geckoview_source_dir + 'java/org/mozilla/gecko/' + x for x in [ 'util/ActivityResultHandler.java', 'util/ActivityResultHandlerMap.java', 'util/ActivityUtils.java', 'util/BundleEventListener.java', 'util/Clipboard.java', 'util/ContextUtils.java', 'util/DateUtil.java', 'util/EventCallback.java', 'util/FileUtils.java', 'util/FloatUtils.java', 'util/GamepadUtils.java', 'util/GeckoBackgroundThread.java', 'util/GeckoEventListener.java', 'util/GeckoJarReader.java', 'util/GeckoRequest.java', 'util/HardwareCodecCapabilityUtils.java', 'util/HardwareUtils.java', 'util/INIParser.java', 'util/INISection.java', 'util/InputOptionsUtils.java', 'util/IntentUtils.java', 'util/IOUtils.java', 'util/JSONUtils.java', 'util/MenuUtils.java', 'util/NativeEventListener.java', 'util/NativeJSContainer.java', 'util/NativeJSObject.java', 'util/NetworkUtils.java', 'util/NonEvictingLruCache.java', 'util/PrefUtils.java', 'util/ProxySelector.java', 'util/publicsuffix/PublicSuffix.java', 'util/publicsuffix/PublicSuffixPatterns.java', 'util/RawResource.java', 'util/StringUtils.java', 'util/ThreadUtils.java', 'util/UIAsyncTask.java', 'util/UUIDUtil.java', 'util/WeakReferenceHandler.java', 'util/WindowUtils.java', ]] gujar.extra_jars = [ CONFIG['ANDROID_SUPPORT_ANNOTATIONS_JAR_LIB'], CONFIG['ANDROID_SUPPORT_V4_AAR_LIB'], CONFIG['ANDROID_SUPPORT_V4_AAR_INTERNAL_LIB'], 'constants.jar', 'gecko-mozglue.jar', ] gujar.javac_flags += ['-Xlint:all,-deprecation'] stjar = add_java_jar('sync-thirdparty') stjar.sources += [ thirdparty_source_dir + f for f in sync_thirdparty_java_files ] stjar.javac_flags = ['-Xlint:none'] services_jar = add_java_jar('services') services_jar.sources += sync_java_files services_jar.extra_jars = [ CONFIG['ANDROID_SUPPORT_ANNOTATIONS_JAR_LIB'], CONFIG['ANDROID_SUPPORT_V4_AAR_LIB'], CONFIG['ANDROID_SUPPORT_V4_AAR_INTERNAL_LIB'], CONFIG['ANDROID_APPCOMPAT_V7_AAR_LIB'], 'constants.jar', 'gecko-R.jar', 'gecko-mozglue.jar', 'gecko-thirdparty.jar', 'gecko-util.jar', 'sync-thirdparty.jar', ] services_jar.javac_flags += ['-Xlint:all,-deprecation'] if CONFIG['MOZ_WEBRTC']: video_root = TOPSRCDIR + '/media/webrtc/trunk/webrtc/modules/video_capture/android/java/src/org/webrtc/videoengine/' video_render_root = TOPSRCDIR + '/media/webrtc/trunk/webrtc/modules/video_render/android/java/src/org/webrtc/videoengine/' audio_root = TOPSRCDIR + '/media/webrtc/trunk/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/' wrjar = add_java_jar('webrtc') wrjar.sources += [ video_root + 'CaptureCapabilityAndroid.java', video_root + 'VideoCaptureAndroid.java', video_root + 'VideoCaptureDeviceInfoAndroid.java', video_render_root + 'ViEAndroidGLES20.java', video_render_root + 'ViERenderer.java', ] wrjar.sources += [ audio_root + 'AudioManagerAndroid.java', audio_root + 'WebRtcAudioManager.java', audio_root + 'WebRtcAudioRecord.java', audio_root + 'WebRtcAudioTrack.java', audio_root + 'WebRtcAudioUtils.java', ] wrjar.extra_jars = [ 'constants.jar', 'gecko-R.jar', 'gecko-browser.jar', 'gecko-mozglue.jar', 'gecko-util.jar', 'gecko-view.jar', ] wrjar.javac_flags += ['-Xlint:all,-deprecation,-cast'] gvjar = add_java_jar('gecko-view') gvjar.sources += [geckoview_source_dir + 'java/org/mozilla/gecko/' + x for x in [ 'AlarmReceiver.java', 'AndroidGamepadManager.java', 'BaseGeckoInterface.java', 'ContextGetter.java', 'CrashHandler.java', 'EventDispatcher.java', 'GeckoAccessibility.java', 'GeckoAppShell.java', 'GeckoBatteryManager.java', 'GeckoEditable.java', 'GeckoEditableClient.java', 'GeckoEditableListener.java', 'GeckoHalDefines.java', 'GeckoInputConnection.java', 'GeckoNetworkManager.java', 'GeckoProfile.java', 'GeckoProfileDirectories.java', 'GeckoScreenOrientation.java', 'GeckoSharedPrefs.java', 'GeckoThread.java', 'GeckoView.java', 'GeckoViewChrome.java', 'GeckoViewContent.java', 'GeckoViewFragment.java', 'gfx/BitmapUtils.java', 'gfx/BufferedImage.java', 'gfx/BufferedImageGLInfo.java', 'gfx/DynamicToolbarAnimator.java', 'gfx/FloatSize.java', 'gfx/FullScreenState.java', 'gfx/GeckoLayerClient.java', 'gfx/ImmutableViewportMetrics.java', 'gfx/IntSize.java', 'gfx/LayerRenderer.java', 'gfx/LayerView.java', 'gfx/NativePanZoomController.java', 'gfx/Overscroll.java', 'gfx/OverscrollEdgeEffect.java', 'gfx/PanningPerfAPI.java', 'gfx/PanZoomController.java', 'gfx/PanZoomTarget.java', 'gfx/PointUtils.java', 'gfx/ProgressiveUpdateData.java', 'gfx/RectUtils.java', 'gfx/RenderTask.java', 'gfx/StackScroller.java', 'gfx/SurfaceTextureListener.java', 'gfx/ViewTransform.java', 'InputConnectionListener.java', 'InputMethods.java', 'NotificationListener.java', 'NSSBridge.java', 'permissions/PermissionBlock.java', 'permissions/Permissions.java', 'permissions/PermissionsHelper.java', 'PrefsHelper.java', 'sqlite/ByteBufferInputStream.java', 'sqlite/MatrixBlobCursor.java', 'sqlite/SQLiteBridge.java', 'sqlite/SQLiteBridgeException.java', 'TouchEventInterceptor.java', ]] gvjar.sources += [geckoview_thirdparty_source_dir + f for f in [ 'java/com/googlecode/eyesfree/braille/selfbraille/ISelfBrailleService.java', 'java/com/googlecode/eyesfree/braille/selfbraille/SelfBrailleClient.java', 'java/com/googlecode/eyesfree/braille/selfbraille/WriteData.java', ]] gvjar.extra_jars += [ CONFIG['ANDROID_SUPPORT_ANNOTATIONS_JAR_LIB'], CONFIG['ANDROID_SUPPORT_V4_AAR_LIB'], CONFIG['ANDROID_SUPPORT_V4_AAR_INTERNAL_LIB'], 'constants.jar', 'gecko-mozglue.jar', 'gecko-util.jar', ] gvjar.javac_flags += [ '-Xlint:all,-deprecation,-fallthrough', '-J-Xmx512m', '-J-Xms128m' ] gbjar = add_java_jar('gecko-browser') gbjar.sources += ['java/org/mozilla/gecko/' + x for x in [ 'AboutPages.java', 'AccountsHelper.java', 'ActionBarTextSelection.java', 'ActionModeCompat.java', 'ActionModeCompatView.java', 'ActivityHandlerHelper.java', 'activitystream/ActivityStream.java', 'adjust/AdjustBrowserAppDelegate.java', 'animation/AnimationUtils.java', 'animation/HeightChangeAnimation.java', 'animation/PropertyAnimator.java', 'animation/Rotate3DAnimation.java', 'animation/ViewHelper.java', 'ANRReporter.java', 'BootReceiver.java', 'BrowserApp.java', 'BrowserLocaleManager.java', 'cleanup/FileCleanupController.java', 'cleanup/FileCleanupService.java', 'CustomEditText.java', 'customtabs/CustomTabsActivity.java', 'customtabs/GeckoCustomTabsService.java', 'DataReportingNotification.java', 'db/AbstractPerProfileDatabaseProvider.java', 'db/AbstractTransactionalProvider.java', 'db/BaseTable.java', 'db/BrowserDatabaseHelper.java', 'db/BrowserDB.java', 'db/BrowserProvider.java', 'db/DBUtils.java', 'db/FormHistoryProvider.java', 'db/HomeProvider.java', 'db/LocalBrowserDB.java', 'db/LocalSearches.java', 'db/LocalTabsAccessor.java', 'db/LocalUrlAnnotations.java', 'db/LocalURLMetadata.java', 'db/LoginsProvider.java', 'db/PasswordsProvider.java', 'db/PerProfileDatabaseProvider.java', 'db/PerProfileDatabases.java', 'db/RemoteClient.java', 'db/RemoteTab.java', 'db/Searches.java', 'db/SearchHistoryProvider.java', 'db/SharedBrowserDatabaseProvider.java', 'db/SQLiteBridgeContentProvider.java', 'db/SuggestedSites.java', 'db/Table.java', 'db/TabsAccessor.java', 'db/TabsProvider.java', 'db/UrlAnnotations.java', 'db/URLMetadata.java', 'db/URLMetadataTable.java', 'delegates/BookmarkStateChangeDelegate.java', 'delegates/BrowserAppDelegate.java', 'delegates/BrowserAppDelegateWithReference.java', 'delegates/OfflineTabStatusDelegate.java', 'delegates/ScreenshotDelegate.java', 'delegates/TabsTrayVisibilityAwareDelegate.java', 'DevToolsAuthHelper.java', 'distribution/Distribution.java', 'distribution/DistributionStoreCallback.java', 'distribution/PartnerBookmarksProviderProxy.java', 'distribution/PartnerBrowserCustomizationsClient.java', 'distribution/ReferrerDescriptor.java', 'distribution/ReferrerReceiver.java', 'dlc/BaseAction.java', 'dlc/catalog/DownloadContent.java', 'dlc/catalog/DownloadContentBootstrap.java', 'dlc/catalog/DownloadContentBuilder.java', 'dlc/catalog/DownloadContentCatalog.java', 'dlc/DownloadAction.java', 'dlc/DownloadContentService.java', 'dlc/StudyAction.java', 'dlc/SyncAction.java', 'dlc/VerifyAction.java', 'DoorHangerPopup.java', 'DownloadsIntegration.java', 'DynamicToolbar.java', 'EditBookmarkDialog.java', 'Experiments.java', 'feeds/action/CheckForUpdatesAction.java', 'feeds/action/EnrollSubscriptionsAction.java', 'feeds/action/FeedAction.java', 'feeds/action/SetupAlarmsAction.java', 'feeds/action/SubscribeToFeedAction.java', 'feeds/action/WithdrawSubscriptionsAction.java', 'feeds/ContentNotificationsDelegate.java', 'feeds/FeedAlarmReceiver.java', 'feeds/FeedFetcher.java', 'feeds/FeedService.java', 'feeds/knownsites/KnownSite.java', 'feeds/knownsites/KnownSiteBlogger.java', 'feeds/knownsites/KnownSiteMedium.java', 'feeds/knownsites/KnownSiteTumblr.java', 'feeds/knownsites/KnownSiteWordpress.java', 'feeds/parser/Feed.java', 'feeds/parser/Item.java', 'feeds/parser/SimpleFeedParser.java', 'feeds/subscriptions/FeedSubscription.java', 'FilePicker.java', 'FilePickerResultHandler.java', 'FindInPageBar.java', 'firstrun/DataPanel.java', 'firstrun/FirstrunAnimationContainer.java', 'firstrun/FirstrunPager.java', 'firstrun/FirstrunPagerConfig.java', 'firstrun/FirstrunPanel.java', 'firstrun/RestrictedWelcomePanel.java', 'firstrun/SyncPanel.java', 'firstrun/TabQueuePanel.java', 'FormAssistPopup.java', 'GeckoActivity.java', 'GeckoActivityStatus.java', 'GeckoApp.java', 'GeckoApplication.java', 'GeckoJavaSampler.java', 'GeckoMessageReceiver.java', 'GeckoProfilesProvider.java', 'GeckoService.java', 'GeckoUpdateReceiver.java', 'GlobalHistory.java', 'GlobalPageMetadata.java', 'GuestSession.java', 'health/HealthRecorder.java', 'health/SessionInformation.java', 'health/StubbedHealthRecorder.java', 'home/activitystream/ActivityStream.java', 'home/activitystream/ActivityStreamHomeFragment.java', 'home/activitystream/ActivityStreamHomeScreen.java', 'home/activitystream/menu/ActivityStreamContextMenu.java', 'home/activitystream/menu/BottomSheetContextMenu.java', 'home/activitystream/menu/PopupContextMenu.java', 'home/activitystream/StreamItem.java', 'home/activitystream/StreamRecyclerAdapter.java', 'home/activitystream/topsites/CirclePageIndicator.java', 'home/activitystream/topsites/TopSitesCard.java', 'home/activitystream/topsites/TopSitesPage.java', 'home/activitystream/topsites/TopSitesPageAdapter.java', 'home/activitystream/topsites/TopSitesPagerAdapter.java', 'home/BookmarkFolderView.java', 'home/BookmarkScreenshotRow.java', 'home/BookmarksListAdapter.java', 'home/BookmarksListView.java', 'home/BookmarksPanel.java', 'home/BrowserSearch.java', 'home/ClientsAdapter.java', 'home/CombinedHistoryAdapter.java', 'home/CombinedHistoryItem.java', 'home/CombinedHistoryPanel.java', 'home/CombinedHistoryRecyclerView.java', 'home/DynamicPanel.java', 'home/FramePanelLayout.java', 'home/HistorySectionsHelper.java', 'home/HomeAdapter.java', 'home/HomeBanner.java', 'home/HomeConfig.java', 'home/HomeConfigLoader.java', 'home/HomeConfigPrefsBackend.java', 'home/HomeContextMenuInfo.java', 'home/HomeExpandableListView.java', 'home/HomeFragment.java', 'home/HomeListView.java', 'home/HomePager.java', 'home/HomePanelsManager.java', 'home/HomeScreen.java', 'home/ImageLoader.java', 'home/MultiTypeCursorAdapter.java', 'home/PanelAuthCache.java', 'home/PanelAuthLayout.java', 'home/PanelBackItemView.java', 'home/PanelHeaderView.java', 'home/PanelInfoManager.java', 'home/PanelItemView.java', 'home/PanelLayout.java', 'home/PanelListView.java', 'home/PanelRecyclerView.java', 'home/PanelRecyclerViewAdapter.java', 'home/PanelRefreshLayout.java', 'home/PanelViewAdapter.java', 'home/PanelViewItemHandler.java', 'home/PinSiteDialog.java', 'home/RecentTabsAdapter.java', 'home/RemoteTabsExpandableListState.java', 'home/SearchEngine.java', 'home/SearchEngineAdapter.java', 'home/SearchEngineBar.java', 'home/SearchEngineRow.java', 'home/SearchLoader.java', 'home/SimpleCursorLoader.java', 'home/SpacingDecoration.java', 'home/TabMenuStrip.java', 'home/TabMenuStripLayout.java', 'home/TopSitesGridItemView.java', 'home/TopSitesGridView.java', 'home/TopSitesPanel.java', 'home/TopSitesThumbnailView.java', 'home/TwoLinePageRow.java', 'icons/decoders/FaviconDecoder.java', 'icons/decoders/ICODecoder.java', 'icons/decoders/IconDirectoryEntry.java', 'icons/decoders/LoadFaviconResult.java', 'icons/IconCallback.java', 'icons/IconDescriptor.java', 'icons/IconDescriptorComparator.java', 'icons/IconRequest.java', 'icons/IconRequestBuilder.java', 'icons/IconRequestExecutor.java', 'icons/IconResponse.java', 'icons/Icons.java', 'icons/IconsHelper.java', 'icons/IconTask.java', 'icons/loader/ContentProviderLoader.java', 'icons/loader/DataUriLoader.java', 'icons/loader/DiskLoader.java', 'icons/loader/IconDownloader.java', 'icons/loader/IconGenerator.java', 'icons/loader/IconLoader.java', 'icons/loader/JarLoader.java', 'icons/loader/LegacyLoader.java', 'icons/loader/MemoryLoader.java', 'icons/preparation/AboutPagesPreparer.java', 'icons/preparation/AddDefaultIconUrl.java', 'icons/preparation/FilterKnownFailureUrls.java', 'icons/preparation/FilterMimeTypes.java', 'icons/preparation/FilterPrivilegedUrls.java', 'icons/preparation/LookupIconUrl.java', 'icons/preparation/Preparer.java', 'icons/processing/ColorProcessor.java', 'icons/processing/DiskProcessor.java', 'icons/processing/MemoryProcessor.java', 'icons/processing/Processor.java', 'icons/processing/ResizingProcessor.java', 'icons/storage/DiskStorage.java', 'icons/storage/FailureCache.java', 'icons/storage/MemoryStorage.java', 'IntentHelper.java', 'javaaddons/JavaAddonManager.java', 'javaaddons/JavaAddonManagerV1.java', 'LauncherActivity.java', 'lwt/LightweightTheme.java', 'lwt/LightweightThemeDrawable.java', 'mdns/MulticastDNSManager.java', 'media/AsyncCodec.java', 'media/AsyncCodecFactory.java', 'media/AudioFocusAgent.java', 'media/Codec.java', 'media/CodecProxy.java', 'media/FormatParam.java', 'media/GeckoMediaDrm.java', 'media/GeckoMediaDrmBridgeV21.java', 'media/GeckoMediaDrmBridgeV23.java', 'media/JellyBeanAsyncCodec.java', 'media/LocalMediaDrmBridge.java', 'media/MediaControlService.java', 'media/MediaDrmProxy.java', 'media/MediaManager.java', 'media/RemoteManager.java', 'media/RemoteMediaDrmBridge.java', 'media/RemoteMediaDrmBridgeStub.java', 'media/Sample.java', 'media/SamplePool.java', 'media/SessionKeyInfo.java', 'media/VideoPlayer.java', 'MediaCastingBar.java', 'MemoryMonitor.java', 'menu/GeckoMenu.java', 'menu/GeckoMenuInflater.java', 'menu/GeckoMenuItem.java', 'menu/GeckoSubMenu.java', 'menu/MenuItemActionBar.java', 'menu/MenuItemDefault.java', 'menu/MenuItemSwitcherLayout.java', 'menu/MenuPanel.java', 'menu/MenuPopup.java', 'MotionEventInterceptor.java', 'mozglue/SharedMemBuffer.java', 'mozglue/SharedMemory.java', 'notifications/NotificationClient.java', 'notifications/NotificationHelper.java', 'notifications/NotificationReceiver.java', 'notifications/NotificationService.java', 'notifications/WhatsNewReceiver.java', 'overlays/OverlayConstants.java', 'overlays/service/OverlayActionService.java', 'overlays/service/ShareData.java', 'overlays/service/sharemethods/AddBookmark.java', 'overlays/service/sharemethods/SendTab.java', 'overlays/service/sharemethods/ShareMethod.java', 'overlays/ui/OverlayDialogButton.java', 'overlays/ui/SendTabDeviceListArrayAdapter.java', 'overlays/ui/SendTabList.java', 'overlays/ui/SendTabTargetSelectedListener.java', 'overlays/ui/ShareDialog.java', 'PackageReplacedReceiver.java', 'preferences/AlignRightLinkPreference.java', 'preferences/AndroidImport.java', 'preferences/AndroidImportPreference.java', 'preferences/AppCompatPreferenceActivity.java', 'preferences/ClearOnShutdownPref.java', 'preferences/CustomCheckBoxPreference.java', 'preferences/CustomListCategory.java', 'preferences/CustomListPreference.java', 'preferences/DistroSharedPrefsImport.java', 'preferences/FontSizePreference.java', 'preferences/GeckoPreferenceFragment.java', 'preferences/GeckoPreferences.java', 'preferences/LinkPreference.java', 'preferences/ListCheckboxPreference.java', 'preferences/LocaleListPreference.java', 'preferences/ModifiableHintPreference.java', 'preferences/MultiChoicePreference.java', 'preferences/MultiPrefMultiChoicePreference.java', 'preferences/PanelsPreference.java', 'preferences/PanelsPreferenceCategory.java', 'preferences/PrivateDataPreference.java', 'preferences/SearchEnginePreference.java', 'preferences/SearchPreferenceCategory.java', 'preferences/SetHomepagePreference.java', 'preferences/SyncPreference.java', 'PresentationView.java', 'PrintHelper.java', 'PrivateTab.java', 'promotion/AddToHomeScreenPromotion.java', 'promotion/HomeScreenPrompt.java', 'promotion/ReaderViewBookmarkPromotion.java', 'promotion/SimpleHelperUI.java', 'prompts/ColorPickerInput.java', 'prompts/IconGridInput.java', 'prompts/IntentChooserPrompt.java', 'prompts/IntentHandler.java', 'prompts/Prompt.java', 'prompts/PromptInput.java', 'prompts/PromptListAdapter.java', 'prompts/PromptListItem.java', 'prompts/PromptService.java', 'prompts/TabInput.java', 'reader/ReaderModeUtils.java', 'reader/ReadingListHelper.java', 'reader/SavedReaderViewHelper.java', 'RemoteClientsDialogFragment.java', 'Restarter.java', 'restrictions/DefaultConfiguration.java', 'restrictions/GuestProfileConfiguration.java', 'restrictions/Restrictable.java', 'restrictions/RestrictedProfileConfiguration.java', 'restrictions/RestrictionCache.java', 'restrictions/RestrictionConfiguration.java', 'restrictions/RestrictionProvider.java', 'restrictions/Restrictions.java', 'ScreenManagerHelper.java', 'ScreenshotObserver.java', 'search/SearchEngine.java', 'search/SearchEngineManager.java', 'SessionParser.java', 'SharedPreferencesHelper.java', 'SiteIdentity.java', 'SnackbarBuilder.java', 'SuggestClient.java', 'Tab.java', 'tabqueue/TabQueueHelper.java', 'tabqueue/TabQueuePrompt.java', 'tabqueue/TabQueueService.java', 'tabqueue/TabReceivedService.java', 'Tabs.java', 'tabs/PrivateTabsPanel.java', 'tabs/TabCurve.java', 'tabs/TabHistoryController.java', 'tabs/TabHistoryFragment.java', 'tabs/TabHistoryItemRow.java', 'tabs/TabHistoryPage.java', 'tabs/TabPanelBackButton.java', 'tabs/TabsGridLayout.java', 'tabs/TabsLayout.java', 'tabs/TabsLayoutAdapter.java', 'tabs/TabsLayoutItemView.java', 'tabs/TabsLayoutRecyclerAdapter.java', 'tabs/TabsListLayout.java', 'tabs/TabsListLayoutAnimator.java', 'tabs/TabsPanel.java', 'tabs/TabsPanelThumbnailView.java', 'tabs/TabsTouchHelperCallback.java', 'Telemetry.java', 'telemetry/measurements/CampaignIdMeasurements.java', 'telemetry/measurements/SearchCountMeasurements.java', 'telemetry/measurements/SessionMeasurements.java', 'telemetry/pingbuilders/TelemetryCorePingBuilder.java', 'telemetry/pingbuilders/TelemetryPingBuilder.java', 'telemetry/schedulers/TelemetryUploadAllPingsImmediatelyScheduler.java', 'telemetry/schedulers/TelemetryUploadScheduler.java', 'telemetry/stores/TelemetryJSONFilePingStore.java', 'telemetry/stores/TelemetryPingStore.java', 'telemetry/TelemetryConstants.java', 'telemetry/TelemetryCorePingDelegate.java', 'telemetry/TelemetryDispatcher.java', 'telemetry/TelemetryPing.java', 'telemetry/TelemetryPreferences.java', 'telemetry/TelemetryUploadService.java', 'TelemetryContract.java', 'text/FloatingActionModeCallback.java', 'text/FloatingToolbarTextSelection.java', 'text/TextAction.java', 'text/TextSelection.java', 'ThumbnailHelper.java', 'toolbar/AutocompleteHandler.java', 'toolbar/BackButton.java', 'toolbar/BrowserToolbar.java', 'toolbar/BrowserToolbarPhone.java', 'toolbar/BrowserToolbarPhoneBase.java', 'toolbar/BrowserToolbarTablet.java', 'toolbar/BrowserToolbarTabletBase.java', 'toolbar/CanvasDelegate.java', 'toolbar/ForwardButton.java', 'toolbar/NavButton.java', 'toolbar/PageActionLayout.java', 'toolbar/PhoneTabsButton.java', 'toolbar/ShapedButton.java', 'toolbar/ShapedButtonFrameLayout.java', 'toolbar/SiteIdentityPopup.java', 'toolbar/TabCounter.java', 'toolbar/ToolbarDisplayLayout.java', 'toolbar/ToolbarEditLayout.java', 'toolbar/ToolbarEditText.java', 'toolbar/ToolbarPrefs.java', 'toolbar/ToolbarProgressView.java', 'trackingprotection/TrackingProtectionPrompt.java', 'updater/PostUpdateHandler.java', 'updater/UpdateService.java', 'updater/UpdateServiceHelper.java', 'util/ColorUtil.java', 'util/DrawableUtil.java', 'util/ResourceDrawableUtils.java', 'util/TouchTargetUtil.java', 'util/ViewUtil.java', 'widget/ActivityChooserModel.java', 'widget/AllCapsTextView.java', 'widget/AnchoredPopup.java', 'widget/AnimatedHeightLayout.java', 'widget/BasicColorPicker.java', 'widget/CheckableLinearLayout.java', 'widget/ClickableWhenDisabledEditText.java', 'widget/ContentSecurityDoorHanger.java', 'widget/CropImageView.java', 'widget/DateTimePicker.java', 'widget/DefaultDoorHanger.java', 'widget/DefaultItemAnimatorBase.java', 'widget/DoorHanger.java', 'widget/DoorhangerConfig.java', 'widget/EllipsisTextView.java', 'widget/ExternalIntentDuringPrivateBrowsingPromptFragment.java', 'widget/FadedMultiColorTextView.java', 'widget/FadedSingleColorTextView.java', 'widget/FadedTextView.java', 'widget/FaviconView.java', 'widget/FilledCardView.java', 'widget/FlowLayout.java', 'widget/GeckoActionProvider.java', 'widget/GeckoPopupMenu.java', 'widget/HistoryDividerItemDecoration.java', 'widget/IconTabWidget.java', 'widget/LoginDoorHanger.java', 'widget/RecyclerViewClickSupport.java', 'widget/ResizablePathDrawable.java', 'widget/RoundedCornerLayout.java', 'widget/SiteLogins.java', 'widget/SquaredImageView.java', 'widget/SquaredRelativeLayout.java', 'widget/SwipeDismissListViewTouchListener.java', 'widget/TabThumbnailWrapper.java', 'widget/ThumbnailView.java', 'widget/TouchDelegateWithReset.java', 'widget/TwoWayView.java', 'ZoomedView.java', ]] # The following sources are checked in to version control but # generated by a script (java/org/mozilla/gecko/widget/themed/generate_themed_views.py). # If you're editing this list, make sure to edit that script. gbjar.sources += ['java/org/mozilla/gecko/' + x for x in [ 'widget/themed/ThemedEditText.java', 'widget/themed/ThemedFrameLayout.java', 'widget/themed/ThemedImageButton.java', 'widget/themed/ThemedImageView.java', 'widget/themed/ThemedLinearLayout.java', 'widget/themed/ThemedRelativeLayout.java', 'widget/themed/ThemedTextSwitcher.java', 'widget/themed/ThemedTextView.java', 'widget/themed/ThemedView.java', ]] android_package_dir = CONFIG['ANDROID_PACKAGE_NAME'].replace('.', '/') gbjar.generated_sources = [] # Keep it this way. gbjar.extra_jars += [ CONFIG['ANDROID_SUPPORT_ANNOTATIONS_JAR_LIB'], CONFIG['ANDROID_SUPPORT_V4_AAR_LIB'], CONFIG['ANDROID_SUPPORT_V4_AAR_INTERNAL_LIB'], 'constants.jar' ] if CONFIG['MOZ_ANDROID_GCM']: gbjar.sources += ['java/org/mozilla/gecko/' + x for x in [ 'gcm/GcmInstanceIDListenerService.java', 'gcm/GcmMessageListenerService.java', 'gcm/GcmTokenClient.java', 'push/Fetched.java', 'push/PushClient.java', 'push/PushManager.java', 'push/PushRegistration.java', 'push/PushService.java', 'push/PushState.java', 'push/PushSubscription.java', ]] if (CONFIG['MOZ_ANDROID_MAX_SDK_VERSION']): max_sdk_version = int(CONFIG['MOZ_ANDROID_MAX_SDK_VERSION']) else: max_sdk_version = 999 # Only bother to include new tablet code if we're building for tablet-capable # OS releases. if max_sdk_version >= 11: gbjar.sources += ['java/org/mozilla/gecko/' + x for x in [ 'tabs/TabStrip.java', 'tabs/TabStripAdapter.java', 'tabs/TabStripItemView.java', 'tabs/TabStripView.java' ]] gbjar.extra_jars += [ OBJDIR + '/../javaaddons/javaaddons-1.0.jar', 'gecko-R.jar', 'gecko-mozglue.jar', 'gecko-thirdparty.jar', 'gecko-util.jar', 'gecko-view.jar', 'sync-thirdparty.jar', 'services.jar', ] moz_native_devices_jars = [ CONFIG['ANDROID_MEDIAROUTER_V7_AAR_LIB'], CONFIG['ANDROID_MEDIAROUTER_V7_AAR_INTERNAL_LIB'], CONFIG['ANDROID_PLAY_SERVICES_BASE_AAR_LIB'], CONFIG['ANDROID_PLAY_SERVICES_BASEMENT_AAR_LIB'], CONFIG['ANDROID_PLAY_SERVICES_CAST_AAR_LIB'], ] moz_native_devices_sources = ['java/org/mozilla/gecko/' + x for x in [ 'ChromeCastDisplay.java', 'ChromeCastPlayer.java', 'GeckoMediaPlayer.java', 'GeckoPresentationDisplay.java', 'MediaPlayerManager.java', 'PresentationMediaPlayerManager.java', 'RemotePresentationService.java', ]] if CONFIG['MOZ_NATIVE_DEVICES']: gbjar.extra_jars += moz_native_devices_jars gbjar.sources += moz_native_devices_sources if CONFIG['ANDROID_MEDIAROUTER_V7_AAR']: ANDROID_EXTRA_PACKAGES += ['android.support.v7.mediarouter'] ANDROID_EXTRA_RES_DIRS += ['%' + CONFIG['ANDROID_MEDIAROUTER_V7_AAR_RES']] resjar.generated_sources += ['android/support/v7/mediarouter/R.java'] if CONFIG['ANDROID_PLAY_SERVICES_BASE_AAR']: ANDROID_EXTRA_PACKAGES += ['com.google.android.gms.base'] ANDROID_EXTRA_RES_DIRS += ['%' + CONFIG['ANDROID_PLAY_SERVICES_BASE_AAR_RES']] resjar.generated_sources += ['com/google/android/gms/base/R.java'] if CONFIG['ANDROID_PLAY_SERVICES_BASEMENT_AAR']: ANDROID_EXTRA_PACKAGES += ['com.google.android.gms'] ANDROID_EXTRA_RES_DIRS += ['%' + CONFIG['ANDROID_PLAY_SERVICES_BASEMENT_AAR_RES']] resjar.generated_sources += ['com/google/android/gms/R.java'] if CONFIG['ANDROID_PLAY_SERVICES_CAST_AAR']: ANDROID_EXTRA_PACKAGES += ['com.google.android.gms.cast'] ANDROID_EXTRA_RES_DIRS += ['%' + CONFIG['ANDROID_PLAY_SERVICES_CAST_AAR_RES']] resjar.generated_sources += ['com/google/android/gms/cast/R.java'] if CONFIG['MOZ_ANDROID_GCM']: gbjar.extra_jars += [ CONFIG['ANDROID_PLAY_SERVICES_BASE_AAR_LIB'], CONFIG['ANDROID_PLAY_SERVICES_BASEMENT_AAR_LIB'], CONFIG['ANDROID_PLAY_SERVICES_GCM_AAR_LIB'], CONFIG['ANDROID_PLAY_SERVICES_MEASUREMENT_AAR_LIB'], ] if CONFIG['ANDROID_PLAY_SERVICES_BASE_AAR']: ANDROID_EXTRA_PACKAGES += ['com.google.android.gms'] ANDROID_EXTRA_RES_DIRS += ['%' + CONFIG['ANDROID_PLAY_SERVICES_BASE_AAR_RES']] resjar.generated_sources += ['com/google/android/gms/R.java'] if CONFIG['ANDROID_PLAY_SERVICES_BASEMENT_AAR']: ANDROID_EXTRA_PACKAGES += ['com.google.android.gms'] ANDROID_EXTRA_RES_DIRS += ['%' + CONFIG['ANDROID_PLAY_SERVICES_BASEMENT_AAR_RES']] resjar.generated_sources += ['com/google/android/gms/R.java'] if CONFIG['ANDROID_PLAY_SERVICES_GCM_AAR']: ANDROID_EXTRA_PACKAGES += ['com.google.android.gms.gcm'] ANDROID_EXTRA_RES_DIRS += ['%' + CONFIG['ANDROID_PLAY_SERVICES_GCM_AAR_RES']] # (no resources) resjar.generated_sources += ['com/google/android/gms/gcm/R.java'] if CONFIG['ANDROID_PLAY_SERVICES_MEASUREMENT_AAR']: ANDROID_EXTRA_PACKAGES += ['com.google.android.gms.measurement'] ANDROID_EXTRA_RES_DIRS += ['%' + CONFIG['ANDROID_PLAY_SERVICES_MEASUREMENT_AAR_RES']] # (no resources) resjar.generated_sources += ['android/support/v7/palette/R.java'] if CONFIG['MOZ_INSTALL_TRACKING']: gbjar.extra_jars += [ CONFIG['ANDROID_PLAY_SERVICES_ADS_AAR_LIB'], CONFIG['ANDROID_PLAY_SERVICES_BASEMENT_AAR_LIB'], ] if CONFIG['ANDROID_PLAY_SERVICES_ADS_AAR']: ANDROID_EXTRA_PACKAGES += ['com.google.android.gms.ads'] ANDROID_EXTRA_RES_DIRS += ['%' + CONFIG['ANDROID_PLAY_SERVICES_ADS_AAR_RES']] resjar.generated_sources += ['com/google/android/gms/ads/R.java'] if CONFIG['ANDROID_PLAY_SERVICES_BASEMENT_AAR']: ANDROID_EXTRA_PACKAGES += ['com.google.android.gms'] ANDROID_EXTRA_RES_DIRS += ['%' + CONFIG['ANDROID_PLAY_SERVICES_BASEMENT_AAR_RES']] resjar.generated_sources += ['com/google/android/gms/R.java'] gbjar.extra_jars += [CONFIG['ANDROID_APPCOMPAT_V7_AAR_LIB']] gbjar.extra_jars += [CONFIG['ANDROID_SUPPORT_VECTOR_DRAWABLE_AAR_LIB']] gbjar.extra_jars += [CONFIG['ANDROID_ANIMATED_VECTOR_DRAWABLE_AAR_LIB']] gbjar.extra_jars += [CONFIG['ANDROID_CARDVIEW_V7_AAR_LIB']] gbjar.extra_jars += [CONFIG['ANDROID_DESIGN_AAR_LIB']] gbjar.extra_jars += [CONFIG['ANDROID_RECYCLERVIEW_V7_AAR_LIB']] gbjar.extra_jars += [CONFIG['ANDROID_CUSTOMTABS_AAR_LIB']] gbjar.extra_jars += [CONFIG['ANDROID_PALETTE_V7_AAR_LIB']] gbjar.javac_flags += ['-Xlint:all,-deprecation,-fallthrough', '-J-Xmx512m', '-J-Xms128m'] # gecko-thirdparty is a good place to put small independent libraries gtjar = add_java_jar('gecko-thirdparty') gtjar.sources += [ thirdparty_source_dir + f for f in [ 'com/jakewharton/disklrucache/DiskLruCache.java', 'com/jakewharton/disklrucache/StrictLineReader.java', 'com/jakewharton/disklrucache/Util.java', 'com/keepsafe/switchboard/AsyncConfigLoader.java', 'com/keepsafe/switchboard/DeviceUuidFactory.java', 'com/keepsafe/switchboard/Preferences.java', 'com/keepsafe/switchboard/Switch.java', 'com/keepsafe/switchboard/SwitchBoard.java', 'com/squareup/leakcanary/LeakCanary.java', 'com/squareup/leakcanary/RefWatcher.java', 'com/squareup/picasso/Action.java', 'com/squareup/picasso/AssetBitmapHunter.java', 'com/squareup/picasso/BitmapHunter.java', 'com/squareup/picasso/Cache.java', 'com/squareup/picasso/Callback.java', 'com/squareup/picasso/ContactsPhotoBitmapHunter.java', 'com/squareup/picasso/ContentStreamBitmapHunter.java', 'com/squareup/picasso/DeferredRequestCreator.java', 'com/squareup/picasso/Dispatcher.java', 'com/squareup/picasso/Downloader.java', 'com/squareup/picasso/FetchAction.java', 'com/squareup/picasso/FileBitmapHunter.java', 'com/squareup/picasso/GetAction.java', 'com/squareup/picasso/ImageViewAction.java', 'com/squareup/picasso/LruCache.java', 'com/squareup/picasso/MarkableInputStream.java', 'com/squareup/picasso/MediaStoreBitmapHunter.java', 'com/squareup/picasso/NetworkBitmapHunter.java', 'com/squareup/picasso/Picasso.java', 'com/squareup/picasso/PicassoDrawable.java', 'com/squareup/picasso/PicassoExecutorService.java', 'com/squareup/picasso/Request.java', 'com/squareup/picasso/RequestCreator.java', 'com/squareup/picasso/ResourceBitmapHunter.java', 'com/squareup/picasso/Stats.java', 'com/squareup/picasso/StatsSnapshot.java', 'com/squareup/picasso/Target.java', 'com/squareup/picasso/TargetAction.java', 'com/squareup/picasso/Transformation.java', 'com/squareup/picasso/UrlConnectionDownloader.java', 'com/squareup/picasso/Utils.java' ] ] gtjar.extra_jars = [ CONFIG['ANDROID_SUPPORT_ANNOTATIONS_JAR_LIB'], CONFIG['ANDROID_SUPPORT_V4_AAR_LIB'], CONFIG['ANDROID_SUPPORT_V4_AAR_INTERNAL_LIB'], ] if not CONFIG['MOZILLA_OFFICIAL']: gtjar.sources += [ thirdparty_source_dir + f for f in [ 'org/lucasr/dspec/DesignSpec.java', 'org/lucasr/dspec/RawResource.java' ] ] if CONFIG['MOZ_INSTALL_TRACKING']: adjustjar = add_java_jar('gecko-thirdparty-adjust_sdk') adjustjar.sources += [ thirdparty_source_dir + f for f in [ 'com/adjust/sdk/ActivityHandler.java', 'com/adjust/sdk/ActivityKind.java', 'com/adjust/sdk/ActivityPackage.java', 'com/adjust/sdk/ActivityState.java', 'com/adjust/sdk/Adjust.java', 'com/adjust/sdk/AdjustAttribution.java', 'com/adjust/sdk/AdjustConfig.java', 'com/adjust/sdk/AdjustEvent.java', 'com/adjust/sdk/AdjustFactory.java', 'com/adjust/sdk/AdjustInstance.java', 'com/adjust/sdk/AdjustReferrerReceiver.java', 'com/adjust/sdk/AttributionHandler.java', 'com/adjust/sdk/Constants.java', 'com/adjust/sdk/DeviceInfo.java', 'com/adjust/sdk/IActivityHandler.java', 'com/adjust/sdk/IAttributionHandler.java', 'com/adjust/sdk/ILogger.java', 'com/adjust/sdk/IPackageHandler.java', 'com/adjust/sdk/IRequestHandler.java', 'com/adjust/sdk/Logger.java', 'com/adjust/sdk/LogLevel.java', 'com/adjust/sdk/OnAttributionChangedListener.java', 'com/adjust/sdk/PackageBuilder.java', 'com/adjust/sdk/PackageHandler.java', 'com/adjust/sdk/plugin/AndroidIdUtil.java', 'com/adjust/sdk/plugin/MacAddressUtil.java', 'com/adjust/sdk/plugin/Plugin.java', 'com/adjust/sdk/Reflection.java', 'com/adjust/sdk/RequestHandler.java', 'com/adjust/sdk/UnitTestActivity.java', 'com/adjust/sdk/Util.java' ] ] adjustjar.extra_jars += [ 'sync-thirdparty.jar', ] # Putting branding earlier allows branders to override default resources. ANDROID_RES_DIRS += [ '/' + CONFIG['MOZ_BRANDING_DIRECTORY'] + '/res', 'resources', '/mobile/android/services/src/main/res', '!res', ] ANDROID_GENERATED_RESFILES += [ 'res/raw/browsersearch.json', 'res/raw/suggestedsites.json', 'res/values/strings.xml', ] ANDROID_ASSETS_DIRS += [ '/mobile/android/app/assets', ] if CONFIG['MOZ_ANDROID_DISTRIBUTION_DIRECTORY']: # If you change this, also change its equivalent in mobile/android/bouncer. if not CONFIG['MOZ_ANDROID_PACKAGE_INSTALL_BOUNCER']: # If we are packaging the bouncer, it will have the distribution, so don't put # it in the main APK as well. ANDROID_ASSETS_DIRS += [ '%' + CONFIG['MOZ_ANDROID_DISTRIBUTION_DIRECTORY'] + '/assets', ] # We do not expose MOZ_ADJUST_SDK_KEY here because that # would leak the value # to build logs. Instead we expose the token quietly where appropriate in # Makefile.in. for var in ('MOZ_ANDROID_ANR_REPORTER', 'MOZ_DEBUG', 'MOZ_ANDROID_SEARCH_ACTIVITY', 'MOZ_NATIVE_DEVICES', 'MOZ_ANDROID_MLS_STUMBLER', 'MOZ_ANDROID_DOWNLOADS_INTEGRATION', 'MOZ_INSTALL_TRACKING', 'MOZ_ANDROID_GCM', 'MOZ_ANDROID_EXCLUDE_FONTS', 'MOZ_LOCALE_SWITCHER', 'MOZ_ANDROID_BEAM', 'MOZ_ANDROID_DOWNLOAD_CONTENT_SERVICE', 'MOZ_SWITCHBOARD', 'MOZ_ANDROID_CUSTOM_TABS', 'MOZ_ANDROID_ACTIVITY_STREAM'): if CONFIG[var]: DEFINES[var] = 1 for var in ('MOZ_UPDATER', 'MOZ_PKG_SPECIAL', 'MOZ_ANDROID_GCM_SENDERID'): if CONFIG[var]: DEFINES[var] = CONFIG[var] for var in ('ANDROID_PACKAGE_NAME', 'ANDROID_CPU_ARCH', 'GRE_MILESTONE', 'MOZ_APP_BASENAME', 'MOZ_MOZILLA_API_KEY', 'MOZ_APP_DISPLAYNAME', 'MOZ_APP_UA_NAME', 'MOZ_APP_ID', 'MOZ_APP_NAME', 'MOZ_APP_VENDOR', 'MOZ_APP_VERSION', 'MOZ_CHILD_PROCESS_NAME', 'MOZ_ANDROID_APPLICATION_CLASS', 'MOZ_ANDROID_BROWSER_INTENT_CLASS', 'MOZ_ANDROID_SEARCH_INTENT_CLASS', 'MOZ_UPDATE_CHANNEL', 'OMNIJAR_NAME', 'OS_TARGET', 'TARGET_XPCOM_ABI'): DEFINES[var] = CONFIG[var] # Mangle our package name to avoid Bug 750548. DEFINES['MANGLED_ANDROID_PACKAGE_NAME'] = CONFIG['ANDROID_PACKAGE_NAME'].replace('fennec', 'f3nn3c') DEFINES['MOZ_APP_ABI'] = CONFIG['TARGET_XPCOM_ABI'] if not CONFIG['COMPILE_ENVIRONMENT']: # These should really come from the included binaries, but that's not easy. DEFINES['MOZ_APP_ABI'] = 'arm-eabi-gcc3' # Observe quote differences here ... DEFINES['TARGET_XPCOM_ABI'] = '"arm-eabi-gcc3"' # ... and here. if '-march=armv7' in CONFIG['OS_CFLAGS']: DEFINES['MOZ_MIN_CPU_VERSION'] = 7 else: DEFINES['MOZ_MIN_CPU_VERSION'] = 5 if CONFIG['MOZ_ANDROID_SEARCH_ACTIVITY']: # The Search Activity is mostly independent of Fennec proper, but # it does depend on Geckoview. Therefore, we build it as a jar # that depends on the Geckoview jars. search_source_dir = SRCDIR + '/../search' include('../search/search_activity_sources.mozbuild') search_activity = add_java_jar('search-activity') search_activity.sources += [search_source_dir + '/' + f for f in search_activity_sources] search_activity.javac_flags += ['-Xlint:all'] search_activity.extra_jars = [ CONFIG['ANDROID_SUPPORT_ANNOTATIONS_JAR_LIB'], CONFIG['ANDROID_SUPPORT_V4_AAR_LIB'], CONFIG['ANDROID_SUPPORT_V4_AAR_INTERNAL_LIB'], 'constants.jar', 'gecko-R.jar', 'gecko-browser.jar', 'gecko-mozglue.jar', 'gecko-thirdparty.jar', 'gecko-util.jar', 'gecko-view.jar', ] FINAL_TARGET_PP_FILES += ['package-name.txt.in'] DEFINES['OBJDIR'] = OBJDIR DEFINES['TOPOBJDIR'] = TOPOBJDIR OBJDIR_PP_FILES.mobile.android.base += [ 'AndroidManifest.xml.in', ] gbjar.sources += ['generated/org/mozilla/gecko/' + x for x in [ 'media/ICodec.java', 'media/ICodecCallbacks.java', 'media/IMediaDrmBridge.java', 'media/IMediaDrmBridgeCallbacks.java', 'media/IMediaManager.java', ]]