Compare commits
	
		
			9 Commits
		
	
	
		
			v161809264
			...
			v161810280
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					bb75ebf635 | ||
| 
						 | 
					7d7d0014be | ||
| 
						 | 
					b3f8d44794 | ||
| 
						 | 
					29d1e38340 | ||
| 
						 | 
					2be872e61e | ||
| 
						 | 
					377c5518f7 | ||
| 
						 | 
					21be7357b5 | ||
| 
						 | 
					d47ba2c820 | ||
| 
						 | 
					a64b14614a | 
@@ -133,7 +133,7 @@ dependencies {
 | 
			
		||||
    implementation 'com.github.stkent:amplify:2.1.0'
 | 
			
		||||
 | 
			
		||||
    // Drawer
 | 
			
		||||
    implementation 'co.zsmb:materialdrawer-kt:1.3.5'
 | 
			
		||||
    implementation 'co.zsmb:materialdrawer-kt:1.3.7'
 | 
			
		||||
    implementation 'com.anupcowkur:reservoir:3.1.0'
 | 
			
		||||
 | 
			
		||||
    // Themes
 | 
			
		||||
 
 | 
			
		||||
@@ -114,7 +114,7 @@ class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener {
 | 
			
		||||
    private lateinit var appColors: AppColors
 | 
			
		||||
    private var offset: Int = 0
 | 
			
		||||
    private var firstVisible: Int = 0
 | 
			
		||||
    private var recyclerViewScrollListener: RecyclerView.OnScrollListener? = null
 | 
			
		||||
    private lateinit var recyclerViewScrollListener: RecyclerView.OnScrollListener
 | 
			
		||||
    private lateinit var settings: SharedPreferences
 | 
			
		||||
 | 
			
		||||
    private var recyclerAdapter: RecyclerView.Adapter<*>? = null
 | 
			
		||||
@@ -209,8 +209,8 @@ class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener {
 | 
			
		||||
                ItemTouchHelper.LEFT or ItemTouchHelper.RIGHT
 | 
			
		||||
            ) {
 | 
			
		||||
                override fun getSwipeDirs(
 | 
			
		||||
                    recyclerView: RecyclerView?,
 | 
			
		||||
                    viewHolder: RecyclerView.ViewHolder?
 | 
			
		||||
                    recyclerView: RecyclerView,
 | 
			
		||||
                    viewHolder: RecyclerView.ViewHolder
 | 
			
		||||
                ): Int =
 | 
			
		||||
                    if (elementsShown != UNREAD_SHOWN) {
 | 
			
		||||
                        0
 | 
			
		||||
@@ -805,22 +805,20 @@ class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private fun handleInfiniteScroll() {
 | 
			
		||||
        if (recyclerViewScrollListener == null) {
 | 
			
		||||
            recyclerViewScrollListener = object : RecyclerView.OnScrollListener() {
 | 
			
		||||
                override fun onScrolled(localRecycler: RecyclerView?, dx: Int, dy: Int) {
 | 
			
		||||
                    if (localRecycler != null && dy > 0) {
 | 
			
		||||
                        val manager = recyclerView.layoutManager
 | 
			
		||||
                        val lastVisibleItem: Int = when (manager) {
 | 
			
		||||
                            is StaggeredGridLayoutManager -> manager.findLastCompletelyVisibleItemPositions(
 | 
			
		||||
                                null
 | 
			
		||||
                            ).last()
 | 
			
		||||
                            is GridLayoutManager -> manager.findLastCompletelyVisibleItemPosition()
 | 
			
		||||
                            else -> 0
 | 
			
		||||
                        }
 | 
			
		||||
        recyclerViewScrollListener = object : RecyclerView.OnScrollListener() {
 | 
			
		||||
            override fun onScrolled(localRecycler: RecyclerView, dx: Int, dy: Int) {
 | 
			
		||||
                if (localRecycler != null && dy > 0) {
 | 
			
		||||
                    val manager = recyclerView.layoutManager
 | 
			
		||||
                    val lastVisibleItem: Int = when (manager) {
 | 
			
		||||
                        is StaggeredGridLayoutManager -> manager.findLastCompletelyVisibleItemPositions(
 | 
			
		||||
                            null
 | 
			
		||||
                        ).last()
 | 
			
		||||
                        is GridLayoutManager -> manager.findLastCompletelyVisibleItemPosition()
 | 
			
		||||
                        else -> 0
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                        if (lastVisibleItem == (items.size - 1) && items.size < maxItemNumber()) {
 | 
			
		||||
                            getElementsAccordingToTab(appendResults = true)
 | 
			
		||||
                        }
 | 
			
		||||
                    if (lastVisibleItem == (items.size - 1) && items.size < maxItemNumber()) {
 | 
			
		||||
                        getElementsAccordingToTab(appendResults = true)
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,11 +1,9 @@
 | 
			
		||||
package apps.amine.bou.readerforselfoss.fragments
 | 
			
		||||
 | 
			
		||||
import android.content.Context
 | 
			
		||||
import android.content.Intent
 | 
			
		||||
import android.content.SharedPreferences
 | 
			
		||||
import android.content.res.ColorStateList
 | 
			
		||||
import android.graphics.drawable.ColorDrawable
 | 
			
		||||
import android.net.Uri
 | 
			
		||||
import android.os.Build
 | 
			
		||||
import android.os.Bundle
 | 
			
		||||
import android.preference.PreferenceManager
 | 
			
		||||
@@ -14,7 +12,6 @@ import android.support.design.widget.FloatingActionButton
 | 
			
		||||
import android.support.v4.app.Fragment
 | 
			
		||||
import android.support.v4.content.ContextCompat
 | 
			
		||||
import android.support.v4.widget.NestedScrollView
 | 
			
		||||
import android.support.v7.app.AlertDialog
 | 
			
		||||
import android.view.LayoutInflater
 | 
			
		||||
import android.view.MenuItem
 | 
			
		||||
import android.view.View
 | 
			
		||||
@@ -58,7 +55,6 @@ class ArticleFragment : Fragment() {
 | 
			
		||||
    private lateinit var contentSource: String
 | 
			
		||||
    private lateinit var contentImage: String
 | 
			
		||||
    private lateinit var contentTitle: String
 | 
			
		||||
    private var showMalformedUrl: Boolean = false
 | 
			
		||||
    private lateinit var editor: SharedPreferences.Editor
 | 
			
		||||
    private lateinit var fab: FloatingActionButton
 | 
			
		||||
    private lateinit var appColors: AppColors
 | 
			
		||||
@@ -97,7 +93,6 @@ class ArticleFragment : Fragment() {
 | 
			
		||||
        val prefs = PreferenceManager.getDefaultSharedPreferences(activity)
 | 
			
		||||
        editor = prefs.edit()
 | 
			
		||||
        fontSize = prefs.getString("reader_font_size", "14").toInt()
 | 
			
		||||
        showMalformedUrl = prefs.getBoolean("show_error_malformed_url", true)
 | 
			
		||||
 | 
			
		||||
        val settings = activity!!.getSharedPreferences(Config.settingsName, Context.MODE_PRIVATE)
 | 
			
		||||
        val debugReadingItems = prefs.getBoolean("read_debug", false)
 | 
			
		||||
@@ -233,7 +228,13 @@ class ArticleFragment : Fragment() {
 | 
			
		||||
                        if (response.body() != null && response.body()!!.content != null && !response.body()!!.content.isNullOrEmpty()) {
 | 
			
		||||
                            try {
 | 
			
		||||
                                rootView.titleView.text = response.body()!!.title
 | 
			
		||||
                                url = response.body()!!.url
 | 
			
		||||
                                try {
 | 
			
		||||
                                    // Note: Mercury may return relative urls... If it does the url val will not be changed.
 | 
			
		||||
                                    URL(response.body()!!.url)
 | 
			
		||||
                                    url = response.body()!!.url
 | 
			
		||||
                                } catch (e: MalformedURLException) {
 | 
			
		||||
                                    ACRA.getErrorReporter().maybeHandleSilentException(e, activity!!)
 | 
			
		||||
                                }
 | 
			
		||||
                            } catch (e: Exception) {
 | 
			
		||||
                                if (context != null) {
 | 
			
		||||
                                    ACRA.getErrorReporter().maybeHandleSilentException(e, context!!)
 | 
			
		||||
@@ -362,73 +363,46 @@ class ArticleFragment : Fragment() {
 | 
			
		||||
            val itemUrl = URL(url)
 | 
			
		||||
            baseUrl = itemUrl.protocol + "://" + itemUrl.host
 | 
			
		||||
        } catch (e: MalformedURLException) {
 | 
			
		||||
            if (showMalformedUrl && context != null) {
 | 
			
		||||
                val alertDialog = AlertDialog.Builder(context!!).create()
 | 
			
		||||
                alertDialog.setTitle("Error")
 | 
			
		||||
                alertDialog.setMessage("You are encountering a bug that I can't solve. Can you please contact me to solve the issue, please ?")
 | 
			
		||||
                alertDialog.setButton(
 | 
			
		||||
                    AlertDialog.BUTTON_POSITIVE,
 | 
			
		||||
                    "Send mail"
 | 
			
		||||
                ) { dialog, _ ->
 | 
			
		||||
 | 
			
		||||
                    // This won't be translated because it should only be temporary.
 | 
			
		||||
                    val to = Config.feedbackEmail
 | 
			
		||||
                    val subject= "[ReaderForSelfoss MalformedURLException]"
 | 
			
		||||
                    val body= "Please specify the source, item and spout you are using for the url below : \n ${e.message}"
 | 
			
		||||
                    val mailTo = "mailto:" + to + "?&subject=" + Uri.encode(subject) + "&body=" + Uri.encode(body)
 | 
			
		||||
 | 
			
		||||
                    val emailIntent = Intent(Intent.ACTION_VIEW)
 | 
			
		||||
                    emailIntent.data = Uri.parse(mailTo)
 | 
			
		||||
                    startActivity(emailIntent)
 | 
			
		||||
 | 
			
		||||
                    dialog.dismiss()
 | 
			
		||||
                }
 | 
			
		||||
                alertDialog.setButton(
 | 
			
		||||
                    AlertDialog.BUTTON_NEUTRAL,
 | 
			
		||||
                    "Not now"
 | 
			
		||||
                ) { dialog, _ -> dialog.dismiss() }
 | 
			
		||||
                alertDialog.setButton(
 | 
			
		||||
                    AlertDialog.BUTTON_NEGATIVE,
 | 
			
		||||
                    "Don't show anymore."
 | 
			
		||||
                ) { dialog, _ ->
 | 
			
		||||
                    editor.putBoolean("show_error_malformed_url", false)
 | 
			
		||||
                    editor.apply()
 | 
			
		||||
                    dialog.dismiss()
 | 
			
		||||
                }
 | 
			
		||||
                alertDialog.show()
 | 
			
		||||
            }
 | 
			
		||||
            ACRA.getErrorReporter().maybeHandleSilentException(e, activity!!)
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        rootView.webcontent.loadDataWithBaseURL(
 | 
			
		||||
            baseUrl,
 | 
			
		||||
            """<style>
 | 
			
		||||
                |img {
 | 
			
		||||
                |  display: inline-block;
 | 
			
		||||
                |  height: auto;
 | 
			
		||||
                |  width: 100%;
 | 
			
		||||
                |  max-width: 100%;
 | 
			
		||||
                |}
 | 
			
		||||
                |a {
 | 
			
		||||
                |  color: $stringColor !important;
 | 
			
		||||
                |}
 | 
			
		||||
                |*:not(a) {
 | 
			
		||||
                |  color: $stringTextColor;
 | 
			
		||||
                |}
 | 
			
		||||
                |* {
 | 
			
		||||
                |  font-size: ${fontSize.toPx}px;
 | 
			
		||||
                |  text-align: justify;
 | 
			
		||||
                |  word-break: break-word;
 | 
			
		||||
                |  overflow:hidden;
 | 
			
		||||
                |}
 | 
			
		||||
                |a, pre, code {
 | 
			
		||||
                |  text-align: left;
 | 
			
		||||
                |}
 | 
			
		||||
                |pre, code {
 | 
			
		||||
                |  white-space: pre-wrap;
 | 
			
		||||
                |  width:100%;
 | 
			
		||||
                |  background-color: $stringBackgroundColor;
 | 
			
		||||
                |}</style>$c""".trimMargin(),
 | 
			
		||||
            "text/html; charset=utf-8",
 | 
			
		||||
            """<html>
 | 
			
		||||
                |<head>
 | 
			
		||||
                |   <style>
 | 
			
		||||
                |      img {
 | 
			
		||||
                |        display: inline-block;
 | 
			
		||||
                |        height: auto;
 | 
			
		||||
                |        width: 100%;
 | 
			
		||||
                |        max-width: 100%;
 | 
			
		||||
                |      }
 | 
			
		||||
                |      a {
 | 
			
		||||
                |        color: $stringColor !important;
 | 
			
		||||
                |      }
 | 
			
		||||
                |      *:not(a) {
 | 
			
		||||
                |        color: $stringTextColor;
 | 
			
		||||
                |      }
 | 
			
		||||
                |      * {
 | 
			
		||||
                |        font-size: ${fontSize.toPx}px;
 | 
			
		||||
                |        text-align: justify;
 | 
			
		||||
                |        word-break: break-word;
 | 
			
		||||
                |        overflow:hidden;
 | 
			
		||||
                |      }
 | 
			
		||||
                |      a, pre, code {
 | 
			
		||||
                |        text-align: left;
 | 
			
		||||
                |      }
 | 
			
		||||
                |      pre, code {
 | 
			
		||||
                |        white-space: pre-wrap;
 | 
			
		||||
                |        width:100%;
 | 
			
		||||
                |        background-color: $stringBackgroundColor;
 | 
			
		||||
                |      }
 | 
			
		||||
                |   </style>
 | 
			
		||||
                |</head>
 | 
			
		||||
                |<body>
 | 
			
		||||
                |   $c
 | 
			
		||||
                |</body>""".trimMargin(),
 | 
			
		||||
            "text/html",
 | 
			
		||||
            "utf-8",
 | 
			
		||||
            null
 | 
			
		||||
        )
 | 
			
		||||
 
 | 
			
		||||
@@ -1,53 +1,53 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<!--Generated by crowdin.com-->
 | 
			
		||||
<resources xmlns:tools="http://schemas.android.com/tools">
 | 
			
		||||
  <string name="app_name">"Reader for Selfoss"</string>
 | 
			
		||||
  <string name="title_activity_login">"Log in"</string>
 | 
			
		||||
  <string name="app_name">"Lettore RSS per Selfoss"</string>
 | 
			
		||||
  <string name="title_activity_login">"Accedi"</string>
 | 
			
		||||
  <string name="prompt_password">"Password"</string>
 | 
			
		||||
  <string name="prompt_http_password">"HTTP Password"</string>
 | 
			
		||||
  <string name="action_sign_in">"Go"</string>
 | 
			
		||||
  <string name="error_invalid_password">"Password not long enough"</string>
 | 
			
		||||
  <string name="error_field_required">"Field required"</string>
 | 
			
		||||
  <string name="prompt_url">"Url"</string>
 | 
			
		||||
  <string name="withLoginSwitch">"Login required ?"</string>
 | 
			
		||||
  <string name="withHttpLoginSwitch">"HTTP Login required ?"</string>
 | 
			
		||||
  <string name="login_url_problem">"Oops. You may need to add a \"/\" at the end of the url."</string>
 | 
			
		||||
  <string name="prompt_login">"Username"</string>
 | 
			
		||||
  <string name="prompt_http_login">"HTTP Username"</string>
 | 
			
		||||
  <string name="label_share">"Share"</string>
 | 
			
		||||
  <string name="readAll">"Read all"</string>
 | 
			
		||||
  <string name="action_disconnect">"Disconnect"</string>
 | 
			
		||||
  <string name="title_activity_settings">"Settings"</string>
 | 
			
		||||
  <string name="pref_header_general">"General"</string>
 | 
			
		||||
  <string name="pref_switch_actions_tap_title">"Tap action on the articles"</string>
 | 
			
		||||
  <string name="prompt_http_password">"Password HTTP"</string>
 | 
			
		||||
  <string name="action_sign_in">"Vai"</string>
 | 
			
		||||
  <string name="error_invalid_password">"La password non è sufficientemente lunga"</string>
 | 
			
		||||
  <string name="error_field_required">"Campo obbligatorio"</string>
 | 
			
		||||
  <string name="prompt_url">"URL"</string>
 | 
			
		||||
  <string name="withLoginSwitch">"È richiesto l'accesso?"</string>
 | 
			
		||||
  <string name="withHttpLoginSwitch">"Accesso HTTP necessario?"</string>
 | 
			
		||||
  <string name="login_url_problem">"Oops. Potrebbe essere necessario aggiungere un \"/\" alla fine dell'url."</string>
 | 
			
		||||
  <string name="prompt_login">"Nome utente"</string>
 | 
			
		||||
  <string name="prompt_http_login">"Nome utente HTTP"</string>
 | 
			
		||||
  <string name="label_share">"Condividi"</string>
 | 
			
		||||
  <string name="readAll">"Segna tutte come lette"</string>
 | 
			
		||||
  <string name="action_disconnect">"Scollegati"</string>
 | 
			
		||||
  <string name="title_activity_settings">"Impostazioni"</string>
 | 
			
		||||
  <string name="pref_header_general">"Generali"</string>
 | 
			
		||||
  <string name="pref_switch_actions_tap_title">"Tap sugli articoli"</string>
 | 
			
		||||
  <string name="add_source_hint_tags">"Tag1, Tag2, Tag3"</string>
 | 
			
		||||
  <string name="add_source_hint_url">"Link"</string>
 | 
			
		||||
  <string name="add_source_hint_name">"Name"</string>
 | 
			
		||||
  <string name="add_source">"Add a source"</string>
 | 
			
		||||
  <string name="add_source_save">"Save"</string>
 | 
			
		||||
  <string name="wrong_infos">"Check your details again."</string>
 | 
			
		||||
  <string name="add_source_hint_name">"Nome"</string>
 | 
			
		||||
  <string name="add_source">"Aggiungi una fonte"</string>
 | 
			
		||||
  <string name="add_source_save">"Salva"</string>
 | 
			
		||||
  <string name="wrong_infos">"Controlla nuovamente i dati."</string>
 | 
			
		||||
  <string name="all_posts_not_read">"All posts weren't read"</string>
 | 
			
		||||
  <string name="all_posts_read">"All posts were read"</string>
 | 
			
		||||
  <string name="cant_get_favs">"Can't get favorites"</string>
 | 
			
		||||
  <string name="cant_get_new_elements">"Can't get new articles"</string>
 | 
			
		||||
  <string name="all_posts_read">"Tutti i messaggi sono stati letti"</string>
 | 
			
		||||
  <string name="cant_get_favs">"Non è possibile ottenere i preferiti"</string>
 | 
			
		||||
  <string name="cant_get_new_elements">"Non è possibile ottenere nuovi articoli"</string>
 | 
			
		||||
  <string name="cant_get_read">"Can't get read articles"</string>
 | 
			
		||||
  <string name="nothing_here">"Nothing here"</string>
 | 
			
		||||
  <string name="tab_new">"New"</string>
 | 
			
		||||
  <string name="tab_read">"All"</string>
 | 
			
		||||
  <string name="tab_favs">"Favorites"</string>
 | 
			
		||||
  <string name="action_about">"About"</string>
 | 
			
		||||
  <string name="marked_as_read">"Item read"</string>
 | 
			
		||||
  <string name="undo_string">"Undo"</string>
 | 
			
		||||
  <string name="addStringNoUrl">"Log in to add sources."</string>
 | 
			
		||||
  <string name="nothing_here">"Non c'è niente qui"</string>
 | 
			
		||||
  <string name="tab_new">"Nuovi"</string>
 | 
			
		||||
  <string name="tab_read">"Tutti"</string>
 | 
			
		||||
  <string name="tab_favs">"Preferiti"</string>
 | 
			
		||||
  <string name="action_about">"Informazioni"</string>
 | 
			
		||||
  <string name="marked_as_read">"Articolo letto"</string>
 | 
			
		||||
  <string name="undo_string">"Annulla"</string>
 | 
			
		||||
  <string name="addStringNoUrl">"Autenticati per aggiungere fonti."</string>
 | 
			
		||||
  <string name="cant_get_sources">"Can't get sources list."</string>
 | 
			
		||||
  <string name="cant_create_source">"Can't create source."</string>
 | 
			
		||||
  <string name="cant_get_spouts">"Can't get spouts list."</string>
 | 
			
		||||
  <string name="form_not_complete">"The form is not complete"</string>
 | 
			
		||||
  <string name="form_not_complete">"Il modulo non è completo"</string>
 | 
			
		||||
  <string name="pref_header_links">"Links"</string>
 | 
			
		||||
  <string name="issue_tracker_link">"Issue Tracker"</string>
 | 
			
		||||
  <string name="issue_tracker_summary">"Report a bug or ask for a new feature"</string>
 | 
			
		||||
  <string name="warning_wrong_url">"WARNING"</string>
 | 
			
		||||
  <string name="pref_switch_card_view_title">"Card View"</string>
 | 
			
		||||
  <string name="issue_tracker_link">"Traccia problemi"</string>
 | 
			
		||||
  <string name="issue_tracker_summary">"Segnalare un bug o richiedere una nuova funzionalità"</string>
 | 
			
		||||
  <string name="warning_wrong_url">"ATTENZIONE"</string>
 | 
			
		||||
  <string name="pref_switch_card_view_title">"Visualizzazione a schede"</string>
 | 
			
		||||
  <string name="cant_mark_favortie">"Can't mark article as favorite"</string>
 | 
			
		||||
  <string name="cant_unmark_favortie">"Can't remove item from favorite"</string>
 | 
			
		||||
  <string name="share">"Share"</string>
 | 
			
		||||
@@ -92,32 +92,32 @@
 | 
			
		||||
  <string name="intro_hello_title">"Hi there !"</string>
 | 
			
		||||
  <string name="intro_hello_message">"Thanks for downloading the app !"</string>
 | 
			
		||||
  <string name="intro_needs_selfoss_title">"Before you start…"</string>
 | 
			
		||||
  <string name="intro_needs_selfoss_message">"You can't use the app without a Selfoss instance."</string>
 | 
			
		||||
  <string name="intro_needs_selfoss_link">"What is Selfoss ?"</string>
 | 
			
		||||
  <string name="intro_all_set_title">"All set !"</string>
 | 
			
		||||
  <string name="intro_needs_selfoss_message">"Non è possibile utilizzare l'app senza un'istanza di Selfoss."</string>
 | 
			
		||||
  <string name="intro_needs_selfoss_link">"Che cosa è Selfoss?"</string>
 | 
			
		||||
  <string name="intro_all_set_title">"Tutto pronto!"</string>
 | 
			
		||||
  <string name="intro_all_set_message">"You are ready to use the app. Don't forget to go to the settings page to configure your app, and where you'll find some useful links."</string>
 | 
			
		||||
  <string name="card_height_title">Full height cards</string>
 | 
			
		||||
  <string name="card_height_title">Schede a piena altezza</string>
 | 
			
		||||
  <string name="card_height_on">Cards height will adjust to its content</string>
 | 
			
		||||
  <string name="card_height_off">Card height will be fixed</string>
 | 
			
		||||
  <string name="source_code">Source code</string>
 | 
			
		||||
  <string name="cant_mark_read">Can\'t mark article as read</string>
 | 
			
		||||
  <string name="drawer_error_loading_tags">Error loading tags…</string>
 | 
			
		||||
  <string name="drawer_error_loading_sources">Error loading sources…</string>
 | 
			
		||||
  <string name="drawer_item_filters">Filters</string>
 | 
			
		||||
  <string name="drawer_action_clear">clear</string>
 | 
			
		||||
  <string name="source_code">Codice sorgente</string>
 | 
			
		||||
  <string name="cant_mark_read">Impossibile contrassegnare l\'articolo come già letto</string>
 | 
			
		||||
  <string name="drawer_error_loading_tags">Errore nel caricamento dei tag…</string>
 | 
			
		||||
  <string name="drawer_error_loading_sources">Errore nel caricamento delle fonti…</string>
 | 
			
		||||
  <string name="drawer_item_filters">Filtri</string>
 | 
			
		||||
  <string name="drawer_action_clear">cancella</string>
 | 
			
		||||
  <string name="drawer_item_tags">Tags</string>
 | 
			
		||||
  <string name="drawer_item_sources">Sources</string>
 | 
			
		||||
  <string name="drawer_action_edit">edit</string>
 | 
			
		||||
  <string name="drawer_item_sources">Fonti</string>
 | 
			
		||||
  <string name="drawer_action_edit">modifica</string>
 | 
			
		||||
  <string name="cache_drawer_error" tools:keep="@string/cache_drawer_error">Couldn\'t cache your drawer data</string>
 | 
			
		||||
  <string name="no_tags_loaded">No tags loaded</string>
 | 
			
		||||
  <string name="no_tags_loaded">Nessun tag caricato</string>
 | 
			
		||||
  <string name="no_sources_loaded">No sources loaded</string>
 | 
			
		||||
  <string name="drawer_loading">Loading …</string>
 | 
			
		||||
  <string name="menu_home_search">Search</string>
 | 
			
		||||
  <string name="can_delete_source">Can\'t delete the source…</string>
 | 
			
		||||
  <string name="drawer_loading">Caricamento…</string>
 | 
			
		||||
  <string name="menu_home_search">Cerca</string>
 | 
			
		||||
  <string name="can_delete_source">Non è possibile eliminare la fonte…</string>
 | 
			
		||||
  <string name="base_url_error">There was an issue when trying to communicate with your Selfoss Instance. If the issue persists, please get in touch with me.</string>
 | 
			
		||||
  <string name="pref_header_theme">Themes</string>
 | 
			
		||||
  <string name="default_theme">Default</string>
 | 
			
		||||
  <string name="default_dark_theme">Default/Dark</string>
 | 
			
		||||
  <string name="pref_header_theme">Temi</string>
 | 
			
		||||
  <string name="default_theme">Predefinito</string>
 | 
			
		||||
  <string name="default_dark_theme">Predefinito (Scuro)</string>
 | 
			
		||||
  <string name="pref_header_debug">Debug</string>
 | 
			
		||||
  <string name="login_debug_title">Activate to log login errors</string>
 | 
			
		||||
  <string name="login_debug_on">Any error on the login page will be logged</string>
 | 
			
		||||
@@ -125,9 +125,9 @@
 | 
			
		||||
  <string name="login_menu_debug">Debug</string>
 | 
			
		||||
  <string name="self_hosted_cert_switch">Using a self hosted certificate ?</string>
 | 
			
		||||
  <string name="self_signed_cert_warning">Due to security reasons, self signed certificates are not supported by default. By activating this, I\'ll not be responsible of any security problem you encounter.</string>
 | 
			
		||||
  <string name="pref_selfoss_category">Selfoss Api</string>
 | 
			
		||||
  <string name="pref_api_items_number_title">Loaded items number</string>
 | 
			
		||||
  <string name="pref_hidden_tags">Hidden Tags</string>
 | 
			
		||||
  <string name="pref_selfoss_category">Api di Selfoss</string>
 | 
			
		||||
  <string name="pref_api_items_number_title">Numero di elementi caricati</string>
 | 
			
		||||
  <string name="pref_hidden_tags">Tag nascosti</string>
 | 
			
		||||
  <string name="read_debug_title">Read articles appearing as unread ?</string>
 | 
			
		||||
  <string name="read_debug_off">No log when marking an item as read</string>
 | 
			
		||||
  <string name="read_debug_on">Api calls will be logged when marking an article as read</string>
 | 
			
		||||
@@ -139,9 +139,9 @@
 | 
			
		||||
  <string name="login_everything_on">This will log every api call for debug purpose.</string>
 | 
			
		||||
  <string name="login_everything_off">No api call will be logged</string>
 | 
			
		||||
  <string name="pref_general_infinite_loading_title">Load more articles on scroll</string>
 | 
			
		||||
  <string name="translation">Translation</string>
 | 
			
		||||
  <string name="translation">Traduzioni</string>
 | 
			
		||||
  <string name="cant_open_invalid_url">The item url is invalid. I\'m looking into solving this issue so the app won\'t crash.</string>
 | 
			
		||||
  <string name="drawer_report_bug">Report a bug</string>
 | 
			
		||||
  <string name="drawer_report_bug">Segnala un bug</string>
 | 
			
		||||
  <string name="items_number_should_be_number">The items number should be an integer.</string>
 | 
			
		||||
  <string name="reader_action_more">Read more</string>
 | 
			
		||||
  <string name="reader_action_open">Open in browser</string>
 | 
			
		||||
@@ -168,5 +168,5 @@
 | 
			
		||||
  <string name="pref_debug_debug_logs">Debug logging (these will be sent without a dialog)</string>
 | 
			
		||||
  <string name="acra_login">Enable logging</string>
 | 
			
		||||
  <string name="drawer_item_hidden_tags">Hidden Tags</string>
 | 
			
		||||
  <string name="unmark">Mark item as unread</string>
 | 
			
		||||
  <string name="unmark">Segna come non letto</string>
 | 
			
		||||
</resources>
 | 
			
		||||
 
 | 
			
		||||
@@ -2,61 +2,61 @@
 | 
			
		||||
<!--Generated by crowdin.com-->
 | 
			
		||||
<resources xmlns:tools="http://schemas.android.com/tools">
 | 
			
		||||
  <string name="app_name">"Reader for Selfoss"</string>
 | 
			
		||||
  <string name="title_activity_login">"Log in"</string>
 | 
			
		||||
  <string name="prompt_password">"Password"</string>
 | 
			
		||||
  <string name="prompt_http_password">"HTTP Password"</string>
 | 
			
		||||
  <string name="title_activity_login">"로그인"</string>
 | 
			
		||||
  <string name="prompt_password">"비밀번호"</string>
 | 
			
		||||
  <string name="prompt_http_password">"HTTP 암호"</string>
 | 
			
		||||
  <string name="action_sign_in">"Go"</string>
 | 
			
		||||
  <string name="error_invalid_password">"Password not long enough"</string>
 | 
			
		||||
  <string name="error_field_required">"Field required"</string>
 | 
			
		||||
  <string name="error_invalid_password">"패스워드가 짧습니다."</string>
 | 
			
		||||
  <string name="error_field_required">"필수 항목"</string>
 | 
			
		||||
  <string name="prompt_url">"Url"</string>
 | 
			
		||||
  <string name="withLoginSwitch">"Login required ?"</string>
 | 
			
		||||
  <string name="withHttpLoginSwitch">"HTTP Login required ?"</string>
 | 
			
		||||
  <string name="login_url_problem">"Oops. You may need to add a \"/\" at the end of the url."</string>
 | 
			
		||||
  <string name="prompt_login">"Username"</string>
 | 
			
		||||
  <string name="prompt_http_login">"HTTP Username"</string>
 | 
			
		||||
  <string name="label_share">"Share"</string>
 | 
			
		||||
  <string name="readAll">"Read all"</string>
 | 
			
		||||
  <string name="action_disconnect">"Disconnect"</string>
 | 
			
		||||
  <string name="title_activity_settings">"Settings"</string>
 | 
			
		||||
  <string name="pref_header_general">"General"</string>
 | 
			
		||||
  <string name="pref_switch_actions_tap_title">"Tap action on the articles"</string>
 | 
			
		||||
  <string name="add_source_hint_tags">"Tag1, Tag2, Tag3"</string>
 | 
			
		||||
  <string name="add_source_hint_url">"Link"</string>
 | 
			
		||||
  <string name="add_source_hint_name">"Name"</string>
 | 
			
		||||
  <string name="add_source">"Add a source"</string>
 | 
			
		||||
  <string name="add_source_save">"Save"</string>
 | 
			
		||||
  <string name="wrong_infos">"Check your details again."</string>
 | 
			
		||||
  <string name="all_posts_not_read">"All posts weren't read"</string>
 | 
			
		||||
  <string name="all_posts_read">"All posts were read"</string>
 | 
			
		||||
  <string name="cant_get_favs">"Can't get favorites"</string>
 | 
			
		||||
  <string name="cant_get_new_elements">"Can't get new articles"</string>
 | 
			
		||||
  <string name="cant_get_read">"Can't get read articles"</string>
 | 
			
		||||
  <string name="nothing_here">"Nothing here"</string>
 | 
			
		||||
  <string name="tab_new">"New"</string>
 | 
			
		||||
  <string name="tab_read">"All"</string>
 | 
			
		||||
  <string name="tab_favs">"Favorites"</string>
 | 
			
		||||
  <string name="action_about">"About"</string>
 | 
			
		||||
  <string name="marked_as_read">"Item read"</string>
 | 
			
		||||
  <string name="undo_string">"Undo"</string>
 | 
			
		||||
  <string name="addStringNoUrl">"Log in to add sources."</string>
 | 
			
		||||
  <string name="cant_get_sources">"Can't get sources list."</string>
 | 
			
		||||
  <string name="cant_create_source">"Can't create source."</string>
 | 
			
		||||
  <string name="cant_get_spouts">"Can't get spouts list."</string>
 | 
			
		||||
  <string name="form_not_complete">"The form is not complete"</string>
 | 
			
		||||
  <string name="pref_header_links">"Links"</string>
 | 
			
		||||
  <string name="issue_tracker_link">"Issue Tracker"</string>
 | 
			
		||||
  <string name="issue_tracker_summary">"Report a bug or ask for a new feature"</string>
 | 
			
		||||
  <string name="warning_wrong_url">"WARNING"</string>
 | 
			
		||||
  <string name="pref_switch_card_view_title">"Card View"</string>
 | 
			
		||||
  <string name="cant_mark_favortie">"Can't mark article as favorite"</string>
 | 
			
		||||
  <string name="cant_unmark_favortie">"Can't remove item from favorite"</string>
 | 
			
		||||
  <string name="share">"Share"</string>
 | 
			
		||||
  <string name="rating_prompt_title">"Enjoying the app ?"</string>
 | 
			
		||||
  <string name="rating_prompt_yes">"Yes !"</string>
 | 
			
		||||
  <string name="rating_prompt_no">"Not really …"</string>
 | 
			
		||||
  <string name="rating_prompt_feedback_title">"Can you tell us why ?"</string>
 | 
			
		||||
  <string name="rating_prompt_feedback_yes">"OK !"</string>
 | 
			
		||||
  <string name="rating_prompt_feedback_no">"Not now."</string>
 | 
			
		||||
  <string name="withLoginSwitch">"로그인이 필요합니까?"</string>
 | 
			
		||||
  <string name="withHttpLoginSwitch">"HTTP 로그인이 필요 합니까?"</string>
 | 
			
		||||
  <string name="login_url_problem">"죄송합니다. Url의 끝에 \"/\"를 추가할 필요가 있습니다."</string>
 | 
			
		||||
  <string name="prompt_login">"사용자 이름"</string>
 | 
			
		||||
  <string name="prompt_http_login">"HTTP 사용자 이름"</string>
 | 
			
		||||
  <string name="label_share">"공유"</string>
 | 
			
		||||
  <string name="readAll">"모두 읽기"</string>
 | 
			
		||||
  <string name="action_disconnect">"연결 해제"</string>
 | 
			
		||||
  <string name="title_activity_settings">"설정"</string>
 | 
			
		||||
  <string name="pref_header_general">"일반"</string>
 | 
			
		||||
  <string name="pref_switch_actions_tap_title">"기사에 탭 액션"</string>
 | 
			
		||||
  <string name="add_source_hint_tags">"태그1, 태그2, 태그3"</string>
 | 
			
		||||
  <string name="add_source_hint_url">"링크"</string>
 | 
			
		||||
  <string name="add_source_hint_name">"이름"</string>
 | 
			
		||||
  <string name="add_source">"소스 추가"</string>
 | 
			
		||||
  <string name="add_source_save">"저장"</string>
 | 
			
		||||
  <string name="wrong_infos">"세부 정보를 다시 확인하세요."</string>
 | 
			
		||||
  <string name="all_posts_not_read">"모든 게시물을 읽지 않았습니다."</string>
 | 
			
		||||
  <string name="all_posts_read">"모든 게시물을 읽었습니다."</string>
 | 
			
		||||
  <string name="cant_get_favs">"즐겨찾기를 가져올 수 없습니다."</string>
 | 
			
		||||
  <string name="cant_get_new_elements">"새로운 기사를 가져올 수 없습니다."</string>
 | 
			
		||||
  <string name="cant_get_read">"읽은 기사를 가져올 수 없습니다."</string>
 | 
			
		||||
  <string name="nothing_here">"비어있음"</string>
 | 
			
		||||
  <string name="tab_new">"새로운"</string>
 | 
			
		||||
  <string name="tab_read">"전체"</string>
 | 
			
		||||
  <string name="tab_favs">"즐겨찾기"</string>
 | 
			
		||||
  <string name="action_about">"정보"</string>
 | 
			
		||||
  <string name="marked_as_read">"항목 읽기"</string>
 | 
			
		||||
  <string name="undo_string">"실행 취소"</string>
 | 
			
		||||
  <string name="addStringNoUrl">"로그인 소스를 추가 해야 합니다."</string>
 | 
			
		||||
  <string name="cant_get_sources">"소스 리스트를 얻을 수 없습니다."</string>
 | 
			
		||||
  <string name="cant_create_source">"소스를 만들 수 없습니다."</string>
 | 
			
		||||
  <string name="cant_get_spouts">"Spouts 목록을 가져올 수 없습니다."</string>
 | 
			
		||||
  <string name="form_not_complete">"양식이 완료되지 않았습니다."</string>
 | 
			
		||||
  <string name="pref_header_links">"링크"</string>
 | 
			
		||||
  <string name="issue_tracker_link">"이슈 트래커"</string>
 | 
			
		||||
  <string name="issue_tracker_summary">"버그를 보고 하거나 새기능에 대해 요청하세요."</string>
 | 
			
		||||
  <string name="warning_wrong_url">"경고"</string>
 | 
			
		||||
  <string name="pref_switch_card_view_title">"카드 형식 보기"</string>
 | 
			
		||||
  <string name="cant_mark_favortie">"좋아하는 문서를 마크할 수 없습니다."</string>
 | 
			
		||||
  <string name="cant_unmark_favortie">"좋아하는 항목에서 제거할 수 없습니다."</string>
 | 
			
		||||
  <string name="share">"공유"</string>
 | 
			
		||||
  <string name="rating_prompt_title">"이 앱에 만족하십니까?"</string>
 | 
			
		||||
  <string name="rating_prompt_yes">"예!"</string>
 | 
			
		||||
  <string name="rating_prompt_no">"설마..."</string>
 | 
			
		||||
  <string name="rating_prompt_feedback_title">"이유를 우리에게 말해줄 수 있습니까?"</string>
 | 
			
		||||
  <string name="rating_prompt_feedback_yes">"OK!"</string>
 | 
			
		||||
  <string name="rating_prompt_feedback_no">"나중에"</string>
 | 
			
		||||
  <string name="rating_prompt_rating_title">"Great ! Can you rate us on the Store ?"</string>
 | 
			
		||||
  <string name="rating_prompt_rating_yes">"Sure !"</string>
 | 
			
		||||
  <string name="rating_prompt_rating_no">"Not right now."</string>
 | 
			
		||||
 
 | 
			
		||||
@@ -2,8 +2,8 @@
 | 
			
		||||
 | 
			
		||||
buildscript {
 | 
			
		||||
    ext {
 | 
			
		||||
        kotlin_version = '1.2.31'
 | 
			
		||||
        android_version = '27.1.1'
 | 
			
		||||
        kotlin_version = '1.2.51'
 | 
			
		||||
        android_version = '28.0.0'
 | 
			
		||||
    }
 | 
			
		||||
    repositories {
 | 
			
		||||
        jcenter()
 | 
			
		||||
@@ -13,7 +13,7 @@ buildscript {
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    dependencies {
 | 
			
		||||
        classpath 'com.android.tools.build:gradle:3.1.4'
 | 
			
		||||
        classpath 'com.android.tools.build:gradle:3.2.0'
 | 
			
		||||
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								gradle/wrapper/gradle-wrapper.properties
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								gradle/wrapper/gradle-wrapper.properties
									
									
									
									
										vendored
									
									
								
							@@ -1,6 +1,6 @@
 | 
			
		||||
#Tue Mar 27 19:14:12 CEST 2018
 | 
			
		||||
#Tue Sep 25 20:41:54 CEST 2018
 | 
			
		||||
distributionBase=GRADLE_USER_HOME
 | 
			
		||||
distributionPath=wrapper/dists
 | 
			
		||||
zipStoreBase=GRADLE_USER_HOME
 | 
			
		||||
zipStorePath=wrapper/dists
 | 
			
		||||
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
 | 
			
		||||
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user