Commit c4aceb16 authored by Evan Stade's avatar Evan Stade Committed by Commit Bot

Move Contacts Picker to //components/browser_ui/contacts_picker

Bug: 1016938
Change-Id: Ib3a86b4a3e3c0356c292ce55291ef0487e94c5ae
Skip-Translation-Screenshots-Check: True
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2325272
Commit-Queue: Evan Stade <estade@chromium.org>
Reviewed-by: default avatarWill Harris <wfh@chromium.org>
Reviewed-by: default avatarDaniel Cheng <dcheng@chromium.org>
Reviewed-by: default avatarLijin Shen <lazzzis@google.com>
Reviewed-by: default avatarTed Choc <tedchoc@chromium.org>
Reviewed-by: default avatarFinnur Thorarinsson <finnur@chromium.org>
Cr-Commit-Position: refs/heads/master@{#801610}
parent e2cefcff
...@@ -350,6 +350,7 @@ android_library("chrome_java") { ...@@ -350,6 +350,7 @@ android_library("chrome_java") {
"//components/browser_ui/android/bottomsheet:manager_java", "//components/browser_ui/android/bottomsheet:manager_java",
"//components/browser_ui/banners/android:java", "//components/browser_ui/banners/android:java",
"//components/browser_ui/client_certificate/android:java", "//components/browser_ui/client_certificate/android:java",
"//components/browser_ui/contacts_picker/android:java",
"//components/browser_ui/display_cutout/android:java", "//components/browser_ui/display_cutout/android:java",
"//components/browser_ui/http_auth/android:java", "//components/browser_ui/http_auth/android:java",
"//components/browser_ui/media/android:java", "//components/browser_ui/media/android:java",
...@@ -538,7 +539,6 @@ android_library("chrome_java") { ...@@ -538,7 +539,6 @@ android_library("chrome_java") {
"//components/payments/content/android:method_strings_generated_srcjar", "//components/payments/content/android:method_strings_generated_srcjar",
"//components/search_engines:search_engine_type_java", "//components/search_engines:search_engine_type_java",
"//components/ui_metrics:ui_metrics_enums_java", "//components/ui_metrics:ui_metrics_enums_java",
"//content/public/browser:contacts_picker_properties_requested_javagen",
"//net:effective_connection_type_java", "//net:effective_connection_type_java",
] ]
...@@ -1023,6 +1023,7 @@ android_library("chrome_test_java") { ...@@ -1023,6 +1023,7 @@ android_library("chrome_test_java") {
"//components/bookmarks/common/android:bookmarks_java", "//components/bookmarks/common/android:bookmarks_java",
"//components/browser_ui/android/bottomsheet:java", "//components/browser_ui/android/bottomsheet:java",
"//components/browser_ui/android/bottomsheet/test:java", "//components/browser_ui/android/bottomsheet/test:java",
"//components/browser_ui/contacts_picker/android:javatests",
"//components/browser_ui/display_cutout/android:java", "//components/browser_ui/display_cutout/android:java",
"//components/browser_ui/media/android:java", "//components/browser_ui/media/android:java",
"//components/browser_ui/modaldialog/android:java", "//components/browser_ui/modaldialog/android:java",
......
...@@ -19,6 +19,7 @@ include_rules = [ ...@@ -19,6 +19,7 @@ include_rules = [
"+chrome/browser/webauthn/android", "+chrome/browser/webauthn/android",
"+components/browser_ui/android/bottomsheet", "+components/browser_ui/android/bottomsheet",
"+components/browser_ui/banners/android", "+components/browser_ui/banners/android",
"+components/browser_ui/contacts_picker/android",
"+components/browser_ui/display_cutout/android", "+components/browser_ui/display_cutout/android",
"+components/browser_ui/media/android", "+components/browser_ui/media/android",
"+components/browser_ui/modaldialog/android", "+components/browser_ui/modaldialog/android",
......
...@@ -42,7 +42,6 @@ chrome_java_resources = [ ...@@ -42,7 +42,6 @@ chrome_java_resources = [
"java/res/drawable-hdpi/btn_normal_tabs.png", "java/res/drawable-hdpi/btn_normal_tabs.png",
"java/res/drawable-hdpi/btn_right.png", "java/res/drawable-hdpi/btn_right.png",
"java/res/drawable-hdpi/btn_star.png", "java/res/drawable-hdpi/btn_star.png",
"java/res/drawable-hdpi/btn_star_filled.png",
"java/res/drawable-hdpi/btn_suggestion_refine.png", "java/res/drawable-hdpi/btn_suggestion_refine.png",
"java/res/drawable-hdpi/btn_tab_close_normal.png", "java/res/drawable-hdpi/btn_tab_close_normal.png",
"java/res/drawable-hdpi/btn_tabstrip_new_incognito_tab_normal.png", "java/res/drawable-hdpi/btn_tabstrip_new_incognito_tab_normal.png",
...@@ -191,7 +190,6 @@ chrome_java_resources = [ ...@@ -191,7 +190,6 @@ chrome_java_resources = [
"java/res/drawable-mdpi/btn_normal_tabs.png", "java/res/drawable-mdpi/btn_normal_tabs.png",
"java/res/drawable-mdpi/btn_right.png", "java/res/drawable-mdpi/btn_right.png",
"java/res/drawable-mdpi/btn_star.png", "java/res/drawable-mdpi/btn_star.png",
"java/res/drawable-mdpi/btn_star_filled.png",
"java/res/drawable-mdpi/btn_suggestion_refine.png", "java/res/drawable-mdpi/btn_suggestion_refine.png",
"java/res/drawable-mdpi/btn_tab_close_normal.png", "java/res/drawable-mdpi/btn_tab_close_normal.png",
"java/res/drawable-mdpi/btn_tabstrip_new_incognito_tab_normal.png", "java/res/drawable-mdpi/btn_tabstrip_new_incognito_tab_normal.png",
...@@ -324,7 +322,6 @@ chrome_java_resources = [ ...@@ -324,7 +322,6 @@ chrome_java_resources = [
"java/res/drawable-xhdpi/btn_normal_tabs.png", "java/res/drawable-xhdpi/btn_normal_tabs.png",
"java/res/drawable-xhdpi/btn_right.png", "java/res/drawable-xhdpi/btn_right.png",
"java/res/drawable-xhdpi/btn_star.png", "java/res/drawable-xhdpi/btn_star.png",
"java/res/drawable-xhdpi/btn_star_filled.png",
"java/res/drawable-xhdpi/btn_suggestion_refine.png", "java/res/drawable-xhdpi/btn_suggestion_refine.png",
"java/res/drawable-xhdpi/btn_tab_close_normal.png", "java/res/drawable-xhdpi/btn_tab_close_normal.png",
"java/res/drawable-xhdpi/btn_tabstrip_new_incognito_tab_normal.png", "java/res/drawable-xhdpi/btn_tabstrip_new_incognito_tab_normal.png",
...@@ -436,7 +433,6 @@ chrome_java_resources = [ ...@@ -436,7 +433,6 @@ chrome_java_resources = [
"java/res/drawable-xxhdpi/btn_normal_tabs.png", "java/res/drawable-xxhdpi/btn_normal_tabs.png",
"java/res/drawable-xxhdpi/btn_right.png", "java/res/drawable-xxhdpi/btn_right.png",
"java/res/drawable-xxhdpi/btn_star.png", "java/res/drawable-xxhdpi/btn_star.png",
"java/res/drawable-xxhdpi/btn_star_filled.png",
"java/res/drawable-xxhdpi/btn_suggestion_refine.png", "java/res/drawable-xxhdpi/btn_suggestion_refine.png",
"java/res/drawable-xxhdpi/btn_tab_close_normal.png", "java/res/drawable-xxhdpi/btn_tab_close_normal.png",
"java/res/drawable-xxhdpi/btn_tabstrip_new_incognito_tab_normal.png", "java/res/drawable-xxhdpi/btn_tabstrip_new_incognito_tab_normal.png",
...@@ -547,7 +543,6 @@ chrome_java_resources = [ ...@@ -547,7 +543,6 @@ chrome_java_resources = [
"java/res/drawable-xxxhdpi/btn_normal_tabs.png", "java/res/drawable-xxxhdpi/btn_normal_tabs.png",
"java/res/drawable-xxxhdpi/btn_right.png", "java/res/drawable-xxxhdpi/btn_right.png",
"java/res/drawable-xxxhdpi/btn_star.png", "java/res/drawable-xxxhdpi/btn_star.png",
"java/res/drawable-xxxhdpi/btn_star_filled.png",
"java/res/drawable-xxxhdpi/btn_suggestion_refine.png", "java/res/drawable-xxxhdpi/btn_suggestion_refine.png",
"java/res/drawable-xxxhdpi/btn_tab_close_normal.png", "java/res/drawable-xxxhdpi/btn_tab_close_normal.png",
"java/res/drawable-xxxhdpi/btn_tabstrip_new_incognito_tab_normal.png", "java/res/drawable-xxxhdpi/btn_tabstrip_new_incognito_tab_normal.png",
...@@ -641,7 +636,6 @@ chrome_java_resources = [ ...@@ -641,7 +636,6 @@ chrome_java_resources = [
"java/res/drawable-xxxhdpi/verify_checkmark.png", "java/res/drawable-xxxhdpi/verify_checkmark.png",
"java/res/drawable/accessibility_tab_switcher_divider.xml", "java/res/drawable/accessibility_tab_switcher_divider.xml",
"java/res/drawable/account_picker_background.xml", "java/res/drawable/account_picker_background.xml",
"java/res/drawable/address.xml",
"java/res/drawable/bg_white_dialog.xml", "java/res/drawable/bg_white_dialog.xml",
"java/res/drawable/bookmark_title_bar_shadow.xml", "java/res/drawable/bookmark_title_bar_shadow.xml",
"java/res/drawable/bookmark_widget_list_selector.xml", "java/res/drawable/bookmark_widget_list_selector.xml",
...@@ -661,9 +655,7 @@ chrome_java_resources = [ ...@@ -661,9 +655,7 @@ chrome_java_resources = [
"java/res/drawable/distilled_page_pref_background.xml", "java/res/drawable/distilled_page_pref_background.xml",
"java/res/drawable/distilled_page_prefs_button_bg.xml", "java/res/drawable/distilled_page_prefs_button_bg.xml",
"java/res/drawable/elo_card.xml", "java/res/drawable/elo_card.xml",
"java/res/drawable/email.xml",
"java/res/drawable/explore_sites_dense_tile_background.xml", "java/res/drawable/explore_sites_dense_tile_background.xml",
"java/res/drawable/face.xml",
"java/res/drawable/google_pay.xml", "java/res/drawable/google_pay.xml",
"java/res/drawable/google_pay_with_divider.xml", "java/res/drawable/google_pay_with_divider.xml",
"java/res/drawable/homepage_promo_illustration_vector.xml", "java/res/drawable/homepage_promo_illustration_vector.xml",
...@@ -749,7 +741,6 @@ chrome_java_resources = [ ...@@ -749,7 +741,6 @@ chrome_java_resources = [
"java/res/drawable/material_tooltip_background.xml", "java/res/drawable/material_tooltip_background.xml",
"java/res/drawable/mir_card.xml", "java/res/drawable/mir_card.xml",
"java/res/drawable/modern_toolbar_text_box_background_with_primary_color.xml", "java/res/drawable/modern_toolbar_text_box_background_with_primary_color.xml",
"java/res/drawable/names.xml",
"java/res/drawable/new_tab_icon.xml", "java/res/drawable/new_tab_icon.xml",
"java/res/drawable/password_check_warning.xml", "java/res/drawable/password_check_warning.xml",
"java/res/drawable/password_check_warning_dark_mode.xml", "java/res/drawable/password_check_warning_dark_mode.xml",
...@@ -773,7 +764,6 @@ chrome_java_resources = [ ...@@ -773,7 +764,6 @@ chrome_java_resources = [
"java/res/drawable/store_locally_tooltip_background.xml", "java/res/drawable/store_locally_tooltip_background.xml",
"java/res/drawable/switch_to_tab.xml", "java/res/drawable/switch_to_tab.xml",
"java/res/drawable/tab_indicator.xml", "java/res/drawable/tab_indicator.xml",
"java/res/drawable/telephone.xml",
"java/res/drawable/thumbnail_gradient_top_left.xml", "java/res/drawable/thumbnail_gradient_top_left.xml",
"java/res/drawable/thumbnail_gradient_top_right.xml", "java/res/drawable/thumbnail_gradient_top_right.xml",
"java/res/drawable/tile_view_hairline_border_background.xml", "java/res/drawable/tile_view_hairline_border_background.xml",
...@@ -833,17 +823,12 @@ chrome_java_resources = [ ...@@ -833,17 +823,12 @@ chrome_java_resources = [
"java/res/layout/bottom_toolbar_browsing.xml", "java/res/layout/bottom_toolbar_browsing.xml",
"java/res/layout/bottom_toolbar_menu_button.xml", "java/res/layout/bottom_toolbar_menu_button.xml",
"java/res/layout/bottom_toolbar_tab_switcher.xml", "java/res/layout/bottom_toolbar_tab_switcher.xml",
"java/res/layout/checkbox_layout.xml",
"java/res/layout/clear_browsing_data_button.xml", "java/res/layout/clear_browsing_data_button.xml",
"java/res/layout/clear_browsing_data_tabs.xml", "java/res/layout/clear_browsing_data_tabs.xml",
"java/res/layout/clear_browsing_important_dialog_listview.xml", "java/res/layout/clear_browsing_important_dialog_listview.xml",
"java/res/layout/compositor_view_holder.xml", "java/res/layout/compositor_view_holder.xml",
"java/res/layout/confirm_import_sync_data.xml", "java/res/layout/confirm_import_sync_data.xml",
"java/res/layout/confirm_important_sites_list_row.xml", "java/res/layout/confirm_important_sites_list_row.xml",
"java/res/layout/contact_view.xml",
"java/res/layout/contacts_list_item_view.xml",
"java/res/layout/contacts_picker_dialog.xml",
"java/res/layout/contacts_picker_toolbar.xml",
"java/res/layout/contextual_search_bar_banner_text_view.xml", "java/res/layout/contextual_search_bar_banner_text_view.xml",
"java/res/layout/contextual_search_caption_view.xml", "java/res/layout/contextual_search_caption_view.xml",
"java/res/layout/contextual_search_card_icon_view.xml", "java/res/layout/contextual_search_card_icon_view.xml",
...@@ -1014,7 +999,6 @@ chrome_java_resources = [ ...@@ -1014,7 +999,6 @@ chrome_java_resources = [
"java/res/layout/toolbar_tablet.xml", "java/res/layout/toolbar_tablet.xml",
"java/res/layout/top_sites_tile_view.xml", "java/res/layout/top_sites_tile_view.xml",
"java/res/layout/top_sites_tile_view_condensed.xml", "java/res/layout/top_sites_tile_view_condensed.xml",
"java/res/layout/top_view.xml",
"java/res/layout/update_menu_item.xml", "java/res/layout/update_menu_item.xml",
"java/res/layout/updating_gms_progress_view.xml", "java/res/layout/updating_gms_progress_view.xml",
"java/res/layout/url_action_container.xml", "java/res/layout/url_action_container.xml",
......
...@@ -345,17 +345,6 @@ chrome_java_sources = [ ...@@ -345,17 +345,6 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java", "java/src/org/chromium/chrome/browser/compositor/scene_layer/TabStripSceneLayer.java",
"java/src/org/chromium/chrome/browser/consent_auditor/ConsentAuditorBridge.java", "java/src/org/chromium/chrome/browser/consent_auditor/ConsentAuditorBridge.java",
"java/src/org/chromium/chrome/browser/contacts_picker/ChromePickerAdapter.java", "java/src/org/chromium/chrome/browser/contacts_picker/ChromePickerAdapter.java",
"java/src/org/chromium/chrome/browser/contacts_picker/CompressContactIconsWorkerTask.java",
"java/src/org/chromium/chrome/browser/contacts_picker/ContactDetails.java",
"java/src/org/chromium/chrome/browser/contacts_picker/ContactView.java",
"java/src/org/chromium/chrome/browser/contacts_picker/ContactViewHolder.java",
"java/src/org/chromium/chrome/browser/contacts_picker/ContactsFetcherWorkerTask.java",
"java/src/org/chromium/chrome/browser/contacts_picker/ContactsPickerDialog.java",
"java/src/org/chromium/chrome/browser/contacts_picker/ContactsPickerToolbar.java",
"java/src/org/chromium/chrome/browser/contacts_picker/FetchIconWorkerTask.java",
"java/src/org/chromium/chrome/browser/contacts_picker/PickerAdapter.java",
"java/src/org/chromium/chrome/browser/contacts_picker/PickerCategoryView.java",
"java/src/org/chromium/chrome/browser/contacts_picker/TopView.java",
"java/src/org/chromium/chrome/browser/content/ContentUtils.java", "java/src/org/chromium/chrome/browser/content/ContentUtils.java",
"java/src/org/chromium/chrome/browser/content_capture/ContentCaptureHistoryDeletionObserver.java", "java/src/org/chromium/chrome/browser/content_capture/ContentCaptureHistoryDeletionObserver.java",
"java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java", "java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuItem.java",
......
...@@ -102,8 +102,6 @@ chrome_test_java_sources = [ ...@@ -102,8 +102,6 @@ chrome_test_java_sources = [
"javatests/src/org/chromium/chrome/browser/compositor/layouts/MockLayoutHost.java", "javatests/src/org/chromium/chrome/browser/compositor/layouts/MockLayoutHost.java",
"javatests/src/org/chromium/chrome/browser/compositor/layouts/MockResourcesForLayout.java", "javatests/src/org/chromium/chrome/browser/compositor/layouts/MockResourcesForLayout.java",
"javatests/src/org/chromium/chrome/browser/compositor/overlays/strip/TabStripTest.java", "javatests/src/org/chromium/chrome/browser/compositor/overlays/strip/TabStripTest.java",
"javatests/src/org/chromium/chrome/browser/contacts_picker/ContactDetailsTest.java",
"javatests/src/org/chromium/chrome/browser/contacts_picker/ContactsPickerDialogTest.java",
"javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuTest.java", "javatests/src/org/chromium/chrome/browser/contextmenu/ContextMenuTest.java",
"javatests/src/org/chromium/chrome/browser/contextmenu/RevampedContextMenuHeaderViewTest.java", "javatests/src/org/chromium/chrome/browser/contextmenu/RevampedContextMenuHeaderViewTest.java",
"javatests/src/org/chromium/chrome/browser/contextmenu/RevampedContextMenuItemViewTest.java", "javatests/src/org/chromium/chrome/browser/contextmenu/RevampedContextMenuItemViewTest.java",
......
...@@ -2053,7 +2053,7 @@ ...@@ -2053,7 +2053,7 @@
errorLine1=" android:clickable=&quot;true&quot;" errorLine1=" android:clickable=&quot;true&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~"> errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
<location <location
file="../../chrome/android/java/res/layout/contacts_list_item_view.xml" file="../../components/browser_ui/contacts_picker/android/java/res/layout/contacts_list_item_view.xml"
line="48" line="48"
column="17"/> column="17"/>
</issue> </issue>
...@@ -2064,7 +2064,7 @@ ...@@ -2064,7 +2064,7 @@
errorLine1=" android:clickable=&quot;true&quot;" errorLine1=" android:clickable=&quot;true&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~"> errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
<location <location
file="../../chrome/android/java/res/layout/contacts_list_item_view.xml" file="../../components/browser_ui/contacts_picker/android/java/res/layout/contacts_list_item_view.xml"
line="72" line="72"
column="17"/> column="17"/>
</issue> </issue>
...@@ -2075,7 +2075,7 @@ ...@@ -2075,7 +2075,7 @@
errorLine1=" android:clickable=&quot;true&quot;" errorLine1=" android:clickable=&quot;true&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~"> errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
<location <location
file="../../chrome/android/java/res/layout/contacts_list_item_view.xml" file="../../components/browser_ui/contacts_picker/android/java/res/layout/contacts_list_item_view.xml"
line="96" line="96"
column="17"/> column="17"/>
</issue> </issue>
......
...@@ -34,7 +34,7 @@ Still reading? ...@@ -34,7 +34,7 @@ Still reading?
</issue> </issue>
<issue id="ContentDescription"> <issue id="ContentDescription">
<!--TODO(crbug.com/1044658): This suppression was added blindly, and needs investigated.--> <!--TODO(crbug.com/1044658): This suppression was added blindly, and needs investigated.-->
<ignore regexp="chrome/android/java/res/layout/contacts_list_item_view.xml"/> <ignore regexp="components/browser_ui/contacts_picker/android/java/res/layout/contacts_list_item_view.xml"/>
<!--TODO(crbug.com/1044658): This suppression was added blindly, and needs investigated.--> <!--TODO(crbug.com/1044658): This suppression was added blindly, and needs investigated.-->
<ignore regexp="components/browser_ui/photo_picker/android/java/res/layout/photo_picker_dialog.xml"/> <ignore regexp="components/browser_ui/photo_picker/android/java/res/layout/photo_picker_dialog.xml"/>
<!--TODO(crbug.com/1044658): This suppression was added blindly, and needs investigated.--> <!--TODO(crbug.com/1044658): This suppression was added blindly, and needs investigated.-->
......
...@@ -17,6 +17,9 @@ import org.chromium.chrome.browser.profiles.Profile; ...@@ -17,6 +17,9 @@ import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.signin.DisplayableProfileData; import org.chromium.chrome.browser.signin.DisplayableProfileData;
import org.chromium.chrome.browser.signin.IdentityServicesProvider; import org.chromium.chrome.browser.signin.IdentityServicesProvider;
import org.chromium.chrome.browser.signin.ProfileDataCache; import org.chromium.chrome.browser.signin.ProfileDataCache;
import org.chromium.components.browser_ui.contacts_picker.ContactDetails;
import org.chromium.components.browser_ui.contacts_picker.PickerAdapter;
import org.chromium.components.browser_ui.contacts_picker.PickerCategoryView;
import org.chromium.components.signin.AccountManagerFacade; import org.chromium.components.signin.AccountManagerFacade;
import org.chromium.components.signin.AccountManagerFacadeProvider; import org.chromium.components.signin.AccountManagerFacadeProvider;
import org.chromium.components.signin.base.CoreAccountInfo; import org.chromium.components.signin.base.CoreAccountInfo;
......
...@@ -39,7 +39,6 @@ import org.chromium.chrome.browser.app.ChromeActivity; ...@@ -39,7 +39,6 @@ import org.chromium.chrome.browser.app.ChromeActivity;
import org.chromium.chrome.browser.banners.AppBannerManager; import org.chromium.chrome.browser.banners.AppBannerManager;
import org.chromium.chrome.browser.bookmarkswidget.BookmarkWidgetProvider; import org.chromium.chrome.browser.bookmarkswidget.BookmarkWidgetProvider;
import org.chromium.chrome.browser.contacts_picker.ChromePickerAdapter; import org.chromium.chrome.browser.contacts_picker.ChromePickerAdapter;
import org.chromium.chrome.browser.contacts_picker.ContactsPickerDialog;
import org.chromium.chrome.browser.content_capture.ContentCaptureHistoryDeletionObserver; import org.chromium.chrome.browser.content_capture.ContentCaptureHistoryDeletionObserver;
import org.chromium.chrome.browser.crash.CrashUploadCountStore; import org.chromium.chrome.browser.crash.CrashUploadCountStore;
import org.chromium.chrome.browser.crash.LogcatExtractionRunnable; import org.chromium.chrome.browser.crash.LogcatExtractionRunnable;
...@@ -79,6 +78,7 @@ import org.chromium.chrome.browser.vr.VrModeProviderImpl; ...@@ -79,6 +78,7 @@ import org.chromium.chrome.browser.vr.VrModeProviderImpl;
import org.chromium.chrome.browser.webapps.WebApkVersionManager; import org.chromium.chrome.browser.webapps.WebApkVersionManager;
import org.chromium.chrome.browser.webapps.WebappRegistry; import org.chromium.chrome.browser.webapps.WebappRegistry;
import org.chromium.components.background_task_scheduler.BackgroundTaskSchedulerFactory; import org.chromium.components.background_task_scheduler.BackgroundTaskSchedulerFactory;
import org.chromium.components.browser_ui.contacts_picker.ContactsPickerDialog;
import org.chromium.components.browser_ui.photo_picker.PhotoPickerDialog; import org.chromium.components.browser_ui.photo_picker.PhotoPickerDialog;
import org.chromium.components.browser_ui.share.ShareImageFileUtils; import org.chromium.components.browser_ui.share.ShareImageFileUtils;
import org.chromium.components.browser_ui.util.ConversionUtils; import org.chromium.components.browser_ui.util.ConversionUtils;
......
file://chrome/android/java/src/org/chromium/chrome/browser/contacts_picker/OWNERS
...@@ -2982,6 +2982,7 @@ static_library("browser") { ...@@ -2982,6 +2982,7 @@ static_library("browser") {
"//chrome/common:non_code_constants", "//chrome/common:non_code_constants",
"//chrome/services/media_gallery_util/public/cpp", "//chrome/services/media_gallery_util/public/cpp",
"//components/autofill_assistant/browser", "//components/autofill_assistant/browser",
"//components/browser_ui/contacts_picker/android",
"//components/browser_ui/photo_picker/android", "//components/browser_ui/photo_picker/android",
"//components/browser_ui/site_settings/android", "//components/browser_ui/site_settings/android",
"//components/browser_ui/sms/android", "//components/browser_ui/sms/android",
......
...@@ -139,7 +139,6 @@ const base::Feature* kFeaturesExposedToJava[] = { ...@@ -139,7 +139,6 @@ const base::Feature* kFeaturesExposedToJava[] = {
&kChromeSmartSelection, &kChromeSmartSelection,
&kCommandLineOnNonRooted, &kCommandLineOnNonRooted,
&kConditionalTabStripAndroid, &kConditionalTabStripAndroid,
&kContactsPickerSelectAll,
&kContentIndexingDownloadHome, &kContentIndexingDownloadHome,
&kContentIndexingNTP, &kContentIndexingNTP,
&kContentSuggestionsScrollToLoad, &kContentSuggestionsScrollToLoad,
...@@ -400,9 +399,6 @@ const base::Feature kChromeSmartSelection{"ChromeSmartSelection", ...@@ -400,9 +399,6 @@ const base::Feature kChromeSmartSelection{"ChromeSmartSelection",
const base::Feature kCommandLineOnNonRooted{"CommandLineOnNonRooted", const base::Feature kCommandLineOnNonRooted{"CommandLineOnNonRooted",
base::FEATURE_DISABLED_BY_DEFAULT}; base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kContactsPickerSelectAll{"ContactsPickerSelectAll",
base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kContentIndexingDownloadHome{ const base::Feature kContentIndexingDownloadHome{
"ContentIndexingDownloadHome", base::FEATURE_ENABLED_BY_DEFAULT}; "ContentIndexingDownloadHome", base::FEATURE_ENABLED_BY_DEFAULT};
......
...@@ -48,7 +48,6 @@ extern const base::Feature kChromeSharingHubV15; ...@@ -48,7 +48,6 @@ extern const base::Feature kChromeSharingHubV15;
extern const base::Feature kChromeSmartSelection; extern const base::Feature kChromeSmartSelection;
extern const base::Feature kCommandLineOnNonRooted; extern const base::Feature kCommandLineOnNonRooted;
extern const base::Feature kConditionalTabStripAndroid; extern const base::Feature kConditionalTabStripAndroid;
extern const base::Feature kContactsPickerSelectAll;
extern const base::Feature kContentIndexingDownloadHome; extern const base::Feature kContentIndexingDownloadHome;
extern const base::Feature kContentIndexingNTP; extern const base::Feature kContentIndexingNTP;
extern const base::Feature kContextMenuCopyImage; extern const base::Feature kContextMenuCopyImage;
......
# Copyright 2020 The Chromium Authors. All rights reserved. # Copyright 2020 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
import("//build/config/android/rules.gni") import("//build/config/android/rules.gni")
android_library("java") { android_library("java") {
...@@ -53,11 +54,13 @@ android_resources("java_resources") { ...@@ -53,11 +54,13 @@ android_resources("java_resources") {
"java/res/drawable-xxhdpi/default_favicon.png", "java/res/drawable-xxhdpi/default_favicon.png",
"java/res/drawable-xxxhdpi/chromelogo16.png", "java/res/drawable-xxxhdpi/chromelogo16.png",
"java/res/drawable-xxxhdpi/default_favicon.png", "java/res/drawable-xxxhdpi/default_favicon.png",
"java/res/values/colors.xml",
"java/res/values/dimens.xml", "java/res/values/dimens.xml",
] ]
create_srcjar = false create_srcjar = false
deps = [ "//ui/android:ui_java_resources" ] deps = [
"//components/browser_ui/styles/android:java_resources",
"//ui/android:ui_java_resources",
]
} }
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright 2020 The Chromium Authors. All rights reserved.
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file. -->
<resources>
<color name="default_favicon_background_color">@color/modern_grey_700</color>
</resources>
...@@ -3256,46 +3256,6 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p ...@@ -3256,46 +3256,6 @@ To change this setting, <ph name="BEGIN_LINK">&lt;resetlink&gt;</ph>reset sync<p
<ph name="BEGIN_LINK">&lt;link&gt;</ph>Get help<ph name="END_LINK">&lt;/link&gt;</ph> <ph name="BEGIN_LINK">&lt;link&gt;</ph>Get help<ph name="END_LINK">&lt;/link&gt;</ph>
</message> </message>
<!-- Contacts Picker strings -->
<message name="IDS_CONTACTS_PICKER_SEARCH" desc="The hint text for the search box for contacts.">
Search your contacts
</message>
<message name="IDS_CONTACTS_PICKER_SELECT_CONTACTS" desc="The label at the top of the dialog that allows users to select contacts from their device and share the details with a web page.">
Select contacts
</message>
<message name="IDS_CONTACTS_PICKER_SELECT_CONTACT" desc="The label at the top of the dialog that allows users to select a single contact from their device and share the details with a web page.">
Select a contact
</message>
<message name="IDS_CONTACTS_PICKER_ALL_CONTACTS" desc="The label associated with the select all checkbox, indicating that all the contacts will be selected.">
All contacts
</message>
<message name="IDS_CONTACTS_PICKER_NO_CONTACTS_FOUND" desc="The label shown when no contacts are found (e.g. none exist on the device).">
No contacts found
</message>
<message name="IDS_TOP_VIEW_NAMES_FILTER_LABEL" desc="The label shown for the names filter toggle button (allowing the user to exclude names).">
Names
</message>
<message name="IDS_TOP_VIEW_ADDRESS_FILTER_LABEL" desc="The label shown for the address filter toggle button (allowing the user to exclude names).">
Addresses
</message>
<message name="IDS_TOP_VIEW_EMAIL_FILTER_LABEL" desc="The label shown for the email filter toggle button (allowing the user to exclude emails).">
Email addresses
</message>
<message name="IDS_TOP_VIEW_TELEPHONE_FILTER_LABEL" desc="The label shown for the telephone filter toggle button (allowing the user to exclude telephones).">
Phone numbers
</message>
<message name="IDS_TOP_VIEW_ICON_FILTER_LABEL" desc="The label shown for the icon filter toggle button (allowing the user to exclude icons).">
Profile photos
</message>
<message name="IDS_CONTACTS_PICKER_MORE_DETAILS" desc="Label describing that the user has one or more telephone/emails (used for either).">
{DETAIL_COUNT, plural,
=1 {(+ 1 more)}
other {(+ # more)}}
</message>
<message name="IDS_DISCLAIMER_SHARING_CONTACT_DETAILS" desc="Label describing what will happen with the contact details that are being shared.">
The contacts you select will be shared with <ph name="BEGIN_BOLD">&lt;b&gt;</ph><ph name="SITE">%1$s<ex>https://www.google.com</ex></ph><ph name="END_BOLD">&lt;/b&gt;</ph>.
</message>
<!-- Special locale UI strings --> <!-- Special locale UI strings -->
<message name="IDS_SEARCH_WITH_SOGOU" desc="Text telling the user that the search engine will be switched to Sogou."> <message name="IDS_SEARCH_WITH_SOGOU" desc="Text telling the user that the search engine will be switched to Sogou.">
Search with Sogou Search with Sogou
......
# Copyright 2020 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/config/android/rules.gni")
source_set("android") {
sources = [
"contacts_picker_feature_list.cc",
"features.cc",
"features.h",
]
deps = [
":contacts_picker_jni_headers",
"//base",
]
}
android_library("java") {
sources = [
"java/src/org/chromium/components/browser_ui/contacts_picker/CompressContactIconsWorkerTask.java",
"java/src/org/chromium/components/browser_ui/contacts_picker/ContactDetails.java",
"java/src/org/chromium/components/browser_ui/contacts_picker/ContactView.java",
"java/src/org/chromium/components/browser_ui/contacts_picker/ContactViewHolder.java",
"java/src/org/chromium/components/browser_ui/contacts_picker/ContactsFetcherWorkerTask.java",
"java/src/org/chromium/components/browser_ui/contacts_picker/ContactsPickerDialog.java",
"java/src/org/chromium/components/browser_ui/contacts_picker/ContactsPickerFeatureList.java",
"java/src/org/chromium/components/browser_ui/contacts_picker/ContactsPickerToolbar.java",
"java/src/org/chromium/components/browser_ui/contacts_picker/FetchIconWorkerTask.java",
"java/src/org/chromium/components/browser_ui/contacts_picker/PickerAdapter.java",
"java/src/org/chromium/components/browser_ui/contacts_picker/PickerCategoryView.java",
"java/src/org/chromium/components/browser_ui/contacts_picker/TopView.java",
]
annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
resources_package = "org.chromium.components.browser_ui.contacts_picker"
deps = [
":java_resources",
"//base:base_java",
"//base:jni_java",
"//components/browser_ui/util/android:java",
"//components/browser_ui/widget/android:java",
"//components/payments/mojom:mojom_java",
"//third_party/android_deps:androidx_annotation_annotation_java",
"//third_party/android_deps:androidx_appcompat_appcompat_java",
"//third_party/android_deps:androidx_core_core_java",
"//third_party/android_deps:androidx_recyclerview_recyclerview_java",
"//third_party/blink/public/mojom:android_mojo_bindings_java",
"//ui/android:ui_java",
]
srcjar_deps = [
"//content/public/browser:contacts_picker_properties_requested_javagen",
]
}
generate_jni("contacts_picker_jni_headers") {
sources = [ "java/src/org/chromium/components/browser_ui/contacts_picker/ContactsPickerFeatureList.java" ]
}
android_resources("java_resources") {
create_srcjar = false
sources = [
"java/res/drawable/address.xml",
"java/res/drawable/email.xml",
"java/res/drawable/face.xml",
"java/res/drawable/names.xml",
"java/res/drawable/telephone.xml",
"java/res/layout/checkbox_layout.xml",
"java/res/layout/contact_view.xml",
"java/res/layout/contacts_list_item_view.xml",
"java/res/layout/contacts_picker_dialog.xml",
"java/res/layout/contacts_picker_toolbar.xml",
"java/res/layout/top_view.xml",
]
deps = [
"//components/browser_ui/strings/android:browser_ui_strings_grd",
"//components/browser_ui/styles/android:java_resources",
"//components/browser_ui/widget/android:java_resources",
"//ui/android:ui_java_resources",
]
}
android_library("javatests") {
testonly = true
sources = [
"java/src/org/chromium/components/browser_ui/contacts_picker/ContactDetailsTest.java",
"java/src/org/chromium/components/browser_ui/contacts_picker/ContactsPickerDialogTest.java",
]
deps = [
":java",
":java_resources",
"//base:base_java",
"//base:base_java_test_support",
"//chrome/test/android:chrome_java_test_support",
"//components/browser_ui/widget/android:java",
"//components/browser_ui/widget/android:test_support_java",
"//components/payments/mojom:mojom_java",
"//content/public/test/android:content_java_test_support",
"//third_party/android_deps:androidx_annotation_annotation_java",
"//third_party/android_deps:androidx_appcompat_appcompat_java",
"//third_party/android_deps:androidx_appcompat_appcompat_resources_java",
"//third_party/android_deps:androidx_core_core_java",
"//third_party/android_deps:androidx_recyclerview_recyclerview_java",
"//third_party/android_deps:androidx_test_runner_java",
"//third_party/android_support_test_runner:rules_java",
"//third_party/android_support_test_runner:runner_java",
"//third_party/blink/public/mojom:android_mojo_bindings_java",
"//third_party/junit",
"//third_party/mockito:mockito_java",
"//ui/android:ui_java",
"//ui/android:ui_java_test_support",
]
resources_package = "org.chromium.components.browser_ui.contacts_picker.test"
}
include_rules = [
"+components/browser_ui/widget/android",
"+content/public/android",
"+content/public/test/android",
"+ui/android",
]
finnur@chromium.org
peter@chromium.org
rayankans@chromium.org
# COMPONENT: Blink>Contacts
# TEAM: fugu-dev@chromium.org
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "base/android/jni_string.h"
#include "base/feature_list.h"
#include "base/notreached.h"
#include "base/stl_util.h"
#include "components/browser_ui/contacts_picker/android/contacts_picker_jni_headers/ContactsPickerFeatureList_jni.h"
#include "components/browser_ui/contacts_picker/android/features.h"
using base::android::ConvertJavaStringToUTF8;
using base::android::JavaParamRef;
namespace browser_ui {
namespace {
// Array of features exposed through the Java ContentFeatureList API. Entries in
// this array may either refer to features defined in the header of this file or
// in other locations in the code base (e.g. content_features.h).
const base::Feature* kFeaturesExposedToJava[] = {
&kContactsPickerSelectAll,
};
// TODO(crbug.com/1060097): Remove this once a generalized FeatureList exists.
const base::Feature* FindFeatureExposedToJava(const std::string& feature_name) {
for (size_t i = 0; i < base::size(kFeaturesExposedToJava); ++i) {
if (kFeaturesExposedToJava[i]->name == feature_name)
return kFeaturesExposedToJava[i];
}
NOTREACHED() << "Queried feature not found in ContactsPickerFeatureList: "
<< feature_name;
return nullptr;
}
} // namespace
static jboolean JNI_ContactsPickerFeatureList_IsEnabled(
JNIEnv* env,
const JavaParamRef<jstring>& jfeature_name) {
const base::Feature* feature =
FindFeatureExposedToJava(ConvertJavaStringToUTF8(env, jfeature_name));
return base::FeatureList::IsEnabled(*feature);
}
} // namespace browser_ui
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/browser_ui/contacts_picker/android/features.h"
#include "base/feature_list.h"
#include "base/metrics/field_trial_params.h"
namespace browser_ui {
const base::Feature kContactsPickerSelectAll{"ContactsPickerSelectAll",
base::FEATURE_DISABLED_BY_DEFAULT};
} // namespace browser_ui
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_BROWSER_UI_CONTACTS_PICKER_ANDROID_FEATURES_H_
#define COMPONENTS_BROWSER_UI_CONTACTS_PICKER_ANDROID_FEATURES_H_
namespace base {
struct Feature;
} // namespace base
namespace browser_ui {
extern const base::Feature kContactsPickerSelectAll;
} // namespace browser_ui
#endif // COMPONENTS_BROWSER_UI_CONTACTS_PICKER_ANDROID_FEATURES_H_
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<!-- Represents a single item in the Contacts Picker. --> <!-- Represents a single item in the Contacts Picker. -->
<org.chromium.chrome.browser.contacts_picker.ContactView <org.chromium.components.browser_ui.contacts_picker.ContactView
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="match_parent"> android:layout_width="match_parent">
...@@ -19,4 +19,4 @@ ...@@ -19,4 +19,4 @@
<include layout="@layout/contacts_list_item_view" /> <include layout="@layout/contacts_list_item_view" />
</LinearLayout> </LinearLayout>
</org.chromium.chrome.browser.contacts_picker.ContactView> </org.chromium.components.browser_ui.contacts_picker.ContactView>
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
found in the LICENSE file. found in the LICENSE file.
--> -->
<org.chromium.chrome.browser.contacts_picker.ContactsPickerToolbar <org.chromium.components.browser_ui.contacts_picker.ContactsPickerToolbar
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent" android:layout_width="match_parent"
...@@ -35,4 +35,4 @@ ...@@ -35,4 +35,4 @@
android:text="@string/done" android:text="@string/done"
style="@style/TextButton" /> style="@style/TextButton" />
</LinearLayout> </LinearLayout>
</org.chromium.chrome.browser.contacts_picker.ContactsPickerToolbar> </org.chromium.components.browser_ui.contacts_picker.ContactsPickerToolbar>
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
Use of this source code is governed by a BSD-style license that can be Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file. --> found in the LICENSE file. -->
<org.chromium.chrome.browser.contacts_picker.TopView <org.chromium.components.browser_ui.contacts_picker.TopView
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent" android:layout_width="match_parent"
...@@ -72,4 +72,4 @@ ...@@ -72,4 +72,4 @@
<include layout="@layout/checkbox_layout" /> <include layout="@layout/checkbox_layout" />
</LinearLayout> </LinearLayout>
</org.chromium.chrome.browser.contacts_picker.TopView> </org.chromium.components.browser_ui.contacts_picker.TopView>
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
package org.chromium.chrome.browser.contacts_picker; package org.chromium.components.browser_ui.contacts_picker;
import android.content.ContentResolver; import android.content.ContentResolver;
import android.graphics.Bitmap; import android.graphics.Bitmap;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
package org.chromium.chrome.browser.contacts_picker; package org.chromium.components.browser_ui.contacts_picker;
import android.content.res.Resources; import android.content.res.Resources;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
...@@ -10,7 +10,6 @@ import android.graphics.drawable.Drawable; ...@@ -10,7 +10,6 @@ import android.graphics.drawable.Drawable;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import org.chromium.blink.mojom.ContactIconBlob; import org.chromium.blink.mojom.ContactIconBlob;
import org.chromium.chrome.R;
import org.chromium.payments.mojom.PaymentAddress; import org.chromium.payments.mojom.PaymentAddress;
import java.util.ArrayList; import java.util.ArrayList;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
package org.chromium.chrome.browser.contacts_picker; package org.chromium.components.browser_ui.contacts_picker;
import android.content.Context; import android.content.Context;
import android.content.res.Resources; import android.content.res.Resources;
...@@ -16,13 +16,10 @@ import androidx.test.filters.SmallTest; ...@@ -16,13 +16,10 @@ import androidx.test.filters.SmallTest;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Before; import org.junit.Before;
import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.chromium.chrome.browser.app.ChromeActivity; import org.chromium.base.test.BaseJUnit4ClassRunner;
import org.chromium.chrome.test.ChromeActivityTestRule;
import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
import org.chromium.payments.mojom.PaymentAddress; import org.chromium.payments.mojom.PaymentAddress;
import java.util.Arrays; import java.util.Arrays;
...@@ -31,19 +28,13 @@ import java.util.List; ...@@ -31,19 +28,13 @@ import java.util.List;
/** /**
* Tests for the ContactDetails class. * Tests for the ContactDetails class.
*/ */
@RunWith(ChromeJUnit4ClassRunner.class) @RunWith(BaseJUnit4ClassRunner.class)
public class ContactDetailsTest { public class ContactDetailsTest {
@Rule
public ChromeActivityTestRule<ChromeActivity> mActivityTestRule =
new ChromeActivityTestRule<>(ChromeActivity.class);
Context mContext; Context mContext;
@Before @Before
public void setUp() throws Exception { public void setUp() throws Exception {
mContext = InstrumentationRegistry.getInstrumentation() mContext = InstrumentationRegistry.getTargetContext();
.getTargetContext()
.getApplicationContext();
} }
private void compareAbbreviatedContactDetails(ContactDetails.AbbreviatedContactDetails expected, private void compareAbbreviatedContactDetails(ContactDetails.AbbreviatedContactDetails expected,
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
package org.chromium.chrome.browser.contacts_picker; package org.chromium.components.browser_ui.contacts_picker;
import android.content.Context; import android.content.Context;
import android.content.res.Resources; import android.content.res.Resources;
...@@ -17,7 +17,6 @@ import android.widget.TextView; ...@@ -17,7 +17,6 @@ import android.widget.TextView;
import androidx.core.graphics.drawable.RoundedBitmapDrawable; import androidx.core.graphics.drawable.RoundedBitmapDrawable;
import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory; import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory;
import org.chromium.chrome.R;
import org.chromium.components.browser_ui.widget.selectable_list.SelectableItemView; import org.chromium.components.browser_ui.widget.selectable_list.SelectableItemView;
import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate; import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate;
import org.chromium.ui.modaldialog.ModalDialogManager; import org.chromium.ui.modaldialog.ModalDialogManager;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
package org.chromium.chrome.browser.contacts_picker; package org.chromium.components.browser_ui.contacts_picker;
import android.content.ContentResolver; import android.content.ContentResolver;
import android.graphics.Bitmap; import android.graphics.Bitmap;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
package org.chromium.chrome.browser.contacts_picker; package org.chromium.components.browser_ui.contacts_picker;
import android.content.ContentResolver; import android.content.ContentResolver;
import android.content.Context; import android.content.Context;
...@@ -24,7 +24,8 @@ import java.util.Map; ...@@ -24,7 +24,8 @@ import java.util.Map;
*/ */
class ContactsFetcherWorkerTask extends AsyncTask<ArrayList<ContactDetails>> { class ContactsFetcherWorkerTask extends AsyncTask<ArrayList<ContactDetails>> {
private static final String[] PROJECTION = { private static final String[] PROJECTION = {
ContactsContract.Contacts._ID, ContactsContract.Contacts.LOOKUP_KEY, ContactsContract.Contacts._ID,
ContactsContract.Contacts.LOOKUP_KEY,
ContactsContract.Contacts.DISPLAY_NAME_PRIMARY, ContactsContract.Contacts.DISPLAY_NAME_PRIMARY,
}; };
......
...@@ -2,12 +2,11 @@ ...@@ -2,12 +2,11 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
package org.chromium.chrome.browser.contacts_picker; package org.chromium.components.browser_ui.contacts_picker;
import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting;
import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AlertDialog;
import org.chromium.chrome.R;
import org.chromium.ui.ContactsPickerListener; import org.chromium.ui.ContactsPickerListener;
import org.chromium.ui.base.WindowAndroid; import org.chromium.ui.base.WindowAndroid;
import org.chromium.ui.vr.VrModeProvider; import org.chromium.ui.vr.VrModeProvider;
......
...@@ -2,8 +2,9 @@ ...@@ -2,8 +2,9 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
package org.chromium.chrome.browser.contacts_picker; package org.chromium.components.browser_ui.contacts_picker;
import android.content.Context;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.graphics.Canvas; import android.graphics.Canvas;
import android.graphics.Color; import android.graphics.Color;
...@@ -22,19 +23,15 @@ import org.junit.ClassRule; ...@@ -22,19 +23,15 @@ import org.junit.ClassRule;
import org.junit.Rule; import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.chromium.base.FeatureList;
import org.chromium.base.test.BaseJUnit4ClassRunner;
import org.chromium.base.test.util.CallbackHelper; import org.chromium.base.test.util.CallbackHelper;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.Feature; import org.chromium.base.test.util.Feature;
import org.chromium.blink.mojom.ContactIconBlob; import org.chromium.blink.mojom.ContactIconBlob;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.app.ChromeActivity;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.flags.ChromeSwitches;
import org.chromium.chrome.test.ChromeActivityTestRule;
import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
import org.chromium.chrome.test.util.ChromeRenderTestRule;
import org.chromium.chrome.test.util.browser.Features;
import org.chromium.components.browser_ui.widget.RecyclerViewTestUtils; import org.chromium.components.browser_ui.widget.RecyclerViewTestUtils;
import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate; import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate;
import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate.SelectionObserver; import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate.SelectionObserver;
...@@ -42,35 +39,36 @@ import org.chromium.content_public.browser.test.util.TestThreadUtils; ...@@ -42,35 +39,36 @@ import org.chromium.content_public.browser.test.util.TestThreadUtils;
import org.chromium.content_public.browser.test.util.TestTouchUtils; import org.chromium.content_public.browser.test.util.TestTouchUtils;
import org.chromium.payments.mojom.PaymentAddress; import org.chromium.payments.mojom.PaymentAddress;
import org.chromium.ui.ContactsPickerListener; import org.chromium.ui.ContactsPickerListener;
import org.chromium.ui.base.WindowAndroid;
import org.chromium.ui.test.util.DisableAnimationsTestRule; import org.chromium.ui.test.util.DisableAnimationsTestRule;
import org.chromium.ui.test.util.DummyUiActivityTestCase;
import org.chromium.ui.test.util.RenderTestRule;
import org.chromium.ui.vr.VrModeObserver; import org.chromium.ui.vr.VrModeObserver;
import org.chromium.ui.vr.VrModeProvider; import org.chromium.ui.vr.VrModeProvider;
import java.lang.ref.WeakReference;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.concurrent.Callable; import java.util.concurrent.Callable;
/** /**
* Tests for the ContactsPickerDialog class. * Tests for the ContactsPickerDialog class.
*/ */
@RunWith(ChromeJUnit4ClassRunner.class) @RunWith(BaseJUnit4ClassRunner.class)
@Features.EnableFeatures({ChromeFeatureList.CONTACTS_PICKER_SELECT_ALL}) public class ContactsPickerDialogTest extends DummyUiActivityTestCase
@CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE})
public class ContactsPickerDialogTest
implements ContactsPickerListener, SelectionObserver<ContactDetails> { implements ContactsPickerListener, SelectionObserver<ContactDetails> {
@ClassRule @ClassRule
public static DisableAnimationsTestRule mDisableAnimationsTestRule = public static DisableAnimationsTestRule mDisableAnimationsTestRule =
new DisableAnimationsTestRule(); new DisableAnimationsTestRule();
@Rule @Mock
public ChromeActivityTestRule<ChromeActivity> mActivityTestRule = private WindowAndroid mWindowAndroid;
new ChromeActivityTestRule<>(ChromeActivity.class);
@Rule @Rule
public ChromeRenderTestRule mRenderTestRule = public RenderTestRule mRenderTestRule = RenderTestRule.Builder.withPublicCorpus().build();
ChromeRenderTestRule.Builder.withPublicCorpus().build();
// The dialog we are testing. // The dialog we are testing.
private ContactsPickerDialog mDialog; private ContactsPickerDialog mDialog;
...@@ -114,7 +112,12 @@ public class ContactsPickerDialogTest ...@@ -114,7 +112,12 @@ public class ContactsPickerDialogTest
@Before @Before
public void setUp() throws Exception { public void setUp() throws Exception {
mActivityTestRule.startMainActivityOnBlankPage(); MockitoAnnotations.initMocks(this);
Mockito.doReturn(new WeakReference<Context>(getActivity()))
.when(mWindowAndroid)
.getContext();
FeatureList.setTestFeatures(Collections.singletonMap(
ContactsPickerFeatureList.CONTACTS_PICKER_SELECT_ALL, true));
mIcon = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888); mIcon = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(mIcon); Canvas canvas = new Canvas(mIcon);
canvas.drawColor(Color.BLUE); canvas.drawColor(Color.BLUE);
...@@ -168,11 +171,19 @@ public class ContactsPickerDialogTest ...@@ -168,11 +171,19 @@ public class ContactsPickerDialogTest
TestThreadUtils.runOnUiThreadBlocking(new Callable<ContactsPickerDialog>() { TestThreadUtils.runOnUiThreadBlocking(new Callable<ContactsPickerDialog>() {
@Override @Override
public ContactsPickerDialog call() { public ContactsPickerDialog call() {
final ContactsPickerDialog dialog = new ContactsPickerDialog( final ContactsPickerDialog dialog = new ContactsPickerDialog(mWindowAndroid,
mActivityTestRule.getActivity().getWindowAndroid(), new PickerAdapter() {
new ChromePickerAdapter(), ContactsPickerDialogTest.this, @Override
multiselect, includeNames, includeEmails, includeTel, protected String findOwnerEmail() {
includeAddresses, includeIcons, "example.com", return null;
}
@Override
protected void addOwnerInfoToContacts(
ArrayList<ContactDetails> contacts) {}
},
ContactsPickerDialogTest.this, multiselect, includeNames,
includeEmails, includeTel, includeAddresses, includeIcons,
"example.com",
new VrModeProvider() { new VrModeProvider() {
@Override @Override
public boolean isInVr() { public boolean isInVr() {
...@@ -258,7 +269,7 @@ public class ContactsPickerDialogTest ...@@ -258,7 +269,7 @@ public class ContactsPickerDialogTest
mLastActionRecorded = ContactsPickerAction.NUM_ENTRIES; mLastActionRecorded = ContactsPickerAction.NUM_ENTRIES;
PickerCategoryView categoryView = mDialog.getCategoryViewForTesting(); PickerCategoryView categoryView = mDialog.getCategoryViewForTesting();
View cancel = new View(mActivityTestRule.getActivity()); View cancel = new View(getActivity());
int callCount = onActionCallback.getCallCount(); int callCount = onActionCallback.getCallCount();
categoryView.onClick(cancel); categoryView.onClick(cancel);
onActionCallback.waitForCallback(callCount, 1); onActionCallback.waitForCallback(callCount, 1);
......
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.components.browser_ui.contacts_picker;
import org.chromium.base.FeatureList;
import org.chromium.base.annotations.JNINamespace;
import org.chromium.base.annotations.MainDex;
import org.chromium.base.annotations.NativeMethods;
/**
* Provides an API for querying the status of Contacts Picker features.
*/
// TODO(crbug.com/1060097): Remove/update this once a generalized FeatureList exists.
@JNINamespace("browser_ui")
@MainDex
public class ContactsPickerFeatureList {
public static final String CONTACTS_PICKER_SELECT_ALL = "ContactsPickerSelectAll";
private ContactsPickerFeatureList() {}
/**
* Returns whether the specified feature is enabled or not.
*
* Note: Features queried through this API must be added to the array
* |kFeaturesExposedToJava| in
* //components/browser_ui/contacts_picker/android/contacts_picker_feature_list.cc
*
* @param featureName The name of the feature to query.
* @return Whether the feature is enabled or not.
*/
public static boolean isEnabled(String featureName) {
Boolean testValue = FeatureList.getTestValueForFeature(featureName);
if (testValue != null) return testValue;
assert FeatureList.isNativeInitialized();
return ContactsPickerFeatureListJni.get().isEnabled(featureName);
}
@NativeMethods
interface Natives {
boolean isEnabled(String featureName);
}
}
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
package org.chromium.chrome.browser.contacts_picker; package org.chromium.components.browser_ui.contacts_picker;
import android.content.Context; import android.content.Context;
import android.util.AttributeSet; import android.util.AttributeSet;
...@@ -11,7 +11,6 @@ import androidx.appcompat.widget.AppCompatImageView; ...@@ -11,7 +11,6 @@ import androidx.appcompat.widget.AppCompatImageView;
import androidx.core.widget.ImageViewCompat; import androidx.core.widget.ImageViewCompat;
import org.chromium.base.ApiCompatibilityUtils; import org.chromium.base.ApiCompatibilityUtils;
import org.chromium.chrome.R;
import org.chromium.components.browser_ui.widget.selectable_list.SelectableListToolbar; import org.chromium.components.browser_ui.widget.selectable_list.SelectableListToolbar;
import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate; import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate;
import org.chromium.ui.vr.VrModeProvider; import org.chromium.ui.vr.VrModeProvider;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
package org.chromium.chrome.browser.contacts_picker; package org.chromium.components.browser_ui.contacts_picker;
import android.content.ContentResolver; import android.content.ContentResolver;
import android.content.ContentUris; import android.content.ContentUris;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
package org.chromium.chrome.browser.contacts_picker; package org.chromium.components.browser_ui.contacts_picker;
import android.content.ContentResolver; import android.content.ContentResolver;
import android.content.Context; import android.content.Context;
...@@ -19,7 +19,6 @@ import androidx.recyclerview.widget.RecyclerView; ...@@ -19,7 +19,6 @@ import androidx.recyclerview.widget.RecyclerView;
import androidx.recyclerview.widget.RecyclerView.Adapter; import androidx.recyclerview.widget.RecyclerView.Adapter;
import org.chromium.base.task.AsyncTask; import org.chromium.base.task.AsyncTask;
import org.chromium.chrome.R;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
package org.chromium.chrome.browser.contacts_picker; package org.chromium.components.browser_ui.contacts_picker;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
...@@ -20,7 +20,6 @@ import androidx.recyclerview.widget.RecyclerView; ...@@ -20,7 +20,6 @@ import androidx.recyclerview.widget.RecyclerView;
import org.chromium.base.ApiCompatibilityUtils; import org.chromium.base.ApiCompatibilityUtils;
import org.chromium.base.metrics.RecordHistogram; import org.chromium.base.metrics.RecordHistogram;
import org.chromium.base.task.AsyncTask; import org.chromium.base.task.AsyncTask;
import org.chromium.chrome.R;
import org.chromium.components.browser_ui.util.BitmapCache; import org.chromium.components.browser_ui.util.BitmapCache;
import org.chromium.components.browser_ui.util.ConversionUtils; import org.chromium.components.browser_ui.util.ConversionUtils;
import org.chromium.components.browser_ui.util.GlobalDiscardableReferencePool; import org.chromium.components.browser_ui.util.GlobalDiscardableReferencePool;
...@@ -171,8 +170,7 @@ public class PickerCategoryView extends OptimizedFrameLayout ...@@ -171,8 +170,7 @@ public class PickerCategoryView extends OptimizedFrameLayout
View root = LayoutInflater.from(context).inflate(R.layout.contacts_picker_dialog, this); View root = LayoutInflater.from(context).inflate(R.layout.contacts_picker_dialog, this);
mSelectableListLayout = mSelectableListLayout =
(SelectableListLayout<ContactDetails>) root.findViewById(R.id.selectable_list); (SelectableListLayout<ContactDetails>) root.findViewById(R.id.selectable_list);
mSelectableListLayout.initializeEmptyView( mSelectableListLayout.initializeEmptyView(R.string.contacts_picker_no_contacts_found,
R.string.contacts_picker_no_contacts_found,
R.string.contacts_picker_no_contacts_found); R.string.contacts_picker_no_contacts_found);
mPickerAdapter = adapter; mPickerAdapter = adapter;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
package org.chromium.chrome.browser.contacts_picker; package org.chromium.components.browser_ui.contacts_picker;
import android.content.Context; import android.content.Context;
import android.text.style.StyleSpan; import android.text.style.StyleSpan;
...@@ -13,8 +13,6 @@ import android.widget.CompoundButton; ...@@ -13,8 +13,6 @@ import android.widget.CompoundButton;
import android.widget.RelativeLayout; import android.widget.RelativeLayout;
import android.widget.TextView; import android.widget.TextView;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.ui.text.SpanApplier; import org.chromium.ui.text.SpanApplier;
import org.chromium.ui.widget.ChipView; import org.chromium.ui.widget.ChipView;
...@@ -92,7 +90,8 @@ public class TopView extends RelativeLayout ...@@ -92,7 +90,8 @@ public class TopView extends RelativeLayout
super.onFinishInflate(); super.onFinishInflate();
mCheckboxContainer = findViewById(R.id.content); mCheckboxContainer = findViewById(R.id.content);
if (ChromeFeatureList.isEnabled(ChromeFeatureList.CONTACTS_PICKER_SELECT_ALL)) { if (ContactsPickerFeatureList.isEnabled(
ContactsPickerFeatureList.CONTACTS_PICKER_SELECT_ALL)) {
mCheckboxContainer.setVisibility(View.VISIBLE); mCheckboxContainer.setVisibility(View.VISIBLE);
} }
mSelectAllBox = findViewById(R.id.checkbox); mSelectAllBox = findViewById(R.id.checkbox);
...@@ -260,7 +259,8 @@ public class TopView extends RelativeLayout ...@@ -260,7 +259,8 @@ public class TopView extends RelativeLayout
* Toggles the Select All checkbox. * Toggles the Select All checkbox.
*/ */
public void toggle() { public void toggle() {
if (ChromeFeatureList.isEnabled(ChromeFeatureList.CONTACTS_PICKER_SELECT_ALL)) { if (ContactsPickerFeatureList.isEnabled(
ContactsPickerFeatureList.CONTACTS_PICKER_SELECT_ALL)) {
mSelectAllBox.setChecked(!mSelectAllBox.isChecked()); mSelectAllBox.setChecked(!mSelectAllBox.isChecked());
} }
} }
......
...@@ -588,7 +588,7 @@ ...@@ -588,7 +588,7 @@
Options available near bottom of the screen Options available near bottom of the screen
</message> </message>
<!-- Warning on sharing info with external apps in incognito mode --> <!-- Warning on sharing info with external apps in incognito mode -->
<message name="IDS_EXTERNAL_APP_LEAVE_INCOGNITO_WARNING" desc="Alert dialog text warning the user (who is currently in incognito mode) that the site they are currently using is going to share data with an external application." formatter_data="android_java"> <message name="IDS_EXTERNAL_APP_LEAVE_INCOGNITO_WARNING" desc="Alert dialog text warning the user (who is currently in incognito mode) that the site they are currently using is going to share data with an external application." formatter_data="android_java">
This site is about to share information with an app outside of incognito mode. This site is about to share information with an app outside of incognito mode.
</message> </message>
...@@ -602,6 +602,46 @@ ...@@ -602,6 +602,46 @@
Leave Leave
</message> </message>
<!-- Contacts Picker strings -->
<message name="IDS_CONTACTS_PICKER_SEARCH" desc="The hint text for the search box for contacts.">
Search your contacts
</message>
<message name="IDS_CONTACTS_PICKER_SELECT_CONTACTS" desc="The label at the top of the dialog that allows users to select contacts from their device and share the details with a web page.">
Select contacts
</message>
<message name="IDS_CONTACTS_PICKER_SELECT_CONTACT" desc="The label at the top of the dialog that allows users to select a single contact from their device and share the details with a web page.">
Select a contact
</message>
<message name="IDS_CONTACTS_PICKER_ALL_CONTACTS" desc="The label associated with the select all checkbox, indicating that all the contacts will be selected.">
All contacts
</message>
<message name="IDS_CONTACTS_PICKER_NO_CONTACTS_FOUND" desc="The label shown when no contacts are found (e.g. none exist on the device).">
No contacts found
</message>
<message name="IDS_TOP_VIEW_NAMES_FILTER_LABEL" desc="The label shown for the names filter toggle button (allowing the user to exclude names).">
Names
</message>
<message name="IDS_TOP_VIEW_ADDRESS_FILTER_LABEL" desc="The label shown for the address filter toggle button (allowing the user to exclude names).">
Addresses
</message>
<message name="IDS_TOP_VIEW_EMAIL_FILTER_LABEL" desc="The label shown for the email filter toggle button (allowing the user to exclude emails).">
Email addresses
</message>
<message name="IDS_TOP_VIEW_TELEPHONE_FILTER_LABEL" desc="The label shown for the telephone filter toggle button (allowing the user to exclude telephones).">
Phone numbers
</message>
<message name="IDS_TOP_VIEW_ICON_FILTER_LABEL" desc="The label shown for the icon filter toggle button (allowing the user to exclude icons).">
Profile photos
</message>
<message name="IDS_CONTACTS_PICKER_MORE_DETAILS" desc="Label describing that the user has one or more telephone/emails (used for either).">
{DETAIL_COUNT, plural,
=1 {(+ 1 more)}
other {(+ # more)}}
</message>
<message name="IDS_DISCLAIMER_SHARING_CONTACT_DETAILS" desc="Label describing what will happen with the contact details that are being shared.">
The contacts you select will be shared with <ph name="BEGIN_BOLD">&lt;b&gt;</ph><ph name="SITE">%1$s<ex>https://www.google.com</ex></ph><ph name="END_BOLD">&lt;/b&gt;</ph>.
</message>
<!-- Photo picker --> <!-- Photo picker -->
<message name="IDS_PHOTO_PICKER_SELECT_IMAGES" desc="The label in the title bar of the Photo Picker dialog, suggesting that the user can make multiple selections."> <message name="IDS_PHOTO_PICKER_SELECT_IMAGES" desc="The label in the title bar of the Photo Picker dialog, suggesting that the user can make multiple selections.">
Select images Select images
......
...@@ -26,6 +26,7 @@ android_resources("java_resources") { ...@@ -26,6 +26,7 @@ android_resources("java_resources") {
"java/res/color/default_icon_color_secondary_light_tint_list.xml", "java/res/color/default_icon_color_secondary_light_tint_list.xml",
"java/res/color/default_icon_color_secondary_tint_list.xml", "java/res/color/default_icon_color_secondary_tint_list.xml",
"java/res/color/default_icon_color_tint_list.xml", "java/res/color/default_icon_color_tint_list.xml",
"java/res/drawable-hdpi/btn_star_filled.png",
"java/res/drawable-hdpi/ic_delete_white_24dp.png", "java/res/drawable-hdpi/ic_delete_white_24dp.png",
"java/res/drawable-hdpi/ic_folder_blue_24dp.png", "java/res/drawable-hdpi/ic_folder_blue_24dp.png",
"java/res/drawable-hdpi/ic_logo_googleg_24dp.png", "java/res/drawable-hdpi/ic_logo_googleg_24dp.png",
...@@ -41,6 +42,7 @@ android_resources("java_resources") { ...@@ -41,6 +42,7 @@ android_resources("java_resources") {
"java/res/drawable-hdpi/plus.png", "java/res/drawable-hdpi/plus.png",
"java/res/drawable-hdpi/settings_all_sites.png", "java/res/drawable-hdpi/settings_all_sites.png",
"java/res/drawable-hdpi/top_round.9.png", "java/res/drawable-hdpi/top_round.9.png",
"java/res/drawable-mdpi/btn_star_filled.png",
"java/res/drawable-mdpi/ic_delete_white_24dp.png", "java/res/drawable-mdpi/ic_delete_white_24dp.png",
"java/res/drawable-mdpi/ic_folder_blue_24dp.png", "java/res/drawable-mdpi/ic_folder_blue_24dp.png",
"java/res/drawable-mdpi/ic_logo_googleg_24dp.png", "java/res/drawable-mdpi/ic_logo_googleg_24dp.png",
...@@ -61,6 +63,7 @@ android_resources("java_resources") { ...@@ -61,6 +63,7 @@ android_resources("java_resources") {
"java/res/drawable-night-xhdpi/top_round.9.png", "java/res/drawable-night-xhdpi/top_round.9.png",
"java/res/drawable-night-xxhdpi/top_round.9.png", "java/res/drawable-night-xxhdpi/top_round.9.png",
"java/res/drawable-night-xxxhdpi/top_round.9.png", "java/res/drawable-night-xxxhdpi/top_round.9.png",
"java/res/drawable-xhdpi/btn_star_filled.png",
"java/res/drawable-xhdpi/ic_delete_white_24dp.png", "java/res/drawable-xhdpi/ic_delete_white_24dp.png",
"java/res/drawable-xhdpi/ic_folder_blue_24dp.png", "java/res/drawable-xhdpi/ic_folder_blue_24dp.png",
"java/res/drawable-xhdpi/ic_logo_googleg_24dp.png", "java/res/drawable-xhdpi/ic_logo_googleg_24dp.png",
...@@ -76,6 +79,7 @@ android_resources("java_resources") { ...@@ -76,6 +79,7 @@ android_resources("java_resources") {
"java/res/drawable-xhdpi/plus.png", "java/res/drawable-xhdpi/plus.png",
"java/res/drawable-xhdpi/settings_all_sites.png", "java/res/drawable-xhdpi/settings_all_sites.png",
"java/res/drawable-xhdpi/top_round.9.png", "java/res/drawable-xhdpi/top_round.9.png",
"java/res/drawable-xxhdpi/btn_star_filled.png",
"java/res/drawable-xxhdpi/ic_delete_white_24dp.png", "java/res/drawable-xxhdpi/ic_delete_white_24dp.png",
"java/res/drawable-xxhdpi/ic_folder_blue_24dp.png", "java/res/drawable-xxhdpi/ic_folder_blue_24dp.png",
"java/res/drawable-xxhdpi/ic_logo_googleg_24dp.png", "java/res/drawable-xxhdpi/ic_logo_googleg_24dp.png",
...@@ -91,6 +95,7 @@ android_resources("java_resources") { ...@@ -91,6 +95,7 @@ android_resources("java_resources") {
"java/res/drawable-xxhdpi/plus.png", "java/res/drawable-xxhdpi/plus.png",
"java/res/drawable-xxhdpi/settings_all_sites.png", "java/res/drawable-xxhdpi/settings_all_sites.png",
"java/res/drawable-xxhdpi/top_round.9.png", "java/res/drawable-xxhdpi/top_round.9.png",
"java/res/drawable-xxxhdpi/btn_star_filled.png",
"java/res/drawable-xxxhdpi/ic_delete_white_24dp.png", "java/res/drawable-xxxhdpi/ic_delete_white_24dp.png",
"java/res/drawable-xxxhdpi/ic_folder_blue_24dp.png", "java/res/drawable-xxxhdpi/ic_folder_blue_24dp.png",
"java/res/drawable-xxxhdpi/ic_logo_googleg_24dp.png", "java/res/drawable-xxxhdpi/ic_logo_googleg_24dp.png",
......
...@@ -28,6 +28,9 @@ ...@@ -28,6 +28,9 @@
@color/default_control_color_highlight_light @color/default_control_color_highlight_light
</color> </color>
<!-- Favicons -->
<color name="default_favicon_background_color">@color/default_control_color_normal_light</color>
<!-- Navigation bar colors --> <!-- Navigation bar colors -->
<color name="bottom_system_nav_color">@color/modern_white</color> <color name="bottom_system_nav_color">@color/modern_white</color>
<color name="bottom_system_nav_divider_color">@color/black_alpha_12</color> <color name="bottom_system_nav_divider_color">@color/black_alpha_12</color>
......
...@@ -36,7 +36,6 @@ mojom("mojom_platform") { ...@@ -36,7 +36,6 @@ mojom("mojom_platform") {
"clipboard/clipboard.mojom", "clipboard/clipboard.mojom",
"clipboard/raw_clipboard.mojom", "clipboard/raw_clipboard.mojom",
"commit_result/commit_result.mojom", "commit_result/commit_result.mojom",
"contacts/contacts_manager.mojom",
"content_index/content_index.mojom", "content_index/content_index.mojom",
"conversions/conversions.mojom", "conversions/conversions.mojom",
"cookie_store/cookie_store.mojom", "cookie_store/cookie_store.mojom",
...@@ -594,6 +593,7 @@ mojom("android_mojo_bindings") { ...@@ -594,6 +593,7 @@ mojom("android_mojo_bindings") {
"blob/blob_url_store.mojom", "blob/blob_url_store.mojom",
"blob/data_element.mojom", "blob/data_element.mojom",
"blob/serialized_blob.mojom", "blob/serialized_blob.mojom",
"contacts/contacts_manager.mojom",
"digital_goods/digital_goods.mojom", "digital_goods/digital_goods.mojom",
"document_metadata/document_metadata.mojom", "document_metadata/document_metadata.mojom",
"font_unique_name_lookup/font_unique_name_lookup.mojom", "font_unique_name_lookup/font_unique_name_lookup.mojom",
......
...@@ -216,6 +216,7 @@ android_library("ui_utils_java") { ...@@ -216,6 +216,7 @@ android_library("ui_utils_java") {
"//third_party/android_deps:androidx_appcompat_appcompat_java", "//third_party/android_deps:androidx_appcompat_appcompat_java",
"//third_party/android_deps:androidx_appcompat_appcompat_resources_java", "//third_party/android_deps:androidx_appcompat_appcompat_resources_java",
"//third_party/android_deps:androidx_core_core_java", "//third_party/android_deps:androidx_core_core_java",
"//third_party/blink/public/mojom:android_mojo_bindings_java",
"//third_party/blink/public/mojom:mojom_platform_java", "//third_party/blink/public/mojom:mojom_platform_java",
] ]
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment