diff --git a/app/build.gradle b/app/build.gradle index aa0fa9e..1f93a39 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,16 +1,8 @@ buildscript { } -ext { - configuration = [ - buildDate: new Date() - ] - // This will make me able to build multiple times a day. May break thinks. I may forget it. - todaysBuilds = "1" -} - def gitVersion() { - def process = "git for-each-ref refs/tags --sort=-authordate --format='%(refname:short)' --count=1".execute() + def process = "git for-each-ref refs/tags --sort=-taggerdate --format='%(refname:short)' --count=1".execute() return process.text.replaceAll("'", "").substring(1).replaceAll("\\.", "").trim() } 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 67ef24e..1042a8f 100644 --- a/app/src/main/java/apps/amine/bou/readerforselfoss/AddSourceActivity.kt +++ b/app/src/main/java/apps/amine/bou/readerforselfoss/AddSourceActivity.kt @@ -109,7 +109,7 @@ class AddSourceActivity : AppCompatActivity() { super.onResume() val config = Config(this) - if (config.baseUrl.isEmpty() || !config.baseUrl.isBaseUrlValid()) { + if (config.baseUrl.isEmpty() || !config.baseUrl.isBaseUrlValid(false)) { mustLoginToAddSource() } else { handleSpoutsSpinner(spoutsSpinner, api, progress, formContainer) 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 2cb8772..be3c620 100644 --- a/app/src/main/java/apps/amine/bou/readerforselfoss/LoginActivity.kt +++ b/app/src/main/java/apps/amine/bou/readerforselfoss/LoginActivity.kt @@ -145,7 +145,7 @@ class LoginActivity : AppCompatActivity() { var cancel = false var focusView: View? = null - if (!url.isBaseUrlValid()) { + if (!url.isBaseUrlValid(logErrors)) { urlView.error = getString(R.string.login_url_problem) focusView = urlView cancel = true 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 index fd04b0c..b828459 100644 --- a/app/src/main/java/apps/amine/bou/readerforselfoss/utils/Acra.kt +++ b/app/src/main/java/apps/amine/bou/readerforselfoss/utils/Acra.kt @@ -9,4 +9,8 @@ fun ErrorReporter.maybeHandleSilentException(throwable: Throwable, ctx: Context) if (sharedPref.getBoolean("acra_should_log", false)) { this.handleSilentException(throwable) } +} + +fun ErrorReporter.doHandleSilentException(throwable: Throwable) { + this.handleSilentException(throwable) } \ No newline at end of file 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 804dedc..ddaedd7 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 @@ -19,6 +19,7 @@ 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 { @@ -134,7 +135,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(): Boolean { +fun String.isBaseUrlValid(logErrors: Boolean): Boolean { val baseUrl = HttpUrl.parse(this) var existsAndEndsWithSlash = false if (baseUrl != null) { @@ -142,7 +143,11 @@ fun String.isBaseUrlValid(): Boolean { existsAndEndsWithSlash = "" == pathSegments[pathSegments.size - 1] } - return Patterns.WEB_URL.matcher(this).matches() && existsAndEndsWithSlash + val isValid = Patterns.WEB_URL.matcher(this).matches() && existsAndEndsWithSlash + if (!isValid && logErrors) { + ACRA.getErrorReporter().doHandleSilentException(java.lang.Exception("Patterns.WEB_URL.matcher(this).matches() == ${Patterns.WEB_URL.matcher(this).matches()} && existsAndEndsWithSlash == $existsAndEndsWithSlash && baseUrl.pathSegments() == ${baseUrl?.pathSegments()}")) + } + return isValid } fun Context.openInBrowserAsNewTask(i: Item) {