From 4049f6a5c73abdf933729d191aef6a9e1291810b Mon Sep 17 00:00:00 2001 From: aminecmi Date: Sat, 1 Feb 2020 14:30:03 +0100 Subject: [PATCH] Removed acra because the issues wern't sent anyway. --- app/build.gradle | 4 -- .../bou/readerforselfoss/AddSourceActivity.kt | 5 +- .../bou/readerforselfoss/HomeActivity.kt | 50 +------------------ .../bou/readerforselfoss/LoginActivity.kt | 32 ++---------- .../apps/amine/bou/readerforselfoss/MyApp.kt | 30 +---------- .../bou/readerforselfoss/ReaderActivity.kt | 23 +-------- .../bou/readerforselfoss/SourcesActivity.kt | 3 +- .../adapters/ItemCardAdapter.kt | 1 - .../adapters/ItemListAdapter.kt | 1 - .../readerforselfoss/adapters/ItemsAdapter.kt | 35 ------------- .../api/mercury/MercuryApi.kt | 8 +-- .../api/selfoss/SelfossApi.kt | 9 +--- .../readerforselfoss/background/background.kt | 6 +-- .../fragments/ArticleFragment.kt | 36 +------------ .../settings/SettingsActivity.java | 43 ---------------- .../amine/bou/readerforselfoss/utils/Acra.kt | 22 -------- .../bou/readerforselfoss/utils/ItemsUtils.kt | 2 - .../bou/readerforselfoss/utils/LinksUtils.kt | 3 +- app/src/main/res/menu/login_menu.xml | 7 --- app/src/main/res/values-ca-rES/strings.xml | 14 ------ app/src/main/res/values-de-rDE/strings.xml | 14 ------ app/src/main/res/values-es-rES/strings.xml | 14 ------ app/src/main/res/values-fr-rFR/strings.xml | 14 ------ app/src/main/res/values-gl-rES/strings.xml | 14 ------ app/src/main/res/values-in-rID/strings.xml | 14 ------ app/src/main/res/values-it-rIT/strings.xml | 14 ------ app/src/main/res/values-ko-rKR/strings.xml | 14 ------ app/src/main/res/values-nl-rNL/strings.xml | 14 ------ app/src/main/res/values-pt-rBR/strings.xml | 14 ------ app/src/main/res/values-pt-rPT/strings.xml | 14 ------ app/src/main/res/values-tr-rTR/strings.xml | 14 ------ app/src/main/res/values-zh-rCN/strings.xml | 14 ------ app/src/main/res/values-zh-rTW/strings.xml | 14 ------ app/src/main/res/values/colors.xml | 2 +- app/src/main/res/values/strings.xml | 14 ------ app/src/main/res/xml/pref_debug.xml | 48 ------------------ app/src/main/res/xml/pref_headers.xml | 9 ---- build.gradle | 2 +- check-for-issues.sh | 6 +++ gradle/wrapper/gradle-wrapper.properties | 4 +- 40 files changed, 30 insertions(+), 571 deletions(-) delete mode 100644 app/src/main/java/apps/amine/bou/readerforselfoss/utils/Acra.kt delete mode 100644 app/src/main/res/xml/pref_debug.xml create mode 100755 check-for-issues.sh diff --git a/app/build.gradle b/app/build.gradle index 86990b5..b45b1c8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -139,10 +139,6 @@ dependencies { implementation 'androidx.core:core-ktx:1.1.0-beta01' - // Crash - implementation 'ch.acra:acra-http:5.3.0' - implementation 'ch.acra:acra-dialog:5.3.0' - implementation "androidx.lifecycle:lifecycle-livedata:$lifecycle_version" implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version" diff --git a/app/src/main/java/apps/amine/bou/readerforselfoss/AddSourceActivity.kt b/app/src/main/java/apps/amine/bou/readerforselfoss/AddSourceActivity.kt index 947d295..e7586f3 100644 --- a/app/src/main/java/apps/amine/bou/readerforselfoss/AddSourceActivity.kt +++ b/app/src/main/java/apps/amine/bou/readerforselfoss/AddSourceActivity.kt @@ -92,8 +92,7 @@ class AddSourceActivity : AppCompatActivity() { this, this@AddSourceActivity, settings.getBoolean("isSelfSignedCert", false), - prefs.getString("api_timeout", "-1").toLong(), - prefs.getBoolean("should_log_everything", false) + prefs.getString("api_timeout", "-1").toLong() ) } catch (e: IllegalArgumentException) { mustLoginToAddSource() @@ -112,7 +111,7 @@ class AddSourceActivity : AppCompatActivity() { super.onResume() val config = Config(this) - if (config.baseUrl.isEmpty() || !config.baseUrl.isBaseUrlValid(false, this@AddSourceActivity)) { + if (config.baseUrl.isEmpty() || !config.baseUrl.isBaseUrlValid(this@AddSourceActivity)) { mustLoginToAddSource() } else { handleSpoutsSpinner(spoutsSpinner, api, progress, formContainer) diff --git a/app/src/main/java/apps/amine/bou/readerforselfoss/HomeActivity.kt b/app/src/main/java/apps/amine/bou/readerforselfoss/HomeActivity.kt index ed5b364..d31aa28 100644 --- a/app/src/main/java/apps/amine/bou/readerforselfoss/HomeActivity.kt +++ b/app/src/main/java/apps/amine/bou/readerforselfoss/HomeActivity.kt @@ -42,7 +42,6 @@ import apps.amine.bou.readerforselfoss.utils.bottombar.removeBadge import apps.amine.bou.readerforselfoss.utils.customtabs.CustomTabActivityHelper import apps.amine.bou.readerforselfoss.utils.flattenTags import apps.amine.bou.readerforselfoss.utils.longHash -import apps.amine.bou.readerforselfoss.utils.maybeHandleSilentException import apps.amine.bou.readerforselfoss.utils.network.isNetworkAccessible import apps.amine.bou.readerforselfoss.utils.persistence.toEntity import apps.amine.bou.readerforselfoss.utils.persistence.toView @@ -65,7 +64,6 @@ import com.mikepenz.materialdrawer.model.DividerDrawerItem import com.mikepenz.materialdrawer.model.PrimaryDrawerItem import com.mikepenz.materialdrawer.model.SecondaryDrawerItem import kotlinx.android.synthetic.main.activity_home.* -import org.acra.ACRA import retrofit2.Call import retrofit2.Callback import retrofit2.Response @@ -86,8 +84,6 @@ class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener { private var items: ArrayList = ArrayList() private var allItems: ArrayList = ArrayList() - private var debugReadingItems = false - private var shouldLogEverything = false private var internalBrowser = false private var articleViewer = false private var shouldBeCardView = false @@ -180,8 +176,7 @@ class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener { this, this@HomeActivity, settings.getBoolean("isSelfSignedCert", false), - sharedPref.getString("api_timeout", "-1").toLong(), - shouldLogEverything + sharedPref.getString("api_timeout", "-1").toLong() ) items = ArrayList() allItems = ArrayList() @@ -353,8 +348,6 @@ class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener { getElementsAccordingToTab() - handleGDPRDialog(sharedPref.getBoolean("GDPR_shown", false)) - handleRecurringTask() handleOfflineActions() @@ -389,8 +382,6 @@ class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener { } private fun handleSharedPrefs() { - debugReadingItems = sharedPref.getBoolean("read_debug", false) - shouldLogEverything = sharedPref.getBoolean("should_log_everything", false) internalBrowser = sharedPref.getBoolean("prefer_internal_browser", true) articleViewer = sharedPref.getBoolean("prefer_article_viewer", true) shouldBeCardView = sharedPref.getBoolean("card_view_active", false) @@ -625,7 +616,6 @@ class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener { try { item.withIcon(BitmapDrawable(resources, Glide.with(this@HomeActivity).asBitmap().load(tag.getIcon(this@HomeActivity)).submit(100, 100).get())) } catch (e: Exception) { - ACRA.getErrorReporter().maybeHandleSilentException(e, this@HomeActivity) } } } else { @@ -1144,7 +1134,6 @@ class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener { articleViewer, fullHeightCards, appColors, - debugReadingItems, userIdentifier, config ) { @@ -1160,7 +1149,6 @@ class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener { customTabActivityHelper, internalBrowser, articleViewer, - debugReadingItems, userIdentifier, appColors, config @@ -1334,10 +1322,6 @@ class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener { .map { it.key to it.value.size } .toMap() - fun readAllDebug(e: Throwable) { - ACRA.getErrorReporter().maybeHandleSilentException(e, this@HomeActivity) - } - if (ids.isNotEmpty() && this@HomeActivity.isNetworkAccessible(null, offlineShortcut)) { api.readAll(ids).enqueue(object : Callback { override fun onResponse( @@ -1362,14 +1346,7 @@ class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener { Toast.LENGTH_SHORT ).show() - if (debugReadingItems) { - readAllDebug( - Throwable( - "Got response, but : response.body() (${response.body()}) != null && response.body()!!.isSuccess (${response.body()?.isSuccess})." + - "Request url was (${call.request().url()}), ids were $ids" - ) - ) - } + } swipeRefreshLayout.isRefreshing = false @@ -1382,10 +1359,6 @@ class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener { Toast.LENGTH_SHORT ).show() swipeRefreshLayout.isRefreshing = false - - if (debugReadingItems) { - readAllDebug(t) - } } }) items = ArrayList() @@ -1422,24 +1395,6 @@ class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener { items = adapterItems } - private fun handleGDPRDialog(GDPRShown: Boolean) { - val sharedEditor = sharedPref.edit() - if (!GDPRShown) { - val alertDialog = AlertDialog.Builder(this).create() - alertDialog.setTitle(getString(R.string.gdpr_dialog_title)) - alertDialog.setMessage(getString(R.string.gdpr_dialog_message)) - alertDialog.setButton( - AlertDialog.BUTTON_NEUTRAL, - "OK" - ) { dialog, _ -> - sharedEditor.putBoolean("GDPR_shown", true) - sharedEditor.commit() - dialog.dismiss() - } - alertDialog.show() - } - } - private fun handleRecurringTask() { if (periodicRefresh) { val myConstraints = Constraints.Builder() @@ -1472,7 +1427,6 @@ class HomeActivity : AppCompatActivity(), SearchView.OnQueryTextListener { } override fun onFailure(call: Call, t: Throwable) { - ACRA.getErrorReporter().maybeHandleSilentException(t, this@HomeActivity) } }) } diff --git a/app/src/main/java/apps/amine/bou/readerforselfoss/LoginActivity.kt b/app/src/main/java/apps/amine/bou/readerforselfoss/LoginActivity.kt index 42cb991..f35854b 100644 --- a/app/src/main/java/apps/amine/bou/readerforselfoss/LoginActivity.kt +++ b/app/src/main/java/apps/amine/bou/readerforselfoss/LoginActivity.kt @@ -20,12 +20,10 @@ import apps.amine.bou.readerforselfoss.api.selfoss.SuccessResponse import apps.amine.bou.readerforselfoss.themes.AppColors import apps.amine.bou.readerforselfoss.utils.Config import apps.amine.bou.readerforselfoss.utils.isBaseUrlValid -import apps.amine.bou.readerforselfoss.utils.maybeHandleSilentException import apps.amine.bou.readerforselfoss.utils.network.isNetworkAccessible import com.mikepenz.aboutlibraries.Libs import com.mikepenz.aboutlibraries.LibsBuilder import kotlinx.android.synthetic.main.activity_login.* -import org.acra.ACRA import retrofit2.Call import retrofit2.Callback import retrofit2.Response @@ -40,7 +38,6 @@ class LoginActivity : AppCompatActivity() { private lateinit var settings: SharedPreferences private lateinit var editor: SharedPreferences.Editor private lateinit var userIdentifier: String - private var logErrors: Boolean = false private lateinit var appColors: AppColors override fun onCreate(savedInstanceState: Bundle?) { @@ -56,7 +53,6 @@ class LoginActivity : AppCompatActivity() { settings = getSharedPreferences(Config.settingsName, Context.MODE_PRIVATE) userIdentifier = settings.getString("unique_id", "") - logErrors = settings.getBoolean("login_debug", false) editor = settings.edit() @@ -144,7 +140,7 @@ class LoginActivity : AppCompatActivity() { var cancel = false var focusView: View? = null - if (!url.isBaseUrlValid(logErrors, this@LoginActivity)) { + if (!url.isBaseUrlValid(this@LoginActivity)) { urlView.error = getString(R.string.login_url_problem) focusView = urlView cancel = true @@ -208,8 +204,7 @@ class LoginActivity : AppCompatActivity() { this, this@LoginActivity, isWithSelfSignedCert, - -1L, - isWithSelfSignedCert + -1L ) if (this@LoginActivity.isNetworkAccessible(this@LoginActivity.findViewById(R.id.loginForm))) { @@ -226,14 +221,6 @@ class LoginActivity : AppCompatActivity() { passwordView.error = getString(R.string.wrong_infos) httpLoginView.error = getString(R.string.wrong_infos) httpPasswordView.error = getString(R.string.wrong_infos) - if (logErrors) { - ACRA.getErrorReporter().maybeHandleSilentException(t, this@LoginActivity) - Toast.makeText( - this@LoginActivity, - t.message, - Toast.LENGTH_LONG - ).show() - } showProgress(false) } @@ -290,29 +277,20 @@ class LoginActivity : AppCompatActivity() { override fun onCreateOptionsMenu(menu: Menu): Boolean { menuInflater.inflate(R.menu.login_menu, menu) - menu.findItem(R.id.login_debug).isChecked = logErrors return true } override fun onOptionsItemSelected(item: MenuItem): Boolean { - when (item.itemId) { + return when (item.itemId) { R.id.about -> { LibsBuilder() .withActivityStyle(Libs.ActivityStyle.LIGHT_DARK_TOOLBAR) .withAboutIconShown(true) .withAboutVersionShown(true) .start(this) - return true + true } - R.id.login_debug -> { - val newState = !item.isChecked - item.isChecked = newState - logErrors = newState - editor.putBoolean("login_debug", newState) - editor.apply() - return true - } - else -> return super.onOptionsItemSelected(item) + else -> super.onOptionsItemSelected(item) } } } diff --git a/app/src/main/java/apps/amine/bou/readerforselfoss/MyApp.kt b/app/src/main/java/apps/amine/bou/readerforselfoss/MyApp.kt index afe5ecc..61a0186 100644 --- a/app/src/main/java/apps/amine/bou/readerforselfoss/MyApp.kt +++ b/app/src/main/java/apps/amine/bou/readerforselfoss/MyApp.kt @@ -7,8 +7,8 @@ import android.graphics.drawable.Drawable import android.net.Uri import android.os.Build import android.preference.PreferenceManager -import androidx.multidex.MultiDexApplication import android.widget.ImageView +import androidx.multidex.MultiDexApplication import apps.amine.bou.readerforselfoss.utils.Config import apps.amine.bou.readerforselfoss.utils.glide.loadMaybeBasicAuth import com.bumptech.glide.Glide @@ -16,28 +16,8 @@ import com.bumptech.glide.request.RequestOptions import com.ftinc.scoop.Scoop import com.mikepenz.materialdrawer.util.AbstractDrawerImageLoader import com.mikepenz.materialdrawer.util.DrawerImageLoader -import org.acra.ACRA -import org.acra.ReportField -import org.acra.annotation.AcraCore -import org.acra.annotation.AcraDialog -import org.acra.annotation.AcraHttpSender -import org.acra.sender.HttpSender import java.util.UUID.randomUUID - -@AcraHttpSender(uri = "http://37.187.110.167/amine/acra/simplest-acra.php", - httpMethod = HttpSender.Method.POST) -@AcraDialog(resText = R.string.crash_dialog_text, - resCommentPrompt = R.string.crash_dialog_comment, - resTheme = android.R.style.Theme_DeviceDefault_Dialog) -@AcraCore(reportContent = [ReportField.REPORT_ID, ReportField.INSTALLATION_ID, - ReportField.APP_VERSION_CODE, ReportField.APP_VERSION_NAME, - ReportField.BUILD, ReportField.ANDROID_VERSION, ReportField.BRAND, ReportField.PHONE_MODEL, - ReportField.AVAILABLE_MEM_SIZE, ReportField.TOTAL_MEM_SIZE, - ReportField.STACK_TRACE, ReportField.APPLICATION_LOG, ReportField.LOGCAT, - ReportField.INITIAL_CONFIGURATION, ReportField.CRASH_CONFIGURATION, ReportField.IS_SILENT, - ReportField.USER_APP_START_DATE, ReportField.USER_COMMENT, ReportField.USER_CRASH_DATE, ReportField.USER_EMAIL, ReportField.CUSTOM_DATA], - buildConfigClass = BuildConfig::class) class MyApp : MultiDexApplication() { private lateinit var config: Config @@ -78,14 +58,6 @@ class MyApp : MultiDexApplication() { } } - override fun attachBaseContext(base: Context?) { - super.attachBaseContext(base) - val prefs = getSharedPreferences(Config.settingsName, Context.MODE_PRIVATE) - ACRA.init(this) - ACRA.getErrorReporter().putCustomData("unique_id", prefs.getString("unique_id", "")) - - } - private fun initDrawerImageLoader() { DrawerImageLoader.init(object : AbstractDrawerImageLoader() { override fun set( diff --git a/app/src/main/java/apps/amine/bou/readerforselfoss/ReaderActivity.kt b/app/src/main/java/apps/amine/bou/readerforselfoss/ReaderActivity.kt index 3b599fe..3c43d8a 100644 --- a/app/src/main/java/apps/amine/bou/readerforselfoss/ReaderActivity.kt +++ b/app/src/main/java/apps/amine/bou/readerforselfoss/ReaderActivity.kt @@ -29,7 +29,6 @@ import apps.amine.bou.readerforselfoss.themes.AppColors import apps.amine.bou.readerforselfoss.themes.Toppings import apps.amine.bou.readerforselfoss.transformers.DepthPageTransformer import apps.amine.bou.readerforselfoss.utils.Config -import apps.amine.bou.readerforselfoss.utils.maybeHandleSilentException import apps.amine.bou.readerforselfoss.utils.network.isNetworkAccessible import apps.amine.bou.readerforselfoss.utils.persistence.toEntity import apps.amine.bou.readerforselfoss.utils.succeeded @@ -37,7 +36,6 @@ import apps.amine.bou.readerforselfoss.utils.toggleStar import com.ftinc.scoop.Scoop import kotlinx.android.synthetic.main.activity_reader.* import me.relex.circleindicator.CircleIndicator -import org.acra.ACRA import retrofit2.Call import retrofit2.Callback import retrofit2.Response @@ -46,7 +44,6 @@ import kotlin.concurrent.thread class ReaderActivity : AppCompatActivity() { private var markOnScroll: Boolean = false - private var debugReadingItems: Boolean = false private var currentItem: Int = 0 private lateinit var userIdentifier: String @@ -102,7 +99,6 @@ class ReaderActivity : AppCompatActivity() { prefs = PreferenceManager.getDefaultSharedPreferences(this) editor = prefs.edit() - debugReadingItems = prefs.getBoolean("read_debug", false) userIdentifier = prefs.getString("unique_id", "") markOnScroll = prefs.getBoolean("mark_on_scroll", false) activeAlignment = prefs.getInt("text_align", JUSTIFY) @@ -111,8 +107,7 @@ class ReaderActivity : AppCompatActivity() { this, this@ReaderActivity, settings.getBoolean("isSelfSignedCert", false), - prefs.getString("api_timeout", "-1").toLong(), - prefs.getBoolean("should_log_everything", false) + prefs.getString("api_timeout", "-1").toLong() ) if (allItems.isEmpty()) { @@ -164,18 +159,6 @@ class ReaderActivity : AppCompatActivity() { call: Call, response: Response ) { - if (!response.succeeded() && debugReadingItems) { - val message = - "message: ${response.message()} " + - "response isSuccess: ${response.isSuccessful} " + - "response code: ${response.code()} " + - "response message: ${response.message()} " + - "response errorBody: ${response.errorBody()?.string()} " + - "body success: ${response.body()?.success} " + - "body isSuccess: ${response.body()?.isSuccess}" - ACRA.getErrorReporter() - .maybeHandleSilentException(Exception(message), this@ReaderActivity) - } } override fun onFailure( @@ -185,10 +168,6 @@ class ReaderActivity : AppCompatActivity() { thread { db.itemsDao().insertAllItems(item.toEntity()) } - if (debugReadingItems) { - ACRA.getErrorReporter() - .maybeHandleSilentException(t, this@ReaderActivity) - } } } ) diff --git a/app/src/main/java/apps/amine/bou/readerforselfoss/SourcesActivity.kt b/app/src/main/java/apps/amine/bou/readerforselfoss/SourcesActivity.kt index e8bc716..b6974b0 100644 --- a/app/src/main/java/apps/amine/bou/readerforselfoss/SourcesActivity.kt +++ b/app/src/main/java/apps/amine/bou/readerforselfoss/SourcesActivity.kt @@ -64,8 +64,7 @@ class SourcesActivity : AppCompatActivity() { this, this@SourcesActivity, settings.getBoolean("isSelfSignedCert", false), - prefs.getString("api_timeout", "-1").toLong(), - prefs.getBoolean("should_log_everything", false) + prefs.getString("api_timeout", "-1").toLong() ) var items: ArrayList = ArrayList() diff --git a/app/src/main/java/apps/amine/bou/readerforselfoss/adapters/ItemCardAdapter.kt b/app/src/main/java/apps/amine/bou/readerforselfoss/adapters/ItemCardAdapter.kt index da3322a..fb132e6 100644 --- a/app/src/main/java/apps/amine/bou/readerforselfoss/adapters/ItemCardAdapter.kt +++ b/app/src/main/java/apps/amine/bou/readerforselfoss/adapters/ItemCardAdapter.kt @@ -50,7 +50,6 @@ class ItemCardAdapter( private val articleViewer: Boolean, private val fullHeightCards: Boolean, override val appColors: AppColors, - override val debugReadingItems: Boolean, override val userIdentifier: String, override val config: Config, override val updateItems: (ArrayList) -> Unit diff --git a/app/src/main/java/apps/amine/bou/readerforselfoss/adapters/ItemListAdapter.kt b/app/src/main/java/apps/amine/bou/readerforselfoss/adapters/ItemListAdapter.kt index fffc8a6..a69e807 100644 --- a/app/src/main/java/apps/amine/bou/readerforselfoss/adapters/ItemListAdapter.kt +++ b/app/src/main/java/apps/amine/bou/readerforselfoss/adapters/ItemListAdapter.kt @@ -50,7 +50,6 @@ class ItemListAdapter( private val helper: CustomTabActivityHelper, private val internalBrowser: Boolean, private val articleViewer: Boolean, - override val debugReadingItems: Boolean, override val userIdentifier: String, override val appColors: AppColors, override val config: Config, diff --git a/app/src/main/java/apps/amine/bou/readerforselfoss/adapters/ItemsAdapter.kt b/app/src/main/java/apps/amine/bou/readerforselfoss/adapters/ItemsAdapter.kt index 63d9a3f..438349a 100644 --- a/app/src/main/java/apps/amine/bou/readerforselfoss/adapters/ItemsAdapter.kt +++ b/app/src/main/java/apps/amine/bou/readerforselfoss/adapters/ItemsAdapter.kt @@ -14,11 +14,9 @@ import apps.amine.bou.readerforselfoss.persistence.database.AppDatabase import apps.amine.bou.readerforselfoss.persistence.entities.ActionEntity import apps.amine.bou.readerforselfoss.themes.AppColors import apps.amine.bou.readerforselfoss.utils.Config -import apps.amine.bou.readerforselfoss.utils.maybeHandleSilentException import apps.amine.bou.readerforselfoss.utils.network.isNetworkAccessible import apps.amine.bou.readerforselfoss.utils.persistence.toEntity import apps.amine.bou.readerforselfoss.utils.succeeded -import org.acra.ACRA import retrofit2.Call import retrofit2.Callback import retrofit2.Response @@ -28,7 +26,6 @@ abstract class ItemsAdapter : RecyclerView.Adapte abstract var items: ArrayList abstract val api: SelfossApi abstract val db: AppDatabase - abstract val debugReadingItems: Boolean abstract val userIdentifier: String abstract val app: Activity abstract val appColors: AppColors @@ -159,27 +156,11 @@ abstract class ItemsAdapter : RecyclerView.Adapte call: Call, response: Response ) { - if (!response.succeeded() && debugReadingItems) { - val message = - "MARK message: ${response.message()} " + - "response isSuccess: ${response.isSuccessful} " + - "response code: ${response.code()} " + - "response message: ${response.message()} " + - "response errorBody: ${response.errorBody()?.string()} " + - "body success: ${response.body()?.success} " + - "body isSuccess: ${response.body()?.isSuccess}" - ACRA.getErrorReporter().maybeHandleSilentException(Exception(message), app) - Toast.makeText(app.baseContext, message, Toast.LENGTH_LONG).show() - } unmarkSnackbar(i, position) } override fun onFailure(call: Call, t: Throwable) { - if (debugReadingItems) { - ACRA.getErrorReporter().maybeHandleSilentException(t, app) - Toast.makeText(app.baseContext, t.message, Toast.LENGTH_LONG).show() - } Toast.makeText( app, app.getString(R.string.cant_mark_read), @@ -217,27 +198,11 @@ abstract class ItemsAdapter : RecyclerView.Adapte call: Call, response: Response ) { - if (!response.succeeded() && debugReadingItems) { - val message = - "UNMARK message: ${response.message()} " + - "response isSuccess: ${response.isSuccessful} " + - "response code: ${response.code()} " + - "response message: ${response.message()} " + - "response errorBody: ${response.errorBody()?.string()} " + - "body success: ${response.body()?.success} " + - "body isSuccess: ${response.body()?.isSuccess}" - ACRA.getErrorReporter().maybeHandleSilentException(Exception(message), app) - Toast.makeText(app.baseContext, message, Toast.LENGTH_LONG).show() - } markSnackbar(i, position) } override fun onFailure(call: Call, t: Throwable) { - if (debugReadingItems) { - ACRA.getErrorReporter().maybeHandleSilentException(t, app) - Toast.makeText(app.baseContext, t.message, Toast.LENGTH_LONG).show() - } Toast.makeText( app, app.getString(R.string.cant_mark_unread), diff --git a/app/src/main/java/apps/amine/bou/readerforselfoss/api/mercury/MercuryApi.kt b/app/src/main/java/apps/amine/bou/readerforselfoss/api/mercury/MercuryApi.kt index d681368..8e56ff5 100644 --- a/app/src/main/java/apps/amine/bou/readerforselfoss/api/mercury/MercuryApi.kt +++ b/app/src/main/java/apps/amine/bou/readerforselfoss/api/mercury/MercuryApi.kt @@ -7,17 +7,13 @@ import retrofit2.Call import retrofit2.Retrofit import retrofit2.converter.gson.GsonConverterFactory -class MercuryApi(shouldLog: Boolean) { +class MercuryApi() { private val service: MercuryService init { val interceptor = HttpLoggingInterceptor() - interceptor.level = if (shouldLog) { - HttpLoggingInterceptor.Level.BODY - } else { - HttpLoggingInterceptor.Level.NONE - } + interceptor.level = HttpLoggingInterceptor.Level.NONE val client = OkHttpClient.Builder().addInterceptor(interceptor).build() val gson = GsonBuilder() diff --git a/app/src/main/java/apps/amine/bou/readerforselfoss/api/selfoss/SelfossApi.kt b/app/src/main/java/apps/amine/bou/readerforselfoss/api/selfoss/SelfossApi.kt index 56fe70c..f0a28ec 100644 --- a/app/src/main/java/apps/amine/bou/readerforselfoss/api/selfoss/SelfossApi.kt +++ b/app/src/main/java/apps/amine/bou/readerforselfoss/api/selfoss/SelfossApi.kt @@ -25,8 +25,7 @@ class SelfossApi( c: Context, callingActivity: Activity?, isWithSelfSignedCert: Boolean, - timeout: Long, - shouldLog: Boolean + timeout: Long ) { private lateinit var service: SelfossService @@ -96,11 +95,7 @@ class SelfossApi( val logging = HttpLoggingInterceptor() - logging.level = if (shouldLog) { - HttpLoggingInterceptor.Level.BODY - } else { - HttpLoggingInterceptor.Level.NONE - } + logging.level = HttpLoggingInterceptor.Level.NONE val httpClient = authenticator.getHttpClien(isWithSelfSignedCert, timeout) val timeoutCode = 504 diff --git a/app/src/main/java/apps/amine/bou/readerforselfoss/background/background.kt b/app/src/main/java/apps/amine/bou/readerforselfoss/background/background.kt index 1e8bb50..a3d18d5 100644 --- a/app/src/main/java/apps/amine/bou/readerforselfoss/background/background.kt +++ b/app/src/main/java/apps/amine/bou/readerforselfoss/background/background.kt @@ -20,10 +20,8 @@ import apps.amine.bou.readerforselfoss.persistence.entities.ActionEntity import apps.amine.bou.readerforselfoss.persistence.migrations.MIGRATION_1_2 import apps.amine.bou.readerforselfoss.persistence.migrations.MIGRATION_2_3 import apps.amine.bou.readerforselfoss.utils.Config -import apps.amine.bou.readerforselfoss.utils.maybeHandleSilentException import apps.amine.bou.readerforselfoss.utils.network.isNetworkAccessible import apps.amine.bou.readerforselfoss.utils.persistence.toEntity -import org.acra.ACRA import retrofit2.Call import retrofit2.Callback import retrofit2.Response @@ -64,8 +62,7 @@ class LoadingWorker(val context: Context, params: WorkerParameters) : Worker(con this.context, null, settings.getBoolean("isSelfSignedCert", false), - sharedPref.getString("api_timeout", "-1").toLong(), - sharedPref.getBoolean("should_log_everything", false) + sharedPref.getString("api_timeout", "-1").toLong() ) api.allItems().enqueue(object : Callback> { @@ -145,7 +142,6 @@ class LoadingWorker(val context: Context, params: WorkerParameters) : Worker(con } override fun onFailure(call: Call, t: Throwable) { - ACRA.getErrorReporter().maybeHandleSilentException(t, context) } }) } diff --git a/app/src/main/java/apps/amine/bou/readerforselfoss/fragments/ArticleFragment.kt b/app/src/main/java/apps/amine/bou/readerforselfoss/fragments/ArticleFragment.kt index 57c299f..99b7ea0 100644 --- a/app/src/main/java/apps/amine/bou/readerforselfoss/fragments/ArticleFragment.kt +++ b/app/src/main/java/apps/amine/bou/readerforselfoss/fragments/ArticleFragment.kt @@ -39,7 +39,6 @@ import apps.amine.bou.readerforselfoss.utils.buildCustomTabsIntent import apps.amine.bou.readerforselfoss.utils.customtabs.CustomTabActivityHelper import apps.amine.bou.readerforselfoss.utils.glide.loadMaybeBasicAuth import apps.amine.bou.readerforselfoss.utils.isEmptyOrNullOrNullString -import apps.amine.bou.readerforselfoss.utils.maybeHandleSilentException import apps.amine.bou.readerforselfoss.utils.network.isNetworkAccessible import apps.amine.bou.readerforselfoss.utils.openItemUrl import apps.amine.bou.readerforselfoss.utils.shareLink @@ -49,7 +48,6 @@ import com.bumptech.glide.Glide import com.bumptech.glide.request.RequestOptions import com.github.rubensousa.floatingtoolbar.FloatingToolbar import kotlinx.android.synthetic.main.fragment_article.view.* -import org.acra.ACRA import retrofit2.Call import retrofit2.Callback import retrofit2.Response @@ -138,14 +136,12 @@ class ArticleFragment : Fragment() { refreshAlignment() val settings = activity!!.getSharedPreferences(Config.settingsName, Context.MODE_PRIVATE) - val debugReadingItems = prefs.getBoolean("read_debug", false) val api = SelfossApi( context!!, activity!!, settings.getBoolean("isSelfSignedCert", false), - prefs.getString("api_timeout", "-1").toLong(), - prefs.getBoolean("should_log_everything", false) + prefs.getString("api_timeout", "-1").toLong() ) fab = rootView!!.fab @@ -186,26 +182,12 @@ class ArticleFragment : Fragment() { call: Call, response: Response ) { - if (!response.succeeded() && debugReadingItems) { - val message = - "message: ${response.message()} " + - "response isSuccess: ${response.isSuccessful} " + - "response code: ${response.code()} " + - "response message: ${response.message()} " + - "response errorBody: ${response.errorBody()?.string()} " + - "body success: ${response.body()?.success} " + - "body isSuccess: ${response.body()?.isSuccess}" - ACRA.getErrorReporter().maybeHandleSilentException(Exception(message), activity!!) - } } override fun onFailure( call: Call, t: Throwable ) { - if (debugReadingItems) { - ACRA.getErrorReporter().maybeHandleSilentException(t, activity!!) - } } } ) @@ -294,9 +276,7 @@ class ArticleFragment : Fragment() { ) { if ((context != null && context!!.isNetworkAccessible(null)) || context == null) { rootView!!.progressBar.visibility = View.VISIBLE - val parser = MercuryApi( - prefs.getBoolean("should_log_everything", false) - ) + val parser = MercuryApi() parser.parseUrl(url).enqueue( object : Callback { @@ -320,18 +300,12 @@ class ArticleFragment : Fragment() { // Mercury returned a relative url. We do nothing. } } catch (e: Exception) { - if (context != null) { - ACRA.getErrorReporter().maybeHandleSilentException(e, context!!) - } } try { contentText = response.body()!!.content.orEmpty() htmlToWebview() } catch (e: Exception) { - if (context != null) { - ACRA.getErrorReporter().maybeHandleSilentException(e, context!!) - } } try { @@ -345,14 +319,12 @@ class ArticleFragment : Fragment() { .apply(RequestOptions.fitCenterTransform()) .into(rootView!!.imageView) } catch (e: Exception) { - ACRA.getErrorReporter().maybeHandleSilentException(e, context!!) } } else { rootView!!.imageView.visibility = View.GONE } } catch (e: Exception) { if (context != null) { - ACRA.getErrorReporter().maybeHandleSilentException(e, context!!) } } @@ -362,7 +334,6 @@ class ArticleFragment : Fragment() { rootView!!.progressBar.visibility = View.GONE } catch (e: Exception) { if (context != null) { - ACRA.getErrorReporter().maybeHandleSilentException(e, context!!) } } } else { @@ -370,13 +341,11 @@ class ArticleFragment : Fragment() { openInBrowserAfterFailing(customTabsIntent) } catch (e: Exception) { if (context != null) { - ACRA.getErrorReporter().maybeHandleSilentException(e, context!!) } } } } catch (e: Exception) { if (context != null) { - ACRA.getErrorReporter().maybeHandleSilentException(e, context!!) } } } @@ -454,7 +423,6 @@ class ArticleFragment : Fragment() { val itemUrl = URL(url) baseUrl = itemUrl.protocol + "://" + itemUrl.host } catch (e: MalformedURLException) { - ACRA.getErrorReporter().maybeHandleSilentException(e, activity!!) } val fontName = when (font) { diff --git a/app/src/main/java/apps/amine/bou/readerforselfoss/settings/SettingsActivity.java b/app/src/main/java/apps/amine/bou/readerforselfoss/settings/SettingsActivity.java index 7c96dcc..7120866 100644 --- a/app/src/main/java/apps/amine/bou/readerforselfoss/settings/SettingsActivity.java +++ b/app/src/main/java/apps/amine/bou/readerforselfoss/settings/SettingsActivity.java @@ -160,7 +160,6 @@ public class SettingsActivity extends AppCompatPreferenceActivity { || ArticleViewerPreferenceFragment.class.getName().equals(fragmentName) || OfflinePreferenceFragment.class.getName().equals(fragmentName) || ExperimentalPreferenceFragment.class.getName().equals(fragmentName) - || DebugPreferenceFragment.class.getName().equals(fragmentName) || LinksPreferenceFragment.class.getName().equals(fragmentName) || ThemePreferenceFragment.class.getName().equals(fragmentName); } @@ -258,48 +257,6 @@ public class SettingsActivity extends AppCompatPreferenceActivity { } } - @TargetApi(Build.VERSION_CODES.HONEYCOMB) - public static class DebugPreferenceFragment extends PreferenceFragment { - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - addPreferencesFromResource(R.xml.pref_debug); - setHasOptionsMenu(true); - - SharedPreferences pref = getActivity().getSharedPreferences(Config.settingsName, Context.MODE_PRIVATE); - final String id = pref.getString("unique_id", "..."); - - final Preference identifier = findPreference("debug_identifier"); - final ClipboardManager clipboard = (ClipboardManager) - getActivity().getSystemService(Context.CLIPBOARD_SERVICE); - - identifier.setOnPreferenceClickListener(new OnPreferenceClickListener() { - @Override - public boolean onPreferenceClick(Preference preference) { - if (clipboard != null) { - ClipData clip = ClipData.newPlainText("Selfoss unique id", id); - clipboard.setPrimaryClip(clip); - - Toast.makeText(getActivity(), R.string.unique_id_to_clipboard, Toast.LENGTH_LONG).show(); - return true; - } - return false; - } - }); - identifier.setTitle(id); - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - int id = item.getItemId(); - if (id == android.R.id.home) { - getActivity().finish(); - return true; - } - return super.onOptionsItemSelected(item); - } - } - /** * This fragment shows general preferences only. It is used when the * activity is showing a two-pane settings UI. diff --git a/app/src/main/java/apps/amine/bou/readerforselfoss/utils/Acra.kt b/app/src/main/java/apps/amine/bou/readerforselfoss/utils/Acra.kt deleted file mode 100644 index 8b00e72..0000000 --- a/app/src/main/java/apps/amine/bou/readerforselfoss/utils/Acra.kt +++ /dev/null @@ -1,22 +0,0 @@ -package apps.amine.bou.readerforselfoss.utils - -import android.content.Context -import android.preference.PreferenceManager -import android.provider.Settings -import org.acra.ErrorReporter - -fun ErrorReporter.maybeHandleSilentException(throwable: Throwable, ctx: Context) { - val sharedPref = PreferenceManager.getDefaultSharedPreferences(ctx) - val isTestLab = Settings.System.getString(ctx.contentResolver, "firebase.test.lab") == "true" - - if (sharedPref.getBoolean("acra_should_log", false) && !isTestLab) { - this.handleSilentException(throwable) - } -} - -fun ErrorReporter.doHandleSilentException(throwable: Throwable, ctx: Context) { - val isTestLab = Settings.System.getString(ctx.contentResolver, "firebase.test.lab") == "true" - if (!isTestLab) { - this.handleSilentException(throwable) - } -} \ No newline at end of file diff --git a/app/src/main/java/apps/amine/bou/readerforselfoss/utils/ItemsUtils.kt b/app/src/main/java/apps/amine/bou/readerforselfoss/utils/ItemsUtils.kt index 5180169..3f3eac3 100644 --- a/app/src/main/java/apps/amine/bou/readerforselfoss/utils/ItemsUtils.kt +++ b/app/src/main/java/apps/amine/bou/readerforselfoss/utils/ItemsUtils.kt @@ -4,7 +4,6 @@ import android.content.Context import android.text.format.DateUtils import apps.amine.bou.readerforselfoss.api.selfoss.Item import apps.amine.bou.readerforselfoss.api.selfoss.SelfossTagType -import org.acra.ACRA import java.text.ParseException import java.text.SimpleDateFormat import java.util.* @@ -15,7 +14,6 @@ fun String.toTextDrawableString(c: Context): String { try { textDrawable.append(s[0]) } catch (e: StringIndexOutOfBoundsException) { - ACRA.getErrorReporter().maybeHandleSilentException(e, c) } } return textDrawable.toString() diff --git a/app/src/main/java/apps/amine/bou/readerforselfoss/utils/LinksUtils.kt b/app/src/main/java/apps/amine/bou/readerforselfoss/utils/LinksUtils.kt index da2af96..cb09669 100644 --- a/app/src/main/java/apps/amine/bou/readerforselfoss/utils/LinksUtils.kt +++ b/app/src/main/java/apps/amine/bou/readerforselfoss/utils/LinksUtils.kt @@ -20,7 +20,6 @@ import apps.amine.bou.readerforselfoss.ReaderActivity import apps.amine.bou.readerforselfoss.api.selfoss.Item import apps.amine.bou.readerforselfoss.utils.customtabs.CustomTabActivityHelper import okhttp3.HttpUrl -import org.acra.ACRA fun Context.buildCustomTabsIntent(): CustomTabsIntent { @@ -140,7 +139,7 @@ private fun openInBrowser(linkDecoded: String, app: Activity) { fun String.isUrlValid(): Boolean = HttpUrl.parse(this) != null && Patterns.WEB_URL.matcher(this).matches() -fun String.isBaseUrlValid(logErrors: Boolean, ctx: Context): Boolean { +fun String.isBaseUrlValid(ctx: Context): Boolean { val baseUrl = HttpUrl.parse(this) var existsAndEndsWithSlash = false if (baseUrl != null) { diff --git a/app/src/main/res/menu/login_menu.xml b/app/src/main/res/menu/login_menu.xml index 7fd37b3..06347b3 100644 --- a/app/src/main/res/menu/login_menu.xml +++ b/app/src/main/res/menu/login_menu.xml @@ -2,13 +2,6 @@ - Predeterminat Predeterminat/Fosc Depuració - Registra els errors d\'inici de sessió - Es registraran tots els errors que es produeixin a la pàgina d\'inici de sessió - No es registrarà cap error que es produeixi a la pàgina d\'inici de sessió - Depuració Utilitzeu un certificat autoallotjat? Per raons de seguretat, els certificats autosignats no seran compatibles per defecte. En activar aquesta opció, sereu responsable de qualsevol problema de seguretat que es pugui produir. API de Selfoss Nombre d\'elements carregats Etiquetes ocultes - Voleu llegir els articles que apareixen com a no llegits? - No es registraran quan es marquen elements com a llegits - Les crides de l\'API es registraran en marcar un article com a llegit Identificador de depuració S\'ha copiat l\'identificador al porta-retalls Mostra una capçalera amb la instància URL de Selfoss al panell lateral. Capçalera de menú - Registra totes les crides de l\'API - Aquesta acció registrarà totes les crides de l\'API per als programadors. - No es registrarà cap crida de l\'API Carrega articles en desplaçar Traducció L\'element URL no és vàlid. Estic intentant solucionar aquest problema perquè l\'aplicació no falli. @@ -138,10 +128,6 @@ Aquesta acció marcarà els elements com a llegits. Marca com a llegit en lliscar el dit No es marcaran els articles com a llegits en lliscar el dit d\'un article a l\'altre. - Aquesta aplicació no recull cap dada personal. S\'han suprimit totes les eines d\'anàlisi. A partir d\'ara, l\'enviament d\'informes és opcional, així com el registre de depuració d\'errors. Recordeu que la depuració i els informes d\'error són essencials per al desenvolupament de l\'aplicació (Ho podeu configurar tot a Configuració > Depura). - Aquesta aplicació no comparteix cap dada personal vostra. - Alguna cosa ha anat malament. Envieu l\'informe al desenvolupador. - Podeu afegir informació útil en la secció de comentaris. No incloeu cap dada personal en el vostre comentari. També em podeu enviar un correu electrònic amb l\'identificador de depuració i us ho faré saber quan el problema s\'hagi resolt. Envia informes d\'error automàtics S\'enviaran informes d\'error automàticament Us preguntarem abans d\'enviar un informe d\'error. diff --git a/app/src/main/res/values-de-rDE/strings.xml b/app/src/main/res/values-de-rDE/strings.xml index f21ffbe..79d2248 100644 --- a/app/src/main/res/values-de-rDE/strings.xml +++ b/app/src/main/res/values-de-rDE/strings.xml @@ -102,25 +102,15 @@ Standard Standard (Dunkel) Debug - Aktivieren, um Login-Fehler zu protokollieren - Fehler auf der Login-Seite werden protokolliert - Fehler auf der Login-Seite werden nicht protokolliert - Debug Verwenden Sie einen selbst gehostetes Zertifikat? 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. selfoss API Loaded items number Hidden Tags - Read articles appearing as unread ? - No log when marking an item as read - Api calls will be logged when marking an article as read Debug identifier Identifier copied to your clipboard Display a header with the selfoss instance url on the lateral drawer. Account header - Logging every api calls - This will log every api call for debug purpose. - No api call will be logged Load more articles on scroll Übersetzung The item url is invalid. I\'m looking into solving this issue so the app won\'t crash. @@ -138,10 +128,6 @@ Dies wird alle Elemente als gelesen markieren. Beim Wischen als gelesen markieren Don\'t mark articles as read when swiping. - The app does not collect any personal data. Every analytics tools were removed. Crash reports sending is now optional, as is the debug logging. Keep in mind that debugging and crash reports are essential for the app development (You can configure everything in Settings > Debug). - The app does not share any personal data about you. - Something went wrong. Please send the report to the developer. - You can add any helpful details in the comment bellow. Don\'t include any personal data in your comment. You could send me and email with your debug id, and I\'ll keep you posted when the issue is resolved. Automatically send crash reports Fehlerberichte werden automatisch gesendet Will ask everytime when sending crash reports. diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index 65197d3..c585f83 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -102,25 +102,15 @@ Predeterminado Predeterminado/Oscuro Depurar - Activar para registrar errores de inicio de sesión - Cualquier error en la página de inicio de sesión se registrará - No hay registro en la página de inicio de sesión - Depurar Utilizando un certificado alojado propiamente ? Por razones de seguridad, los certificados propios no son compatibles por defecto. Activando esto, no seré responsable de cualquier problema de seguridad que encuentre. Api de Selfoss Número de artículos cargados Etiquetas ocultas - ¿Leer los artículos que aparecen como no leídos? - Sin registro al marcar un elemento como leído - Llamadas a la Api se registrarán al marcar un artículo como leído Identificador de depuración Identificador copiado a su portapapeles Mostrar una cabecera con la url de instancia de selfoss en el cajón lateral. Cabecera de cuenta - Registrando todas las llamadas a la api - Esto registrará cada llamada a la api para propósito de depuración. - Ninguna llamada de api se registrará Cargar más artículos en desplazamiento Traducción La url del elemento no es válida. Estoy buscando resolver este problema para que la aplicación no colapse. @@ -138,10 +128,6 @@ Esto marcará todos los artículos como leídos. Marcar artículos como leídos al deslizar con el dedo hacia los lados No marcar artículos como leídos al deslizar con el dedo hacia los lados. - La aplicación no recopila ningún dato personal. Todas las herramientas de analítica fueron eliminadas. El envío de informes de errores es opcional, así como los registros de depuración. Ten en cuenta que tanto los registros como los informes de errores son esenciales para el desarrollo de la aplicación (Puedes configurar todo en \"Configuración > Depurar\"). - La aplicación no comparte ningún dato personal sobre usted. - Algo salió mal. Envié el informe al desarrollador. - Puede agregar cualquier información útil en el siguiente comentario. No incluya ningún dato personal en el comentario. Podría enviarme un correo electrónico con el id de depuración para ser notificado cuando el problema se resuelva. Enviar automáticamente informe de fallos Se enviaran automáticamente los informes de fallos Le preguntará al enviar informes de fallos. diff --git a/app/src/main/res/values-fr-rFR/strings.xml b/app/src/main/res/values-fr-rFR/strings.xml index cdba507..a1764c5 100644 --- a/app/src/main/res/values-fr-rFR/strings.xml +++ b/app/src/main/res/values-fr-rFR/strings.xml @@ -102,25 +102,15 @@ Par défaut Par défaut/Foncé Debug - Activez pour loguer toutes les erreurs de connexion - Toutes les erreurs de connexion vont être loguées - Aucune erreur de connexion ne sera loguée - Debug Certificat auto-signé ? Pour des raisons de sécurité, les certificats auto-signés sont désactivés par défaut. En les activant, je ne serais pas responsable de quelconques problèmes de sécurité rencontrés. Api Selfoss Nombre d\'articles chargés Tags Cachés - Des articles lus marqués comme non lus ? - Aucun log quand un article est marqué comme lu - Les appels API vont être logués lorsqu\'un article est marqué comme lu Identifiant de debug Texte copié Afficher une entête avec l\'url de votre instance de Selfoss en haut du drawer lateral. Entête de compte - Log de tous les appels à l\'API - Tous les appels à l\'API vont êtres logués - Aucun appel à l\'API ne sera logué Charger plus d\'articles au scroll Traduction L’url de l’élément n’est pas valide. En attendant la résolution du problème, le lien ne s\'ouvrira pas. @@ -138,10 +128,6 @@ Marquer tous les éléments comme lus ? Marquer comme lu à la navigation. Ne pas marquer les articles comme lus à la navigation. - L\'application ne collecte aucune donnée personnelle. Tous les outils d\'analytics ont été supprimés. Les rapports d\'erreurs sont maintenant optionnels, ainsi que les logs. N\'oubliez pas que les rapports d\'erreurs sont essentiels pour la résolution des bugs (vous pouvez configurer tout cela dans Paramètres > Debug). - L\'application ne partage aucune de vos données. - Quelque chose s\'est mal passé, S\'il vous plaît, envoyez le rapport au développeur. - Vous pouvez ajouter tous les détails utiles dans le champ de commentaire plus bas. N\'ajoutez aucune information personnelle. Vous pouvez m\'envoyer un email avec votre identifiant de debug, et je vous informerai à la correction du problème. Envoyer automatiquement les rapports d\'erreur Enverra automatiquement les rapports d\'erreur Demandera une confirmation à chaque incident. diff --git a/app/src/main/res/values-gl-rES/strings.xml b/app/src/main/res/values-gl-rES/strings.xml index 893fa86..2bf1857 100644 --- a/app/src/main/res/values-gl-rES/strings.xml +++ b/app/src/main/res/values-gl-rES/strings.xml @@ -102,25 +102,15 @@ Predeterminado Predeterminado/Escuro Depuración - Activar pra rexistrar os erros de acceso - Rexistrarse todos os erros na páxina de acceso - Non se rexistrará ningún erro na páxina de acceso - Depuración Utilizas un certificado autoaloxado? Por razóns de seguridade, por defecto non se permiten os certificados autoasinados. Activando isto, non serei responsable de calquera problema de seguridade que atopes. API de Selfoss Número de elementos cargados Etiquetas ocultas - Ler os artigos que aparecen coma non lidos? - Non rexistrar cando se marca un elemento coma lido - As chamadas á API serán rexistradas cando se marque un artigo coma lido Identificador de depuración Copiouse o identificador ao portapapeis Amosar unha cabeceira coa URL da instancia de Selfoss no panel lateral. Cabeceira da conta - Rexistrando todas as chamadas á API - Isto rexistrará todas as chamadas á API con fins de depuración. - Non se rexistrará ningunha chamada á API Cargar máis artigos ao desprazarse Traducción A URL do elemento non é válida. Estou tratando de solucionar isto pra que a aplicación non falle. @@ -138,10 +128,6 @@ Isto marcara todos os elementos como lidos. Marcar artigos como lidos ao deslizar co dedo cara os lados Non marcar artigos como lidos ao deslizar co dedo cara os lados. - A aplicación non recolle ningún dato persoal. Todas as ferramentas de analítica foron eliminadas. O envío de informes de erros agora é opcional, así coma os rexistros de depuración. Ten en conta que tanto os rexistros coma os informes de erros son esenciais prao desenvolvemento da aplicación (Podes configurar todo en \"Axustes > Depurar\"). - A aplicación non comparte ningún dato persoal seu. - Algo foi mal. Pregámoslle que envíe o informe de erro ao desarrollador. - Podes engadir calquera información útil nos comentarios. Non inclúas datos persoais. Podes enviarme un correo coa Id de depuración pra que me poña en contacto contigo cando a incidencia se resolva. Enviar automáticamente informes de erros Enviaranse automáticamente os informes de erros Preguntarase cada vez pra enviar os informes de erros. diff --git a/app/src/main/res/values-in-rID/strings.xml b/app/src/main/res/values-in-rID/strings.xml index bbad157..7438a0f 100644 --- a/app/src/main/res/values-in-rID/strings.xml +++ b/app/src/main/res/values-in-rID/strings.xml @@ -102,25 +102,15 @@ Bawaan Bawaan/Gelap Debug - Aktifkan untuk mencatat semua kesalahan koneksi - Semua kesalahan koneksi akan dicatat - Kesalahan pada halaman masuk - Debug Sertifikat yang ditandatangani sendiri? Untuk alasan keamanan, sertifikat yang ditandatangani sendiri tidak didukung secara bawaan. Jika Anda mengaktifkan item ini, saya tidak akan bertanggung jawab atas masalah keamanan yang Anda hadapi. Selfoss Api Item nomor dimuat Hidden Tags - Baca artikel yang ini sebagai belum dibaca ? - Tidak ada catatan saat item ditandai sebagai telah dibaca - Panggilan api dicatat saat item ditandai sebagai telah dibaca Identifikasi debug Salin pengenal ke papan klip Anda Kop dengan alamat link Selfoss ditampilkan di laci lateral. Kop akun - Catat setiap panggilan api - Untuk debug program, ini akan mencatat setiap panggilan api. - Tidak ada panggilan api yang akan dicatat Muat lebih banyak artikel saat membalik halaman Terjemahan Alamat tautan proyek tidak valid. Saya mencoba memecahkan masalah ini untuk menghindari aplikasi berhenti. @@ -138,10 +128,6 @@ This will mark all the items as read. Mark as read on swipe Don\'t mark articles as read when swiping. - The app does not collect any personal data. Every analytics tools were removed. Crash reports sending is now optional, as is the debug logging. Keep in mind that debugging and crash reports are essential for the app development (You can configure everything in Settings > Debug). - The app does not share any personal data about you. - Something went wrong. Please send the report to the developer. - You can add any helpful details in the comment bellow. Don\'t include any personal data in your comment. You could send me and email with your debug id, and I\'ll keep you posted when the issue is resolved. Automatically send crash reports Will send crash reports automatically Will ask everytime when sending crash reports. diff --git a/app/src/main/res/values-it-rIT/strings.xml b/app/src/main/res/values-it-rIT/strings.xml index 41c3b42..2f0faa3 100644 --- a/app/src/main/res/values-it-rIT/strings.xml +++ b/app/src/main/res/values-it-rIT/strings.xml @@ -102,25 +102,15 @@ Predefinito Predefinito (Scuro) Debug - Activate to log login errors - Any error on the login page will be logged - No log on the login page - Debug Using a self hosted certificate ? 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. Api di Selfoss Numero di elementi caricati Tag nascosti - Read articles appearing as unread ? - No log when marking an item as read - Api calls will be logged when marking an article as read Debug identifier Identifier copied to your clipboard Display a header with the selfoss instance url on the lateral drawer. Account header - Logging every api calls - This will log every api call for debug purpose. - No api call will be logged Load more articles on scroll Traduzioni The item url is invalid. I\'m looking into solving this issue so the app won\'t crash. @@ -138,10 +128,6 @@ This will mark all the items as read. Mark as read on swipe Don\'t mark articles as read when swiping. - The app does not collect any personal data. Every analytics tools were removed. Crash reports sending is now optional, as is the debug logging. Keep in mind that debugging and crash reports are essential for the app development (You can configure everything in Settings > Debug). - The app does not share any personal data about you. - Something went wrong. Please send the report to the developer. - You can add any helpful details in the comment bellow. Don\'t include any personal data in your comment. You could send me and email with your debug id, and I\'ll keep you posted when the issue is resolved. Automatically send crash reports Will send crash reports automatically Will ask everytime when sending crash reports. diff --git a/app/src/main/res/values-ko-rKR/strings.xml b/app/src/main/res/values-ko-rKR/strings.xml index 49cd439..2c0b9c5 100644 --- a/app/src/main/res/values-ko-rKR/strings.xml +++ b/app/src/main/res/values-ko-rKR/strings.xml @@ -102,25 +102,15 @@ Default Default/Dark Debug - Activate to log login errors - Any error on the login page will be logged - No log on the login page - Debug Using a self hosted certificate ? 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. Selfoss Api Loaded items number Hidden Tags - Read articles appearing as unread ? - No log when marking an item as read - Api calls will be logged when marking an article as read Debug identifier Identifier copied to your clipboard Display a header with the selfoss instance url on the lateral drawer. Account header - Logging every api calls - This will log every api call for debug purpose. - No api call will be logged Load more articles on scroll Translation The item url is invalid. I\'m looking into solving this issue so the app won\'t crash. @@ -138,10 +128,6 @@ This will mark all the items as read. Mark as read on swipe Don\'t mark articles as read when swiping. - The app does not collect any personal data. Every analytics tools were removed. Crash reports sending is now optional, as is the debug logging. Keep in mind that debugging and crash reports are essential for the app development (You can configure everything in Settings > Debug). - The app does not share any personal data about you. - Something went wrong. Please send the report to the developer. - You can add any helpful details in the comment bellow. Don\'t include any personal data in your comment. You could send me and email with your debug id, and I\'ll keep you posted when the issue is resolved. Automatically send crash reports Will send crash reports automatically Will ask everytime when sending crash reports. diff --git a/app/src/main/res/values-nl-rNL/strings.xml b/app/src/main/res/values-nl-rNL/strings.xml index 5257458..2567be4 100644 --- a/app/src/main/res/values-nl-rNL/strings.xml +++ b/app/src/main/res/values-nl-rNL/strings.xml @@ -102,25 +102,15 @@ Standaard Standaard/Donker Fout opsporen - Activeer om login-fouten te loggen - Elke fout op de inlogpagina wordt gelogd - Geen log op de inlogpagina - Fout opsporen Gebruik een zelf gehost certificaat? Vanwege veiligheidsredenen worden zelfondertekende certificaten niet standaard ondersteund. Door dit te activeren, ben ik niet verantwoordelijk voor beveiligingsproblemen die u tegenkomt. Selfoss Api Geladen items nummer Hidden Tags - Gelezen artikelen verschijnen als ongelezen? - Geen logboek bij het markeren van een artikel als gelezen - Api-oproepen zullen gelogd worden wanneer een artikel als gelezen wordt gemarkeerd ID voor foutopsporing ID naar uw klembord gekopieerd Laat een koptekst weergeven met de url van de selfoss instantie in de zijlade. Account titel - Elke api-oproepen loggen - Hiermee wordt elke api oproepen gelogt voor foutopsporingsdoeleinden. - Geen api-oproep wordt gelogt Laad meer artikelen door te bladeren Vertaling De URL is ongeldig. Ik probeer dit probleem op te lossen, zodat de toepassing niet wordt afgesloten. @@ -138,10 +128,6 @@ This will mark all the items as read. Mark as read on swipe Don\'t mark articles as read when swiping. - The app does not collect any personal data. Every analytics tools were removed. Crash reports sending is now optional, as is the debug logging. Keep in mind that debugging and crash reports are essential for the app development (You can configure everything in Settings > Debug). - The app does not share any personal data about you. - Something went wrong. Please send the report to the developer. - You can add any helpful details in the comment bellow. Don\'t include any personal data in your comment. You could send me and email with your debug id, and I\'ll keep you posted when the issue is resolved. Automatically send crash reports Will send crash reports automatically Will ask everytime when sending crash reports. diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 8a144df..17f2652 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -102,25 +102,15 @@ Padrão Padrão/Escuro Depurar - Ativar para registrar erros de login - Qualquer erro na página de login será registrado - Nenhum registro na página de login - Depurar Usando um certificado autônomo ? Por motivos de segurança, certificados autônomos não são suportados por padrão. Ao ativar, não serei responsável por qualquer problema de segurança que você encontre. Selfoss Api Quantidade de itens carregados Hidden Tags - Ler os artigos que aparecem como não lidos ? - Nenhum registro ao marcar um item como lido - As chamadas Api serão registradas ao marcar um artigo como lido Identificador de depuração Identificador copiado para a área de transferência Exibir um cabeçalho com o URL da instância do Selfoss na barra lateral. Cabeçalho da conta - Registrando todas as chamadas a api - Isso registrará todas as chamadas api para fins de depuração. - Nenhuma chamada a api será registrada Carregar mais artigos ao realizar o scroll Traduções A url está inválida. Estou tentando resolver esse problema para que o aplicativo não encerre. @@ -138,10 +128,6 @@ Isso marcará todos os itens como lidos. Marcar Como Lida ao Abrir Não marca artigos como lido quando abrir. - O app não recolhe quaisquer dados pessoais. Todas as ferramentas de análise foram removidas. Envio de relatórios de erro agora é opcional, como é o log de depuração. Tenha em mente que a depuração e relatórios de erro são essenciais para o desenvolvimento do app (você pode configurar tudo em configurações > Debug). - O app não compartilha dados pessoais sobre você. - Algo deu errado. Por favor envie o relatório para o desenvolvedor. - Você pode adicionar informação útil no comentário abaixo. Não inclua quaisquer dados pessoais no seu comentário. Você pode enviar um e-mail com sua id de depuração, e eu vou mantê-lo informado quando o problema for resolvido. Envia relatórios de erros automaticamente Enviar relatórios de erro automaticamente Perguntar sempre, ao enviar relatórios de erro. diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml index c2178df..5a5192b 100644 --- a/app/src/main/res/values-pt-rPT/strings.xml +++ b/app/src/main/res/values-pt-rPT/strings.xml @@ -102,25 +102,15 @@ Predefinição Padrão/escuro Depurar - Ativar para registrar erros de logon - Qualquer erro na página de login será registrado - Não há registro na página de login - Depurar Usando um certificado hospedado? Devido a razões de segurança, auto certificados auto-assinados não são suportados por padrão. Ao activar isto, eu não vou ser responsável de qualquer problema de segurança que você encontrar. Api de Selfoss Número de itens carregados Hidden Tags - Leia artigos aparecem como não lidas? - Sem log quando marcar um item como lido - Chamadas de Api serão registradas quando marcar um artigo como lido Depurar o identificador Identificador de copiados para a área de transferência Exibir um cabeçalho com o url de instância de selfoss na gaveta lateral. Cabeçalho de conta - Logando todas as chamadas api - Isto irá registrar todas as chamadas de api para fins de depuração. - Nenhuma chamada de api será registrada Carregar mais artigos no pergaminho Tradução A url do item é inválido. Eu estou olhando para resolver esta questão, para que o app não vai falhar. @@ -138,10 +128,6 @@ This will mark all the items as read. Mark as read on swipe Don\'t mark articles as read when swiping. - The app does not collect any personal data. Every analytics tools were removed. Crash reports sending is now optional, as is the debug logging. Keep in mind that debugging and crash reports are essential for the app development (You can configure everything in Settings > Debug). - The app does not share any personal data about you. - Something went wrong. Please send the report to the developer. - You can add any helpful details in the comment bellow. Don\'t include any personal data in your comment. You could send me and email with your debug id, and I\'ll keep you posted when the issue is resolved. Automatically send crash reports Will send crash reports automatically Will ask everytime when sending crash reports. diff --git a/app/src/main/res/values-tr-rTR/strings.xml b/app/src/main/res/values-tr-rTR/strings.xml index 1da2065..9f94904 100644 --- a/app/src/main/res/values-tr-rTR/strings.xml +++ b/app/src/main/res/values-tr-rTR/strings.xml @@ -102,25 +102,15 @@ Varsayılan Varsayılan/koyu Hata ayıklama - Giriş hatalarını kaydetmek için etkinleştir - Oturum açma sayfasındaki herhangi bir hata günlüğe kaydedilecek - Oturum açma sayfasında oturum yok - Hata ayıklama Kendi kendine barındırılan bir sertifika mı kullanıyorsunuz? Güvenlik nedeniyle, kendinden imzalı sertifikalar varsayılan olarak desteklenmez. Bunu etkinleştirerek karşılaştığınız herhangi bir güvenlik sorununun sorumluluğunu almayacağım. Selfoss Uygulaması Yüklenen öğe numarası Hidden Tags - Okunmamış makaleleri görüntüle? - Bir öğeyi işaretlediğinde günlük yok - Bir makaleyi okundu olarak işaretlerken Api çağrıları günlüğe kaydedilir Hata ayıklama tanıtıcısı Tanımlayıcı panonuza kopyalanır Selfoss örneği url\'li bir üstbilgi, yan çekmece üzerine gösterin. Hesap başlığı - Bütün api aramalarına giriyor - Bu, her api çağrısını hata ayıklama amacına yönelik olarak günlüğe kaydeder. - Hiçbir api çağrısı günlüğe kaydedilmez Kaydırma üzerine daha fazla makale yükleyin Çeviri Öğe url geçersiz. Uygulama çökmeyeceği için bu sorunu çözmeye çalışıyorum. @@ -138,10 +128,6 @@ This will mark all the items as read. Mark as read on swipe Don\'t mark articles as read when swiping. - The app does not collect any personal data. Every analytics tools were removed. Crash reports sending is now optional, as is the debug logging. Keep in mind that debugging and crash reports are essential for the app development (You can configure everything in Settings > Debug). - The app does not share any personal data about you. - Something went wrong. Please send the report to the developer. - You can add any helpful details in the comment bellow. Don\'t include any personal data in your comment. You could send me and email with your debug id, and I\'ll keep you posted when the issue is resolved. Automatically send crash reports Will send crash reports automatically Will ask everytime when sending crash reports. diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index f4df312..9c915c9 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -102,25 +102,15 @@ 默认​​​​​ 默认值/暗 调试 - 激活以记录登录错误 - 登录页上的任何错误都将被记录 - 登录页上没有记录 - 调试 使用自托管证书? 出于安全考虑, 默认情况下不支持自签名证书。如果激活此项, 您遇到的任何安全问题我将概不负责。 塞尔福斯 Api 已加载项目编号 隐藏段落 - 已读文章显示为未读? - 将项目标记为已读时没有记录 - 将项目标记为已读时将记录 Api 调用 除错标识符 复制到你的剪贴板的标识符 在侧边栏中显示带有 Selfoss 链接地址的页眉。 帐户页眉 - 记录每个 api 调用 - 为了程序除错,这将记录每个 api 调用 - 将不记录任何 api 调用 翻页时载入更多文章 翻译 项目链接地址无效。我正在设法解决这个问题,以避免应用程序崩溃。 @@ -138,10 +128,6 @@ 這會使全部項目標示為已讀 Mark as read on swipe Don\'t mark articles as read when swiping. - The app does not collect any personal data. Every analytics tools were removed. Crash reports sending is now optional, as is the debug logging. Keep in mind that debugging and crash reports are essential for the app development (You can configure everything in Settings > Debug). - 這應用程式不會分享你的任何個人資訊 - Something went wrong. Please send the report to the developer. - You can add any helpful details in the comment bellow. Don\'t include any personal data in your comment. You could send me and email with your debug id, and I\'ll keep you posted when the issue is resolved. 自动发送錯誤报告 Will send crash reports automatically Will ask everytime when sending crash reports. diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index fc0b407..889fabb 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -102,25 +102,15 @@ 默认​​​​​ 默认值/暗 调试 - 激活以记录登录错误 - 登录页上的任何错误都将被记录 - 登录页上没有记录 - 调试 使用自托管证书? 出于安全考虑, 默认情况下不支持自签名证书。如果激活此项, 您遇到的任何安全问题我将概不负责。 塞尔福斯 Api 已加载项目编号 Hidden Tags - 已读文章显示为未读? - 将项目标记为已读时没有记录 - 将项目标记为已读时将记录 Api 调用 除错标识符 复制到你的剪贴板的标识符 在侧边栏中显示带有 Selfoss 链接地址的页眉。 帐户页眉 - 记录每个 api 调用 - 为了程序除错,这将记录每个 api 调用 - 将不记录任何 api 调用 翻页时载入更多文章 翻译 项目链接地址无效。我正在设法解决这个问题,以避免应用程序崩溃。 @@ -138,10 +128,6 @@ This will mark all the items as read. Mark as read on swipe Don\'t mark articles as read when swiping. - The app does not collect any personal data. Every analytics tools were removed. Crash reports sending is now optional, as is the debug logging. Keep in mind that debugging and crash reports are essential for the app development (You can configure everything in Settings > Debug). - The app does not share any personal data about you. - Something went wrong. Please send the report to the developer. - You can add any helpful details in the comment bellow. Don\'t include any personal data in your comment. You could send me and email with your debug id, and I\'ll keep you posted when the issue is resolved. Automatically send crash reports Will send crash reports automatically Will ask everytime when sending crash reports. diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 479f43f..db5b380 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -14,7 +14,7 @@ #FF303030 #FFFFFF - #FAFAFA + #FFFFFF #212121 #FFFFFFFF diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0fe5506..424d0f4 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -101,26 +101,16 @@ Default Default/Dark Debug - Activate to log login errors - Any error on the login page will be logged - No log on the login page - Debug Using a self hosted certificate ? 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. Selfoss Api Loaded items number Hidden Tags - Read articles appearing as unread ? - No log when marking an item as read - Api calls will be logged when marking an article as read Debug identifier Identifier copied to your clipboard Display a header with the selfoss instance url on the lateral drawer. Account header - Logging every api calls - This will log every api call for debug purpose. - No api call will be logged Load more articles on scroll Translation The item url is invalid. I\'m looking into solving this issue so the app won\'t crash. @@ -138,10 +128,6 @@ This will mark all the items as read. Mark as read on swipe Don\'t mark articles as read when swiping. - The app does not collect any personal data. Every analytics tools were removed. Crash reports sending is now optional, as is the debug logging. Keep in mind that debugging and crash reports are essential for the app development (You can configure everything in Settings > Debug). - The app does not share any personal data about you. - Something went wrong. Please send the report to the developer. - You can add any helpful details in the comment bellow. Don\'t include any personal data in your comment. You could send me and email with your debug id, and I\'ll keep you posted when the issue is resolved. Automatically send crash reports Will send crash reports automatically Will ask everytime when sending crash reports. diff --git a/app/src/main/res/xml/pref_debug.xml b/app/src/main/res/xml/pref_debug.xml deleted file mode 100644 index d301a7a..0000000 --- a/app/src/main/res/xml/pref_debug.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/xml/pref_headers.xml b/app/src/main/res/xml/pref_headers.xml index 93eed8e..9197971 100644 --- a/app/src/main/res/xml/pref_headers.xml +++ b/app/src/main/res/xml/pref_headers.xml @@ -27,15 +27,6 @@ android:value="ic_signal_wifi_off_white_24dp"/> -
- -
-