diff --git a/app/src/debug/AndroidManifest.xml b/app/src/debug/AndroidManifest.xml index 625795d40..3d25c0db6 100644 --- a/app/src/debug/AndroidManifest.xml +++ b/app/src/debug/AndroidManifest.xml @@ -18,17 +18,6 @@ - - - - - - - - - - - + android:name="org.mozilla.fenix.DebugFenixApplication" /> diff --git a/app/src/fenixProduction/res/drawable-hdpi/ic_logo_wordmark_normal.png b/app/src/fenixProduction/res/drawable-hdpi/ic_logo_wordmark_normal.png new file mode 100644 index 000000000..f307680b1 Binary files /dev/null and b/app/src/fenixProduction/res/drawable-hdpi/ic_logo_wordmark_normal.png differ diff --git a/app/src/fenixProduction/res/drawable-hdpi/ic_logo_wordmark_private.png b/app/src/fenixProduction/res/drawable-hdpi/ic_logo_wordmark_private.png new file mode 100644 index 000000000..53a3c7598 Binary files /dev/null and b/app/src/fenixProduction/res/drawable-hdpi/ic_logo_wordmark_private.png differ diff --git a/app/src/fenixProduction/res/drawable-mdpi/ic_logo_wordmark_normal.png b/app/src/fenixProduction/res/drawable-mdpi/ic_logo_wordmark_normal.png new file mode 100644 index 000000000..3d97d6376 Binary files /dev/null and b/app/src/fenixProduction/res/drawable-mdpi/ic_logo_wordmark_normal.png differ diff --git a/app/src/fenixProduction/res/drawable-mdpi/ic_logo_wordmark_private.png b/app/src/fenixProduction/res/drawable-mdpi/ic_logo_wordmark_private.png new file mode 100644 index 000000000..0b3284b1a Binary files /dev/null and b/app/src/fenixProduction/res/drawable-mdpi/ic_logo_wordmark_private.png differ diff --git a/app/src/fenixProduction/res/drawable-xhdpi/ic_logo_wordmark_normal.png b/app/src/fenixProduction/res/drawable-xhdpi/ic_logo_wordmark_normal.png new file mode 100644 index 000000000..c7ff7de9e Binary files /dev/null and b/app/src/fenixProduction/res/drawable-xhdpi/ic_logo_wordmark_normal.png differ diff --git a/app/src/fenixProduction/res/drawable-xhdpi/ic_logo_wordmark_private.png b/app/src/fenixProduction/res/drawable-xhdpi/ic_logo_wordmark_private.png new file mode 100644 index 000000000..23f2f8552 Binary files /dev/null and b/app/src/fenixProduction/res/drawable-xhdpi/ic_logo_wordmark_private.png differ diff --git a/app/src/fenixProduction/res/drawable-xxhdpi/ic_logo_wordmark_normal.png b/app/src/fenixProduction/res/drawable-xxhdpi/ic_logo_wordmark_normal.png new file mode 100644 index 000000000..515e69f18 Binary files /dev/null and b/app/src/fenixProduction/res/drawable-xxhdpi/ic_logo_wordmark_normal.png differ diff --git a/app/src/fenixProduction/res/drawable-xxhdpi/ic_logo_wordmark_private.png b/app/src/fenixProduction/res/drawable-xxhdpi/ic_logo_wordmark_private.png new file mode 100644 index 000000000..7f246c172 Binary files /dev/null and b/app/src/fenixProduction/res/drawable-xxhdpi/ic_logo_wordmark_private.png differ diff --git a/app/src/fenixProduction/res/drawable-xxxhdpi/ic_logo_wordmark_normal.png b/app/src/fenixProduction/res/drawable-xxxhdpi/ic_logo_wordmark_normal.png new file mode 100644 index 000000000..ce56c7c1f Binary files /dev/null and b/app/src/fenixProduction/res/drawable-xxxhdpi/ic_logo_wordmark_normal.png differ diff --git a/app/src/fenixProduction/res/drawable-xxxhdpi/ic_logo_wordmark_private.png b/app/src/fenixProduction/res/drawable-xxxhdpi/ic_logo_wordmark_private.png new file mode 100644 index 000000000..1816e8e97 Binary files /dev/null and b/app/src/fenixProduction/res/drawable-xxxhdpi/ic_logo_wordmark_private.png differ diff --git a/app/src/fenixProduction/res/ic_launcher-web.png b/app/src/fenixProduction/res/ic_launcher-web.png index 872099fde..264331d8d 100644 Binary files a/app/src/fenixProduction/res/ic_launcher-web.png and b/app/src/fenixProduction/res/ic_launcher-web.png differ diff --git a/app/src/fenixProduction/res/mipmap-hdpi/ic_launcher.png b/app/src/fenixProduction/res/mipmap-hdpi/ic_launcher.png index 5b017a545..76a1cd058 100644 Binary files a/app/src/fenixProduction/res/mipmap-hdpi/ic_launcher.png and b/app/src/fenixProduction/res/mipmap-hdpi/ic_launcher.png differ diff --git a/app/src/fenixProduction/res/mipmap-hdpi/ic_launcher_round.png b/app/src/fenixProduction/res/mipmap-hdpi/ic_launcher_round.png index 66cb587b5..4c5f2cea6 100644 Binary files a/app/src/fenixProduction/res/mipmap-hdpi/ic_launcher_round.png and b/app/src/fenixProduction/res/mipmap-hdpi/ic_launcher_round.png differ diff --git a/app/src/fenixProduction/res/mipmap-mdpi/ic_launcher.png b/app/src/fenixProduction/res/mipmap-mdpi/ic_launcher.png index 079117be9..daee59119 100644 Binary files a/app/src/fenixProduction/res/mipmap-mdpi/ic_launcher.png and b/app/src/fenixProduction/res/mipmap-mdpi/ic_launcher.png differ diff --git a/app/src/fenixProduction/res/mipmap-mdpi/ic_launcher_round.png b/app/src/fenixProduction/res/mipmap-mdpi/ic_launcher_round.png index 02755d9d1..c0d84083f 100644 Binary files a/app/src/fenixProduction/res/mipmap-mdpi/ic_launcher_round.png and b/app/src/fenixProduction/res/mipmap-mdpi/ic_launcher_round.png differ diff --git a/app/src/fenixProduction/res/mipmap-xhdpi/ic_launcher.png b/app/src/fenixProduction/res/mipmap-xhdpi/ic_launcher.png index 3a1117b60..d24517b9e 100644 Binary files a/app/src/fenixProduction/res/mipmap-xhdpi/ic_launcher.png and b/app/src/fenixProduction/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/app/src/fenixProduction/res/mipmap-xhdpi/ic_launcher_round.png b/app/src/fenixProduction/res/mipmap-xhdpi/ic_launcher_round.png index 814740c15..dd5213991 100644 Binary files a/app/src/fenixProduction/res/mipmap-xhdpi/ic_launcher_round.png and b/app/src/fenixProduction/res/mipmap-xhdpi/ic_launcher_round.png differ diff --git a/app/src/fenixProduction/res/mipmap-xxhdpi/ic_launcher.png b/app/src/fenixProduction/res/mipmap-xxhdpi/ic_launcher.png index 6be395ba3..144df6838 100644 Binary files a/app/src/fenixProduction/res/mipmap-xxhdpi/ic_launcher.png and b/app/src/fenixProduction/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/app/src/fenixProduction/res/mipmap-xxhdpi/ic_launcher_round.png b/app/src/fenixProduction/res/mipmap-xxhdpi/ic_launcher_round.png index 44ffba047..772744f4a 100644 Binary files a/app/src/fenixProduction/res/mipmap-xxhdpi/ic_launcher_round.png and b/app/src/fenixProduction/res/mipmap-xxhdpi/ic_launcher_round.png differ diff --git a/app/src/fenixProduction/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/fenixProduction/res/mipmap-xxxhdpi/ic_launcher.png index a6c5e03b5..7f84c8adc 100644 Binary files a/app/src/fenixProduction/res/mipmap-xxxhdpi/ic_launcher.png and b/app/src/fenixProduction/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/app/src/fenixProduction/res/mipmap-xxxhdpi/ic_launcher_round.png b/app/src/fenixProduction/res/mipmap-xxxhdpi/ic_launcher_round.png index 653dea8f0..d687ae611 100644 Binary files a/app/src/fenixProduction/res/mipmap-xxxhdpi/ic_launcher_round.png and b/app/src/fenixProduction/res/mipmap-xxxhdpi/ic_launcher_round.png differ diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a07c272eb..005810abe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -231,6 +231,7 @@ tools:ignore="ExportedService"> + diff --git a/app/src/main/java/org/mozilla/fenix/BrowserDirection.kt b/app/src/main/java/org/mozilla/fenix/BrowserDirection.kt index 951d8861b..739caf58d 100644 --- a/app/src/main/java/org/mozilla/fenix/BrowserDirection.kt +++ b/app/src/main/java/org/mozilla/fenix/BrowserDirection.kt @@ -27,5 +27,6 @@ enum class BrowserDirection(@IdRes val fragmentId: Int) { FromSavedLoginsFragment(R.id.savedLoginsFragment), FromAddNewDeviceFragment(R.id.addNewDeviceFragment), FromAddSearchEngineFragment(R.id.addSearchEngineFragment), - FromEditCustomSearchEngineFragment(R.id.editCustomSearchEngineFragment) + FromEditCustomSearchEngineFragment(R.id.editCustomSearchEngineFragment), + FromAddonDetailsFragment(R.id.addonDetailsFragment) } diff --git a/app/src/main/java/org/mozilla/fenix/HomeActivity.kt b/app/src/main/java/org/mozilla/fenix/HomeActivity.kt index db2f37b1d..541dbf6dc 100644 --- a/app/src/main/java/org/mozilla/fenix/HomeActivity.kt +++ b/app/src/main/java/org/mozilla/fenix/HomeActivity.kt @@ -474,6 +474,8 @@ open class HomeActivity : LocaleAwareAppCompatActivity() { AddSearchEngineFragmentDirections.actionGlobalBrowser(customTabSessionId) BrowserDirection.FromEditCustomSearchEngineFragment -> EditCustomSearchEngineFragmentDirections.actionGlobalBrowser(customTabSessionId) + BrowserDirection.FromAddonDetailsFragment -> + EditCustomSearchEngineFragmentDirections.actionGlobalBrowser(customTabSessionId) } private fun load( diff --git a/app/src/main/java/org/mozilla/fenix/addons/AddonDetailsFragment.kt b/app/src/main/java/org/mozilla/fenix/addons/AddonDetailsFragment.kt index 6548e311c..38d9441ad 100644 --- a/app/src/main/java/org/mozilla/fenix/addons/AddonDetailsFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/addons/AddonDetailsFragment.kt @@ -4,7 +4,6 @@ package org.mozilla.fenix.addons -import android.content.Intent import android.net.Uri import android.os.Bundle import android.view.View @@ -19,6 +18,8 @@ import mozilla.components.feature.addons.Addon import mozilla.components.feature.addons.ui.showInformationDialog import mozilla.components.feature.addons.ui.translatedName import mozilla.components.feature.addons.update.DefaultAddonUpdater.UpdateAttemptStorage +import org.mozilla.fenix.BrowserDirection +import org.mozilla.fenix.HomeActivity import org.mozilla.fenix.R import org.mozilla.fenix.ext.showToolbar @@ -38,7 +39,11 @@ class AddonDetailsFragment : Fragment(R.layout.fragment_add_on_details), AddonDe } override fun openWebsite(addonSiteUrl: Uri) { - startActivity(Intent(Intent.ACTION_VIEW, addonSiteUrl)) + (activity as HomeActivity).openToBrowserAndLoad( + searchTermOrURL = addonSiteUrl.toString(), + newTab = true, + from = BrowserDirection.FromAddonDetailsFragment + ) } override fun showUpdaterDialog(addon: Addon) { diff --git a/app/src/main/java/org/mozilla/fenix/addons/AddonDetailsView.kt b/app/src/main/java/org/mozilla/fenix/addons/AddonDetailsView.kt index 372e3e8b5..d77e5c13c 100644 --- a/app/src/main/java/org/mozilla/fenix/addons/AddonDetailsView.kt +++ b/app/src/main/java/org/mozilla/fenix/addons/AddonDetailsView.kt @@ -5,10 +5,14 @@ package org.mozilla.fenix.addons import android.net.Uri +import android.text.SpannableStringBuilder import android.text.method.LinkMovementMethod +import android.text.style.ClickableSpan +import android.text.style.URLSpan import android.view.View import androidx.core.net.toUri import androidx.core.text.HtmlCompat +import androidx.core.text.getSpans import kotlinx.android.extensions.LayoutContainer import kotlinx.android.synthetic.main.fragment_add_on_details.* import mozilla.components.feature.addons.Addon @@ -102,10 +106,33 @@ class AddonDetailsView( val parsedText = detailsText.replace("\n", "
") val text = HtmlCompat.fromHtml(parsedText, HtmlCompat.FROM_HTML_MODE_COMPACT) - details.text = text + val spannableStringBuilder = SpannableStringBuilder(text) + val links = spannableStringBuilder.getSpans() + for (link in links) { + addActionToLinks(spannableStringBuilder, link) + } + details.text = spannableStringBuilder details.movementMethod = LinkMovementMethod.getInstance() } + private fun addActionToLinks( + spannableStringBuilder: SpannableStringBuilder, + link: URLSpan + ) { + val start = spannableStringBuilder.getSpanStart(link) + val end = spannableStringBuilder.getSpanEnd(link) + val flags = spannableStringBuilder.getSpanFlags(link) + val clickable: ClickableSpan = object : ClickableSpan() { + override fun onClick(view: View) { + view.setOnClickListener { + interactor.openWebsite(link.url.toUri()) + } + } + } + spannableStringBuilder.setSpan(clickable, start, end, flags) + spannableStringBuilder.removeSpan(link) + } + private fun formatDate(text: String): String { return dateFormatter.format(dateParser.parse(text)!!) } diff --git a/app/src/main/java/org/mozilla/fenix/cfr/SearchWidgetCFR.kt b/app/src/main/java/org/mozilla/fenix/cfr/SearchWidgetCFR.kt index 41827caba..1b178bc01 100644 --- a/app/src/main/java/org/mozilla/fenix/cfr/SearchWidgetCFR.kt +++ b/app/src/main/java/org/mozilla/fenix/cfr/SearchWidgetCFR.kt @@ -34,7 +34,11 @@ class SearchWidgetCFR( fun displayIfNecessary() { if (!context.settings().isInSearchWidgetExperiment || - !context.settings().shouldDisplaySearchWidgetCFR()) { return } + !context.settings().shouldDisplaySearchWidgetCFR() || + isShown + ) { return } + + isShown = true showSearchWidgetCFR() } @@ -85,14 +89,21 @@ class SearchWidgetCFR( } searchWidgetCFRDialog.setOnCancelListener { + isShown = false context.components.analytics.metrics.track(Event.SearchWidgetCFRCanceled) } searchWidgetCFRDialog.setOnDismissListener { + isShown = false context.settings().incrementSearchWidgetCFRDismissed() } searchWidgetCFRDialog.show() context.components.analytics.metrics.track(Event.SearchWidgetCFRDisplayed) } + + companion object { + // Used to ensure multiple dialogs are not shown on top of each other + var isShown = false + } } 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 a49f6668a..a1a613cc1 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/SupportUtils.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/SupportUtils.kt @@ -25,7 +25,7 @@ object SupportUtils { const val WIKIPEDIA_URL = "https://www.wikipedia.org/" const val FENIX_PLAY_STORE_URL = "https://play.google.com/store/apps/details?id=${BuildConfig.APPLICATION_ID}" const val FIREFOX_BETA_PLAY_STORE_URL = "market://details?id=org.mozilla.firefox_beta" - const val FIREFOX_NIGHTLY_PLAY_STORE_URL = "market://details?id=org.mozilla.fennec_aurora" + const val FIREFOX_NIGHTLY_PLAY_STORE_URL = "market://details?id=org.mozilla.fenix" const val GOOGLE_URL = "https://www.google.com/" enum class SumoTopic(internal val topicStr: String) { diff --git a/app/src/main/java/org/mozilla/gecko/search/SearchWidgetProvider.kt b/app/src/main/java/org/mozilla/gecko/search/SearchWidgetProvider.kt index e2cee7a54..b3650ff4d 100644 --- a/app/src/main/java/org/mozilla/gecko/search/SearchWidgetProvider.kt +++ b/app/src/main/java/org/mozilla/gecko/search/SearchWidgetProvider.kt @@ -4,7 +4,6 @@ package org.mozilla.gecko.search -import android.app.ActivityManager import android.app.PendingIntent import android.appwidget.AppWidgetManager import android.appwidget.AppWidgetManager.OPTION_APPWIDGET_MIN_WIDTH @@ -37,21 +36,6 @@ class SearchWidgetProvider : AppWidgetProvider() { override fun onEnabled(context: Context) { context.settings().addSearchWidgetInstalled(1) - if (isAppInForeground(context)) { - val goHomeOnWidgetAdded = Intent(Intent.ACTION_MAIN) - goHomeOnWidgetAdded.addCategory(Intent.CATEGORY_HOME) - goHomeOnWidgetAdded.flags = Intent.FLAG_ACTIVITY_NEW_TASK - context.startActivity(goHomeOnWidgetAdded) - } - } - - // We need this because user can not add widget via launcher app without this - private fun isAppInForeground(context: Context): Boolean { - val activityManager = context.getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager - val runningAppProcesses = - activityManager.runningAppProcesses ?: return false - return runningAppProcesses.any { it.processName == context.packageName && - it.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND } } override fun onDeleted(context: Context, appWidgetIds: IntArray) { diff --git a/app/src/main/res/layout/checkbox_left_sub_preference.xml b/app/src/main/res/layout/checkbox_left_sub_preference.xml new file mode 100644 index 000000000..796d6be42 --- /dev/null +++ b/app/src/main/res/layout/checkbox_left_sub_preference.xml @@ -0,0 +1,38 @@ + + + + + + + + diff --git a/app/src/main/res/layout/custom_search_engine_radio_button.xml b/app/src/main/res/layout/custom_search_engine_radio_button.xml index 746b57725..53eaada56 100644 --- a/app/src/main/res/layout/custom_search_engine_radio_button.xml +++ b/app/src/main/res/layout/custom_search_engine_radio_button.xml @@ -13,12 +13,12 @@ android:focusable="true"> diff --git a/app/src/main/res/layout/preference_search_add_engine.xml b/app/src/main/res/layout/preference_search_add_engine.xml index e168591e4..e2710e732 100644 --- a/app/src/main/res/layout/preference_search_add_engine.xml +++ b/app/src/main/res/layout/preference_search_add_engine.xml @@ -17,7 +17,7 @@ android:layout_height="wrap_content" android:importantForAccessibility="no" android:textAlignment="textStart" - android:layout_marginStart="20dp" + android:layout_marginStart="@dimen/radio_button_preference_horizontal" app:srcCompat="@drawable/ic_new" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" @@ -27,9 +27,10 @@ android:textColor="?primaryText" android:layout_width="0dp" android:layout_height="wrap_content" - android:layout_marginStart="18dp" + android:layout_marginStart="@dimen/radio_button_drawable_padding" android:layout_marginEnd="@dimen/radio_button_padding_horizontal" android:text="@string/search_engine_add_custom_search_engine_title" + android:textSize="16sp" app:layout_constraintStart_toEndOf="@id/add_icon" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintTop_toTopOf="parent" diff --git a/app/src/main/res/layout/search_engine_radio_button.xml b/app/src/main/res/layout/search_engine_radio_button.xml index e22bf7874..015807ba2 100644 --- a/app/src/main/res/layout/search_engine_radio_button.xml +++ b/app/src/main/res/layout/search_engine_radio_button.xml @@ -13,20 +13,20 @@ android:focusable="true"> @@ -38,6 +38,7 @@ android:layout_marginStart="@dimen/radio_button_padding_horizontal" android:layout_marginEnd="@dimen/radio_button_padding_horizontal" android:textAlignment="viewStart" + android:textSize="16sp" app:layout_constraintStart_toEndOf="@id/engine_icon" app:layout_constraintTop_toTopOf="@id/engine_icon" app:layout_constraintEnd_toEndOf="parent" /> diff --git a/app/src/main/res/values-ast/strings.xml b/app/src/main/res/values-ast/strings.xml index 27e5753a6..5569af9c9 100644 --- a/app/src/main/res/values-ast/strings.xml +++ b/app/src/main/res/values-ast/strings.xml @@ -146,6 +146,8 @@ Axustes de los motores de gueta Y agora gueta con: + + Rellenar col enllaz del cartafueyu Permitir @@ -426,6 +428,8 @@ Compartir les llingüetes + + Guardar llingüetes nuna coleición Menú de llingüetes @@ -778,8 +782,6 @@ Desanicia automáticamente los datos de restolar cuando esbilles «Colar» nel menú principal Desanicia automáticamente los datos de restolar cuando esbilles «Colar» nel menú principal - - Historial de restolar Colar @@ -916,6 +918,8 @@ https://firefox.com/pair]]> Escaniar + + Aniciu de sesión cola cámara Usar una direición de corréu @@ -956,6 +960,8 @@ Lo que la proteición estricta escontra\'l rastrexu bloquia Personalizar + + Escueyi los rastrexadores y scripts a bloquiar. Lo que la proteición personalizada escontra\'l rastrexu bloquia @@ -1270,6 +1276,9 @@ Yá esiste un aniciu de sesión con esi nome d\'usuariu + + + Coneuta con una cuenta de Firefox. Volvi autenticate, por favor. diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 9bba55fd2..b8e6abf41 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -21,6 +21,8 @@ Tady se zobrazí vaše anonymní panely. + + Jeden otevřený panel. Klepnutím panely přepnete. %1$s otevřených panelů. Klepnutím přepnete panely. @@ -299,6 +301,8 @@ Záložky Přihlašovací údaje + + Otevřené panely Odhlásit @@ -715,6 +719,10 @@ Sbírky Nabídka sbírek + + Uložte si důležité věci do sbírek + + Podobná vyhledávání, stránky a panely si můžete seskupit a poté se k nim snadno vracet. Vyberte panely @@ -899,8 +907,6 @@ Po výběru „Ukončit“ z hlavní nabídky aplikace dojde ke smazání soukromých dat Po výběru „Ukončit“ z hlavní nabídky aplikace dojde ke smazání soukromých dat - - Historie prohlížení Ukončit @@ -922,6 +928,11 @@ Firefox Preview je nyní Firefox Nightly + + Firefox Nightly je aktualizován každou noc a obsahuje nové experimentální funkce. Může však být méně stabilní. Stáhněte si náš beta prohlížeč pro stabilnější zážitek. + + Získat Firefox Beta pro Android + Firefox Nightly se mění @@ -975,6 +986,9 @@ Přihlášení selhalo Automatické soukromí + + Nastavení soukromí a zabezpečení blokuje sledovací prvky, malware a společnosti, které vás sledují. Standardní (výchozí) @@ -1133,6 +1147,8 @@ Sledující obsah Blokuje načítání reklam, videí a dalšího obsahu, který obsahuje sledující kód. To může ovlivnit fungování některých webových stránek. + + Fialový štít znamená, že aplikace %s na stránce zablokovala nějaké sledovací prvky. Klepnutím zobrazíte více informací. Ochrana je na tomto serveru zapnuta @@ -1292,9 +1308,14 @@ Povolit gesto pro přiblížení i na stránkách, které tomu zabraňují. + + Názvu (A-Z) Naposledy použito + + Seřadit podle + Přidat vyhledávač @@ -1396,6 +1417,12 @@ Odstranit Možnosti přihlášení + + Textové pole pro webovou adresu pro přihlašovací údaje. + + Textové pole pro uživatelské jméno z přihlašovacích údajů. + + Textové pole pro heslo z přihlašovacích údajů. Uložit změny přihlašovacích údajů. @@ -1412,7 +1439,29 @@ Přihlašovací údaje s tímto uživatelským jménem už existují + + + Připojte se k účtu Firefoxu. Připojte další zařízení. - + + Proveďte prosím znovu své ověření. + + Zapněte nejdříve synchronizaci panelů. + + Ve vašich zařízeních nejsou otevřené žádné panely. + + Seznam panelů z ostatních zařízení. + + Přihlásit se k synchronizaci + + + + Dosažen limit počtu top stránek + + Pro přidání další top stránky nejdříve nějakou odeberte. Stačí na ní podržet prst. + + OK, rozumím + + diff --git a/app/src/main/res/values-sl/strings.xml b/app/src/main/res/values-sl/strings.xml index ac183e2f1..48e1a9269 100644 --- a/app/src/main/res/values-sl/strings.xml +++ b/app/src/main/res/values-sl/strings.xml @@ -20,6 +20,11 @@ Tu bodo prikazani vaši zasebni zavihki. + + 1 odprt zavihek. Tapnite za preklop zavihkov. + + Odprtih zavihkov: %1$s. Tapnite za preklop zavihkov. + %1$s izdeluje Mozilla. @@ -291,6 +296,8 @@ Zaznamki Prijave + + Odprti zavihki Odjava @@ -452,6 +459,10 @@ Dodaj zavihek Dodaj zasebni zavihek + + Zasebno + + Odprti zavihki Shrani v zbirko @@ -697,6 +708,10 @@ Zbirke Meni zbirk + + Zbirajte stvari, ki vam kaj pomenijo + + Združite podobna iskanja, spletne strani in zavihke za hitrejši dostop. Izberi zavihke @@ -960,6 +975,9 @@ Prijava ni uspela Samodejna zasebnost + + Nastavitve zasebnosti in varnosti zavračajo sledilce, zlonamerno programsko opremo in podjetja, ki vam sledijo. Običajno (privzeto) @@ -1433,6 +1451,11 @@ Prijava v Sync + + + Omejitev glavnih strani je dosežena + + Če želite dodati novo glavno stran, eno odstranite. Podržite prst na njej in izberite "Odstrani". V redu, razumem diff --git a/app/src/main/res/values-ta/strings.xml b/app/src/main/res/values-ta/strings.xml index aa6e997f1..c1f695397 100644 --- a/app/src/main/res/values-ta/strings.xml +++ b/app/src/main/res/values-ta/strings.xml @@ -142,4 +142,72 @@ கணக்கு + + புகுபதிகை + + கருவிப்பட்டி + + கருப்பொருள் + + பயர்பாக்சு கணக்கு + + மொழி + + தரவுத் தேர்வுகள் + + தரவுச் சேகரிப்பு + + தனியுரிமை அறிவிப்பு + + உருவாக்குநர் கருவிகள் + + USB மூலமாகத் தொலைநிலை வழுநீக்கல் + + தேடல் குறுக்குவழிகளைக் காட்டு + + தேடல் பரிந்துரைகளைக் காட்டு + + + கமுக்க அமர்வுகளில் காட்டு + + ஒட்டுப்பலகைப் பரிந்துரைகளைக் காட்டு + + உலாவல் வரலாற்றைத் தேடு + + புத்தகக்குறிகளைத் தேடு + + கணக்கு அமைப்புகள் + + + + இப்போது ஒத்திசை + + ஒத்திசைக்க வேண்டியதைத் தேர் + + வரலாறு + + புத்தகக்குறிகள் + + புகுபதிகைகள் + + விடுபதிகை + + சாதனப் பெயர் + + சாதனப் பெயர் காலியாக இருக்க முடியாது. + + ஒத்திசைக்கிறது… + + ஒத்திசைவு தோல்வி. கடைசியாக வெற்றியடைந்தது: %s + + ஒத்திசைவு தோல்வி. கடைசியாக ஒத்திசைக்கப்பட்டது: இல்லை + + கடைசி ஒத்திசைவு: %@ + + கடைசி ஒத்திசைவு: இல்லை + + + + பெறப்பட்ட கீற்றுகள் + diff --git a/app/src/main/res/values-te/strings.xml b/app/src/main/res/values-te/strings.xml index 833c24378..c9a0dcfd3 100644 --- a/app/src/main/res/values-te/strings.xml +++ b/app/src/main/res/values-te/strings.xml @@ -91,6 +91,8 @@ ఖాతా అలంకారం + + Firefox ఖాతా భాష @@ -99,6 +101,10 @@ + + అంతరంగికతా విధానం + + డెవలపర్ పనిముట్లు ఖాతా అమరికలు @@ -163,6 +169,8 @@ తెరిచివున్న ట్యాబులు + + అంతరంగికం తెరిచివున్న ట్యాబులు @@ -196,6 +204,13 @@ is a digit showing the number of items you have selected --> %1$d అంశాలను తొలగించు + + గత 30 రోజులు + + పాతవి + + ఇక్కడ చరిత్రేమీ లేదు + ట్యాబును మూసివేయి @@ -237,6 +252,9 @@ రద్దుచేయి + + ఫాంటు పరిమాణం + తెరిచివున్న ట్యాబులు @@ -259,6 +277,16 @@ తొలగించు + + + %sకి స్వాగతం! + + ఇప్పటికే ఖాతా ఉందా? + + కొత్తవేమిటో చూడండి + + ఇక్కడ సమాధానాలు పొందండి మూసివేయి diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 294a50b4b..a8e62f014 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -20,7 +20,9 @@ 8dp 24dp 12dp + 28dp 48dp + 24dp 32dp 16dp 12dp @@ -35,6 +37,7 @@ 16dp 12dp 24dp + 68dp 48dp 8dp diff --git a/app/src/main/res/xml/search_preferences.xml b/app/src/main/res/xml/search_preferences.xml index d6667bb5f..be7c2604e 100644 --- a/app/src/main/res/xml/search_preferences.xml +++ b/app/src/main/res/xml/search_preferences.xml @@ -2,7 +2,6 @@ - + android:title="@string/preferences_show_search_shortcuts" /> + android:title="@string/preferences_show_clipboard_suggestions" /> + android:title='@string/preferences_search_browsing_history' /> + android:title='@string/preferences_search_bookmarks' /> + android:title="@string/preferences_show_voice_search" /> + android:title="@string/preferences_show_search_suggestions" /> + android:layout="@layout/checkbox_left_sub_preference" + app:iconSpaceReserved="false" /> diff --git a/config/pre-push-recommended.sh b/config/pre-push-recommended.sh index f42b19d57..ff6cfc913 100755 --- a/config/pre-push-recommended.sh +++ b/config/pre-push-recommended.sh @@ -9,7 +9,7 @@ # too long. # # You can use it by running this command from the project root: -# `ln -s ../../tools/pre-push-recommended.sh .git/hooks/pre-push` +# `ln -s ../../config/pre-push-recommended.sh .git/hooks/pre-push` # Descriptions for each gradle task below can be found in the # output of `./gradlew tasks`.