summaryrefslogtreecommitdiffstats
path: root/mobile/android/base/resources/layout
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /mobile/android/base/resources/layout
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloadUXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip
Add m-esr52 at 52.6.0
Diffstat (limited to 'mobile/android/base/resources/layout')
-rw-r--r--mobile/android/base/resources/layout/actionbar.xml31
-rw-r--r--mobile/android/base/resources/layout/activity_stream.xml6
-rw-r--r--mobile/android/base/resources/layout/activity_stream_card_history_item.xml123
-rw-r--r--mobile/android/base/resources/layout/activity_stream_contextmenu_bottomsheet.xml78
-rw-r--r--mobile/android/base/resources/layout/activity_stream_contextmenu_popupmenu.xml21
-rw-r--r--mobile/android/base/resources/layout/activity_stream_main_highlightstitle.xml28
-rw-r--r--mobile/android/base/resources/layout/activity_stream_main_toppanel.xml26
-rw-r--r--mobile/android/base/resources/layout/activity_stream_topsites_card.xml61
-rw-r--r--mobile/android/base/resources/layout/activity_stream_topsites_page.xml6
-rw-r--r--mobile/android/base/resources/layout/anchored_popup.xml25
-rw-r--r--mobile/android/base/resources/layout/as_content.xml8
-rw-r--r--mobile/android/base/resources/layout/autocomplete_list.xml11
-rw-r--r--mobile/android/base/resources/layout/autocomplete_list_item.xml14
-rw-r--r--mobile/android/base/resources/layout/basic_color_picker_dialog.xml21
-rw-r--r--mobile/android/base/resources/layout/bookmark_edit.xml51
-rw-r--r--mobile/android/base/resources/layout/bookmark_folder_row.xml13
-rw-r--r--mobile/android/base/resources/layout/bookmark_item_row.xml10
-rw-r--r--mobile/android/base/resources/layout/bookmark_screenshot_row.xml35
-rw-r--r--mobile/android/base/resources/layout/browser_search.xml35
-rw-r--r--mobile/android/base/resources/layout/browser_toolbar.xml112
-rw-r--r--mobile/android/base/resources/layout/button_toast.xml19
-rw-r--r--mobile/android/base/resources/layout/color_picker_row.xml13
-rw-r--r--mobile/android/base/resources/layout/customtabs_activity.xml50
-rw-r--r--mobile/android/base/resources/layout/datetime_picker.xml138
-rw-r--r--mobile/android/base/resources/layout/default_doorhanger.xml34
-rw-r--r--mobile/android/base/resources/layout/doorhanger.xml76
-rw-r--r--mobile/android/base/resources/layout/doorhanger_security.xml31
-rw-r--r--mobile/android/base/resources/layout/find_in_page_content.xml49
-rw-r--r--mobile/android/base/resources/layout/firstrun_animation_container.xml30
-rw-r--r--mobile/android/base/resources/layout/firstrun_basepanel_checkable_fragment.xml58
-rw-r--r--mobile/android/base/resources/layout/firstrun_sync_fragment.xml54
-rw-r--r--mobile/android/base/resources/layout/font_size_preference.xml54
-rw-r--r--mobile/android/base/resources/layout/gecko_app.xml177
-rw-r--r--mobile/android/base/resources/layout/history_sync_setup.xml35
-rw-r--r--mobile/android/base/resources/layout/home_banner.xml15
-rw-r--r--mobile/android/base/resources/layout/home_banner_content.xml36
-rw-r--r--mobile/android/base/resources/layout/home_bookmarks_panel.xml20
-rw-r--r--mobile/android/base/resources/layout/home_combined_back_item.xml13
-rw-r--r--mobile/android/base/resources/layout/home_combined_history_panel.xml52
-rw-r--r--mobile/android/base/resources/layout/home_empty_panel.xml45
-rw-r--r--mobile/android/base/resources/layout/home_header_row.xml7
-rw-r--r--mobile/android/base/resources/layout/home_item_row.xml10
-rw-r--r--mobile/android/base/resources/layout/home_pager.xml25
-rw-r--r--mobile/android/base/resources/layout/home_remote_tabs_group.xml60
-rw-r--r--mobile/android/base/resources/layout/home_remote_tabs_hidden_devices.xml17
-rw-r--r--mobile/android/base/resources/layout/home_search_item_row.xml12
-rw-r--r--mobile/android/base/resources/layout/home_smartfolder.xml50
-rw-r--r--mobile/android/base/resources/layout/home_suggestion_prompt.xml56
-rw-r--r--mobile/android/base/resources/layout/home_top_sites_panel.xml10
-rw-r--r--mobile/android/base/resources/layout/icon_grid.xml10
-rw-r--r--mobile/android/base/resources/layout/icon_grid_item.xml55
-rw-r--r--mobile/android/base/resources/layout/list_item_header.xml14
-rw-r--r--mobile/android/base/resources/layout/login_doorhanger.xml17
-rw-r--r--mobile/android/base/resources/layout/login_edit_dialog.xml31
-rw-r--r--mobile/android/base/resources/layout/media_casting.xml41
-rw-r--r--mobile/android/base/resources/layout/menu_action_bar.xml15
-rw-r--r--mobile/android/base/resources/layout/menu_item_switcher_layout.xml32
-rw-r--r--mobile/android/base/resources/layout/menu_popup.xml18
-rw-r--r--mobile/android/base/resources/layout/menu_secondary_action_bar.xml14
-rw-r--r--mobile/android/base/resources/layout/overlay_share_button.xml24
-rw-r--r--mobile/android/base/resources/layout/overlay_share_dialog.xml83
-rw-r--r--mobile/android/base/resources/layout/overlay_share_send_tab_item.xml10
-rw-r--r--mobile/android/base/resources/layout/panel_article_item.xml35
-rw-r--r--mobile/android/base/resources/layout/panel_auth_layout.xml39
-rw-r--r--mobile/android/base/resources/layout/panel_back_item.xml26
-rw-r--r--mobile/android/base/resources/layout/panel_icon_item.xml36
-rw-r--r--mobile/android/base/resources/layout/panel_image_item.xml44
-rw-r--r--mobile/android/base/resources/layout/panel_item_container.xml8
-rw-r--r--mobile/android/base/resources/layout/pin_site_dialog.xml43
-rw-r--r--mobile/android/base/resources/layout/preference_checkbox.xml24
-rw-r--r--mobile/android/base/resources/layout/preference_panels.xml30
-rw-r--r--mobile/android/base/resources/layout/preference_rightalign_icon.xml43
-rw-r--r--mobile/android/base/resources/layout/preference_search_engine.xml48
-rw-r--r--mobile/android/base/resources/layout/preference_search_tip.xml34
-rw-r--r--mobile/android/base/resources/layout/preference_set_homepage.xml38
-rw-r--r--mobile/android/base/resources/layout/private_tabs_panel.xml25
-rw-r--r--mobile/android/base/resources/layout/restricted_firstrun_welcome_fragment.xml73
-rw-r--r--mobile/android/base/resources/layout/search_activity_main.xml65
-rw-r--r--mobile/android/base/resources/layout/search_bar.xml43
-rw-r--r--mobile/android/base/resources/layout/search_empty.xml51
-rw-r--r--mobile/android/base/resources/layout/search_engine_bar_item.xml32
-rw-r--r--mobile/android/base/resources/layout/search_engine_bar_label.xml23
-rw-r--r--mobile/android/base/resources/layout/search_engine_row.xml30
-rw-r--r--mobile/android/base/resources/layout/search_fragment_post_search.xml30
-rw-r--r--mobile/android/base/resources/layout/search_fragment_pre_search.xml27
-rw-r--r--mobile/android/base/resources/layout/search_history_row.xml14
-rw-r--r--mobile/android/base/resources/layout/search_sugestions.xml12
-rw-r--r--mobile/android/base/resources/layout/search_suggestions_row.xml31
-rw-r--r--mobile/android/base/resources/layout/search_widget.xml67
-rw-r--r--mobile/android/base/resources/layout/select_dialog_list.xml13
-rw-r--r--mobile/android/base/resources/layout/select_dialog_multichoice.xml22
-rw-r--r--mobile/android/base/resources/layout/select_dialog_singlechoice.xml24
-rw-r--r--mobile/android/base/resources/layout/site_identity.xml101
-rw-r--r--mobile/android/base/resources/layout/site_setting_item.xml53
-rw-r--r--mobile/android/base/resources/layout/suggestion_item.xml31
-rw-r--r--mobile/android/base/resources/layout/tab_history_item_row.xml58
-rw-r--r--mobile/android/base/resources/layout/tab_history_layout.xml17
-rw-r--r--mobile/android/base/resources/layout/tab_menu_strip.xml15
-rw-r--r--mobile/android/base/resources/layout/tab_prompt_input.xml32
-rw-r--r--mobile/android/base/resources/layout/tab_queue_prompt.xml142
-rw-r--r--mobile/android/base/resources/layout/tab_queue_toast.xml38
-rw-r--r--mobile/android/base/resources/layout/tab_strip.xml10
-rw-r--r--mobile/android/base/resources/layout/tab_strip_inner.xml28
-rw-r--r--mobile/android/base/resources/layout/tab_strip_item.xml13
-rw-r--r--mobile/android/base/resources/layout/tab_strip_item_view.xml42
-rw-r--r--mobile/android/base/resources/layout/tabs_counter.xml17
-rw-r--r--mobile/android/base/resources/layout/tabs_layout_item_view.xml71
-rw-r--r--mobile/android/base/resources/layout/tabs_list_item_view.xml68
-rw-r--r--mobile/android/base/resources/layout/tabs_panel_default.xml100
-rw-r--r--mobile/android/base/resources/layout/tabs_panel_indicator.xml13
-rw-r--r--mobile/android/base/resources/layout/tabs_panel_view.xml14
-rw-r--r--mobile/android/base/resources/layout/toolbar_display_layout.xml52
-rw-r--r--mobile/android/base/resources/layout/toolbar_edit_layout.xml49
-rw-r--r--mobile/android/base/resources/layout/top_sites_grid_item_view.xml25
-rw-r--r--mobile/android/base/resources/layout/tracking_protection_prompt.xml106
-rw-r--r--mobile/android/base/resources/layout/two_line_folder_row.xml43
-rw-r--r--mobile/android/base/resources/layout/two_line_page_row.xml51
-rw-r--r--mobile/android/base/resources/layout/validation_message.xml42
-rw-r--r--mobile/android/base/resources/layout/zoomed_view.xml51
119 files changed, 4637 insertions, 0 deletions
diff --git a/mobile/android/base/resources/layout/actionbar.xml b/mobile/android/base/resources/layout/actionbar.xml
new file mode 100644
index 000000000..ecb5124de
--- /dev/null
+++ b/mobile/android/base/resources/layout/actionbar.xml
@@ -0,0 +1,31 @@
+<?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/. -->
+
+<merge xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <Button android:id="@+id/actionmode_title"
+ android:layout_height="match_parent"
+ android:layout_width="wrap_content"
+ style="@style/GeckoActionBar.Title"/>
+
+ <!-- Draw a separator to the left of the title -->
+ <View android:layout_height="match_parent"
+ android:layout_width="1dp"
+ android:layout_marginTop="10dp"
+ android:layout_marginBottom="10dp"
+ android:background="@color/text_color_secondary_inverse"/>
+
+ <LinearLayout android:id="@+id/actionbar_buttons"
+ android:layout_height="match_parent"
+ android:layout_width="0dip"
+ android:layout_weight="1"
+ style="@style/GeckoActionBar.Buttons"/>
+
+ <ImageButton android:id="@+id/actionbar_menu"
+ android:layout_height="match_parent"
+ android:layout_width="@dimen/browser_toolbar_icon_width"
+ style="@style/GeckoActionBar.Button.MenuButton"/>
+
+</merge>
diff --git a/mobile/android/base/resources/layout/activity_stream.xml b/mobile/android/base/resources/layout/activity_stream.xml
new file mode 100644
index 000000000..b40c01cde
--- /dev/null
+++ b/mobile/android/base/resources/layout/activity_stream.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<org.mozilla.gecko.home.activitystream.ActivityStreamHomeScreen xmlns:android="http://schemas.android.com/apk/res/android"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="#FAFAFA"/>
diff --git a/mobile/android/base/resources/layout/activity_stream_card_history_item.xml b/mobile/android/base/resources/layout/activity_stream_card_history_item.xml
new file mode 100644
index 000000000..7f411278d
--- /dev/null
+++ b/mobile/android/base/resources/layout/activity_stream_card_history_item.xml
@@ -0,0 +1,123 @@
+<?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/. -->
+
+<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:gecko="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="10dp"
+ android:layout_marginEnd="@dimen/activity_stream_base_margin"
+ android:layout_marginLeft="@dimen/activity_stream_base_margin"
+ android:layout_marginRight="@dimen/activity_stream_base_margin"
+ android:layout_marginStart="@dimen/activity_stream_base_margin"
+ android:layout_marginTop="0dp"
+ android:orientation="vertical">
+
+ <RelativeLayout
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:background="?android:attr/selectableItemBackground">
+
+ <org.mozilla.gecko.widget.FaviconView
+ android:id="@+id/icon"
+ android:layout_width="@dimen/favicon_bg"
+ android:layout_height="@dimen/favicon_bg"
+ android:layout_marginLeft="@dimen/activity_stream_base_margin"
+ android:layout_marginStart="@dimen/activity_stream_base_margin"
+ android:layout_marginTop="@dimen/activity_stream_base_margin"
+ android:layout_marginBottom="@dimen/activity_stream_base_margin"
+ android:layout_gravity="center"
+ gecko:enableRoundCorners="false"
+ tools:background="@drawable/favicon_globe" />
+
+ <ImageView
+ android:id="@+id/menu"
+ android:layout_width="wrap_content"
+ android:layout_height="36dp"
+ android:layout_margin="2dp"
+ android:layout_alignParentEnd="true"
+ android:layout_alignParentRight="true"
+ android:layout_alignParentTop="true"
+ android:layout_gravity="right|top"
+ android:contentDescription="@string/menu"
+ android:src="@drawable/menu"
+ android:padding="@dimen/activity_stream_base_margin" />
+
+ <TextView
+ android:id="@+id/page"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ tools:text="twitter"
+ android:textSize="12sp"
+ android:textColor="@color/activity_stream_subtitle"
+ android:layout_toRightOf="@id/icon"
+ android:layout_toEndOf="@id/icon"
+ android:layout_toLeftOf="@id/menu"
+ android:layout_toStartOf="@id/menu"
+ android:paddingTop="@dimen/activity_stream_base_margin"
+ android:paddingLeft="@dimen/activity_stream_base_margin"
+ android:paddingStart="@dimen/activity_stream_base_margin"/>
+
+ <TextView
+ android:id="@+id/card_history_label"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_toEndOf="@id/icon"
+ android:layout_toRightOf="@id/icon"
+ android:maxLines="3"
+ android:ellipsize="end"
+ android:paddingLeft="@dimen/activity_stream_base_margin"
+ android:paddingStart="@dimen/activity_stream_base_margin"
+ android:textSize="14sp"
+ android:textStyle="bold"
+ android:textColor="#ff000000"
+ android:layout_below="@id/page"
+ android:layout_toLeftOf="@id/menu"
+ android:layout_toStartOf="@id/menu"
+ tools:text="Descriptive title of a page that is veeeeeeery long - maybe even too long?" />
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:layout_toRightOf="@id/icon"
+ android:layout_toEndOf="@id/icon"
+ android:layout_alignParentBottom="true"
+ android:paddingLeft="@dimen/activity_stream_base_margin"
+ android:paddingStart="@dimen/activity_stream_base_margin"
+ android:paddingRight="@dimen/activity_stream_base_margin"
+ android:paddingEnd="@dimen/activity_stream_base_margin"
+ android:paddingTop="4dp"
+ android:paddingBottom="@dimen/activity_stream_base_margin"
+ android:gravity="center_vertical"
+ android:layout_below="@id/card_history_label">
+
+ <ImageView
+ android:id="@+id/source_icon"
+ android:layout_width="12dp"
+ android:layout_height="12dp" />
+
+ <TextView
+ android:id="@+id/card_history_source"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="2dp"
+ android:textSize="12sp"
+ android:layout_weight="1"
+ android:textColor="@color/activity_stream_subtitle"
+ tools:text="Bookmarked" />
+
+ <TextView
+ android:id="@+id/card_history_time_since"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textSize="12sp"
+ android:textColor="@color/activity_stream_timestamp"
+ tools:text="20m" />
+
+ </LinearLayout>
+ </RelativeLayout>
+</android.support.v7.widget.CardView>
diff --git a/mobile/android/base/resources/layout/activity_stream_contextmenu_bottomsheet.xml b/mobile/android/base/resources/layout/activity_stream_contextmenu_bottomsheet.xml
new file mode 100644
index 000000000..327587e6e
--- /dev/null
+++ b/mobile/android/base/resources/layout/activity_stream_contextmenu_bottomsheet.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:gecko="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+
+ <RelativeLayout
+ android:id="@+id/info_wrapper"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:padding="10dp">
+
+ <org.mozilla.gecko.widget.FaviconView
+ android:id="@+id/icon"
+ android:layout_width="@dimen/favicon_bg"
+ android:layout_height="@dimen/favicon_bg"
+ android:layout_gravity="center"
+ gecko:enableRoundCorners="false"
+ tools:background="@drawable/favicon_globe"/>
+
+ <TextView
+ android:id="@+id/url"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_toEndOf="@id/icon"
+ android:layout_toRightOf="@id/icon"
+ android:paddingLeft="@dimen/activity_stream_base_margin"
+ android:paddingStart="@dimen/activity_stream_base_margin"
+ android:textColor="@color/activity_stream_subtitle"
+ android:textSize="12sp"
+ tools:text="twitter"/>
+
+ <TextView
+ android:id="@+id/title"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_below="@id/url"
+ android:layout_toEndOf="@id/icon"
+ android:layout_toRightOf="@id/icon"
+ android:ellipsize="end"
+ android:maxLines="3"
+ android:paddingLeft="@dimen/activity_stream_base_margin"
+ android:paddingStart="@dimen/activity_stream_base_margin"
+ android:textColor="#ff000000"
+ android:textSize="14sp"
+ android:textStyle="bold"
+ tools:text="Descriptive title of a page that is veeeeeeery long - maybe even too long?"/>
+ </RelativeLayout>
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.5dp"
+ android:layout_marginTop="4dp"
+ android:background="@color/disabled_grey"
+ android:padding="4dp"/>
+
+ <android.support.v4.widget.NestedScrollView
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+
+ <android.support.design.widget.NavigationView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:id="@+id/menu"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ app:itemTextAppearance="@style/ActivityStreamContextMenuText"
+ android:theme="@style/ActivityStreamContextMenuStyle"
+ app:menu="@menu/activitystream_contextmenu"/>
+
+ </android.support.v4.widget.NestedScrollView>
+
+
+</LinearLayout>
diff --git a/mobile/android/base/resources/layout/activity_stream_contextmenu_popupmenu.xml b/mobile/android/base/resources/layout/activity_stream_contextmenu_popupmenu.xml
new file mode 100644
index 000000000..a21d67528
--- /dev/null
+++ b/mobile/android/base/resources/layout/activity_stream_contextmenu_popupmenu.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="32dp"
+ android:layout_height="200dp"
+ app:cardElevation="5dp"
+ app:cardUseCompatPadding="true">
+
+ <!-- This is mostly a copy of the same menu in activity_stream_contextmenu_bottomsheet.xml,
+ however for the popup menu we don't need to override the dividers, hence we omit the
+ android:theme override -->
+ <android.support.design.widget.NavigationView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:id="@+id/menu"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ app:itemTextAppearance="@style/ActivityStreamContextMenuText"
+ app:menu="@menu/activitystream_contextmenu"/>
+
+</android.support.v7.widget.CardView> \ No newline at end of file
diff --git a/mobile/android/base/resources/layout/activity_stream_main_highlightstitle.xml b/mobile/android/base/resources/layout/activity_stream_main_highlightstitle.xml
new file mode 100644
index 000000000..7338c8596
--- /dev/null
+++ b/mobile/android/base/resources/layout/activity_stream_main_highlightstitle.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+ <View
+ android:id="@+id/divider"
+ android:layout_width="match_parent"
+ android:layout_height="0.5dp"
+ android:padding="4dp"
+ android:background="#ffe0e0e0" />
+
+ <TextView
+ android:id="@+id/title_highlights"
+ android:layout_marginLeft="@dimen/activity_stream_base_margin"
+ android:layout_marginStart="@dimen/activity_stream_base_margin"
+ android:layout_marginTop="@dimen/activity_stream_base_margin"
+ android:layout_marginBottom="@dimen/activity_stream_base_margin"
+ android:layout_marginRight="@dimen/activity_stream_base_margin"
+ android:layout_marginEnd="@dimen/activity_stream_base_margin"
+ android:text="@string/activity_stream_highlights"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textStyle="bold"
+ android:textSize="16sp"
+ android:textColor="#FF858585" />
+
+</LinearLayout>
diff --git a/mobile/android/base/resources/layout/activity_stream_main_toppanel.xml b/mobile/android/base/resources/layout/activity_stream_main_toppanel.xml
new file mode 100644
index 000000000..60c420063
--- /dev/null
+++ b/mobile/android/base/resources/layout/activity_stream_main_toppanel.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+
+ <android.support.v4.view.ViewPager
+ android:layout_marginTop="10dp"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:id="@+id/topsites_pager"
+ android:contentDescription="@string/activity_stream_topsites" />
+
+ <org.mozilla.gecko.home.activitystream.topsites.CirclePageIndicator
+ android:id="@+id/topsites_indicator"
+ android:padding="10dip"
+ app:fillColor="#ff9d9d9d"
+ app:pageColor="#FFFFFF"
+ app:strokeWidth="1dp"
+ app:radius="2dp"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content" />
+
+</LinearLayout>
diff --git a/mobile/android/base/resources/layout/activity_stream_topsites_card.xml b/mobile/android/base/resources/layout/activity_stream_topsites_card.xml
new file mode 100644
index 000000000..8cb288b2f
--- /dev/null
+++ b/mobile/android/base/resources/layout/activity_stream_topsites_card.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="utf-8"?>
+<org.mozilla.gecko.widget.FilledCardView xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:gecko="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content">
+
+ <RelativeLayout
+ android:id="@+id/content"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="?android:attr/selectableItemBackground">
+
+ <org.mozilla.gecko.widget.FaviconView
+ android:id="@+id/favicon"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_above="@+id/title"
+ android:layout_alignParentTop="true"
+ android:layout_centerHorizontal="true"
+ android:layout_gravity="center"
+ gecko:enableRoundCorners="false"
+ tools:background="@drawable/favicon_globe" />
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.5dp"
+ android:layout_below="@id/favicon"
+ android:background="@color/activity_stream_divider" />
+
+ <TextView
+ android:id="@+id/title"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentBottom="true"
+ android:layout_alignParentEnd="true"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentRight="true"
+ android:layout_alignParentStart="true"
+ android:ellipsize="end"
+ android:gravity="center"
+ android:lines="1"
+ android:padding="4dp"
+ android:textSize="12sp"
+ android:textColor="@android:color/black"
+ tools:text="Lorem Ipsum here is a title" />
+
+ <ImageView
+ android:id="@+id/menu"
+ android:layout_width="wrap_content"
+ android:layout_height="28dp"
+ android:layout_alignParentEnd="true"
+ android:layout_alignParentRight="true"
+ android:layout_alignParentTop="true"
+ android:layout_gravity="right|top"
+ android:padding="6dp"
+ android:contentDescription="@string/menu"
+ android:src="@drawable/menu" />
+
+ </RelativeLayout>
+</org.mozilla.gecko.widget.FilledCardView> \ No newline at end of file
diff --git a/mobile/android/base/resources/layout/activity_stream_topsites_page.xml b/mobile/android/base/resources/layout/activity_stream_topsites_page.xml
new file mode 100644
index 000000000..78399f7fc
--- /dev/null
+++ b/mobile/android/base/resources/layout/activity_stream_topsites_page.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<org.mozilla.gecko.home.activitystream.topsites.TopSitesPage xmlns:android="http://schemas.android.com/apk/res/android"
+ android:orientation="vertical"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:paddingLeft="10dp"/>
diff --git a/mobile/android/base/resources/layout/anchored_popup.xml b/mobile/android/base/resources/layout/anchored_popup.xml
new file mode 100644
index 000000000..bc4b61493
--- /dev/null
+++ b/mobile/android/base/resources/layout/anchored_popup.xml
@@ -0,0 +1,25 @@
+<?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/. -->
+
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@drawable/dropshadow"
+ android:paddingLeft="3dp"
+ android:paddingRight="3dp"
+ android:paddingTop="3dp"
+ android:paddingBottom="4dp">
+
+ <ScrollView android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+
+ <org.mozilla.gecko.widget.RoundedCornerLayout android:id="@+id/content"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@color/toolbar_grey"
+ android:orientation="vertical"/>
+
+ </ScrollView>
+</FrameLayout>
diff --git a/mobile/android/base/resources/layout/as_content.xml b/mobile/android/base/resources/layout/as_content.xml
new file mode 100644
index 000000000..780d00beb
--- /dev/null
+++ b/mobile/android/base/resources/layout/as_content.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<merge xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <android.support.v7.widget.RecyclerView
+ android:id="@+id/activity_stream_main_recyclerview"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"/>
+</merge> \ No newline at end of file
diff --git a/mobile/android/base/resources/layout/autocomplete_list.xml b/mobile/android/base/resources/layout/autocomplete_list.xml
new file mode 100644
index 000000000..78487d42c
--- /dev/null
+++ b/mobile/android/base/resources/layout/autocomplete_list.xml
@@ -0,0 +1,11 @@
+<?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/. -->
+
+<ListView xmlns:android="http://schemas.android.com/apk/res/android"
+ style="@android:style/Widget.Holo.ListView"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@drawable/autocomplete_list_bg"
+ android:cacheColorHint="#ffffff"/>
diff --git a/mobile/android/base/resources/layout/autocomplete_list_item.xml b/mobile/android/base/resources/layout/autocomplete_list_item.xml
new file mode 100644
index 000000000..b8bbf6fd5
--- /dev/null
+++ b/mobile/android/base/resources/layout/autocomplete_list_item.xml
@@ -0,0 +1,14 @@
+<?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/. -->
+
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="32dip"
+ android:textAppearance="@style/TextAppearance.Medium"
+ android:layout_gravity="center_vertical"
+ android:paddingLeft="10dp"
+ android:paddingRight="10dp"
+ android:paddingTop="3dp"
+ android:paddingBottom="3dp"/>
diff --git a/mobile/android/base/resources/layout/basic_color_picker_dialog.xml b/mobile/android/base/resources/layout/basic_color_picker_dialog.xml
new file mode 100644
index 000000000..4efb341d5
--- /dev/null
+++ b/mobile/android/base/resources/layout/basic_color_picker_dialog.xml
@@ -0,0 +1,21 @@
+<?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/. -->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_height="wrap_content"
+ android:layout_width="match_parent"
+ android:orientation="vertical">
+
+ <org.mozilla.gecko.widget.BasicColorPicker android:id="@+id/colorpicker"
+ android:layout_height="0dip"
+ android:layout_weight="1"
+ android:drawSelectorOnTop="true"
+ android:choiceMode="singleChoice"
+ android:divider="@android:color/transparent"
+ android:dividerHeight="0dip"
+ android:listSelector="#22FFFFFF"
+ android:layout_width="match_parent"/>
+
+</LinearLayout>
diff --git a/mobile/android/base/resources/layout/bookmark_edit.xml b/mobile/android/base/resources/layout/bookmark_edit.xml
new file mode 100644
index 000000000..cf59096c8
--- /dev/null
+++ b/mobile/android/base/resources/layout/bookmark_edit.xml
@@ -0,0 +1,51 @@
+<?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/. -->
+
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:orientation="vertical"
+ android:layout_height="match_parent">
+
+ <android.support.design.widget.TextInputLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+
+ <EditText
+ android:id="@+id/edit_bookmark_name"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:hint="@string/bookmark_edit_name"
+ />
+ </android.support.design.widget.TextInputLayout>
+
+ <android.support.design.widget.TextInputLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+
+ <EditText
+ android:id="@+id/edit_bookmark_location"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:hint="@string/bookmark_edit_location"
+ android:inputType="textNoSuggestions"/>
+ </android.support.design.widget.TextInputLayout>
+
+ <android.support.design.widget.TextInputLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+
+ <EditText
+ android:id="@+id/edit_bookmark_keyword"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:hint="@string/bookmark_edit_keyword"/>
+ </android.support.design.widget.TextInputLayout>
+
+</LinearLayout>
diff --git a/mobile/android/base/resources/layout/bookmark_folder_row.xml b/mobile/android/base/resources/layout/bookmark_folder_row.xml
new file mode 100644
index 000000000..dcf9620cd
--- /dev/null
+++ b/mobile/android/base/resources/layout/bookmark_folder_row.xml
@@ -0,0 +1,13 @@
+<?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/. -->
+
+<org.mozilla.gecko.home.BookmarkFolderView xmlns:android="http://schemas.android.com/apk/res/android"
+ style="@style/Widget.FolderView"
+ android:layout_width="match_parent"
+ android:paddingLeft="0dp"
+ android:paddingTop="0dp"
+ android:paddingBottom="0dp"
+ android:paddingRight="16dp"
+ android:gravity="center_vertical"/>
diff --git a/mobile/android/base/resources/layout/bookmark_item_row.xml b/mobile/android/base/resources/layout/bookmark_item_row.xml
new file mode 100644
index 000000000..71d4f532f
--- /dev/null
+++ b/mobile/android/base/resources/layout/bookmark_item_row.xml
@@ -0,0 +1,10 @@
+<?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/. -->
+
+<org.mozilla.gecko.home.TwoLinePageRow xmlns:android="http://schemas.android.com/apk/res/android"
+ style="@style/Widget.BookmarkItemView"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/page_row_height"
+ android:minHeight="@dimen/page_row_height"/>
diff --git a/mobile/android/base/resources/layout/bookmark_screenshot_row.xml b/mobile/android/base/resources/layout/bookmark_screenshot_row.xml
new file mode 100644
index 000000000..cdb3912c2
--- /dev/null
+++ b/mobile/android/base/resources/layout/bookmark_screenshot_row.xml
@@ -0,0 +1,35 @@
+<?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/. -->
+
+<org.mozilla.gecko.home.BookmarkScreenshotRow
+ xmlns:android="http://schemas.android.com/apk/res/android" xmlns:gecko="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/page_row_height"
+ android:minHeight="@dimen/page_row_height"
+ android:orientation="vertical"
+ android:gravity="center_vertical"
+ android:paddingLeft="16dp"
+ android:paddingRight="16dp"
+>
+
+ <org.mozilla.gecko.widget.FadedSingleColorTextView
+ android:id="@+id/title"
+ style="@style/Widget.TwoLinePageRow.Title"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ gecko:fadeWidth="30dp"
+ />
+
+ <org.mozilla.gecko.widget.FadedSingleColorTextView
+ android:id="@+id/date"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textAppearance="@style/TextAppearance.Widget.Home.ItemDescription"
+ android:textColor="@color/link_blue"
+ android:singleLine="true"
+ gecko:fadeWidth="30dp"
+ />
+
+</org.mozilla.gecko.home.BookmarkScreenshotRow>
diff --git a/mobile/android/base/resources/layout/browser_search.xml b/mobile/android/base/resources/layout/browser_search.xml
new file mode 100644
index 000000000..44ff340cf
--- /dev/null
+++ b/mobile/android/base/resources/layout/browser_search.xml
@@ -0,0 +1,35 @@
+<?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/. -->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <ViewStub android:id="@+id/suggestions_opt_in_prompt"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout="@layout/home_suggestion_prompt" />
+
+ <view class="org.mozilla.gecko.home.BrowserSearch$HomeSearchListView"
+ android:id="@+id/home_list_view"
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="1" />
+
+ <!-- listSelector is too slow for showing pressed state
+ so we set the pressed colors on the child. -->
+ <org.mozilla.gecko.home.SearchEngineBar
+ android:id="@+id/search_engine_bar"
+ android:layout_width="match_parent"
+ android:layout_height="48dp"
+ android:paddingTop="1dp"
+ android:orientation="horizontal"
+ android:layout_gravity="center_horizontal"
+ android:choiceMode="singleChoice"
+ android:listSelector="@android:color/transparent"
+ android:cacheColorHint="@android:color/transparent" />
+
+</LinearLayout>
diff --git a/mobile/android/base/resources/layout/browser_toolbar.xml b/mobile/android/base/resources/layout/browser_toolbar.xml
new file mode 100644
index 000000000..0413215f8
--- /dev/null
+++ b/mobile/android/base/resources/layout/browser_toolbar.xml
@@ -0,0 +1,112 @@
+<?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/. -->
+
+<merge xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <!-- Note: any layout parameters setting the right edge of
+ this View should be matched in the url_bar_translating_edge. -->
+ <ImageView android:id="@+id/url_bar_entry"
+ style="@style/UrlBar.Button"
+ android:layout_marginLeft="8dp"
+ android:layout_marginRight="-6dp"
+ android:layout_marginTop="8dp"
+ android:layout_marginBottom="8dp"
+ android:layout_toLeftOf="@+id/tabs"
+ android:duplicateParentState="true"
+ android:clickable="false"
+ android:focusable="false"
+ android:src="@drawable/url_bar_entry"
+ android:scaleType="fitXY"/>
+
+ <!-- A View that clips with url_bar_entry and translates
+ around it to animate growing the url bar,
+ which occurs in the display/editing mode transitions. -->
+ <ImageView android:id="@+id/url_bar_translating_edge"
+ style="@style/UrlBar.Button"
+ android:layout_alignLeft="@id/url_bar_entry"
+ android:layout_alignRight="@+id/url_bar_entry"
+ android:layout_alignTop="@id/url_bar_entry"
+ android:layout_alignBottom="@id/url_bar_entry"
+ android:duplicateParentState="true"
+ android:clickable="false"
+ android:focusable="false"
+ android:visibility="invisible"
+ android:src="@drawable/url_bar_translating_edge"
+ android:scaleType="fitXY"/>
+
+ <org.mozilla.gecko.toolbar.ShapedButtonFrameLayout
+ android:id="@+id/menu"
+ style="@style/UrlBar.ImageButton"
+ android:layout_alignParentRight="true"
+ android:contentDescription="@string/menu"
+ android:background="@drawable/shaped_button">
+
+ <org.mozilla.gecko.widget.themed.ThemedImageView
+ android:id="@+id/menu_icon"
+ style="@style/UrlBar.ImageButton"
+ android:layout_height="@dimen/browser_toolbar_menu_icon_height"
+ android:layout_width="wrap_content"
+ android:scaleType="centerInside"
+ android:layout_gravity="center"
+ android:src="@drawable/menu"
+ android:tint="@color/tabs_tray_icon_grey"/>
+
+ </org.mozilla.gecko.toolbar.ShapedButtonFrameLayout>
+
+ <org.mozilla.gecko.toolbar.PhoneTabsButton android:id="@+id/tabs"
+ style="@style/UrlBar.ImageButton"
+ android:layout_width="64dip"
+ android:layout_toLeftOf="@id/menu"
+ android:layout_alignWithParentIfMissing="true"
+ android:background="@drawable/shaped_button"/>
+
+ <!-- The TextSwitcher should be shifted 24dp on the left, to avoid
+ the curve. On a 48dp space, centering 24dp image will leave
+ 12dp on all sides. However this image has a perception of
+ 2 layers. Hence to center this, an additional 4dp is added to the left.
+ The margins will be 40dp on left, 8dp on right, instead of ideal 30dp
+ and 12dp. -->
+ <org.mozilla.gecko.toolbar.TabCounter android:id="@+id/tabs_counter"
+ style="@style/UrlBar.ImageButton"
+ android:layout_width="24dip"
+ android:layout_height="24dip"
+ android:layout_centerVertical="true"
+ android:layout_marginRight="8dip"
+ android:layout_alignRight="@id/tabs"
+ android:background="@drawable/tabs_count"
+ android:gravity="center_horizontal"
+ android:clipChildren="false"
+ android:clipToPadding="false"/>
+
+ <!-- Note that the edit components are invisible so that the views
+ depending on their location can properly layout. -->
+ <org.mozilla.gecko.widget.themed.ThemedImageView
+ android:id="@+id/edit_cancel"
+ style="@style/UrlBar.ImageButton"
+ android:layout_alignParentRight="true"
+ android:src="@drawable/close_edit_mode_selector"
+ android:contentDescription="@string/edit_mode_cancel"
+ android:background="@drawable/action_bar_button"
+ android:visibility="invisible"/>
+
+ <!-- The space to the left of the cancel button would be larger than the right because
+ the url bar drawable contains some whitespace, so we compensate by removing
+ some padding from the right (value determined through experimentation). -->
+ <org.mozilla.gecko.toolbar.ToolbarEditLayout android:id="@+id/edit_layout"
+ style="@style/UrlBar.Button"
+ android:layout_alignLeft="@id/url_bar_entry"
+ android:layout_toLeftOf="@id/edit_cancel"
+ android:visibility="invisible"
+ android:paddingLeft="8dp"
+ android:paddingRight="8dp"/>
+
+ <org.mozilla.gecko.toolbar.ToolbarDisplayLayout android:id="@+id/display_layout"
+ style="@style/UrlBar.Button"
+ android:layout_alignLeft="@id/url_bar_entry"
+ android:layout_alignRight="@id/url_bar_entry"
+ android:paddingLeft="1dip"
+ android:paddingRight="4dip"/>
+
+</merge>
diff --git a/mobile/android/base/resources/layout/button_toast.xml b/mobile/android/base/resources/layout/button_toast.xml
new file mode 100644
index 000000000..0ca590365
--- /dev/null
+++ b/mobile/android/base/resources/layout/button_toast.xml
@@ -0,0 +1,19 @@
+<?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/. -->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/toast"
+ style="@style/Toast">
+
+ <TextView android:id="@+id/toast_message"
+ style="@style/ToastMessage" />
+
+ <View android:id="@+id/toast_divider"
+ style="@style/ToastDivider" />
+
+ <Button android:id="@+id/toast_button"
+ style="@style/ToastButton" />
+
+</LinearLayout>
diff --git a/mobile/android/base/resources/layout/color_picker_row.xml b/mobile/android/base/resources/layout/color_picker_row.xml
new file mode 100644
index 000000000..716383f50
--- /dev/null
+++ b/mobile/android/base/resources/layout/color_picker_row.xml
@@ -0,0 +1,13 @@
+<?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/. -->
+
+<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/text"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textAppearance="@style/TextAppearance.Widget.TextView"
+ style="@style/Widget.ListItem"
+ android:background="@drawable/color_picker_row_bg"
+ android:checkMark="@android:color/transparent"/>
diff --git a/mobile/android/base/resources/layout/customtabs_activity.xml b/mobile/android/base/resources/layout/customtabs_activity.xml
new file mode 100644
index 000000000..7ba9c07f6
--- /dev/null
+++ b/mobile/android/base/resources/layout/customtabs_activity.xml
@@ -0,0 +1,50 @@
+<?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/. -->
+
+<RelativeLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:id="@+id/root_layout"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <!--
+ This layout is quite complex because GeckoApp accesses all view groups
+ in this tree. In a perfect world this should just include a GeckoView.
+ -->
+
+ <android.support.v7.widget.Toolbar
+ android:id="@+id/toolbar"
+ android:layout_width="match_parent"
+ android:layout_height="?attr/actionBarSize"
+ android:elevation="4dp"
+ android:background="@color/text_and_tabs_tray_grey"
+ app:layout_scrollFlags="scroll|enterAlways"/>
+
+ <view class="org.mozilla.gecko.GeckoApp$MainLayout"
+ android:id="@+id/main_layout"
+ android:layout_width="match_parent"
+ android:layout_below="@+id/toolbar"
+ android:layout_height="match_parent"
+ android:background="@android:color/transparent">
+
+ <RelativeLayout android:id="@+id/gecko_layout"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_below="@+id/tablet_tab_strip"
+ android:layout_above="@+id/find_in_page">
+
+ <fragment class="org.mozilla.gecko.GeckoViewFragment"
+ android:id="@+id/layer_view"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:scrollbars="none"/>
+
+ </RelativeLayout>
+
+ </view>
+
+</RelativeLayout> \ No newline at end of file
diff --git a/mobile/android/base/resources/layout/datetime_picker.xml b/mobile/android/base/resources/layout/datetime_picker.xml
new file mode 100644
index 000000000..66826f589
--- /dev/null
+++ b/mobile/android/base/resources/layout/datetime_picker.xml
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+**
+** Copyright 2007, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- Layout of date picker-->
+
+<!-- Warning: everything within the "pickers" layout is removed and re-ordered
+ depending on the date format selected by the user.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/datetime_picker"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:orientation="vertical"
+ android:gravity="center">
+
+ <LinearLayout android:id="@+id/date_spinners"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:layout_marginLeft="1dip"
+ android:layout_marginRight="1dip"
+ android:gravity="center">
+
+ <!-- Month -->
+ <android.widget.NumberPicker
+ android:id="@+id/month"
+ android:layout_width="60dip"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="1dip"
+ android:layout_marginRight="1dip"
+ android:focusable="true"
+ android:focusableInTouchMode="true"
+ />
+
+ <!-- Week -->
+ <android.widget.NumberPicker
+ android:id="@+id/week"
+ android:layout_width="60dip"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="1dip"
+ android:layout_marginRight="1dip"
+ android:focusable="true"
+ android:focusableInTouchMode="true"
+ />
+
+ <!-- Day -->
+ <android.widget.NumberPicker
+ android:id="@+id/day"
+ android:layout_width="60dip"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="1dip"
+ android:layout_marginRight="1dip"
+ android:focusable="true"
+ android:focusableInTouchMode="true"
+ />
+
+ <!-- Year -->
+ <android.widget.NumberPicker
+ android:id="@+id/year"
+ android:layout_width="75dip"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="1dip"
+ android:layout_marginRight="1dip"
+ android:focusable="true"
+ android:focusableInTouchMode="true"
+ />
+
+ </LinearLayout>
+
+ <LinearLayout android:id="@+id/time_spinners"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:layout_marginLeft="1dip"
+ android:layout_marginRight="1dip"
+ android:gravity="center">
+
+ <!-- Hour -->
+ <android.widget.NumberPicker
+ android:id="@+id/hour"
+ android:layout_width="60dip"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="1dip"
+ android:layout_marginRight="1dip"
+ android:focusable="true"
+ android:focusableInTouchMode="true"
+ />
+
+ <TextView android:id="@+id/mincolon"
+ android:text="@string/colon"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="1dip"
+ android:layout_marginRight="1dip"/>
+
+ <!-- Minute -->
+ <android.widget.NumberPicker
+ android:id="@+id/minute"
+ android:layout_width="60dip"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="1dip"
+ android:layout_marginRight="1dip"
+ android:focusable="true"
+ android:focusableInTouchMode="true"
+ />
+
+ <!-- AMPM -->
+ <android.widget.NumberPicker
+ android:id="@+id/ampm"
+ android:layout_width="60dip"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="1dip"
+ android:layout_marginRight="1dip"
+ android:focusable="true"
+ android:focusableInTouchMode="true"
+ />
+
+ </LinearLayout>
+
+</LinearLayout>
diff --git a/mobile/android/base/resources/layout/default_doorhanger.xml b/mobile/android/base/resources/layout/default_doorhanger.xml
new file mode 100644
index 000000000..fd8bf09aa
--- /dev/null
+++ b/mobile/android/base/resources/layout/default_doorhanger.xml
@@ -0,0 +1,34 @@
+<?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/. -->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+
+ <TextView android:id="@+id/doorhanger_message"
+ android:focusable="true"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textAppearance="@style/TextAppearance.DoorHanger.Medium"/>
+
+ <LinearLayout android:id="@+id/doorhanger_inputs"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:layout_marginTop="@dimen/doorhanger_section_padding_medium"
+ android:gravity="right"
+ android:visibility="gone"/>
+
+ <android.support.v7.widget.AppCompatCheckBox
+ android:id="@+id/doorhanger_checkbox"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="@dimen/doorhanger_section_padding_medium"
+ android:checked="true"
+ android:textColor="@color/placeholder_active_grey"
+ android:visibility="gone"/>
+
+</LinearLayout>
diff --git a/mobile/android/base/resources/layout/doorhanger.xml b/mobile/android/base/resources/layout/doorhanger.xml
new file mode 100644
index 000000000..f3ab4e1fe
--- /dev/null
+++ b/mobile/android/base/resources/layout/doorhanger.xml
@@ -0,0 +1,76 @@
+<?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/. -->
+
+<merge xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <LinearLayout android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:paddingLeft="@dimen/doorhanger_section_padding_small"
+ android:paddingRight="@dimen/doorhanger_section_padding_small"
+ android:paddingBottom="@dimen/doorhanger_section_padding_medium"
+ android:paddingTop="@dimen/doorhanger_section_padding_medium">
+
+ <ImageView android:id="@+id/doorhanger_icon"
+ android:layout_width="@dimen/doorhanger_icon_size"
+ android:layout_height="@dimen/doorhanger_icon_size"
+ android:layout_gravity="center_horizontal"
+ android:padding="@dimen/doorhanger_section_padding_small"
+ android:layout_marginRight="@dimen/doorhanger_section_padding_small"
+ android:visibility="gone"/>
+
+ <LinearLayout android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+
+ <TextView android:id="@+id/doorhanger_title"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="@dimen/doorhanger_section_padding_medium"
+ android:textAppearance="@style/TextAppearance.DoorHanger.Medium.Light"
+ android:visibility="gone"/>
+
+ <ViewStub android:id="@+id/content"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"/>
+
+ <TextView android:id="@+id/doorhanger_link"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textAppearance="@style/TextAppearance.DoorHanger.Medium"
+ android:textColor="@color/link_blue"
+ android:layout_marginTop="@dimen/doorhanger_section_padding_large"
+ android:layout_marginBottom="@dimen/doorhanger_section_padding_small"
+ android:visibility="gone"/>
+
+ </LinearLayout>
+
+ </LinearLayout>
+
+ <LinearLayout android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal">
+
+ <Button android:id="@+id/doorhanger_button_negative"
+ style="@style/Widget.Doorhanger.Button"
+ android:textColor="@android:color/black"
+ android:background="@drawable/action_bar_button_negative"
+ android:visibility="gone"/>
+
+ <Button android:id="@+id/doorhanger_button_positive"
+ style="@style/Widget.Doorhanger.Button"
+ android:textColor="@android:color/white"
+ android:background="@drawable/action_bar_button_positive"
+ android:visibility="gone"/>
+
+ </LinearLayout>
+
+ <View android:id="@+id/divider_doorhanger"
+ android:layout_width="match_parent"
+ android:layout_height="1dp"
+ android:background="@color/toolbar_divider_grey"
+ android:visibility="gone"/>
+
+</merge>
diff --git a/mobile/android/base/resources/layout/doorhanger_security.xml b/mobile/android/base/resources/layout/doorhanger_security.xml
new file mode 100644
index 000000000..8f4ddc963
--- /dev/null
+++ b/mobile/android/base/resources/layout/doorhanger_security.xml
@@ -0,0 +1,31 @@
+<?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/. -->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+
+ <TextView android:id="@+id/security_title"
+ android:focusable="true"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingBottom="@dimen/doorhanger_subsection_padding"
+ android:textAppearance="@style/TextAppearance.DoorHanger.Medium"
+ android:visibility="gone"/>
+
+ <TextView android:id="@+id/security_state"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingBottom="@dimen/doorhanger_section_padding_small"
+ android:textAppearance="@style/TextAppearance.DoorHanger.Medium.Bold"
+ android:visibility="gone"/>
+
+ <TextView android:id="@+id/security_message"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textAppearance="@style/TextAppearance.DoorHanger.Medium"/>
+
+</LinearLayout>
diff --git a/mobile/android/base/resources/layout/find_in_page_content.xml b/mobile/android/base/resources/layout/find_in_page_content.xml
new file mode 100644
index 000000000..5505f90bc
--- /dev/null
+++ b/mobile/android/base/resources/layout/find_in_page_content.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<merge xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <view class="org.mozilla.gecko.CustomEditText"
+ android:id="@+id/find_text"
+ android:layout_width="0dip"
+ android:layout_height="wrap_content"
+ android:layout_weight="1.0"
+ android:layout_marginLeft="@dimen/find_in_page_text_margin_left"
+ android:layout_marginRight="@dimen/find_in_page_text_margin_right"
+ android:contentDescription="@string/find_text"
+ android:background="@drawable/url_bar_entry"
+ android:singleLine="true"
+ android:textColor="#000000"
+ android:textCursorDrawable="@null"
+ android:inputType="text"
+ android:paddingLeft="@dimen/find_in_page_text_padding_left"
+ android:paddingRight="@dimen/find_in_page_text_padding_right"
+ android:textColorHighlight="@color/fennec_ui_orange"
+ android:imeOptions="actionSearch"
+ android:selectAllOnFocus="true"
+ android:gravity="center_vertical|left"/>
+
+ <TextView android:id="@+id/find_status"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginRight="@dimen/find_in_page_status_margin_right"
+ android:textColor="@color/tabs_tray_icon_grey"
+ android:visibility="gone"/>
+
+ <ImageButton android:id="@+id/find_prev"
+ style="@style/FindBar.ImageButton"
+ android:contentDescription="@string/find_prev"
+ android:layout_marginTop="@dimen/find_in_page_control_margin_top"
+ android:src="@drawable/find_prev"/>
+
+ <ImageButton android:id="@+id/find_next"
+ style="@style/FindBar.ImageButton"
+ android:contentDescription="@string/find_next"
+ android:layout_marginTop="@dimen/find_in_page_control_margin_top"
+ android:src="@drawable/find_next"/>
+
+ <ImageButton android:id="@+id/find_close"
+ style="@style/FindBar.ImageButton"
+ android:contentDescription="@string/find_close"
+ android:layout_marginTop="@dimen/find_in_page_control_margin_top"
+ android:src="@drawable/find_close"/>
+
+</merge>
diff --git a/mobile/android/base/resources/layout/firstrun_animation_container.xml b/mobile/android/base/resources/layout/firstrun_animation_container.xml
new file mode 100644
index 000000000..3e7225365
--- /dev/null
+++ b/mobile/android/base/resources/layout/firstrun_animation_container.xml
@@ -0,0 +1,30 @@
+<?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/. -->
+
+<org.mozilla.gecko.firstrun.FirstrunAnimationContainer xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:gecko="http://schemas.android.com/apk/res-auto"
+ android:layout_height="match_parent"
+ android:layout_width="match_parent"
+ android:background="@color/dark_transparent_overlay">
+
+ <org.mozilla.gecko.firstrun.FirstrunPager
+ android:id="@+id/firstrun_pager"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@android:color/white">
+
+ <org.mozilla.gecko.home.TabMenuStrip android:layout_width="match_parent"
+ android:layout_height="@dimen/tabs_strip_height"
+ android:background="@color/firstrun_pager_header"
+ android:visibility="visible"
+ android:layout_gravity="top"
+ gecko:strip="@drawable/home_tab_menu_strip"
+ gecko:activeTextColor="@color/placeholder_grey"
+ gecko:inactiveTextColor="@color/tab_text_color"
+ gecko:tabsMarginLeft="@dimen/firstrun_tab_strip_content_start" />
+
+ </org.mozilla.gecko.firstrun.FirstrunPager>
+</org.mozilla.gecko.firstrun.FirstrunAnimationContainer>
diff --git a/mobile/android/base/resources/layout/firstrun_basepanel_checkable_fragment.xml b/mobile/android/base/resources/layout/firstrun_basepanel_checkable_fragment.xml
new file mode 100644
index 000000000..feedab735
--- /dev/null
+++ b/mobile/android/base/resources/layout/firstrun_basepanel_checkable_fragment.xml
@@ -0,0 +1,58 @@
+<?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_height="wrap_content"
+ android:layout_width="match_parent"
+ android:orientation="vertical"
+ android:fillViewport="true">
+
+ <LinearLayout android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:minHeight="@dimen/firstrun_min_height"
+ android:background="@color/about_page_header_grey"
+ android:gravity="center_horizontal"
+ android:orientation="vertical">
+
+ <ImageView android:id="@+id/firstrun_image"
+ android:layout_width="wrap_content"
+ android:layout_height="@dimen/firstrun_background_height"
+ android:layout_marginTop="40dp"
+ android:layout_marginBottom="40dp"
+ android:scaleType="fitCenter"
+ android:layout_gravity="center"
+ android:adjustViewBounds="true"/>
+
+ <TextView android:id="@+id/firstrun_text"
+ android:layout_width="@dimen/firstrun_content_width"
+ android:layout_height="wrap_content"
+ android:gravity="center"
+ android:textAppearance="@style/TextAppearance.FirstrunLight.Main"/>
+
+ <TextView android:id="@+id/firstrun_subtext"
+ android:layout_width="@dimen/firstrun_content_width"
+ android:layout_height="wrap_content"
+ android:paddingTop="20dp"
+ android:paddingBottom="30dp"
+ android:gravity="center"
+ android:textAppearance="@style/TextAppearance.FirstrunRegular.Body"/>
+
+ <android.support.v7.widget.SwitchCompat
+ android:id="@+id/firstrun_switch"
+ android:layout_width="wrap_content"
+ android:layout_height="0dp"
+ android:layout_weight="1"
+ android:visibility="invisible"/>
+
+ <TextView android:id="@+id/firstrun_link"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:padding="30dp"
+ android:gravity="center"
+ android:textAppearance="@style/TextAppearance.FirstrunRegular.Link"
+ android:text="@string/firstrun_button_next"/>
+ </LinearLayout>
+</ScrollView>
diff --git a/mobile/android/base/resources/layout/firstrun_sync_fragment.xml b/mobile/android/base/resources/layout/firstrun_sync_fragment.xml
new file mode 100644
index 000000000..46fec6d5d
--- /dev/null
+++ b/mobile/android/base/resources/layout/firstrun_sync_fragment.xml
@@ -0,0 +1,54 @@
+<?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_height="wrap_content"
+ android:layout_width="match_parent"
+ android:orientation="vertical"
+ android:fillViewport="true">
+
+ <LinearLayout android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:minHeight="@dimen/firstrun_min_height"
+ android:background="@color/about_page_header_grey"
+ android:gravity="center_horizontal"
+ android:orientation="vertical">
+
+
+ <ImageView android:id="@+id/firstrun_image"
+ android:layout_width="wrap_content"
+ android:layout_height="@dimen/firstrun_background_height"
+ android:layout_marginTop="40dp"
+ android:layout_marginBottom="40dp"
+ android:scaleType="fitCenter"
+ android:layout_gravity="center"
+ android:adjustViewBounds="true"/>
+
+ <TextView android:id="@+id/firstrun_text"
+ android:layout_width="@dimen/firstrun_content_width"
+ android:layout_height="wrap_content"
+ android:gravity="center"
+ android:paddingBottom="40dp"
+ android:textAppearance="@style/TextAppearance.FirstrunLight.Main"/>
+
+ <Button android:id="@+id/welcome_account"
+ style="@style/Widget.Firstrun.Button"
+ android:background="@drawable/button_background_action_orange_round"
+ android:layout_gravity="center"
+ android:text="@string/firstrun_signin_button"/>
+
+ <View android:layout_weight="1"
+ android:layout_height="0dp"
+ android:layout_width="match_parent"/>
+
+ <TextView android:id="@+id/welcome_browse"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:padding="30dp"
+ android:gravity="center"
+ android:textAppearance="@style/TextAppearance.FirstrunRegular.Link"/>
+ </LinearLayout>
+</ScrollView>
diff --git a/mobile/android/base/resources/layout/font_size_preference.xml b/mobile/android/base/resources/layout/font_size_preference.xml
new file mode 100644
index 000000000..b5af5e588
--- /dev/null
+++ b/mobile/android/base/resources/layout/font_size_preference.xml
@@ -0,0 +1,54 @@
+<?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/. -->
+
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <LinearLayout android:id="@+id/button_container"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="4dp"
+ android:layout_marginRight="4dp"
+ android:layout_alignParentBottom="true"
+ android:layout_alignParentLeft="true"
+ android:orientation="horizontal">
+
+ <Button android:id="@+id/decrease_preview_font_button"
+ android:layout_width="0dp"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:text="@string/pref_font_size_adjust_char"
+ android:textSize="8sp"/>
+
+ <Button android:id="@+id/increase_preview_font_button"
+ android:layout_width="0dp"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:text="@string/pref_font_size_adjust_char"
+ android:textSize="16sp"/>
+
+ </LinearLayout>
+
+ <ScrollView android:id="@+id/scrolling_container"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_above="@id/button_container"
+ android:layout_margin="8dp"
+ android:padding="8dp"
+ android:scrollbars="vertical"
+ android:scrollbarStyle="outsideOverlay"
+ android:fadeScrollbars="true"
+ android:requiresFadingEdge="vertical">
+
+ <TextView android:id="@+id/preview"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/pref_font_size_preview_text"
+ android:textColor="#ff000000"/>
+
+ </ScrollView>
+
+</RelativeLayout>
diff --git a/mobile/android/base/resources/layout/gecko_app.xml b/mobile/android/base/resources/layout/gecko_app.xml
new file mode 100644
index 000000000..ec43b341f
--- /dev/null
+++ b/mobile/android/base/resources/layout/gecko_app.xml
@@ -0,0 +1,177 @@
+<?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/. -->
+
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:gecko="http://schemas.android.com/apk/res-auto"
+ android:id="@+id/root_layout"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <ViewStub android:id="@+id/tabs_panel"
+ android:layout="@layout/tabs_panel_view"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"/>
+
+ <view class="org.mozilla.gecko.GeckoApp$MainLayout"
+ android:id="@+id/main_layout"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@android:color/transparent">
+
+ <RelativeLayout android:id="@+id/gecko_layout"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_below="@+id/tablet_tab_strip"
+ android:layout_above="@+id/find_in_page">
+
+ <fragment class="org.mozilla.gecko.GeckoViewFragment"
+ android:id="@+id/layer_view"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:scrollbars="none"/>
+
+ <AbsoluteLayout android:id="@+id/plugin_container"
+ android:background="@android:color/transparent"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"/>
+
+ <org.mozilla.gecko.FormAssistPopup android:id="@+id/form_assist_popup"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:visibility="gone"/>
+
+ <view class="org.mozilla.gecko.media.VideoPlayer" android:id="@+id/video_player"
+ android:layout_height="match_parent"
+ android:layout_width="match_parent">
+ </view>
+
+ <ViewStub android:id="@+id/zoomed_view_stub"
+ android:inflatedId="@+id/zoomed_view"
+ android:layout="@layout/zoomed_view"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content" />
+
+ <FrameLayout android:id="@+id/home_screen_container"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:visibility="gone">
+
+ <ViewStub android:id="@+id/home_pager_stub"
+ android:layout="@layout/home_pager"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"/>
+
+ <ViewStub android:id="@+id/activity_stream_stub"
+ android:layout="@layout/activity_stream"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"/>
+
+ <ViewStub android:id="@+id/home_banner_stub"
+ android:layout="@layout/home_banner"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/home_banner_height"
+ android:layout_gravity="bottom"/>
+
+ <ViewStub android:id="@+id/firstrun_pager_stub"
+ android:layout="@layout/firstrun_animation_container"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"/>
+
+ </FrameLayout>
+
+ <View android:id="@+id/doorhanger_overlay"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@color/dark_transparent_overlay"
+ android:alpha="0"
+ android:layerType="hardware"/>
+
+ </RelativeLayout>
+
+ <org.mozilla.gecko.FindInPageBar android:id="@+id/find_in_page"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentBottom="true"
+ style="@style/FindBar"
+ android:visibility="gone"/>
+
+ <org.mozilla.gecko.MediaCastingBar android:id="@+id/media_casting"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentBottom="true"
+ style="@style/FindBar"
+ android:visibility="gone"/>
+
+ <FrameLayout android:id="@+id/search_container"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_below="@+id/browser_chrome"
+ android:visibility="invisible"/>
+
+ <!-- When focus is cleared from from BrowserToolbar's EditText to
+ lower the virtual keyboard, focus will be returned to the root
+ view. To make sure the EditText is not the first focusable view in
+ the root view, BrowserToolbar should be specified as low in the
+ view hierarchy as possible. -->
+
+ <LinearLayout android:id="@id/browser_chrome"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+
+ <ViewStub android:id="@+id/tablet_tab_strip"
+ android:inflatedId="@id/tablet_tab_strip"
+ android:layout="@layout/tab_strip"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/tablet_tab_strip_height"
+ android:visibility="gone"/>
+
+ <ViewFlipper
+ android:id="@+id/browser_actionbar"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/browser_toolbar_height_flipper"
+ android:clickable="true"
+ android:focusable="true">
+
+ <org.mozilla.gecko.toolbar.BrowserToolbar
+ android:id="@+id/browser_toolbar"
+ style="@style/BrowserToolbar"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:clickable="true"
+ android:focusable="true"
+ android:background="@drawable/url_bar_bg"/>
+
+ <org.mozilla.gecko.ActionModeCompatView android:id="@+id/actionbar"
+ android:layout_height="match_parent"
+ android:layout_width="match_parent"
+ style="@style/GeckoActionBar.ActionMode"/>
+
+ </ViewFlipper>
+
+ </LinearLayout>
+
+ <org.mozilla.gecko.toolbar.ToolbarProgressView android:id="@+id/progress"
+ android:layout_width="match_parent"
+ android:layout_height="14dp"
+ android:layout_marginTop="-8dp"
+ android:layout_below="@id/browser_chrome"
+ android:src="@drawable/progress"
+ android:background="@null"
+ android:visibility="gone" />
+
+ </view>
+
+ <FrameLayout android:id="@+id/tab_history_panel"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_alignParentBottom="true"
+ android:visibility="gone" />
+
+ <ViewStub android:id="@+id/toast_stub"
+ android:layout="@layout/button_toast"
+ style="@style/Toast"/>
+
+</RelativeLayout>
diff --git a/mobile/android/base/resources/layout/history_sync_setup.xml b/mobile/android/base/resources/layout/history_sync_setup.xml
new file mode 100644
index 000000000..d8ebfeebf
--- /dev/null
+++ b/mobile/android/base/resources/layout/history_sync_setup.xml
@@ -0,0 +1,35 @@
+<?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="match_parent"
+ android:layout_height="match_parent" >
+
+ <LinearLayout
+ style="@style/RemoteTabsPanelFrame">
+
+ <TextView
+ style="@style/RemoteTabsPanelItem.TextAppearance.Header"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/fxaccount_getting_started_welcome_to_sync" />
+
+ <TextView
+ style="@style/RemoteTabsPanelItem.TextAppearance"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/fxaccount_getting_started_description" />
+
+ <Button
+ android:id="@+id/sync_setup_button"
+ style="@style/RemoteTabsPanelItem.Button"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/fxaccount_getting_started_get_started" />
+ </LinearLayout>
+
+</ScrollView> \ No newline at end of file
diff --git a/mobile/android/base/resources/layout/home_banner.xml b/mobile/android/base/resources/layout/home_banner.xml
new file mode 100644
index 000000000..46152c711
--- /dev/null
+++ b/mobile/android/base/resources/layout/home_banner.xml
@@ -0,0 +1,15 @@
+<?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/. -->
+
+<org.mozilla.gecko.home.HomeBanner xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/home_banner"
+ style="@style/Widget.HomeBanner"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@drawable/home_banner"
+ android:gravity="center_vertical"
+ android:visibility="gone"
+ android:clickable="true"
+ android:focusable="true"/>
diff --git a/mobile/android/base/resources/layout/home_banner_content.xml b/mobile/android/base/resources/layout/home_banner_content.xml
new file mode 100644
index 000000000..5cbdc47e2
--- /dev/null
+++ b/mobile/android/base/resources/layout/home_banner_content.xml
@@ -0,0 +1,36 @@
+<?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/. -->
+
+<merge xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:gecko="http://schemas.android.com/apk/res-auto">
+
+ <ImageView android:id="@+id/icon"
+ android:layout_width="@dimen/home_banner_icon_width"
+ android:layout_height="@dimen/home_banner_icon_height"
+ android:layout_marginLeft="10dp"
+ android:scaleType="centerInside"/>
+
+ <org.mozilla.gecko.widget.EllipsisTextView
+ android:id="@+id/text"
+ android:layout_width="0dip"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:layout_marginLeft="10dp"
+ android:paddingTop="7dp"
+ android:paddingBottom="7dp"
+ android:textAppearance="@style/TextAppearance.Widget.HomeBanner"
+ android:layout_gravity="bottom"
+ android:gravity="center_vertical"
+ gecko:ellipsizeAtLine="3"/>
+
+ <ImageButton android:id="@+id/close"
+ android:layout_width="@dimen/home_banner_close_width"
+ android:layout_height="match_parent"
+ android:background="@drawable/home_banner"
+ android:scaleType="center"
+ android:contentDescription="@string/close_tab"
+ android:src="@drawable/tab_close"/>
+
+</merge>
diff --git a/mobile/android/base/resources/layout/home_bookmarks_panel.xml b/mobile/android/base/resources/layout/home_bookmarks_panel.xml
new file mode 100644
index 000000000..c4c08b93a
--- /dev/null
+++ b/mobile/android/base/resources/layout/home_bookmarks_panel.xml
@@ -0,0 +1,20 @@
+<?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/. -->
+
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <ViewStub android:id="@+id/home_empty_view_stub"
+ android:layout="@layout/home_empty_panel"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"/>
+
+ <org.mozilla.gecko.home.BookmarksListView
+ android:id="@+id/bookmarks_list"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"/>
+
+</FrameLayout>
diff --git a/mobile/android/base/resources/layout/home_combined_back_item.xml b/mobile/android/base/resources/layout/home_combined_back_item.xml
new file mode 100644
index 000000000..e6d443708
--- /dev/null
+++ b/mobile/android/base/resources/layout/home_combined_back_item.xml
@@ -0,0 +1,13 @@
+<?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/. -->
+
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+ style="@style/Widget.FolderView"
+ android:layout_width="match_parent"
+ android:text="@string/home_history_back_to"
+ android:paddingLeft="24dp"
+ android:drawablePadding="24dp"
+ android:drawableLeft="@drawable/arrow_up"
+ android:gravity="center_vertical"/>
diff --git a/mobile/android/base/resources/layout/home_combined_history_panel.xml b/mobile/android/base/resources/layout/home_combined_history_panel.xml
new file mode 100644
index 000000000..fe64b028e
--- /dev/null
+++ b/mobile/android/base/resources/layout/home_combined_history_panel.xml
@@ -0,0 +1,52 @@
+<?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/. -->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical">
+
+ <android.support.v4.widget.SwipeRefreshLayout
+ android:id="@+id/refresh_layout"
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="1.2">
+
+ <org.mozilla.gecko.home.CombinedHistoryRecyclerView
+ android:id="@+id/combined_recycler_view"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:scrollbars="vertical"/>
+
+ </android.support.v4.widget.SwipeRefreshLayout>
+
+ <include android:id="@+id/home_history_empty_view"
+ layout="@layout/home_empty_panel"
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="3"
+ android:visibility="gone"/>
+
+ <include android:id="@+id/home_clients_empty_view"
+ layout="@layout/history_sync_setup"
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="3"
+ android:visibility="gone"/>
+
+ <include android:id="@+id/home_recent_tabs_empty_view"
+ layout="@layout/home_empty_panel"
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="3"
+ android:visibility="gone"/>
+
+ <Button android:id="@+id/history_panel_footer_button"
+ style="@style/Widget.Home.ActionButton"
+ android:layout_width="match_parent"
+ android:layout_height="48dp"
+ android:visibility="gone" />
+
+</LinearLayout>
diff --git a/mobile/android/base/resources/layout/home_empty_panel.xml b/mobile/android/base/resources/layout/home_empty_panel.xml
new file mode 100644
index 000000000..e845e7765
--- /dev/null
+++ b/mobile/android/base/resources/layout/home_empty_panel.xml
@@ -0,0 +1,45 @@
+<?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/. -->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/home_empty_view"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ android:gravity="center"
+ android:paddingLeft="50dp"
+ android:paddingRight="50dp">
+
+ <!-- Empty spacer view -->
+ <View android:layout_width="match_parent"
+ android:layout_height="0dip"
+ android:layout_weight="1"/>
+
+ <ImageView android:id="@+id/home_empty_image"
+ android:layout_width="90dp"
+ android:layout_height="90dp"
+ android:layout_marginBottom="10dp"
+ android:gravity="top|center"
+ android:scaleType="fitCenter"/>
+
+ <TextView android:id="@+id/home_empty_text"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:gravity="top|center"
+ android:textAppearance="@style/TextAppearance.EmptyMessage"/>
+
+ <TextView android:id="@+id/home_empty_hint"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:visibility="gone"
+ android:gravity="top|center"
+ android:textAppearance="@style/TextAppearance.EmptyHint"
+ android:textColorLink="#FFA62F" />
+ <!-- Empty spacer view -->
+ <View android:layout_width="match_parent"
+ android:layout_height="0dip"
+ android:layout_weight="2"/>
+
+</LinearLayout>
+
diff --git a/mobile/android/base/resources/layout/home_header_row.xml b/mobile/android/base/resources/layout/home_header_row.xml
new file mode 100644
index 000000000..f3ca9322b
--- /dev/null
+++ b/mobile/android/base/resources/layout/home_header_row.xml
@@ -0,0 +1,7 @@
+<?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/. -->
+
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+ style="@style/Widget.Home.HeaderItem"/>
diff --git a/mobile/android/base/resources/layout/home_item_row.xml b/mobile/android/base/resources/layout/home_item_row.xml
new file mode 100644
index 000000000..86754225f
--- /dev/null
+++ b/mobile/android/base/resources/layout/home_item_row.xml
@@ -0,0 +1,10 @@
+<?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/. -->
+
+<org.mozilla.gecko.home.TwoLinePageRow xmlns:android="http://schemas.android.com/apk/res/android"
+ style="@style/Widget.TwoLinePageRow"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/page_row_height"
+ android:minHeight="@dimen/page_row_height"/>
diff --git a/mobile/android/base/resources/layout/home_pager.xml b/mobile/android/base/resources/layout/home_pager.xml
new file mode 100644
index 000000000..c858cefbc
--- /dev/null
+++ b/mobile/android/base/resources/layout/home_pager.xml
@@ -0,0 +1,25 @@
+<?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/. -->
+
+<!-- This file is used to include the home pager in gecko app
+ layout based on screen size -->
+
+<org.mozilla.gecko.home.HomePager xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:gecko="http://schemas.android.com/apk/res-auto"
+ android:id="@+id/home_pager"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@android:color/white">
+
+ <org.mozilla.gecko.home.TabMenuStrip android:layout_width="match_parent"
+ android:layout_height="@dimen/tabs_strip_height"
+ android:background="@color/about_page_header_grey"
+ android:layout_gravity="top"
+ gecko:strip="@drawable/home_tab_menu_strip"
+ gecko:activeTextColor="@color/placeholder_grey"
+ gecko:inactiveTextColor="@color/tab_text_color"
+ gecko:tabsMarginLeft="@dimen/tab_strip_content_start" />
+
+</org.mozilla.gecko.home.HomePager>
diff --git a/mobile/android/base/resources/layout/home_remote_tabs_group.xml b/mobile/android/base/resources/layout/home_remote_tabs_group.xml
new file mode 100644
index 000000000..60e6597f7
--- /dev/null
+++ b/mobile/android/base/resources/layout/home_remote_tabs_group.xml
@@ -0,0 +1,60 @@
+<?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/.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ xmlns:gecko="http://schemas.android.com/apk/res-auto"
+ style="@style/Widget.RemoteTabsClientView"
+ android:gravity="center_vertical"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/home_header_item_height"
+ android:minHeight="@dimen/home_header_item_height">
+
+ <ImageView
+ android:id="@+id/device_type"
+ android:layout_width="@dimen/favicon_bg"
+ android:layout_height="@dimen/favicon_bg"
+ android:layout_marginLeft="12dp"
+ android:layout_marginRight="12dp"
+ android:layout_gravity="center_vertical"
+ android:scaleType="center"
+ tools:src="@drawable/sync_mobile"/>
+
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:orientation="vertical">
+
+ <org.mozilla.gecko.widget.FadedSingleColorTextView
+ android:id="@+id/client"
+ style="@style/Widget.FolderTitle.TwoLine"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ gecko:fadeWidth="30dp"
+ tools:text="Firefox on Nexus 5"/>
+
+ <TextView
+ android:id="@+id/last_synced"
+ style="@style/Widget.TwoLinePageRow.Url"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="4dp"
+ android:maxLength="1024"
+ tools:text="Last synced: 5 minutes ago"/>
+ </LinearLayout>
+
+ <ImageView
+ android:id="@+id/device_expanded"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:layout_marginLeft="15dip"
+ android:layout_marginRight="15dip"
+ android:scaleType="center"
+ tools:src="@drawable/arrow_down"/>
+
+</LinearLayout>
diff --git a/mobile/android/base/resources/layout/home_remote_tabs_hidden_devices.xml b/mobile/android/base/resources/layout/home_remote_tabs_hidden_devices.xml
new file mode 100644
index 000000000..9397cfedc
--- /dev/null
+++ b/mobile/android/base/resources/layout/home_remote_tabs_hidden_devices.xml
@@ -0,0 +1,17 @@
+<?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/.
+-->
+
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/hidden_devices"
+ style="@style/Widget.Home.ActionItem"
+ android:background="@drawable/action_bar_button"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/home_remote_tabs_hidden_footer_height"
+ android:gravity="center"
+ android:maxLength="1024"
+ android:textSize="12dp"
+ android:textColor="@color/disabled_grey" />
diff --git a/mobile/android/base/resources/layout/home_search_item_row.xml b/mobile/android/base/resources/layout/home_search_item_row.xml
new file mode 100644
index 000000000..d12239550
--- /dev/null
+++ b/mobile/android/base/resources/layout/home_search_item_row.xml
@@ -0,0 +1,12 @@
+<?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/. -->
+
+<org.mozilla.gecko.home.SearchEngineRow xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:minHeight="@dimen/search_row_height"
+ android:duplicateParentState="true"
+ android:paddingTop="5dp"
+ android:paddingBottom="5dp"/>
diff --git a/mobile/android/base/resources/layout/home_smartfolder.xml b/mobile/android/base/resources/layout/home_smartfolder.xml
new file mode 100644
index 000000000..484c30eab
--- /dev/null
+++ b/mobile/android/base/resources/layout/home_smartfolder.xml
@@ -0,0 +1,50 @@
+<?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/.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ xmlns:gecko="http://schemas.android.com/apk/res-auto"
+ style="@style/Widget.RemoteTabsClientView"
+ android:gravity="center_vertical"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/home_header_item_height"
+ android:minHeight="@dimen/home_header_item_height">
+
+ <ImageView
+ android:id="@+id/device_type"
+ android:layout_width="26dp"
+ android:layout_height="18dp"
+ android:layout_margin="20dp"
+ android:scaleType="fitCenter"
+ android:layout_gravity="center_vertical"
+ tools:src="@drawable/cloud"/>
+
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:orientation="vertical">
+
+ <org.mozilla.gecko.widget.FadedSingleColorTextView
+ android:id="@+id/title"
+ style="@style/Widget.FolderTitle.TwoLine"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ gecko:fadeWidth="30dp"
+ tools:text="Firefox on Nexus 5"/>
+
+ <TextView
+ android:id="@+id/subtext"
+ style="@style/Widget.TwoLinePageRow.Url"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="4dp"
+ android:maxLength="1024"
+ tools:text="Last synced: 5 minutes ago"/>
+ </LinearLayout>
+
+</LinearLayout>
diff --git a/mobile/android/base/resources/layout/home_suggestion_prompt.xml b/mobile/android/base/resources/layout/home_suggestion_prompt.xml
new file mode 100644
index 000000000..818671e1c
--- /dev/null
+++ b/mobile/android/base/resources/layout/home_suggestion_prompt.xml
@@ -0,0 +1,56 @@
+<?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/. -->
+
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@color/about_page_header_grey">
+
+ <LinearLayout android:id="@+id/prompt"
+ android:focusable="true"
+ android:layout_width="match_parent"
+ android:minHeight="48dp"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:gravity="center_vertical"
+ android:paddingLeft="15dp"
+ android:paddingRight="15dp"
+ android:textSize="12sp">
+
+ <TextView android:id="@+id/suggestions_prompt_title"
+ android:layout_height="wrap_content"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:fontFamily="sans-serif"
+ android:textColor="@color/text_and_tabs_tray_grey"
+ android:layout_marginRight="10dp"/>
+
+ <TextView android:id="@+id/suggestions_prompt_no"
+ android:layout_height="32dp"
+ android:minWidth="72dp"
+ android:layout_width="wrap_content"
+ android:layout_marginRight="10dp"
+ android:textColor="@color/text_and_tabs_tray_grey"
+ android:gravity="center"
+ android:background="@drawable/search_suggestion_prompt_no"
+ android:nextFocusRight="@+id/suggestions_prompt_yes"
+ android:focusable="true"
+ android:text="@string/button_no"/>
+
+ <TextView android:id="@+id/suggestions_prompt_yes"
+ android:layout_height="32dp"
+ android:minWidth="72dp"
+ android:layout_width="wrap_content"
+ android:gravity="center"
+ android:textColor="@android:color/white"
+ android:background="@drawable/search_suggestion_prompt_yes"
+ android:focusable="true"
+ android:text="@string/button_yes"/>
+
+
+
+ </LinearLayout>
+
+</FrameLayout>
diff --git a/mobile/android/base/resources/layout/home_top_sites_panel.xml b/mobile/android/base/resources/layout/home_top_sites_panel.xml
new file mode 100644
index 000000000..a08e680e6
--- /dev/null
+++ b/mobile/android/base/resources/layout/home_top_sites_panel.xml
@@ -0,0 +1,10 @@
+<?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/. -->
+
+<org.mozilla.gecko.home.HomeListView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/list"
+ style="@style/Widget.TopSitesListView"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"/>
diff --git a/mobile/android/base/resources/layout/icon_grid.xml b/mobile/android/base/resources/layout/icon_grid.xml
new file mode 100644
index 000000000..33c9aee31
--- /dev/null
+++ b/mobile/android/base/resources/layout/icon_grid.xml
@@ -0,0 +1,10 @@
+<?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/. -->
+
+<GridView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_height="wrap_content"
+ android:layout_width="match_parent"
+ android:choiceMode="singleChoice"
+ android:padding="@dimen/icongrid_padding"/>
diff --git a/mobile/android/base/resources/layout/icon_grid_item.xml b/mobile/android/base/resources/layout/icon_grid_item.xml
new file mode 100644
index 000000000..5c1a4bc9b
--- /dev/null
+++ b/mobile/android/base/resources/layout/icon_grid_item.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ //device/apps/common/res/any/layout/resolve_list_item.xml
+ Copyright 2006, The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:gravity="center"
+ android:orientation="vertical"
+ android:layout_height="wrap_content"
+ android:layout_width="match_parent"
+ android:background="@drawable/icon_grid_item_bg"
+ android:padding="16dp">
+
+ <!-- Extended activity info to distinguish between duplicate activity names -->
+ <TextView android:id="@android:id/text2"
+ android:textAppearance="?android:attr/textAppearance"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:gravity="center"
+ android:minLines="2"
+ android:maxLines="2"
+ android:paddingTop="4dip"
+ android:paddingBottom="4dip" />
+
+ <!-- Activity icon when presenting dialog
+ Size will be filled in by ResolverActivity -->
+ <ImageView android:id="@+id/icon"
+ android:layout_width="0dp"
+ android:layout_height="0dp"
+ android:scaleType="fitCenter" />
+
+ <!-- Activity name -->
+ <TextView android:id="@android:id/text1"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:gravity="center"
+ android:minLines="2"
+ android:maxLines="2"
+ android:paddingTop="4dip"
+ android:paddingBottom="4dip" />
+</LinearLayout>
+
diff --git a/mobile/android/base/resources/layout/list_item_header.xml b/mobile/android/base/resources/layout/list_item_header.xml
new file mode 100644
index 000000000..2d91f4e02
--- /dev/null
+++ b/mobile/android/base/resources/layout/list_item_header.xml
@@ -0,0 +1,14 @@
+<?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/. -->
+
+
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@android:id/text1"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingTop="2dip"
+ android:paddingBottom="2dip"
+ android:paddingLeft="5dip"
+ style="?android:attr/listSeparatorTextViewStyle" />
diff --git a/mobile/android/base/resources/layout/login_doorhanger.xml b/mobile/android/base/resources/layout/login_doorhanger.xml
new file mode 100644
index 000000000..8e8c005af
--- /dev/null
+++ b/mobile/android/base/resources/layout/login_doorhanger.xml
@@ -0,0 +1,17 @@
+<?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/. -->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+
+ <TextView android:id="@+id/doorhanger_message"
+ android:focusable="true"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textAppearance="@style/TextAppearance.DoorHanger.Medium"/>
+
+</LinearLayout>
diff --git a/mobile/android/base/resources/layout/login_edit_dialog.xml b/mobile/android/base/resources/layout/login_edit_dialog.xml
new file mode 100644
index 000000000..8d42d5d95
--- /dev/null
+++ b/mobile/android/base/resources/layout/login_edit_dialog.xml
@@ -0,0 +1,31 @@
+<?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/. -->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:padding="@dimen/doorhanger_section_padding_medium"
+ android:orientation="vertical">
+
+ <EditText android:id="@+id/username_edit"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:inputType="textNoSuggestions"
+ android:hint="@string/doorhanger_login_edit_username_hint"/>
+
+ <EditText android:id="@+id/password_edit"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:inputType="textPassword"
+ android:hint="@string/doorhanger_login_edit_password_hint"/>
+
+ <android.support.v7.widget.AppCompatCheckBox
+ android:id="@+id/checkbox_toggle_password"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/doorhanger_login_edit_toggle"
+ android:layout_marginTop="@dimen/doorhanger_subsection_padding"/>
+
+</LinearLayout>
diff --git a/mobile/android/base/resources/layout/media_casting.xml b/mobile/android/base/resources/layout/media_casting.xml
new file mode 100644
index 000000000..008cf36a0
--- /dev/null
+++ b/mobile/android/base/resources/layout/media_casting.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<merge xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <RelativeLayout android:id="@+id/media_controls"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_centerInParent="true">
+
+ <ImageButton android:id="@+id/media_play"
+ style="@style/FindBar.ImageButton"
+ android:contentDescription="@string/media_play"
+ android:src="@drawable/media_bar_play"
+ android:visibility="gone"/>
+
+ <ImageButton android:id="@+id/media_pause"
+ style="@style/FindBar.ImageButton"
+ android:contentDescription="@string/media_pause"
+ android:src="@drawable/media_bar_pause"/>
+
+ </RelativeLayout>
+
+ <TextView android:id="@+id/media_sending_to"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="5dip"
+ android:layout_marginRight="5dip"
+ android:layout_alignParentLeft="true"
+ android:layout_toLeftOf="@id/media_controls"
+ android:layout_centerVertical="true"
+ android:singleLine="true"
+ android:ellipsize="end"
+ android:textColor="#FFFFFFFF"
+ android:contentDescription="@string/media_sending_to"/>
+
+ <ImageButton android:id="@+id/media_stop"
+ style="@style/FindBar.ImageButton"
+ android:contentDescription="@string/media_stop"
+ android:layout_alignParentRight="true"
+ android:src="@drawable/media_bar_stop"/>
+
+</merge>
diff --git a/mobile/android/base/resources/layout/menu_action_bar.xml b/mobile/android/base/resources/layout/menu_action_bar.xml
new file mode 100644
index 000000000..0b9476f20
--- /dev/null
+++ b/mobile/android/base/resources/layout/menu_action_bar.xml
@@ -0,0 +1,15 @@
+<?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/. -->
+
+<!--
+ Note: This layout is intended to be used only above 11+.
+ android:showDividers are available only 11+
+-->
+<view xmlns:android="http://schemas.android.com/apk/res/android"
+ class="org.mozilla.gecko.menu.GeckoMenu$DefaultActionItemBar"
+ android:layout_width="@dimen/menu_item_row_width"
+ android:layout_height="@dimen/browser_toolbar_height"
+ android:orientation="horizontal"
+ android:background="@color/toolbar_menu_dark_grey"/>
diff --git a/mobile/android/base/resources/layout/menu_item_switcher_layout.xml b/mobile/android/base/resources/layout/menu_item_switcher_layout.xml
new file mode 100644
index 000000000..04b70bde8
--- /dev/null
+++ b/mobile/android/base/resources/layout/menu_item_switcher_layout.xml
@@ -0,0 +1,32 @@
+<?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/. -->
+
+<merge xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <!-- Application icons will be added dynamically -->
+
+ <FrameLayout android:layout_width="0dip"
+ android:layout_height="@dimen/menu_item_row_height"
+ android:layout_weight="1.0">
+
+ <org.mozilla.gecko.menu.MenuItemDefault
+ android:id="@+id/menu_item"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@drawable/menu_item_action_bar_bg"
+ android:clickable="true"
+ android:focusable="true"/>
+
+ <org.mozilla.gecko.menu.MenuItemActionBar
+ style="@style/Widget.MenuItemSecondaryActionBar"
+ android:id="@+id/menu_item_button"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_gravity="center_vertical"
+ android:visibility="gone"/>
+
+ </FrameLayout>
+
+</merge>
diff --git a/mobile/android/base/resources/layout/menu_popup.xml b/mobile/android/base/resources/layout/menu_popup.xml
new file mode 100644
index 000000000..494b727e4
--- /dev/null
+++ b/mobile/android/base/resources/layout/menu_popup.xml
@@ -0,0 +1,18 @@
+<?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/. -->
+
+<org.mozilla.gecko.widget.FilledCardView xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:id="@+id/menu_panel"
+ android:layout_width="@dimen/menu_popup_width"
+ android:layout_height="wrap_content"
+ android:layout_alignParentRight="true"
+ android:minWidth="@dimen/menu_popup_width"
+ app:cardBackgroundColor="@color/toolbar_grey"
+ app:cardUseCompatPadding="true">
+
+ <!-- MenuPanel will be added here dynamically -->
+
+</org.mozilla.gecko.widget.FilledCardView> \ No newline at end of file
diff --git a/mobile/android/base/resources/layout/menu_secondary_action_bar.xml b/mobile/android/base/resources/layout/menu_secondary_action_bar.xml
new file mode 100644
index 000000000..c5be6f51e
--- /dev/null
+++ b/mobile/android/base/resources/layout/menu_secondary_action_bar.xml
@@ -0,0 +1,14 @@
+<?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/. -->
+
+<!--
+ Note: This layout is intended to be used only above 11+.
+ android:showDividers are available only 11+
+-->
+<view xmlns:android="http://schemas.android.com/apk/res/android"
+ class="org.mozilla.gecko.menu.GeckoMenu$DefaultActionItemBar"
+ android:layout_width="@dimen/menu_item_row_width"
+ android:layout_height="@dimen/browser_toolbar_height"
+ android:orientation="horizontal"/>
diff --git a/mobile/android/base/resources/layout/overlay_share_button.xml b/mobile/android/base/resources/layout/overlay_share_button.xml
new file mode 100644
index 000000000..d40303a93
--- /dev/null
+++ b/mobile/android/base/resources/layout/overlay_share_button.xml
@@ -0,0 +1,24 @@
+<?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/. -->
+
+<merge xmlns:android="http://schemas.android.com/apk/res/android">
+ <ImageView
+ android:layout_width="60dp"
+ android:layout_height="match_parent"
+ android:id="@+id/overlaybtn_icon"
+ android:padding="30dp"
+ android:scaleType="center"/>
+
+ <TextView
+ android:textAppearance="@style/TextAppearance.ShareOverlay"
+ android:id="@+id/overlaybtn_label"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:clickable="false"
+ android:enabled="false"
+ android:maxLines="1"
+ android:textSize="14sp"
+ android:textColor="@color/primary_text_selector"/>
+</merge>
diff --git a/mobile/android/base/resources/layout/overlay_share_dialog.xml b/mobile/android/base/resources/layout/overlay_share_dialog.xml
new file mode 100644
index 000000000..b7fcd8747
--- /dev/null
+++ b/mobile/android/base/resources/layout/overlay_share_dialog.xml
@@ -0,0 +1,83 @@
+<?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/. -->
+
+<!-- Serves to position the content on the screen (bottom, centered) and provide the drop-shadow -->
+
+<merge
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:gecko="http://schemas.android.com/apk/res-auto">
+ <LinearLayout
+ android:id="@+id/sharedialog"
+ android:layout_width="300dp"
+ android:layout_height="wrap_content"
+ android:layout_gravity="bottom|center"
+ android:layout_marginLeft="15dp"
+ android:layout_marginRight="15dp"
+ android:paddingTop="8dp"
+ android:orientation="vertical">
+
+ <!-- Title -->
+ <TextView
+ android:id="@+id/title"
+ style="@style/ShareOverlayTitle"
+ android:textAppearance="@style/TextAppearance.ShareOverlay.Header"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="8dp"
+ android:maxLines="2"
+ android:textSize="20sp"
+ android:ellipsize="end"/>
+
+ <!-- Subtitle (url) -->
+ <TextView
+ android:id="@+id/subtitle"
+ style="@style/ShareOverlayTitle"
+ android:textAppearance="@style/TextAppearance.ShareOverlay.Header"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="20dp"
+ android:textSize="12sp"
+ android:scrollHorizontally="true"/>
+
+ <!-- TODO: Add back drop shadow (bug 1146488)? -->
+ <!-- Buttons -->
+ <!-- "Send to Firefox Sync" -->
+ <org.mozilla.gecko.overlays.ui.SendTabList
+ android:id="@+id/overlay_send_tab_btn"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:divider="@null"/>
+
+ <!-- "Add bookmark" -->
+ <org.mozilla.gecko.overlays.ui.OverlayDialogButton
+ style="@style/ShareOverlayRow"
+ android:id="@+id/overlay_share_bookmark_btn"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:enabled="false"
+ gecko:drawable="@drawable/overlay_share_bookmark_button"
+ gecko:enabledText="@string/overlay_share_bookmark_btn_label"
+ gecko:disabledText="@string/overlay_share_bookmark_btn_label_already"/>
+
+ </LinearLayout>
+
+ <ImageView
+ android:id="@+id/check"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:layout_gravity="center"
+ android:src="@drawable/overlay_check"
+ android:visibility="invisible"/>
+
+ <!-- This transparent View is used to overlay the
+ entire Activity with an onClickListener. -->
+ <View
+ android:id="@+id/fullscreen_click_target"
+ android:layout_height="match_parent"
+ android:layout_width="match_parent"
+ android:visibility="gone"/>
+</merge>
diff --git a/mobile/android/base/resources/layout/overlay_share_send_tab_item.xml b/mobile/android/base/resources/layout/overlay_share_send_tab_item.xml
new file mode 100644
index 000000000..99d723866
--- /dev/null
+++ b/mobile/android/base/resources/layout/overlay_share_send_tab_item.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!-- The first item's background is unique and these views are reused
+ so the background is set dynamically. -->
+<org.mozilla.gecko.overlays.ui.OverlayDialogButton
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ style="@style/ShareOverlayRow"
+ android:id="@+id/overlay_send_tab_item"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"/>
diff --git a/mobile/android/base/resources/layout/panel_article_item.xml b/mobile/android/base/resources/layout/panel_article_item.xml
new file mode 100644
index 000000000..a4234e018
--- /dev/null
+++ b/mobile/android/base/resources/layout/panel_article_item.xml
@@ -0,0 +1,35 @@
+<?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/. -->
+
+<merge xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <ImageView android:id="@+id/image"
+ android:layout_width="@dimen/panel_article_item_height"
+ android:layout_height="@dimen/panel_article_item_height"
+ android:scaleType="centerCrop"/>
+
+ <LinearLayout android:id="@+id/title_desc_container"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/panel_article_item_height"
+ android:paddingLeft="15dip"
+ android:paddingRight="15dip"
+ android:gravity="center_vertical"
+ android:orientation="vertical">
+
+ <TextView android:id="@+id/title"
+ style="@style/Widget.PanelItemView.Title"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"/>
+
+ <TextView android:id="@+id/description"
+ style="@style/Widget.PanelItemView.Description"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="1dp"
+ android:maxLength="1024"/>
+
+ </LinearLayout>
+
+</merge>
diff --git a/mobile/android/base/resources/layout/panel_auth_layout.xml b/mobile/android/base/resources/layout/panel_auth_layout.xml
new file mode 100644
index 000000000..549dc4191
--- /dev/null
+++ b/mobile/android/base/resources/layout/panel_auth_layout.xml
@@ -0,0 +1,39 @@
+<?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/. -->
+<merge xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <!-- Empty spacer view -->
+ <View android:layout_width="match_parent"
+ android:layout_height="0dip"
+ android:layout_weight="1"/>
+
+ <ImageView android:id="@+id/image"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:gravity="top|center"
+ android:scaleType="center"
+ android:paddingBottom="10dp"/>
+
+ <TextView android:id="@+id/message"
+ android:layout_width="match_parent"
+ android:layout_height="0dip"
+ android:gravity="top|center"
+ android:textAppearance="@style/TextAppearance.EmptyMessage"
+ android:paddingLeft="50dp"
+ android:paddingRight="50dp"
+ android:layout_weight="3"/>
+
+ <Button android:id="@+id/button"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="25dp"
+ android:layout_marginRight="25dp"
+ android:layout_marginBottom="25dp"
+ android:gravity="bottom|center"
+ android:textAppearance="@style/TextAppearance.EmptyMessage"
+ android:background="@drawable/panel_auth_button"
+ android:padding="20dp"/>
+
+</merge>
diff --git a/mobile/android/base/resources/layout/panel_back_item.xml b/mobile/android/base/resources/layout/panel_back_item.xml
new file mode 100644
index 000000000..d7f32fff3
--- /dev/null
+++ b/mobile/android/base/resources/layout/panel_back_item.xml
@@ -0,0 +1,26 @@
+<?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/. -->
+
+<merge xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <ImageView android:id="@+id/image"
+ android:layout_width="54dp"
+ android:layout_height="44dp"
+ android:layout_marginTop="10dip"
+ android:layout_marginLeft="10dip"
+ android:scaleType="centerCrop"/>
+
+ <TextView android:id="@+id/title"
+ style="@style/Widget.PanelItemView.Title"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingTop="5dip"
+ android:paddingBottom="5dip"
+ android:paddingLeft="10dip"
+ android:paddingRight="10dip"
+ android:minHeight="@dimen/page_row_height"
+ android:gravity="center_vertical"/>
+
+</merge>
diff --git a/mobile/android/base/resources/layout/panel_icon_item.xml b/mobile/android/base/resources/layout/panel_icon_item.xml
new file mode 100644
index 000000000..7f3e554b3
--- /dev/null
+++ b/mobile/android/base/resources/layout/panel_icon_item.xml
@@ -0,0 +1,36 @@
+<?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/. -->
+
+<org.mozilla.gecko.widget.SquaredRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <ImageView
+ android:id="@+id/background"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:scaleType="centerCrop" />
+
+ <ImageView
+ android:id="@+id/image"
+ android:layout_width="50dp"
+ android:layout_height="50dp"
+ android:scaleType="centerInside"
+ android:layout_centerInParent="true" />
+
+ <TextView
+ android:id="@+id/title"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:ellipsize="end"
+ android:textColor="@android:color/white"
+ android:layout_alignParentBottom="true"
+ android:textSize="12sp"
+ android:padding="8dp"
+ android:background="@color/panel_icon_item_title_background"
+ android:layout_gravity="center_horizontal"/>
+
+</org.mozilla.gecko.widget.SquaredRelativeLayout>
diff --git a/mobile/android/base/resources/layout/panel_image_item.xml b/mobile/android/base/resources/layout/panel_image_item.xml
new file mode 100644
index 000000000..15131dfaf
--- /dev/null
+++ b/mobile/android/base/resources/layout/panel_image_item.xml
@@ -0,0 +1,44 @@
+<?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/. -->
+
+<merge xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <org.mozilla.gecko.widget.SquaredImageView
+ android:id="@+id/image"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:scaleType="centerCrop"
+ android:adjustViewBounds="true"
+ android:background="@color/panel_image_item_background"/>
+
+ <LinearLayout android:id="@+id/title_desc_container"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/page_row_height"
+ android:paddingTop="7dip"
+ android:paddingBottom="7dip"
+ android:paddingLeft="5dip"
+ android:paddingRight="5dip"
+ android:orientation="vertical">
+
+ <TextView android:id="@+id/title"
+ style="@style/Widget.PanelItemView.Title"
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="1"
+ android:gravity="center_vertical"
+ android:singleLine="true"/>
+
+ <TextView android:id="@+id/description"
+ style="@style/Widget.PanelItemView.Description"
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="1"
+ android:gravity="center_vertical"
+ android:singleLine="true"
+ android:maxLength="1024"/>
+
+ </LinearLayout>
+
+</merge>
diff --git a/mobile/android/base/resources/layout/panel_item_container.xml b/mobile/android/base/resources/layout/panel_item_container.xml
new file mode 100644
index 000000000..2d767c64d
--- /dev/null
+++ b/mobile/android/base/resources/layout/panel_item_container.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:clickable="true"
+ android:foreground="@color/recyclerview_selector">
+
+</FrameLayout>
diff --git a/mobile/android/base/resources/layout/pin_site_dialog.xml b/mobile/android/base/resources/layout/pin_site_dialog.xml
new file mode 100644
index 000000000..07eb152d7
--- /dev/null
+++ b/mobile/android/base/resources/layout/pin_site_dialog.xml
@@ -0,0 +1,43 @@
+<?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/. -->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+
+ <LinearLayout android:layout_width="match_parent"
+ android:layout_height="@dimen/browser_toolbar_height"
+ android:orientation="vertical"
+ android:background="@color/toolbar_grey"
+ android:padding="4dip">
+
+ <EditText android:id="@+id/search"
+ style="@style/UrlBar.Button"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:padding="6dip"
+ android:hint="@string/pin_site_dialog_hint"
+ android:background="@drawable/url_bar_entry"
+ android:textColor="@color/url_bar_title"
+ android:textColorHint="@color/url_bar_title_hint"
+ android:textColorHighlight="@color/fennec_ui_orange"
+ android:textSelectHandle="@drawable/handle_middle"
+ android:textSelectHandleLeft="@drawable/handle_start"
+ android:textSelectHandleRight="@drawable/handle_end"
+ android:textCursorDrawable="@null"
+ android:inputType="textUri|textNoSuggestions"
+ android:imeOptions="actionGo|flagNoExtractUi|flagNoFullscreen"
+ android:singleLine="true"
+ android:gravity="center_vertical|left"/>
+
+ </LinearLayout>
+
+ <org.mozilla.gecko.home.HomeListView android:id="@+id/list"
+ android:layout_width="match_parent"
+ android:layout_height="0dip"
+ android:layout_weight="1.0"/>
+
+</LinearLayout>
diff --git a/mobile/android/base/resources/layout/preference_checkbox.xml b/mobile/android/base/resources/layout/preference_checkbox.xml
new file mode 100644
index 000000000..e16f5b623
--- /dev/null
+++ b/mobile/android/base/resources/layout/preference_checkbox.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2006 The Android Open Source Project
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<!-- Layout used by CheckBoxPreference for the checkbox style. This is inflated
+ inside android.R.layout.preference. -->
+<CheckBox xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/checkbox"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:focusable="false"
+ android:clickable="false" />
diff --git a/mobile/android/base/resources/layout/preference_panels.xml b/mobile/android/base/resources/layout/preference_panels.xml
new file mode 100644
index 000000000..baeb99ce8
--- /dev/null
+++ b/mobile/android/base/resources/layout/preference_panels.xml
@@ -0,0 +1,30 @@
+<?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/. -->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:minHeight="?android:attr/listPreferredItemHeight"
+ android:gravity="center_vertical"
+ android:orientation="vertical"
+ android:paddingLeft="?android:attr/listPreferredItemPaddingLeft"
+ android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+ android:paddingRight="?android:attr/scrollbarSize">
+
+ <TextView android:id="@+android:id/title"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:singleLine="true"
+ android:ellipsize="marquee"
+ android:fadingEdge="horizontal" />
+
+ <TextView android:id="@+android:id/summary"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ android:maxLines="2" />
+
+</LinearLayout>
diff --git a/mobile/android/base/resources/layout/preference_rightalign_icon.xml b/mobile/android/base/resources/layout/preference_rightalign_icon.xml
new file mode 100644
index 000000000..413faf2aa
--- /dev/null
+++ b/mobile/android/base/resources/layout/preference_rightalign_icon.xml
@@ -0,0 +1,43 @@
+<?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/. -->
+
+<!-- This custom layout matches the Android layout for preferences in
+ padding and margins, so it is visually consistent. -->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:paddingRight="?android:attr/scrollbarSize">
+
+ <RelativeLayout
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:gravity="right"
+ android:layout_marginLeft="15dip"
+ android:layout_marginRight="6dip"
+ android:layout_marginTop="6dip"
+ android:layout_marginBottom="6dip"
+ android:paddingRight="6dip"
+ android:layout_weight="1">
+
+ <TextView android:id="@+android:id/title"
+ android:layout_gravity="right"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:singleLine="true"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ android:ellipsize="marquee"
+ android:fadingEdge="horizontal" />
+
+ </RelativeLayout>
+
+ <ImageView android:src="@drawable/menu_item_more"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ android:paddingRight="16dp" />
+
+</LinearLayout>
diff --git a/mobile/android/base/resources/layout/preference_search_engine.xml b/mobile/android/base/resources/layout/preference_search_engine.xml
new file mode 100644
index 000000000..97ce95a3f
--- /dev/null
+++ b/mobile/android/base/resources/layout/preference_search_engine.xml
@@ -0,0 +1,48 @@
+<?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/. -->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:minHeight="?android:attr/listPreferredItemHeight"
+ android:gravity="center_vertical"
+ android:paddingLeft="?android:attr/listPreferredItemPaddingLeft"
+ android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+ android:paddingRight="?android:attr/scrollbarSize">
+
+ <org.mozilla.gecko.widget.FaviconView
+ android:id="@+id/search_engine_icon"
+ android:layout_width="@dimen/favicon_bg"
+ android:layout_height="@dimen/favicon_bg"
+ android:layout_gravity="center"
+ android:minWidth="@dimen/favicon_bg"
+ android:minHeight="@dimen/favicon_bg" />
+
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:layout_marginLeft="15dip"
+ android:layout_marginRight="6dip"
+ android:layout_marginTop="6dip"
+ android:layout_marginBottom="6dip">
+
+ <TextView android:id="@+android:id/title"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:singleLine="true"
+ android:ellipsize="marquee"
+ android:fadingEdge="horizontal" />
+
+ <TextView android:id="@+android:id/summary"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ android:maxLines="2" />
+
+ </LinearLayout>
+
+</LinearLayout>
diff --git a/mobile/android/base/resources/layout/preference_search_tip.xml b/mobile/android/base/resources/layout/preference_search_tip.xml
new file mode 100644
index 000000000..e03b171b4
--- /dev/null
+++ b/mobile/android/base/resources/layout/preference_search_tip.xml
@@ -0,0 +1,34 @@
+<?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/. -->
+
+<!-- Ignore UseCompoundDrawables because they caused a regression in bug 1208790. -->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ tools:ignore="UseCompoundDrawables"
+ android:orientation="horizontal"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:paddingRight="?android:attr/scrollbarSize">
+
+ <TextView android:id="@+id/label_search_hint"
+ android:layout_height="wrap_content"
+ android:layout_width="0dp"
+ android:text="@string/pref_search_hint"
+ android:layout_marginTop="5dip"
+ android:layout_marginBottom="6dip"
+ android:layout_marginLeft="15dip"
+ android:layout_marginRight="6dip"
+ android:paddingTop="8dp"
+ android:paddingBottom="8dp"
+ android:paddingRight="6dip"
+ android:layout_weight="1"/>
+
+ <ImageView android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:paddingRight="8dp"
+ android:paddingTop="12dip"
+ android:src="@drawable/tip_addsearch"/>
+
+</LinearLayout>
diff --git a/mobile/android/base/resources/layout/preference_set_homepage.xml b/mobile/android/base/resources/layout/preference_set_homepage.xml
new file mode 100644
index 000000000..d30221a23
--- /dev/null
+++ b/mobile/android/base/resources/layout/preference_set_homepage.xml
@@ -0,0 +1,38 @@
+<?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/. -->
+<RadioGroup xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/homepage_layout"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingLeft="20dp"
+ android:paddingRight="20dp"
+ android:orientation="vertical">
+
+ <RadioButton android:id="@+id/radio_default"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="8dp"
+ android:text="@string/home_homepage_radio_default"
+ android:textColor="@color/text_and_tabs_tray_grey"/>
+
+ <RadioButton android:id="@+id/radio_user_address"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="8dp"
+ android:text="@string/home_homepage_radio_user_address"
+ android:textColor="@color/text_and_tabs_tray_grey"/>
+
+ <!-- RadioGroup is a LinearLayout under the hood, so including this View is fine.
+ The visibility changes with RadioButton state so we hide it to start. -->
+ <EditText android:id="@+id/edittext_user_address"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="8dp"
+ android:inputType="textUri"
+ android:hint="@string/home_homepage_hint_user_address"
+ android:textColorHint="@color/disabled_grey"
+ android:visibility="gone"/>
+
+</RadioGroup>
diff --git a/mobile/android/base/resources/layout/private_tabs_panel.xml b/mobile/android/base/resources/layout/private_tabs_panel.xml
new file mode 100644
index 000000000..2c553abd7
--- /dev/null
+++ b/mobile/android/base/resources/layout/private_tabs_panel.xml
@@ -0,0 +1,25 @@
+<?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/. -->
+
+<merge xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:gecko="http://schemas.android.com/apk/res-auto">
+
+ <ImageView android:id="@+id/private_tabs_empty"
+ android:layout_height="wrap_content"
+ android:layout_width="wrap_content"
+ android:src="@drawable/private_masq"
+ android:layout_gravity="center"/>
+
+ <!-- Note: for an unknown reason, scrolling in the TabsLayout
+ does not work unless it is laid out after the empty view. -->
+ <view class="org.mozilla.gecko.tabs.TabsPanel$TabsLayout"
+ android:id="@+id/private_tabs_layout"
+ style="@style/TabsLayout"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:choiceMode="singleChoice"
+ gecko:tabs="tabs_private"/>
+
+</merge>
diff --git a/mobile/android/base/resources/layout/restricted_firstrun_welcome_fragment.xml b/mobile/android/base/resources/layout/restricted_firstrun_welcome_fragment.xml
new file mode 100644
index 000000000..94ee43b7b
--- /dev/null
+++ b/mobile/android/base/resources/layout/restricted_firstrun_welcome_fragment.xml
@@ -0,0 +1,73 @@
+<?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="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:fillViewport="true"
+ android:orientation="vertical">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@color/restricted_profile_background_gold"
+ android:minHeight="@dimen/firstrun_min_height"
+ android:orientation="vertical"
+ android:weightSum="50">
+
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="21"
+ android:padding="30dp">
+
+ <TextView
+ android:layout_width="320dp"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:background="@color/restricted_profile_background_green"
+ android:gravity="center"
+ android:paddingBottom="40dp"
+ android:paddingLeft="30dp"
+ android:paddingRight="30dp"
+ android:paddingTop="40dp"
+ android:text="@string/firstrun_welcome_restricted"
+ android:textColor="#ffffff"
+ android:textSize="22sp" />
+
+ </FrameLayout>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="29"
+ android:background="@color/android:white"
+ android:gravity="center_horizontal"
+ android:orientation="vertical"
+ android:padding="40dp">
+
+ <Button
+ android:id="@+id/welcome_browse"
+ style="@style/Widget.Firstrun.Button"
+ android:layout_gravity="center"
+ android:layout_marginBottom="20dp"
+ android:background="@drawable/button_background_action_blue_round"
+ android:text="@string/firstrun_welcome_button_browser" />
+
+ <TextView
+ android:id="@+id/learn_more_link"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:gravity="center"
+ android:padding="20dp"
+ android:text="@string/pref_learn_more"
+ android:textAppearance="@style/TextAppearance.FirstrunRegular.Link" />
+
+ </LinearLayout>
+ </LinearLayout>
+
+</ScrollView>
diff --git a/mobile/android/base/resources/layout/search_activity_main.xml b/mobile/android/base/resources/layout/search_activity_main.xml
new file mode 100644
index 000000000..93da2e083
--- /dev/null
+++ b/mobile/android/base/resources/layout/search_activity_main.xml
@@ -0,0 +1,65 @@
+<!-- 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/. -->
+
+<merge
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ tools:context=".SearchActivity">
+
+ <org.mozilla.search.autocomplete.SearchBar
+ android:id="@+id/search_bar"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/search_bar_height"
+ android:paddingTop="@dimen/search_bar_padding_y"
+ android:paddingBottom="@dimen/search_bar_padding_y"
+ android:paddingLeft="@dimen/search_row_padding"
+ android:paddingRight="@dimen/search_row_padding"
+ android:layout_gravity="top"/>
+
+ <fragment
+ android:id="@+id/postsearch"
+ android:name="org.mozilla.search.PostSearchFragment"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_marginTop="@dimen/search_bar_height"
+ android:layout_gravity="top"
+ android:visibility="invisible"/>
+
+ <fragment
+ android:id="@+id/presearch"
+ android:name="org.mozilla.search.PreSearchFragment"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_marginTop="@dimen/search_bar_height"
+ android:layout_gravity="top"/>
+
+ <fragment
+ android:id="@+id/suggestions"
+ android:name="org.mozilla.search.autocomplete.SuggestionsFragment"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_marginTop="@dimen/search_bar_height"
+ android:layout_gravity="top"/>
+
+
+ <ImageButton
+ android:id="@+id/settings_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@android:color/transparent"
+ android:padding="15dp"
+ android:src="@drawable/ic_action_settings"
+ android:layout_gravity="bottom|right"
+ android:contentDescription="@string/search_pref_button_content_description"/>
+
+ <View
+ android:id="@+id/animation_card"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_marginTop="@dimen/search_bar_height"
+ android:background="@color/row_background"
+ android:visibility="invisible"
+ android:layout_gravity="top"/>
+
+</merge>
diff --git a/mobile/android/base/resources/layout/search_bar.xml b/mobile/android/base/resources/layout/search_bar.xml
new file mode 100644
index 000000000..69232ff07
--- /dev/null
+++ b/mobile/android/base/resources/layout/search_bar.xml
@@ -0,0 +1,43 @@
+<!-- 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/. -->
+
+<merge xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <org.mozilla.search.ui.BackCaptureEditText
+ android:id="@+id/edit_text"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ android:imeOptions="actionSearch"
+ android:inputType="textNoSuggestions"
+ android:drawableLeft="@drawable/search_icon_inactive"
+ android:drawablePadding="5dp"
+ android:textSize="@dimen/query_text_size"
+ android:focusable="false"
+ android:focusableInTouchMode="false"
+ android:textColorHighlight="@color/fennec_ui_orange"
+ android:textSelectHandle="@drawable/handle_middle"
+ android:textSelectHandleLeft="@drawable/handle_start"
+ android:textSelectHandleRight="@drawable/handle_end" />
+
+ <ImageButton
+ android:id="@+id/clear_button"
+ android:layout_width="30dp"
+ android:layout_height="30dp"
+ android:paddingLeft="10dp"
+ android:layout_gravity="right|center_vertical"
+ android:background="@android:color/transparent"
+ android:src="@drawable/search_clear"
+ android:scaleType="centerInside"
+ android:visibility="gone"/>
+
+ <ImageView
+ android:id="@+id/engine_icon"
+ android:layout_width="24dp"
+ android:layout_height="24dp"
+ android:layout_gravity="right|center_vertical"
+ android:background="@android:color/transparent"
+ android:visibility="gone"/>
+
+</merge>
diff --git a/mobile/android/base/resources/layout/search_empty.xml b/mobile/android/base/resources/layout/search_empty.xml
new file mode 100644
index 000000000..9177a9dde
--- /dev/null
+++ b/mobile/android/base/resources/layout/search_empty.xml
@@ -0,0 +1,51 @@
+<!-- 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/. -->
+
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ android:gravity="center"
+ android:paddingLeft="50dp"
+ android:paddingRight="50dp">
+
+ <!-- Empty spacer view -->
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0dip"
+ android:layout_weight="1"/>
+
+ <ImageView
+ android:id="@+id/empty_image"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="15dp"
+ android:gravity="top|center"
+ android:scaleType="fitCenter"/>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="0dip"
+ android:orientation="vertical"
+ android:layout_weight="3">
+
+ <TextView
+ android:id="@+id/empty_title"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="15dp"
+ style="@style/TextAppearance.EmptyView.Title"
+ android:gravity="center"/>
+
+ <TextView
+ android:id="@+id/empty_message"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ style="@style/TextAppearance.EmptyView.Message"
+ android:gravity="center"/>
+
+ </LinearLayout>
+
+</LinearLayout>
diff --git a/mobile/android/base/resources/layout/search_engine_bar_item.xml b/mobile/android/base/resources/layout/search_engine_bar_item.xml
new file mode 100644
index 000000000..f8c546d93
--- /dev/null
+++ b/mobile/android/base/resources/layout/search_engine_bar_item.xml
@@ -0,0 +1,32 @@
+<?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/. -->
+
+<!-- TwoWayView doesn't let us set the margin around items (except as
+ gecko:itemMargin, but that doesn't increase the hit area) so we
+ have to surround the main View by a ViewGroup to create a pressable margin.
+
+ Note: the layout_height values are shared with the parent
+ View (browser_search at the time of this writing).
+
+ The actual width of the FrameLayout is calculated at runtime by the
+ SearchEngineBar class to spread the icons across the device's width. -->
+<FrameLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/search_engine_icon_container"
+ android:layout_width="72dp"
+ android:layout_height="match_parent"
+ android:clickable="true"
+ android:background="@color/pressed_about_page_header_grey">
+
+ <!-- Width & height are set to make the Favicons as sharp as possible
+ based on asset size. -->
+ <ImageView
+ android:id="@+id/search_engine_icon"
+ android:layout_width="24dp"
+ android:layout_height="24dp"
+ android:layout_gravity="center"
+ android:scaleType="fitCenter"/>
+
+</FrameLayout>
diff --git a/mobile/android/base/resources/layout/search_engine_bar_label.xml b/mobile/android/base/resources/layout/search_engine_bar_label.xml
new file mode 100644
index 000000000..057e9bf31
--- /dev/null
+++ b/mobile/android/base/resources/layout/search_engine_bar_label.xml
@@ -0,0 +1,23 @@
+<?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/. -->
+
+<!-- TwoWayView doesn't let us set the margin around items (except as
+ gecko:itemMargin, but that doesn't increase the hit area) so we
+ have to surround the main View by a ViewGroup to create a pressable margin. -->
+<FrameLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="48dp"
+ android:layout_height="match_parent"
+ android:clickable="true"
+ android:background="@color/pressed_about_page_header_grey">
+
+ <ImageView
+ android:id="@+id/search_engine_label"
+ android:layout_width="16dp"
+ android:layout_height="16dp"
+ android:layout_gravity="center"
+ android:scaleType="fitXY"/>
+
+</FrameLayout>
diff --git a/mobile/android/base/resources/layout/search_engine_row.xml b/mobile/android/base/resources/layout/search_engine_row.xml
new file mode 100644
index 000000000..5c2f2dfb9
--- /dev/null
+++ b/mobile/android/base/resources/layout/search_engine_row.xml
@@ -0,0 +1,30 @@
+<?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/. -->
+
+<merge xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <org.mozilla.gecko.widget.FaviconView android:id="@+id/suggestion_icon"
+ android:layout_width="@dimen/favicon_bg"
+ android:layout_height="@dimen/favicon_bg"
+ android:layout_marginLeft="16dip"
+ android:layout_marginRight="16dip"
+ android:layout_centerVertical="true"
+ android:minWidth="@dimen/favicon_bg"
+ android:minHeight="@dimen/favicon_bg"/>
+
+ <org.mozilla.gecko.widget.FlowLayout android:id="@+id/suggestion_layout"
+ android:layout_toRightOf="@id/suggestion_icon"
+ android:layout_centerVertical="true"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginRight="15dp"
+ android:duplicateParentState="true">
+
+ <include layout="@layout/suggestion_item"
+ android:id="@+id/suggestion_user_entered"/>
+
+ </org.mozilla.gecko.widget.FlowLayout>
+
+</merge>
diff --git a/mobile/android/base/resources/layout/search_fragment_post_search.xml b/mobile/android/base/resources/layout/search_fragment_post_search.xml
new file mode 100644
index 000000000..4bbfd36b3
--- /dev/null
+++ b/mobile/android/base/resources/layout/search_fragment_post_search.xml
@@ -0,0 +1,30 @@
+<!-- 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/. -->
+
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical">
+
+ <ProgressBar
+ android:id="@+id/progress_bar"
+ style="@android:style/Widget.ProgressBar.Horizontal"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/progress_bar_height"
+ android:progressDrawable="@drawable/progressbar"/>
+
+ <WebView
+ android:id="@+id/webview"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"/>
+
+ <ViewStub
+ android:id="@+id/error_view_stub"
+ android:layout="@layout/search_empty"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:visibility="gone"/>
+
+</LinearLayout>
diff --git a/mobile/android/base/resources/layout/search_fragment_pre_search.xml b/mobile/android/base/resources/layout/search_fragment_pre_search.xml
new file mode 100644
index 000000000..82ce15b1b
--- /dev/null
+++ b/mobile/android/base/resources/layout/search_fragment_pre_search.xml
@@ -0,0 +1,27 @@
+<!-- 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/. -->
+
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ android:background="@color/toolbar_grey">
+
+ <ViewStub android:id="@+id/empty_view_stub"
+ android:layout="@layout/search_empty"
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="1"/>
+
+ <ListView
+ android:id="@+id/list_view"
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="1"
+ android:scrollbarStyle="outsideOverlay"
+ android:paddingLeft="@dimen/search_row_padding"
+ android:paddingRight="@dimen/search_row_padding"/>
+
+</LinearLayout>
diff --git a/mobile/android/base/resources/layout/search_history_row.xml b/mobile/android/base/resources/layout/search_history_row.xml
new file mode 100644
index 000000000..d47185bcc
--- /dev/null
+++ b/mobile/android/base/resources/layout/search_history_row.xml
@@ -0,0 +1,14 @@
+<!-- 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/. -->
+
+<TextView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/site_name"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@drawable/search_row_background"
+ android:drawableLeft="@drawable/search_history"
+ android:drawablePadding="@dimen/search_history_drawable_padding"
+ android:padding="@dimen/search_row_padding"
+ android:textSize="@dimen/query_text_size"/>
diff --git a/mobile/android/base/resources/layout/search_sugestions.xml b/mobile/android/base/resources/layout/search_sugestions.xml
new file mode 100644
index 000000000..1fb989fe8
--- /dev/null
+++ b/mobile/android/base/resources/layout/search_sugestions.xml
@@ -0,0 +1,12 @@
+<!-- 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/. -->
+
+<ListView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@color/toolbar_grey"
+ android:paddingLeft="@dimen/search_row_padding"
+ android:paddingRight="@dimen/search_row_padding"
+ android:visibility="invisible"/>
diff --git a/mobile/android/base/resources/layout/search_suggestions_row.xml b/mobile/android/base/resources/layout/search_suggestions_row.xml
new file mode 100644
index 000000000..8c3f3e7a1
--- /dev/null
+++ b/mobile/android/base/resources/layout/search_suggestions_row.xml
@@ -0,0 +1,31 @@
+<!-- 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/. -->
+
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@drawable/search_row_background"
+ android:padding="@dimen/search_row_padding"
+ android:descendantFocusability="blocksDescendants"
+ android:orientation="horizontal">
+
+ <TextView
+ android:id="@+id/auto_complete_row_text"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:textSize="@dimen/query_text_size"/>
+
+ <ImageButton
+ android:id="@+id/auto_complete_row_jump_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="right|center_vertical"
+ android:paddingLeft="@dimen/search_row_padding"
+ android:src="@drawable/search_plus"
+ android:contentDescription="@string/search_plus_content_description"
+ android:background="@android:color/transparent" />
+
+</LinearLayout>
diff --git a/mobile/android/base/resources/layout/search_widget.xml b/mobile/android/base/resources/layout/search_widget.xml
new file mode 100644
index 000000000..e5db2d774
--- /dev/null
+++ b/mobile/android/base/resources/layout/search_widget.xml
@@ -0,0 +1,67 @@
+<?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/. -->
+
+<!-- A homescreen widget for launching Fennec or the search activity. We can't use styles in here
+ so make sure any changes you make are also made to launch_widget.xml which doesn't have
+ the search widget button. -->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/widget_header_height"
+ android:orientation="horizontal"
+ android:background="@drawable/widget_bg">
+
+ <ImageView android:id="@+id/logo_button"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:padding="@dimen/widget_padding"
+ android:background="@drawable/widget_button_left"
+ android:layout_height="match_parent"
+ android:src="@drawable/widget_icon"/>
+
+ <LinearLayout android:id="@+id/search_button"
+ android:layout_width="0dp"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:gravity="center"
+ android:contentDescription="@string/search_widget_button_label"
+ android:orientation="horizontal"
+ android:background="@drawable/widget_button_middle">
+
+ <TextView android:id="@+id/search_button_label"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:drawableLeft="@drawable/ic_widget_search"
+ android:drawablePadding="@dimen/widget_padding"
+ android:text="@string/search_widget_button_label"
+ android:gravity="center"
+ android:fontFamily="sans-serif"
+ android:textSize="@dimen/widget_text_size"
+ android:textColor="@color/toolbar_icon_grey"/>
+
+ </LinearLayout>
+
+ <LinearLayout android:id="@+id/new_tab_button"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="match_parent"
+ android:contentDescription="@string/new_tab"
+ android:gravity="center"
+ android:orientation="horizontal"
+ android:background="@drawable/widget_button_right">
+
+ <TextView android:id="@+id/new_tab_button_label"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:drawableLeft="@drawable/ic_widget_new_tab"
+ android:drawablePadding="@dimen/widget_padding"
+ android:gravity="center"
+ android:text="@string/new_tab"
+ android:fontFamily="sans-serif"
+ android:textSize="@dimen/widget_text_size"
+ android:textColor="@color/toolbar_icon_grey"/>
+
+ </LinearLayout>
+
+</LinearLayout>
diff --git a/mobile/android/base/resources/layout/select_dialog_list.xml b/mobile/android/base/resources/layout/select_dialog_list.xml
new file mode 100644
index 000000000..ed6a7ecea
--- /dev/null
+++ b/mobile/android/base/resources/layout/select_dialog_list.xml
@@ -0,0 +1,13 @@
+<?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/. -->
+
+<!-- This is used for select lists for multiple selection enabled -->
+<ListView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/select_list"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:cacheColorHint="@null"
+ android:scrollbars="vertical"
+ android:overScrollMode="ifContentScrolls" />
diff --git a/mobile/android/base/resources/layout/select_dialog_multichoice.xml b/mobile/android/base/resources/layout/select_dialog_multichoice.xml
new file mode 100644
index 000000000..0fc9f9494
--- /dev/null
+++ b/mobile/android/base/resources/layout/select_dialog_multichoice.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2008 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@android:id/text1"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textAppearance="@style/TextAppearance.Widget.TextView"
+ style="@style/Widget.ListItem"/>
diff --git a/mobile/android/base/resources/layout/select_dialog_singlechoice.xml b/mobile/android/base/resources/layout/select_dialog_singlechoice.xml
new file mode 100644
index 000000000..0bffa830d
--- /dev/null
+++ b/mobile/android/base/resources/layout/select_dialog_singlechoice.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2008 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@android:id/text1"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textAppearance="@style/TextAppearance.Widget.TextView"
+ style="@style/Widget.ListItem"
+ android:checkMark="?android:attr/listChoiceIndicatorSingle"
+ android:ellipsize="marquee"/>
diff --git a/mobile/android/base/resources/layout/site_identity.xml b/mobile/android/base/resources/layout/site_identity.xml
new file mode 100644
index 000000000..b74c97c83
--- /dev/null
+++ b/mobile/android/base/resources/layout/site_identity.xml
@@ -0,0 +1,101 @@
+<?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/. -->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+
+ <LinearLayout android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:paddingLeft="@dimen/doorhanger_section_padding_small"
+ android:paddingRight="@dimen/doorhanger_section_padding_small"
+ android:paddingBottom="@dimen/doorhanger_section_padding_large"
+ android:paddingTop="@dimen/doorhanger_section_padding_medium">
+
+ <ImageView android:id="@+id/site_identity_icon"
+ android:layout_width="@dimen/doorhanger_icon_size"
+ android:layout_height="@dimen/doorhanger_icon_size"
+ android:gravity="center_horizontal"
+ android:padding="@dimen/doorhanger_section_padding_small"
+ android:layout_marginRight="@dimen/doorhanger_section_padding_small"/>
+
+ <LinearLayout android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:layout_weight="1.0">
+
+ <TextView android:id="@+id/site_identity_title"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textAppearance="@style/TextAppearance.DoorHanger.Medium.Light"/>
+
+ <TextView android:id="@+id/site_identity_state"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="@dimen/doorhanger_subsection_padding"
+ android:textAppearance="@style/TextAppearance.DoorHanger.Medium.Bold"/>
+
+ <TextView android:id="@+id/mixed_content_activity"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="@dimen/doorhanger_section_padding_medium"
+ android:textAppearance="@style/TextAppearance.DoorHanger.Medium"
+ android:visibility="gone"/>
+
+ <LinearLayout android:id="@+id/site_identity_known_container"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:visibility="gone"
+ android:orientation="vertical">
+
+ <TextView android:id="@+id/owner"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="@dimen/doorhanger_section_padding_small"
+ android:textAppearance="@style/TextAppearance.DoorHanger.Medium"
+ android:textStyle="bold"/>
+
+ <TextView android:id="@+id/owner_supplemental"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textAppearance="@style/TextAppearance.DoorHanger.Medium"/>
+
+ <TextView android:id="@+id/verifier"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="@dimen/doorhanger_section_padding_medium"
+ android:textAppearance="@style/TextAppearance.DoorHanger.Medium.Light"/>
+
+ </LinearLayout>
+
+ <TextView android:id="@+id/site_identity_link"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textAppearance="@style/TextAppearance.DoorHanger.Medium"
+ android:textColor="@color/link_blue"
+ android:layout_marginTop="@dimen/doorhanger_section_padding_large"
+ android:text="@string/learn_more"
+ android:visibility="gone"/>
+
+ <TextView android:id="@+id/site_settings_link"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textAppearance="@style/TextAppearance.DoorHanger.Medium"
+ android:textColor="@color/link_blue"
+ android:layout_marginTop="@dimen/doorhanger_section_padding_large"
+ android:text="@string/contextmenu_site_settings"
+ android:visibility="gone"/>
+ </LinearLayout>
+ </LinearLayout>
+
+ <View android:id="@+id/divider_doorhanger"
+ android:layout_width="match_parent"
+ android:layout_height="1dp"
+ android:background="@color/toolbar_divider_grey"
+ android:visibility="gone"/>
+
+</LinearLayout>
diff --git a/mobile/android/base/resources/layout/site_setting_item.xml b/mobile/android/base/resources/layout/site_setting_item.xml
new file mode 100644
index 000000000..a8feba7e3
--- /dev/null
+++ b/mobile/android/base/resources/layout/site_setting_item.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<org.mozilla.gecko.widget.CheckableLinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:gravity="center_vertical"
+ android:paddingLeft="16dip"
+ android:paddingRight="12dip"
+ android:minHeight="?android:attr/listPreferredItemHeight"
+ android:focusable="false">
+
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:orientation="vertical"
+ android:gravity="center_vertical"
+ android:focusable="false">
+
+ <TextView
+ android:id="@+id/setting"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ style="Widget.ListItem"
+ android:gravity="center_vertical|left"
+ android:singleLine="true"
+ android:ellipsize="marquee"/>
+
+ <TextView
+ android:id="@+id/value"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ style="Widget.ListItem"
+ android:gravity="center_vertical|left"
+ android:singleLine="true"
+ android:ellipsize="marquee"/>
+
+ </LinearLayout>
+
+ <android.support.v7.widget.AppCompatCheckBox
+ android:id="@+id/checkbox"
+ android:layout_width="35dip"
+ android:layout_height="wrap_content"
+ android:paddingRight="12dip"
+ android:gravity="center_vertical"
+ android:focusable="false"
+ android:clickable="false"/>
+
+</org.mozilla.gecko.widget.CheckableLinearLayout>
diff --git a/mobile/android/base/resources/layout/suggestion_item.xml b/mobile/android/base/resources/layout/suggestion_item.xml
new file mode 100644
index 000000000..8dc0dbe6c
--- /dev/null
+++ b/mobile/android/base/resources/layout/suggestion_item.xml
@@ -0,0 +1,31 @@
+<?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/. -->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:minHeight="32dp"
+ android:orientation="horizontal"
+ android:background="@drawable/search_suggestion_button"
+ android:gravity="center_vertical"
+ android:clickable="true"
+ android:padding="5dp">
+
+ <ImageView android:id="@+id/suggestion_item_icon"
+ android:src="@drawable/icon_most_recent_empty"
+ android:layout_marginRight="3dip"
+ android:layout_width="18dip"
+ android:layout_height="18dip"
+ android:visibility="gone"/>
+
+ <TextView android:id="@+id/suggestion_text"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textColor="@color/text_and_tabs_tray_grey"
+ android:textSize="14sp"
+ android:gravity="center_vertical"
+ android:layout_gravity="center_vertical"/>
+
+</LinearLayout>
diff --git a/mobile/android/base/resources/layout/tab_history_item_row.xml b/mobile/android/base/resources/layout/tab_history_item_row.xml
new file mode 100644
index 000000000..c9de09506
--- /dev/null
+++ b/mobile/android/base/resources/layout/tab_history_item_row.xml
@@ -0,0 +1,58 @@
+<?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/. -->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:gecko= "http://schemas.android.com/apk/res-auto"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:background="@color/state_pressed_toolbar_grey_pressed" >
+
+ <LinearLayout android:id="@+id/tab_history_timeline_combo"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:layout_marginLeft="@dimen/tab_history_combo_margin_left"
+ android:layout_marginRight="@dimen/tab_history_combo_margin_right" >
+
+ <ImageView android:id="@+id/tab_history_timeline_top"
+ android:layout_width="@dimen/tab_history_timeline_width"
+ android:layout_height="@dimen/tab_history_timeline_height"
+ android:layout_gravity="center_horizontal"
+ android:background="@color/tab_history_timeline_separator" />
+
+ <org.mozilla.gecko.widget.FaviconView android:id="@+id/tab_history_icon"
+ android:layout_width="@dimen/tab_history_favicon_bg"
+ android:layout_height="@dimen/tab_history_favicon_bg"
+ android:background="@drawable/tab_history_icon_state"
+ android:padding="@dimen/tab_history_favicon_padding"
+ android:scaleType="centerInside"
+ gecko:overrideScaleType="false"
+ gecko:dominantBorderEnabled="false" />
+
+ <ImageView android:id="@+id/tab_history_timeline_bottom"
+ android:layout_width="@dimen/tab_history_timeline_width"
+ android:layout_height="@dimen/tab_history_timeline_height"
+ android:layout_gravity="center_horizontal"
+ android:background="@color/tab_history_timeline_separator" />
+
+ </LinearLayout>
+
+ <!-- HACK: Widget.TwoLinePageRow overrides the background attr but really shouldn't
+ (bug 1271797). So we override the override and set the background equal to null. -->
+ <org.mozilla.gecko.widget.FadedSingleColorTextView
+ android:id="@+id/tab_history_title"
+ style="@style/Widget.TwoLinePageRow.Title"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ android:background="@null"
+ android:paddingRight="@dimen/tab_history_title_margin_right"
+ android:text="@+id/tab_history_title"
+ android:textSize="@dimen/tab_history_title_text_size"
+ android:textColor="@color/text_and_tabs_tray_grey"
+ gecko:fadeWidth="@dimen/tab_history_title_fading_width"/>
+
+</LinearLayout>
diff --git a/mobile/android/base/resources/layout/tab_history_layout.xml b/mobile/android/base/resources/layout/tab_history_layout.xml
new file mode 100644
index 000000000..010ab6c50
--- /dev/null
+++ b/mobile/android/base/resources/layout/tab_history_layout.xml
@@ -0,0 +1,17 @@
+<?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/. -->
+
+<RelativeLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" >
+
+ <ListView android:id="@+id/tab_history_list"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentBottom="true"
+ android:background="@drawable/tab_history_bg"
+ android:divider="@null" />
+</RelativeLayout>
diff --git a/mobile/android/base/resources/layout/tab_menu_strip.xml b/mobile/android/base/resources/layout/tab_menu_strip.xml
new file mode 100644
index 000000000..b3d3952b8
--- /dev/null
+++ b/mobile/android/base/resources/layout/tab_menu_strip.xml
@@ -0,0 +1,15 @@
+<?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/. -->
+
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="0dp"
+ android:layout_height="match_parent"
+ android:minWidth="@dimen/tabs_strip_button_width"
+ android:background="@drawable/tabs_strip_indicator"
+ android:paddingLeft="@dimen/tabs_strip_button_padding"
+ android:paddingRight="@dimen/tabs_strip_button_padding"
+ android:gravity="center"
+ android:focusable="true"
+ style="@style/TextAppearance.Widget.HomePagerTabMenuStrip"/>
diff --git a/mobile/android/base/resources/layout/tab_prompt_input.xml b/mobile/android/base/resources/layout/tab_prompt_input.xml
new file mode 100644
index 000000000..72a73b702
--- /dev/null
+++ b/mobile/android/base/resources/layout/tab_prompt_input.xml
@@ -0,0 +1,32 @@
+<?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/. -->
+
+<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@android:id/tabhost"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" >
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ android:minHeight="100dp">
+
+ <TabWidget
+ android:id="@android:id/tabs"
+ style="@style/TabInput.TabWidget"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content" >
+ </TabWidget>
+
+ <FrameLayout
+ android:id="@android:id/tabcontent"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" >
+ </FrameLayout>
+
+ </LinearLayout>
+
+</TabHost>
diff --git a/mobile/android/base/resources/layout/tab_queue_prompt.xml b/mobile/android/base/resources/layout/tab_queue_prompt.xml
new file mode 100644
index 000000000..d37b431d3
--- /dev/null
+++ b/mobile/android/base/resources/layout/tab_queue_prompt.xml
@@ -0,0 +1,142 @@
+<?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/. -->
+
+<merge
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:clipChildren="false"
+ android:clipToPadding="false">
+
+ <LinearLayout
+ android:id="@+id/tab_queue_container"
+ android:layout_width="@dimen/overlay_prompt_container_width"
+ android:layout_height="wrap_content"
+ android:layout_gravity="bottom|center"
+ android:background="@android:color/white"
+ android:orientation="vertical">
+
+ <TextView
+ android:id="@+id/title"
+ android:layout_width="@dimen/overlay_prompt_content_width"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:fontFamily="sans-serif-light"
+ android:gravity="center_horizontal"
+ android:paddingTop="40dp"
+ android:text="@string/tab_queue_prompt_title"
+ android:textColor="@color/text_and_tabs_tray_grey"
+ android:textSize="20sp"
+
+ tools:text="Opening multiple links?" />
+
+ <TextView
+ android:id="@+id/text"
+ android:layout_width="@dimen/overlay_prompt_content_width"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:gravity="center"
+ android:lineSpacingMultiplier="1.25"
+ android:paddingTop="20dp"
+ android:text="@string/tab_queue_prompt_text"
+ android:textColor="@color/placeholder_grey"
+ android:textSize="16sp"
+ tools:text="Save them until the next time you open Firefox." />
+
+ <TextView
+ android:id="@+id/tip_text"
+ android:layout_width="@dimen/overlay_prompt_content_width"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:gravity="center"
+ android:paddingBottom="30dp"
+ android:paddingTop="20dp"
+ android:text="@string/tab_queue_prompt_tip_text"
+ android:textColor="@color/action_orange"
+ android:textSize="14sp"
+ android:textStyle="italic"
+ tools:text="you can change this later in Settings" />
+
+ <TextView
+ android:id="@+id/settings_permit_text"
+ android:layout_width="@dimen/overlay_prompt_content_width"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:gravity="center"
+ android:paddingBottom="30dp"
+ android:paddingTop="20dp"
+ android:text="@string/tab_queue_prompt_permit_drawing_over_apps"
+ android:textColor="@color/action_orange"
+ android:textSize="14sp"
+ android:textStyle="italic"
+ tools:text="Turn on Permit drawing over other apps" />
+
+ <FrameLayout
+ android:id="@+id/bottom_container"
+ android:layout_width="match_parent"
+ android:layout_height="52dp"
+ android:layout_gravity="center"
+ android:layout_marginBottom="40dp">
+
+ <ImageView
+ android:id="@+id/enabled_confirmation"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:src="@drawable/img_check"
+ android:visibility="gone" />
+
+ <LinearLayout
+ android:id="@+id/button_container"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:gravity="center_horizontal"
+ android:orientation="horizontal">
+
+ <TextView
+ android:id="@+id/cancel_button"
+ style="@style/Widget.BaseButton"
+ android:layout_width="@dimen/overlay_prompt_button_width"
+ android:layout_height="match_parent"
+ android:layout_gravity="center"
+ android:background="@color/android:white"
+ android:text="@string/tab_queue_prompt_negative_action_button"
+ android:textColor="@drawable/tab_queue_dismiss_button_foreground"
+ android:textSize="16sp"
+
+ tools:text="Not now" />
+
+ <Button
+ android:id="@+id/ok_button"
+ style="@style/Widget.BaseButton"
+ android:layout_width="@dimen/overlay_prompt_button_width"
+ android:layout_height="match_parent"
+ android:layout_gravity="center"
+ android:background="@drawable/button_background_action_orange_round"
+ android:text="@string/tab_queue_prompt_positive_action_button"
+ android:textColor="@android:color/white"
+ android:textSize="16sp"
+ tools:text="Enable" />
+
+ <Button
+ android:id="@+id/settings_button"
+ style="@style/Widget.BaseButton"
+ android:layout_width="@dimen/overlay_prompt_button_width"
+ android:layout_height="match_parent"
+ android:layout_gravity="center"
+ android:background="@drawable/button_background_action_orange_round"
+ android:text="@string/tab_queue_prompt_settings_button"
+ android:textColor="@android:color/white"
+ android:textSize="16sp"
+ tools:text="Go to settings" />
+
+ </LinearLayout>
+
+ </FrameLayout>
+
+ </LinearLayout>
+</merge>
diff --git a/mobile/android/base/resources/layout/tab_queue_toast.xml b/mobile/android/base/resources/layout/tab_queue_toast.xml
new file mode 100644
index 000000000..9aaf60f94
--- /dev/null
+++ b/mobile/android/base/resources/layout/tab_queue_toast.xml
@@ -0,0 +1,38 @@
+<?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/. -->
+
+<!-- (lint: UselessParent) The second-outermost layout doesn't have a parent to position itself
+ against and would take up the whole screen without the outermost layout. -->
+<FrameLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ tools:ignore="UselessParent">
+
+ <LinearLayout
+ android:id="@+id/toast"
+ style="@style/Toast">
+
+ <TextView
+ android:id="@+id/toast_message"
+ style="@style/ToastMessage"
+
+ tools:text="Tab queued in firefox" />
+
+ <View
+ android:id="@+id/toast_divider"
+ style="@style/ToastDivider" />
+
+ <Button
+ android:id="@+id/toast_button"
+ style="@style/ToastButton"
+ android:drawableLeft="@drawable/switch_button_icon"
+
+ tools:text="Open" />
+
+ </LinearLayout>
+</FrameLayout> \ No newline at end of file
diff --git a/mobile/android/base/resources/layout/tab_strip.xml b/mobile/android/base/resources/layout/tab_strip.xml
new file mode 100644
index 000000000..fd9d88555
--- /dev/null
+++ b/mobile/android/base/resources/layout/tab_strip.xml
@@ -0,0 +1,10 @@
+<?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/. -->
+
+<org.mozilla.gecko.tabs.TabStrip
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@color/text_and_tabs_tray_grey"/>
diff --git a/mobile/android/base/resources/layout/tab_strip_inner.xml b/mobile/android/base/resources/layout/tab_strip_inner.xml
new file mode 100644
index 000000000..8e7824818
--- /dev/null
+++ b/mobile/android/base/resources/layout/tab_strip_inner.xml
@@ -0,0 +1,28 @@
+<?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/. -->
+
+<merge xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:gecko="http://schemas.android.com/apk/res-auto">
+
+ <org.mozilla.gecko.tabs.TabStripView
+ android:id="@+id/tab_strip"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:paddingTop="8dp"/>
+
+ <!-- The right margin creates a "dead area" on the right side of the button
+ which we compensate for with a touch delegate. See TabStrip -->
+ <org.mozilla.gecko.widget.themed.ThemedImageButton
+ android:id="@+id/add_tab"
+ style="@style/UrlBar.ImageButton"
+ android:layout_width="@dimen/tablet_tab_strip_height"
+ android:src="@drawable/tab_new"
+ gecko:drawableTintList="@color/tab_new_tab_strip_colors"
+ android:contentDescription="@string/new_tab"
+ android:layout_marginRight="9dp"
+ android:background="@drawable/tab_strip_button"/>
+
+</merge>
diff --git a/mobile/android/base/resources/layout/tab_strip_item.xml b/mobile/android/base/resources/layout/tab_strip_item.xml
new file mode 100644
index 000000000..73412458d
--- /dev/null
+++ b/mobile/android/base/resources/layout/tab_strip_item.xml
@@ -0,0 +1,13 @@
+<?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/. -->
+
+<!-- The paddings are asymmetric here to compensate the padding around the
+ the close button within the TabStripItemView -->
+<org.mozilla.gecko.tabs.TabStripItemView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="@dimen/tablet_tab_strip_item_width"
+ android:layout_height="match_parent"
+ android:paddingLeft="28dp"
+ android:paddingRight="12dp"/>
diff --git a/mobile/android/base/resources/layout/tab_strip_item_view.xml b/mobile/android/base/resources/layout/tab_strip_item_view.xml
new file mode 100644
index 000000000..2f56b7702
--- /dev/null
+++ b/mobile/android/base/resources/layout/tab_strip_item_view.xml
@@ -0,0 +1,42 @@
+<?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/. -->
+
+<merge xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:gecko="http://schemas.android.com/apk/res-auto">
+
+ <ImageView
+ android:id="@+id/favicon"
+ android:layout_width="@dimen/browser_toolbar_favicon_size"
+ android:layout_height="match_parent"
+ android:layout_marginRight="8dp"
+ android:scaleType="centerInside"
+ android:duplicateParentState="true"/>
+
+ <org.mozilla.gecko.widget.FadedSingleColorTextView
+ android:id="@+id/title"
+ android:layout_width="0dip"
+ android:layout_height="match_parent"
+ android:layout_weight="1.0"
+ android:layout_marginRight="-5dp"
+ android:drawablePadding="6dp"
+ android:gravity="center_vertical"
+ android:textSize="14sp"
+ android:ellipsize="end"
+ android:textColor="@color/tab_strip_item_title"
+ android:maxLines="1"
+ gecko:fadeWidth="30dip"
+ android:duplicateParentState="true"/>
+
+ <org.mozilla.gecko.widget.themed.ThemedImageButton
+ android:id="@+id/close"
+ android:layout_width="40dip"
+ android:layout_height="match_parent"
+ android:background="@android:color/transparent"
+ android:scaleType="center"
+ android:contentDescription="@string/close_tab"
+ android:src="@drawable/tab_close"
+ android:duplicateParentState="true"/>
+
+</merge>
diff --git a/mobile/android/base/resources/layout/tabs_counter.xml b/mobile/android/base/resources/layout/tabs_counter.xml
new file mode 100644
index 000000000..e41081251
--- /dev/null
+++ b/mobile/android/base/resources/layout/tabs_counter.xml
@@ -0,0 +1,17 @@
+<?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/. -->
+
+<org.mozilla.gecko.widget.themed.ThemedTextView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="24dip"
+ android:layout_height="24dip"
+ android:layout_margin="12dip"
+ android:paddingTop="2dip"
+ android:paddingLeft="4dip"
+ android:background="@drawable/tabs_count_foreground"
+ android:textAppearance="@style/TextAppearance.Micro"
+ android:textColor="@color/text_and_tabs_tray_grey"
+ android:textStyle="bold"
+ android:duplicateParentState="true"
+ android:gravity="center"/>
diff --git a/mobile/android/base/resources/layout/tabs_layout_item_view.xml b/mobile/android/base/resources/layout/tabs_layout_item_view.xml
new file mode 100644
index 000000000..75f35e467
--- /dev/null
+++ b/mobile/android/base/resources/layout/tabs_layout_item_view.xml
@@ -0,0 +1,71 @@
+<?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/. -->
+
+<org.mozilla.gecko.tabs.TabsLayoutItemView xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:gecko="http://schemas.android.com/apk/res-auto"
+ style="@style/TabsItem"
+ android:id="@+id/info"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:gravity="center"
+ android:orientation="vertical">
+
+ <LinearLayout android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:duplicateParentState="true"
+ android:paddingLeft="@dimen/tab_highlight_stroke_width"
+ android:paddingRight="@dimen/tab_highlight_stroke_width"
+ android:paddingBottom="@dimen/tab_highlight_stroke_width">
+
+ <org.mozilla.gecko.widget.FadedSingleColorTextView
+ android:id="@+id/title"
+ android:layout_width="0dip"
+ android:layout_height="wrap_content"
+ android:layout_weight="1.0"
+ style="@style/TabLayoutItemTextAppearance"
+ android:textSize="14sp"
+ android:textColor="@color/tab_item_title"
+ android:singleLine="true"
+ android:duplicateParentState="true"
+ gecko:fadeWidth="15dp"
+ android:paddingRight="5dp"
+ android:drawablePadding="6dp"/>
+
+ <!-- Use of baselineAlignBottom only supported from API 11+ - if this needs to work on lower API versions
+ we'll need to override getBaseLine() and return image height, but we assume this won't happen -->
+ <ImageView android:id="@+id/close"
+ style="@style/TabsItemClose"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:scaleType="center"
+ android:baselineAlignBottom="true"
+ android:background="@android:color/transparent"
+ android:contentDescription="@string/close_tab"
+ android:src="@drawable/tab_item_close_button"
+ android:duplicateParentState="true"/>
+
+ </LinearLayout>
+
+ <!-- We set state_private on this View dynamically in TabsGridLayout. -->
+ <org.mozilla.gecko.widget.TabThumbnailWrapper
+ android:id="@+id/wrapper"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:padding="@dimen/tab_highlight_stroke_width"
+ android:background="@drawable/tab_thumbnail"
+ android:duplicateParentState="true"
+ android:clipToPadding="false">
+
+ <org.mozilla.gecko.tabs.TabsPanelThumbnailView android:id="@+id/thumbnail"
+ android:layout_width="@dimen/tab_thumbnail_width"
+ android:layout_height="@dimen/tab_thumbnail_height"
+ android:elevation="2dp"
+ android:outlineProvider="bounds"
+ />
+
+ </org.mozilla.gecko.widget.TabThumbnailWrapper>
+
+</org.mozilla.gecko.tabs.TabsLayoutItemView>
diff --git a/mobile/android/base/resources/layout/tabs_list_item_view.xml b/mobile/android/base/resources/layout/tabs_list_item_view.xml
new file mode 100644
index 000000000..8c81e8095
--- /dev/null
+++ b/mobile/android/base/resources/layout/tabs_list_item_view.xml
@@ -0,0 +1,68 @@
+<?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/. -->
+
+<org.mozilla.gecko.tabs.TabsLayoutItemView xmlns:android="http://schemas.android.com/apk/res/android"
+ style="@style/TabsItem"
+ android:focusable="true"
+ android:id="@+id/info"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:paddingLeft="12dip"
+ android:paddingTop="6dip"
+ android:paddingBottom="6dip"
+ android:background="@drawable/tab_row">
+
+ <!-- We set state_private on this View dynamically in TabsListLayout. -->
+ <org.mozilla.gecko.widget.TabThumbnailWrapper
+ android:id="@+id/wrapper"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:padding="4dip"
+ android:background="@drawable/tab_thumbnail"
+ android:duplicateParentState="true"
+ android:clipToPadding="false">
+
+ <org.mozilla.gecko.tabs.TabsPanelThumbnailView android:id="@+id/thumbnail"
+ android:layout_width="@dimen/tab_thumbnail_width"
+ android:layout_height="@dimen/tab_thumbnail_height"
+ android:elevation="2dp"
+ android:outlineProvider="bounds"/>
+
+ </org.mozilla.gecko.widget.TabThumbnailWrapper>
+
+ <LinearLayout android:layout_width="0dip"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ android:layout_weight="1.0"
+ android:paddingTop="4dip"
+ android:paddingLeft="8dip"
+ android:paddingRight="4dip"
+ android:duplicateParentState="true">
+
+ <TextView android:id="@+id/title"
+ android:layout_width="match_parent"
+ android:layout_height="0dip"
+ android:layout_weight="1.0"
+ style="@style/TabLayoutItemTextAppearance"
+ android:textColor="@color/tab_item_title"
+ android:textSize="14sp"
+ android:gravity="center_vertical"
+ android:singleLine="false"
+ android:maxLines="4"
+ android:drawablePadding="6dp"
+ android:duplicateParentState="true"/>
+
+ </LinearLayout>
+
+ <ImageView android:id="@+id/close"
+ style="@style/TabsItemClose"
+ android:layout_width="34dip"
+ android:layout_height="match_parent"
+ android:scaleType="center"
+ android:contentDescription="@string/close_tab"
+ android:src="@drawable/tab_item_close_button"
+ android:duplicateParentState="true"/>
+
+</org.mozilla.gecko.tabs.TabsLayoutItemView> \ No newline at end of file
diff --git a/mobile/android/base/resources/layout/tabs_panel_default.xml b/mobile/android/base/resources/layout/tabs_panel_default.xml
new file mode 100644
index 000000000..a5ef871e8
--- /dev/null
+++ b/mobile/android/base/resources/layout/tabs_panel_default.xml
@@ -0,0 +1,100 @@
+<?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/. -->
+
+<merge xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:gecko="http://schemas.android.com/apk/res-auto">
+
+ <!-- The layout_height value is used in TabsPanel.getTabsLayoutContainerHeight
+ and as an offset in PrivateTabsPanel: if you change it here,
+ change it there! -->
+ <RelativeLayout android:id="@+id/tabs_panel_header"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/browser_toolbar_height">
+
+ <view class="org.mozilla.gecko.tabs.TabsPanel$TabsPanelToolbar"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/browser_toolbar_height"
+ android:background="@color/text_and_tabs_tray_grey">
+
+ <org.mozilla.gecko.tabs.TabPanelBackButton
+ android:id="@+id/nav_back"
+ android:layout_width="@dimen/tabs_panel_button_width"
+ android:layout_height="match_parent"
+ android:minWidth="@dimen/tabs_panel_button_width"
+ android:src="@drawable/tabs_panel_nav_back"
+ android:contentDescription="@string/back"
+ android:background="@drawable/action_bar_button_inverse"
+ gecko:dividerVerticalPadding="@dimen/tab_panel_divider_vertical_padding"
+ gecko:rightDivider="@drawable/tab_indicator_divider"/>
+
+ <org.mozilla.gecko.widget.IconTabWidget android:id="@+id/tab_widget"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:tabStripEnabled="false"
+ android:divider="@drawable/tab_indicator_divider"
+ android:dividerPadding="@dimen/tab_panel_divider_vertical_padding"
+ android:layout="@layout/tabs_panel_indicator"/>
+
+ <View android:layout_width="0dip"
+ android:layout_height="match_parent"
+ android:layout_weight="1.0"/>
+
+ <ImageButton android:id="@+id/add_tab"
+ style="@style/UrlBar.ImageButton"
+ android:layout_width="@dimen/tabs_panel_button_width"
+ android:padding="@dimen/browser_toolbar_button_padding"
+ android:src="@drawable/tab_new"
+ android:contentDescription="@string/new_tab"
+ android:background="@drawable/action_bar_button_inverse"/>
+
+ <FrameLayout android:id="@+id/menu"
+ style="@style/UrlBar.ImageButton"
+ android:layout_width="@dimen/tabs_panel_button_width"
+ android:background="@drawable/action_bar_button_inverse"
+ android:contentDescription="@string/menu">
+
+ <ImageView
+ style="@style/UrlBar.ImageButton"
+ android:layout_width="wrap_content"
+ android:layout_height="@dimen/browser_toolbar_menu_icon_height"
+ android:layout_gravity="center"
+ android:scaleType="centerInside"
+ android:src="@drawable/menu"
+ android:tint="@color/tabs_tray_icon_grey"/>
+
+ </FrameLayout>
+
+ </view>
+
+ <View android:layout_width="match_parent"
+ android:layout_height="2dp"
+ android:layout_alignParentBottom="true"
+ android:background="#1A000000"/>
+
+ </RelativeLayout>
+
+ <FrameLayout
+ android:id="@+id/tabs_container"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <view class="org.mozilla.gecko.tabs.TabsPanel$TabsLayout"
+ android:id="@+id/normal_tabs"
+ style="@style/TabsLayout"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:choiceMode="singleChoice"
+ android:visibility="gone"
+ gecko:tabs="tabs_normal"/>
+
+ <org.mozilla.gecko.tabs.PrivateTabsPanel
+ android:id="@+id/private_tabs_panel"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:visibility="gone"/>
+
+ </FrameLayout>
+
+</merge>
diff --git a/mobile/android/base/resources/layout/tabs_panel_indicator.xml b/mobile/android/base/resources/layout/tabs_panel_indicator.xml
new file mode 100644
index 000000000..64c9d4afc
--- /dev/null
+++ b/mobile/android/base/resources/layout/tabs_panel_indicator.xml
@@ -0,0 +1,13 @@
+<?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/. -->
+
+<org.mozilla.gecko.widget.themed.ThemedImageButton
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="@dimen/tabs_panel_indicator_width"
+ android:layout_height="@dimen/browser_toolbar_height"
+ android:minWidth="@dimen/tabs_panel_indicator_width"
+ android:paddingTop="@dimen/browser_toolbar_button_padding"
+ android:paddingBottom="@dimen/browser_toolbar_button_padding"
+ android:background="@drawable/tabs_panel_indicator"/>
diff --git a/mobile/android/base/resources/layout/tabs_panel_view.xml b/mobile/android/base/resources/layout/tabs_panel_view.xml
new file mode 100644
index 000000000..1f70b28f5
--- /dev/null
+++ b/mobile/android/base/resources/layout/tabs_panel_view.xml
@@ -0,0 +1,14 @@
+<?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/. -->
+
+<!-- The tabs panel is initial hidden on startup. It will be made
+ visible when the user activates it. See TabsPanel.show() -->
+<org.mozilla.gecko.tabs.TabsPanel xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/tabs_panel"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@color/text_and_tabs_tray_grey"
+ android:orientation="vertical"
+ android:visibility="invisible"/>
diff --git a/mobile/android/base/resources/layout/toolbar_display_layout.xml b/mobile/android/base/resources/layout/toolbar_display_layout.xml
new file mode 100644
index 000000000..4caacb379
--- /dev/null
+++ b/mobile/android/base/resources/layout/toolbar_display_layout.xml
@@ -0,0 +1,52 @@
+<?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/. -->
+
+<merge xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:gecko="http://schemas.android.com/apk/res-auto">
+
+ <!-- The site security icon is misaligned with the page title so
+ we add a bottom margin to align their bottoms.
+ Site security icon must have exact position and size as search icon in
+ edit layout -->
+ <ImageButton android:id="@+id/site_security"
+ style="@style/UrlBar.ImageButton"
+ android:layout_width="@dimen/browser_toolbar_site_security_width"
+ android:layout_height="@dimen/browser_toolbar_site_security_height"
+ android:scaleType="fitCenter"
+ android:layout_marginRight="@dimen/browser_toolbar_site_security_margin_right"
+ android:layout_marginBottom="@dimen/browser_toolbar_site_security_margin_bottom"
+ android:paddingLeft="@dimen/browser_toolbar_site_security_padding_horizontal"
+ android:paddingRight="@dimen/browser_toolbar_site_security_padding_horizontal"
+ android:paddingTop="@dimen/browser_toolbar_site_security_padding_vertical"
+ android:paddingBottom="@dimen/browser_toolbar_site_security_padding_vertical"
+ android:src="@drawable/site_security_level"
+ android:contentDescription="@string/site_security"
+ android:layout_gravity="center_vertical" />
+
+ <org.mozilla.gecko.widget.FadedMultiColorTextView
+ android:id="@+id/url_bar_title"
+ style="@style/UrlBar.Title"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_weight="1.0"
+ gecko:fadeWidth="40dip"
+ gecko:fadeBackgroundColor="@color/toolbar_display_layout_bg"
+ gecko:autoUpdateTheme="false"/>
+
+ <org.mozilla.gecko.toolbar.PageActionLayout android:id="@+id/page_action_layout"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:visibility="gone"
+ android:orientation="horizontal"/>
+
+ <ImageButton android:id="@+id/stop"
+ android:layout_width="@dimen/page_action_button_width"
+ android:layout_height="match_parent"
+ android:src="@drawable/urlbar_stop"
+ android:contentDescription="@string/stop"
+ android:background="#00ffffff"
+ android:visibility="gone"/>
+
+</merge>
diff --git a/mobile/android/base/resources/layout/toolbar_edit_layout.xml b/mobile/android/base/resources/layout/toolbar_edit_layout.xml
new file mode 100644
index 000000000..c3d27fadf
--- /dev/null
+++ b/mobile/android/base/resources/layout/toolbar_edit_layout.xml
@@ -0,0 +1,49 @@
+<?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/. -->
+
+<merge xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:gecko="http://schemas.android.com/apk/res-auto">
+
+ <!-- Search icon must have exact position and size as site security in
+ display layout -->
+ <ImageView android:id="@+id/search_icon"
+ android:layout_width="@dimen/browser_toolbar_site_security_width"
+ android:layout_height="@dimen/browser_toolbar_site_security_height"
+ android:layout_marginBottom="@dimen/browser_toolbar_site_security_margin_bottom"
+ android:layout_marginRight="@dimen/browser_toolbar_site_security_margin_right"
+ android:paddingBottom="@dimen/browser_toolbar_site_security_padding_vertical"
+ android:paddingLeft="@dimen/browser_toolbar_site_security_padding_horizontal"
+ android:paddingRight="@dimen/browser_toolbar_site_security_padding_horizontal"
+ android:paddingTop="@dimen/browser_toolbar_site_security_padding_vertical"
+ android:scaleType="fitCenter"
+ android:src="@drawable/search_icon_inactive"
+ android:visibility="gone"/>
+
+ <org.mozilla.gecko.toolbar.ToolbarEditText
+ android:id="@+id/url_edit_text"
+ style="@style/UrlBar.Title"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_weight="1.0"
+ android:inputType="textUri|textNoSuggestions"
+ android:imeOptions="actionGo|flagNoExtractUi|flagNoFullscreen"
+ android:selectAllOnFocus="true"
+ android:contentDescription="@string/url_bar_default_text"
+ android:paddingRight="8dp"
+ gecko:autoUpdateTheme="false"/>
+
+ <ImageButton android:id="@+id/qrcode"
+ android:layout_width="@dimen/page_action_button_width"
+ android:layout_height="match_parent"
+ android:src="@drawable/ab_qrcode"
+ android:background="@android:color/transparent"/>
+
+ <ImageButton android:id="@+id/mic"
+ android:layout_width="@dimen/page_action_button_width"
+ android:layout_height="match_parent"
+ android:src="@drawable/ab_mic"
+ android:background="@android:color/transparent"/>
+
+</merge>
diff --git a/mobile/android/base/resources/layout/top_sites_grid_item_view.xml b/mobile/android/base/resources/layout/top_sites_grid_item_view.xml
new file mode 100644
index 000000000..6a76514a3
--- /dev/null
+++ b/mobile/android/base/resources/layout/top_sites_grid_item_view.xml
@@ -0,0 +1,25 @@
+<?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/. -->
+
+<merge xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:gecko="http://schemas.android.com/apk/res-auto">
+
+ <org.mozilla.gecko.home.TopSitesThumbnailView
+ android:id="@+id/thumbnail"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentTop="true"/>
+
+ <org.mozilla.gecko.widget.FadedSingleColorTextView
+ android:id="@+id/title"
+ style="@style/Widget.TopSitesGridItemTitle"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_below="@id/thumbnail"
+ android:duplicateParentState="true"
+ android:drawablePadding="4dip"
+ gecko:fadeWidth="20dip"/>
+
+</merge>
diff --git a/mobile/android/base/resources/layout/tracking_protection_prompt.xml b/mobile/android/base/resources/layout/tracking_protection_prompt.xml
new file mode 100644
index 000000000..5fc993b09
--- /dev/null
+++ b/mobile/android/base/resources/layout/tracking_protection_prompt.xml
@@ -0,0 +1,106 @@
+<?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/. -->
+
+<merge
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:id="@+id/tracking_protection_container"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:clipChildren="false"
+ android:clipToPadding="false">
+
+ <LinearLayout
+ android:id="@+id/tracking_protection_inner_container"
+ android:layout_width="@dimen/overlay_prompt_container_width"
+ android:layout_height="wrap_content"
+ android:layout_gravity="bottom|center"
+ android:background="@android:color/white"
+ android:orientation="vertical"
+ android:paddingBottom="40dp">
+
+ <ScrollView android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_weight="1"
+ android:fillViewport="true"
+ android:fadeScrollbars="false">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+
+ <ImageView android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:src="@drawable/tracking_protection_toolbar_illustration"
+ android:layout_gravity="center"
+ android:layout_marginTop="40dp"
+ android:layout_marginBottom="20dp"/>
+
+ <TextView
+ android:id="@+id/title"
+ android:layout_width="@dimen/overlay_prompt_content_width"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:fontFamily="sans-serif-light"
+ android:gravity="center_horizontal"
+ android:text="@string/tracking_protection_prompt_title"
+ android:textColor="@color/text_and_tabs_tray_grey"
+ android:textSize="20sp"
+
+ tools:text="Now with Tracking Protection"/>
+
+ <TextView
+ android:id="@+id/text"
+ android:layout_width="@dimen/overlay_prompt_content_width"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:gravity="center"
+ android:lineSpacingMultiplier="1.25"
+ android:paddingTop="20dp"
+ android:text="@string/tracking_protection_prompt_text"
+ android:textColor="@color/placeholder_grey"
+ android:textSize="16sp"
+
+ tools:text="Actively block tracking elements so you don't have to worry."/>
+
+ <TextView
+ android:id="@+id/link_text"
+ android:layout_width="@dimen/overlay_prompt_content_width"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:gravity="center"
+ android:paddingBottom="30dp"
+ android:paddingTop="20dp"
+ android:text="@string/tracking_protection_prompt_tip_text"
+ android:textColor="@color/link_blue"
+ android:textSize="14sp"
+
+ tools:text="Visit Privacy settings to learn more"/>
+
+ </LinearLayout>
+
+ </ScrollView>
+
+ <Button
+ android:id="@+id/ok_button"
+ style="@style/Widget.BaseButton"
+ android:layout_width="match_parent"
+
+ android:layout_height="52dp"
+ android:layout_gravity="center"
+ android:background="@drawable/button_background_action_orange_round"
+ android:text="@string/tracking_protection_prompt_action_button"
+ android:textColor="@android:color/white"
+ android:textSize="16sp"
+
+ android:layout_marginLeft="32dp"
+ android:layout_marginRight="32dp"
+ tools:text="Got it"/>
+
+ </LinearLayout>
+
+</merge>
diff --git a/mobile/android/base/resources/layout/two_line_folder_row.xml b/mobile/android/base/resources/layout/two_line_folder_row.xml
new file mode 100644
index 000000000..3ca52749f
--- /dev/null
+++ b/mobile/android/base/resources/layout/two_line_folder_row.xml
@@ -0,0 +1,43 @@
+<?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/. -->
+
+<merge xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ xmlns:gecko="http://schemas.android.com/apk/res-auto"
+ tools:context=".BrowserApp">
+
+ <ImageView android:id="@+id/icon"
+ android:src="@drawable/folder_closed"
+ android:layout_width="24dp"
+ android:layout_height="18dp"
+ android:scaleType="fitXY"
+ android:layout_margin="20dp"/>
+
+ <LinearLayout android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:layout_gravity="center_vertical"
+ android:paddingRight="10dp"
+ android:orientation="vertical">
+
+ <org.mozilla.gecko.widget.FadedSingleColorTextView
+ android:id="@+id/title"
+ style="@style/Widget.TwoLinePageRow.Title"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ gecko:fadeWidth="90dp"
+ tools:text="This is a long test title"/>
+
+ <org.mozilla.gecko.widget.FadedSingleColorTextView android:id="@+id/subtitle"
+ style="@style/Widget.TwoLinePageRow.Url"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:visibility="gone"
+ gecko:fadeWidth="90dp"
+ tools:text="1 items"/>
+
+ </LinearLayout>
+
+</merge>
diff --git a/mobile/android/base/resources/layout/two_line_page_row.xml b/mobile/android/base/resources/layout/two_line_page_row.xml
new file mode 100644
index 000000000..344f717d6
--- /dev/null
+++ b/mobile/android/base/resources/layout/two_line_page_row.xml
@@ -0,0 +1,51 @@
+<?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/. -->
+
+<merge xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ xmlns:gecko="http://schemas.android.com/apk/res-auto"
+ tools:context=".BrowserApp">
+
+ <org.mozilla.gecko.widget.FaviconView android:id="@+id/icon"
+ android:layout_width="@dimen/favicon_bg"
+ android:layout_height="@dimen/favicon_bg"
+ android:layout_margin="16dp"
+ tools:background="@drawable/favicon_globe"/>
+
+ <LinearLayout android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:layout_gravity="center_vertical"
+ android:paddingRight="10dp"
+ android:orientation="vertical">
+
+ <org.mozilla.gecko.widget.FadedSingleColorTextView
+ android:id="@+id/title"
+ style="@style/Widget.TwoLinePageRow.Title"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ gecko:fadeWidth="90dp"
+ tools:text="This is a long test title"/>
+
+ <org.mozilla.gecko.widget.FadedSingleColorTextView android:id="@+id/url"
+ style="@style/Widget.TwoLinePageRow.Url"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:drawablePadding="5dp"
+ android:maxLength="1024"
+ gecko:fadeWidth="90dp"
+ tools:text="http://test.com/test"
+ tools:drawableLeft="@drawable/ic_url_bar_tab"/>
+
+ </LinearLayout>
+
+ <ImageView android:id="@+id/status_icon_bookmark"
+ android:layout_width="20dp"
+ android:layout_height="20dp"
+ android:layout_gravity="center"
+ android:visibility="gone"
+ android:src="@drawable/star_blue"/>
+
+</merge>
diff --git a/mobile/android/base/resources/layout/validation_message.xml b/mobile/android/base/resources/layout/validation_message.xml
new file mode 100644
index 000000000..abcc2ef1e
--- /dev/null
+++ b/mobile/android/base/resources/layout/validation_message.xml
@@ -0,0 +1,42 @@
+<?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/. -->
+
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="wrap_content"
+ android:layout_height="50dip">
+
+ <TextView android:id="@+id/validation_message_text"
+ android:layout_width="wrap_content"
+ android:layout_height="40dip"
+ android:layout_marginTop="6dip"
+ android:paddingLeft="20dp"
+ android:paddingRight="20dp"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ android:textColor="@color/validation_message_text"
+ android:background="@drawable/validation_bg"
+ android:gravity="center"
+ android:singleLine="true"
+ android:scrollHorizontally="true"
+ android:ellipsize="marquee"/>
+
+ <ImageView android:id="@+id/validation_message_arrow"
+ android:layout_width="24dip"
+ android:layout_height="10dip"
+ android:layout_centerHorizontal="true"
+ android:layout_alignParentTop="true"
+ android:src="@drawable/validation_arrow"
+ android:scaleType="fitXY"/>
+
+ <ImageView android:id="@+id/validation_message_arrow_inverted"
+ android:layout_width="24dip"
+ android:layout_height="10dip"
+ android:layout_centerHorizontal="true"
+ android:layout_marginTop="35dip"
+ android:layout_alignParentTop="true"
+ android:src="@drawable/validation_arrow_inverted"
+ android:scaleType="fitXY"
+ android:visibility="gone"/>
+
+</RelativeLayout>
diff --git a/mobile/android/base/resources/layout/zoomed_view.xml b/mobile/android/base/resources/layout/zoomed_view.xml
new file mode 100644
index 000000000..fd5684303
--- /dev/null
+++ b/mobile/android/base/resources/layout/zoomed_view.xml
@@ -0,0 +1,51 @@
+<?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/.
+-->
+
+<org.mozilla.gecko.ZoomedView xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:gecko="http://schemas.android.com/apk/res-auto"
+ android:id="@+id/zoomed_view_container"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@drawable/dropshadow"
+ android:padding="@dimen/drawable_dropshadow_size"
+ android:visibility="gone">
+
+ <RelativeLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentTop="true"
+ android:background="@drawable/toolbar_grey_round">
+ <!--
+ Zoom factor button is invisible by default. Set ui.zoomedview.simplified to false
+ in order to display the button in the zoomed view tool bar
+ -->
+ <TextView
+ android:id="@+id/change_zoom_factor"
+ android:layout_width="wrap_content"
+ android:layout_height="@dimen/zoomed_view_toolbar_height"
+ android:background="@android:color/transparent"
+ android:padding="12dip"
+ android:layout_alignLeft="@+id/zoomed_image_view"
+ android:textSize="16sp"
+ android:textColor="@color/text_and_tabs_tray_grey"
+ android:visibility="invisible"/>
+ <ImageView
+ android:id="@+id/dialog_close"
+ android:scaleType="center"
+ android:layout_width="@dimen/zoomed_view_toolbar_height"
+ android:layout_height="@dimen/zoomed_view_toolbar_height"
+ android:layout_alignRight="@id/zoomed_image_view"
+ android:src="@drawable/close_edit_mode_selector"/>
+ <ImageView
+ android:id="@id/zoomed_image_view"
+ android:layout_below="@id/change_zoom_factor"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"/>
+ </RelativeLayout>
+
+</org.mozilla.gecko.ZoomedView> \ No newline at end of file