From 5f652ea0c3082d04ee8c9730ddfce656e65449ca Mon Sep 17 00:00:00 2001 From: Tiger Oakes Date: Mon, 10 Aug 2020 10:22:33 -0700 Subject: [PATCH 1/5] Add tools: attributes for preview --- app/src/main/res/layout/fragment_home.xml | 5 ++- app/src/main/res/navigation/nav_graph.xml | 42 +++++++++++++++-------- 2 files changed, 32 insertions(+), 15 deletions(-) diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index ffcb7ad2f..23d861686 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -74,6 +74,9 @@ android:transitionGroup="false" android:importantForAccessibility="no" android:overScrollMode="never" + tools:listheader="@layout/collection_header" + tools:listitem="@layout/collection_home_list_row" + tools:itemCount="3" app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior"/> - \ No newline at end of file + diff --git a/app/src/main/res/navigation/nav_graph.xml b/app/src/main/res/navigation/nav_graph.xml index 2c14fb392..9aead7da9 100644 --- a/app/src/main/res/navigation/nav_graph.xml +++ b/app/src/main/res/navigation/nav_graph.xml @@ -304,7 +304,8 @@ + android:label="@string/bookmark_add_folder_fragment_label" + tools:layout="@layout/fragment_edit_bookmark"> @@ -388,7 +389,8 @@ + android:label="@string/edit" + tools:layout="@layout/fragment_edit_login"> + android:label="@string/preferences_sync" + tools:layout="@layout/fragment_turn_on_sync"> + android:label="@string/preferences_sync" + tools:layout="@layout/fragment_pair" /> + android:name="org.mozilla.fenix.crashes.CrashReporterFragment" + tools:layout="@layout/fragment_crash_reporter"> @@ -638,11 +643,13 @@ + android:label="@string/preferences_delete_browsing_data" + tools:layout="@layout/fragment_delete_browsing_data" /> + android:label="@string/preference_exceptions" + tools:layout="@layout/fragment_exceptions" /> + android:name="org.mozilla.fenix.settings.quicksettings.QuickSettingsSheetDialogFragment" + tools:layout="@layout/fragment_quick_settings_dialog_sheet"> @@ -739,10 +747,12 @@ + android:name="org.mozilla.fenix.settings.account.SignOutFragment" + tools:layout="@layout/fragment_sign_out" /> + android:name="org.mozilla.fenix.trackingprotection.TrackingProtectionPanelDialogFragment" + tools:layout="@layout/fragment_tracking_protection"> @@ -771,17 +781,20 @@ + android:name="org.mozilla.fenix.share.AddNewDeviceFragment" + tools:layout="@layout/fragment_add_new_device" /> + android:name="org.mozilla.fenix.settings.advanced.LocaleSettingsFragment" + tools:layout="@layout/fragment_locale_settings" /> + android:name="org.mozilla.fenix.addons.WebExtensionActionPopupFragment" + tools:layout="@layout/fragment_add_on_internal_settings"> @@ -792,7 +805,8 @@ + android:name="org.mozilla.fenix.tabhistory.TabHistoryDialogFragment" + tools:layout="@layout/fragment_tab_history_dialog" /> From 9777b8fad618201c8ecfac67451c97a63fb09d83 Mon Sep 17 00:00:00 2001 From: Tiger Oakes Date: Thu, 27 Aug 2020 18:26:35 -0700 Subject: [PATCH 2/5] =?UTF-8?q?FNX-14661=20=E2=81=83=20Delete=20drawables?= =?UTF-8?q?=20(#13481)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Delete unused drawabled Mostly leftovers from quick action bar * Remove duplicate drawables using tints --- .../customtabs/WebAppSiteControlsBuilder.kt | 2 +- .../session/PrivateNotificationService.kt | 2 +- .../main/res/drawable-v26/ic_menu_kebab.xml | 16 ---------- .../main/res/drawable/bookmark_two_state.xml | 11 ------- .../bookmarks_circle_background_filled.xml | 29 ----------------- .../bookmarks_circle_background_outline.xml | 29 ----------------- .../ic_collections_circle_background.xml | 32 ------------------- app/src/main/res/drawable/ic_library.xml | 13 -------- app/src/main/res/drawable/ic_link.xml | 2 +- .../main/res/drawable/ic_menu_tab_tray.xml | 13 -------- .../main/res/drawable/ic_pbm_notification.xml | 13 -------- .../res/drawable/ic_tab_circle_background.xml | 29 ----------------- .../drawable/ic_whats_new_notification.xml | 26 +++++++-------- ...brary_icon_app_links_circle_background.xml | 30 ----------------- ...brary_icon_downloads_circle_background.xml | 29 ----------------- ...library_icon_history_circle_background.xml | 29 ----------------- ...ary_icon_screenshots_circle_background.xml | 29 ----------------- .../res/drawable/mozac_ic_permissions.xml | 20 ------------ .../drawable/quick_action_icon_appearance.xml | 30 ----------------- .../res/drawable/quick_action_icon_read.xml | 29 ----------------- .../res/drawable/quick_action_icon_share.xml | 25 --------------- .../main/res/layout/component_tabstray.xml | 3 +- 22 files changed, 18 insertions(+), 423 deletions(-) delete mode 100644 app/src/main/res/drawable-v26/ic_menu_kebab.xml delete mode 100644 app/src/main/res/drawable/bookmark_two_state.xml delete mode 100644 app/src/main/res/drawable/bookmarks_circle_background_filled.xml delete mode 100644 app/src/main/res/drawable/bookmarks_circle_background_outline.xml delete mode 100644 app/src/main/res/drawable/ic_collections_circle_background.xml delete mode 100644 app/src/main/res/drawable/ic_library.xml delete mode 100644 app/src/main/res/drawable/ic_menu_tab_tray.xml delete mode 100644 app/src/main/res/drawable/ic_pbm_notification.xml delete mode 100644 app/src/main/res/drawable/ic_tab_circle_background.xml delete mode 100644 app/src/main/res/drawable/library_icon_app_links_circle_background.xml delete mode 100644 app/src/main/res/drawable/library_icon_downloads_circle_background.xml delete mode 100644 app/src/main/res/drawable/library_icon_history_circle_background.xml delete mode 100644 app/src/main/res/drawable/library_icon_screenshots_circle_background.xml delete mode 100644 app/src/main/res/drawable/mozac_ic_permissions.xml delete mode 100644 app/src/main/res/drawable/quick_action_icon_appearance.xml delete mode 100644 app/src/main/res/drawable/quick_action_icon_read.xml delete mode 100644 app/src/main/res/drawable/quick_action_icon_share.xml diff --git a/app/src/main/java/org/mozilla/fenix/customtabs/WebAppSiteControlsBuilder.kt b/app/src/main/java/org/mozilla/fenix/customtabs/WebAppSiteControlsBuilder.kt index f6e6facf2..b0596654c 100644 --- a/app/src/main/java/org/mozilla/fenix/customtabs/WebAppSiteControlsBuilder.kt +++ b/app/src/main/java/org/mozilla/fenix/customtabs/WebAppSiteControlsBuilder.kt @@ -30,7 +30,7 @@ class WebAppSiteControlsBuilder( if (!isPrivateSession) { return } - builder.setSmallIcon(R.drawable.ic_pbm_notification) + builder.setSmallIcon(R.drawable.ic_private_browsing) builder.setContentTitle(context.getString(R.string.pwa_site_controls_title_private, manifest.name)) } diff --git a/app/src/main/java/org/mozilla/fenix/session/PrivateNotificationService.kt b/app/src/main/java/org/mozilla/fenix/session/PrivateNotificationService.kt index d38101c76..b0728e67f 100644 --- a/app/src/main/java/org/mozilla/fenix/session/PrivateNotificationService.kt +++ b/app/src/main/java/org/mozilla/fenix/session/PrivateNotificationService.kt @@ -30,7 +30,7 @@ class PrivateNotificationService : AbstractPrivateNotificationService() { override val store: BrowserStore by lazy { components.core.store } override fun NotificationCompat.Builder.buildNotification() { - setSmallIcon(R.drawable.ic_pbm_notification) + setSmallIcon(R.drawable.ic_private_browsing) setContentTitle(getString(R.string.app_name_private_4, getString(R.string.app_name))) setContentText(getString(R.string.notification_pbm_delete_text_2)) color = ContextCompat.getColor(this@PrivateNotificationService, R.color.pbm_notification_color) diff --git a/app/src/main/res/drawable-v26/ic_menu_kebab.xml b/app/src/main/res/drawable-v26/ic_menu_kebab.xml deleted file mode 100644 index d1cc76820..000000000 --- a/app/src/main/res/drawable-v26/ic_menu_kebab.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - diff --git a/app/src/main/res/drawable/bookmark_two_state.xml b/app/src/main/res/drawable/bookmark_two_state.xml deleted file mode 100644 index 3b704a91e..000000000 --- a/app/src/main/res/drawable/bookmark_two_state.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - diff --git a/app/src/main/res/drawable/bookmarks_circle_background_filled.xml b/app/src/main/res/drawable/bookmarks_circle_background_filled.xml deleted file mode 100644 index a847916a2..000000000 --- a/app/src/main/res/drawable/bookmarks_circle_background_filled.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable/bookmarks_circle_background_outline.xml b/app/src/main/res/drawable/bookmarks_circle_background_outline.xml deleted file mode 100644 index dbbbf8c30..000000000 --- a/app/src/main/res/drawable/bookmarks_circle_background_outline.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable/ic_collections_circle_background.xml b/app/src/main/res/drawable/ic_collections_circle_background.xml deleted file mode 100644 index 6b314cd82..000000000 --- a/app/src/main/res/drawable/ic_collections_circle_background.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable/ic_library.xml b/app/src/main/res/drawable/ic_library.xml deleted file mode 100644 index a83b781a2..000000000 --- a/app/src/main/res/drawable/ic_library.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - diff --git a/app/src/main/res/drawable/ic_link.xml b/app/src/main/res/drawable/ic_link.xml index f5be9216d..87e43535b 100644 --- a/app/src/main/res/drawable/ic_link.xml +++ b/app/src/main/res/drawable/ic_link.xml @@ -8,6 +8,6 @@ android:viewportWidth="24" android:viewportHeight="24"> diff --git a/app/src/main/res/drawable/ic_menu_tab_tray.xml b/app/src/main/res/drawable/ic_menu_tab_tray.xml deleted file mode 100644 index b356d5ba4..000000000 --- a/app/src/main/res/drawable/ic_menu_tab_tray.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - diff --git a/app/src/main/res/drawable/ic_pbm_notification.xml b/app/src/main/res/drawable/ic_pbm_notification.xml deleted file mode 100644 index 802a5c0da..000000000 --- a/app/src/main/res/drawable/ic_pbm_notification.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - diff --git a/app/src/main/res/drawable/ic_tab_circle_background.xml b/app/src/main/res/drawable/ic_tab_circle_background.xml deleted file mode 100644 index 6c1fcb08c..000000000 --- a/app/src/main/res/drawable/ic_tab_circle_background.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable/ic_whats_new_notification.xml b/app/src/main/res/drawable/ic_whats_new_notification.xml index d05fc67b0..363fc588d 100644 --- a/app/src/main/res/drawable/ic_whats_new_notification.xml +++ b/app/src/main/res/drawable/ic_whats_new_notification.xml @@ -3,17 +3,17 @@ - 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/. --> - - - + + + - - - - - \ No newline at end of file + + + + + diff --git a/app/src/main/res/drawable/library_icon_app_links_circle_background.xml b/app/src/main/res/drawable/library_icon_app_links_circle_background.xml deleted file mode 100644 index fceb59797..000000000 --- a/app/src/main/res/drawable/library_icon_app_links_circle_background.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable/library_icon_downloads_circle_background.xml b/app/src/main/res/drawable/library_icon_downloads_circle_background.xml deleted file mode 100644 index 6ca85d50b..000000000 --- a/app/src/main/res/drawable/library_icon_downloads_circle_background.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable/library_icon_history_circle_background.xml b/app/src/main/res/drawable/library_icon_history_circle_background.xml deleted file mode 100644 index 714342ab0..000000000 --- a/app/src/main/res/drawable/library_icon_history_circle_background.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable/library_icon_screenshots_circle_background.xml b/app/src/main/res/drawable/library_icon_screenshots_circle_background.xml deleted file mode 100644 index 47487182b..000000000 --- a/app/src/main/res/drawable/library_icon_screenshots_circle_background.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable/mozac_ic_permissions.xml b/app/src/main/res/drawable/mozac_ic_permissions.xml deleted file mode 100644 index 6817c3819..000000000 --- a/app/src/main/res/drawable/mozac_ic_permissions.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - diff --git a/app/src/main/res/drawable/quick_action_icon_appearance.xml b/app/src/main/res/drawable/quick_action_icon_appearance.xml deleted file mode 100644 index 783a50da8..000000000 --- a/app/src/main/res/drawable/quick_action_icon_appearance.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/quick_action_icon_read.xml b/app/src/main/res/drawable/quick_action_icon_read.xml deleted file mode 100644 index 831d1539a..000000000 --- a/app/src/main/res/drawable/quick_action_icon_read.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable/quick_action_icon_share.xml b/app/src/main/res/drawable/quick_action_icon_share.xml deleted file mode 100644 index 9adf47ea6..000000000 --- a/app/src/main/res/drawable/quick_action_icon_share.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/component_tabstray.xml b/app/src/main/res/layout/component_tabstray.xml index b90dcea71..ca2689b4a 100644 --- a/app/src/main/res/layout/component_tabstray.xml +++ b/app/src/main/res/layout/component_tabstray.xml @@ -149,10 +149,11 @@ android:background="?android:attr/selectableItemBackgroundBorderless" android:contentDescription="@string/open_tabs_menu" android:visibility="visible" + app:tint="@color/accent_normal_theme" app:layout_constraintBottom_toBottomOf="@id/tab_layout" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="@id/tab_layout" - app:srcCompat="@drawable/ic_menu_tab_tray" /> + app:srcCompat="@drawable/ic_menu" /> Date: Thu, 27 Aug 2020 18:27:34 -0700 Subject: [PATCH 3/5] Add tests for collection creation (#13909) --- .../collections/CollectionCreationStore.kt | 6 +- .../CollectionCreationStoreTest.kt | 76 +++++++++++++++++++ .../CollectionCreationTabListAdapterTest.kt | 47 ++++++++++-- 3 files changed, 119 insertions(+), 10 deletions(-) create mode 100644 app/src/test/java/org/mozilla/fenix/collections/CollectionCreationStoreTest.kt diff --git a/app/src/main/java/org/mozilla/fenix/collections/CollectionCreationStore.kt b/app/src/main/java/org/mozilla/fenix/collections/CollectionCreationStore.kt index c7d4edffa..f15ccf963 100644 --- a/app/src/main/java/org/mozilla/fenix/collections/CollectionCreationStore.kt +++ b/app/src/main/java/org/mozilla/fenix/collections/CollectionCreationStore.kt @@ -67,6 +67,8 @@ private fun collectionCreationReducer( is CollectionCreationAction.RemoveAllTabs -> prevState.copy(selectedTabs = emptySet()) is CollectionCreationAction.TabAdded -> prevState.copy(selectedTabs = prevState.selectedTabs + action.tab) is CollectionCreationAction.TabRemoved -> prevState.copy(selectedTabs = prevState.selectedTabs - action.tab) - is CollectionCreationAction.StepChanged -> prevState.copy(saveCollectionStep = action.saveCollectionStep, - defaultCollectionNumber = action.defaultCollectionNumber) + is CollectionCreationAction.StepChanged -> prevState.copy( + saveCollectionStep = action.saveCollectionStep, + defaultCollectionNumber = action.defaultCollectionNumber + ) } diff --git a/app/src/test/java/org/mozilla/fenix/collections/CollectionCreationStoreTest.kt b/app/src/test/java/org/mozilla/fenix/collections/CollectionCreationStoreTest.kt new file mode 100644 index 000000000..e6d42072d --- /dev/null +++ b/app/src/test/java/org/mozilla/fenix/collections/CollectionCreationStoreTest.kt @@ -0,0 +1,76 @@ +/* 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.collections + +import io.mockk.mockk +import mozilla.components.support.test.ext.joinBlocking +import org.junit.Assert.assertEquals +import org.junit.Test +import org.junit.runner.RunWith +import org.mozilla.fenix.helpers.FenixRobolectricTestRunner +import org.mozilla.fenix.home.Tab + +@RunWith(FenixRobolectricTestRunner::class) +class CollectionCreationStoreTest { + + @Test + fun `select and deselect all tabs`() { + val tabs = listOf(mockk(), mockk()) + val store = CollectionCreationStore( + CollectionCreationState( + tabs = tabs, + selectedTabs = emptySet() + ) + ) + + store.dispatch(CollectionCreationAction.AddAllTabs).joinBlocking() + assertEquals(tabs.toSet(), store.state.selectedTabs) + + store.dispatch(CollectionCreationAction.RemoveAllTabs).joinBlocking() + assertEquals(emptySet(), store.state.selectedTabs) + } + + @Test + fun `select and deselect individual tabs`() { + val tab1 = mockk() + val tab2 = mockk() + val tab3 = mockk() + val store = CollectionCreationStore( + CollectionCreationState( + tabs = listOf(tab1, tab2), + selectedTabs = setOf(tab2) + ) + ) + + store.dispatch(CollectionCreationAction.TabAdded(tab2)).joinBlocking() + assertEquals(setOf(tab2), store.state.selectedTabs) + + store.dispatch(CollectionCreationAction.TabAdded(tab1)).joinBlocking() + assertEquals(setOf(tab1, tab2), store.state.selectedTabs) + + store.dispatch(CollectionCreationAction.TabAdded(tab3)).joinBlocking() + assertEquals(setOf(tab1, tab2, tab3), store.state.selectedTabs) + + store.dispatch(CollectionCreationAction.TabRemoved(tab2)).joinBlocking() + assertEquals(setOf(tab1, tab3), store.state.selectedTabs) + } + + @Test + fun `change the current step`() { + val store = CollectionCreationStore( + CollectionCreationState( + saveCollectionStep = SaveCollectionStep.SelectTabs, + defaultCollectionNumber = 1 + ) + ) + + store.dispatch(CollectionCreationAction.StepChanged( + saveCollectionStep = SaveCollectionStep.RenameCollection, + defaultCollectionNumber = 3 + )).joinBlocking() + assertEquals(SaveCollectionStep.RenameCollection, store.state.saveCollectionStep) + assertEquals(3, store.state.defaultCollectionNumber) + } +} diff --git a/app/src/test/java/org/mozilla/fenix/collections/CollectionCreationTabListAdapterTest.kt b/app/src/test/java/org/mozilla/fenix/collections/CollectionCreationTabListAdapterTest.kt index cc451b1ff..2d75a5565 100644 --- a/app/src/test/java/org/mozilla/fenix/collections/CollectionCreationTabListAdapterTest.kt +++ b/app/src/test/java/org/mozilla/fenix/collections/CollectionCreationTabListAdapterTest.kt @@ -28,11 +28,18 @@ class CollectionCreationTabListAdapterTest { private lateinit var interactor: CollectionCreationInteractor private lateinit var adapter: CollectionCreationTabListAdapter + private lateinit var mozillaTab: Tab @Before fun setup() { interactor = mockk() adapter = CollectionCreationTabListAdapter(interactor) + mozillaTab = mockk { + every { sessionId } returns "abc" + every { title } returns "Mozilla" + every { hostname } returns "mozilla.org" + every { url } returns "https://mozilla.org" + } every { interactor.selectCollection(any(), any()) } just Runs } @@ -52,15 +59,10 @@ class CollectionCreationTabListAdapterTest { @Test fun `creates and binds viewholder`() { - val tab = mockk { - every { sessionId } returns "abc" - every { title } returns "Mozilla" - every { hostname } returns "mozilla.org" - every { url } returns "https://mozilla.org" - } adapter.updateData( - tabs = listOf(tab), - selectedTabs = emptySet() + tabs = listOf(mozillaTab), + selectedTabs = emptySet(), + hideCheckboxes = false ) val holder = adapter.createViewHolder(FrameLayout(testContext), 0) @@ -70,6 +72,35 @@ class CollectionCreationTabListAdapterTest { assertEquals("mozilla.org", holder.hostname.text) assertFalse(holder.tab_selected_checkbox.isInvisible) assertTrue(holder.itemView.isClickable) + + every { interactor.addTabToSelection(mozillaTab) } just Runs + every { interactor.removeTabFromSelection(mozillaTab) } just Runs + assertFalse(holder.tab_selected_checkbox.isChecked) + + holder.tab_selected_checkbox.isChecked = true + verify { interactor.addTabToSelection(mozillaTab) } + + holder.tab_selected_checkbox.isChecked = false + verify { interactor.removeTabFromSelection(mozillaTab) } + } + + @Test + fun `creates and binds viewholder for selected tab`() { + every { interactor.addTabToSelection(mozillaTab) } just Runs + + adapter.updateData( + tabs = listOf(mozillaTab), + selectedTabs = setOf(mozillaTab), + hideCheckboxes = true + ) + + val holder = adapter.createViewHolder(FrameLayout(testContext), 0) + adapter.bindViewHolder(holder, 0) + + assertEquals("Mozilla", holder.tab_title.text) + assertEquals("mozilla.org", holder.hostname.text) + assertTrue(holder.tab_selected_checkbox.isInvisible) + assertFalse(holder.itemView.isClickable) } @Test From 50ac4fe17d5bda4ed4ca57d919f35caef5e5f329 Mon Sep 17 00:00:00 2001 From: Tiger Oakes Date: Thu, 27 Aug 2020 18:27:57 -0700 Subject: [PATCH 4/5] Use shared list widget in tab history (#13884) --- .../fenix/tabhistory/TabHistoryAdapter.kt | 3 +- .../fenix/tabhistory/TabHistoryViewHolder.kt | 32 ++++++------ .../fenix/tabhistory/TabHistoryAdapterTest.kt | 17 ++----- .../tabhistory/TabHistoryViewHolderTest.kt | 51 ++++++++++++------- 4 files changed, 55 insertions(+), 48 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/tabhistory/TabHistoryAdapter.kt b/app/src/main/java/org/mozilla/fenix/tabhistory/TabHistoryAdapter.kt index 96e130079..8293d20ee 100644 --- a/app/src/main/java/org/mozilla/fenix/tabhistory/TabHistoryAdapter.kt +++ b/app/src/main/java/org/mozilla/fenix/tabhistory/TabHistoryAdapter.kt @@ -8,6 +8,7 @@ import android.view.LayoutInflater import android.view.ViewGroup import androidx.recyclerview.widget.DiffUtil import androidx.recyclerview.widget.ListAdapter +import mozilla.components.ui.widgets.WidgetSiteItemView import org.mozilla.fenix.R data class TabHistoryItem( @@ -23,7 +24,7 @@ class TabHistoryAdapter( override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): TabHistoryViewHolder { val view = LayoutInflater.from(parent.context) - .inflate(R.layout.tab_history_list_item, parent, false) + .inflate(R.layout.site_list_item, parent, false) as WidgetSiteItemView return TabHistoryViewHolder(view, interactor) } diff --git a/app/src/main/java/org/mozilla/fenix/tabhistory/TabHistoryViewHolder.kt b/app/src/main/java/org/mozilla/fenix/tabhistory/TabHistoryViewHolder.kt index 0f001590b..d81593e43 100644 --- a/app/src/main/java/org/mozilla/fenix/tabhistory/TabHistoryViewHolder.kt +++ b/app/src/main/java/org/mozilla/fenix/tabhistory/TabHistoryViewHolder.kt @@ -4,40 +4,38 @@ package org.mozilla.fenix.tabhistory -import android.view.View -import androidx.core.view.isVisible -import kotlinx.android.synthetic.main.tab_history_list_item.* +import androidx.recyclerview.widget.RecyclerView +import mozilla.components.browser.icons.BrowserIcons import mozilla.components.support.ktx.android.content.getColorFromAttr +import mozilla.components.ui.widgets.WidgetSiteItemView import org.mozilla.fenix.R -import org.mozilla.fenix.library.LibrarySiteItemView -import org.mozilla.fenix.utils.view.ViewHolder +import org.mozilla.fenix.ext.components +import org.mozilla.fenix.ext.loadIntoView class TabHistoryViewHolder( - view: View, - private val interactor: TabHistoryViewInteractor -) : ViewHolder(view) { + private val view: WidgetSiteItemView, + private val interactor: TabHistoryViewInteractor, + private val icons: BrowserIcons = view.context.components.core.icons +) : RecyclerView.ViewHolder(view) { private lateinit var item: TabHistoryItem init { - history_layout.setOnClickListener { interactor.goToHistoryItem(item) } + view.setOnClickListener { interactor.goToHistoryItem(item) } } fun bind(item: TabHistoryItem) { this.item = item - history_layout.displayAs(LibrarySiteItemView.ItemType.SITE) - history_layout.overflowView.isVisible = false - history_layout.titleView.text = item.title - history_layout.urlView.text = item.url - history_layout.loadFavicon(item.url) + view.setText(label = item.title, caption = item.url) + icons.loadIntoView(view.iconView, item.url) if (item.isSelected) { - history_layout.setBackgroundColor( - history_layout.context.getColorFromAttr(R.attr.tabHistoryItemSelectedBackground) + view.setBackgroundColor( + view.context.getColorFromAttr(R.attr.tabHistoryItemSelectedBackground) ) } else { - history_layout.background = null + view.background = null } } } diff --git a/app/src/test/java/org/mozilla/fenix/tabhistory/TabHistoryAdapterTest.kt b/app/src/test/java/org/mozilla/fenix/tabhistory/TabHistoryAdapterTest.kt index 7bfd37904..a96a5d716 100644 --- a/app/src/test/java/org/mozilla/fenix/tabhistory/TabHistoryAdapterTest.kt +++ b/app/src/test/java/org/mozilla/fenix/tabhistory/TabHistoryAdapterTest.kt @@ -5,15 +5,13 @@ package org.mozilla.fenix.tabhistory import android.content.Context -import android.graphics.drawable.ColorDrawable import android.widget.FrameLayout import androidx.appcompat.view.ContextThemeWrapper import io.mockk.MockKAnnotations import io.mockk.impl.annotations.MockK -import kotlinx.android.synthetic.main.history_list_item.* -import mozilla.components.support.ktx.android.content.getColorFromAttr +import io.mockk.spyk +import io.mockk.verify import mozilla.components.support.test.robolectric.testContext -import org.junit.Assert.assertEquals import org.junit.Assert.assertFalse import org.junit.Assert.assertTrue import org.junit.Before @@ -56,18 +54,13 @@ class TabHistoryAdapterTest { fun `creates and binds view holder`() { adapter.submitList(listOf(selectedItem, unselectedItem)) - val holder = adapter.createViewHolder(parent, 0) + val holder = spyk(adapter.createViewHolder(parent, 0)) adapter.bindViewHolder(holder, 0) - assertEquals("Mozilla", holder.history_layout.titleView.text) - assertEquals( - context.getColorFromAttr(R.attr.tabHistoryItemSelectedBackground), - (holder.history_layout.background as ColorDrawable).color - ) + verify { holder.bind(selectedItem) } adapter.bindViewHolder(holder, 1) - assertEquals("Firefox", holder.history_layout.titleView.text) - assertEquals(null, holder.history_layout.background) + verify { holder.bind(unselectedItem) } } @Test diff --git a/app/src/test/java/org/mozilla/fenix/tabhistory/TabHistoryViewHolderTest.kt b/app/src/test/java/org/mozilla/fenix/tabhistory/TabHistoryViewHolderTest.kt index e6598c1b9..d7d980294 100644 --- a/app/src/test/java/org/mozilla/fenix/tabhistory/TabHistoryViewHolderTest.kt +++ b/app/src/test/java/org/mozilla/fenix/tabhistory/TabHistoryViewHolderTest.kt @@ -10,28 +10,42 @@ import io.mockk.just import io.mockk.mockk import io.mockk.slot import io.mockk.verify +import mozilla.components.browser.icons.BrowserIcons +import mozilla.components.browser.icons.IconRequest +import mozilla.components.ui.widgets.WidgetSiteItemView import org.junit.Before import org.junit.Test -import org.mozilla.fenix.R -import org.mozilla.fenix.library.LibrarySiteItemView class TabHistoryViewHolderTest { - @MockK private lateinit var view: View + @MockK(relaxed = true) private lateinit var view: WidgetSiteItemView @MockK private lateinit var interactor: TabHistoryViewInteractor - @MockK(relaxed = true) private lateinit var siteItemView: LibrarySiteItemView + @MockK private lateinit var icons: BrowserIcons private lateinit var holder: TabHistoryViewHolder private lateinit var onClick: CapturingSlot + private val selectedItem = TabHistoryItem( + title = "Mozilla", + url = "https://mozilla.org", + index = 0, + isSelected = true + ) + private val unselectedItem = TabHistoryItem( + title = "Firefox", + url = "https://firefox.com", + index = 1, + isSelected = false + ) + @Before fun setup() { MockKAnnotations.init(this) onClick = slot() - every { siteItemView.setOnClickListener(capture(onClick)) } just Runs - every { view.findViewById(R.id.history_layout) } returns siteItemView + every { view.setOnClickListener(capture(onClick)) } just Runs + every { icons.loadIntoView(view.iconView, any()) } returns mockk() - holder = TabHistoryViewHolder(view, interactor) + holder = TabHistoryViewHolder(view, interactor, icons) } @Test @@ -46,17 +60,18 @@ class TabHistoryViewHolderTest { @Test fun `binds title and url`() { - val item = TabHistoryItem( - title = "Firefox", - url = "https://firefox.com", - index = 1, - isSelected = false - ) - holder.bind(item) + holder.bind(unselectedItem) + + verify { view.setText(label = "Firefox", caption = "https://firefox.com") } + verify { icons.loadIntoView(view.iconView, IconRequest("https://firefox.com")) } + } + + @Test + fun `binds background`() { + holder.bind(selectedItem) + verify { view.setBackgroundColor(any()) } - verify { siteItemView.displayAs(LibrarySiteItemView.ItemType.SITE) } - verify { siteItemView.titleView.text = "Firefox" } - verify { siteItemView.urlView.text = "https://firefox.com" } - verify { siteItemView.loadFavicon("https://firefox.com") } + holder.bind(unselectedItem) + verify { view.background = null } } } From 4a7399325933b4d7c1f59f4aaeb2b507ae6c01e4 Mon Sep 17 00:00:00 2001 From: Mozilla L10n Automation Bot Date: Fri, 28 Aug 2020 00:05:54 +0000 Subject: [PATCH 5/5] Import l10n. --- app/src/main/res/values-cy/strings.xml | 61 ++++++++++++++++--- app/src/main/res/values-da/strings.xml | 69 ++++++++++++++++++---- app/src/main/res/values-de/strings.xml | 33 +++++++++++ app/src/main/res/values-en-rCA/strings.xml | 33 +++++++++++ app/src/main/res/values-es-rAR/strings.xml | 43 ++++++++++++-- app/src/main/res/values-fi/strings.xml | 33 +++++++++++ app/src/main/res/values-hsb/strings.xml | 26 ++++++++ app/src/main/res/values-hu/strings.xml | 33 +++++++++++ app/src/main/res/values-it/strings.xml | 12 ++-- app/src/main/res/values-iw/strings.xml | 33 +++++++++++ app/src/main/res/values-ka/strings.xml | 61 ++++++++++++++++--- app/src/main/res/values-kab/strings.xml | 33 +++++++++++ app/src/main/res/values-ko/strings.xml | 33 +++++++++++ app/src/main/res/values-nb-rNO/strings.xml | 33 +++++++++++ app/src/main/res/values-pt-rBR/strings.xml | 34 +++++++++++ app/src/main/res/values-sk/strings.xml | 28 ++++++--- app/src/main/res/values-sr/strings.xml | 12 ++-- app/src/main/res/values-sv-rSE/strings.xml | 26 +++++++- app/src/main/res/values-tr/strings.xml | 43 ++++++++++++-- app/src/main/res/values-uk/strings.xml | 33 +++++++++++ app/src/main/res/values-zh-rCN/strings.xml | 26 ++++++++ app/src/main/res/values-zh-rTW/strings.xml | 33 +++++++++++ l10n.toml | 1 + 23 files changed, 718 insertions(+), 54 deletions(-) diff --git a/app/src/main/res/values-cy/strings.xml b/app/src/main/res/values-cy/strings.xml index af2206f29..6206f6aae 100644 --- a/app/src/main/res/values-cy/strings.xml +++ b/app/src/main/res/values-cy/strings.xml @@ -79,6 +79,28 @@ Nid nawr + + + Gallwch osod Firefox i agor dolenni mewn apiau’n awtomatig. + + Mynd i gosodiadau + + Cau + + + Mae angen mynediad i’r camera. Ewch i osodiadau Android, tapiwch Permissions, a thapio Allow. + + Mynd i’r gosodiadau + + Cau + + + Gosodwch dabiau agored sydd heb eu darllen yn ystod y diwrnod, yr wythnos neu’r mis diwethaf i gau’n awtomatig. + + Gweld y dewisiadau + + Cau + Tab newydd @@ -308,6 +330,9 @@ Ychwanegion + + Hysbysiadau + Cydweddu nawr @@ -531,6 +556,8 @@ Tynnu + + Dileu o’r hanes %1$s (Modd Preifat) @@ -575,6 +602,13 @@ Dim hanes yma + + + Dim llwythi yma + + %1$d wedi’u dewis + Ymddiheuriadau, nid yw %1$s yn gallu llwytho’r dudalen honno. @@ -730,10 +764,8 @@ Casgliadau Dewislen casgliadau - - Casglwch y pethau sy’n bwysig i chi - Grwpiwch chwiliadau, gwefannau a thabiau tebyg ar gyfer mynediad cyflym yn y dyfodol. + Casglwch y pethau sydd o bwys i chi.\nCrynhowch ynghyd chwiliadau, gwefannau a thabiau tebyg i gael mynediad cyflym yn hwyrach. Dewis Tabiau @@ -980,9 +1012,10 @@ Fodd bynnag, gall fod yn llai sefydlog. Llwythwch ein porwr Beta i gael profiad Oes gennych gwestiynau am y %s wedi’u hailgynllunio? Eisiau gwybod beth sydd wedi newid? Cewch atebion yma - - Cael y gorau o %s. + + Cychwynnwch gydweddu nodau tudalen, cyfrineiriau, a rhagor gyda’ch cyfrif Firefox. + + Dysgu rhagor @@ -1472,6 +1505,9 @@ Fodd bynnag, gall fod yn llai sefydlog. Llwythwch ein porwr Beta i gael profiad Mewngofnodi i gydweddu + + Dim tabiau agored + Wedi cyrraedd terfyn nifer eich hoff wefannau @@ -1480,4 +1516,15 @@ Fodd bynnag, gall fod yn llai sefydlog. Llwythwch ein porwr Beta i gael profiad Iawn, Wedi deall! - + + Tynnu + + + Cael y gorau o %s. + + + Casglwch y pethau sy’n bwysig i chi + + Grwpiwch chwiliadau, gwefannau a thabiau tebyg ar gyfer mynediad cyflym yn y dyfodol. + diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index a6f8c1f30..afd70ce85 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -78,6 +78,28 @@ Ikke nu + + + Du kan sætte Firefox til automatisk at åbne links i apps. + + Gå til indstillinger + + Afvis + + + Adgang til kamera er nødvendig. Gå til Indstillinger i Android, tryk på Tilladelser, og tryk så på Tillad. + + Gå til indstillinger + + Afvis + + + Luk automatisk åbne faneblade, hvis de ikke har været vist den seneste dag, uge eller måned. + + Vis indstillinger + + Afvis + Nyt faneblad @@ -298,10 +320,15 @@ Kontoindstillinger - Åbn links i app + Åbn links i apps + + Ekstern håndtering af filhentning Tilføjelser + + Meddelelser + Synkroniser nu @@ -341,7 +368,7 @@ Modtagne faneblade - Notifikationer for faneblade modtaget fra andre Firefox-enheder. + Meddelelser for faneblade modtaget fra andre Firefox-enheder. Modtaget faneblad @@ -524,6 +551,8 @@ Fjern + + Slet fra historik %1$s (Privat tilstand) @@ -568,6 +597,13 @@ Ingen historik + + + Ingen filhentninger her + + %1$d valgt + %1$s kan ikke indlæse siden. @@ -686,7 +722,7 @@ Position - Notifikation + Meddelelser Spørg om tilladelse @@ -721,10 +757,8 @@ Samlinger Samlings-menu - - Saml de ting, der betyder noget for dig - Saml relaterede søgninger, websteder og faneblade i grupper. Så kan du hurtigt finde dem igen. + Saml de ting, der betyder noget for dig.\nSaml relaterede søgninger, websteder og faneblade i grupper. Så kan du hurtigt finde dem igen. Vælg faneblade @@ -878,7 +912,7 @@ Skriftstørrelsen vil være den samme som i dine Android-indstillinger. Deaktiver for selv at indstille skriftstørrelse her. - Slet browser-data + Slet browserdata Åbne faneblade @@ -971,9 +1005,10 @@ Har du spørgsmål om den nye version af %s? Vil du vide, hvad der er ændret? Få svar her - - Få det meste ud af %s. + + Begynd at synkronisere bogmærker, adgangskoder m.m. med din Firefox-konto. + + Læs mere @@ -1458,6 +1493,9 @@ Log ind på Sync + + Ingen åbne faneblade + Grænsen for Mest besøgte websider er nået @@ -1466,4 +1504,15 @@ Ok, forstået + + Fjern + + + Få det meste ud af %s. + + + Saml de ting, der betyder noget for dig + + Saml relaterede søgninger, websteder og faneblade i grupper. Så kan du hurtigt finde dem igen. diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 8b42d3d28..252cf5a89 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -82,6 +82,28 @@ Jetzt nicht + + + Sie können Firefox so einstellen, dass Links automatisch in Apps geöffnet werden. + + Einstellungen öffnen + + Schließen + + + Kamerazugriff erforderlich. Öffnen Sie die Android-Einstellungen, tippen Sie auf Berechtigungen und tippen Sie auf Erlauben. + + Einstellungen öffnen + + Schließen + + + Stellen Sie geöffnete Tabs so ein, dass sie automatisch geschlossen werden, die am letzten Tag, in der letzten Woche oder im letzten Monat nicht angesehen wurden. + + Optionen anzeigen + + Schließen + Neuer Tab @@ -545,6 +567,8 @@ Entfernen + + Aus Chronik löschen %1$s (Privater Modus) @@ -1527,4 +1551,13 @@ Entfernen + + + Machen Sie das Beste aus %s. + + + Sammeln Sie die Dinge, die Ihnen wichtig sind + + Gruppieren Sie ähnliche Suchanfragen, Websites und Tabs, um später schnell darauf zugreifen zu können. diff --git a/app/src/main/res/values-en-rCA/strings.xml b/app/src/main/res/values-en-rCA/strings.xml index 191dd20b7..c9aab218e 100644 --- a/app/src/main/res/values-en-rCA/strings.xml +++ b/app/src/main/res/values-en-rCA/strings.xml @@ -79,6 +79,28 @@ Not now + + + You can set Firefox to automatically open links in apps. + + Go to settings + + Dismiss + + + Camera access needed. Go to Android settings, tap permissions, and tap allow. + + Go to settings + + Dismiss + + + Set open tabs to close automatically that haven’t been viewed in the past day, week, or month. + + View options + + Dismiss + New tab @@ -531,6 +553,8 @@ Remove + + Delete from history %1$s (Private Mode) @@ -1484,4 +1508,13 @@ Remove + + + Get the most out of %s. + + + Collect the things that matter to you + + Group together similar searches, sites, and tabs for quick access later. diff --git a/app/src/main/res/values-es-rAR/strings.xml b/app/src/main/res/values-es-rAR/strings.xml index 59af24893..30ecaa903 100644 --- a/app/src/main/res/values-es-rAR/strings.xml +++ b/app/src/main/res/values-es-rAR/strings.xml @@ -80,6 +80,28 @@ Ahora no + + + Podés configurar Firefox para que abra automáticamente enlaces en aplicaciones. + + Ir a Ajustes + + Descartar + + + Se necesita acceso a la cámara. Andá a la configuración de Android, pulsá permisos y permitir. + + Ir a Ajustes + + Descartar + + + Configurar las pestañas abiertas para que se cierren automáticamente las que no se hayan visto en el último día, semana o mes. + + Ver opciones + + Descartar + Nueva pestaña @@ -550,6 +572,8 @@ Eliminar + + Eliminar del historial %1$s (modo privado) @@ -759,10 +783,8 @@ Colecciones Menú de colecciones - - Recolectá lo que te importa - Agrupar búsquedas, sitios y pestañas similares para acceder rápidamente más tarde. + Recolectá lo que te importa.\nAgrupá búsquedas, sitios y pestañas similares para un acceso rápido más tarde. Seleccionar pestañas @@ -1010,8 +1032,8 @@ ¿Tenés preguntas sobre el rediseño de %s? ¿Querés saber qué cambió? Las respuestas están aquí - - Aprovechá %s al máximo. + + Empezá a sincronizar marcadores, contraseñas y más con tu Cuenta de Firefox. Conocer más Listo, lo entendí. + + Eliminar + + + Aprovechá %s al máximo. + + + Recolectá lo que te importa + + Agrupar búsquedas, sitios y pestañas similares para acceder rápidamente más tarde. diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index 78b4ed382..d86575b66 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -80,6 +80,28 @@ Ei nyt + + + Voit asettaa Firefoxin avaamaan linkit automaattisesti sovelluksissa. + + Siirry asetuksiin + + Hylkää + + + Kameran käyttöoikeus vaaditaan. Siirry Androidin asetuksiin, napauta käyttöoikeudet ja napauta salli. + + Siirry asetuksiin + + Hylkää + + + Aseta avoimet välilehdet sulkeutumaan automaattisesti, jos niitä ei ole katsottu viimeisen päivän, viikon tai kuukauden aikana. + + Näytä valinnat + + Hylkää + Uusi välilehti @@ -542,6 +564,8 @@ Poista + + Poista historiasta %1$s (yksityinen tila) @@ -1510,4 +1534,13 @@ Poista + + + Ota kaikki irti %sista. + + + Kerää yhteen sinulle tärkeät asiat + + Kokoa yhteen samanlaiset haut, sivustot ja välilehdet nopeaa käyttöä varten. diff --git a/app/src/main/res/values-hsb/strings.xml b/app/src/main/res/values-hsb/strings.xml index ebbba7716..042b1c8fb 100644 --- a/app/src/main/res/values-hsb/strings.xml +++ b/app/src/main/res/values-hsb/strings.xml @@ -80,6 +80,21 @@ Nic nětko + + K nastajenjam + + Zaćisnyć + + + K nastajenjam + + Zaćisnyć + + + Nastajenja pokazać + + Zaćisnyć + Nowy rajtark @@ -536,6 +551,8 @@ Wotstronić + + Z historije zhašeć %1$s (priwatny modus) @@ -1497,4 +1514,13 @@ Wotstronić + + + Wućehńće najlěpše z %s. + + + Zběrajće wěcy, kotrež su wam wažne + + Zeskupće podobne pytanja, sydła a rajtarki za pozdźiši spěšny přistup. diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index d8636774f..3dc41c15c 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -79,6 +79,28 @@ Most nem + + + Beállíthatja, hogy a Firefox automatikusan alkalmazásokban nyisson meg hivatkozásokat. + + Ugrás a beállításokhoz + + Eltüntetés + + + Kamera-hozzáférés szükséges. Ugorjon az Android beállításokhoz, koppintson az engedélyekre, majd az engedélyezésre. + + Ugrás a beállításokhoz + + Eltüntetés + + + Beállíthatja, hogy a nyitott lapok automatikusan bezáródjanak, ha nem nézte meg azokat az elmúlt napon, héten vagy hónapban. + + Beállítások megtekintése + + Eltüntetés + Új lap @@ -539,6 +561,8 @@ Eltávolítás + + Törlés az előzményekből %1$s (privát mód) @@ -1507,4 +1531,13 @@ Eltávolítás + + + Hozza ki a legtöbbet a %s böngészőből. + + + Gyűjtse össze az Önnek fontos dolgokat + + Csoportosítsa a hasonló kereséseket, webhelyeket és lapokat a későbbi gyors elérés érdekében. diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 05ce2d70f..4ec13deb3 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -757,10 +757,8 @@ Menu raccolta - - Raggruppa i tuoi interessi - Raggruppa ricerche, siti e schede simili tra loro per potervi accedere più rapidamente in un secondo tempo. + Raccogli gli argomenti che ti interessano.\nRaggruppa ricerche, siti e schede simili per accedervi rapidamente in seguito. Seleziona schede @@ -1027,8 +1025,8 @@ Hai domande sul nuovo %s? Vuoi scoprire che cosa è cambiato? Trova tutte le risposte qui - - Ottieni il massimo da %s. + + Inizia a sincronizzare segnalibri, password e molto altro ancora con il tuo account Firefox. Ulteriori informazioni OK, tutto chiaro - + + Elimina + diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml index 424e8db1d..fdcbc6e17 100644 --- a/app/src/main/res/values-iw/strings.xml +++ b/app/src/main/res/values-iw/strings.xml @@ -78,6 +78,28 @@ לא כעת + + + באפשרותך להגדיר ש־Firefox יפתח קישורים ביישומים באופן אוטומטי. + + מעבר להגדרות + + סגירה + + + דרושה גישה למצלמה. יש לעבור להגדרות ה־Android, להקיש על הרשאות ולאחר מכן על ״לאפשר״. + + מעבר להגדרות + + סגירה + + + ניתן להגדיר שלשוניות פתוחות ייסגרו באופן אוטומטי אם לא נצפו ביממה, שבוע או חודש האחרון. + + הצגת אפשרויות + + סגירה + לשונית חדשה @@ -526,6 +548,8 @@ הסרה + + מחיקה מההיסטוריה ‏%1$s (מצב פרטי) @@ -1472,4 +1496,13 @@ הסרה + + + להוציא את המיטב מ־%s. + + + לאסוף את הדברים החשובים לך + + ניתן לקבץ חיפושים, אתרים ולשוניות דומים יחד כדי לגשת אליהם מהר יותר בהמשך. diff --git a/app/src/main/res/values-ka/strings.xml b/app/src/main/res/values-ka/strings.xml index 455117f63..c67e682b4 100644 --- a/app/src/main/res/values-ka/strings.xml +++ b/app/src/main/res/values-ka/strings.xml @@ -77,6 +77,28 @@ ახლა არა + + + თუ მიუთითებთ, Firefox თავადვე გახსნის ბმულებს სხვა აპებში. + + პარამეტრებზე გადასვლა + + გამოტოვება + + + კამერასთან წვდომაა საჭირო. გადადით Android-პარამეტრებში, შეეხეთ ნებართვებს და შემდეგ დაშვებას. + + პარამეტრებზე გადასვლა + + გამოტოვება + + + მიუთითეთ, დაიხუროს გახსნილი ჩანართები, რომლებიც არ მოგინახულებიათ წინა დღეს, წინა კვირას ან წინა თვეს. + + პარამეტრების გახსნა + + გამოტოვება + ახალი ჩანართი @@ -306,6 +328,9 @@ დამატებები + + შეტყობინებები + დასინქრონება ახლავე @@ -529,6 +554,8 @@ მოცილება + + ისტორიიდან ამოშლა %1$s (პირადი რეჟიმი) @@ -574,6 +601,13 @@ ისტორია არ არის + + + ჩამოტვირთვები არაა + + შერჩეულია %1$d + ვწუხვართ. %1$s ვერ ტვირთავს ამ გვერდს. @@ -729,10 +763,8 @@ კრებულები კრებულის მენიუ - - შეაგროვეთ, რაც თქვენთვის მნიშვნელოვანია - თავი მოუყარეთ მოძიებულ მასალებს, საიტებს, ჩანართებს, სწრაფი წვდომისთვის. + შეაგროვეთ, რაც თქვენთვის ღირებულია.\nთავი მოუყარეთ მოძიებულ მასალებს, საიტებს და ჩანართებს, მომავალში სწრაფი წვდომისთვის. ჩანართების შერჩევა @@ -979,9 +1011,10 @@ გაინტერესებთ როგორ შეიცვალა %s გარეგნულად? გსურთ გაეცნოთ ცვლილებებს? მიიღეთ პასუხები აქ - - სრულყოფილად გამოიყენეთ %s. + + დაიწყეთ დასინქრონება სანიშნების, პაროლებისა და სხვა მონაცემების, თქვენი Firefox-ანგარიშის მეშვეობით. + + ვრცლად @@ -1475,6 +1508,9 @@ სინქრონიზაციაში შესვლა + + გახსნილი ჩანართები არაა + რჩეული საიტების ზღვარი მიღწეულია @@ -1483,4 +1519,15 @@ კარგი, გასაგებია - + + მოცილება + + + სრულყოფილად გამოიყენეთ %s. + + + შეაგროვეთ, რაც თქვენთვის ღირებულია + + თავი მოუყარეთ მოძიებულ მასალებს, საიტებს, ჩანართებს, სწრაფი წვდომისთვის. + diff --git a/app/src/main/res/values-kab/strings.xml b/app/src/main/res/values-kab/strings.xml index 0850979a3..264ce2f59 100644 --- a/app/src/main/res/values-kab/strings.xml +++ b/app/src/main/res/values-kab/strings.xml @@ -82,6 +82,28 @@ Tiktiwin tigejdanin yuzzlen ur nṣeḥḥi ara Mačči tura + + + Tzemreḍ ad tesbaduḍ akken ad yeldi iseɣwan s wudem awurman deg isnasen. + + Ddu ɣer iɣewwaṛen + + Zgel + + + Isɛa anekcum ɣer tkamiṛat. Ddu ɣer iɣewwaṛen Android, sit ɣef tisirag, sakin senned sireg. + + Ddu ɣer iɣewwaṛen + + Zgel + + + Sbadu amdel awurman n icarren yeldin ur twalaḍ ara deg ussan, imalasen, agguren ineggura. + + Wali iɣewwaṛen + + Zgel + Iccer amaynut @@ -540,6 +562,8 @@ Tiktiwin tigejdanin yuzzlen ur nṣeḥḥi ara Kkes + + Kkes seg umazray %1$s (askar uslig) @@ -1509,4 +1533,13 @@ Tiktiwin tigejdanin yuzzlen ur nṣeḥḥi ara Kkes + + + Awi %s amaynut akk. + + + Lqeḍ tiɣawsiwin i tḥemmleḍ + + Segrew akk akken inadiyen, ismal d waccaren yemṣadan akken ad yishil unekcum ɣer-sen mbeεd. diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 0c6f72eda..58573da0a 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -86,6 +86,28 @@ 나중에 + + + 앱에서 링크를 자동으로 열도록 Firefox를 설정할 수 있습니다. + + 설정으로 이동 + + 닫기 + + + 카메라 액세스가 필요합니다. Android 설정으로 이동하여 권한을 누른 다음 허용을 누르세요. + + 설정으로 이동 + + 닫기 + + + 지난 일, 주 또는 월 동안 보지 않은 열린 탭을 자동으로 닫도록 설정하세요. + + 옵션 보기 + + 닫기 + 새 탭 @@ -551,6 +573,8 @@ 삭제 + + 기록에서 삭제 %1$s (사생활 보호 모드) @@ -1545,4 +1569,13 @@ 삭제 + + + %s를 최대한 활용해 보세요. + + + 중요한 것들 수집하기 + + 나중에 빠르게 접근할 수 있도록 유사한 검색, 사이트 및 탭을 모아 보세요. diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/app/src/main/res/values-nb-rNO/strings.xml index abe3d0991..1f3898781 100644 --- a/app/src/main/res/values-nb-rNO/strings.xml +++ b/app/src/main/res/values-nb-rNO/strings.xml @@ -81,6 +81,28 @@ Ikke nå + + + Du kan sette Firefox til automatisk å åpne lenker i apper. + + Gå til innstillinger + + Ignorer + + + Kameratilgang er nødvendig. Gå til Android-innstillinger, trykk på tillatelser, og trykk på tillat. + + Gå til innstillinger + + Ignorer + + + Angi at åpne faner som ikke har blitt sett den siste dagen, uken eller måneden skal lukke automatisk. + + Vis alternativer + + Ignorer + Ny fane @@ -540,6 +562,8 @@ Fjern + + Slett fra historikk %1$s (privatmodus) @@ -1518,4 +1542,13 @@ Fjern + + + Få mest mulig ut av %s. + + + Samle tingene som betyr noe for deg + + Grupper sammen lignende søk, nettsteder og faner for rask tilgang senere. diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index a26d000de..02c7e8f19 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -78,6 +78,29 @@ Agora não + + + Você pode configurar o Firefox para abrir links automaticamente em aplicativos. + + Ir para configurações + + + Descartar + + + É necessário acesso à câmera. Use as configurações do Android para mudar as permissões para permitir acesso. + + Ir para configurações + + Descartar + + + Defina fechar automaticamente as abas abertas que não foram vistas no último dia, semana ou mês. + + Ver opções + + Descartar + Nova aba @@ -534,6 +557,8 @@ Remover + + Excluir do histórico %1$s (modo privativo) @@ -1497,4 +1522,13 @@ Remover + + + Aproveite ao máximo o %s. + + + Reúna o que é importante para você + + Agrupe pesquisas, sites e abas semelhantes para acesso rápido mais tarde. diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index a794930a3..fe8e1e6b0 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -313,6 +313,9 @@ Doplnky + + Upozornenia + Synchronizovať @@ -584,6 +587,13 @@ Nemáte žiadnu históriu prehliadania + + + Žiadne prevzaté súbory + + Počet vybraných položiek: %1$d + Ospravedlňujeme sa. %1$s nedokáže načítať túto stránku. @@ -739,10 +749,8 @@ Ponuka kolekcií - - Zbierajte veci, na ktorých vám záleží - Zoskupte podobné vyhľadávania, weby a karty, aby ste k nim mali rýchly prístup neskôr. + Zbierajte veci, ktoré máte radi.\nZoskupujte podobné vyhľadávania, stránky či karty. Výber kariet @@ -991,9 +999,10 @@ Máte otázky o vynovenej aplikácii %s? Chcete vedieť, čo sa zmenilo? Získajte odpovede tu - - Využite %s naplno. + + S účtom Firefox môžete synchronizovať záložky, históriu prehliadania a omnoho viac. + + Ďalšie informácie @@ -1482,6 +1491,9 @@ Prihlásiť sa k službe Sync + + Žiadne otvorené karty + Bol dosiahnutý limit top stránok @@ -1490,4 +1502,6 @@ Ok, rozumiem - + + Odstrániť + diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml index d69797c5e..2338145d2 100644 --- a/app/src/main/res/values-sr/strings.xml +++ b/app/src/main/res/values-sr/strings.xml @@ -739,10 +739,8 @@ Мени са збиркама - - Сакупљајте ствари које су вам важне - Групишите сличне претраге, странице и језичке за брз приступ касније. + Скупите ствари које су вам битне.\nГрупишите сличне претраге, веб странице и језичке за брз приступ касније. Изабери језичке @@ -991,8 +989,8 @@ Имате питање о новом дизајну апликације %s? Желите ли да знате шта је промењено? Овде потражите одговоре - - Искористите %s у потпуности. + + Почните са синхронизовањем забелешки, лозинки и других делова са вашим Firefox налогом. Сазнајте више Важи, разумем - + + Уклони + diff --git a/app/src/main/res/values-sv-rSE/strings.xml b/app/src/main/res/values-sv-rSE/strings.xml index 80633644c..c1bb501e0 100644 --- a/app/src/main/res/values-sv-rSE/strings.xml +++ b/app/src/main/res/values-sv-rSE/strings.xml @@ -79,6 +79,23 @@ Inte nu + + Gå till Inställningar + + + Ignorera + + + Gå till Inställningar + + + Ignorera + + + Visa alternativ + + Ignorera + Ny flik @@ -542,6 +559,8 @@ Ta bort + + Ta bort från historik %1$s (Privat läge) @@ -1510,4 +1529,9 @@ Ta bort - + + + Få ut det mesta av %s. + + diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index bacaebfeb..5a264f98c 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -79,6 +79,28 @@ Daha sonra + + + Firefox’u, bağlantıları otomatik olarak uygulamalarda açacak şekilde ayarlayabilirsiniz. + + Ayarlara git + + Kapat + + + Kamera erişimi gerekiyor. Android ayarlarına gidin, izinlere girin ve izin verin. + + Ayarlara git + + Kapat + + + Bir gün, hafta veya ay boyunca bakmadığınız açık sekmelerin otomatik kapanmasını sağlayabilirsiniz. + + Seçeneklere git + + Kapat + Yeni sekme @@ -536,6 +558,8 @@ Kaldır + + Geçmişten sil %1$s (Gizli Mod) @@ -741,10 +765,8 @@ Koleksiyonlar Koleksiyon menüsü - - Sizin için önemli olan şeyleri toplayın - Benzer aramaları, siteleri ve sekmeleri gruplandırarak daha sonra onlara hızlıca erişebilirsiniz. + Sizin için önemli olan şeyleri toplayın.\nHızlıca erişmek istediğiniz benzer aramaları, siteleri ve sekmeleri bir araya getirin. Sekmeleri seç @@ -992,8 +1014,8 @@ Yeni %s hakkında sorularınız mı var? Nelerin değiştiğini bilmek ister misiniz? Yanıtlar burada - - %s tarayıcınızdan en iyi şekilde yararlanın. + + Firefox hesabınızla yer imlerinizi, parolalarınızı ve daha fazlasını eşitlemeye başlayın. Daha fazla bilgi al Tamam + + Kaldır + + + %s tarayıcınızdan en iyi şekilde yararlanın. + + + Sizin için önemli olan şeyleri toplayın + + Benzer aramaları, siteleri ve sekmeleri gruplandırarak daha sonra onlara hızlıca erişebilirsiniz. diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index d02d2cbb8..f81069513 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -79,6 +79,28 @@ Не зараз + + + Ви можете використати Firefox для автоматичного відкриття посилань у програмах. + + Перейти до налаштувань + + Відхилити + + + Необхідний доступ до камери. Перейдіть до налаштувань Android, торкніться дозволів та торкніться дозволити. + + Перейти до налаштувань + + Закрити + + + Налаштуйте автоматичне закривання відкритих вкладок, які не переглядалися попереднього дня, тижня чи місяця. + + Перейти до параметрів + + Закрити + Нова вкладка @@ -542,6 +564,8 @@ Вилучити + + Видалити з історії %1$s (Приватний режим) @@ -1510,4 +1534,13 @@ Вилучити + + + Отримайте якнайбільше від %s. + + + Зберігайте важливе для вас + + Групуйте подібні пошуки, сайти та вкладки для швидкого доступу. diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 730cadb3d..77bd2350a 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -83,6 +83,21 @@ 现在不要 + + 知道了 + + + 需要访问相机。转到 Android 设置,点按权限,然后点按允许。 + + 转至设置 + + 知道了 + + + 查看选项 + + 知道了 + 新建标签页 @@ -550,6 +565,8 @@ 移除 + + 删除历史记录 %1$s(隐私模式) @@ -1532,4 +1549,13 @@ 移除 + + + 全面体验 %s。 + + + 有用的东西收藏在这 + + 将相似的搜索查询、网站和标签页归入一组,方便以后快速访问。 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index f074d16d3..22834054f 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -80,6 +80,28 @@ 現在不要 + + + 您可以設定使用 Firefox 自動開啟各應用程式當中的鏈結。 + + 開啟設定 + + 知道了! + + + 需要相機使用權限。請到 Android 系統設定點擊「權限」,然後點擊「允許」。 + + 開啟設定 + + 知道了! + + + 設定自動關閉超過幾天、幾週或幾個月都沒有閱讀過的開啟分頁。 + + 檢視選項 + + 知道了! + 開新分頁 @@ -544,6 +566,8 @@ 移除 + + 從瀏覽紀錄刪除 %1$s(隱私瀏覽模式) @@ -1521,4 +1545,13 @@ 移除 + + + 發揮 %s 的最大威力。 + + + 收集對您而言重要的東西 + + 將類似的搜尋、網站、分頁放在一起,方便之後快速使用。 diff --git a/l10n.toml b/l10n.toml index 208d698a0..643f4f0d1 100644 --- a/l10n.toml +++ b/l10n.toml @@ -37,6 +37,7 @@ locales = [ "fy-NL", "ga-IE", "gd", + "gl", "gn", "gu-IN", "he",