Backed out changeset a829f4d2584a (bug 934646) Android Nightlies Build Bustage
authorCarsten "Tomcat" Book <cbook@mozilla.com>
Wed, 20 Nov 2013 15:16:00 +0100
changeset 156462 b5413f07e6690c073b9debd13eced09eaf0ef74a
parent 156461 f020616fe213fecb11afb65364f357aada33fdad
child 156463 7f841e04273de95df1369cd60e95ff38a2a17d93
push id25680
push usercbook@mozilla.com
push dateWed, 20 Nov 2013 14:17:17 +0000
treeherdermozilla-central@597287004ff5 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs934646
milestone28.0a1
backs outa829f4d2584acc2ebcd2e72418c9274897323710
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 a829f4d2584a (bug 934646) Android Nightlies Build Bustage
build/mobile/robocop/moz.build
build/mobile/sutagent/android/fencp/moz.build
build/mobile/sutagent/android/ffxcp/moz.build
build/mobile/sutagent/android/moz.build
build/mobile/sutagent/android/watcher/moz.build
config/config.mk
config/makefiles/java-build.mk
js/src/config/config.mk
js/src/config/makefiles/java-build.mk
mobile/android/base/Makefile.in
mobile/android/base/android-services.mozbuild
mobile/android/base/crashreporter/res/drawable-mdpi/crash_reporter.png
mobile/android/base/crashreporter/res/layout/crash_reporter.xml
mobile/android/base/moz.build
mobile/android/base/resources/drawable-mdpi/crash_reporter.png
mobile/android/base/resources/layout/crash_reporter.xml
mobile/android/branding/aurora/content/fennec_144x144.png
mobile/android/branding/aurora/content/fennec_48x48.png
mobile/android/branding/aurora/content/fennec_72x72.png
mobile/android/branding/aurora/content/fennec_96x96.png
mobile/android/branding/aurora/res/drawable-hdpi/icon.png
mobile/android/branding/aurora/res/drawable-mdpi/icon.png
mobile/android/branding/aurora/res/drawable-xhdpi/icon.png
mobile/android/branding/aurora/res/drawable-xxhdpi/icon.png
mobile/android/branding/beta/content/fennec_144x144.png
mobile/android/branding/beta/content/fennec_48x48.png
mobile/android/branding/beta/content/fennec_72x72.png
mobile/android/branding/beta/content/fennec_96x96.png
mobile/android/branding/beta/res/drawable-hdpi/icon.png
mobile/android/branding/beta/res/drawable-mdpi/icon.png
mobile/android/branding/beta/res/drawable-xhdpi/icon.png
mobile/android/branding/beta/res/drawable-xxhdpi/icon.png
mobile/android/branding/nightly/content/fennec_144x144.png
mobile/android/branding/nightly/content/fennec_48x48.png
mobile/android/branding/nightly/content/fennec_72x72.png
mobile/android/branding/nightly/content/fennec_96x96.png
mobile/android/branding/nightly/res/drawable-hdpi/icon.png
mobile/android/branding/nightly/res/drawable-mdpi/icon.png
mobile/android/branding/nightly/res/drawable-xhdpi/icon.png
mobile/android/branding/nightly/res/drawable-xxhdpi/icon.png
mobile/android/branding/official/content/fennec_144x144.png
mobile/android/branding/official/content/fennec_48x48.png
mobile/android/branding/official/content/fennec_72x72.png
mobile/android/branding/official/content/fennec_96x96.png
mobile/android/branding/official/res/drawable-hdpi/icon.png
mobile/android/branding/official/res/drawable-mdpi/icon.png
mobile/android/branding/official/res/drawable-xhdpi/icon.png
mobile/android/branding/official/res/drawable-xxhdpi/icon.png
mobile/android/branding/unofficial/content/fennec_144x144.png
mobile/android/branding/unofficial/content/fennec_48x48.png
mobile/android/branding/unofficial/content/fennec_72x72.png
mobile/android/branding/unofficial/content/fennec_96x96.png
mobile/android/branding/unofficial/res/drawable-hdpi/icon.png
mobile/android/branding/unofficial/res/drawable-mdpi/icon.png
mobile/android/branding/unofficial/res/drawable-xhdpi/icon.png
mobile/android/branding/unofficial/res/drawable-xxhdpi/icon.png
mobile/android/tests/background/junit3/android-services.mozbuild
python/mozbuild/mozbuild/frontend/emitter.py
python/mozbuild/mozbuild/frontend/sandbox_symbols.py
--- a/build/mobile/robocop/moz.build
+++ b/build/mobile/robocop/moz.build
@@ -1,5 +1,9 @@
 # -*- 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/.
+
+ANDROID_RESFILES = [
+    'res/values/strings.xml',
+]
--- a/build/mobile/sutagent/android/fencp/moz.build
+++ b/build/mobile/sutagent/android/fencp/moz.build
@@ -1,5 +1,13 @@
 # -*- 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/.
+
+ANDROID_RESFILES = [
+    'res/drawable-hdpi/icon.png',
+    'res/drawable-ldpi/icon.png',
+    'res/drawable-mdpi/icon.png',
+    'res/layout/main.xml',
+    'res/values/strings.xml',
+]
--- a/build/mobile/sutagent/android/ffxcp/moz.build
+++ b/build/mobile/sutagent/android/ffxcp/moz.build
@@ -1,5 +1,13 @@
 # -*- 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/.
+
+ANDROID_RESFILES = [
+    'res/drawable-hdpi/icon.png',
+    'res/drawable-ldpi/icon.png',
+    'res/drawable-mdpi/icon.png',
+    'res/layout/main.xml',
+    'res/values/strings.xml',
+]
--- a/build/mobile/sutagent/android/moz.build
+++ b/build/mobile/sutagent/android/moz.build
@@ -1,5 +1,15 @@
 # -*- 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/.
+
+ANDROID_RESFILES = [
+    'res/drawable/ateamlogo.png',
+    'res/drawable/ic_stat_first.png',
+    'res/drawable/ic_stat_neterror.png',
+    'res/drawable/ic_stat_warning.png',
+    'res/drawable/icon.png',
+    'res/layout/main.xml',
+    'res/values/strings.xml',
+]
--- a/build/mobile/sutagent/android/watcher/moz.build
+++ b/build/mobile/sutagent/android/watcher/moz.build
@@ -1,5 +1,16 @@
 # -*- 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/.
+
+ANDROID_RESFILES = [
+    'res/drawable-hdpi/ateamlogo.png',
+    'res/drawable-hdpi/icon.png',
+    'res/drawable-ldpi/ateamlogo.png',
+    'res/drawable-ldpi/icon.png',
+    'res/drawable-mdpi/ateamlogo.png',
+    'res/drawable-mdpi/icon.png',
+    'res/layout/main.xml',
+    'res/values/strings.xml',
+]
--- a/config/config.mk
+++ b/config/config.mk
@@ -30,17 +30,17 @@ endif
 -include $(DEPTH)/.mozconfig.mk
 
 # Integrate with mozbuild-generated make files. We first verify that no
 # variables provided by the automatically generated .mk files are
 # present. If they are, this is a violation of the separation of
 # responsibility between Makefile.in and mozbuild files.
 _MOZBUILD_EXTERNAL_VARIABLES := \
   ANDROID_GENERATED_RESFILES \
-  ANDROID_RES_DIRS \
+  ANDROID_RESFILES \
   CMSRCS \
   CMMSRCS \
   CPP_UNIT_TESTS \
   DIRS \
   EXTRA_PP_COMPONENTS \
   EXTRA_PP_JS_MODULES \
   FORCE_SHARED_LIB \
   FORCE_STATIC_LIB \
@@ -68,17 +68,16 @@ endif
   TEST_DIRS \
   TIERS \
   TOOL_DIRS \
   XPCSHELL_TESTS \
   XPIDL_MODULE \
   $(NULL)
 
 _DEPRECATED_VARIABLES := \
-  ANDROID_RESFILES \
   MOCHITEST_FILES_PARTS \
   MOCHITEST_BROWSER_FILES_PARTS \
   SHORT_LIBNAME \
   $(NULL)
 
 ifndef EXTERNALLY_MANAGED_MAKE_FILE
 # Using $(firstword) may not be perfect. But it should be good enough for most
 # scenarios.
--- a/config/makefiles/java-build.mk
+++ b/config/makefiles/java-build.mk
@@ -2,27 +2,49 @@
 # vim:set ts=8 sw=8 sts=8 noet:
 #
 # 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/.
 
 ifndef INCLUDED_JAVA_BUILD_MK #{
 
+ifdef ANDROID_RESFILES #{
+ifndef IGNORE_ANDROID_RESFILES #{
+res-dep := .deps-copy-java-res
+
+GENERATED_DIRS += res
+GARBAGE        += $(res-dep)
+
+export:: $(res-dep)
+
+res-dep-preqs := \
+  $(addprefix $(srcdir)/,$(ANDROID_RESFILES)) \
+  $(call mkdir_deps,res) \
+  $(if $(IS_LANGUAGE_REPACK),FORCE) \
+  $(NULL)
+
+# nop-build: only copy res/ files when needed
+$(res-dep): $(res-dep-preqs)
+	$(call copy_dir,$(srcdir)/res,$(CURDIR)/res)
+	@$(TOUCH) $@
+endif #} IGNORE_ANDROID_RESFILES
+endif #} ANDROID_RESFILES
+
+
 ifdef JAVAFILES #{
 GENERATED_DIRS += classes
 
 export:: classes
 classes: $(call mkdir_deps,classes)
 endif #} JAVAFILES
 
 
 ifdef ANDROID_APK_NAME #{
