Backed out changeset 2a368c09333a (bug 925185)
authorEd Morley <emorley@mozilla.com>
Fri, 25 Oct 2013 09:53:39 +0100
changeset 166042 55ffecb3e3b80b02c091b674cfcc429582fac214
parent 166041 7f4e3bf3de5c49a68ffd911ffbc48c917309f594
child 166043 cb59117d41f512ccb9b912bbbf2291b02d991827
push id3066
push userakeybl@mozilla.com
push dateMon, 09 Dec 2013 19:58:46 +0000
treeherdermozilla-beta@a31a0dce83aa [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs925185
milestone27.0a1
backs out2a368c09333a56c45518bc2b4a623e322a3f4903
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Backed out changeset 2a368c09333a (bug 925185)
build/annotationProcessors/Makefile.in
build/annotationProcessors/moz.build
config/config.mk
js/src/config/config.mk
mobile/android/base/Makefile.in
mobile/android/base/android-services-files.mk
mobile/android/base/android-services.mozbuild
mobile/android/base/moz.build
mobile/android/geckoview_library/Makefile.in
mobile/android/tests/background/junit3/Makefile.in
--- a/build/annotationProcessors/Makefile.in
+++ b/build/annotationProcessors/Makefile.in
@@ -1,12 +1,25 @@
 # 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/.
 
+JAVA_JAR_TARGETS += annotationProcessors
+annotationProcessors_DEST := annotationProcessors.jar
+annotationProcessors_JAVAFILES := \
+  AnnotationProcessor.java \
+  CodeGenerator.java \
+  MethodWithAnnotationInfo.java \
+  classloader/IterableJarLoadingURLClassLoader.java \
+  classloader/JarClassIterator.java \
+  utils/AlphabeticMethodComparator.java \
+  utils/GeneratableEntryPointIterator.java \
+  utils/Utils.java \
+  $(NULL)
+
 include $(topsrcdir)/config/rules.mk
 
 JAVA_CLASSPATH := $(ANDROID_SDK)/android.jar
 
 # Include Android specific java flags, instead of what's in rules.mk.
 include $(topsrcdir)/config/android-common.mk
 
 libs:: annotationProcessors.jar
--- a/build/annotationProcessors/moz.build
+++ b/build/annotationProcessors/moz.build
@@ -1,17 +1,5 @@
 # -*- 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/.
-
-jar = add_java_jar('annotationProcessors')
-jar.sources += [
-    'AnnotationProcessor.java',
-    'CodeGenerator.java',
-    'MethodWithAnnotationInfo.java',
-    'classloader/IterableJarLoadingURLClassLoader.java',
-    'classloader/JarClassIterator.java',
-    'utils/AlphabeticMethodComparator.java',
-    'utils/GeneratableEntryPointIterator.java',
-    'utils/Utils.java',
-]
--- a/config/config.mk
+++ b/config/config.mk
@@ -42,17 +42,16 @@ endif
   EXTRA_PP_COMPONENTS \
   EXTRA_PP_JS_MODULES \
   GTEST_CMMSRCS \
   GTEST_CPPSRCS \
   GTEST_CSRCS \
   HOST_CSRCS \
   HOST_LIBRARY_NAME \
   IS_COMPONENT \
-  JAVA_JAR_TARGETS \
   JS_MODULES_PATH \
   LIBRARY_NAME \
   LIBXUL_LIBRARY \
   MODULE \
   MSVC_ENABLE_PGO \
   NO_DIST_INSTALL \
   PARALLEL_DIRS \
   SDK_HEADERS \
--- a/js/src/config/config.mk
+++ b/js/src/config/config.mk
@@ -42,17 +42,16 @@ endif
   EXTRA_PP_COMPONENTS \
   EXTRA_PP_JS_MODULES \
   GTEST_CMMSRCS \
   GTEST_CPPSRCS \
   GTEST_CSRCS \
   HOST_CSRCS \
   HOST_LIBRARY_NAME \
   IS_COMPONENT \
-  JAVA_JAR_TARGETS \
   JS_MODULES_PATH \
   LIBRARY_NAME \
   LIBXUL_LIBRARY \
   MODULE \
   MSVC_ENABLE_PGO \
   NO_DIST_INSTALL \
   PARALLEL_DIRS \
   SDK_HEADERS \
--- a/mobile/android/base/Makefile.in
+++ b/mobile/android/base/Makefile.in
@@ -1,20 +1,330 @@
 # 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/.
 
 DIST_FILES = package-name.txt
 
 include $(topsrcdir)/mobile/android/base/android-services-files.mk
 
+MOZGLUE_JAVA_FILES := \
+  mozglue/ByteBufferInputStream.java \
+  mozglue/DirectBufferAllocator.java \
+  mozglue/GeneratableAndroidBridgeTarget.java \
+  mozglue/NativeReference.java \
+  mozglue/NativeZip.java \
+  mozglue/OptionalGeneratedParameter.java \
+  $(NULL)
+
+MOZGLUE_PP_JAVA_FILES := \
+  mozglue/GeckoLoader.java \
+  $(NULL)
+
+UTIL_JAVA_FILES := \
+  util/ActivityResultHandler.java \
+  util/ActivityResultHandlerMap.java \
+  util/Clipboard.java \
+  util/EventDispatcher.java \
+  util/FloatUtils.java \
+  util/GamepadUtils.java \
+  util/GeckoBackgroundThread.java \
+  util/GeckoEventListener.java \
+  util/GeckoEventResponder.java \
+  util/GeckoJarReader.java \
+  util/HardwareUtils.java \
+  util/INIParser.java \
+  util/INISection.java \
+  util/JSONUtils.java \
+  util/StringUtils.java \
+  util/ThreadUtils.java \
+  util/UiAsyncTask.java \
+  $(NULL)
+
+FENNEC_JAVA_FILES = \
+  ANRReporter.java \
+  ActivityHandlerHelper.java \
+  AlertNotification.java \
+  AlignRightLinkPreference.java \
+  AllCapsTextView.java \
+  AndroidImport.java \
+  AndroidImportPreference.java \
+  AnimatedHeightLayout.java \
+  AppNotificationClient.java \
+  AutocompleteHandler.java \
+  animation/AnimatorProxy.java \
+  animation/HeightChangeAnimation.java \
+  animation/PropertyAnimator.java \
+  animation/Rotate3DAnimation.java \
+  animation/ViewHelper.java \
+  BackButton.java \
+  BaseGeckoInterface.java \
+  BrowserApp.java \
+  BrowserToolbar.java \
+  BrowserToolbarBackground.java \
+  CameraImageResultHandler.java \
+  CameraVideoResultHandler.java \
+  CanvasDelegate.java \
+  CheckableLinearLayout.java \
+  ClickableWhenDisabledEditText.java \
+  ContactService.java \
+  ContextGetter.java \
+  CustomEditText.java \
+  db/BrowserDB.java \
+  db/LocalBrowserDB.java \
+  db/DBUtils.java \
+  DataReportingNotification.java \
+  Distribution.java \
+  DoorHanger.java \
+  DoorHangerPopup.java \
+  EditBookmarkDialog.java \
+  favicons/cache/FaviconCache.java \
+  favicons/cache/FaviconCacheElement.java \
+  favicons/cache/FaviconsForURL.java \
+  favicons/Favicons.java \
+  favicons/LoadFaviconTask.java \
+  favicons/OnFaviconLoadedListener.java \
+  FilePickerResultHandler.java \
+  FilePickerResultHandlerSync.java \
+  FindInPageBar.java \
+  FlowLayout.java \
+  FontSizePreference.java \
+  FormAssistPopup.java \
+  ForwardButton.java \
+  GeckoAccessibility.java \
+  GeckoApplication.java \
+  GeckoApp.java \
+  GeckoAppShell.java \
+  GeckoActivity.java \
+  GeckoBatteryManager.java \
+  GeckoConnectivityReceiver.java \
+  GeckoEditable.java \
+  GeckoEvent.java \
+  GeckoHalDefines.java \
+  GeckoInputConnection.java \
+  GeckoMessageReceiver.java \
+  GeckoPreferences.java \
+  GeckoPreferenceFragment.java \
+  GeckoProfile.java \
+  GeckoSmsManager.java \
+  GeckoThread.java \
+  GeckoJavaSampler.java \
+  GlobalHistory.java \
+  GeckoView.java \
+  health/BrowserHealthRecorder.java \
+  health/BrowserHealthReporter.java \
+  InputMethods.java \
+  JavaAddonManager.java \
+  LightweightTheme.java \
+  LightweightThemeDrawable.java \
+  LinkPreference.java \
+  MemoryMonitor.java \
+  MotionEventInterceptor.java \
+  MultiChoicePreference.java \
+  NotificationClient.java \
+  NotificationHandler.java \
+  NotificationHelper.java \
+  NotificationService.java \
+  NSSBridge.java \
+  OrderedBroadcastHelper.java \
+  PageActionLayout.java \
+  PrefsHelper.java \
+  PrivateDataPreference.java \
+  PrivateTab.java \
+  prompts/Prompt.java \
+  prompts/PromptInput.java \
+  prompts/PromptService.java \
+  prompts/IconGridInput.java \
+  Restarter.java \
+  sqlite/ByteBufferInputStream.java \
+  sqlite/MatrixBlobCursor.java \
+  sqlite/SQLiteBridge.java \
+  sqlite/SQLiteBridgeException.java \
+  ReaderModeUtils.java \
+  RemoteTabs.java \
+  RobocopAPI.java \
+  ServiceNotificationClient.java \
+  ScrollAnimator.java \
+  SessionParser.java \
+  ShapedButton.java \
+  SharedPreferencesHelper.java \
+  SiteIdentityPopup.java \
+  SmsManager.java \
+  SurfaceBits.java \
+  SyncPreference.java \
+  Tab.java \
+  TabCounter.java \
+  Tabs.java \
+  TabsPanel.java \
+  TabsTray.java \
+  TabsAccessor.java \
+  Telemetry.java \
+  TextSelection.java \
+  TextSelectionHandle.java \
+  ThumbnailHelper.java \
+  TouchEventInterceptor.java \
+  VideoPlayer.java \
+  WebAppAllocator.java \
+  WebAppImpl.java \
+  ZoomConstraints.java \
+  db/BrowserContract.java \
+  db/BrowserProvider.java \
+  db/FormHistoryProvider.java \
+  db/PerProfileContentProvider.java \
+  db/PasswordsProvider.java \
+  db/TabsProvider.java \
+  gfx/Axis.java \
+  gfx/BitmapUtils.java \
+  gfx/BufferedCairoImage.java \
+  gfx/CairoGLInfo.java \
+  gfx/CairoImage.java \
+  gfx/CairoUtils.java \
+  gfx/DisplayPortCalculator.java \
+  gfx/DisplayPortMetrics.java \
+  gfx/DrawTimingQueue.java \
+  gfx/FloatSize.java \
+  gfx/GeckoLayerClient.java \
+  gfx/GfxInfoThread.java \
+  gfx/GLController.java \
+  gfx/ImmutableViewportMetrics.java \
+  gfx/InputConnectionHandler.java \
+  gfx/IntSize.java \
+  gfx/JavaPanZoomController.java \
+  gfx/Layer.java \
+  gfx/LayerMarginsAnimator.java \
+  gfx/LayerRenderer.java \
+  gfx/LayerView.java \
+  gfx/NativePanZoomController.java \
+  gfx/NinePatchTileLayer.java \
+  gfx/Overscroll.java \
+  gfx/PanningPerfAPI.java \
+  gfx/PanZoomController.java \
+  gfx/PanZoomTarget.java \
+  gfx/PluginLayer.java \
+  gfx/PointUtils.java \
+  gfx/ProgressiveUpdateData.java \
+  gfx/RectUtils.java \
+  gfx/RenderTask.java \
+  gfx/ScrollbarLayer.java \
+  gfx/SimpleScaleGestureDetector.java \
+  gfx/SingleTileLayer.java \
+  gfx/SubdocumentScrollHelper.java \
+  gfx/TextLayer.java \
+  gfx/TextureGenerator.java \
+  gfx/TextureReaper.java \
+  gfx/TileLayer.java \
+  gfx/TouchEventHandler.java \
+  gfx/ViewTransform.java \
+  gfx/VirtualLayer.java \
+  home/BookmarksListAdapter.java \
+  home/BookmarksListView.java \
+  home/BookmarksPage.java \
+  home/BookmarkFolderView.java \
+  home/BrowserSearch.java \
+  home/HistoryPage.java \
+  home/HomeFragment.java \
+  home/HomeListView.java \
+  home/HomePager.java \
+  home/HomePagerTabStrip.java \
+  home/HomeBanner.java \
+  home/FadedTextView.java \
+  home/LastTabsPage.java \
+  home/MostRecentPage.java \
+  home/MultiTypeCursorAdapter.java \
+  home/PinSiteDialog.java \
+  home/ReadingListPage.java \
+  home/SearchEngine.java \
+  home/SearchEngineRow.java \
+  home/SearchLoader.java \
+  home/SimpleCursorLoader.java \
+  home/SuggestClient.java \
+  home/TabMenuStrip.java \
+  home/TopSitesGridItemView.java \
+  home/TopSitesGridView.java \
+  home/TopSitesPage.java \
+  home/TopSitesThumbnailView.java \
+  home/TwoLinePageRow.java \
+  menu/GeckoMenu.java \
+  menu/GeckoMenuInflater.java \
+  menu/GeckoMenuItem.java \
+  menu/GeckoSubMenu.java \
+  menu/MenuItemActionBar.java \
+  menu/MenuItemActionView.java \
+  menu/MenuItemDefault.java \
+  menu/MenuPanel.java \
+  menu/MenuPopup.java \
+  preferences/SearchPreferenceCategory.java \
+  preferences/SearchEnginePreference.java \
+  updater/UpdateServiceHelper.java \
+  updater/UpdateService.java \
+  widget/ActivityChooserModel.java \
+  widget/ButtonToast.java \
+  widget/ArrowPopup.java \
+  widget/DateTimePicker.java \
+  widget/Divider.java \
+  widget/FaviconView.java \
+  widget/GeckoPopupMenu.java \
+  widget/GeckoActionProvider.java \
+  widget/IconTabWidget.java \
+  widget/TabRow.java \
+  widget/ThumbnailView.java \
+  widget/TwoWayView.java \
+  GeckoNetworkManager.java \
+  GeckoScreenOrientationListener.java \
+  GeckoUpdateReceiver.java \
+  ReferrerReceiver.java \
+  $(NULL)
+
+BRAILLE_JAVA_FILES := \
+  com/googlecode/eyesfree/braille/selfbraille/ISelfBrailleService.java \
+  com/googlecode/eyesfree/braille/selfbraille/SelfBrailleClient.java \
+  com/googlecode/eyesfree/braille/selfbraille/WriteData.java \
+  $(NULL)
+
+WEBSOCKETS_JAVA_FILES := \
+  com/codebutler/android_websockets/HybiParser.java \
+  com/codebutler/android_websockets/WebSocketClient.java \
+  $(NULL)
+
+ifdef MOZ_WEBRTC
+WEBRTC_VIDEO_CAPTURE_JAVA_FILES = \
+  CaptureCapabilityAndroid.java \
+  VideoCaptureAndroid.java \
+  VideoCaptureDeviceInfoAndroid.java \
+  $(NULL)
+
+WEBRTC_AUDIO_CAPTURE_JAVA_FILES = \
+  WebRTCAudioDevice.java \
+  $(NULL)
+
+WEBRTC_JAVA_FILES = \
+  $(addprefix $(DEPTH)/media/webrtc/trunk/webrtc/modules/video_capture/android/java/org/webrtc/videoengine/, $(WEBRTC_VIDEO_CAPTURE_JAVA_FILES)) \
+  $(addprefix $(DEPTH)/media/webrtc/trunk/webrtc/modules/audio_device/android/org/webrtc/voiceengine/, $(WEBRTC_AUDIO_CAPTURE_JAVA_FILES)) \
+  $(NULL)
+endif
+
 ifdef MOZ_ANDROID_ANR_REPORTER
 DEFINES += -DMOZ_ANDROID_ANR_REPORTER=1
 endif
 
+FENNEC_PP_JAVA_FILES := \
+  App.java \
+  AppConstants.java \
+  widget/GeckoEditText.java \
+  widget/GeckoImageButton.java \
+  widget/GeckoImageView.java \
+  widget/GeckoLinearLayout.java \
+  widget/GeckoRelativeLayout.java \
+  widget/GeckoTextSwitcher.java \
+  widget/GeckoTextView.java \
+  SysInfo.java \
+  WebApp.java \
+  WebApps.java \
+  $(NULL)
+
 ifneq (,$(findstring -march=armv7,$(OS_CFLAGS)))
 MIN_CPU_VERSION=7
 else
 MIN_CPU_VERSION=5
 endif
 
 MOZ_APP_BUILDID=$(shell cat $(DEPTH)/config/buildid)
 
@@ -73,22 +383,22 @@ DEFINES += \
 ifdef MOZ_PKG_SPECIAL
 DEFINES += -DMOZ_PKG_SPECIAL=$(MOZ_PKG_SPECIAL)
 endif
 
 ifdef MOZ_LINKER_EXTRACT
 DEFINES += -DMOZ_LINKER_EXTRACT=1
 endif
 
-PP_JAVAFILES = $(filter-out R.java,$(gecko-mozglue_PP_JAVAFILES) $(gecko-browser_PP_JAVAFILES))
-
 GARBAGE += \
   AndroidManifest.xml  \
   classes.dex  \
-  $(PP_JAVAFILES) \
+  $(MOZGLUE_PP_JAVA_FILES) \
+  $(FENNEC_PP_JAVA_FILES) \
+  $(SYNC_PP_JAVA_FILES) \
   gecko.ap_  \
   res/values/strings.xml \
   R.java \
   package-name.txt \
   fennec_ids.txt \
   Manifest.java \
   javah.out \
   jni-stubs.inc \
@@ -106,28 +416,104 @@ ICON_PATH_XHDPI = $(topsrcdir)/$(MOZ_BRA
 ICON_PATH_XXHDPI = $(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/content/fennec_144x144.png
 else
 ICON_PATH = $(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/content/icon48.png
 ICON_PATH_HDPI = $(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/content/icon64.png
 endif
 
 JAVA_CLASSPATH = $(ANDROID_SDK)/android.jar
 
+ifdef MOZ_CRASHREPORTER
+FENNEC_JAVA_FILES += CrashReporter.java
+endif
+
 ALL_JARS = \
-  gecko-browser.jar \
-  gecko-mozglue.jar \
-  gecko-util.jar \
-  sync-thirdparty.jar \
-  websockets.jar \
+  jars/gecko-browser.jar \
+  jars/gecko-mozglue.jar \
+  jars/gecko-util.jar \
+  jars/sync-thirdparty.jar \
+  jars/websockets.jar \
   $(NULL)
 
 ifdef MOZ_WEBRTC
-ALL_JARS += webrtc.jar
+ALL_JARS += jars/webrtc.jar
 endif
 
+thirdparty_source_dir = $(topsrcdir)/mobile/android/thirdparty
+
+JAVA_JAR_TARGETS += websockets
+websockets_DEST := jars/websockets.jar
+websockets_JAVAFILES := \
+  $(addprefix $(thirdparty_source_dir)/,$(WEBSOCKETS_JAVA_FILES)) \
+  $(NULL)
+websockets_JAVAC_FLAGS := -Xlint:all,-serial
+
+JAVA_JAR_TARGETS += gecko-browser
+gecko-browser_DEST := jars/gecko-browser.jar
+gecko-browser_JAVAFILES := \
+  $(FENNEC_JAVA_FILES) \
+  $(addprefix $(thirdparty_source_dir)/,$(BRAILLE_JAVA_FILES)) \
+  $(SYNC_JAVA_FILES) \
+  $(NULL)
+gecko-browser_PP_JAVAFILES := \
+  $(FENNEC_PP_JAVA_FILES) \
+  $(SYNC_PP_JAVA_FILES) \
+  R.java \
+  $(NULL)
+gecko-browser_EXTRA_JARS := \
+  jars/gecko-mozglue.jar \
+  jars/gecko-util.jar \
+  jars/sync-thirdparty.jar \
+  jars/websockets.jar \
+  $(NULL)
+gecko-browser_JAVAC_FLAGS := -Xlint:all,-deprecation,-fallthrough
+
+JAVA_JAR_TARGETS += gecko-mozglue
+gecko-mozglue_DEST := jars/gecko-mozglue.jar
+gecko-mozglue_JAVAFILES := \
+  $(MOZGLUE_JAVA_FILES) \
+  $(NULL)
+gecko-mozglue_PP_JAVAFILES := \
+  $(MOZGLUE_PP_JAVA_FILES) \
+  $(NULL)
+gecko-mozglue_JAVAC_FLAGS := -Xlint:all
+
+JAVA_JAR_TARGETS += gecko-util
+gecko-util_DEST := jars/gecko-util.jar
+gecko-util_JAVAFILES := \
+  $(UTIL_JAVA_FILES) \
+  $(NULL)
+gecko-util_EXTRA_JARS := \
+  jars/gecko-mozglue.jar \
+  $(NULL)
+gecko-util_JAVAC_FLAGS := -Xlint:all,-deprecation
+
+JAVA_JAR_TARGETS += sync-thirdparty
+sync-thirdparty_DEST := jars/sync-thirdparty.jar
+sync-thirdparty_JAVAFILES := \
+  $(addprefix $(thirdparty_source_dir)/,$(SYNC_THIRDPARTY_JAVA_FILES)) \
+  $(NULL)
+sync-thirdparty_JAVAC_FLAGS := -Xlint:none
+
+ifdef MOZ_WEBRTC
+JAVA_JAR_TARGETS += webrtc
+webrtc_DEST := jars/webrtc.jar
+webrtc_JAVAFILES := \
+  $(WEBRTC_JAVA_FILES) \
+  $(NULL)
+webrtc_EXTRA_JARS := \
+  jars/gecko-browser.jar \
+  jars/gecko-util.jar \
+  jars/gecko-mozglue.jar \
+  $(NULL)
+webrtc_JAVAC_FLAGS := -Xlint:all,-deprecation,-cast
+endif
+
+include $(topsrcdir)/config/makefiles/java-build.mk
+
 # We process ANDROID_RESFILES specially for now; the following flag
 # disables the default processing.
 IGNORE_ANDROID_RESFILES=1
 
 include $(topsrcdir)/config/rules.mk
 
 # Override the Java settings with some specific android settings
 include $(topsrcdir)/config/android-common.mk
@@ -152,40 +538,44 @@ ifdef MOZ_WEBSMS_BACKEND
 # Note: if you are building with MOZ_WEBSMS_BACKEND turned on, then
 # you will get a build error because the generated jni-stubs.inc will
 # be different than the one checked in (i.e. it will have the sms-related
 # JNI stubs as well). Just copy the generated file to mozglue/android/
 # like the error message says and rebuild. All should be well after that.
 CLASSES_WITH_JNI += org.mozilla.gecko.GeckoSmsManager
 endif
 
-jni-stubs.inc: gecko-browser.jar gecko-mozglue.jar gecko-util.jar sync-thirdparty.jar
+jni-stubs.inc: jars/gecko-browser.jar jars/gecko-mozglue.jar jars/gecko-util.jar jars/sync-thirdparty.jar
 	$(JAVAH) -o javah.out -bootclasspath $(JAVA_BOOTCLASSPATH) -classpath $(subst $(NULL) $(NULL),:,$^) $(CLASSES_WITH_JNI)
 	$(PYTHON) $(topsrcdir)/mobile/android/base/jni-generator.py javah.out $@
 
 ANNOTATION_PROCESSOR_JAR_FILES := $(DEPTH)/build/annotationProcessors/annotationProcessors.jar
 
 GeneratedJNIWrappers.cpp: $(ANNOTATION_PROCESSOR_JAR_FILES)
 GeneratedJNIWrappers.cpp: $(ALL_JARS)
 	$(JAVA) -classpath $(JAVA_BOOTCLASSPATH):$(ANNOTATION_PROCESSOR_JAR_FILES) org.mozilla.gecko.annotationProcessors.AnnotationProcessor $(ALL_JARS)
 
 # AndroidManifest.xml includes these files, so they need to be marked as dependencies.
 SERVICES_MANIFEST_FRAGMENTS = $(wildcard $(topsrcdir)/mobile/android/services/manifests/*.in)
 
 android-tgts = \
   AndroidManifest.xml \
+  $(MOZGLUE_PP_JAVA_FILES) \
+  $(FENNEC_PP_JAVA_FILES) \
+  $(SYNC_PP_JAVA_FILES) \
   package-name.txt \
-  $(PP_JAVAFILES) \
   $(NULL)
 
 android-preqs = \
   Makefile.in \
   widget/GeckoView.java.frag \
+  $(call mkdir_deps,$(sort $(dir $(MOZGLUE_PP_JAVA_FILES)))) \
+  $(call mkdir_deps,$(sort $(dir $(FENNEC_PP_JAVA_FILES)))) \
+  $(call mkdir_deps,$(sort $(dir $(SYNC_PP_JAVA_FILES)))) \
   $(SERVICES_MANIFEST_FRAGMENTS) \
-  $(call mkdir_deps,$(sort $(dir $(PP_JAVAFILES)))) \
   $(NULL)
 
 $(android-tgts): % : %.in $(android-preqs)
 	$(PYTHON) $(topsrcdir)/config/Preprocessor.py \
              $(AUTOMATION_PPARGS) $(DEFINES) $(ACDEFINES) $< > $@
 
 res/drawable-mdpi/icon.png: $(ICON_PATH)
 	$(NSINSTALL) -D res/drawable-mdpi
new file mode 100644
--- /dev/null
+++ b/mobile/android/base/android-services-files.mk
@@ -0,0 +1,771 @@
+# 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/.
+
+# These files are managed in the android-sync repo. Do not modify directly, or your changes will be lost.
+SYNC_PP_JAVA_FILES := \
+  background/common/GlobalConstants.java \
+  sync/SyncConstants.java \
+  background/announcements/AnnouncementsConstants.java \
+  background/healthreport/HealthReportConstants.java \
+  $(NULL)
+
+SYNC_JAVA_FILES := \
+  background/announcements/Announcement.java \
+  background/announcements/AnnouncementPresenter.java \
+  background/announcements/AnnouncementsBroadcastReceiver.java \
+  background/announcements/AnnouncementsBroadcastService.java \
+  background/announcements/AnnouncementsFetchDelegate.java \
+  background/announcements/AnnouncementsFetcher.java \
+  background/announcements/AnnouncementsFetchResourceDelegate.java \
+  background/announcements/AnnouncementsService.java \
+  background/BackgroundService.java \
+  background/bagheera/BagheeraClient.java \
+  background/bagheera/BagheeraRequestDelegate.java \
+  background/bagheera/BoundedByteArrayEntity.java \
+  background/bagheera/DeflateHelper.java \
+  background/common/DateUtils.java \
+  background/common/log/Logger.java \
+  background/common/log/writers/AndroidLevelCachingLogWriter.java \
+  background/common/log/writers/AndroidLogWriter.java \
+  background/common/log/writers/LevelFilteringLogWriter.java \
+  background/common/log/writers/LogWriter.java \
+  background/common/log/writers/PrintLogWriter.java \
+  background/common/log/writers/SimpleTagLogWriter.java \
+  background/common/log/writers/StringLogWriter.java \
+  background/common/log/writers/TagLogWriter.java \
+  background/common/log/writers/ThreadLocalTagLogWriter.java \
+  background/datareporting/TelemetryRecorder.java \
+  background/db/CursorDumper.java \
+  background/db/Tab.java \
+  background/healthreport/Environment.java \
+  background/healthreport/EnvironmentBuilder.java \
+  background/healthreport/EnvironmentV1.java \
+  background/healthreport/HealthReportBroadcastReceiver.java \
+  background/healthreport/HealthReportBroadcastService.java \
+  background/healthreport/HealthReportDatabases.java \
+  background/healthreport/HealthReportDatabaseStorage.java \
+  background/healthreport/HealthReportGenerator.java \
+  background/healthreport/HealthReportProvider.java \
+  background/healthreport/HealthReportStorage.java \
+  background/healthreport/HealthReportUtils.java \
+  background/healthreport/ProfileInformationCache.java \
+  background/healthreport/prune/HealthReportPruneService.java \
+  background/healthreport/prune/PrunePolicy.java \
+  background/healthreport/prune/PrunePolicyDatabaseStorage.java \
+  background/healthreport/prune/PrunePolicyStorage.java \
+  background/healthreport/upload/AndroidSubmissionClient.java \
+  background/healthreport/upload/HealthReportUploadService.java \
+  background/healthreport/upload/ObsoleteDocumentTracker.java \
+  background/healthreport/upload/SubmissionClient.java \
+  background/healthreport/upload/SubmissionPolicy.java \
+  sync/AlreadySyncingException.java \
+  sync/CollectionKeys.java \
+  sync/CommandProcessor.java \
+  sync/CommandRunner.java \
+  sync/config/AccountPickler.java \
+  sync/config/activities/SelectEnginesActivity.java \
+  sync/config/ClientRecordTerminator.java \
+  sync/config/ConfigurationMigrator.java \
+  sync/CredentialException.java \
+  sync/CredentialsSource.java \
+  sync/crypto/CryptoException.java \
+  sync/crypto/CryptoInfo.java \
+  sync/crypto/HKDF.java \
+  sync/crypto/HMACVerificationException.java \
+  sync/crypto/KeyBundle.java \
+  sync/crypto/MissingCryptoInputException.java \
+  sync/crypto/NoKeyBundleException.java \
+  sync/crypto/PersistedCrypto5Keys.java \
+  sync/CryptoRecord.java \
+  sync/DelayedWorkTracker.java \
+  sync/delegates/ClientsDataDelegate.java \
+  sync/delegates/FreshStartDelegate.java \
+  sync/delegates/GlobalSessionCallback.java \
+  sync/delegates/JSONRecordFetchDelegate.java \
+  sync/delegates/KeyUploadDelegate.java \
+  sync/delegates/MetaGlobalDelegate.java \
+  sync/delegates/WipeServerDelegate.java \
+  sync/EngineSettings.java \
+  sync/ExtendedJSONObject.java \
+  sync/GlobalSession.java \
+  sync/HTTPFailureException.java \
+  sync/InfoCollections.java \
+  sync/InfoCounts.java \
+  sync/jpake/BigIntegerHelper.java \
+  sync/jpake/Gx3OrGx4IsZeroOrOneException.java \
+  sync/jpake/IncorrectZkpException.java \
+  sync/jpake/JPakeClient.java \
+  sync/jpake/JPakeCrypto.java \
+  sync/jpake/JPakeJson.java \
+  sync/jpake/JPakeNoActivePairingException.java \
+  sync/jpake/JPakeNumGenerator.java \
+  sync/jpake/JPakeNumGeneratorRandom.java \
+  sync/jpake/JPakeParty.java \
+  sync/jpake/stage/CompleteStage.java \
+  sync/jpake/stage/ComputeFinalStage.java \
+  sync/jpake/stage/ComputeKeyVerificationStage.java \
+  sync/jpake/stage/ComputeStepOneStage.java \
+  sync/jpake/stage/ComputeStepTwoStage.java \
+  sync/jpake/stage/DecryptDataStage.java \
+  sync/jpake/stage/DeleteChannel.java \
+  sync/jpake/stage/GetChannelStage.java \
+  sync/jpake/stage/GetRequestStage.java \
+  sync/jpake/stage/JPakeStage.java \
+  sync/jpake/stage/PutRequestStage.java \
+  sync/jpake/stage/VerifyPairingStage.java \
+  sync/jpake/Zkp.java \
+  sync/JSONRecordFetcher.java \
+  sync/KeyBundleProvider.java \
+  sync/MetaGlobal.java \
+  sync/MetaGlobalException.java \
+  sync/MetaGlobalMissingEnginesException.java \
+  sync/MetaGlobalNotSetException.java \
+  sync/middleware/Crypto5MiddlewareRepository.java \
+  sync/middleware/Crypto5MiddlewareRepositorySession.java \
+  sync/middleware/MiddlewareRepository.java \
+  sync/middleware/MiddlewareRepositorySession.java \
+  sync/net/AuthHeaderProvider.java \
+  sync/net/BaseResource.java \
+  sync/net/BaseResourceDelegate.java \
+  sync/net/BasicAuthHeaderProvider.java \
+  sync/net/BrowserIDAuthHeaderProvider.java \
+  sync/net/ConnectionMonitorThread.java \
+  sync/net/HandleProgressException.java \
+  sync/net/HawkAuthHeaderProvider.java \
+  sync/net/HMACAuthHeaderProvider.java \
+  sync/net/HttpResponseObserver.java \
+  sync/net/Resource.java \
+  sync/net/ResourceDelegate.java \
+  sync/net/SyncResponse.java \
+  sync/net/SyncStorageCollectionRequest.java \
+  sync/net/SyncStorageCollectionRequestDelegate.java \
+  sync/net/SyncStorageRecordRequest.java \
+  sync/net/SyncStorageRequest.java \
+  sync/net/SyncStorageRequestDelegate.java \
+  sync/net/SyncStorageRequestIncrementalDelegate.java \
+  sync/net/SyncStorageResponse.java \
+  sync/net/TLSSocketFactory.java \
+  sync/net/WBOCollectionRequestDelegate.java \
+  sync/net/WBORequestDelegate.java \
+  sync/NoCollectionKeysSetException.java \
+  sync/NodeAuthenticationException.java \
+  sync/NonArrayJSONException.java \
+  sync/NonObjectJSONException.java \
+  sync/NullClusterURLException.java \
+  sync/PersistedMetaGlobal.java \
+  sync/PrefsSource.java \
+  sync/receivers/SyncAccountDeletedReceiver.java \
+  sync/receivers/SyncAccountDeletedService.java \
+  sync/receivers/UpgradeReceiver.java \
+  sync/repositories/android/AndroidBrowserBookmarksDataAccessor.java \
+  sync/repositories/android/AndroidBrowserBookmarksRepository.java \
+  sync/repositories/android/AndroidBrowserBookmarksRepositorySession.java \
+  sync/repositories/android/AndroidBrowserHistoryDataAccessor.java \
+  sync/repositories/android/AndroidBrowserHistoryDataExtender.java \
+  sync/repositories/android/AndroidBrowserHistoryRepository.java \
+  sync/repositories/android/AndroidBrowserHistoryRepositorySession.java \
+  sync/repositories/android/AndroidBrowserRepository.java \
+  sync/repositories/android/AndroidBrowserRepositoryDataAccessor.java \
+  sync/repositories/android/AndroidBrowserRepositorySession.java \
+  sync/repositories/android/BookmarksDeletionManager.java \
+  sync/repositories/android/BookmarksInsertionManager.java \
+  sync/repositories/android/BrowserContractHelpers.java \
+  sync/repositories/android/CachedSQLiteOpenHelper.java \
+  sync/repositories/android/ClientsDatabase.java \
+  sync/repositories/android/ClientsDatabaseAccessor.java \
+  sync/repositories/android/FennecTabsRepository.java \
+  sync/repositories/android/FormHistoryRepositorySession.java \
+  sync/repositories/android/PasswordsRepositorySession.java \
+  sync/repositories/android/RepoUtils.java \
+  sync/repositories/BookmarkNeedsReparentingException.java \
+  sync/repositories/BookmarksRepository.java \
+  sync/repositories/ConstrainedServer11Repository.java \
+  sync/repositories/delegates/DeferrableRepositorySessionCreationDelegate.java \
+  sync/repositories/delegates/DeferredRepositorySessionBeginDelegate.java \
+  sync/repositories/delegates/DeferredRepositorySessionFetchRecordsDelegate.java \
+  sync/repositories/delegates/DeferredRepositorySessionFinishDelegate.java \
+  sync/repositories/delegates/DeferredRepositorySessionStoreDelegate.java \
+  sync/repositories/delegates/RepositorySessionBeginDelegate.java \
+  sync/repositories/delegates/RepositorySessionCleanDelegate.java \
+  sync/repositories/delegates/RepositorySessionCreationDelegate.java \
+  sync/repositories/delegates/RepositorySessionFetchRecordsDelegate.java \
+  sync/repositories/delegates/RepositorySessionFinishDelegate.java \
+  sync/repositories/delegates/RepositorySessionGuidsSinceDelegate.java \
+  sync/repositories/delegates/RepositorySessionStoreDelegate.java \
+  sync/repositories/delegates/RepositorySessionWipeDelegate.java \
+  sync/repositories/domain/BookmarkRecord.java \
+  sync/repositories/domain/BookmarkRecordFactory.java \
+  sync/repositories/domain/ClientRecord.java \
+  sync/repositories/domain/ClientRecordFactory.java \
+  sync/repositories/domain/FormHistoryRecord.java \
+  sync/repositories/domain/HistoryRecord.java \
+  sync/repositories/domain/HistoryRecordFactory.java \
+  sync/repositories/domain/PasswordRecord.java \
+  sync/repositories/domain/Record.java \
+  sync/repositories/domain/RecordParseException.java \
+  sync/repositories/domain/TabsRecord.java \
+  sync/repositories/domain/VersionConstants.java \
+  sync/repositories/FetchFailedException.java \
+  sync/repositories/HashSetStoreTracker.java \
+  sync/repositories/HistoryRepository.java \
+  sync/repositories/IdentityRecordFactory.java \
+  sync/repositories/InactiveSessionException.java \
+  sync/repositories/InvalidBookmarkTypeException.java \
+  sync/repositories/InvalidRequestException.java \
+  sync/repositories/InvalidSessionTransitionException.java \
+  sync/repositories/MultipleRecordsForGuidException.java \
+  sync/repositories/NoContentProviderException.java \
+  sync/repositories/NoGuidForIdException.java \
+  sync/repositories/NoStoreDelegateException.java \
+  sync/repositories/NullCursorException.java \
+  sync/repositories/ParentNotFoundException.java \
+  sync/repositories/ProfileDatabaseException.java \
+  sync/repositories/RecordFactory.java \
+  sync/repositories/RecordFilter.java \
+  sync/repositories/Repository.java \
+  sync/repositories/RepositorySession.java \
+  sync/repositories/RepositorySessionBundle.java \
+  sync/repositories/Server11Repository.java \
+  sync/repositories/Server11RepositorySession.java \
+  sync/repositories/StoreFailedException.java \
+  sync/repositories/StoreTracker.java \
+  sync/repositories/StoreTrackingRepositorySession.java \
+  sync/Server11PreviousPostFailedException.java \
+  sync/Server11RecordPostFailedException.java \
+  sync/setup/activities/AccountActivity.java \
+  sync/setup/activities/ActivityUtils.java \
+  sync/setup/activities/ClientRecordArrayAdapter.java \
+  sync/setup/activities/RedirectToSetupActivity.java \
+  sync/setup/activities/SendTabActivity.java \
+  sync/setup/activities/SendTabData.java \
+  sync/setup/activities/SetupFailureActivity.java \
+  sync/setup/activities/SetupSuccessActivity.java \
+  sync/setup/activities/SetupSyncActivity.java \
+  sync/setup/activities/SyncActivity.java \
+  sync/setup/activities/WebURLFinder.java \
+  sync/setup/activities/WebViewActivity.java \
+  sync/setup/auth/AccountAuthenticator.java \
+  sync/setup/auth/AuthenticateAccountStage.java \
+  sync/setup/auth/AuthenticationResult.java \
+  sync/setup/auth/AuthenticatorStage.java \
+  sync/setup/auth/EnsureUserExistenceStage.java \
+  sync/setup/auth/FetchUserNodeStage.java \
+  sync/setup/Constants.java \
+  sync/setup/InvalidSyncKeyException.java \
+  sync/setup/SyncAccounts.java \
+  sync/setup/SyncAuthenticatorService.java \
+  sync/stage/AbstractNonRepositorySyncStage.java \
+  sync/stage/AbstractSessionManagingSyncStage.java \
+  sync/stage/AndroidBrowserBookmarksServerSyncStage.java \
+  sync/stage/AndroidBrowserHistoryServerSyncStage.java \
+  sync/stage/CheckPreconditionsStage.java \
+  sync/stage/CompletedStage.java \
+  sync/stage/EnsureClusterURLStage.java \
+  sync/stage/EnsureCrypto5KeysStage.java \
+  sync/stage/FennecTabsServerSyncStage.java \
+  sync/stage/FetchInfoCollectionsStage.java \
+  sync/stage/FetchMetaGlobalStage.java \
+  sync/stage/FormHistoryServerSyncStage.java \
+  sync/stage/GlobalSyncStage.java \
+  sync/stage/NoSuchStageException.java \
+  sync/stage/NoSyncIDException.java \
+  sync/stage/PasswordsServerSyncStage.java \
+  sync/stage/SafeConstrainedServer11Repository.java \
+  sync/stage/ServerSyncStage.java \
+  sync/stage/SyncClientsEngineStage.java \
+  sync/stage/UploadMetaGlobalStage.java \
+  sync/syncadapter/SyncAdapter.java \
+  sync/syncadapter/SyncService.java \
+  sync/SyncConfiguration.java \
+  sync/SyncConfigurationException.java \
+  sync/SyncException.java \
+  sync/synchronizer/ConcurrentRecordConsumer.java \
+  sync/synchronizer/RecordConsumer.java \
+  sync/synchronizer/RecordsChannel.java \
+  sync/synchronizer/RecordsChannelDelegate.java \
+  sync/synchronizer/RecordsConsumerDelegate.java \
+  sync/synchronizer/SerialRecordConsumer.java \
+  sync/synchronizer/ServerLocalSynchronizer.java \
+  sync/synchronizer/ServerLocalSynchronizerSession.java \
+  sync/synchronizer/SessionNotBegunException.java \
+  sync/synchronizer/Synchronizer.java \
+  sync/synchronizer/SynchronizerDelegate.java \
+  sync/synchronizer/SynchronizerSession.java \
+  sync/synchronizer/SynchronizerSessionDelegate.java \
+  sync/synchronizer/UnbundleError.java \
+  sync/synchronizer/UnexpectedSessionException.java \
+  sync/SynchronizerConfiguration.java \
+  sync/ThreadPool.java \
+  sync/UnexpectedJSONException.java \
+  sync/UnknownSynchronizerConfigurationVersionException.java \
+  sync/Utils.java \
+  $(NULL)
+
+SYNC_THIRDPARTY_JAVA_FILES := \
+  ch/boye/httpclientandroidlib/androidextra/HttpClientAndroidLog.java \
+  ch/boye/httpclientandroidlib/annotation/GuardedBy.java \
+  ch/boye/httpclientandroidlib/annotation/Immutable.java \
+  ch/boye/httpclientandroidlib/annotation/NotThreadSafe.java \
+  ch/boye/httpclientandroidlib/annotation/ThreadSafe.java \
+  ch/boye/httpclientandroidlib/auth/AUTH.java \
+  ch/boye/httpclientandroidlib/auth/AuthenticationException.java \
+  ch/boye/httpclientandroidlib/auth/AuthScheme.java \
+  ch/boye/httpclientandroidlib/auth/AuthSchemeFactory.java \
+  ch/boye/httpclientandroidlib/auth/AuthSchemeRegistry.java \
+  ch/boye/httpclientandroidlib/auth/AuthScope.java \
+  ch/boye/httpclientandroidlib/auth/AuthState.java \
+  ch/boye/httpclientandroidlib/auth/BasicUserPrincipal.java \
+  ch/boye/httpclientandroidlib/auth/ContextAwareAuthScheme.java \
+  ch/boye/httpclientandroidlib/auth/Credentials.java \
+  ch/boye/httpclientandroidlib/auth/InvalidCredentialsException.java \
+  ch/boye/httpclientandroidlib/auth/MalformedChallengeException.java \
+  ch/boye/httpclientandroidlib/auth/NTCredentials.java \
+  ch/boye/httpclientandroidlib/auth/NTUserPrincipal.java \
+  ch/boye/httpclientandroidlib/auth/params/AuthParamBean.java \
+  ch/boye/httpclientandroidlib/auth/params/AuthParams.java \
+  ch/boye/httpclientandroidlib/auth/params/AuthPNames.java \
+  ch/boye/httpclientandroidlib/auth/UsernamePasswordCredentials.java \
+  ch/boye/httpclientandroidlib/client/AuthCache.java \
+  ch/boye/httpclientandroidlib/client/AuthenticationHandler.java \
+  ch/boye/httpclientandroidlib/client/CircularRedirectException.java \
+  ch/boye/httpclientandroidlib/client/ClientProtocolException.java \
+  ch/boye/httpclientandroidlib/client/CookieStore.java \
+  ch/boye/httpclientandroidlib/client/CredentialsProvider.java \
+  ch/boye/httpclientandroidlib/client/entity/DecompressingEntity.java \
+  ch/boye/httpclientandroidlib/client/entity/DeflateDecompressingEntity.java \
+  ch/boye/httpclientandroidlib/client/entity/GzipDecompressingEntity.java \
+  ch/boye/httpclientandroidlib/client/entity/UrlEncodedFormEntity.java \
+  ch/boye/httpclientandroidlib/client/HttpClient.java \
+  ch/boye/httpclientandroidlib/client/HttpRequestRetryHandler.java \
+  ch/boye/httpclientandroidlib/client/HttpResponseException.java \
+  ch/boye/httpclientandroidlib/client/methods/AbortableHttpRequest.java \
+  ch/boye/httpclientandroidlib/client/methods/HttpDelete.java \
+  ch/boye/httpclientandroidlib/client/methods/HttpEntityEnclosingRequestBase.java \
+  ch/boye/httpclientandroidlib/client/methods/HttpGet.java \
+  ch/boye/httpclientandroidlib/client/methods/HttpHead.java \
+  ch/boye/httpclientandroidlib/client/methods/HttpOptions.java \
+  ch/boye/httpclientandroidlib/client/methods/HttpPost.java \
+  ch/boye/httpclientandroidlib/client/methods/HttpPut.java \
+  ch/boye/httpclientandroidlib/client/methods/HttpRequestBase.java \
+  ch/boye/httpclientandroidlib/client/methods/HttpTrace.java \
+  ch/boye/httpclientandroidlib/client/methods/HttpUriRequest.java \
+  ch/boye/httpclientandroidlib/client/NonRepeatableRequestException.java \
+  ch/boye/httpclientandroidlib/client/params/AllClientPNames.java \
+  ch/boye/httpclientandroidlib/client/params/AuthPolicy.java \
+  ch/boye/httpclientandroidlib/client/params/ClientParamBean.java \
+  ch/boye/httpclientandroidlib/client/params/ClientPNames.java \
+  ch/boye/httpclientandroidlib/client/params/CookiePolicy.java \
+  ch/boye/httpclientandroidlib/client/params/HttpClientParams.java \
+  ch/boye/httpclientandroidlib/client/protocol/ClientContext.java \
+  ch/boye/httpclientandroidlib/client/protocol/ClientContextConfigurer.java \
+  ch/boye/httpclientandroidlib/client/protocol/RequestAcceptEncoding.java \
+  ch/boye/httpclientandroidlib/client/protocol/RequestAddCookies.java \
+  ch/boye/httpclientandroidlib/client/protocol/RequestAuthCache.java \
+  ch/boye/httpclientandroidlib/client/protocol/RequestClientConnControl.java \
+  ch/boye/httpclientandroidlib/client/protocol/RequestDefaultHeaders.java \
+  ch/boye/httpclientandroidlib/client/protocol/RequestProxyAuthentication.java \
+  ch/boye/httpclientandroidlib/client/protocol/RequestTargetAuthentication.java \
+  ch/boye/httpclientandroidlib/client/protocol/ResponseAuthCache.java \
+  ch/boye/httpclientandroidlib/client/protocol/ResponseContentEncoding.java \
+  ch/boye/httpclientandroidlib/client/protocol/ResponseProcessCookies.java \
+  ch/boye/httpclientandroidlib/client/RedirectException.java \
+  ch/boye/httpclientandroidlib/client/RedirectHandler.java \
+  ch/boye/httpclientandroidlib/client/RedirectStrategy.java \
+  ch/boye/httpclientandroidlib/client/RequestDirector.java \
+  ch/boye/httpclientandroidlib/client/ResponseHandler.java \
+  ch/boye/httpclientandroidlib/client/UserTokenHandler.java \
+  ch/boye/httpclientandroidlib/client/utils/CloneUtils.java \
+  ch/boye/httpclientandroidlib/client/utils/Idn.java \
+  ch/boye/httpclientandroidlib/client/utils/JdkIdn.java \
+  ch/boye/httpclientandroidlib/client/utils/Punycode.java \
+  ch/boye/httpclientandroidlib/client/utils/Rfc3492Idn.java \
+  ch/boye/httpclientandroidlib/client/utils/URIUtils.java \
+  ch/boye/httpclientandroidlib/client/utils/URLEncodedUtils.java \
+  ch/boye/httpclientandroidlib/conn/BasicEofSensorWatcher.java \
+  ch/boye/httpclientandroidlib/conn/BasicManagedEntity.java \
+  ch/boye/httpclientandroidlib/conn/ClientConnectionManager.java \
+  ch/boye/httpclientandroidlib/conn/ClientConnectionManagerFactory.java \
+  ch/boye/httpclientandroidlib/conn/ClientConnectionOperator.java \
+  ch/boye/httpclientandroidlib/conn/ClientConnectionRequest.java \
+  ch/boye/httpclientandroidlib/conn/ConnectionKeepAliveStrategy.java \
+  ch/boye/httpclientandroidlib/conn/ConnectionPoolTimeoutException.java \
+  ch/boye/httpclientandroidlib/conn/ConnectionReleaseTrigger.java \
+  ch/boye/httpclientandroidlib/conn/ConnectTimeoutException.java \
+  ch/boye/httpclientandroidlib/conn/EofSensorInputStream.java \
+  ch/boye/httpclientandroidlib/conn/EofSensorWatcher.java \
+  ch/boye/httpclientandroidlib/conn/HttpHostConnectException.java \
+  ch/boye/httpclientandroidlib/conn/HttpRoutedConnection.java \
+  ch/boye/httpclientandroidlib/conn/ManagedClientConnection.java \
+  ch/boye/httpclientandroidlib/conn/MultihomePlainSocketFactory.java \
+  ch/boye/httpclientandroidlib/conn/OperatedClientConnection.java \
+  ch/boye/httpclientandroidlib/conn/params/ConnConnectionParamBean.java \
+  ch/boye/httpclientandroidlib/conn/params/ConnConnectionPNames.java \
+  ch/boye/httpclientandroidlib/conn/params/ConnManagerParamBean.java \
+  ch/boye/httpclientandroidlib/conn/params/ConnManagerParams.java \
+  ch/boye/httpclientandroidlib/conn/params/ConnManagerPNames.java \
+  ch/boye/httpclientandroidlib/conn/params/ConnPerRoute.java \
+  ch/boye/httpclientandroidlib/conn/params/ConnPerRouteBean.java \
+  ch/boye/httpclientandroidlib/conn/params/ConnRouteParamBean.java \
+  ch/boye/httpclientandroidlib/conn/params/ConnRouteParams.java \
+  ch/boye/httpclientandroidlib/conn/params/ConnRoutePNames.java \
+  ch/boye/httpclientandroidlib/conn/routing/BasicRouteDirector.java \
+  ch/boye/httpclientandroidlib/conn/routing/HttpRoute.java \
+  ch/boye/httpclientandroidlib/conn/routing/HttpRouteDirector.java \
+  ch/boye/httpclientandroidlib/conn/routing/HttpRoutePlanner.java \
+  ch/boye/httpclientandroidlib/conn/routing/RouteInfo.java \
+  ch/boye/httpclientandroidlib/conn/routing/RouteTracker.java \
+  ch/boye/httpclientandroidlib/conn/scheme/HostNameResolver.java \
+  ch/boye/httpclientandroidlib/conn/scheme/LayeredSchemeSocketFactory.java \
+  ch/boye/httpclientandroidlib/conn/scheme/LayeredSchemeSocketFactoryAdaptor.java \
+  ch/boye/httpclientandroidlib/conn/scheme/LayeredSocketFactory.java \
+  ch/boye/httpclientandroidlib/conn/scheme/LayeredSocketFactoryAdaptor.java \
+  ch/boye/httpclientandroidlib/conn/scheme/PlainSocketFactory.java \
+  ch/boye/httpclientandroidlib/conn/scheme/Scheme.java \
+  ch/boye/httpclientandroidlib/conn/scheme/SchemeRegistry.java \
+  ch/boye/httpclientandroidlib/conn/scheme/SchemeSocketFactory.java \
+  ch/boye/httpclientandroidlib/conn/scheme/SchemeSocketFactoryAdaptor.java \
+  ch/boye/httpclientandroidlib/conn/scheme/SocketFactory.java \
+  ch/boye/httpclientandroidlib/conn/scheme/SocketFactoryAdaptor.java \
+  ch/boye/httpclientandroidlib/conn/ssl/AbstractVerifier.java \
+  ch/boye/httpclientandroidlib/conn/ssl/AllowAllHostnameVerifier.java \
+  ch/boye/httpclientandroidlib/conn/ssl/BrowserCompatHostnameVerifier.java \
+  ch/boye/httpclientandroidlib/conn/ssl/SSLSocketFactory.java \
+  ch/boye/httpclientandroidlib/conn/ssl/StrictHostnameVerifier.java \
+  ch/boye/httpclientandroidlib/conn/ssl/TrustManagerDecorator.java \
+  ch/boye/httpclientandroidlib/conn/ssl/TrustSelfSignedStrategy.java \
+  ch/boye/httpclientandroidlib/conn/ssl/TrustStrategy.java \
+  ch/boye/httpclientandroidlib/conn/ssl/X509HostnameVerifier.java \
+  ch/boye/httpclientandroidlib/conn/util/InetAddressUtils.java \
+  ch/boye/httpclientandroidlib/ConnectionClosedException.java \
+  ch/boye/httpclientandroidlib/ConnectionReuseStrategy.java \
+  ch/boye/httpclientandroidlib/cookie/ClientCookie.java \
+  ch/boye/httpclientandroidlib/cookie/Cookie.java \
+  ch/boye/httpclientandroidlib/cookie/CookieAttributeHandler.java \
+  ch/boye/httpclientandroidlib/cookie/CookieIdentityComparator.java \
+  ch/boye/httpclientandroidlib/cookie/CookieOrigin.java \
+  ch/boye/httpclientandroidlib/cookie/CookiePathComparator.java \
+  ch/boye/httpclientandroidlib/cookie/CookieRestrictionViolationException.java \
+  ch/boye/httpclientandroidlib/cookie/CookieSpec.java \
+  ch/boye/httpclientandroidlib/cookie/CookieSpecFactory.java \
+  ch/boye/httpclientandroidlib/cookie/CookieSpecRegistry.java \
+  ch/boye/httpclientandroidlib/cookie/MalformedCookieException.java \
+  ch/boye/httpclientandroidlib/cookie/params/CookieSpecParamBean.java \
+  ch/boye/httpclientandroidlib/cookie/params/CookieSpecPNames.java \
+  ch/boye/httpclientandroidlib/cookie/SetCookie.java \
+  ch/boye/httpclientandroidlib/cookie/SetCookie2.java \
+  ch/boye/httpclientandroidlib/cookie/SM.java \
+  ch/boye/httpclientandroidlib/entity/AbstractHttpEntity.java \
+  ch/boye/httpclientandroidlib/entity/BasicHttpEntity.java \
+  ch/boye/httpclientandroidlib/entity/BufferedHttpEntity.java \
+  ch/boye/httpclientandroidlib/entity/ByteArrayEntity.java \
+  ch/boye/httpclientandroidlib/entity/ContentLengthStrategy.java \
+  ch/boye/httpclientandroidlib/entity/ContentProducer.java \
+  ch/boye/httpclientandroidlib/entity/EntityTemplate.java \
+  ch/boye/httpclientandroidlib/entity/FileEntity.java \
+  ch/boye/httpclientandroidlib/entity/HttpEntityWrapper.java \
+  ch/boye/httpclientandroidlib/entity/InputStreamEntity.java \
+  ch/boye/httpclientandroidlib/entity/SerializableEntity.java \
+  ch/boye/httpclientandroidlib/entity/StringEntity.java \
+  ch/boye/httpclientandroidlib/FormattedHeader.java \
+  ch/boye/httpclientandroidlib/Header.java \
+  ch/boye/httpclientandroidlib/HeaderElement.java \
+  ch/boye/httpclientandroidlib/HeaderElementIterator.java \
+  ch/boye/httpclientandroidlib/HeaderIterator.java \
+  ch/boye/httpclientandroidlib/HttpClientConnection.java \
+  ch/boye/httpclientandroidlib/HttpConnection.java \
+  ch/boye/httpclientandroidlib/HttpConnectionMetrics.java \
+  ch/boye/httpclientandroidlib/HttpEntity.java \
+  ch/boye/httpclientandroidlib/HttpEntityEnclosingRequest.java \
+  ch/boye/httpclientandroidlib/HttpException.java \
+  ch/boye/httpclientandroidlib/HttpHeaders.java \
+  ch/boye/httpclientandroidlib/HttpHost.java \
+  ch/boye/httpclientandroidlib/HttpInetConnection.java \
+  ch/boye/httpclientandroidlib/HttpMessage.java \
+  ch/boye/httpclientandroidlib/HttpRequest.java \
+  ch/boye/httpclientandroidlib/HttpRequestFactory.java \
+  ch/boye/httpclientandroidlib/HttpRequestInterceptor.java \
+  ch/boye/httpclientandroidlib/HttpResponse.java \
+  ch/boye/httpclientandroidlib/HttpResponseFactory.java \
+  ch/boye/httpclientandroidlib/HttpResponseInterceptor.java \
+  ch/boye/httpclientandroidlib/HttpServerConnection.java \
+  ch/boye/httpclientandroidlib/HttpStatus.java \
+  ch/boye/httpclientandroidlib/HttpVersion.java \
+  ch/boye/httpclientandroidlib/impl/AbstractHttpClientConnection.java \
+  ch/boye/httpclientandroidlib/impl/AbstractHttpServerConnection.java \
+  ch/boye/httpclientandroidlib/impl/auth/AuthSchemeBase.java \
+  ch/boye/httpclientandroidlib/impl/auth/BasicScheme.java \
+  ch/boye/httpclientandroidlib/impl/auth/BasicSchemeFactory.java \
+  ch/boye/httpclientandroidlib/impl/auth/DigestScheme.java \
+  ch/boye/httpclientandroidlib/impl/auth/DigestSchemeFactory.java \
+  ch/boye/httpclientandroidlib/impl/auth/NTLMEngine.java \
+  ch/boye/httpclientandroidlib/impl/auth/NTLMEngineException.java \
+  ch/boye/httpclientandroidlib/impl/auth/NTLMEngineImpl.java \
+  ch/boye/httpclientandroidlib/impl/auth/NTLMScheme.java \
+  ch/boye/httpclientandroidlib/impl/auth/NTLMSchemeFactory.java \
+  ch/boye/httpclientandroidlib/impl/auth/RFC2617Scheme.java \
+  ch/boye/httpclientandroidlib/impl/auth/SpnegoTokenGenerator.java \
+  ch/boye/httpclientandroidlib/impl/auth/UnsupportedDigestAlgorithmException.java \
+  ch/boye/httpclientandroidlib/impl/client/AbstractAuthenticationHandler.java \
+  ch/boye/httpclientandroidlib/impl/client/AbstractHttpClient.java \
+  ch/boye/httpclientandroidlib/impl/client/BasicAuthCache.java \
+  ch/boye/httpclientandroidlib/impl/client/BasicCookieStore.java \
+  ch/boye/httpclientandroidlib/impl/client/BasicCredentialsProvider.java \
+  ch/boye/httpclientandroidlib/impl/client/BasicResponseHandler.java \
+  ch/boye/httpclientandroidlib/impl/client/ClientParamsStack.java \
+  ch/boye/httpclientandroidlib/impl/client/ContentEncodingHttpClient.java \
+  ch/boye/httpclientandroidlib/impl/client/DefaultConnectionKeepAliveStrategy.java \
+  ch/boye/httpclientandroidlib/impl/client/DefaultHttpClient.java \
+  ch/boye/httpclientandroidlib/impl/client/DefaultHttpRequestRetryHandler.java \
+  ch/boye/httpclientandroidlib/impl/client/DefaultProxyAuthenticationHandler.java \
+  ch/boye/httpclientandroidlib/impl/client/DefaultRedirectHandler.java \
+  ch/boye/httpclientandroidlib/impl/client/DefaultRedirectStrategy.java \
+  ch/boye/httpclientandroidlib/impl/client/DefaultRedirectStrategyAdaptor.java \
+  ch/boye/httpclientandroidlib/impl/client/DefaultRequestDirector.java \
+  ch/boye/httpclientandroidlib/impl/client/DefaultTargetAuthenticationHandler.java \
+  ch/boye/httpclientandroidlib/impl/client/DefaultUserTokenHandler.java \
+  ch/boye/httpclientandroidlib/impl/client/EntityEnclosingRequestWrapper.java \
+  ch/boye/httpclientandroidlib/impl/client/RedirectLocations.java \
+  ch/boye/httpclientandroidlib/impl/client/RequestWrapper.java \
+  ch/boye/httpclientandroidlib/impl/client/RoutedRequest.java \
+  ch/boye/httpclientandroidlib/impl/client/TunnelRefusedException.java \
+  ch/boye/httpclientandroidlib/impl/conn/AbstractClientConnAdapter.java \
+  ch/boye/httpclientandroidlib/impl/conn/AbstractPooledConnAdapter.java \
+  ch/boye/httpclientandroidlib/impl/conn/AbstractPoolEntry.java \
+  ch/boye/httpclientandroidlib/impl/conn/ConnectionShutdownException.java \
+  ch/boye/httpclientandroidlib/impl/conn/DefaultClientConnection.java \
+  ch/boye/httpclientandroidlib/impl/conn/DefaultClientConnectionOperator.java \
+  ch/boye/httpclientandroidlib/impl/conn/DefaultHttpRoutePlanner.java \
+  ch/boye/httpclientandroidlib/impl/conn/DefaultResponseParser.java \
+  ch/boye/httpclientandroidlib/impl/conn/HttpInetSocketAddress.java \
+  ch/boye/httpclientandroidlib/impl/conn/IdleConnectionHandler.java \
+  ch/boye/httpclientandroidlib/impl/conn/LoggingSessionInputBuffer.java \
+  ch/boye/httpclientandroidlib/impl/conn/LoggingSessionOutputBuffer.java \
+  ch/boye/httpclientandroidlib/impl/conn/ProxySelectorRoutePlanner.java \
+  ch/boye/httpclientandroidlib/impl/conn/SchemeRegistryFactory.java \
+  ch/boye/httpclientandroidlib/impl/conn/SingleClientConnManager.java \
+  ch/boye/httpclientandroidlib/impl/conn/tsccm/AbstractConnPool.java \
+  ch/boye/httpclientandroidlib/impl/conn/tsccm/BasicPooledConnAdapter.java \
+  ch/boye/httpclientandroidlib/impl/conn/tsccm/BasicPoolEntry.java \
+  ch/boye/httpclientandroidlib/impl/conn/tsccm/BasicPoolEntryRef.java \
+  ch/boye/httpclientandroidlib/impl/conn/tsccm/ConnPoolByRoute.java \
+  ch/boye/httpclientandroidlib/impl/conn/tsccm/PoolEntryRequest.java \
+  ch/boye/httpclientandroidlib/impl/conn/tsccm/RefQueueHandler.java \
+  ch/boye/httpclientandroidlib/impl/conn/tsccm/RefQueueWorker.java \
+  ch/boye/httpclientandroidlib/impl/conn/tsccm/RouteSpecificPool.java \
+  ch/boye/httpclientandroidlib/impl/conn/tsccm/ThreadSafeClientConnManager.java \
+  ch/boye/httpclientandroidlib/impl/conn/tsccm/WaitingThread.java \
+  ch/boye/httpclientandroidlib/impl/conn/tsccm/WaitingThreadAborter.java \
+  ch/boye/httpclientandroidlib/impl/conn/Wire.java \
+  ch/boye/httpclientandroidlib/impl/cookie/AbstractCookieAttributeHandler.java \
+  ch/boye/httpclientandroidlib/impl/cookie/AbstractCookieSpec.java \
+  ch/boye/httpclientandroidlib/impl/cookie/BasicClientCookie.java \
+  ch/boye/httpclientandroidlib/impl/cookie/BasicClientCookie2.java \
+  ch/boye/httpclientandroidlib/impl/cookie/BasicCommentHandler.java \
+  ch/boye/httpclientandroidlib/impl/cookie/BasicDomainHandler.java \
+  ch/boye/httpclientandroidlib/impl/cookie/BasicExpiresHandler.java \
+  ch/boye/httpclientandroidlib/impl/cookie/BasicMaxAgeHandler.java \
+  ch/boye/httpclientandroidlib/impl/cookie/BasicPathHandler.java \
+  ch/boye/httpclientandroidlib/impl/cookie/BasicSecureHandler.java \
+  ch/boye/httpclientandroidlib/impl/cookie/BestMatchSpec.java \
+  ch/boye/httpclientandroidlib/impl/cookie/BestMatchSpecFactory.java \
+  ch/boye/httpclientandroidlib/impl/cookie/BrowserCompatSpec.java \
+  ch/boye/httpclientandroidlib/impl/cookie/BrowserCompatSpecFactory.java \
+  ch/boye/httpclientandroidlib/impl/cookie/CookieSpecBase.java \
+  ch/boye/httpclientandroidlib/impl/cookie/DateParseException.java \
+  ch/boye/httpclientandroidlib/impl/cookie/DateUtils.java \
+  ch/boye/httpclientandroidlib/impl/cookie/IgnoreSpec.java \
+  ch/boye/httpclientandroidlib/impl/cookie/IgnoreSpecFactory.java \
+  ch/boye/httpclientandroidlib/impl/cookie/NetscapeDomainHandler.java \
+  ch/boye/httpclientandroidlib/impl/cookie/NetscapeDraftHeaderParser.java \
+  ch/boye/httpclientandroidlib/impl/cookie/NetscapeDraftSpec.java \
+  ch/boye/httpclientandroidlib/impl/cookie/NetscapeDraftSpecFactory.java \
+  ch/boye/httpclientandroidlib/impl/cookie/PublicSuffixFilter.java \
+  ch/boye/httpclientandroidlib/impl/cookie/PublicSuffixListParser.java \
+  ch/boye/httpclientandroidlib/impl/cookie/RFC2109DomainHandler.java \
+  ch/boye/httpclientandroidlib/impl/cookie/RFC2109Spec.java \
+  ch/boye/httpclientandroidlib/impl/cookie/RFC2109SpecFactory.java \
+  ch/boye/httpclientandroidlib/impl/cookie/RFC2109VersionHandler.java \
+  ch/boye/httpclientandroidlib/impl/cookie/RFC2965CommentUrlAttributeHandler.java \
+  ch/boye/httpclientandroidlib/impl/cookie/RFC2965DiscardAttributeHandler.java \
+  ch/boye/httpclientandroidlib/impl/cookie/RFC2965DomainAttributeHandler.java \
+  ch/boye/httpclientandroidlib/impl/cookie/RFC2965PortAttributeHandler.java \
+  ch/boye/httpclientandroidlib/impl/cookie/RFC2965Spec.java \
+  ch/boye/httpclientandroidlib/impl/cookie/RFC2965SpecFactory.java \
+  ch/boye/httpclientandroidlib/impl/cookie/RFC2965VersionAttributeHandler.java \
+  ch/boye/httpclientandroidlib/impl/DefaultConnectionReuseStrategy.java \
+  ch/boye/httpclientandroidlib/impl/DefaultHttpClientConnection.java \
+  ch/boye/httpclientandroidlib/impl/DefaultHttpRequestFactory.java \
+  ch/boye/httpclientandroidlib/impl/DefaultHttpResponseFactory.java \
+  ch/boye/httpclientandroidlib/impl/DefaultHttpServerConnection.java \
+  ch/boye/httpclientandroidlib/impl/EnglishReasonPhraseCatalog.java \
+  ch/boye/httpclientandroidlib/impl/entity/EntityDeserializer.java \
+  ch/boye/httpclientandroidlib/impl/entity/EntitySerializer.java \
+  ch/boye/httpclientandroidlib/impl/entity/LaxContentLengthStrategy.java \
+  ch/boye/httpclientandroidlib/impl/entity/StrictContentLengthStrategy.java \
+  ch/boye/httpclientandroidlib/impl/HttpConnectionMetricsImpl.java \
+  ch/boye/httpclientandroidlib/impl/io/AbstractMessageParser.java \
+  ch/boye/httpclientandroidlib/impl/io/AbstractMessageWriter.java \
+  ch/boye/httpclientandroidlib/impl/io/AbstractSessionInputBuffer.java \
+  ch/boye/httpclientandroidlib/impl/io/AbstractSessionOutputBuffer.java \
+  ch/boye/httpclientandroidlib/impl/io/ChunkedInputStream.java \
+  ch/boye/httpclientandroidlib/impl/io/ChunkedOutputStream.java \
+  ch/boye/httpclientandroidlib/impl/io/ContentLengthInputStream.java \
+  ch/boye/httpclientandroidlib/impl/io/ContentLengthOutputStream.java \
+  ch/boye/httpclientandroidlib/impl/io/HttpRequestParser.java \
+  ch/boye/httpclientandroidlib/impl/io/HttpRequestWriter.java \
+  ch/boye/httpclientandroidlib/impl/io/HttpResponseParser.java \
+  ch/boye/httpclientandroidlib/impl/io/HttpResponseWriter.java \
+  ch/boye/httpclientandroidlib/impl/io/HttpTransportMetricsImpl.java \
+  ch/boye/httpclientandroidlib/impl/io/IdentityInputStream.java \
+  ch/boye/httpclientandroidlib/impl/io/IdentityOutputStream.java \
+  ch/boye/httpclientandroidlib/impl/io/SocketInputBuffer.java \
+  ch/boye/httpclientandroidlib/impl/io/SocketOutputBuffer.java \
+  ch/boye/httpclientandroidlib/impl/NoConnectionReuseStrategy.java \
+  ch/boye/httpclientandroidlib/impl/SocketHttpClientConnection.java \
+  ch/boye/httpclientandroidlib/impl/SocketHttpServerConnection.java \
+  ch/boye/httpclientandroidlib/io/BufferInfo.java \
+  ch/boye/httpclientandroidlib/io/EofSensor.java \
+  ch/boye/httpclientandroidlib/io/HttpMessageParser.java \
+  ch/boye/httpclientandroidlib/io/HttpMessageWriter.java \
+  ch/boye/httpclientandroidlib/io/HttpTransportMetrics.java \
+  ch/boye/httpclientandroidlib/io/SessionInputBuffer.java \
+  ch/boye/httpclientandroidlib/io/SessionOutputBuffer.java \
+  ch/boye/httpclientandroidlib/MalformedChunkCodingException.java \
+  ch/boye/httpclientandroidlib/message/AbstractHttpMessage.java \
+  ch/boye/httpclientandroidlib/message/BasicHeader.java \
+  ch/boye/httpclientandroidlib/message/BasicHeaderElement.java \
+  ch/boye/httpclientandroidlib/message/BasicHeaderElementIterator.java \
+  ch/boye/httpclientandroidlib/message/BasicHeaderIterator.java \
+  ch/boye/httpclientandroidlib/message/BasicHeaderValueFormatter.java \
+  ch/boye/httpclientandroidlib/message/BasicHeaderValueParser.java \
+  ch/boye/httpclientandroidlib/message/BasicHttpEntityEnclosingRequest.java \
+  ch/boye/httpclientandroidlib/message/BasicHttpRequest.java \
+  ch/boye/httpclientandroidlib/message/BasicHttpResponse.java \
+  ch/boye/httpclientandroidlib/message/BasicLineFormatter.java \
+  ch/boye/httpclientandroidlib/message/BasicLineParser.java \
+  ch/boye/httpclientandroidlib/message/BasicListHeaderIterator.java \
+  ch/boye/httpclientandroidlib/message/BasicNameValuePair.java \
+  ch/boye/httpclientandroidlib/message/BasicRequestLine.java \
+  ch/boye/httpclientandroidlib/message/BasicStatusLine.java \
+  ch/boye/httpclientandroidlib/message/BasicTokenIterator.java \
+  ch/boye/httpclientandroidlib/message/BufferedHeader.java \
+  ch/boye/httpclientandroidlib/message/HeaderGroup.java \
+  ch/boye/httpclientandroidlib/message/HeaderValueFormatter.java \
+  ch/boye/httpclientandroidlib/message/HeaderValueParser.java \
+  ch/boye/httpclientandroidlib/message/LineFormatter.java \
+  ch/boye/httpclientandroidlib/message/LineParser.java \
+  ch/boye/httpclientandroidlib/message/ParserCursor.java \
+  ch/boye/httpclientandroidlib/MethodNotSupportedException.java \
+  ch/boye/httpclientandroidlib/NameValuePair.java \
+  ch/boye/httpclientandroidlib/NoHttpResponseException.java \
+  ch/boye/httpclientandroidlib/params/AbstractHttpParams.java \
+  ch/boye/httpclientandroidlib/params/BasicHttpParams.java \
+  ch/boye/httpclientandroidlib/params/CoreConnectionPNames.java \
+  ch/boye/httpclientandroidlib/params/CoreProtocolPNames.java \
+  ch/boye/httpclientandroidlib/params/DefaultedHttpParams.java \
+  ch/boye/httpclientandroidlib/params/HttpAbstractParamBean.java \
+  ch/boye/httpclientandroidlib/params/HttpConnectionParamBean.java \
+  ch/boye/httpclientandroidlib/params/HttpConnectionParams.java \
+  ch/boye/httpclientandroidlib/params/HttpParams.java \
+  ch/boye/httpclientandroidlib/params/HttpProtocolParamBean.java \
+  ch/boye/httpclientandroidlib/params/HttpProtocolParams.java \
+  ch/boye/httpclientandroidlib/params/SyncBasicHttpParams.java \
+  ch/boye/httpclientandroidlib/ParseException.java \
+  ch/boye/httpclientandroidlib/protocol/BasicHttpContext.java \
+  ch/boye/httpclientandroidlib/protocol/BasicHttpProcessor.java \
+  ch/boye/httpclientandroidlib/protocol/DefaultedHttpContext.java \
+  ch/boye/httpclientandroidlib/protocol/ExecutionContext.java \
+  ch/boye/httpclientandroidlib/protocol/HTTP.java \
+  ch/boye/httpclientandroidlib/protocol/HttpContext.java \
+  ch/boye/httpclientandroidlib/protocol/HttpDateGenerator.java \
+  ch/boye/httpclientandroidlib/protocol/HttpExpectationVerifier.java \
+  ch/boye/httpclientandroidlib/protocol/HttpProcessor.java \
+  ch/boye/httpclientandroidlib/protocol/HttpRequestExecutor.java \
+  ch/boye/httpclientandroidlib/protocol/HttpRequestHandler.java \
+  ch/boye/httpclientandroidlib/protocol/HttpRequestHandlerRegistry.java \
+  ch/boye/httpclientandroidlib/protocol/HttpRequestHandlerResolver.java \
+  ch/boye/httpclientandroidlib/protocol/HttpRequestInterceptorList.java \
+  ch/boye/httpclientandroidlib/protocol/HttpResponseInterceptorList.java \
+  ch/boye/httpclientandroidlib/protocol/HttpService.java \
+  ch/boye/httpclientandroidlib/protocol/ImmutableHttpProcessor.java \
+  ch/boye/httpclientandroidlib/protocol/RequestConnControl.java \
+  ch/boye/httpclientandroidlib/protocol/RequestContent.java \
+  ch/boye/httpclientandroidlib/protocol/RequestDate.java \
+  ch/boye/httpclientandroidlib/protocol/RequestExpectContinue.java \
+  ch/boye/httpclientandroidlib/protocol/RequestTargetHost.java \
+  ch/boye/httpclientandroidlib/protocol/RequestUserAgent.java \
+  ch/boye/httpclientandroidlib/protocol/ResponseConnControl.java \
+  ch/boye/httpclientandroidlib/protocol/ResponseContent.java \
+  ch/boye/httpclientandroidlib/protocol/ResponseDate.java \
+  ch/boye/httpclientandroidlib/protocol/ResponseServer.java \
+  ch/boye/httpclientandroidlib/protocol/SyncBasicHttpContext.java \
+  ch/boye/httpclientandroidlib/protocol/UriPatternMatcher.java \
+  ch/boye/httpclientandroidlib/ProtocolException.java \
+  ch/boye/httpclientandroidlib/ProtocolVersion.java \
+  ch/boye/httpclientandroidlib/ReasonPhraseCatalog.java \
+  ch/boye/httpclientandroidlib/RequestLine.java \
+  ch/boye/httpclientandroidlib/StatusLine.java \
+  ch/boye/httpclientandroidlib/TokenIterator.java \
+  ch/boye/httpclientandroidlib/TruncatedChunkException.java \
+  ch/boye/httpclientandroidlib/UnsupportedHttpVersionException.java \
+  ch/boye/httpclientandroidlib/util/ByteArrayBuffer.java \
+  ch/boye/httpclientandroidlib/util/CharArrayBuffer.java \
+  ch/boye/httpclientandroidlib/util/EncodingUtils.java \
+  ch/boye/httpclientandroidlib/util/EntityUtils.java \
+  ch/boye/httpclientandroidlib/util/ExceptionUtils.java \
+  ch/boye/httpclientandroidlib/util/LangUtils.java \
+  ch/boye/httpclientandroidlib/util/VersionInfo.java \
+  org/json/simple/ItemList.java \
+  org/json/simple/JSONArray.java \
+  org/json/simple/JSONAware.java \
+  org/json/simple/JSONObject.java \
+  org/json/simple/JSONStreamAware.java \
+  org/json/simple/JSONValue.java \
+  org/json/simple/parser/ContainerFactory.java \
+  org/json/simple/parser/ContentHandler.java \
+  org/json/simple/parser/JSONParser.java \
+  org/json/simple/parser/ParseException.java \
+  org/json/simple/parser/Yylex.java \
+  org/json/simple/parser/Yytoken.java \
+  org/mozilla/apache/commons/codec/binary/Base32.java \
+  org/mozilla/apache/commons/codec/binary/Base32InputStream.java \
+  org/mozilla/apache/commons/codec/binary/Base32OutputStream.java \
+  org/mozilla/apache/commons/codec/binary/Base64.java \
+  org/mozilla/apache/commons/codec/binary/Base64InputStream.java \
+  org/mozilla/apache/commons/codec/binary/Base64OutputStream.java \
+  org/mozilla/apache/commons/codec/binary/BaseNCodec.java \
+  org/mozilla/apache/commons/codec/binary/BaseNCodecInputStream.java \
+  org/mozilla/apache/commons/codec/binary/BaseNCodecOutputStream.java \
+  org/mozilla/apache/commons/codec/binary/BinaryCodec.java \
+  org/mozilla/apache/commons/codec/binary/Hex.java \
+  org/mozilla/apache/commons/codec/binary/StringUtils.java \
+  org/mozilla/apache/commons/codec/BinaryDecoder.java \
+  org/mozilla/apache/commons/codec/BinaryEncoder.java \
+  org/mozilla/apache/commons/codec/CharEncoding.java \
+  org/mozilla/apache/commons/codec/Decoder.java \
+  org/mozilla/apache/commons/codec/DecoderException.java \
+  org/mozilla/apache/commons/codec/digest/DigestUtils.java \
+  org/mozilla/apache/commons/codec/Encoder.java \
+  org/mozilla/apache/commons/codec/EncoderException.java \
+  org/mozilla/apache/commons/codec/language/AbstractCaverphone.java \
+  org/mozilla/apache/commons/codec/language/Caverphone.java \
+  org/mozilla/apache/commons/codec/language/Caverphone1.java \
+  org/mozilla/apache/commons/codec/language/Caverphone2.java \
+  org/mozilla/apache/commons/codec/language/ColognePhonetic.java \
+  org/mozilla/apache/commons/codec/language/DoubleMetaphone.java \
+  org/mozilla/apache/commons/codec/language/Metaphone.java \
+  org/mozilla/apache/commons/codec/language/RefinedSoundex.java \
+  org/mozilla/apache/commons/codec/language/Soundex.java \
+  org/mozilla/apache/commons/codec/language/SoundexUtils.java \
+  org/mozilla/apache/commons/codec/net/BCodec.java \
+  org/mozilla/apache/commons/codec/net/QCodec.java \
+  org/mozilla/apache/commons/codec/net/QuotedPrintableCodec.java \
+  org/mozilla/apache/commons/codec/net/RFC1522Codec.java \
+  org/mozilla/apache/commons/codec/net/URLCodec.java \
+  org/mozilla/apache/commons/codec/net/Utils.java \
+  org/mozilla/apache/commons/codec/StringDecoder.java \
+  org/mozilla/apache/commons/codec/StringEncoder.java \
+  org/mozilla/apache/commons/codec/StringEncoderComparator.java \
+  $(NULL)
+
--- a/mobile/android/base/android-services.mozbuild
+++ b/mobile/android/base/android-services.mozbuild
@@ -21,774 +21,8 @@ ANDROID_RESFILES += [
     'resources/layout/sync_setup_webview.xml',
     'resources/values-large-v11/sync_styles.xml',
     'resources/values-v11/sync_styles.xml',
     'resources/values/sync_styles.xml',
     'resources/xml/sync_authenticator.xml',
     'resources/xml/sync_options.xml',
     'resources/xml/sync_syncadapter.xml',
 ]
-
-sync_thirdparty_java_files = [
-    'ch/boye/httpclientandroidlib/androidextra/HttpClientAndroidLog.java',
-    'ch/boye/httpclientandroidlib/annotation/GuardedBy.java',
-    'ch/boye/httpclientandroidlib/annotation/Immutable.java',
-    'ch/boye/httpclientandroidlib/annotation/NotThreadSafe.java',
-    'ch/boye/httpclientandroidlib/annotation/ThreadSafe.java',
-    'ch/boye/httpclientandroidlib/auth/AUTH.java',
-    'ch/boye/httpclientandroidlib/auth/AuthenticationException.java',
-    'ch/boye/httpclientandroidlib/auth/AuthScheme.java',
-    'ch/boye/httpclientandroidlib/auth/AuthSchemeFactory.java',
-    'ch/boye/httpclientandroidlib/auth/AuthSchemeRegistry.java',
-    'ch/boye/httpclientandroidlib/auth/AuthScope.java',
-    'ch/boye/httpclientandroidlib/auth/AuthState.java',
-    'ch/boye/httpclientandroidlib/auth/BasicUserPrincipal.java',
-    'ch/boye/httpclientandroidlib/auth/ContextAwareAuthScheme.java',
-    'ch/boye/httpclientandroidlib/auth/Credentials.java',
-    'ch/boye/httpclientandroidlib/auth/InvalidCredentialsException.java',
-    'ch/boye/httpclientandroidlib/auth/MalformedChallengeException.java',
-    'ch/boye/httpclientandroidlib/auth/NTCredentials.java',
-    'ch/boye/httpclientandroidlib/auth/NTUserPrincipal.java',
-    'ch/boye/httpclientandroidlib/auth/params/AuthParamBean.java',
-    'ch/boye/httpclientandroidlib/auth/params/AuthParams.java',
-    'ch/boye/httpclientandroidlib/auth/params/AuthPNames.java',
-    'ch/boye/httpclientandroidlib/auth/UsernamePasswordCredentials.java',
-    'ch/boye/httpclientandroidlib/client/AuthCache.java',
-    'ch/boye/httpclientandroidlib/client/AuthenticationHandler.java',
-    'ch/boye/httpclientandroidlib/client/CircularRedirectException.java',
-    'ch/boye/httpclientandroidlib/client/ClientProtocolException.java',
-    'ch/boye/httpclientandroidlib/client/CookieStore.java',
-    'ch/boye/httpclientandroidlib/client/CredentialsProvider.java',
-    'ch/boye/httpclientandroidlib/client/entity/DecompressingEntity.java',
-    'ch/boye/httpclientandroidlib/client/entity/DeflateDecompressingEntity.java',
-    'ch/boye/httpclientandroidlib/client/entity/GzipDecompressingEntity.java',
-    'ch/boye/httpclientandroidlib/client/entity/UrlEncodedFormEntity.java',
-    'ch/boye/httpclientandroidlib/client/HttpClient.java',
-    'ch/boye/httpclientandroidlib/client/HttpRequestRetryHandler.java',
-    'ch/boye/httpclientandroidlib/client/HttpResponseException.java',
-    'ch/boye/httpclientandroidlib/client/methods/AbortableHttpRequest.java',
-    'ch/boye/httpclientandroidlib/client/methods/HttpDelete.java',
-    'ch/boye/httpclientandroidlib/client/methods/HttpEntityEnclosingRequestBase.java',
-    'ch/boye/httpclientandroidlib/client/methods/HttpGet.java',
-    'ch/boye/httpclientandroidlib/client/methods/HttpHead.java',
-    'ch/boye/httpclientandroidlib/client/methods/HttpOptions.java',
-    'ch/boye/httpclientandroidlib/client/methods/HttpPost.java',
-    'ch/boye/httpclientandroidlib/client/methods/HttpPut.java',
-    'ch/boye/httpclientandroidlib/client/methods/HttpRequestBase.java',
-    'ch/boye/httpclientandroidlib/client/methods/HttpTrace.java',
-    'ch/boye/httpclientandroidlib/client/methods/HttpUriRequest.java',
-    'ch/boye/httpclientandroidlib/client/NonRepeatableRequestException.java',
-    'ch/boye/httpclientandroidlib/client/params/AllClientPNames.java',
-    'ch/boye/httpclientandroidlib/client/params/AuthPolicy.java',
-    'ch/boye/httpclientandroidlib/client/params/ClientParamBean.java',
-    'ch/boye/httpclientandroidlib/client/params/ClientPNames.java',
-    'ch/boye/httpclientandroidlib/client/params/CookiePolicy.java',
-    'ch/boye/httpclientandroidlib/client/params/HttpClientParams.java',
-    'ch/boye/httpclientandroidlib/client/protocol/ClientContext.java',
-    'ch/boye/httpclientandroidlib/client/protocol/ClientContextConfigurer.java',
-    'ch/boye/httpclientandroidlib/client/protocol/RequestAcceptEncoding.java',
-    'ch/boye/httpclientandroidlib/client/protocol/RequestAddCookies.java',
-    'ch/boye/httpclientandroidlib/client/protocol/RequestAuthCache.java',
-    'ch/boye/httpclientandroidlib/client/protocol/RequestClientConnControl.java',
-    'ch/boye/httpclientandroidlib/client/protocol/RequestDefaultHeaders.java',
-    'ch/boye/httpclientandroidlib/client/protocol/RequestProxyAuthentication.java',
-    'ch/boye/httpclientandroidlib/client/protocol/RequestTargetAuthentication.java',
-    'ch/boye/httpclientandroidlib/client/protocol/ResponseAuthCache.java',
-    'ch/boye/httpclientandroidlib/client/protocol/ResponseContentEncoding.java',
-    'ch/boye/httpclientandroidlib/client/protocol/ResponseProcessCookies.java',
-    'ch/boye/httpclientandroidlib/client/RedirectException.java',
-    'ch/boye/httpclientandroidlib/client/RedirectHandler.java',
-    'ch/boye/httpclientandroidlib/client/RedirectStrategy.java',
-    'ch/boye/httpclientandroidlib/client/RequestDirector.java',
-    'ch/boye/httpclientandroidlib/client/ResponseHandler.java',
-    'ch/boye/httpclientandroidlib/client/UserTokenHandler.java',
-    'ch/boye/httpclientandroidlib/client/utils/CloneUtils.java',
-    'ch/boye/httpclientandroidlib/client/utils/Idn.java',
-    'ch/boye/httpclientandroidlib/client/utils/JdkIdn.java',
-    'ch/boye/httpclientandroidlib/client/utils/Punycode.java',
-    'ch/boye/httpclientandroidlib/client/utils/Rfc3492Idn.java',
-    'ch/boye/httpclientandroidlib/client/utils/URIUtils.java',
-    'ch/boye/httpclientandroidlib/client/utils/URLEncodedUtils.java',
-    'ch/boye/httpclientandroidlib/conn/BasicEofSensorWatcher.java',
-    'ch/boye/httpclientandroidlib/conn/BasicManagedEntity.java',
-    'ch/boye/httpclientandroidlib/conn/ClientConnectionManager.java',
-    'ch/boye/httpclientandroidlib/conn/ClientConnectionManagerFactory.java',
-    'ch/boye/httpclientandroidlib/conn/ClientConnectionOperator.java',
-    'ch/boye/httpclientandroidlib/conn/ClientConnectionRequest.java',
-    'ch/boye/httpclientandroidlib/conn/ConnectionKeepAliveStrategy.java',
-    'ch/boye/httpclientandroidlib/conn/ConnectionPoolTimeoutException.java',
-    'ch/boye/httpclientandroidlib/conn/ConnectionReleaseTrigger.java',
-    'ch/boye/httpclientandroidlib/conn/ConnectTimeoutException.java',
-    'ch/boye/httpclientandroidlib/conn/EofSensorInputStream.java',
-    'ch/boye/httpclientandroidlib/conn/EofSensorWatcher.java',
-    'ch/boye/httpclientandroidlib/conn/HttpHostConnectException.java',
-    'ch/boye/httpclientandroidlib/conn/HttpRoutedConnection.java',
-    'ch/boye/httpclientandroidlib/conn/ManagedClientConnection.java',
-    'ch/boye/httpclientandroidlib/conn/MultihomePlainSocketFactory.java',
-    'ch/boye/httpclientandroidlib/conn/OperatedClientConnection.java',
-    'ch/boye/httpclientandroidlib/conn/params/ConnConnectionParamBean.java',
-    'ch/boye/httpclientandroidlib/conn/params/ConnConnectionPNames.java',
-    'ch/boye/httpclientandroidlib/conn/params/ConnManagerParamBean.java',
-    'ch/boye/httpclientandroidlib/conn/params/ConnManagerParams.java',
-    'ch/boye/httpclientandroidlib/conn/params/ConnManagerPNames.java',
-    'ch/boye/httpclientandroidlib/conn/params/ConnPerRoute.java',
-    'ch/boye/httpclientandroidlib/conn/params/ConnPerRouteBean.java',
-    'ch/boye/httpclientandroidlib/conn/params/ConnRouteParamBean.java',
-    'ch/boye/httpclientandroidlib/conn/params/ConnRouteParams.java',
-    'ch/boye/httpclientandroidlib/conn/params/ConnRoutePNames.java',
-    'ch/boye/httpclientandroidlib/conn/routing/BasicRouteDirector.java',
-    'ch/boye/httpclientandroidlib/conn/routing/HttpRoute.java',
-    'ch/boye/httpclientandroidlib/conn/routing/HttpRouteDirector.java',
-    'ch/boye/httpclientandroidlib/conn/routing/HttpRoutePlanner.java',
-    'ch/boye/httpclientandroidlib/conn/routing/RouteInfo.java',
-    'ch/boye/httpclientandroidlib/conn/routing/RouteTracker.java',
-    'ch/boye/httpclientandroidlib/conn/scheme/HostNameResolver.java',
-    'ch/boye/httpclientandroidlib/conn/scheme/LayeredSchemeSocketFactory.java',
-    'ch/boye/httpclientandroidlib/conn/scheme/LayeredSchemeSocketFactoryAdaptor.java',
-    'ch/boye/httpclientandroidlib/conn/scheme/LayeredSocketFactory.java',
-    'ch/boye/httpclientandroidlib/conn/scheme/LayeredSocketFactoryAdaptor.java',
-    'ch/boye/httpclientandroidlib/conn/scheme/PlainSocketFactory.java',
-    'ch/boye/httpclientandroidlib/conn/scheme/Scheme.java',
-    'ch/boye/httpclientandroidlib/conn/scheme/SchemeRegistry.java',
-    'ch/boye/httpclientandroidlib/conn/scheme/SchemeSocketFactory.java',
-    'ch/boye/httpclientandroidlib/conn/scheme/SchemeSocketFactoryAdaptor.java',
-    'ch/boye/httpclientandroidlib/conn/scheme/SocketFactory.java',
-    'ch/boye/httpclientandroidlib/conn/scheme/SocketFactoryAdaptor.java',
-    'ch/boye/httpclientandroidlib/conn/ssl/AbstractVerifier.java',
-    'ch/boye/httpclientandroidlib/conn/ssl/AllowAllHostnameVerifier.java',
-    'ch/boye/httpclientandroidlib/conn/ssl/BrowserCompatHostnameVerifier.java',
-    'ch/boye/httpclientandroidlib/conn/ssl/SSLSocketFactory.java',
-    'ch/boye/httpclientandroidlib/conn/ssl/StrictHostnameVerifier.java',
-    'ch/boye/httpclientandroidlib/conn/ssl/TrustManagerDecorator.java',
-    'ch/boye/httpclientandroidlib/conn/ssl/TrustSelfSignedStrategy.java',
-    'ch/boye/httpclientandroidlib/conn/ssl/TrustStrategy.java',
-    'ch/boye/httpclientandroidlib/conn/ssl/X509HostnameVerifier.java',
-    'ch/boye/httpclientandroidlib/conn/util/InetAddressUtils.java',
-    'ch/boye/httpclientandroidlib/ConnectionClosedException.java',
-    'ch/boye/httpclientandroidlib/ConnectionReuseStrategy.java',
-    'ch/boye/httpclientandroidlib/cookie/ClientCookie.java',
-    'ch/boye/httpclientandroidlib/cookie/Cookie.java',
-    'ch/boye/httpclientandroidlib/cookie/CookieAttributeHandler.java',
-    'ch/boye/httpclientandroidlib/cookie/CookieIdentityComparator.java',
-    'ch/boye/httpclientandroidlib/cookie/CookieOrigin.java',
-    'ch/boye/httpclientandroidlib/cookie/CookiePathComparator.java',
-    'ch/boye/httpclientandroidlib/cookie/CookieRestrictionViolationException.java',
-    'ch/boye/httpclientandroidlib/cookie/CookieSpec.java',
-    'ch/boye/httpclientandroidlib/cookie/CookieSpecFactory.java',
-    'ch/boye/httpclientandroidlib/cookie/CookieSpecRegistry.java',
-    'ch/boye/httpclientandroidlib/cookie/MalformedCookieException.java',
-    'ch/boye/httpclientandroidlib/cookie/params/CookieSpecParamBean.java',
-    'ch/boye/httpclientandroidlib/cookie/params/CookieSpecPNames.java',
-    'ch/boye/httpclientandroidlib/cookie/SetCookie.java',
-    'ch/boye/httpclientandroidlib/cookie/SetCookie2.java',
-    'ch/boye/httpclientandroidlib/cookie/SM.java',
-    'ch/boye/httpclientandroidlib/entity/AbstractHttpEntity.java',
-    'ch/boye/httpclientandroidlib/entity/BasicHttpEntity.java',
-    'ch/boye/httpclientandroidlib/entity/BufferedHttpEntity.java',
-    'ch/boye/httpclientandroidlib/entity/ByteArrayEntity.java',
-    'ch/boye/httpclientandroidlib/entity/ContentLengthStrategy.java',
-    'ch/boye/httpclientandroidlib/entity/ContentProducer.java',
-    'ch/boye/httpclientandroidlib/entity/EntityTemplate.java',
-    'ch/boye/httpclientandroidlib/entity/FileEntity.java',
-    'ch/boye/httpclientandroidlib/entity/HttpEntityWrapper.java',
-    'ch/boye/httpclientandroidlib/entity/InputStreamEntity.java',
-    'ch/boye/httpclientandroidlib/entity/SerializableEntity.java',
-    'ch/boye/httpclientandroidlib/entity/StringEntity.java',
-    'ch/boye/httpclientandroidlib/FormattedHeader.java',
-    'ch/boye/httpclientandroidlib/Header.java',
-    'ch/boye/httpclientandroidlib/HeaderElement.java',
-    'ch/boye/httpclientandroidlib/HeaderElementIterator.java',
-    'ch/boye/httpclientandroidlib/HeaderIterator.java',
-    'ch/boye/httpclientandroidlib/HttpClientConnection.java',
-    'ch/boye/httpclientandroidlib/HttpConnection.java',
-    'ch/boye/httpclientandroidlib/HttpConnectionMetrics.java',
-    'ch/boye/httpclientandroidlib/HttpEntity.java',
-    'ch/boye/httpclientandroidlib/HttpEntityEnclosingRequest.java',
-    'ch/boye/httpclientandroidlib/HttpException.java',
-    'ch/boye/httpclientandroidlib/HttpHeaders.java',
-    'ch/boye/httpclientandroidlib/HttpHost.java',
-    'ch/boye/httpclientandroidlib/HttpInetConnection.java',
-    'ch/boye/httpclientandroidlib/HttpMessage.java',
-    'ch/boye/httpclientandroidlib/HttpRequest.java',
-    'ch/boye/httpclientandroidlib/HttpRequestFactory.java',
-    'ch/boye/httpclientandroidlib/HttpRequestInterceptor.java',
-    'ch/boye/httpclientandroidlib/HttpResponse.java',
-    'ch/boye/httpclientandroidlib/HttpResponseFactory.java',
-    'ch/boye/httpclientandroidlib/HttpResponseInterceptor.java',
-    'ch/boye/httpclientandroidlib/HttpServerConnection.java',
-    'ch/boye/httpclientandroidlib/HttpStatus.java',
-    'ch/boye/httpclientandroidlib/HttpVersion.java',
-    'ch/boye/httpclientandroidlib/impl/AbstractHttpClientConnection.java',
-    'ch/boye/httpclientandroidlib/impl/AbstractHttpServerConnection.java',
-    'ch/boye/httpclientandroidlib/impl/auth/AuthSchemeBase.java',
-    'ch/boye/httpclientandroidlib/impl/auth/BasicScheme.java',
-    'ch/boye/httpclientandroidlib/impl/auth/BasicSchemeFactory.java',
-    'ch/boye/httpclientandroidlib/impl/auth/DigestScheme.java',
-    'ch/boye/httpclientandroidlib/impl/auth/DigestSchemeFactory.java',
-    'ch/boye/httpclientandroidlib/impl/auth/NTLMEngine.java',
-    'ch/boye/httpclientandroidlib/impl/auth/NTLMEngineException.java',
-    'ch/boye/httpclientandroidlib/impl/auth/NTLMEngineImpl.java',
-    'ch/boye/httpclientandroidlib/impl/auth/NTLMScheme.java',
-    'ch/boye/httpclientandroidlib/impl/auth/NTLMSchemeFactory.java',
-    'ch/boye/httpclientandroidlib/impl/auth/RFC2617Scheme.java',
-    'ch/boye/httpclientandroidlib/impl/auth/SpnegoTokenGenerator.java',
-    'ch/boye/httpclientandroidlib/impl/auth/UnsupportedDigestAlgorithmException.java',
-    'ch/boye/httpclientandroidlib/impl/client/AbstractAuthenticationHandler.java',
-    'ch/boye/httpclientandroidlib/impl/client/AbstractHttpClient.java',
-    'ch/boye/httpclientandroidlib/impl/client/BasicAuthCache.java',
-    'ch/boye/httpclientandroidlib/impl/client/BasicCookieStore.java',
-    'ch/boye/httpclientandroidlib/impl/client/BasicCredentialsProvider.java',
-    'ch/boye/httpclientandroidlib/impl/client/BasicResponseHandler.java',
-    'ch/boye/httpclientandroidlib/impl/client/ClientParamsStack.java',
-    'ch/boye/httpclientandroidlib/impl/client/ContentEncodingHttpClient.java',
-    'ch/boye/httpclientandroidlib/impl/client/DefaultConnectionKeepAliveStrategy.java',
-    'ch/boye/httpclientandroidlib/impl/client/DefaultHttpClient.java',
-    'ch/boye/httpclientandroidlib/impl/client/DefaultHttpRequestRetryHandler.java',
-    'ch/boye/httpclientandroidlib/impl/client/DefaultProxyAuthenticationHandler.java',
-    'ch/boye/httpclientandroidlib/impl/client/DefaultRedirectHandler.java',
-    'ch/boye/httpclientandroidlib/impl/client/DefaultRedirectStrategy.java',
-    'ch/boye/httpclientandroidlib/impl/client/DefaultRedirectStrategyAdaptor.java',
-    'ch/boye/httpclientandroidlib/impl/client/DefaultRequestDirector.java',
-    'ch/boye/httpclientandroidlib/impl/client/DefaultTargetAuthenticationHandler.java',
-    'ch/boye/httpclientandroidlib/impl/client/DefaultUserTokenHandler.java',
-    'ch/boye/httpclientandroidlib/impl/client/EntityEnclosingRequestWrapper.java',
-    'ch/boye/httpclientandroidlib/impl/client/RedirectLocations.java',
-    'ch/boye/httpclientandroidlib/impl/client/RequestWrapper.java',
-    'ch/boye/httpclientandroidlib/impl/client/RoutedRequest.java',
-    'ch/boye/httpclientandroidlib/impl/client/TunnelRefusedException.java',
-    'ch/boye/httpclientandroidlib/impl/conn/AbstractClientConnAdapter.java',
-    'ch/boye/httpclientandroidlib/impl/conn/AbstractPooledConnAdapter.java',
-    'ch/boye/httpclientandroidlib/impl/conn/AbstractPoolEntry.java',
-    'ch/boye/httpclientandroidlib/impl/conn/ConnectionShutdownException.java',
-    'ch/boye/httpclientandroidlib/impl/conn/DefaultClientConnection.java',
-    'ch/boye/httpclientandroidlib/impl/conn/DefaultClientConnectionOperator.java',
-    'ch/boye/httpclientandroidlib/impl/conn/DefaultHttpRoutePlanner.java',
-    'ch/boye/httpclientandroidlib/impl/conn/DefaultResponseParser.java',
-    'ch/boye/httpclientandroidlib/impl/conn/HttpInetSocketAddress.java',
-    'ch/boye/httpclientandroidlib/impl/conn/IdleConnectionHandler.java',
-    'ch/boye/httpclientandroidlib/impl/conn/LoggingSessionInputBuffer.java',
-    'ch/boye/httpclientandroidlib/impl/conn/LoggingSessionOutputBuffer.java',
-    'ch/boye/httpclientandroidlib/impl/conn/ProxySelectorRoutePlanner.java',
-    'ch/boye/httpclientandroidlib/impl/conn/SchemeRegistryFactory.java',
-    'ch/boye/httpclientandroidlib/impl/conn/SingleClientConnManager.java',
-    'ch/boye/httpclientandroidlib/impl/conn/tsccm/AbstractConnPool.java',
-    'ch/boye/httpclientandroidlib/impl/conn/tsccm/BasicPooledConnAdapter.java',
-    'ch/boye/httpclientandroidlib/impl/conn/tsccm/BasicPoolEntry.java',
-    'ch/boye/httpclientandroidlib/impl/conn/tsccm/BasicPoolEntryRef.java',
-    'ch/boye/httpclientandroidlib/impl/conn/tsccm/ConnPoolByRoute.java',
-    'ch/boye/httpclientandroidlib/impl/conn/tsccm/PoolEntryRequest.java',
-    'ch/boye/httpclientandroidlib/impl/conn/tsccm/RefQueueHandler.java',
-    'ch/boye/httpclientandroidlib/impl/conn/tsccm/RefQueueWorker.java',
-    'ch/boye/httpclientandroidlib/impl/conn/tsccm/RouteSpecificPool.java',
-    'ch/boye/httpclientandroidlib/impl/conn/tsccm/ThreadSafeClientConnManager.java',
-    'ch/boye/httpclientandroidlib/impl/conn/tsccm/WaitingThread.java',
-    'ch/boye/httpclientandroidlib/impl/conn/tsccm/WaitingThreadAborter.java',
-    'ch/boye/httpclientandroidlib/impl/conn/Wire.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/AbstractCookieAttributeHandler.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/AbstractCookieSpec.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/BasicClientCookie.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/BasicClientCookie2.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/BasicCommentHandler.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/BasicDomainHandler.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/BasicExpiresHandler.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/BasicMaxAgeHandler.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/BasicPathHandler.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/BasicSecureHandler.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/BestMatchSpec.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/BestMatchSpecFactory.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/BrowserCompatSpec.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/BrowserCompatSpecFactory.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/CookieSpecBase.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/DateParseException.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/DateUtils.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/IgnoreSpec.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/IgnoreSpecFactory.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/NetscapeDomainHandler.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/NetscapeDraftHeaderParser.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/NetscapeDraftSpec.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/NetscapeDraftSpecFactory.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/PublicSuffixFilter.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/PublicSuffixListParser.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/RFC2109DomainHandler.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/RFC2109Spec.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/RFC2109SpecFactory.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/RFC2109VersionHandler.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/RFC2965CommentUrlAttributeHandler.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/RFC2965DiscardAttributeHandler.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/RFC2965DomainAttributeHandler.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/RFC2965PortAttributeHandler.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/RFC2965Spec.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/RFC2965SpecFactory.java',
-    'ch/boye/httpclientandroidlib/impl/cookie/RFC2965VersionAttributeHandler.java',
-    'ch/boye/httpclientandroidlib/impl/DefaultConnectionReuseStrategy.java',
-    'ch/boye/httpclientandroidlib/impl/DefaultHttpClientConnection.java',
-    'ch/boye/httpclientandroidlib/impl/DefaultHttpRequestFactory.java',
-    'ch/boye/httpclientandroidlib/impl/DefaultHttpResponseFactory.java',
-    'ch/boye/httpclientandroidlib/impl/DefaultHttpServerConnection.java',
-    'ch/boye/httpclientandroidlib/impl/EnglishReasonPhraseCatalog.java',
-    'ch/boye/httpclientandroidlib/impl/entity/EntityDeserializer.java',
-    'ch/boye/httpclientandroidlib/impl/entity/EntitySerializer.java',
-    'ch/boye/httpclientandroidlib/impl/entity/LaxContentLengthStrategy.java',
-    'ch/boye/httpclientandroidlib/impl/entity/StrictContentLengthStrategy.java',
-    'ch/boye/httpclientandroidlib/impl/HttpConnectionMetricsImpl.java',
-    'ch/boye/httpclientandroidlib/impl/io/AbstractMessageParser.java',
-    'ch/boye/httpclientandroidlib/impl/io/AbstractMessageWriter.java',
-    'ch/boye/httpclientandroidlib/impl/io/AbstractSessionInputBuffer.java',
-    'ch/boye/httpclientandroidlib/impl/io/AbstractSessionOutputBuffer.java',
-    'ch/boye/httpclientandroidlib/impl/io/ChunkedInputStream.java',
-    'ch/boye/httpclientandroidlib/impl/io/ChunkedOutputStream.java',
-    'ch/boye/httpclientandroidlib/impl/io/ContentLengthInputStream.java',
-    'ch/boye/httpclientandroidlib/impl/io/ContentLengthOutputStream.java',
-    'ch/boye/httpclientandroidlib/impl/io/HttpRequestParser.java',
-    'ch/boye/httpclientandroidlib/impl/io/HttpRequestWriter.java',
-    'ch/boye/httpclientandroidlib/impl/io/HttpResponseParser.java',
-    'ch/boye/httpclientandroidlib/impl/io/HttpResponseWriter.java',
-    'ch/boye/httpclientandroidlib/impl/io/HttpTransportMetricsImpl.java',
-    'ch/boye/httpclientandroidlib/impl/io/IdentityInputStream.java',
-    'ch/boye/httpclientandroidlib/impl/io/IdentityOutputStream.java',
-    'ch/boye/httpclientandroidlib/impl/io/SocketInputBuffer.java',
-    'ch/boye/httpclientandroidlib/impl/io/SocketOutputBuffer.java',
-    'ch/boye/httpclientandroidlib/impl/NoConnectionReuseStrategy.java',
-    'ch/boye/httpclientandroidlib/impl/SocketHttpClientConnection.java',
-    'ch/boye/httpclientandroidlib/impl/SocketHttpServerConnection.java',
-    'ch/boye/httpclientandroidlib/io/BufferInfo.java',
-    'ch/boye/httpclientandroidlib/io/EofSensor.java',
-    'ch/boye/httpclientandroidlib/io/HttpMessageParser.java',
-    'ch/boye/httpclientandroidlib/io/HttpMessageWriter.java',
-    'ch/boye/httpclientandroidlib/io/HttpTransportMetrics.java',
-    'ch/boye/httpclientandroidlib/io/SessionInputBuffer.java',
-    'ch/boye/httpclientandroidlib/io/SessionOutputBuffer.java',
-    'ch/boye/httpclientandroidlib/MalformedChunkCodingException.java',
-    'ch/boye/httpclientandroidlib/message/AbstractHttpMessage.java',
-    'ch/boye/httpclientandroidlib/message/BasicHeader.java',
-    'ch/boye/httpclientandroidlib/message/BasicHeaderElement.java',
-    'ch/boye/httpclientandroidlib/message/BasicHeaderElementIterator.java',
-    'ch/boye/httpclientandroidlib/message/BasicHeaderIterator.java',
-    'ch/boye/httpclientandroidlib/message/BasicHeaderValueFormatter.java',
-    'ch/boye/httpclientandroidlib/message/BasicHeaderValueParser.java',
-    'ch/boye/httpclientandroidlib/message/BasicHttpEntityEnclosingRequest.java',
-    'ch/boye/httpclientandroidlib/message/BasicHttpRequest.java',
-    'ch/boye/httpclientandroidlib/message/BasicHttpResponse.java',
-    'ch/boye/httpclientandroidlib/message/BasicLineFormatter.java',
-    'ch/boye/httpclientandroidlib/message/BasicLineParser.java',
-    'ch/boye/httpclientandroidlib/message/BasicListHeaderIterator.java',
-    'ch/boye/httpclientandroidlib/message/BasicNameValuePair.java',
-    'ch/boye/httpclientandroidlib/message/BasicRequestLine.java',
-    'ch/boye/httpclientandroidlib/message/BasicStatusLine.java',
-    'ch/boye/httpclientandroidlib/message/BasicTokenIterator.java',
-    'ch/boye/httpclientandroidlib/message/BufferedHeader.java',
-    'ch/boye/httpclientandroidlib/message/HeaderGroup.java',
-    'ch/boye/httpclientandroidlib/message/HeaderValueFormatter.java',
-    'ch/boye/httpclientandroidlib/message/HeaderValueParser.java',
-    'ch/boye/httpclientandroidlib/message/LineFormatter.java',
-    'ch/boye/httpclientandroidlib/message/LineParser.java',
-    'ch/boye/httpclientandroidlib/message/ParserCursor.java',
-    'ch/boye/httpclientandroidlib/MethodNotSupportedException.java',
-    'ch/boye/httpclientandroidlib/NameValuePair.java',
-    'ch/boye/httpclientandroidlib/NoHttpResponseException.java',
-    'ch/boye/httpclientandroidlib/params/AbstractHttpParams.java',
-    'ch/boye/httpclientandroidlib/params/BasicHttpParams.java',
-    'ch/boye/httpclientandroidlib/params/CoreConnectionPNames.java',
-    'ch/boye/httpclientandroidlib/params/CoreProtocolPNames.java',
-    'ch/boye/httpclientandroidlib/params/DefaultedHttpParams.java',
-    'ch/boye/httpclientandroidlib/params/HttpAbstractParamBean.java',
-    'ch/boye/httpclientandroidlib/params/HttpConnectionParamBean.java',
-    'ch/boye/httpclientandroidlib/params/HttpConnectionParams.java',
-    'ch/boye/httpclientandroidlib/params/HttpParams.java',
-    'ch/boye/httpclientandroidlib/params/HttpProtocolParamBean.java',
-    'ch/boye/httpclientandroidlib/params/HttpProtocolParams.java',
-    'ch/boye/httpclientandroidlib/params/SyncBasicHttpParams.java',
-    'ch/boye/httpclientandroidlib/ParseException.java',
-    'ch/boye/httpclientandroidlib/protocol/BasicHttpContext.java',
-    'ch/boye/httpclientandroidlib/protocol/BasicHttpProcessor.java',
-    'ch/boye/httpclientandroidlib/protocol/DefaultedHttpContext.java',
-    'ch/boye/httpclientandroidlib/protocol/ExecutionContext.java',
-    'ch/boye/httpclientandroidlib/protocol/HTTP.java',
-    'ch/boye/httpclientandroidlib/protocol/HttpContext.java',
-    'ch/boye/httpclientandroidlib/protocol/HttpDateGenerator.java',
-    'ch/boye/httpclientandroidlib/protocol/HttpExpectationVerifier.java',
-    'ch/boye/httpclientandroidlib/protocol/HttpProcessor.java',
-    'ch/boye/httpclientandroidlib/protocol/HttpRequestExecutor.java',
-    'ch/boye/httpclientandroidlib/protocol/HttpRequestHandler.java',
-    'ch/boye/httpclientandroidlib/protocol/HttpRequestHandlerRegistry.java',
-    'ch/boye/httpclientandroidlib/protocol/HttpRequestHandlerResolver.java',
-    'ch/boye/httpclientandroidlib/protocol/HttpRequestInterceptorList.java',
-    'ch/boye/httpclientandroidlib/protocol/HttpResponseInterceptorList.java',
-    'ch/boye/httpclientandroidlib/protocol/HttpService.java',
-    'ch/boye/httpclientandroidlib/protocol/ImmutableHttpProcessor.java',
-    'ch/boye/httpclientandroidlib/protocol/RequestConnControl.java',
-    'ch/boye/httpclientandroidlib/protocol/RequestContent.java',
-    'ch/boye/httpclientandroidlib/protocol/RequestDate.java',
-    'ch/boye/httpclientandroidlib/protocol/RequestExpectContinue.java',
-    'ch/boye/httpclientandroidlib/protocol/RequestTargetHost.java',
-    'ch/boye/httpclientandroidlib/protocol/RequestUserAgent.java',
-    'ch/boye/httpclientandroidlib/protocol/ResponseConnControl.java',
-    'ch/boye/httpclientandroidlib/protocol/ResponseContent.java',
-    'ch/boye/httpclientandroidlib/protocol/ResponseDate.java',
-    'ch/boye/httpclientandroidlib/protocol/ResponseServer.java',
-    'ch/boye/httpclientandroidlib/protocol/SyncBasicHttpContext.java',
-    'ch/boye/httpclientandroidlib/protocol/UriPatternMatcher.java',
-    'ch/boye/httpclientandroidlib/ProtocolException.java',
-    'ch/boye/httpclientandroidlib/ProtocolVersion.java',
-    'ch/boye/httpclientandroidlib/ReasonPhraseCatalog.java',
-    'ch/boye/httpclientandroidlib/RequestLine.java',
-    'ch/boye/httpclientandroidlib/StatusLine.java',
-    'ch/boye/httpclientandroidlib/TokenIterator.java',
-    'ch/boye/httpclientandroidlib/TruncatedChunkException.java',
-    'ch/boye/httpclientandroidlib/UnsupportedHttpVersionException.java',
-    'ch/boye/httpclientandroidlib/util/ByteArrayBuffer.java',
-    'ch/boye/httpclientandroidlib/util/CharArrayBuffer.java',
-    'ch/boye/httpclientandroidlib/util/EncodingUtils.java',
-    'ch/boye/httpclientandroidlib/util/EntityUtils.java',
-    'ch/boye/httpclientandroidlib/util/ExceptionUtils.java',
-    'ch/boye/httpclientandroidlib/util/LangUtils.java',
-    'ch/boye/httpclientandroidlib/util/VersionInfo.java',
-    'org/json/simple/ItemList.java',
-    'org/json/simple/JSONArray.java',
-    'org/json/simple/JSONAware.java',
-    'org/json/simple/JSONObject.java',
-    'org/json/simple/JSONStreamAware.java',
-    'org/json/simple/JSONValue.java',
-    'org/json/simple/parser/ContainerFactory.java',
-    'org/json/simple/parser/ContentHandler.java',
-    'org/json/simple/parser/JSONParser.java',
-    'org/json/simple/parser/ParseException.java',
-    'org/json/simple/parser/Yylex.java',
-    'org/json/simple/parser/Yytoken.java',
-    'org/mozilla/apache/commons/codec/binary/Base32.java',
-    'org/mozilla/apache/commons/codec/binary/Base32InputStream.java',
-    'org/mozilla/apache/commons/codec/binary/Base32OutputStream.java',
-    'org/mozilla/apache/commons/codec/binary/Base64.java',
-    'org/mozilla/apache/commons/codec/binary/Base64InputStream.java',
-    'org/mozilla/apache/commons/codec/binary/Base64OutputStream.java',
-    'org/mozilla/apache/commons/codec/binary/BaseNCodec.java',
-    'org/mozilla/apache/commons/codec/binary/BaseNCodecInputStream.java',
-    'org/mozilla/apache/commons/codec/binary/BaseNCodecOutputStream.java',
-    'org/mozilla/apache/commons/codec/binary/BinaryCodec.java',
-    'org/mozilla/apache/commons/codec/binary/Hex.java',
-    'org/mozilla/apache/commons/codec/binary/StringUtils.java',
-    'org/mozilla/apache/commons/codec/BinaryDecoder.java',
-    'org/mozilla/apache/commons/codec/BinaryEncoder.java',
-    'org/mozilla/apache/commons/codec/CharEncoding.java',
-    'org/mozilla/apache/commons/codec/Decoder.java',
-    'org/mozilla/apache/commons/codec/DecoderException.java',
-    'org/mozilla/apache/commons/codec/digest/DigestUtils.java',
-    'org/mozilla/apache/commons/codec/Encoder.java',
-    'org/mozilla/apache/commons/codec/EncoderException.java',
-    'org/mozilla/apache/commons/codec/language/AbstractCaverphone.java',
-    'org/mozilla/apache/commons/codec/language/Caverphone.java',
-    'org/mozilla/apache/commons/codec/language/Caverphone1.java',
-    'org/mozilla/apache/commons/codec/language/Caverphone2.java',
-    'org/mozilla/apache/commons/codec/language/ColognePhonetic.java',
-    'org/mozilla/apache/commons/codec/language/DoubleMetaphone.java',
-    'org/mozilla/apache/commons/codec/language/Metaphone.java',
-    'org/mozilla/apache/commons/codec/language/RefinedSoundex.java',
-    'org/mozilla/apache/commons/codec/language/Soundex.java',
-    'org/mozilla/apache/commons/codec/language/SoundexUtils.java',
-    'org/mozilla/apache/commons/codec/net/BCodec.java',
-    'org/mozilla/apache/commons/codec/net/QCodec.java',
-    'org/mozilla/apache/commons/codec/net/QuotedPrintableCodec.java',
-    'org/mozilla/apache/commons/codec/net/RFC1522Codec.java',
-    'org/mozilla/apache/commons/codec/net/URLCodec.java',
-    'org/mozilla/apache/commons/codec/net/Utils.java',
-    'org/mozilla/apache/commons/codec/StringDecoder.java',
-    'org/mozilla/apache/commons/codec/StringEncoder.java',
-    'org/mozilla/apache/commons/codec/StringEncoderComparator.java',
-]
-
-sync_java_files = [
-    'background/announcements/Announcement.java',
-    'background/announcements/AnnouncementPresenter.java',
-    'background/announcements/AnnouncementsBroadcastReceiver.java',
-    'background/announcements/AnnouncementsBroadcastService.java',
-    'background/announcements/AnnouncementsFetchDelegate.java',
-    'background/announcements/AnnouncementsFetcher.java',
-    'background/announcements/AnnouncementsFetchResourceDelegate.java',
-    'background/announcements/AnnouncementsService.java',
-    'background/BackgroundService.java',
-    'background/bagheera/BagheeraClient.java',
-    'background/bagheera/BagheeraRequestDelegate.java',
-    'background/bagheera/BoundedByteArrayEntity.java',
-    'background/bagheera/DeflateHelper.java',
-    'background/common/DateUtils.java',
-    'background/common/log/Logger.java',
-    'background/common/log/writers/AndroidLevelCachingLogWriter.java',
-    'background/common/log/writers/AndroidLogWriter.java',
-    'background/common/log/writers/LevelFilteringLogWriter.java',
-    'background/common/log/writers/LogWriter.java',
-    'background/common/log/writers/PrintLogWriter.java',
-    'background/common/log/writers/SimpleTagLogWriter.java',
-    'background/common/log/writers/StringLogWriter.java',
-    'background/common/log/writers/TagLogWriter.java',
-    'background/common/log/writers/ThreadLocalTagLogWriter.java',
-    'background/datareporting/TelemetryRecorder.java',
-    'background/db/CursorDumper.java',
-    'background/db/Tab.java',
-    'background/healthreport/Environment.java',
-    'background/healthreport/EnvironmentBuilder.java',
-    'background/healthreport/EnvironmentV1.java',
-    'background/healthreport/HealthReportBroadcastReceiver.java',
-    'background/healthreport/HealthReportBroadcastService.java',
-    'background/healthreport/HealthReportDatabases.java',
-    'background/healthreport/HealthReportDatabaseStorage.java',
-    'background/healthreport/HealthReportGenerator.java',
-    'background/healthreport/HealthReportProvider.java',
-    'background/healthreport/HealthReportStorage.java',
-    'background/healthreport/HealthReportUtils.java',
-    'background/healthreport/ProfileInformationCache.java',
-    'background/healthreport/prune/HealthReportPruneService.java',
-    'background/healthreport/prune/PrunePolicy.java',
-    'background/healthreport/prune/PrunePolicyDatabaseStorage.java',
-    'background/healthreport/prune/PrunePolicyStorage.java',
-    'background/healthreport/upload/AndroidSubmissionClient.java',
-    'background/healthreport/upload/HealthReportUploadService.java',
-    'background/healthreport/upload/ObsoleteDocumentTracker.java',
-    'background/healthreport/upload/SubmissionClient.java',
-    'background/healthreport/upload/SubmissionPolicy.java',
-    'sync/AlreadySyncingException.java',
-    'sync/CollectionKeys.java',
-    'sync/CommandProcessor.java',
-    'sync/CommandRunner.java',
-    'sync/config/AccountPickler.java',
-    'sync/config/activities/SelectEnginesActivity.java',
-    'sync/config/ClientRecordTerminator.java',
-    'sync/config/ConfigurationMigrator.java',
-    'sync/CredentialException.java',
-    'sync/CredentialsSource.java',
-    'sync/crypto/CryptoException.java',
-    'sync/crypto/CryptoInfo.java',
-    'sync/crypto/HKDF.java',
-    'sync/crypto/HMACVerificationException.java',
-    'sync/crypto/KeyBundle.java',
-    'sync/crypto/MissingCryptoInputException.java',
-    'sync/crypto/NoKeyBundleException.java',
-    'sync/crypto/PersistedCrypto5Keys.java',
-    'sync/CryptoRecord.java',
-    'sync/DelayedWorkTracker.java',
-    'sync/delegates/ClientsDataDelegate.java',
-    'sync/delegates/FreshStartDelegate.java',
-    'sync/delegates/GlobalSessionCallback.java',
-    'sync/delegates/JSONRecordFetchDelegate.java',
-    'sync/delegates/KeyUploadDelegate.java',
-    'sync/delegates/MetaGlobalDelegate.java',
-    'sync/delegates/WipeServerDelegate.java',
-    'sync/EngineSettings.java',
-    'sync/ExtendedJSONObject.java',
-    'sync/GlobalSession.java',
-    'sync/HTTPFailureException.java',
-    'sync/InfoCollections.java',
-    'sync/InfoCounts.java',
-    'sync/jpake/BigIntegerHelper.java',
-    'sync/jpake/Gx3OrGx4IsZeroOrOneException.java',
-    'sync/jpake/IncorrectZkpException.java',
-    'sync/jpake/JPakeClient.java',
-    'sync/jpake/JPakeCrypto.java',
-    'sync/jpake/JPakeJson.java',
-    'sync/jpake/JPakeNoActivePairingException.java',
-    'sync/jpake/JPakeNumGenerator.java',
-    'sync/jpake/JPakeNumGeneratorRandom.java',
-    'sync/jpake/JPakeParty.java',
-    'sync/jpake/stage/CompleteStage.java',
-    'sync/jpake/stage/ComputeFinalStage.java',
-    'sync/jpake/stage/ComputeKeyVerificationStage.java',
-    'sync/jpake/stage/ComputeStepOneStage.java',
-    'sync/jpake/stage/ComputeStepTwoStage.java',
-    'sync/jpake/stage/DecryptDataStage.java',
-    'sync/jpake/stage/DeleteChannel.java',
-    'sync/jpake/stage/GetChannelStage.java',
-    'sync/jpake/stage/GetRequestStage.java',
-    'sync/jpake/stage/JPakeStage.java',
-    'sync/jpake/stage/PutRequestStage.java',
-    'sync/jpake/stage/VerifyPairingStage.java',
-    'sync/jpake/Zkp.java',
-    'sync/JSONRecordFetcher.java',
-    'sync/KeyBundleProvider.java',
-    'sync/MetaGlobal.java',
-    'sync/MetaGlobalException.java',
-    'sync/MetaGlobalMissingEnginesException.java',
-    'sync/MetaGlobalNotSetException.java',
-    'sync/middleware/Crypto5MiddlewareRepository.java',
-    'sync/middleware/Crypto5MiddlewareRepositorySession.java',
-    'sync/middleware/MiddlewareRepository.java',
-    'sync/middleware/MiddlewareRepositorySession.java',
-    'sync/net/AuthHeaderProvider.java',
-    'sync/net/BaseResource.java',
-    'sync/net/BaseResourceDelegate.java',
-    'sync/net/BasicAuthHeaderProvider.java',
-    'sync/net/BrowserIDAuthHeaderProvider.java',
-    'sync/net/ConnectionMonitorThread.java',
-    'sync/net/HandleProgressException.java',
-    'sync/net/HawkAuthHeaderProvider.java',
-    'sync/net/HMACAuthHeaderProvider.java',
-    'sync/net/HttpResponseObserver.java',
-    'sync/net/Resource.java',
-    'sync/net/ResourceDelegate.java',
-    'sync/net/SyncResponse.java',
-    'sync/net/SyncStorageCollectionRequest.java',
-    'sync/net/SyncStorageCollectionRequestDelegate.java',
-    'sync/net/SyncStorageRecordRequest.java',
-    'sync/net/SyncStorageRequest.java',
-    'sync/net/SyncStorageRequestDelegate.java',
-    'sync/net/SyncStorageRequestIncrementalDelegate.java',
-    'sync/net/SyncStorageResponse.java',
-    'sync/net/TLSSocketFactory.java',
-    'sync/net/WBOCollectionRequestDelegate.java',
-    'sync/net/WBORequestDelegate.java',
-    'sync/NoCollectionKeysSetException.java',
-    'sync/NodeAuthenticationException.java',
-    'sync/NonArrayJSONException.java',
-    'sync/NonObjectJSONException.java',
-    'sync/NullClusterURLException.java',
-    'sync/PersistedMetaGlobal.java',
-    'sync/PrefsSource.java',
-    'sync/receivers/SyncAccountDeletedReceiver.java',
-    'sync/receivers/SyncAccountDeletedService.java',
-    'sync/receivers/UpgradeReceiver.java',
-    'sync/repositories/android/AndroidBrowserBookmarksDataAccessor.java',
-    'sync/repositories/android/AndroidBrowserBookmarksRepository.java',
-    'sync/repositories/android/AndroidBrowserBookmarksRepositorySession.java',
-    'sync/repositories/android/AndroidBrowserHistoryDataAccessor.java',
-    'sync/repositories/android/AndroidBrowserHistoryDataExtender.java',
-    'sync/repositories/android/AndroidBrowserHistoryRepository.java',
-    'sync/repositories/android/AndroidBrowserHistoryRepositorySession.java',
-    'sync/repositories/android/AndroidBrowserRepository.java',
-    'sync/repositories/android/AndroidBrowserRepositoryDataAccessor.java',
-    'sync/repositories/android/AndroidBrowserRepositorySession.java',
-    'sync/repositories/android/BookmarksDeletionManager.java',
-    'sync/repositories/android/BookmarksInsertionManager.java',
-    'sync/repositories/android/BrowserContractHelpers.java',
-    'sync/repositories/android/CachedSQLiteOpenHelper.java',
-    'sync/repositories/android/ClientsDatabase.java',
-    'sync/repositories/android/ClientsDatabaseAccessor.java',
-    'sync/repositories/android/FennecTabsRepository.java',
-    'sync/repositories/android/FormHistoryRepositorySession.java',
-    'sync/repositories/android/PasswordsRepositorySession.java',
-    'sync/repositories/android/RepoUtils.java',
-    'sync/repositories/BookmarkNeedsReparentingException.java',
-    'sync/repositories/BookmarksRepository.java',
-    'sync/repositories/ConstrainedServer11Repository.java',
-    'sync/repositories/delegates/DeferrableRepositorySessionCreationDelegate.java',
-    'sync/repositories/delegates/DeferredRepositorySessionBeginDelegate.java',
-    'sync/repositories/delegates/DeferredRepositorySessionFetchRecordsDelegate.java',
-    'sync/repositories/delegates/DeferredRepositorySessionFinishDelegate.java',
-    'sync/repositories/delegates/DeferredRepositorySessionStoreDelegate.java',
-    'sync/repositories/delegates/RepositorySessionBeginDelegate.java',
-    'sync/repositories/delegates/RepositorySessionCleanDelegate.java',
-    'sync/repositories/delegates/RepositorySessionCreationDelegate.java',
-    'sync/repositories/delegates/RepositorySessionFetchRecordsDelegate.java',
-    'sync/repositories/delegates/RepositorySessionFinishDelegate.java',
-    'sync/repositories/delegates/RepositorySessionGuidsSinceDelegate.java',
-    'sync/repositories/delegates/RepositorySessionStoreDelegate.java',
-    'sync/repositories/delegates/RepositorySessionWipeDelegate.java',
-    'sync/repositories/domain/BookmarkRecord.java',
-    'sync/repositories/domain/BookmarkRecordFactory.java',
-    'sync/repositories/domain/ClientRecord.java',
-    'sync/repositories/domain/ClientRecordFactory.java',
-    'sync/repositories/domain/FormHistoryRecord.java',
-    'sync/repositories/domain/HistoryRecord.java',
-    'sync/repositories/domain/HistoryRecordFactory.java',
-    'sync/repositories/domain/PasswordRecord.java',
-    'sync/repositories/domain/Record.java',
-    'sync/repositories/domain/RecordParseException.java',
-    'sync/repositories/domain/TabsRecord.java',
-    'sync/repositories/domain/VersionConstants.java',
-    'sync/repositories/FetchFailedException.java',
-    'sync/repositories/HashSetStoreTracker.java',
-    'sync/repositories/HistoryRepository.java',
-    'sync/repositories/IdentityRecordFactory.java',
-    'sync/repositories/InactiveSessionException.java',
-    'sync/repositories/InvalidBookmarkTypeException.java',
-    'sync/repositories/InvalidRequestException.java',
-    'sync/repositories/InvalidSessionTransitionException.java',
-    'sync/repositories/MultipleRecordsForGuidException.java',
-    'sync/repositories/NoContentProviderException.java',
-    'sync/repositories/NoGuidForIdException.java',
-    'sync/repositories/NoStoreDelegateException.java',
-    'sync/repositories/NullCursorException.java',
-    'sync/repositories/ParentNotFoundException.java',
-    'sync/repositories/ProfileDatabaseException.java',
-    'sync/repositories/RecordFactory.java',
-    'sync/repositories/RecordFilter.java',
-    'sync/repositories/Repository.java',
-    'sync/repositories/RepositorySession.java',
-    'sync/repositories/RepositorySessionBundle.java',
-    'sync/repositories/Server11Repository.java',
-    'sync/repositories/Server11RepositorySession.java',
-    'sync/repositories/StoreFailedException.java',
-    'sync/repositories/StoreTracker.java',
-    'sync/repositories/StoreTrackingRepositorySession.java',
-    'sync/Server11PreviousPostFailedException.java',
-    'sync/Server11RecordPostFailedException.java',
-    'sync/setup/activities/AccountActivity.java',
-    'sync/setup/activities/ActivityUtils.java',
-    'sync/setup/activities/ClientRecordArrayAdapter.java',
-    'sync/setup/activities/RedirectToSetupActivity.java',
-    'sync/setup/activities/SendTabActivity.java',
-    'sync/setup/activities/SendTabData.java',
-    'sync/setup/activities/SetupFailureActivity.java',
-    'sync/setup/activities/SetupSuccessActivity.java',
-    'sync/setup/activities/SetupSyncActivity.java',
-    'sync/setup/activities/SyncActivity.java',
-    'sync/setup/activities/WebURLFinder.java',
-    'sync/setup/activities/WebViewActivity.java',
-    'sync/setup/auth/AccountAuthenticator.java',
-    'sync/setup/auth/AuthenticateAccountStage.java',
-    'sync/setup/auth/AuthenticationResult.java',
-    'sync/setup/auth/AuthenticatorStage.java',
-    'sync/setup/auth/EnsureUserExistenceStage.java',
-    'sync/setup/auth/FetchUserNodeStage.java',
-    'sync/setup/Constants.java',
-    'sync/setup/InvalidSyncKeyException.java',
-    'sync/setup/SyncAccounts.java',
-    'sync/setup/SyncAuthenticatorService.java',
-    'sync/stage/AbstractNonRepositorySyncStage.java',
-    'sync/stage/AbstractSessionManagingSyncStage.java',
-    'sync/stage/AndroidBrowserBookmarksServerSyncStage.java',
-    'sync/stage/AndroidBrowserHistoryServerSyncStage.java',
-    'sync/stage/CheckPreconditionsStage.java',
-    'sync/stage/CompletedStage.java',
-    'sync/stage/EnsureClusterURLStage.java',
-    'sync/stage/EnsureCrypto5KeysStage.java',
-    'sync/stage/FennecTabsServerSyncStage.java',
-    'sync/stage/FetchInfoCollectionsStage.java',
-    'sync/stage/FetchMetaGlobalStage.java',
-    'sync/stage/FormHistoryServerSyncStage.java',
-    'sync/stage/GlobalSyncStage.java',
-    'sync/stage/NoSuchStageException.java',
-    'sync/stage/NoSyncIDException.java',
-    'sync/stage/PasswordsServerSyncStage.java',
-    'sync/stage/SafeConstrainedServer11Repository.java',
-    'sync/stage/ServerSyncStage.java',
-    'sync/stage/SyncClientsEngineStage.java',
-    'sync/stage/UploadMetaGlobalStage.java',
-    'sync/syncadapter/SyncAdapter.java',
-    'sync/syncadapter/SyncService.java',
-    'sync/SyncConfiguration.java',
-    'sync/SyncConfigurationException.java',
-    'sync/SyncException.java',
-    'sync/synchronizer/ConcurrentRecordConsumer.java',
-    'sync/synchronizer/RecordConsumer.java',
-    'sync/synchronizer/RecordsChannel.java',
-    'sync/synchronizer/RecordsChannelDelegate.java',
-    'sync/synchronizer/RecordsConsumerDelegate.java',
-    'sync/synchronizer/SerialRecordConsumer.java',
-    'sync/synchronizer/ServerLocalSynchronizer.java',
-    'sync/synchronizer/ServerLocalSynchronizerSession.java',
-    'sync/synchronizer/SessionNotBegunException.java',
-    'sync/synchronizer/Synchronizer.java',
-    'sync/synchronizer/SynchronizerDelegate.java',
-    'sync/synchronizer/SynchronizerSession.java',
-    'sync/synchronizer/SynchronizerSessionDelegate.java',
-    'sync/synchronizer/UnbundleError.java',
-    'sync/synchronizer/UnexpectedSessionException.java',
-    'sync/SynchronizerConfiguration.java',
-    'sync/ThreadPool.java',
-    'sync/UnexpectedJSONException.java',
-    'sync/UnknownSynchronizerConfigurationVersionException.java',
-    'sync/Utils.java',
-]
-
-sync_generated_java_files = [
-    'background/common/GlobalConstants.java',
-    'sync/SyncConstants.java',
-    'background/announcements/AnnouncementsConstants.java',
-    'background/healthreport/HealthReportConstants.java',
-]
--- a/mobile/android/base/moz.build
+++ b/mobile/android/base/moz.build
@@ -3,351 +3,16 @@
 # 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']
 
 include('android-services.mozbuild')
 
-thirdparty_source_dir = TOPSRCDIR + '/mobile/android/thirdparty/'
-
-mgjar = add_java_jar('gecko-mozglue')
-mgjar.sources += [
-    'mozglue/ByteBufferInputStream.java',
-    'mozglue/DirectBufferAllocator.java',
-    'mozglue/GeneratableAndroidBridgeTarget.java',
-    'mozglue/NativeReference.java',
-    'mozglue/NativeZip.java',
-    'mozglue/OptionalGeneratedParameter.java',
-]
-mgjar.generated_sources += [
-    'mozglue/GeckoLoader.java',
-]
-mgjar.javac_flags = '-Xlint:all'
-
-wsjar = add_java_jar('websockets')
-wsjar.sources += [ thirdparty_source_dir + f for f in [
-    'com/codebutler/android_websockets/HybiParser.java',
-    'com/codebutler/android_websockets/WebSocketClient.java',
-] ]
-wsjar.javac_flags = '-Xlint:all,-serial'
-
-gujar = add_java_jar('gecko-util')
-gujar.sources += [
-    'util/ActivityResultHandler.java',
-    'util/ActivityResultHandlerMap.java',
-    'util/Clipboard.java',
-    'util/EventDispatcher.java',
-    'util/FloatUtils.java',
-    'util/GamepadUtils.java',
-    'util/GeckoBackgroundThread.java',
-    'util/GeckoEventListener.java',
-    'util/GeckoEventResponder.java',
-    'util/GeckoJarReader.java',
-    'util/HardwareUtils.java',
-    'util/INIParser.java',
-    'util/INISection.java',
-    'util/JSONUtils.java',
-    'util/StringUtils.java',
-    'util/ThreadUtils.java',
-    'util/UiAsyncTask.java',
-]
-gujar.extra_jars=[
-    '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'
-
-if CONFIG['MOZ_WEBRTC']:
-    video_root = TOPSRCDIR + '/media/webrtc/trunk/webrtc/modules/video_capture/android/java/org/webrtc/videoengine/'
-    audio_root = TOPSRCDIR + '/media/webrtc/trunk/webrtc/modules/audio_device/android/org/webrtc/voiceengine/'
-    wrjar = add_java_jar('webrtc')
-    wrjar.sources += [
-        video_root + 'CaptureCapabilityAndroid.java',
-        video_root + 'VideoCaptureAndroid.java',
-        video_root + 'VideoCaptureDeviceInfoAndroid.java',
-        audio_root + 'WebRTCAudioDevice.java',
-    ]
-    wrjar.extra_jars = [
-        'gecko-browser.jar',
-        'gecko-util.jar',
-        'gecko-mozglue.jar',
-    ]
-    wrjar.javac_flags = '-Xlint:all,-deprecation,-cast'
-
-gbjar = add_java_jar('gecko-browser')
-gbjar.sources += [
-    'ANRReporter.java',
-    'ActivityHandlerHelper.java',
-    'AlertNotification.java',
-    'AlignRightLinkPreference.java',
-    'AllCapsTextView.java',
-    'AndroidImport.java',
-    'AndroidImportPreference.java',
-    'AnimatedHeightLayout.java',
-    'AppNotificationClient.java',
-    'AutocompleteHandler.java',
-    'animation/AnimatorProxy.java',
-    'animation/HeightChangeAnimation.java',
-    'animation/PropertyAnimator.java',
-    'animation/Rotate3DAnimation.java',
-    'animation/ViewHelper.java',
-    'BackButton.java',
-    'BaseGeckoInterface.java',
-    'BrowserApp.java',
-    'BrowserToolbar.java',
-    'BrowserToolbarBackground.java',
-    'CameraImageResultHandler.java',
-    'CameraVideoResultHandler.java',
-    'CanvasDelegate.java',
-    'CheckableLinearLayout.java',
-    'ClickableWhenDisabledEditText.java',
-    'ContactService.java',
-    'ContextGetter.java',
-    'CustomEditText.java',
-    'db/BrowserDB.java',
-    'db/LocalBrowserDB.java',
-    'db/DBUtils.java',
-    'DataReportingNotification.java',
-    'Distribution.java',
-    'DoorHanger.java',
-    'DoorHangerPopup.java',
-    'EditBookmarkDialog.java',
-    'favicons/cache/FaviconCache.java',
-    'favicons/cache/FaviconCacheElement.java',
-    'favicons/cache/FaviconsForURL.java',
-    'favicons/Favicons.java',
-    'favicons/LoadFaviconTask.java',
-    'favicons/OnFaviconLoadedListener.java',
-    'FilePickerResultHandler.java',
-    'FilePickerResultHandlerSync.java',
-    'FindInPageBar.java',
-    'FlowLayout.java',
-    'FontSizePreference.java',
-    'FormAssistPopup.java',
-    'ForwardButton.java',
-    'GeckoAccessibility.java',
-    'GeckoApplication.java',
-    'GeckoApp.java',
-    'GeckoAppShell.java',
-    'GeckoActivity.java',
-    'GeckoBatteryManager.java',
-    'GeckoConnectivityReceiver.java',
-    'GeckoEditable.java',
-    'GeckoEvent.java',
-    'GeckoHalDefines.java',
-    'GeckoInputConnection.java',
-    'GeckoMessageReceiver.java',
-    'GeckoPreferences.java',
-    'GeckoPreferenceFragment.java',
-    'GeckoProfile.java',
-    'GeckoSmsManager.java',
-    'GeckoThread.java',
-    'GeckoJavaSampler.java',
-    'GlobalHistory.java',
-    'GeckoView.java',
-    'health/BrowserHealthRecorder.java',
-    'health/BrowserHealthReporter.java',
-    'InputMethods.java',
-    'JavaAddonManager.java',
-    'LightweightTheme.java',
-    'LightweightThemeDrawable.java',
-    'LinkPreference.java',
-    'MemoryMonitor.java',
-    'MotionEventInterceptor.java',
-    'MultiChoicePreference.java',
-    'NotificationClient.java',
-    'NotificationHandler.java',
-    'NotificationHelper.java',
-    'NotificationService.java',
-    'NSSBridge.java',
-    'OrderedBroadcastHelper.java',
-    'PageActionLayout.java',
-    'PrefsHelper.java',
-    'PrivateDataPreference.java',
-    'PrivateTab.java',
-    'prompts/Prompt.java',
-    'prompts/PromptInput.java',
-    'prompts/PromptService.java',
-    'prompts/IconGridInput.java',
-    'Restarter.java',
-    'sqlite/ByteBufferInputStream.java',
-    'sqlite/MatrixBlobCursor.java',
-    'sqlite/SQLiteBridge.java',
-    'sqlite/SQLiteBridgeException.java',
-    'ReaderModeUtils.java',
-    'RemoteTabs.java',
-    'RobocopAPI.java',
-    'ServiceNotificationClient.java',
-    'ScrollAnimator.java',
-    'SessionParser.java',
-    'ShapedButton.java',
-    'SharedPreferencesHelper.java',
-    'SiteIdentityPopup.java',
-    'SmsManager.java',
-    'SurfaceBits.java',
-    'SyncPreference.java',
-    'Tab.java',
-    'TabCounter.java',
-    'Tabs.java',
-    'TabsPanel.java',
-    'TabsTray.java',
-    'TabsAccessor.java',
-    'Telemetry.java',
-    'TextSelection.java',
-    'TextSelectionHandle.java',
-    'ThumbnailHelper.java',
-    'TouchEventInterceptor.java',
-    'VideoPlayer.java',
-    'WebAppAllocator.java',
-    'WebAppImpl.java',
-    'ZoomConstraints.java',
-    'db/BrowserContract.java',
-    'db/BrowserProvider.java',
-    'db/FormHistoryProvider.java',
-    'db/PerProfileContentProvider.java',
-    'db/PasswordsProvider.java',
-    'db/TabsProvider.java',
-    'gfx/Axis.java',
-    'gfx/BitmapUtils.java',
-    'gfx/BufferedCairoImage.java',
-    'gfx/CairoGLInfo.java',
-    'gfx/CairoImage.java',
-    'gfx/CairoUtils.java',
-    'gfx/DisplayPortCalculator.java',
-    'gfx/DisplayPortMetrics.java',
-    'gfx/DrawTimingQueue.java',
-    'gfx/FloatSize.java',
-    'gfx/GeckoLayerClient.java',
-    'gfx/GfxInfoThread.java',
-    'gfx/GLController.java',
-    'gfx/ImmutableViewportMetrics.java',
-    'gfx/InputConnectionHandler.java',
-    'gfx/IntSize.java',
-    'gfx/JavaPanZoomController.java',
-    'gfx/Layer.java',
-    'gfx/LayerMarginsAnimator.java',
-    'gfx/LayerRenderer.java',
-    'gfx/LayerView.java',
-    'gfx/NativePanZoomController.java',
-    'gfx/NinePatchTileLayer.java',
-    'gfx/Overscroll.java',
-    'gfx/PanningPerfAPI.java',
-    'gfx/PanZoomController.java',
-    'gfx/PanZoomTarget.java',
-    'gfx/PluginLayer.java',
-    'gfx/PointUtils.java',
-    'gfx/ProgressiveUpdateData.java',
-    'gfx/RectUtils.java',
-    'gfx/RenderTask.java',
-    'gfx/ScrollbarLayer.java',
-    'gfx/SimpleScaleGestureDetector.java',
-    'gfx/SingleTileLayer.java',
-    'gfx/SubdocumentScrollHelper.java',
-    'gfx/TextLayer.java',
-    'gfx/TextureGenerator.java',
-    'gfx/TextureReaper.java',
-    'gfx/TileLayer.java',
-    'gfx/TouchEventHandler.java',
-    'gfx/ViewTransform.java',
-    'gfx/VirtualLayer.java',
-    'home/BookmarksListAdapter.java',
-    'home/BookmarksListView.java',
-    'home/BookmarksPage.java',
-    'home/BookmarkFolderView.java',
-    'home/BrowserSearch.java',
-    'home/HistoryPage.java',
-    'home/HomeFragment.java',
-    'home/HomeListView.java',
-    'home/HomePager.java',
-    'home/HomePagerTabStrip.java',
-    'home/HomeBanner.java',
-    'home/FadedTextView.java',
-    'home/LastTabsPage.java',
-    'home/MostRecentPage.java',
-    'home/MultiTypeCursorAdapter.java',
-    'home/PinSiteDialog.java',
-    'home/ReadingListPage.java',
-    'home/SearchEngine.java',
-    'home/SearchEngineRow.java',
-    'home/SearchLoader.java',
-    'home/SimpleCursorLoader.java',
-    'home/SuggestClient.java',
-    'home/TabMenuStrip.java',
-    'home/TopSitesGridItemView.java',
-    'home/TopSitesGridView.java',
-    'home/TopSitesPage.java',
-    'home/TopSitesThumbnailView.java',
-    'home/TwoLinePageRow.java',
-    'menu/GeckoMenu.java',
-    'menu/GeckoMenuInflater.java',
-    'menu/GeckoMenuItem.java',
-    'menu/GeckoSubMenu.java',
-    'menu/MenuItemActionBar.java',
-    'menu/MenuItemActionView.java',
-    'menu/MenuItemDefault.java',
-    'menu/MenuPanel.java',
-    'menu/MenuPopup.java',
-    'preferences/SearchPreferenceCategory.java',
-    'preferences/SearchEnginePreference.java',
-    'updater/UpdateServiceHelper.java',
-    'updater/UpdateService.java',
-    'widget/ActivityChooserModel.java',
-    'widget/ButtonToast.java',
-    'widget/ArrowPopup.java',
-    'widget/DateTimePicker.java',
-    'widget/Divider.java',
-    'widget/FaviconView.java',
-    'widget/GeckoPopupMenu.java',
-    'widget/GeckoActionProvider.java',
-    'widget/IconTabWidget.java',
-    'widget/TabRow.java',
-    'widget/ThumbnailView.java',
-    'widget/TwoWayView.java',
-    'GeckoNetworkManager.java',
-    'GeckoScreenOrientationListener.java',
-    'GeckoUpdateReceiver.java',
-    'ReferrerReceiver.java',
-]
-gbjar.sources += [ thirdparty_source_dir + f for f in [
-    'com/googlecode/eyesfree/braille/selfbraille/ISelfBrailleService.java',
-    'com/googlecode/eyesfree/braille/selfbraille/SelfBrailleClient.java',
-    'com/googlecode/eyesfree/braille/selfbraille/WriteData.java',
-] ]
-gbjar.generated_sources += [
-    'App.java',
-    'AppConstants.java',
-    'R.java',
-    'SysInfo.java',
-    'WebApp.java',
-    'WebApps.java',
-    'widget/GeckoEditText.java',
-    'widget/GeckoImageButton.java',
-    'widget/GeckoImageView.java',
-    'widget/GeckoLinearLayout.java',
-    'widget/GeckoRelativeLayout.java',
-    'widget/GeckoTextSwitcher.java',
-    'widget/GeckoTextView.java',
-]
-if CONFIG['MOZ_CRASHREPORTER']:
-    gbjar.sources += [ 'CrashReporter.java ']
-gbjar.sources += sync_java_files
-gbjar.generated_sources += sync_generated_java_files
-gbjar.extra_jars=[
-    'gecko-mozglue.jar',
-    'gecko-util.jar',
-    'sync-thirdparty.jar',
-    'websockets.jar',
-]
-gbjar.javac_flags = '-Xlint:all,-deprecation,-fallthrough'
-
 ANDROID_GENERATED_RESFILES += [
     'res/drawable-hdpi/icon.png',
     'res/drawable-mdpi/icon.png',
     'res/drawable-xhdpi/icon.png',
     'res/drawable-xxhdpi/icon.png',
     'res/values/strings.xml',
 ]
 
--- a/mobile/android/geckoview_library/Makefile.in
+++ b/mobile/android/geckoview_library/Makefile.in
@@ -20,17 +20,17 @@ package:
 	# Zip the assets
 	cd $(DIST)/fennec; \
 	$(ZIP) -r ../geckoview_library/geckoview_assets.zip assets
 
 	# Make empty directories to fit an Android project structure
 	$(MKDIR) -p bin gen libs/$(ABI_DIR) src
 
 	# Copy the JARs
-	cp ../base/*.jar libs/
+	cp ../base/jars/*.jar libs/
 
 	# Copy the SOs
 	cp $(DIST)/bin/libmozglue.so $(DIST)/bin/lib/libplugin-container.so libs/$(ABI_DIR)/
 
 	# Copy the resources
 	cp -R ../base/res .
 
 	# Zip the directory
--- a/mobile/android/tests/background/junit3/Makefile.in
+++ b/mobile/android/tests/background/junit3/Makefile.in
@@ -20,17 +20,17 @@ GARBAGE += AndroidManifest.xml
 include $(srcdir)/android-services-files.mk
 
 # BACKGROUND_TESTS_{JAVA,RES}_FILES are defined in android-services-files.mk.
 JAVAFILES := $(BACKGROUND_TESTS_JAVA_FILES)
 
 # The test APK needs to know the contents of the target APK while not
 # being linked against them.  This is a best effort to avoid getting
 # out of sync with base's build config.
-JARS_DIR := $(DEPTH)/mobile/android/base
+JARS_DIR := $(DEPTH)/mobile/android/base/jars
 JAVA_BOOTCLASSPATH := $(JAVA_BOOTCLASSPATH):$(subst $(NULL) ,:,$(wildcard $(JARS_DIR)/*.jar))
 # We also want to re-compile classes.dex when the associated base
 # content changes.
 classes.dex: $(wildcard $(JARS_DIR)/*.jar)
 
 tools:: $(ANDROID_APK_NAME).apk
 
 include $(topsrcdir)/config/rules.mk