diff --git a/app/src/main/java/org/mozilla/fenix/settings/SupportUtils.kt b/app/src/main/java/org/mozilla/fenix/settings/SupportUtils.kt
index 5222d68ad3..eb8777db4d 100644
--- a/app/src/main/java/org/mozilla/fenix/settings/SupportUtils.kt
+++ b/app/src/main/java/org/mozilla/fenix/settings/SupportUtils.kt
@@ -28,7 +28,8 @@ object SupportUtils {
PRIVATE_BROWSING_MYTHS("common-myths-about-private-browsing"),
YOUR_RIGHTS("your-rights"),
TRACKING_PROTECTION("tracking-protection-firefox-preview"),
- WHATS_NEW("whats-new-firefox-preview")
+ WHATS_NEW("whats-new-firefox-preview"),
+ SEND_TABS("send-tab-firefox-preview-another-device")
}
/**
diff --git a/app/src/main/java/org/mozilla/fenix/share/AddNewDeviceFragment.kt b/app/src/main/java/org/mozilla/fenix/share/AddNewDeviceFragment.kt
new file mode 100644
index 0000000000..6e87a96e15
--- /dev/null
+++ b/app/src/main/java/org/mozilla/fenix/share/AddNewDeviceFragment.kt
@@ -0,0 +1,49 @@
+/* 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/. */
+
+package org.mozilla.fenix.share
+
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.appcompat.app.AlertDialog
+import androidx.appcompat.app.AppCompatActivity
+import androidx.fragment.app.Fragment
+import kotlinx.android.synthetic.main.fragment_add_new_device.*
+import org.mozilla.fenix.R
+import org.mozilla.fenix.settings.SupportUtils
+
+class AddNewDeviceFragment : Fragment() {
+ override fun onCreateView(
+ inflater: LayoutInflater,
+ container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View? = inflater.inflate(R.layout.fragment_add_new_device, container, false)
+
+ override fun onResume() {
+ super.onResume()
+ (activity as AppCompatActivity).title = getString(R.string.sync_add_new_device_title)
+ (activity as AppCompatActivity).supportActionBar?.show()
+ }
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+ learn_button.setOnClickListener {
+ val intent = SupportUtils.createCustomTabIntent(
+ requireContext(),
+ SupportUtils.getSumoURLForTopic(requireContext(), SupportUtils.SumoTopic.SEND_TABS)
+ )
+ startActivity(intent)
+ }
+
+ connect_button.setOnClickListener {
+ AlertDialog.Builder(requireContext()).apply {
+ setMessage(R.string.sync_connect_device_dialog)
+ setPositiveButton(R.string.sync_confirmation_button) { dialog, _ -> dialog.cancel() }
+ create()
+ }.show()
+ }
+ }
+}
diff --git a/app/src/main/java/org/mozilla/fenix/share/ShareController.kt b/app/src/main/java/org/mozilla/fenix/share/ShareController.kt
index 8c9b40b36f..ec231813c1 100644
--- a/app/src/main/java/org/mozilla/fenix/share/ShareController.kt
+++ b/app/src/main/java/org/mozilla/fenix/share/ShareController.kt
@@ -10,7 +10,6 @@ import android.content.Intent.ACTION_SEND
import android.content.Intent.EXTRA_TEXT
import android.content.Intent.FLAG_ACTIVITY_NEW_TASK
import androidx.annotation.VisibleForTesting
-import androidx.appcompat.app.AlertDialog
import androidx.fragment.app.Fragment
import androidx.navigation.NavController
import com.google.android.material.snackbar.Snackbar
@@ -88,11 +87,8 @@ class DefaultShareController(
}
override fun handleAddNewDevice() {
- AlertDialog.Builder(fragment.requireContext()).apply {
- setMessage(R.string.sync_connect_device_dialog)
- setPositiveButton(R.string.sync_confirmation_button) { dialog, _ -> dialog.cancel() }
- create()
- }.show()
+ val directions = ShareFragmentDirections.actionShareFragmentToAddNewDeviceFragment()
+ navController.navigate(directions)
}
override fun handleShareToDevice(device: Device) {
diff --git a/app/src/main/res/layout/fragment_add_new_device.xml b/app/src/main/res/layout/fragment_add_new_device.xml
new file mode 100644
index 0000000000..36234cd970
--- /dev/null
+++ b/app/src/main/res/layout/fragment_add_new_device.xml
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/navigation/nav_graph.xml b/app/src/main/res/navigation/nav_graph.xml
index a456014940..36a70dae92 100644
--- a/app/src/main/res/navigation/nav_graph.xml
+++ b/app/src/main/res/navigation/nav_graph.xml
@@ -504,6 +504,9 @@
+
+
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index b4259a690c..05929f178c 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -379,7 +379,6 @@
Open tabs
-
Delete history
@@ -597,6 +596,14 @@
Got it
Cannot share to this app
+
+ Send to device
+
+ No Devices Connected
+
+ Learn About Sending Tabs…
+
+ Connect Another Device…