-android_res_dirs := $(addprefix $(srcdir)/,$(or $(ANDROID_RES_DIRS),res))
-_ANDROID_RES_FLAG := $(addprefix -S ,$(android_res_dirs))
+_ANDROID_RES_FLAG := -S $(or $(ANDROID_RES_DIR),res)
 _ANDROID_ASSETS_FLAG := $(addprefix -A ,$(ANDROID_ASSETS_DIR))
 
 GENERATED_DIRS += classes
 
 classes.dex: $(call mkdir_deps,classes)
 classes.dex: R.java
 classes.dex: $(ANDROID_APK_NAME).ap_
 classes.dex: $(JAVAFILES)
@@ -30,21 +52,17 @@ classes.dex: $(JAVAFILES)
 	$(DX) --dex --output=$@ classes $(ANDROID_EXTRA_JARS)
 
 # R.java and $(ANDROID_APK_NAME).ap_ are both produced by aapt.  To
 # save an aapt invocation, we produce them both at the same time.
 
 R.java: .aapt.deps
 $(ANDROID_APK_NAME).ap_: .aapt.deps
 
-# This uses the fact that Android resource directories list all
-# resource files one subdirectory below the parent resource directory.
-android_res_files := $(wildcard $(addsuffix /*,$(wildcard $(addsuffix /*,$(android_res_dirs)))))
-
-.aapt.deps: AndroidManifest.xml $(android_res_files) $(wildcard $(ANDROID_ASSETS_DIR))
+.aapt.deps: AndroidManifest.xml $(wildcard $(ANDROID_RES_DIR)) $(wildcard $(ANDROID_ASSETS_DIR))
 	$(AAPT) package -f -M $< -I $(ANDROID_SDK)/android.jar $(_ANDROID_RES_FLAG) $(_ANDROID_ASSETS_FLAG) \
 		-J ${@D} \
 		-F $(ANDROID_APK_NAME).ap_
 	@$(TOUCH) $@
 
 $(ANDROID_APK_NAME)-unsigned-unaligned.apk: $(ANDROID_APK_NAME).ap_ classes.dex
 	cp $< $@
 	$(ZIP) -0 $@ classes.dex
--- a/js/src/config/config.mk
+++ b/js/src/config/config.mk
@@ -30,17 +30,17 @@ endif
 -include $(DEPTH)/.mozconfig.mk
 
 # Integrate with mozbuild-generated make files. We first verify that no
 # variables provided by the automatically generated .mk files are
 # present. If they are, this is a violation of the separation of
 # responsibility between Makefile.in and mozbuild files.
 _MOZBUILD_EXTERNAL_VARIABLES := \
   ANDROID_GENERATED_RESFILES \
-  ANDROID_RES_DIRS \
+  ANDROID_RESFILES \
   CMSRCS \
   CMMSRCS \
   CPP_UNIT_TESTS \
   DIRS \
   EXTRA_PP_COMPONENTS \
   EXTRA_PP_JS_MODULES \
   FORCE_SHARED_LIB \
   FORCE_STATIC_LIB \
@@ -68,17 +68,16 @@ endif
   TEST_DIRS \
   TIERS \
   TOOL_DIRS \
   XPCSHELL_TESTS \
   XPIDL_MODULE \
   $(NULL)
 
 _DEPRECATED_VARIABLES := \
-  ANDROID_RESFILES \
   MOCHITEST_FILES_PARTS \
   MOCHITEST_BROWSER_FILES_PARTS \
   SHORT_LIBNAME \
   $(NULL)
 
 ifndef EXTERNALLY_MANAGED_MAKE_FILE
 # Using $(firstword) may not be perfect. But it should be good enough for most
 # scenarios.
--- a/js/src/config/makefiles/java-build.mk
+++ b/js/src/config/makefiles/java-build.mk
@@ -2,27 +2,49 @@
 # vim:set ts=8 sw=8 sts=8 noet:
 #
 # 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/.
 
 ifndef INCLUDED_JAVA_BUILD_MK #{
 
+ifdef ANDROID_RESFILES #{
+ifndef IGNORE_ANDROID_RESFILES #{
+res-dep := .deps-copy-java-res
+
+GENERATED_DIRS += res
+GARBAGE        += $(res-dep)
+
+export:: $(res-dep)
+
+res-dep-preqs := \
+  $(addprefix $(srcdir)/,$(ANDROID_RESFILES)) \
+  $(call mkdir_deps,res) \
+  $(if $(IS_LANGUAGE_REPACK),FORCE) \
+  $(NULL)
+
+# nop-build: only copy res/ files when needed
+$(res-dep): $(res-dep-preqs)
+	$(call copy_dir,$(srcdir)/res,$(CURDIR)/res)
+	@$(TOUCH) $@
+endif #} IGNORE_ANDROID_RESFILES
+endif #} ANDROID_RESFILES
+
+
 ifdef JAVAFILES #{
 GENERATED_DIRS += classes
 
 export:: classes
 classes: $(call mkdir_deps,classes)
 endif #} JAVAFILES
 
 
 ifdef ANDROID_APK_NAME #{
-android_res_dirs := $(addprefix $(srcdir)/,$(or $(ANDROID_RES_DIRS),res))
-_ANDROID_RES_FLAG := $(addprefix -S ,$(android_res_dirs))
+_ANDROID_RES_FLAG := -S $(or $(ANDROID_RES_DIR),res)
 _ANDROID_ASSETS_FLAG := $(addprefix -A ,$(ANDROID_ASSETS_DIR))
 
 GENERATED_DIRS += classes
 
 classes.dex: $(call mkdir_deps,classes)
 classes.dex: R.java
 classes.dex: $(ANDROID_APK_NAME).ap_
 classes.dex: $(JAVAFILES)
@@ -30,21 +52,17 @@ classes.dex: $(JAVAFILES)
 	$(DX) --dex --output=$@ classes $(ANDROID_EXTRA_JARS)
 
 # R.java and $(ANDROID_APK_NAME).ap_ are both produced by aapt.  To
 # save an aapt invocation, we produce them both at the same time.
 
 R.java: .aapt.deps
 $(ANDROID_APK_NAME).ap_: .aapt.deps
 
-# This uses the fact that Android resource directories list all
-# resource files one subdirectory below the parent resource directory.
-android_res_files := $(wildcard $(addsuffix /*,$(wildcard $(addsuffix /*,$(android_res_dirs)))))
-
-.aapt.deps: AndroidManifest.xml $(android_res_files) $(wildcard $(ANDROID_ASSETS_DIR))
+.aapt.deps: AndroidManifest.xml $(wildcard $(ANDROID_RES_DIR)) $(wildcard $(ANDROID_ASSETS_DIR))
 	$(AAPT) package -f -M $< -I $(ANDROID_SDK)/android.jar $(_ANDROID_RES_FLAG) $(_ANDROID_ASSETS_FLAG) \
 		-J ${@D} \
 		-F $(ANDROID_APK_NAME).ap_
 	@$(TOUCH) $@
 
 $(ANDROID_APK_NAME)-unsigned-unaligned.apk: $(ANDROID_APK_NAME).ap_ classes.dex
 	cp $< $@
 	$(ZIP) -0 $@ classes.dex
--- a/mobile/android/base/Makefile.in
+++ b/mobile/android/base/Makefile.in
@@ -86,16 +86,27 @@ GARBAGE += \
   javah.out \
   jni-stubs.inc \
   GeneratedJNIWrappers.cpp \
   GeneratedJNIWrappers.h \
   $(NULL)
 
 GARBAGE_DIRS += classes db jars res sync services generated
 
+# Bug 567884 - Need a way to find appropriate icons during packaging
+ifeq ($(MOZ_APP_NAME),fennec)
+ICON_PATH = $(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/content/fennec_48x48.png
+ICON_PATH_HDPI = $(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/content/fennec_72x72.png
+ICON_PATH_XHDPI = $(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/content/fennec_96x96.png
+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
 
 ALL_JARS = \
   gecko-browser.jar \
   gecko-mozglue.jar \
   gecko-util.jar \
   sync-thirdparty.jar \
   websockets.jar \
@@ -176,57 +187,75 @@ PP_TARGETS += preprocessed
 
 preprocessed_package := $(addsuffix .in,$(subst $(android_package_dir)/,,$(filter $(android_package_dir)/%,$(PP_JAVAFILES))))
 
 preprocessed_package_PATH := $(android_package_dir)
 preprocessed_package_KEEP_PATH := 1
 
 PP_TARGETS += preprocessed_package
 
-# This uses the fact that Android resource directories list all
-# resource files one subdirectory below the parent resource directory.
-android_res_files := $(wildcard $(addsuffix /*,$(wildcard $(addsuffix /*,$(ANDROID_RES_DIRS)))))
+res/drawable-mdpi/icon.png: $(ICON_PATH)
+	$(NSINSTALL) -D res/drawable-mdpi
+	cp $(ICON_PATH) $@
+
+res/drawable-hdpi/icon.png: $(ICON_PATH_HDPI)
+	$(NSINSTALL) -D res/drawable-hdpi
+	cp $(ICON_PATH_HDPI) $@
+
+res/drawable-xhdpi/icon.png: $(ICON_PATH_XHDPI)
+	$(NSINSTALL) -D res/drawable-xhdpi
+	cp $(ICON_PATH_XHDPI) $@
 
-$(ANDROID_GENERATED_RESFILES): $(call mkdir_deps,$(sort $(dir $(ANDROID_GENERATED_RESFILES))))
+res/drawable-xxhdpi/icon.png: $(ICON_PATH_XXHDPI)
+	$(NSINSTALL) -D res/drawable-xxhdpi
+	cp $(ICON_PATH_XXHDPI) $@
+
+ANDROID_RESDIRS := $(subst resources/,res/,$(sort $(dir $(ANDROID_RESFILES))))
 
-# We don't have correct dependencies for strings.xml at this point, so
-# we always recursively invoke the submake to check the dependencies.
-# Sigh.
-res/values/strings.xml: FORCE
+$(call mkdir_deps,$(ANDROID_RESDIRS)): $(ANDROID_RESFILES) Makefile
+	$(RM) -r $(@D)
+	$(NSINSTALL) -D $(@D)
+	$(TOUCH) $@
+
+$(subst resources/,res/,$(ANDROID_RESFILES)): $(call mkdir_deps,$(ANDROID_RESDIRS)) $(ANDROID_RESFILES)
+	@echo "creating $@"
+	$(NSINSTALL) $(subst res/,$(srcdir)/resources/,$@) $(dir $@)
+
+res/values/strings.xml: $(call mkdir_deps,res/values)
 	$(MAKE) -C locales
 
 # With multilocale builds, there will be multiple strings.xml files. We need to
 # rebuild gecko.ap_ if any of them change.
 MULTILOCALE_STRINGS_XML_FILES := $(wildcard res/values-*/strings.xml)
 all_resources = \
   $(MULTILOCALE_STRINGS_XML_FILES) \
   AndroidManifest.xml \
-  $(android_res_files) \
+  $(subst resources/,res/,$(ANDROID_RESFILES)) \
   $(ANDROID_GENERATED_RESFILES) \
   $(NULL)
 
-$(gecko_package_dir)/R.txt: .aapt.deps
+# generated/org/mozilla/gecko/R.java and gecko.ap_ are both produced
+# by aapt; this saves an aapt invocation.
+
 $(gecko_package_dir)/R.java: .aapt.deps
 gecko.ap_: .aapt.deps
 
-# All of generated/org/mozilla/gecko/R.java, R.txt, and gecko.ap_ are
-# produced by aapt; this saves aapt invocations.
 .aapt.deps: $(all_resources)
-	$(AAPT) package -f -M AndroidManifest.xml -I $(ANDROID_SDK)/android.jar \
-		--auto-add-overlay \
-		$(addprefix -S ,$(ANDROID_RES_DIRS)) \
-		--custom-package org.mozilla.gecko --non-constant-id \
-		--output-text-symbols $(gecko_package_dir) \
+	$(AAPT) package -f -M AndroidManifest.xml -I $(ANDROID_SDK)/android.jar -S res --custom-package org.mozilla.gecko --non-constant-id \
 		-J $(gecko_package_dir)/ \
 		-F gecko.ap_
 	@$(TOUCH) $@
 
 fennec_ids.txt: $(gecko_package_dir)/R.java fennec-ids-generator.py
 	$(PYTHON) $(topsrcdir)/mobile/android/base/fennec-ids-generator.py -i $< -o $@
 
+# 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
 
 libs:: classes.dex jni-stubs.inc GeneratedJNIWrappers.cpp fennec_ids.txt
 	$(INSTALL) classes.dex $(FINAL_TARGET)
 	@(diff jni-stubs.inc $(topsrcdir)/mozglue/android/jni-stubs.inc >/dev/null && diff GeneratedJNIWrappers.cpp $(topsrcdir)/widget/android/GeneratedJNIWrappers.cpp >/dev/null) || \
--- a/mobile/android/base/android-services.mozbuild
+++ b/mobile/android/base/android-services.mozbuild
@@ -1,14 +1,37 @@
 # -*- 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/.
 
+ANDROID_RESFILES += [
+    'resources/drawable-mdpi/sync_desktop.png',
+    'resources/drawable-mdpi/sync_mobile.png',
+    'resources/drawable/sync_pin_background.xml',
+    'resources/layout/sync_account.xml',
+    'resources/layout/sync_list_item.xml',
+    'resources/layout/sync_redirect_to_setup.xml',
+    'resources/layout/sync_send_tab.xml',
+    'resources/layout/sync_setup.xml',
+    'resources/layout/sync_setup_failure.xml',
+    'resources/layout/sync_setup_jpake_waiting.xml',
+    'resources/layout/sync_setup_nointernet.xml',
+    'resources/layout/sync_setup_pair.xml',
+    'resources/layout/sync_setup_success.xml',
+    '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',
deleted file mode 100644
index 5804e08a772e010f0c986460898fa18f321c9311..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
--- a/mobile/android/base/crashreporter/res/layout/crash_reporter.xml
+++ /dev/null
@@ -1,126 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- 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/. -->
-
-<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
-            android:layout_width="fill_parent"
-            android:layout_height="fill_parent"
-            android:fillViewport="true">
-
-    <LinearLayout android:layout_width="fill_parent"
-                  android:layout_height="wrap_content"
-                  android:orientation="vertical"
-                  android:background="@color/background_normal">
-        
-        <LinearLayout android:layout_width="fill_parent"
-                      android:layout_height="0dp"
-                      android:orientation="vertical"
-                      android:padding="10dp"
-                      android:layout_weight="1">
-
-            <TextView android:layout_width="wrap_content"
-                      android:layout_height="wrap_content"
-                      android:padding="10dip"
-                      android:textSize="30sp"
-                      android:textColor="#000"
-                      android:layout_gravity="center_horizontal"
-                      android:fontFamily="sans-serif-light"
-                      android:text="@string/crash_sorry"/>
-
-            <TextView android:layout_width="wrap_content"
-                      android:layout_height="wrap_content"
-                      android:padding="10dip"
-                      android:textAppearance="@style/TextAppearance"
-                      android:text="@string/crash_message2"/>
-
-            <CheckBox android:id="@+id/send_report"
-                      android:layout_width="wrap_content"
-                      android:layout_height="wrap_content"
-                      android:checked="true"
-                      android:textColor="@color/primary_text"
-                      android:layout_marginBottom="10dp"
-                      android:text="@string/crash_send_report_message3"/>
-
-            <EditText android:id="@+id/comment"
-                      style="@style/CrashReporter.EditText"
-                      android:layout_width="fill_parent"
-                      android:layout_height="wrap_content"
-                      android:ems="10"
-                      android:inputType="textMultiLine"
-                      android:lines="5"
-                      android:gravity="top"
-                      android:layout_marginLeft="8dp"
-                      android:layout_marginRight="8dp"
-                      android:layout_marginBottom="10dp"
-                      android:hint="@string/crash_comment" />
-
-            <CheckBox android:id="@+id/include_url"
-                      android:layout_width="wrap_content"
-                      android:layout_height="wrap_content"
-                      android:textColor="@color/primary_text"
-                      android:textAppearance="@style/TextAppearance"
-                      android:layout_marginBottom="10dp"
-                      android:text="@string/crash_include_url2"/>
-
-            <CheckBox android:id="@+id/allow_contact"
-                      android:layout_width="wrap_content"
-                      android:layout_height="wrap_content"
-                      android:textColor="@color/primary_text"
-                      android:textAppearance="@style/TextAppearance"
-                      android:layout_marginBottom="10dp"
-                      android:text="@string/crash_allow_contact2"/>
-
-            <org.mozilla.gecko.widget.ClickableWhenDisabledEditText
-                    android:id="@+id/email"
-                    style="@style/CrashReporter.EditText"
-                    android:layout_width="fill_parent"
-                    android:layout_height="wrap_content"
-                    android:ems="10"
-                    android:inputType="textEmailAddress"
-                    android:layout_marginLeft="8dp"
-                    android:layout_marginRight="8dp"
-                    android:enabled="false"
-                    android:clickable="true"
-                    android:hint="@string/crash_email" />
-
-        </LinearLayout>
-        
-        <View android:layout_width="fill_parent"
-              android:layout_height="1dp"
-              android:background="#999" />
-
-        <LinearLayout android:layout_width="fill_parent"
-                      android:layout_height="wrap_content"
-                      android:orientation="horizontal"
-                      android:layout_gravity="bottom">
-
-            <Button android:id="@+id/close"
-                    android:layout_width="0dp"
-                    android:layout_height="wrap_content"
-                    android:layout_weight="1.0"
-                    android:padding="15dp"
-                    android:onClick="onCloseClick"
-                    android:text="@string/crash_close_label"
-                    android:textAppearance="?android:attr/textAppearance"
-                    android:background="@drawable/action_bar_button"/>
-
-            <View android:layout_width="1dp"
-                  android:layout_height="fill_parent"
-                  android:background="#999" />
-        
-            <Button android:id="@+id/restart"
-                    android:layout_width="0dp"
-                    android:layout_height="wrap_content"
-                    android:layout_weight="1.0"
-                    android:padding="15dp"
-                    android:onClick="onRestartClick"
-                    android:text="@string/crash_restart_label"
-                    android:textAppearance="?android:attr/textAppearance"
-                    android:background="@drawable/action_bar_button"/>
-
-        </LinearLayout>
-   
-    </LinearLayout>
-
-</ScrollView>
--- a/mobile/android/base/moz.build
+++ b/mobile/android/base/moz.build
@@ -337,30 +337,621 @@ gbjar.generated_sources += [
     'org/mozilla/gecko/widget/GeckoImageButton.java',
     'org/mozilla/gecko/widget/GeckoImageView.java',
     'org/mozilla/gecko/widget/GeckoLinearLayout.java',
     'org/mozilla/gecko/widget/GeckoRelativeLayout.java',
     'org/mozilla/gecko/widget/GeckoTextSwitcher.java',
     'org/mozilla/gecko/widget/GeckoTextView.java',
 ]
 if CONFIG['MOZ_CRASHREPORTER']:
-    gbjar.sources += [ 'CrashReporter.java' ]
-    ANDROID_RES_DIRS += [ SRCDIR + '/crashreporter/res' ]
-
+    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_RES_DIRS += [
-    SRCDIR + '/resources',
-    TOPSRCDIR + '/' + CONFIG['MOZ_BRANDING_DIRECTORY'] + '/res',
-    OBJDIR + '/res',
+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',
 ]
 
-ANDROID_GENERATED_RESFILES += [
-    'res/values/strings.xml',
+ANDROID_RESFILES += [
+    'resources/anim/grow_fade_in.xml',
+    'resources/anim/grow_fade_in_center.xml',
+    'resources/anim/popup_hide.xml',
+    'resources/anim/popup_show.xml',
+    'resources/anim/progress_spinner.xml',
+    'resources/anim/shrink_fade_out.xml',
+    'resources/color/primary_text.xml',
+    'resources/color/primary_text_inverse.xml',
+    'resources/color/secondary_text.xml',
+    'resources/color/secondary_text_inverse.xml',
+    'resources/color/select_item_multichoice.xml',
+    'resources/color/tertiary_text.xml',
+    'resources/color/tertiary_text_inverse.xml',
+    'resources/color/top_sites_grid_item_title.xml',
+    'resources/color/url_bar_title.xml',
+    'resources/color/url_bar_title_hint.xml',
+    'resources/drawable-hdpi-v11/alert_addon.png',
+    'resources/drawable-hdpi-v11/alert_app.png',
+    'resources/drawable-hdpi-v11/alert_camera.png',
+    'resources/drawable-hdpi-v11/alert_download.png',
+    'resources/drawable-hdpi-v11/alert_mic.png',
+    'resources/drawable-hdpi-v11/alert_mic_camera.png',
+    'resources/drawable-hdpi-v11/firefox_settings_alert.png',
+    'resources/drawable-hdpi-v11/ic_menu_addons.png',
+    'resources/drawable-hdpi-v11/ic_menu_apps.png',
+    'resources/drawable-hdpi-v11/ic_menu_back.png',
+    'resources/drawable-hdpi-v11/ic_menu_bookmark_add.png',
+    'resources/drawable-hdpi-v11/ic_menu_bookmark_remove.png',
+    'resources/drawable-hdpi-v11/ic_menu_desktop_mode_off.png',
+    'resources/drawable-hdpi-v11/ic_menu_desktop_mode_on.png',
+    'resources/drawable-hdpi-v11/ic_menu_downloads.png',
+    'resources/drawable-hdpi-v11/ic_menu_find_in_page.png',
+    'resources/drawable-hdpi-v11/ic_menu_forward.png',
+    'resources/drawable-hdpi-v11/ic_menu_new_private_tab.png',
+    'resources/drawable-hdpi-v11/ic_menu_new_tab.png',
+    'resources/drawable-hdpi-v11/ic_menu_quit.png',
+    'resources/drawable-hdpi-v11/ic_menu_reload.png',
+    'resources/drawable-hdpi-v11/ic_menu_save_as_pdf.png',
+    'resources/drawable-hdpi-v11/ic_menu_settings.png',
+    'resources/drawable-hdpi-v11/ic_menu_share.png',
+    'resources/drawable-hdpi-v11/ic_menu_tools.png',
+    'resources/drawable-hdpi-v11/ic_status_logo.png',
+    'resources/drawable-hdpi/abouthome_thumbnail.png',
+    'resources/drawable-hdpi/alert_addon.png',
+    'resources/drawable-hdpi/alert_app.png',
+    'resources/drawable-hdpi/alert_camera.png',
+    'resources/drawable-hdpi/alert_download.png',
+    'resources/drawable-hdpi/alert_mic.png',
+    'resources/drawable-hdpi/alert_mic_camera.png',
+    'resources/drawable-hdpi/arrow_popup_bg.9.png',
+    'resources/drawable-hdpi/blank.png',
+    'resources/drawable-hdpi/bookmark_folder_closed.png',
+    'resources/drawable-hdpi/bookmark_folder_opened.png',
+    'resources/drawable-hdpi/close.png',
+    'resources/drawable-hdpi/favicon.png',
+    'resources/drawable-hdpi/find_close.png',
+    'resources/drawable-hdpi/find_next.png',
+    'resources/drawable-hdpi/find_prev.png',
+    'resources/drawable-hdpi/folder.png',
+    'resources/drawable-hdpi/grid_icon_bg_activated.9.png',
+    'resources/drawable-hdpi/grid_icon_bg_focused.9.png',
+    'resources/drawable-hdpi/handle_end.png',
+    'resources/drawable-hdpi/handle_middle.png',
+    'resources/drawable-hdpi/handle_start.png',
+    'resources/drawable-hdpi/history_tabs_indicator_selected.9.png',
+    'resources/drawable-hdpi/home_bg.png',
+    'resources/drawable-hdpi/home_star.png',
+    'resources/drawable-hdpi/home_tab_menu_strip.9.png',
+    'resources/drawable-hdpi/ic_menu_addons_filler.png',
+    'resources/drawable-hdpi/ic_menu_bookmark_add.png',
+    'resources/drawable-hdpi/ic_menu_bookmark_remove.png',
+    'resources/drawable-hdpi/ic_menu_character_encoding.png',
+    'resources/drawable-hdpi/ic_menu_forward.png',
+    'resources/drawable-hdpi/ic_menu_guest.png',
+    'resources/drawable-hdpi/ic_menu_new_private_tab.png',
+    'resources/drawable-hdpi/ic_menu_new_tab.png',
+    'resources/drawable-hdpi/ic_menu_reload.png',
+    'resources/drawable-hdpi/ic_status_logo.png',
+    'resources/drawable-hdpi/ic_url_bar_go.png',
+    'resources/drawable-hdpi/ic_url_bar_reader.png',
+    'resources/drawable-hdpi/ic_url_bar_search.png',
+    'resources/drawable-hdpi/ic_url_bar_star.png',
+    'resources/drawable-hdpi/ic_url_bar_tab.png',
+    'resources/drawable-hdpi/icon_bookmarks_empty.png',
+    'resources/drawable-hdpi/icon_last_tabs.png',
+    'resources/drawable-hdpi/icon_last_tabs_empty.png',
+    'resources/drawable-hdpi/icon_most_recent.png',
+    'resources/drawable-hdpi/icon_most_recent_empty.png',
+    'resources/drawable-hdpi/icon_most_visited.png',
+    'resources/drawable-hdpi/icon_openinapp.png',
+    'resources/drawable-hdpi/icon_pageaction.png',
+    'resources/drawable-hdpi/icon_reading_list_empty.png',
+    'resources/drawable-hdpi/larry.png',
+    'resources/drawable-hdpi/lock_identified.png',
+    'resources/drawable-hdpi/lock_verified.png',
+    'resources/drawable-hdpi/menu.png',
+    'resources/drawable-hdpi/menu_item_check.png',
+    'resources/drawable-hdpi/menu_item_more.png',
+    'resources/drawable-hdpi/menu_item_uncheck.png',
+    'resources/drawable-hdpi/menu_panel_bg.9.png',
+    'resources/drawable-hdpi/menu_pb.png',
+    'resources/drawable-hdpi/menu_popup_arrow_bottom.png',
+    'resources/drawable-hdpi/menu_popup_arrow_top.png',
+    'resources/drawable-hdpi/menu_popup_bg.9.png',
+    'resources/drawable-hdpi/pause.png',
+    'resources/drawable-hdpi/pin.png',
+    'resources/drawable-hdpi/play.png',
+    'resources/drawable-hdpi/reader.png',
+    'resources/drawable-hdpi/reader_active.png',
+    'resources/drawable-hdpi/reader_cropped.png',
+    'resources/drawable-hdpi/reading_list.png',
+    'resources/drawable-hdpi/shield.png',
+    'resources/drawable-hdpi/shield_doorhanger.png',
+    'resources/drawable-hdpi/spinner_default.9.png',
+    'resources/drawable-hdpi/spinner_focused.9.png',
+    'resources/drawable-hdpi/spinner_pressed.9.png',
+    'resources/drawable-hdpi/tab_close.png',
+    'resources/drawable-hdpi/tab_indicator_divider.9.png',
+    'resources/drawable-hdpi/tab_indicator_selected.9.png',
+    'resources/drawable-hdpi/tab_indicator_selected_focused.9.png',
+    'resources/drawable-hdpi/tab_new.png',
+    'resources/drawable-hdpi/tab_new_pb.png',
+    'resources/drawable-hdpi/tab_thumbnail_default.png',
+    'resources/drawable-hdpi/tab_thumbnail_shadow.png',
+    'resources/drawable-hdpi/tabs_count.png',
+    'resources/drawable-hdpi/tabs_count_foreground.png',
+    'resources/drawable-hdpi/tabs_normal.png',
+    'resources/drawable-hdpi/tabs_private.png',
+    'resources/drawable-hdpi/tabs_synced.png',
+    'resources/drawable-hdpi/tip_addsearch.png',
+    'resources/drawable-hdpi/top_site_add.png',
+    'resources/drawable-hdpi/url_bar_entry_default.9.png',
+    'resources/drawable-hdpi/url_bar_entry_default_pb.9.png',
+    'resources/drawable-hdpi/url_bar_entry_pressed.9.png',
+    'resources/drawable-hdpi/url_bar_entry_pressed_pb.9.png',
+    'resources/drawable-hdpi/urlbar_stop.png',
+    'resources/drawable-hdpi/validation_arrow.png',
+    'resources/drawable-hdpi/validation_arrow_inverted.png',
+    'resources/drawable-hdpi/validation_bg.9.png',
+    'resources/drawable-hdpi/warning.png',
+    'resources/drawable-hdpi/warning_doorhanger.png',
+    'resources/drawable-large-hdpi-v11/arrow_popup_bg.9.png',
+    'resources/drawable-large-hdpi-v11/ic_menu_forward.png',
+    'resources/drawable-large-hdpi-v11/ic_menu_reload.png',
+    'resources/drawable-large-hdpi-v11/menu.png',
+    'resources/drawable-large-land-v11/home_history_tabs_indicator.xml',
+    'resources/drawable-large-mdpi-v11/arrow_popup_bg.9.png',
+    'resources/drawable-large-mdpi-v11/ic_menu_forward.png',
+    'resources/drawable-large-mdpi-v11/ic_menu_reload.png',
+    'resources/drawable-large-mdpi-v11/menu.png',
+    'resources/drawable-large-xhdpi-v11/arrow_popup_bg.9.png',
+    'resources/drawable-large-xhdpi-v11/ic_menu_forward.png',
+    'resources/drawable-large-xhdpi-v11/ic_menu_reload.png',
+    'resources/drawable-large-xhdpi-v11/menu.png',
+    'resources/drawable-mdpi-v11/alert_addon.png',
+    'resources/drawable-mdpi-v11/alert_app.png',
+    'resources/drawable-mdpi-v11/alert_camera.png',
+    'resources/drawable-mdpi-v11/alert_download.png',
+    'resources/drawable-mdpi-v11/alert_mic.png',
+    'resources/drawable-mdpi-v11/alert_mic_camera.png',
+    'resources/drawable-mdpi-v11/firefox_settings_alert.png',
+    'resources/drawable-mdpi-v11/ic_menu_addons.png',
+    'resources/drawable-mdpi-v11/ic_menu_apps.png',
+    'resources/drawable-mdpi-v11/ic_menu_back.png',
+    'resources/drawable-mdpi-v11/ic_menu_bookmark_add.png',
+    'resources/drawable-mdpi-v11/ic_menu_bookmark_remove.png',
+    'resources/drawable-mdpi-v11/ic_menu_desktop_mode_off.png',
+    'resources/drawable-mdpi-v11/ic_menu_desktop_mode_on.png',
+    'resources/drawable-mdpi-v11/ic_menu_downloads.png',
+    'resources/drawable-mdpi-v11/ic_menu_find_in_page.png',
+    'resources/drawable-mdpi-v11/ic_menu_forward.png',
+    'resources/drawable-mdpi-v11/ic_menu_new_private_tab.png',
+    'resources/drawable-mdpi-v11/ic_menu_new_tab.png',
+    'resources/drawable-mdpi-v11/ic_menu_quit.png',
+    'resources/drawable-mdpi-v11/ic_menu_reload.png',
+    'resources/drawable-mdpi-v11/ic_menu_save_as_pdf.png',
+    'resources/drawable-mdpi-v11/ic_menu_settings.png',
+    'resources/drawable-mdpi-v11/ic_menu_share.png',
+    'resources/drawable-mdpi-v11/ic_menu_tools.png',
+    'resources/drawable-mdpi-v11/ic_status_logo.png',
+    'resources/drawable-mdpi/abouthome_thumbnail.png',
+    'resources/drawable-mdpi/alert_addon.png',
+    'resources/drawable-mdpi/alert_app.png',
+    'resources/drawable-mdpi/alert_camera.png',
+    'resources/drawable-mdpi/alert_download.png',
+    'resources/drawable-mdpi/alert_mic.png',
+    'resources/drawable-mdpi/alert_mic_camera.png',
+    'resources/drawable-mdpi/arrow_popup_bg.9.png',
+    'resources/drawable-mdpi/autocomplete_list_bg.9.png',
+    'resources/drawable-mdpi/blank.png',
+    'resources/drawable-mdpi/bookmark_folder_closed.png',
+    'resources/drawable-mdpi/bookmark_folder_opened.png',
+    'resources/drawable-mdpi/bookmarkdefaults_favicon_addons.png',
+    'resources/drawable-mdpi/bookmarkdefaults_favicon_support.png',
+    'resources/drawable-mdpi/close.png',
+    'resources/drawable-mdpi/desktop_notification.png',
+    'resources/drawable-mdpi/favicon.png',
+    'resources/drawable-mdpi/find_close.png',
+    'resources/drawable-mdpi/find_next.png',
+    'resources/drawable-mdpi/find_prev.png',
+    'resources/drawable-mdpi/folder.png',
+    'resources/drawable-mdpi/grid_icon_bg_activated.9.png',
+    'resources/drawable-mdpi/grid_icon_bg_focused.9.png',
+    'resources/drawable-mdpi/handle_end.png',
+    'resources/drawable-mdpi/handle_middle.png',
+    'resources/drawable-mdpi/handle_start.png',
+    'resources/drawable-mdpi/history_tabs_indicator_selected.9.png',
+    'resources/drawable-mdpi/home_tab_menu_strip.9.png',
+    'resources/drawable-mdpi/ic_menu_addons_filler.png',
+    'resources/drawable-mdpi/ic_menu_bookmark_add.png',
+    'resources/drawable-mdpi/ic_menu_bookmark_remove.png',
+    'resources/drawable-mdpi/ic_menu_character_encoding.png',
+    'resources/drawable-mdpi/ic_menu_forward.png',
+    'resources/drawable-mdpi/ic_menu_guest.png',
+    'resources/drawable-mdpi/ic_menu_new_private_tab.png',
+    'resources/drawable-mdpi/ic_menu_new_tab.png',
+    'resources/drawable-mdpi/ic_menu_reload.png',
+    'resources/drawable-mdpi/ic_status_logo.png',
+    'resources/drawable-mdpi/ic_url_bar_go.png',
+    'resources/drawable-mdpi/ic_url_bar_reader.png',
+    'resources/drawable-mdpi/ic_url_bar_search.png',
+    'resources/drawable-mdpi/ic_url_bar_star.png',
+    'resources/drawable-mdpi/ic_url_bar_tab.png',
+    'resources/drawable-mdpi/icon_bookmarks_empty.png',
+    'resources/drawable-mdpi/icon_last_tabs.png',
+    'resources/drawable-mdpi/icon_last_tabs_empty.png',
+    'resources/drawable-mdpi/icon_most_recent.png',
+    'resources/drawable-mdpi/icon_most_recent_empty.png',
+    'resources/drawable-mdpi/icon_most_visited.png',
+    'resources/drawable-mdpi/icon_openinapp.png',
+    'resources/drawable-mdpi/icon_pageaction.png',
+    'resources/drawable-mdpi/icon_reading_list_empty.png',
+    'resources/drawable-mdpi/larry.png',
+    'resources/drawable-mdpi/lock_identified.png',
+    'resources/drawable-mdpi/lock_verified.png',
+    'resources/drawable-mdpi/marketplace.png',
+    'resources/drawable-mdpi/menu.png',
+    'resources/drawable-mdpi/menu_item_check.png',
+    'resources/drawable-mdpi/menu_item_more.png',
+    'resources/drawable-mdpi/menu_item_uncheck.png',
+    'resources/drawable-mdpi/menu_panel_bg.9.png',
+    'resources/drawable-mdpi/menu_pb.png',
+    'resources/drawable-mdpi/menu_popup_arrow_bottom.png',
+    'resources/drawable-mdpi/menu_popup_arrow_top.png',
+    'resources/drawable-mdpi/menu_popup_bg.9.png',
+    'resources/drawable-mdpi/pause.png',
+    'resources/drawable-mdpi/pin.png',
+    'resources/drawable-mdpi/play.png',
+    'resources/drawable-mdpi/progress_spinner.png',
+    'resources/drawable-mdpi/reader.png',
+    'resources/drawable-mdpi/reader_active.png',
+    'resources/drawable-mdpi/reader_cropped.png',
+    'resources/drawable-mdpi/reading_list.png',
+    'resources/drawable-mdpi/scrollbar.png',
+    'resources/drawable-mdpi/shadow.png',
+    'resources/drawable-mdpi/shield.png',
+    'resources/drawable-mdpi/shield_doorhanger.png',
+    'resources/drawable-mdpi/spinner_default.9.png',
+    'resources/drawable-mdpi/spinner_focused.9.png',
+    'resources/drawable-mdpi/spinner_pressed.9.png',
+    'resources/drawable-mdpi/start.png',
+    'resources/drawable-mdpi/tab_close.png',
+    'resources/drawable-mdpi/tab_indicator_divider.9.png',
+    'resources/drawable-mdpi/tab_indicator_selected.9.png',
+    'resources/drawable-mdpi/tab_indicator_selected_focused.9.png',
+    'resources/drawable-mdpi/tab_new.png',
+    'resources/drawable-mdpi/tab_new_pb.png',
+    'resources/drawable-mdpi/tab_thumbnail_default.png',
+    'resources/drawable-mdpi/tab_thumbnail_shadow.png',
+    'resources/drawable-mdpi/tabs_count.png',
+    'resources/drawable-mdpi/tabs_count_foreground.png',
+    'resources/drawable-mdpi/tabs_normal.png',
+    'resources/drawable-mdpi/tabs_private.png',
+    'resources/drawable-mdpi/tabs_synced.png',
+    'resources/drawable-mdpi/tip_addsearch.png',
+    'resources/drawable-mdpi/toast.9.png',
+    'resources/drawable-mdpi/toast_button_focused.9.png',
+    'resources/drawable-mdpi/toast_button_pressed.9.png',
+    'resources/drawable-mdpi/toast_divider.9.png',
+    'resources/drawable-mdpi/top_site_add.png',
+    'resources/drawable-mdpi/url_bar_entry_default.9.png',
+    'resources/drawable-mdpi/url_bar_entry_default_pb.9.png',
+    'resources/drawable-mdpi/url_bar_entry_pressed.9.png',
+    'resources/drawable-mdpi/url_bar_entry_pressed_pb.9.png',
+    'resources/drawable-mdpi/urlbar_stop.png',
+    'resources/drawable-mdpi/validation_arrow.png',
+    'resources/drawable-mdpi/validation_arrow_inverted.png',
+    'resources/drawable-mdpi/validation_bg.9.png',
+    'resources/drawable-mdpi/warning.png',
+    'resources/drawable-mdpi/warning_doorhanger.png',
+    'resources/drawable-xhdpi-v11/alert_addon.png',
+    'resources/drawable-xhdpi-v11/alert_app.png',
+    'resources/drawable-xhdpi-v11/alert_camera.png',
+    'resources/drawable-xhdpi-v11/alert_download.png',
+    'resources/drawable-xhdpi-v11/alert_mic.png',
+    'resources/drawable-xhdpi-v11/alert_mic_camera.png',
+    'resources/drawable-xhdpi-v11/firefox_settings_alert.png',
+    'resources/drawable-xhdpi-v11/ic_menu_addons.png',
+    'resources/drawable-xhdpi-v11/ic_menu_apps.png',
+    'resources/drawable-xhdpi-v11/ic_menu_back.png',
+    'resources/drawable-xhdpi-v11/ic_menu_bookmark_add.png',
+    'resources/drawable-xhdpi-v11/ic_menu_bookmark_remove.png',
+    'resources/drawable-xhdpi-v11/ic_menu_desktop_mode_off.png',
+    'resources/drawable-xhdpi-v11/ic_menu_desktop_mode_on.png',
+    'resources/drawable-xhdpi-v11/ic_menu_downloads.png',
+    'resources/drawable-xhdpi-v11/ic_menu_find_in_page.png',
+    'resources/drawable-xhdpi-v11/ic_menu_forward.png',
+    'resources/drawable-xhdpi-v11/ic_menu_new_private_tab.png',
+    'resources/drawable-xhdpi-v11/ic_menu_new_tab.png',
+    'resources/drawable-xhdpi-v11/ic_menu_quit.png',
+    'resources/drawable-xhdpi-v11/ic_menu_reload.png',
+    'resources/drawable-xhdpi-v11/ic_menu_save_as_pdf.png',
+    'resources/drawable-xhdpi-v11/ic_menu_settings.png',
+    'resources/drawable-xhdpi-v11/ic_menu_share.png',
+    'resources/drawable-xhdpi-v11/ic_menu_tools.png',
+    'resources/drawable-xhdpi-v11/ic_status_logo.png',
+    'resources/drawable-xhdpi/abouthome_thumbnail.png',
+    'resources/drawable-xhdpi/alert_addon.png',
+    'resources/drawable-xhdpi/alert_app.png',
+    'resources/drawable-xhdpi/alert_camera.png',
+    'resources/drawable-xhdpi/alert_download.png',
+    'resources/drawable-xhdpi/alert_mic.png',
+    'resources/drawable-xhdpi/alert_mic_camera.png',
+    'resources/drawable-xhdpi/arrow_popup_bg.9.png',
+    'resources/drawable-xhdpi/blank.png',
+    'resources/drawable-xhdpi/bookmark_folder_closed.png',
+    'resources/drawable-xhdpi/bookmark_folder_opened.png',
+    'resources/drawable-xhdpi/close.png',
+    'resources/drawable-xhdpi/favicon.png',
+    'resources/drawable-xhdpi/find_close.png',
+    'resources/drawable-xhdpi/find_next.png',
+    'resources/drawable-xhdpi/find_prev.png',
+    'resources/drawable-xhdpi/folder.png',
+    'resources/drawable-xhdpi/grid_icon_bg_activated.9.png',
+    'resources/drawable-xhdpi/grid_icon_bg_focused.9.png',
+    'resources/drawable-xhdpi/handle_end.png',
+    'resources/drawable-xhdpi/handle_middle.png',
+    'resources/drawable-xhdpi/handle_start.png',
+    'resources/drawable-xhdpi/history_tabs_indicator_selected.9.png',
+    'resources/drawable-xhdpi/home_tab_menu_strip.9.png',
+    'resources/drawable-xhdpi/ic_menu_addons_filler.png',
+    'resources/drawable-xhdpi/ic_menu_bookmark_add.png',
+    'resources/drawable-xhdpi/ic_menu_bookmark_remove.png',
+    'resources/drawable-xhdpi/ic_menu_character_encoding.png',
+    'resources/drawable-xhdpi/ic_menu_forward.png',
+    'resources/drawable-xhdpi/ic_menu_guest.png',
+    'resources/drawable-xhdpi/ic_menu_new_private_tab.png',
+    'resources/drawable-xhdpi/ic_menu_new_tab.png',
+    'resources/drawable-xhdpi/ic_menu_reload.png',
+    'resources/drawable-xhdpi/ic_status_logo.png',
+    'resources/drawable-xhdpi/ic_url_bar_go.png',
+    'resources/drawable-xhdpi/ic_url_bar_reader.png',
+    'resources/drawable-xhdpi/ic_url_bar_search.png',
+    'resources/drawable-xhdpi/ic_url_bar_star.png',
+    'resources/drawable-xhdpi/ic_url_bar_tab.png',
+    'resources/drawable-xhdpi/icon_bookmarks_empty.png',
+    'resources/drawable-xhdpi/icon_last_tabs.png',
+    'resources/drawable-xhdpi/icon_last_tabs_empty.png',
+    'resources/drawable-xhdpi/icon_most_recent.png',
+    'resources/drawable-xhdpi/icon_most_recent_empty.png',
+    'resources/drawable-xhdpi/icon_most_visited.png',
+    'resources/drawable-xhdpi/icon_openinapp.png',
+    'resources/drawable-xhdpi/icon_pageaction.png',
+    'resources/drawable-xhdpi/icon_reading_list_empty.png',
+    'resources/drawable-xhdpi/larry.png',
+    'resources/drawable-xhdpi/lock_identified.png',
+    'resources/drawable-xhdpi/lock_verified.png',
+    'resources/drawable-xhdpi/menu.png',
+    'resources/drawable-xhdpi/menu_item_check.png',
+    'resources/drawable-xhdpi/menu_item_more.png',
+    'resources/drawable-xhdpi/menu_item_uncheck.png',
+    'resources/drawable-xhdpi/menu_panel_bg.9.png',
+    'resources/drawable-xhdpi/menu_pb.png',
+    'resources/drawable-xhdpi/menu_popup_arrow_bottom.png',
+    'resources/drawable-xhdpi/menu_popup_arrow_top.png',
+    'resources/drawable-xhdpi/menu_popup_bg.9.png',
+    'resources/drawable-xhdpi/pause.png',
+    'resources/drawable-xhdpi/pin.png',
+    'resources/drawable-xhdpi/play.png',
+    'resources/drawable-xhdpi/reader.png',
+    'resources/drawable-xhdpi/reader_active.png',
+    'resources/drawable-xhdpi/reader_cropped.png',
+    'resources/drawable-xhdpi/reading_list.png',
+    'resources/drawable-xhdpi/shield.png',
+    'resources/drawable-xhdpi/shield_doorhanger.png',
+    'resources/drawable-xhdpi/spinner_default.9.png',
+    'resources/drawable-xhdpi/spinner_focused.9.png',
+    'resources/drawable-xhdpi/spinner_pressed.9.png',
+    'resources/drawable-xhdpi/tab_close.png',
+    'resources/drawable-xhdpi/tab_indicator_divider.9.png',
+    'resources/drawable-xhdpi/tab_indicator_selected.9.png',
+    'resources/drawable-xhdpi/tab_indicator_selected_focused.9.png',
+    'resources/drawable-xhdpi/tab_new.png',
+    'resources/drawable-xhdpi/tab_new_pb.png',
+    'resources/drawable-xhdpi/tab_thumbnail_default.png',
+    'resources/drawable-xhdpi/tab_thumbnail_shadow.png',
+    'resources/drawable-xhdpi/tabs_count.png',
+    'resources/drawable-xhdpi/tabs_count_foreground.png',
+    'resources/drawable-xhdpi/tabs_normal.png',
+    'resources/drawable-xhdpi/tabs_private.png',
+    'resources/drawable-xhdpi/tabs_synced.png',
+    'resources/drawable-xhdpi/tip_addsearch.png',
+    'resources/drawable-xhdpi/top_site_add.png',
+    'resources/drawable-xhdpi/url_bar_entry_default.9.png',
+    'resources/drawable-xhdpi/url_bar_entry_default_pb.9.png',
+    'resources/drawable-xhdpi/url_bar_entry_pressed.9.png',
+    'resources/drawable-xhdpi/url_bar_entry_pressed_pb.9.png',
+    'resources/drawable-xhdpi/urlbar_stop.png',
+    'resources/drawable-xhdpi/validation_arrow.png',
+    'resources/drawable-xhdpi/validation_arrow_inverted.png',
+    'resources/drawable-xhdpi/validation_bg.9.png',
+    'resources/drawable-xhdpi/warning.png',
+    'resources/drawable-xhdpi/warning_doorhanger.png',
+    'resources/drawable-xlarge-hdpi-v11/ic_menu_bookmark_add.png',
+    'resources/drawable-xlarge-hdpi-v11/ic_menu_bookmark_remove.png',
+    'resources/drawable-xlarge-mdpi-v11/ic_menu_bookmark_add.png',
+    'resources/drawable-xlarge-mdpi-v11/ic_menu_bookmark_remove.png',
+    'resources/drawable-xlarge-v11/home_history_tabs_indicator.xml',
+    'resources/drawable-xlarge-xhdpi-v11/ic_menu_bookmark_add.png',
+    'resources/drawable-xlarge-xhdpi-v11/ic_menu_bookmark_remove.png',
+    'resources/drawable/action_bar_button.xml',
+    'resources/drawable/action_bar_button_inverse.xml',
+    'resources/drawable/bookmark_folder.xml',
+    'resources/drawable/divider_horizontal.xml',
+    'resources/drawable/divider_vertical.xml',
+    'resources/drawable/handle_end_level.xml',
+    'resources/drawable/handle_start_level.xml',
+    'resources/drawable/home_banner.xml',
+    'resources/drawable/home_history_tabs_indicator.xml',
+    'resources/drawable/home_page_title_background.xml',
+    'resources/drawable/ic_menu_back.xml',
+    'resources/drawable/ic_menu_desktop_mode_off.xml',
+    'resources/drawable/ic_menu_desktop_mode_on.xml',
+    'resources/drawable/ic_menu_quit.xml',
+    'resources/drawable/icon_grid_item_bg.xml',
+    'resources/drawable/menu_item_state.xml',
+    'resources/drawable/menu_level.xml',
+    'resources/drawable/remote_tabs_child_divider.xml',
+    'resources/drawable/shaped_button.xml',
+    'resources/drawable/site_security_level.xml',
+    'resources/drawable/spinner.xml',
+    'resources/drawable/suggestion_selector.xml',
+    'resources/drawable/tab_new_level.xml',
+    'resources/drawable/tab_row.xml',
+    'resources/drawable/tab_thumbnail.xml',
+    'resources/drawable/tabs_panel_indicator.xml',
+    'resources/drawable/textbox_bg.xml',
+    'resources/drawable/toast_button.xml',
+    'resources/drawable/top_sites_thumbnail_bg.xml',
+    'resources/drawable/url_bar_bg.xml',
+    'resources/drawable/url_bar_entry.xml',
+    'resources/drawable/url_bar_nav_button.xml',
+    'resources/drawable/url_bar_right_edge.xml',
+    'resources/drawable/webapp_titlebar_bg.xml',
+    'resources/layout-large-land-v11/home_history_list.xml',
+    'resources/layout-large-land-v11/home_history_page.xml',
+    'resources/layout-large-land-v11/home_history_tabs_indicator.xml',
+    'resources/layout-large-land-v11/tabs_panel.xml',
+    'resources/layout-large-land-v11/tabs_panel_footer.xml',
+    'resources/layout-large-land-v11/tabs_panel_header.xml',
+    'resources/layout-large-v11/browser_toolbar.xml',
+    'resources/layout-large-v11/home_pager.xml',
+    'resources/layout-xlarge-v11/font_size_preference.xml',
+    'resources/layout-xlarge-v11/home_history_list.xml',
+    'resources/layout-xlarge-v11/home_history_page.xml',
+    'resources/layout-xlarge-v11/home_history_tabs_indicator.xml',
+    'resources/layout-xlarge-v11/remote_tabs_child.xml',
+    'resources/layout-xlarge-v11/remote_tabs_group.xml',
+    'resources/layout/arrow_popup.xml',
+    'resources/layout/autocomplete_list.xml',
+    'resources/layout/autocomplete_list_item.xml',
+    'resources/layout/bookmark_edit.xml',
+    'resources/layout/bookmark_folder_row.xml',
+    'resources/layout/bookmark_item_row.xml',
+    'resources/layout/browser_search.xml',
+    'resources/layout/browser_toolbar.xml',
+    'resources/layout/datetime_picker.xml',
+    'resources/layout/doorhanger.xml',
+    'resources/layout/doorhanger_button.xml',
+    'resources/layout/find_in_page_content.xml',
+    'resources/layout/font_size_preference.xml',
+    'resources/layout/gecko_app.xml',
+    'resources/layout/home_banner.xml',
+    'resources/layout/home_bookmarks_page.xml',
+    'resources/layout/home_empty_page.xml',
+    'resources/layout/home_empty_reading_page.xml',
+    'resources/layout/home_header_row.xml',
+    'resources/layout/home_history_list.xml',
+    'resources/layout/home_history_page.xml',
+    'resources/layout/home_history_tabs_indicator.xml',
+    'resources/layout/home_item_row.xml',
+    'resources/layout/home_last_tabs_page.xml',
+    'resources/layout/home_most_recent_page.xml',
+    'resources/layout/home_pager.xml',
+    'resources/layout/home_reading_list_page.xml',
+    'resources/layout/home_search_item_row.xml',
+    'resources/layout/home_suggestion_prompt.xml',
+    'resources/layout/home_top_sites_page.xml',
+    'resources/layout/icon_grid.xml',
+    'resources/layout/icon_grid_item.xml',
+    'resources/layout/launch_app_list.xml',
+    'resources/layout/launch_app_listitem.xml',
+    'resources/layout/list_item_header.xml',
+    'resources/layout/menu_action_bar.xml',
+    'resources/layout/menu_item_action_view.xml',
+    'resources/layout/menu_popup.xml',
+    'resources/layout/notification_icon_text.xml',
+    'resources/layout/notification_progress.xml',
+    'resources/layout/notification_progress_text.xml',
+    'resources/layout/pin_site_dialog.xml',
+    'resources/layout/preference_rightalign_icon.xml',
+    'resources/layout/preference_search_engine.xml',
+    'resources/layout/preference_search_tip.xml',
+    'resources/layout/remote_tabs_child.xml',
+    'resources/layout/remote_tabs_group.xml',
+    'resources/layout/search_engine_row.xml',
+    'resources/layout/select_dialog_list.xml',
+    'resources/layout/select_dialog_multichoice.xml',
+    'resources/layout/select_dialog_singlechoice.xml',
+    'resources/layout/shared_ui_components.xml',
+    'resources/layout/simple_dropdown_item_1line.xml',
+    'resources/layout/site_identity.xml',
+    'resources/layout/site_setting_item.xml',
+    'resources/layout/site_setting_title.xml',
+    'resources/layout/suggestion_item.xml',
+    'resources/layout/tab_menu_strip.xml',
+    'resources/layout/tabs_counter.xml',
+    'resources/layout/tabs_item_cell.xml',
+    'resources/layout/tabs_item_row.xml',
+    'resources/layout/tabs_panel.xml',
+    'resources/layout/tabs_panel_header.xml',
+    'resources/layout/tabs_panel_indicator.xml',
+    'resources/layout/text_selection_handles.xml',
+    'resources/layout/top_sites_grid_item_view.xml',
+    'resources/layout/two_line_page_row.xml',
+    'resources/layout/validation_message.xml',
+    'resources/layout/videoplayer.xml',
+    'resources/layout/web_app.xml',
+    'resources/menu-large-v11/browser_app_menu.xml',
+    'resources/menu-v11/browser_app_menu.xml',
+    'resources/menu-xlarge-v11/browser_app_menu.xml',
+    'resources/menu/browser_app_menu.xml',
+    'resources/menu/gecko_app_menu.xml',
+    'resources/menu/home_contextmenu.xml',
+    'resources/menu/titlebar_contextmenu.xml',
+    'resources/menu/top_sites_contextmenu.xml',
+    'resources/values-land/integers.xml',
+    'resources/values-land/layout.xml',
+    'resources/values-land/styles.xml',
+    'resources/values-large-land-v11/dimens.xml',
+    'resources/values-large-land-v11/styles.xml',
+    'resources/values-large-v11/dimens.xml',
+    'resources/values-large-v11/layout.xml',
+    'resources/values-large-v11/styles.xml',
+    'resources/values-large-v11/themes.xml',
+    'resources/values-v11/colors.xml',
+    'resources/values-v11/dimens.xml',
+    'resources/values-v11/styles.xml',
+    'resources/values-v11/themes.xml',
+    'resources/values-v14/styles.xml',
+    'resources/values-v16/styles.xml',
+    'resources/values-xlarge-land-v11/dimens.xml',
+    'resources/values-xlarge-land-v11/styles.xml',
+    'resources/values-xlarge-v11/dimens.xml',
+    'resources/values-xlarge-v11/integers.xml',
+    'resources/values-xlarge-v11/styles.xml',
+    'resources/values/arrays.xml',
+    'resources/values/attrs.xml',
+    'resources/values/colors.xml',
+    'resources/values/dimens.xml',
+    'resources/values/integers.xml',
+    'resources/values/layout.xml',
+    'resources/values/styles.xml',
+    'resources/values/themes.xml',
+    'resources/xml-v11/preference_headers.xml',
+    'resources/xml-v11/preferences.xml',
+    'resources/xml-v11/preferences_customize.xml',
+    'resources/xml-v11/preferences_customize_tablet.xml',
+    'resources/xml/preferences.xml',
+    'resources/xml/preferences_customize.xml',
+    'resources/xml/preferences_devtools.xml',
+    'resources/xml/preferences_display.xml',
+    'resources/xml/preferences_privacy.xml',
+    'resources/xml/preferences_search.xml',
+    'resources/xml/preferences_vendor.xml',
+    'resources/xml/searchable.xml',
 ]
+
+if CONFIG['MOZ_CRASHREPORTER']:
+    ANDROID_RESFILES += [
+        'resources/drawable-mdpi/crash_reporter.png',
+        'resources/layout/crash_reporter.xml',
+    ]
new file mode 100644
index 0000000000000000000000000000000000000000..5804e08a772e010f0c986460898fa18f321c9311
GIT binary patch
literal 2860
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
KMNUMnLSTY|v0hLB
new file mode 100644
--- /dev/null
+++ b/mobile/android/base/resources/layout/crash_reporter.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 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/. -->
+
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+            android:layout_width="fill_parent"
+            android:layout_height="fill_parent"
+            android:fillViewport="true">
+
+    <LinearLayout android:layout_width="fill_parent"
+                  android:layout_height="wrap_content"
+                  android:orientation="vertical"
+                  android:background="@color/background_normal">
+        
+        <LinearLayout android:layout_width="fill_parent"
+                      android:layout_height="0dp"
+                      android:orientation="vertical"
+                      android:padding="10dp"
+                      android:layout_weight="1">
+
+            <TextView android:layout_width="wrap_content"
+                      android:layout_height="wrap_content"
+                      android:padding="10dip"
+                      android:textSize="30sp"
+                      android:textColor="#000"
+                      android:layout_gravity="center_horizontal"
+                      android:fontFamily="sans-serif-light"
+                      android:text="@string/crash_sorry"/>
+
+            <TextView android:layout_width="wrap_content"
+                      android:layout_height="wrap_content"
+                      android:padding="10dip"
+                      android:textAppearance="@style/TextAppearance"
+                      android:text="@string/crash_message2"/>
+
+            <CheckBox android:id="@+id/send_report"
+                      android:layout_width="wrap_content"
+                      android:layout_height="wrap_content"
+                      android:checked="true"
+                      android:textColor="@color/primary_text"
+                      android:layout_marginBottom="10dp"
+                      android:text="@string/crash_send_report_message3"/>
+
+            <EditText android:id="@+id/comment"
+                      style="@style/CrashReporter.EditText"
+                      android:layout_width="fill_parent"
+                      android:layout_height="wrap_content"
+                      android:ems="10"
+                      android:inputType="textMultiLine"
+                      android:lines="5"
+                      android:gravity="top"
+                      android:layout_marginLeft="8dp"
+                      android:layout_marginRight="8dp"
+                      android:layout_marginBottom="10dp"
+                      android:hint="@string/crash_comment" />
+
+            <CheckBox android:id="@+id/include_url"
+                      android:layout_width="wrap_content"
+                      android:layout_height="wrap_content"
+                      android:textColor="@color/primary_text"
+                      android:textAppearance="@style/TextAppearance"
+                      android:layout_marginBottom="10dp"
+                      android:text="@string/crash_include_url2"/>
+
+            <CheckBox android:id="@+id/allow_contact"
+                      android:layout_width="wrap_content"
+                      android:layout_height="wrap_content"
+                      android:textColor="@color/primary_text"
+                      android:textAppearance="@style/TextAppearance"
+                      android:layout_marginBottom="10dp"
+                      android:text="@string/crash_allow_contact2"/>
+
+            <org.mozilla.gecko.widget.ClickableWhenDisabledEditText
+                    android:id="@+id/email"
+                    style="@style/CrashReporter.EditText"
+                    android:layout_width="fill_parent"
+                    android:layout_height="wrap_content"
+                    android:ems="10"
+                    android:inputType="textEmailAddress"
+                    android:layout_marginLeft="8dp"
+                    android:layout_marginRight="8dp"
+                    android:enabled="false"
+                    android:clickable="true"
+                    android:hint="@string/crash_email" />
+
+        </LinearLayout>
+        
+        <View android:layout_width="fill_parent"
+              android:layout_height="1dp"
+              android:background="#999" />
+
+        <LinearLayout android:layout_width="fill_parent"
+                      android:layout_height="wrap_content"
+                      android:orientation="horizontal"
+                      android:layout_gravity="bottom">
+
+            <Button android:id="@+id/close"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1.0"
+                    android:padding="15dp"
+                    android:onClick="onCloseClick"
+                    android:text="@string/crash_close_label"
+                    android:textAppearance="?android:attr/textAppearance"
+                    android:background="@drawable/action_bar_button"/>
+
+            <View android:layout_width="1dp"
+                  android:layout_height="fill_parent"
+                  android:background="#999" />
+        
+            <Button android:id="@+id/restart"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_weight="1.0"
+                    android:padding="15dp"
+                    android:onClick="onRestartClick"
+                    android:text="@string/crash_restart_label"
+                    android:textAppearance="?android:attr/textAppearance"
+                    android:background="@drawable/action_bar_button"/>
+
+        </LinearLayout>
+   
+    </LinearLayout>
+
+</ScrollView>
rename from mobile/android/branding/aurora/res/drawable-xxhdpi/icon.png
rename to mobile/android/branding/aurora/content/fennec_144x144.png
rename from mobile/android/branding/aurora/res/drawable-mdpi/icon.png
rename to mobile/android/branding/aurora/content/fennec_48x48.png
rename from mobile/android/branding/aurora/res/drawable-hdpi/icon.png
rename to mobile/android/branding/aurora/content/fennec_72x72.png
rename from mobile/android/branding/aurora/res/drawable-xhdpi/icon.png
rename to mobile/android/branding/aurora/content/fennec_96x96.png
rename from mobile/android/branding/beta/res/drawable-xxhdpi/icon.png
rename to mobile/android/branding/beta/content/fennec_144x144.png
rename from mobile/android/branding/beta/res/drawable-mdpi/icon.png
rename to mobile/android/branding/beta/content/fennec_48x48.png
rename from mobile/android/branding/beta/res/drawable-hdpi/icon.png
rename to mobile/android/branding/beta/content/fennec_72x72.png
rename from mobile/android/branding/beta/res/drawable-xhdpi/icon.png
rename to mobile/android/branding/beta/content/fennec_96x96.png
rename from mobile/android/branding/nightly/res/drawable-xxhdpi/icon.png
rename to mobile/android/branding/nightly/content/fennec_144x144.png
rename from mobile/android/branding/nightly/res/drawable-mdpi/icon.png
rename to mobile/android/branding/nightly/content/fennec_48x48.png
rename from mobile/android/branding/nightly/res/drawable-hdpi/icon.png
rename to mobile/android/branding/nightly/content/fennec_72x72.png
rename from mobile/android/branding/nightly/res/drawable-xhdpi/icon.png
rename to mobile/android/branding/nightly/content/fennec_96x96.png
rename from mobile/android/branding/official/res/drawable-xxhdpi/icon.png
rename to mobile/android/branding/official/content/fennec_144x144.png
rename from mobile/android/branding/official/res/drawable-mdpi/icon.png
rename to mobile/android/branding/official/content/fennec_48x48.png
rename from mobile/android/branding/official/res/drawable-hdpi/icon.png
rename to mobile/android/branding/official/content/fennec_72x72.png
rename from mobile/android/branding/official/res/drawable-xhdpi/icon.png
rename to mobile/android/branding/official/content/fennec_96x96.png
rename from mobile/android/branding/unofficial/res/drawable-xxhdpi/icon.png
rename to mobile/android/branding/unofficial/content/fennec_144x144.png
rename from mobile/android/branding/unofficial/res/drawable-mdpi/icon.png
rename to mobile/android/branding/unofficial/content/fennec_48x48.png
rename from mobile/android/branding/unofficial/res/drawable-hdpi/icon.png
rename to mobile/android/branding/unofficial/content/fennec_72x72.png
rename from mobile/android/branding/unofficial/res/drawable-xhdpi/icon.png
rename to mobile/android/branding/unofficial/content/fennec_96x96.png
--- a/mobile/android/tests/background/junit3/android-services.mozbuild
+++ b/mobile/android/tests/background/junit3/android-services.mozbuild
@@ -1,6 +1,13 @@
 # -*- 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/.
 
+ANDROID_RESFILES += [
+    'res/drawable-hdpi/icon.png',
+    'res/drawable-ldpi/icon.png',
+    'res/drawable-mdpi/icon.png',
+    'res/layout/main.xml',
+    'res/values/strings.xml',
+]
--- a/python/mozbuild/mozbuild/frontend/emitter.py
+++ b/python/mozbuild/mozbuild/frontend/emitter.py
@@ -186,17 +186,17 @@ class TreeMetadataEmitter(LoggingMixin):
 
         # Proxy some variables as-is until we have richer classes to represent
         # them. We should aim to keep this set small because it violates the
         # desired abstraction of the build definition away from makefiles.
         passthru = VariablePassthru(sandbox)
         varmap = dict(
             # Makefile.in : moz.build
             ANDROID_GENERATED_RESFILES='ANDROID_GENERATED_RESFILES',
-            ANDROID_RES_DIRS='ANDROID_RES_DIRS',
+            ANDROID_RESFILES='ANDROID_RESFILES',
             CPP_UNIT_TESTS='CPP_UNIT_TESTS',
             EXPORT_LIBRARY='EXPORT_LIBRARY',
             EXTRA_COMPONENTS='EXTRA_COMPONENTS',
             EXTRA_JS_MODULES='EXTRA_JS_MODULES',
             EXTRA_PP_COMPONENTS='EXTRA_PP_COMPONENTS',
             EXTRA_PP_JS_MODULES='EXTRA_PP_JS_MODULES',
             FAIL_ON_WARNINGS='FAIL_ON_WARNINGS',
             FORCE_SHARED_LIB='FORCE_SHARED_LIB',
--- a/python/mozbuild/mozbuild/frontend/sandbox_symbols.py
+++ b/python/mozbuild/mozbuild/frontend/sandbox_symbols.py
@@ -59,21 +59,20 @@ VARIABLES = {
         """Android resource files generated as part of the build.
 
         This variable contains a list of files that are expected to be
         generated (often by preprocessing) into a 'res' directory as
         part of the build process, and subsequently merged into an APK
         file.
         """, 'export'),
 
-    'ANDROID_RES_DIRS': (list, list, [],
-        """Android resource directories.
+    'ANDROID_RESFILES': (StrictOrderingOnAppendList, list, [],
+        """Android resource files.
 
-        This variable contains a list of directories, each relative to
-        the srcdir, containing static files to package into a 'res'
+        This variable contains a list of files to package into a 'res'
         directory and merge into an APK file.
         """, 'export'),
 
     'SOURCES': (StrictOrderingOnAppendList, list, [],
         """Source code files.
 
         This variable contains a list of source code files to compile.
         Accepts assembler, C, C++, Objective C/C++.