[Data Sharing] Adjust shared image tiles theming

Add theming variant for share image tiles.

Append add button functionality.

Set maximum showing to be 3 instead of 5.

Bug: b/348735027
Change-Id: I8ed9667dc6a3a01bf445e0598705575f074a4d6c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5690660
Reviewed-by: Calder Kitagawa <[email protected]>
Commit-Queue: Hailey Wang <[email protected]>
Code-Coverage: [email protected] <[email protected]>
Reviewed-by: Salvador Guerrero Ramos <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1342551}
diff --git a/chrome/browser/data_sharing/BUILD.gn b/chrome/browser/data_sharing/BUILD.gn
index 3aa7fac5..63a3ec7 100644
--- a/chrome/browser/data_sharing/BUILD.gn
+++ b/chrome/browser/data_sharing/BUILD.gn
@@ -36,7 +36,6 @@
       "android/java/res/layout/data_sharing_bottom_sheet.xml",
       "android/java/res/layout/data_sharing_invitation_dialog_footer.xml",
       "android/java/res/layout/shared_image_tiles.xml",
-      "android/java/res/layout/shared_image_tiles_count.xml",
       "android/java/res/layout/shared_image_tiles_icon.xml",
       "android/java/res/values/dimens.xml",
     ]
@@ -98,15 +97,19 @@
     resources_package =
         "org.chromium.chrome.browser.data_sharing.ui.shared_image_tiles"
     sources = [
+      "android/java/src/org/chromium/chrome/browser/data_sharing/ui/shared_image_tiles/SharedImageTilesColor.java",
       "android/java/src/org/chromium/chrome/browser/data_sharing/ui/shared_image_tiles/SharedImageTilesCoordinator.java",
       "android/java/src/org/chromium/chrome/browser/data_sharing/ui/shared_image_tiles/SharedImageTilesMediator.java",
       "android/java/src/org/chromium/chrome/browser/data_sharing/ui/shared_image_tiles/SharedImageTilesProperties.java",
+      "android/java/src/org/chromium/chrome/browser/data_sharing/ui/shared_image_tiles/SharedImageTilesType.java",
+      "android/java/src/org/chromium/chrome/browser/data_sharing/ui/shared_image_tiles/SharedImageTilesView.java",
       "android/java/src/org/chromium/chrome/browser/data_sharing/ui/shared_image_tiles/SharedImageTilesViewBinder.java",
     ]
 
     deps = [
       ":java_resources",
       "//chrome/browser/ui/android/strings:ui_strings_grd",
+      "//components/browser_ui/styles/android:java",
       "//third_party/androidx:androidx_annotation_annotation_java",
       "//ui/android:ui_no_recycler_view_java",
     ]
@@ -176,16 +179,22 @@
   }
 
   robolectric_library("junit") {
-    sources = [ "android/java/src/org/chromium/chrome/browser/data_sharing/DataSharingNotificationManagerUnitTest.java" ]
+    sources = [
+      "android/java/src/org/chromium/chrome/browser/data_sharing/DataSharingNotificationManagerUnitTest.java",
+      "android/java/src/org/chromium/chrome/browser/data_sharing/ui/shared_image_tiles/SharedImageTilesCoordinatorUnitTest.java",
+    ]
     deps = [
       ":java",
+      ":shared_image_tiles_java",
       "//base:base_java",
       "//base:base_junit_test_support",
       "//chrome/browser/notifications:java",
       "//components/browser_ui/notifications/android:java",
       "//third_party/android_deps:robolectric_all_java",
+      "//third_party/androidx:androidx_test_core_java",
       "//third_party/junit:junit",
       "//third_party/mockito:mockito_java",
+      "//ui/android:ui_no_recycler_view_java",
     ]
   }