From 0ec5066b1888f8dc8e5da3a2586701aebbe7e56c Mon Sep 17 00:00:00 2001 From: Jan-Lukas Else Date: Tue, 11 Sep 2018 22:24:39 +0200 Subject: [PATCH] Dependency upgrades, basic bug fixing and min API bump --- app/build.gradle | 20 +++-- app/src/main/java/telegra/ph/MainActivity.kt | 88 +++++++++++--------- app/src/main/java/telegra/ph/TelegraphApi.kt | 3 +- app/src/main/res/menu/activity_main.xml | 4 + app/src/main/res/values/strings.xml | 2 + build.gradle | 5 +- 6 files changed, 71 insertions(+), 51 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index fd1868f..6949b82 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -2,12 +2,12 @@ apply plugin: 'com.android.application' apply plugin: 'kotlin-android' android { - compileSdkVersion 27 - buildToolsVersion "28.0.1" + compileSdkVersion 28 + buildToolsVersion "28.0.2" defaultConfig { applicationId "telegra.ph" - minSdkVersion 15 - targetSdkVersion 27 + minSdkVersion 17 + targetSdkVersion 28 versionCode 14 versionName "1.5.1" resConfigs "en" @@ -27,11 +27,13 @@ android { } dependencies { - implementation 'com.android.support:appcompat-v7:27.1.1' - implementation 'com.android.support:recyclerview-v7:27.1.1' - implementation 'com.android.support:support-v13:27.1.1' + implementation 'com.android.support:appcompat-v7:28.0.0-rc02' + implementation 'com.android.support:recyclerview-v7:28.0.0-rc02' + implementation 'com.android.support:support-v13:28.0.0-rc02' implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" implementation 'com.github.delight-im:Android-AdvancedWebView:v3.1.3' - implementation 'com.afollestad.material-dialogs:core:0.9.6.0' - implementation 'com.github.kittinunf.fuel:fuel-android:1.14.0' + implementation 'com.afollestad.material-dialogs:core:2.0.0-alpha09' + implementation 'com.afollestad.material-dialogs:input:2.0.0-alpha09' + implementation 'com.github.kittinunf.fuel:fuel:1.15.0' + implementation 'com.github.kittinunf.fuel:fuel-android:1.15.0' } diff --git a/app/src/main/java/telegra/ph/MainActivity.kt b/app/src/main/java/telegra/ph/MainActivity.kt index dd0f0b5..534c696 100644 --- a/app/src/main/java/telegra/ph/MainActivity.kt +++ b/app/src/main/java/telegra/ph/MainActivity.kt @@ -9,6 +9,8 @@ import android.view.Menu import android.view.MenuItem import android.view.View import com.afollestad.materialdialogs.MaterialDialog +import com.afollestad.materialdialogs.input.input +import com.afollestad.materialdialogs.list.listItemsSingleChoice import im.delight.android.webview.AdvancedWebView import java.net.URI @@ -124,10 +126,10 @@ class MainActivity : AppCompatActivity(), AdvancedWebView.Listener { private fun showMessage(title: String? = null, message: String? = null) { runOnUiThread { - MaterialDialog.Builder(this) - .title(title ?: "") - .content(message ?: "") - .positiveText(android.R.string.ok) + MaterialDialog(this) + .title(text = title ?: "") + .message(text = message ?: "") + .positiveButton(android.R.string.ok) .show() } } @@ -183,15 +185,15 @@ class MainActivity : AppCompatActivity(), AdvancedWebView.Listener { } R.id.publish -> { editor?.getText { json -> - MaterialDialog.Builder(this) + MaterialDialog(this) .title(R.string.title_question) - .input(getString(R.string.title_hint), currentPage?.title - ?: "", { _, title -> - MaterialDialog.Builder(this) + .input(hintRes = R.string.title_hint, prefill = currentPage?.title + ?: "") { _, title -> + MaterialDialog(this) .title(R.string.name_question) - .input(getString(R.string.name_hint), if (isEdit) currentPage?.authorName + .input(hintRes = R.string.name_hint, prefill = if (isEdit) currentPage?.authorName ?: authorName ?: "" else authorName - ?: "", { _, name -> + ?: "") { _, name -> if (!isEdit) authorName = name.toString() if (isEdit) TelegraphApi.editPage(accessToken, currentPage?.path ?: "", authorName = name.toString(), title = title.toString(), content = json @@ -203,9 +205,9 @@ class MainActivity : AppCompatActivity(), AdvancedWebView.Listener { if (success && page != null) showPage(page) else showError(error) } - }) + } .show() - }) + } .show() } true @@ -215,24 +217,31 @@ class MainActivity : AppCompatActivity(), AdvancedWebView.Listener { true } R.id.bookmarks -> { - MaterialDialog.Builder(this) + MaterialDialog(this) .title(R.string.bookmarks) - .positiveText(android.R.string.ok) - .items(bookmarks().reversed().map { it.second }) - .itemsCallback { _, _, i, _ -> - loadPage(bookmarks().reversed().map { it.first }[i]) + .positiveButton(R.string.open) + .negativeButton(android.R.string.cancel) + .listItemsSingleChoice(items = bookmarks().reversed().map { it.second }) { _, index, _ -> + loadPage(bookmarks().reversed().map { it.first }[index]) } - .itemsLongCallback { _, _, i, _ -> - MaterialDialog.Builder(this) + .show() + true + } + R.id.delete_bookmark -> { + MaterialDialog(this) + .title(R.string.delete_bookmark) + .positiveButton(R.string.delete) + .negativeButton(android.R.string.cancel) + .listItemsSingleChoice(items = bookmarks().reversed().map { it.second }) { _, index, _ -> + MaterialDialog(this) .title(R.string.delete) - .content(R.string.delete_question) - .positiveText(android.R.string.yes) - .negativeText(android.R.string.no) - .onPositive { _, _ -> - deleteBookmark(bookmarks().reversed().map { it.first }[i]) + .message(R.string.delete_question) + .positiveButton(android.R.string.yes) + .negativeButton(android.R.string.no) + .positiveButton { _ -> + deleteBookmark(bookmarks().reversed().map { it.first }[index]) } .show() - true } .show() true @@ -240,11 +249,11 @@ class MainActivity : AppCompatActivity(), AdvancedWebView.Listener { R.id.published -> { TelegraphApi.getPageList(accessToken) { success, pageList, error -> if (success && pageList != null && pageList.pages != null) { - MaterialDialog.Builder(this) + MaterialDialog(this) .title(R.string.published) - .positiveText(android.R.string.ok) - .items(pageList.pages.map { it.title }) - .itemsCallback { _, _, i, _ -> + .positiveButton(R.string.open) + .negativeButton(android.R.string.cancel) + .listItemsSingleChoice(items = pageList.pages.map { it.title }) { _, i, _ -> loadPage(pageList.pages[i].path) } .show() @@ -253,12 +262,13 @@ class MainActivity : AppCompatActivity(), AdvancedWebView.Listener { true } R.id.bookmark -> { - MaterialDialog.Builder(this) + MaterialDialog(this) .title(R.string.title_question) - .input(getString(R.string.title_hint), "", { _, input -> + .input(hintRes = R.string.title_hint, prefill = currentPage?.title + ?: "") { _, input -> val curPage = currentPage if (curPage?.url != null) addBookmark(curPage.url.split("/").last(), input.toString()) - }) + } .show() true } @@ -272,19 +282,19 @@ class MainActivity : AppCompatActivity(), AdvancedWebView.Listener { true } R.id.help -> { - MaterialDialog.Builder(this) + MaterialDialog(this) .title(R.string.help) - .content(R.string.help_text, true) - .positiveText(android.R.string.ok) + .message(R.string.help_text) + .positiveButton(android.R.string.ok) .show() true } R.id.login -> { - MaterialDialog.Builder(this) + MaterialDialog(this) .title(R.string.login) - .content(R.string.login_desc) - .positiveText(android.R.string.ok) - .onPositive { _, _ -> + .message(R.string.login_desc) + .positiveButton(android.R.string.ok) + .positiveButton { _ -> startActivity(Intent(Intent.ACTION_VIEW, Uri.parse("https://t.me/telegraph"))) } .show() diff --git a/app/src/main/java/telegra/ph/TelegraphApi.kt b/app/src/main/java/telegra/ph/TelegraphApi.kt index 796790e..d3b858d 100644 --- a/app/src/main/java/telegra/ph/TelegraphApi.kt +++ b/app/src/main/java/telegra/ph/TelegraphApi.kt @@ -1,5 +1,6 @@ package telegra.ph +import com.github.kittinunf.fuel.Fuel import com.github.kittinunf.fuel.android.core.Json import com.github.kittinunf.fuel.android.extension.responseJson import com.github.kittinunf.fuel.core.FuelError @@ -37,7 +38,7 @@ object TelegraphApi { parameters.forEach { requestObject.put(it.first, it.second) } - method.httpPost().header("Content-Type" to "application/json").body(requestObject.toString()).responseJson(handler) + method.httpPost().header(mapOf("Content-Type" to "application/json")).body(requestObject.toString()).responseJson(handler) } fun createAccount(shortName: String, authorName: String? = null, authorUrl: String? = null, callback: (success: Boolean, account: Account?, error: String?) -> Unit) { diff --git a/app/src/main/res/menu/activity_main.xml b/app/src/main/res/menu/activity_main.xml index 5478a99..1db753d 100644 --- a/app/src/main/res/menu/activity_main.xml +++ b/app/src/main/res/menu/activity_main.xml @@ -25,6 +25,10 @@ android:id="@+id/bookmarks" android:title="@string/bookmarks" app:showAsAction="never" /> + Used librariesMaterial Dialogs, Fuel, AdvancedWebView

About

This app is made by Jan-Lukas Else and it\'s code is published on Github.]]> Bookmarks Bookmark this + Delete Bookmark New Title? Awesome Post #1 @@ -24,4 +25,5 @@ You successfully logged in! Login Open the Telegraph bot in Telegram, select \"Login as * on this device\" and choose Teleposter. + Open \ No newline at end of file diff --git a/build.gradle b/build.gradle index 7d574f5..34ba821 100644 --- a/build.gradle +++ b/build.gradle @@ -1,12 +1,12 @@ buildscript { - ext.kotlin_version = '1.2.51' + ext.kotlin_version = '1.2.61' repositories { jcenter() mavenCentral() google() } dependencies { - classpath 'com.android.tools.build:gradle:3.1.3' + classpath 'com.android.tools.build:gradle:3.1.4' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } @@ -21,5 +21,6 @@ allprojects { mavenCentral() google() maven { url "https://jitpack.io" } + maven { url "https://dl.bintray.com/drummer-aidan/maven/" } } }