From 73a7ab78a51b8a24f52201fa703c9076020b0be5 Mon Sep 17 00:00:00 2001 From: Kazuki Yamaguchi Date: Sat, 23 Mar 2019 04:35:37 +0900 Subject: wip updating dependencies --- app/build.gradle | 39 +++++----- app/licenses.yml | 85 ++++++++++++++++------ .../java/net/lacolaco/smileessence/Application.kt | 2 +- .../main/java/net/lacolaco/smileessence/World.kt | 8 +- .../lacolaco/smileessence/activity/MainActivity.kt | 16 ++-- .../smileessence/activity/ManagePagesActivity.kt | 14 ++-- .../activity/ManageProfilesActivity.kt | 21 +++--- .../smileessence/activity/OAuthActivity.kt | 2 +- .../net/lacolaco/smileessence/twitter/Tweets.kt | 6 +- .../net/lacolaco/smileessence/util/UIHelpers.kt | 15 ++-- .../lacolaco/smileessence/view/ActionMenuView.kt | 2 +- .../net/lacolaco/smileessence/view/Confirmation.kt | 2 +- .../smileessence/view/EmbeddedMenuLayout.kt | 2 +- .../smileessence/view/MainFragmentPagerAdapter.kt | 4 +- .../net/lacolaco/smileessence/view/PopupMenu.kt | 2 +- .../view/dialog/EditTweetsPageDialogFragment.kt | 8 +- .../view/dialog/StackableDialogFragment.kt | 2 +- .../view/dialog/UserDetailDialogFragment.kt | 6 +- .../smileessence/view/page/ComposePageFragment.kt | 11 +-- .../smileessence/view/page/ListPageFragment.kt | 2 +- .../smileessence/view/page/TimelinePageFragment.kt | 8 +- app/src/main/res/layout/activity_main.xml | 4 +- app/src/main/res/layout/activity_manage_pages.xml | 16 ++-- .../main/res/layout/activity_manage_profiles.xml | 14 ++-- app/src/main/res/layout/dialog_app_info.xml | 6 +- .../main/res/layout/dialog_edit_tweets_page.xml | 8 +- app/src/main/res/layout/dialog_user_detail.xml | 18 ++--- app/src/main/res/layout/item_status_base.xml | 4 +- app/src/main/res/layout/list_item_event.xml | 4 +- app/src/main/res/layout/page_fragment_compose.xml | 6 +- app/src/main/res/layout/page_fragment_list.xml | 4 +- app/src/main/res/layout/page_fragment_search.xml | 4 +- build.gradle | 4 +- gradle.properties | 2 + gradle/wrapper/gradle-wrapper.properties | 4 +- 35 files changed, 192 insertions(+), 163 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 3d988949..eccbd5e3 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -2,19 +2,13 @@ apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' -kotlin { - experimental { - coroutines "enable" - } -} - android { - compileSdkVersion 27 - buildToolsVersion "28.0.2" + compileSdkVersion 28 + buildToolsVersion "28.0.3" defaultConfig { applicationId "jp.rhe.smileessence4" minSdkVersion 21 - targetSdkVersion 27 + targetSdkVersion 28 versionName "git -C $rootDir describe --tags --long --dirty --always".execute().text.trim() versionCode "git -C $rootDir rev-list HEAD --count".execute().text.trim().toInteger() @@ -59,35 +53,36 @@ repositories { dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" - implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:0.24.0' - implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:0.24.0' + implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.1.1' + implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.1.1' - implementation 'com.android.support:support-core-ui:27.1.1' - implementation 'com.android.support:appcompat-v7:27.1.1' - implementation 'com.android.support:palette-v7:27.1.1' - implementation 'com.android.support:support-v13:27.1.1' - implementation 'com.android.support:design:27.1.1' - implementation 'com.android.support.constraint:constraint-layout:2.0.0-alpha2' + implementation 'androidx.legacy:legacy-support-core-ui:1.0.0' + implementation 'androidx.appcompat:appcompat:1.0.2' + implementation 'androidx.palette:palette:1.0.0' + implementation 'androidx.legacy:legacy-support-v13:1.0.0' + implementation 'com.google.android.material:material:1.0.0' + implementation 'androidx.constraintlayout:constraintlayout:1.1.3' // Glide - implementation 'com.github.bumptech.glide:glide:4.8.0' + implementation 'com.github.bumptech.glide:glide:4.9.0' // SwipyRefreshLayout implementation 'com.github.omadahealth:swipy:1.2.3@aar' // RecyclerView-FastScroll; the default FastScroller in support v26 becomes too small to use - implementation 'com.simplecityapps:recyclerview-fastscroll:1.0.18' + implementation 'com.simplecityapps:recyclerview-fastscroll:2.0.0' // twitter4j implementation 'org.twitter4j:twitter4j-core:4.0.7' implementation 'org.twitter4j:twitter4j-stream:4.0.7' // Klaxon - implementation 'com.beust:klaxon:2.0.11' + implementation 'com.beust:klaxon:5.0.5' + implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" // LeakCanary - debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.6.1' - releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.1' + debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.6.3' + releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.3' } apply plugin: 'com.cookpad.android.licensetools' diff --git a/app/licenses.yml b/app/licenses.yml index 86a27e6c..639dd91c 100644 --- a/app/licenses.yml +++ b/app/licenses.yml @@ -5,29 +5,72 @@ licenseUrl: http://www.apache.org/licenses/LICENSE-2.0.txt url: https://kotlinlang.org/ - artifact: org.jetbrains.kotlinx:+:+ - name: Additional Kotlin libraries - copyrightHolder: JetBrains s.r.o. - license: The Apache License, Version 2.0 - licenseUrl: http://www.apache.org/licenses/LICENSE-2.0.txt - url: https://kotlinlang.org/ -- artifact: com.android.support:+:+ + skip: true +- artifact: org.jetbrains:annotations:+ + skip: true +- artifact: androidx.core:+:+ name: Android Support Libraries copyrightHolder: The Android Open Source Project license: The Apache Software License, Version 2.0 licenseUrl: http://www.apache.org/licenses/LICENSE-2.0.txt url: http://developer.android.com/tools/extras/support-library.html -- artifact: com.android.support.constraint:+:+ - name: ConstraintLayout - copyrightHolder: The Android Open Source Project - license: The Apache Software License, Version 2.0 - licenseUrl: http://www.apache.org/licenses/LICENSE-2.0.txt -- artifact: android.arch.core:+:+ - name: Android Architecture Components - copyrightHolder: The Android Open Source Project - license: The Apache Software License, Version 2.0 - licenseUrl: http://www.apache.org/licenses/LICENSE-2.0.txt - url: https://developer.android.com/topic/libraries/architecture/index.html -- artifact: android.arch.lifecycle:+:+ +- artifact: androidx.arch.core:+:+ + skip: true +- artifact: androidx.asynclayoutinflater:+:+ + skip: true +- artifact: androidx.vectordrawable:+:+ + skip: true +- artifact: androidx.coordinatorlayout:+:+ + skip: true +- artifact: androidx.interpolator:+:+ + skip: true +- artifact: androidx.recyclerview:+:+ + skip: true +- artifact: androidx.localbroadcastmanager:+:+ + skip: true +- artifact: androidx.versionedparcelable:+:+ + skip: true +- artifact: androidx.documentfile:+:+ + skip: true +- artifact: androidx.cursoradapter:+:+ + skip: true +- artifact: androidx.cardview:+:+ + skip: true +- artifact: androidx.media:+:+ + skip: true +- artifact: androidx.appcompat:+:+ + skip: true +- artifact: androidx.viewpager:+:+ + skip: true +- artifact: androidx.annotation:+:+ + skip: true +- artifact: androidx.loader:+:+ + skip: true +- artifact: androidx.lifecycle:+:+ + skip: true +- artifact: androidx.collection:+:+ + skip: true +- artifact: androidx.legacy:+:+ + skip: true +- artifact: androidx.fragment:+:+ + skip: true +- artifact: androidx.constraintlayout:+:+ + skip: true +- artifact: androidx.slidingpanelayout:+:+ + skip: true +- artifact: androidx.customview:+:+ + skip: true +- artifact: androidx.swiperefreshlayout:+:+ + skip: true +- artifact: androidx.palette:+:+ + skip: true +- artifact: com.google.android.material:+:+ + skip: true +- artifact: androidx.print:+:+ + skip: true +- artifact: androidx.drawerlayout:+:+ + skip: true +- artifact: androidx.transition:+:+ skip: true - artifact: com.github.bumptech.glide:+:+ name: Glide @@ -64,9 +107,3 @@ license: The Apache Software License, Version 2.0 licenseUrl: http://www.apache.org/licenses/LICENSE-2.0.txt url: http://github.com/square/leakcanary/ -- artifact: org.jetbrains:annotations:+ - name: IntelliJ IDEA Annotations - copyrightHolder: JetBrains s.r.o. - license: The Apache Software License, Version 2.0 - licenseUrl: http://www.apache.org/licenses/LICENSE-2.0.txt - url: http://www.jetbrains.org diff --git a/app/src/main/java/net/lacolaco/smileessence/Application.kt b/app/src/main/java/net/lacolaco/smileessence/Application.kt index 7c4350b6..9158a6b8 100644 --- a/app/src/main/java/net/lacolaco/smileessence/Application.kt +++ b/app/src/main/java/net/lacolaco/smileessence/Application.kt @@ -3,7 +3,7 @@ package net.lacolaco.smileessence import android.content.Context import android.database.sqlite.SQLiteDatabase import android.database.sqlite.SQLiteOpenHelper -import android.support.annotation.StringRes +import androidx.annotation.StringRes import android.widget.Toast import com.squareup.leakcanary.LeakCanary diff --git a/app/src/main/java/net/lacolaco/smileessence/World.kt b/app/src/main/java/net/lacolaco/smileessence/World.kt index 589347a0..aa37a6a6 100644 --- a/app/src/main/java/net/lacolaco/smileessence/World.kt +++ b/app/src/main/java/net/lacolaco/smileessence/World.kt @@ -4,8 +4,8 @@ import android.content.ContentValues import android.content.Intent import android.graphics.Bitmap import android.graphics.drawable.Drawable -import android.support.annotation.StringRes -import android.support.design.widget.Snackbar +import androidx.annotation.StringRes +import com.google.android.material.snackbar.Snackbar import android.view.View import com.beust.klaxon.JsonArray import com.beust.klaxon.JsonObject @@ -32,7 +32,7 @@ import twitter4j.auth.AccessToken import twitter4j.conf.ConfigurationBuilder import java.lang.ref.WeakReference import java.util.* -import kotlin.coroutines.experimental.suspendCoroutine +import kotlin.coroutines.* /** * World contains data that are specific to a profile. @@ -380,7 +380,7 @@ class World private constructor(private val persistentData: PersistentData) { } private fun parsePageInfos(input: String): MutableList { - val json = Parser().parse(StringBuilder(input)) as JsonArray<*> + val json = Parser.default().parse(StringBuilder(input)) as JsonArray<*> return json.map { PageInfo.fromJsonObject(it as JsonObject) }.toMutableList() } diff --git a/app/src/main/java/net/lacolaco/smileessence/activity/MainActivity.kt b/app/src/main/java/net/lacolaco/smileessence/activity/MainActivity.kt index 49de85f0..58125024 100644 --- a/app/src/main/java/net/lacolaco/smileessence/activity/MainActivity.kt +++ b/app/src/main/java/net/lacolaco/smileessence/activity/MainActivity.kt @@ -4,9 +4,9 @@ import android.app.ActivityManager import android.content.Intent import android.graphics.drawable.BitmapDrawable import android.os.Bundle -import android.support.v4.view.ViewPager -import android.support.v7.app.AppCompatActivity -import android.support.v7.graphics.Palette +import androidx.viewpager.widget.ViewPager +import androidx.appcompat.app.AppCompatActivity +import androidx.palette.graphics.Palette import android.text.TextUtils import android.view.Menu import android.view.MenuItem @@ -129,7 +129,7 @@ class MainActivity : AppCompatActivity() { } val statusMatcher = TWITTER_STATUS_PATTERN.matcher(uri.path) if (statusMatcher.find()) { - return launchUi { + launchUi { val id = statusMatcher.group(1) try { val tweet = world.getTweetAsync(id.toLong()).await() @@ -139,10 +139,11 @@ class MainActivity : AppCompatActivity() { world.notifyError("Could not retrieve tweet id=$id") } } + return } val userMatcher = TWITTER_USER_PATTERN.matcher(uri.path) if (userMatcher.find()) { - return launchUi { + launchUi { val username = userMatcher.group(1) try { val user = world.getUserAsync(username).await() @@ -152,6 +153,7 @@ class MainActivity : AppCompatActivity() { world.notifyError("Could not retrieve user screen_name=$username") } } + return } } } else when (intent.action) { @@ -160,9 +162,9 @@ class MainActivity : AppCompatActivity() { if (type == "text/plain") { val extra = intent.extras if (extra != null) { - var text = extra.getCharSequence(Intent.EXTRA_TEXT).toString() + var text = extra.getCharSequence(Intent.EXTRA_TEXT)!!.toString() if (!TextUtils.isEmpty(extra.getCharSequence(Intent.EXTRA_SUBJECT))) { - text = extra.getCharSequence(Intent.EXTRA_SUBJECT).toString() + " " + text + text = extra.getCharSequence(Intent.EXTRA_SUBJECT)!!.toString() + " " + text } val postPagePosition = world.pages.indexOfFirst { it is PageInfo.ComposePageInfo } assert(postPagePosition != -1) diff --git a/app/src/main/java/net/lacolaco/smileessence/activity/ManagePagesActivity.kt b/app/src/main/java/net/lacolaco/smileessence/activity/ManagePagesActivity.kt index 7f8d1f6b..ee67d8a4 100644 --- a/app/src/main/java/net/lacolaco/smileessence/activity/ManagePagesActivity.kt +++ b/app/src/main/java/net/lacolaco/smileessence/activity/ManagePagesActivity.kt @@ -2,12 +2,12 @@ package net.lacolaco.smileessence.activity import android.app.ActivityManager import android.os.Bundle -import android.support.design.widget.Snackbar -import android.support.v7.app.AlertDialog -import android.support.v7.app.AppCompatActivity -import android.support.v7.widget.DividerItemDecoration -import android.support.v7.widget.RecyclerView -import android.support.v7.widget.helper.ItemTouchHelper +import com.google.android.material.snackbar.Snackbar +import androidx.appcompat.app.AlertDialog +import androidx.appcompat.app.AppCompatActivity +import androidx.recyclerview.widget.DividerItemDecoration +import androidx.recyclerview.widget.RecyclerView +import androidx.recyclerview.widget.ItemTouchHelper import android.view.View import android.view.ViewGroup @@ -89,7 +89,7 @@ class ManagePagesActivity : AppCompatActivity() { mainActivityNeedsRestart = true val item = types[i].second() world.pages.add(item) - recycler_view.adapter.notifyItemInserted(world.pages.size - 1) + recycler_view.adapter!!.notifyItemInserted(world.pages.size - 1) openItemEditor(item) }.show() } diff --git a/app/src/main/java/net/lacolaco/smileessence/activity/ManageProfilesActivity.kt b/app/src/main/java/net/lacolaco/smileessence/activity/ManageProfilesActivity.kt index 14d81dbf..d9961700 100644 --- a/app/src/main/java/net/lacolaco/smileessence/activity/ManageProfilesActivity.kt +++ b/app/src/main/java/net/lacolaco/smileessence/activity/ManageProfilesActivity.kt @@ -6,20 +6,23 @@ import android.content.pm.PackageManager import android.graphics.Color import android.net.Uri import android.os.Bundle -import android.support.design.widget.Snackbar -import android.support.v4.app.ActivityCompat -import android.support.v4.content.ContextCompat -import android.support.v4.content.pm.ShortcutInfoCompat -import android.support.v4.content.pm.ShortcutManagerCompat -import android.support.v4.graphics.drawable.IconCompat -import android.support.v7.app.AlertDialog -import android.support.v7.app.AppCompatActivity -import android.support.v7.widget.* +import com.google.android.material.snackbar.Snackbar +import androidx.core.app.ActivityCompat +import androidx.core.content.ContextCompat +import androidx.core.content.pm.ShortcutInfoCompat +import androidx.core.content.pm.ShortcutManagerCompat +import androidx.core.graphics.drawable.IconCompat +import androidx.appcompat.app.AlertDialog +import androidx.appcompat.app.AppCompatActivity +import androidx.appcompat.widget.* import android.view.Gravity import android.view.View import android.view.ViewGroup import android.widget.LinearLayout import android.widget.Toast +import androidx.recyclerview.widget.DividerItemDecoration +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView import com.bumptech.glide.Glide import kotlinx.android.synthetic.main.activity_manage_profiles.* import kotlinx.android.synthetic.main.list_item_profile.view.* diff --git a/app/src/main/java/net/lacolaco/smileessence/activity/OAuthActivity.kt b/app/src/main/java/net/lacolaco/smileessence/activity/OAuthActivity.kt index 5e877b22..c9d9ba1a 100644 --- a/app/src/main/java/net/lacolaco/smileessence/activity/OAuthActivity.kt +++ b/app/src/main/java/net/lacolaco/smileessence/activity/OAuthActivity.kt @@ -5,7 +5,7 @@ import android.app.Activity import android.content.Intent import android.os.Bundle import android.os.Parcelable -import android.support.v7.app.AppCompatActivity +import androidx.appcompat.app.AppCompatActivity import android.text.Editable import android.text.TextWatcher import android.widget.Toast diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/Tweets.kt b/app/src/main/java/net/lacolaco/smileessence/twitter/Tweets.kt index 236289af..3cf94271 100644 --- a/app/src/main/java/net/lacolaco/smileessence/twitter/Tweets.kt +++ b/app/src/main/java/net/lacolaco/smileessence/twitter/Tweets.kt @@ -1,14 +1,12 @@ package net.lacolaco.smileessence.twitter -import kotlinx.coroutines.experimental.CommonPool -import kotlinx.coroutines.experimental.async import net.lacolaco.smileessence.World import net.lacolaco.smileessence.entity.Tweet import net.lacolaco.smileessence.util.bg import twitter4j.StatusUpdate import java.io.InputStream -fun World.getTweetAsync(id: Long, fetchAlways: Boolean = true) = async(CommonPool) { +fun World.getTweetAsync(id: Long, fetchAlways: Boolean = true) = bg { if (!fetchAlways) { Tweet.fetch(id) } else { @@ -18,7 +16,7 @@ fun World.getTweetAsync(id: Long, fetchAlways: Boolean = true) = async(CommonPoo } } -fun World.deleteTweetAsync(id: Long) = async(CommonPool) { +fun World.deleteTweetAsync(id: Long) = bg { Tweet.fromTwitter(TwitterTaskException.wrap { twitter.tweets().destroyStatus(id) }, id) diff --git a/app/src/main/java/net/lacolaco/smileessence/util/UIHelpers.kt b/app/src/main/java/net/lacolaco/smileessence/util/UIHelpers.kt index 1bea55ab..898a9221 100644 --- a/app/src/main/java/net/lacolaco/smileessence/util/UIHelpers.kt +++ b/app/src/main/java/net/lacolaco/smileessence/util/UIHelpers.kt @@ -1,8 +1,7 @@ package net.lacolaco.smileessence.util import android.util.Log -import kotlinx.coroutines.experimental.* -import kotlinx.coroutines.experimental.android.UI +import kotlinx.coroutines.* import net.lacolaco.smileessence.World import java.lang.ref.WeakReference @@ -12,18 +11,14 @@ private val exceptionHandler = CoroutineExceptionHandler { c, throwable -> throw throwable } -val uiContext = UI + exceptionHandler -val bgContext = CommonPool + exceptionHandler - -fun launchUi(block: suspend CoroutineScope.() -> Unit) { - launch(uiContext, CoroutineStart.DEFAULT, null, null, block) -} +fun launchUi(block: suspend CoroutineScope.() -> Unit) = + GlobalScope.launch(Dispatchers.Main, block = block) fun bg(block: suspend CoroutineScope.() -> T) = - async(bgContext, CoroutineStart.DEFAULT, null, null, block) + GlobalScope.async(Dispatchers.Default + exceptionHandler, block = block) fun launchBg(block: suspend CoroutineScope.() -> Unit) = - launch(bgContext, CoroutineStart.DEFAULT, null, null, block) + GlobalScope.launch(Dispatchers.Default + exceptionHandler, block = block) fun World.getMainActivityOrCancel() = getMainActivity() ?: throw CancellationException("MainActivity is gone") diff --git a/app/src/main/java/net/lacolaco/smileessence/view/ActionMenuView.kt b/app/src/main/java/net/lacolaco/smileessence/view/ActionMenuView.kt index e8126136..97bd8cc0 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/ActionMenuView.kt +++ b/app/src/main/java/net/lacolaco/smileessence/view/ActionMenuView.kt @@ -4,7 +4,7 @@ import android.content.Context import android.util.AttributeSet import android.view.MenuItem -class ActionMenuView : android.support.v7.widget.ActionMenuView { +class ActionMenuView : androidx.appcompat.widget.ActionMenuView { constructor(context: Context) : super(context) constructor(context: Context, attrs: AttributeSet) : super(context, attrs) diff --git a/app/src/main/java/net/lacolaco/smileessence/view/Confirmation.kt b/app/src/main/java/net/lacolaco/smileessence/view/Confirmation.kt index 73a8e139..587e471c 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/Confirmation.kt +++ b/app/src/main/java/net/lacolaco/smileessence/view/Confirmation.kt @@ -2,7 +2,7 @@ package net.lacolaco.smileessence.view import android.app.Fragment import android.content.Context -import android.support.v7.app.AlertDialog +import androidx.appcompat.app.AlertDialog import net.lacolaco.smileessence.R fun Context.confirm(text: String, onOk: () -> Unit) { diff --git a/app/src/main/java/net/lacolaco/smileessence/view/EmbeddedMenuLayout.kt b/app/src/main/java/net/lacolaco/smileessence/view/EmbeddedMenuLayout.kt index 76990ff4..b0df97c9 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/EmbeddedMenuLayout.kt +++ b/app/src/main/java/net/lacolaco/smileessence/view/EmbeddedMenuLayout.kt @@ -3,7 +3,7 @@ package net.lacolaco.smileessence.view import android.annotation.TargetApi import android.content.Context import android.os.Build -import android.support.v7.widget.AppCompatTextView +import androidx.appcompat.widget.AppCompatTextView import android.util.AttributeSet import android.view.LayoutInflater import android.view.View diff --git a/app/src/main/java/net/lacolaco/smileessence/view/MainFragmentPagerAdapter.kt b/app/src/main/java/net/lacolaco/smileessence/view/MainFragmentPagerAdapter.kt index c0f62992..14a9fc14 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/MainFragmentPagerAdapter.kt +++ b/app/src/main/java/net/lacolaco/smileessence/view/MainFragmentPagerAdapter.kt @@ -3,8 +3,8 @@ package net.lacolaco.smileessence.view import android.app.Fragment import android.app.FragmentManager import android.os.Bundle -import android.support.v13.app.FragmentPagerAdapter -import android.support.v4.view.ViewPager +import androidx.legacy.app.FragmentPagerAdapter +import androidx.viewpager.widget.ViewPager import android.view.ViewGroup import net.lacolaco.smileessence.World import net.lacolaco.smileessence.data.PageInfo diff --git a/app/src/main/java/net/lacolaco/smileessence/view/PopupMenu.kt b/app/src/main/java/net/lacolaco/smileessence/view/PopupMenu.kt index 7980368f..f0476fe7 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/PopupMenu.kt +++ b/app/src/main/java/net/lacolaco/smileessence/view/PopupMenu.kt @@ -5,7 +5,7 @@ import android.view.MenuItem import android.view.View class PopupMenu(context: Context, anchor: View) { - private val popupMenu = android.support.v7.widget.PopupMenu(context, anchor) + private val popupMenu = androidx.appcompat.widget.PopupMenu(context, anchor) private val menuItems = LinkedHashMap Unit>() init { diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/EditTweetsPageDialogFragment.kt b/app/src/main/java/net/lacolaco/smileessence/view/dialog/EditTweetsPageDialogFragment.kt index 7c98a118..7210a228 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/EditTweetsPageDialogFragment.kt +++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/EditTweetsPageDialogFragment.kt @@ -2,9 +2,9 @@ package net.lacolaco.smileessence.view.dialog import android.app.DialogFragment import android.os.Bundle -import android.support.v7.widget.DividerItemDecoration -import android.support.v7.widget.LinearLayoutManager -import android.support.v7.widget.RecyclerView +import androidx.recyclerview.widget.DividerItemDecoration +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -19,7 +19,7 @@ import net.lacolaco.smileessence.view.confirm class EditTweetsPageDialogFragment : DialogFragment() { private val pageInfo by lazy { - PageInfo.fromJsonObject(Parser().parse(arguments.getString(KEY_PAGE_INFO)) as JsonObject) as + PageInfo.fromJsonObject(Parser.default().parse(arguments.getString(KEY_PAGE_INFO)) as JsonObject) as PageInfo.TweetsPageInfo } private val patterns: MutableList by lazy { diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/StackableDialogFragment.kt b/app/src/main/java/net/lacolaco/smileessence/view/dialog/StackableDialogFragment.kt index 8b08c271..1989a2cb 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/StackableDialogFragment.kt +++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/StackableDialogFragment.kt @@ -3,7 +3,7 @@ package net.lacolaco.smileessence.view.dialog import android.app.Dialog import android.app.DialogFragment import android.os.Bundle -import android.support.v7.app.AppCompatDialog +import androidx.appcompat.app.AppCompatDialog import android.view.Window import net.lacolaco.smileessence.World import net.lacolaco.smileessence.activity.MainActivity diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/UserDetailDialogFragment.kt b/app/src/main/java/net/lacolaco/smileessence/view/dialog/UserDetailDialogFragment.kt index e9014a4c..6692f8f9 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/UserDetailDialogFragment.kt +++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/UserDetailDialogFragment.kt @@ -1,9 +1,9 @@ package net.lacolaco.smileessence.view.dialog import android.os.Bundle -import android.support.v7.widget.DividerItemDecoration -import android.support.v7.widget.LinearLayoutManager -import android.support.v7.widget.RecyclerView +import androidx.recyclerview.widget.DividerItemDecoration +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView import android.text.Html import android.text.method.LinkMovementMethod import android.view.LayoutInflater diff --git a/app/src/main/java/net/lacolaco/smileessence/view/page/ComposePageFragment.kt b/app/src/main/java/net/lacolaco/smileessence/view/page/ComposePageFragment.kt index 018184f7..e8e3737b 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/page/ComposePageFragment.kt +++ b/app/src/main/java/net/lacolaco/smileessence/view/page/ComposePageFragment.kt @@ -7,8 +7,8 @@ import android.net.Uri import android.os.Bundle import android.os.Parcelable import android.provider.MediaStore -import android.support.v7.widget.LinearLayoutManager -import android.support.v7.widget.RecyclerView +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView import android.text.Editable import android.text.Spannable import android.text.TextWatcher @@ -115,10 +115,7 @@ class ComposePageFragment : PageFragment(), TextWatche override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - if (savedInstanceState != null) - postState = savedInstanceState.getParcelable(KEY_POST_STATE) - else - postState = PostState() + postState = savedInstanceState?.getParcelable(KEY_POST_STATE) ?: PostState() } override fun onSaveInstanceState(outState: Bundle) { @@ -198,7 +195,7 @@ class ComposePageFragment : PageFragment(), TextWatche REQUEST_OPEN_DOCUMENT -> { if (resultCode != Activity.RESULT_OK) return - setMediaFile(data!!.data) + setMediaFile(data!!.data!!) } else -> super.onActivityResult(requestCode, resultCode, data) } diff --git a/app/src/main/java/net/lacolaco/smileessence/view/page/ListPageFragment.kt b/app/src/main/java/net/lacolaco/smileessence/view/page/ListPageFragment.kt index b97824f2..99652d52 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/page/ListPageFragment.kt +++ b/app/src/main/java/net/lacolaco/smileessence/view/page/ListPageFragment.kt @@ -6,7 +6,7 @@ import android.view.View import android.view.ViewGroup import com.omadahealth.github.swipyrefreshlayout.library.SwipyRefreshLayout import kotlinx.android.synthetic.main.page_fragment_list.* -import kotlinx.coroutines.experimental.Deferred +import kotlinx.coroutines.Deferred import net.lacolaco.smileessence.R import net.lacolaco.smileessence.data.PageInfo import net.lacolaco.smileessence.entity.Tweet diff --git a/app/src/main/java/net/lacolaco/smileessence/view/page/TimelinePageFragment.kt b/app/src/main/java/net/lacolaco/smileessence/view/page/TimelinePageFragment.kt index f664bd5b..a18efc03 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/page/TimelinePageFragment.kt +++ b/app/src/main/java/net/lacolaco/smileessence/view/page/TimelinePageFragment.kt @@ -1,9 +1,9 @@ package net.lacolaco.smileessence.view.page import android.os.Bundle -import android.support.v7.widget.DividerItemDecoration -import android.support.v7.widget.LinearLayoutManager -import android.support.v7.widget.RecyclerView +import androidx.recyclerview.widget.DividerItemDecoration +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -36,7 +36,7 @@ abstract class TimelinePageFragment : PageFragm override fun onItemRangeInserted(positionStart: Int, itemCount: Int) { if (positionStart == 0 && itemCount == 1 && lm.findFirstVisibleItemPosition() == 0 && - (lm.getChildAt(0) != null || lm.getChildAt(0).top == 0)) { + (lm.getChildAt(0) == null || lm.getChildAt(0)!!.top == 0)) { tweets_recycler_view.scrollToPosition(0) } } diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 45496511..69b0df45 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -4,14 +4,14 @@ android:layout_height="match_parent" android:orientation="vertical"> - - diff --git a/app/src/main/res/layout/activity_manage_pages.xml b/app/src/main/res/layout/activity_manage_pages.xml index 72bdb0e8..27909d8b 100644 --- a/app/src/main/res/layout/activity_manage_pages.xml +++ b/app/src/main/res/layout/activity_manage_pages.xml @@ -1,4 +1,4 @@ - - - - + - - - + diff --git a/app/src/main/res/layout/activity_manage_profiles.xml b/app/src/main/res/layout/activity_manage_profiles.xml index 3847f139..fc75afe9 100644 --- a/app/src/main/res/layout/activity_manage_profiles.xml +++ b/app/src/main/res/layout/activity_manage_profiles.xml @@ -1,32 +1,32 @@ - - - - + - - - + diff --git a/app/src/main/res/layout/dialog_app_info.xml b/app/src/main/res/layout/dialog_app_info.xml index 58916dfe..637f3440 100644 --- a/app/src/main/res/layout/dialog_app_info.xml +++ b/app/src/main/res/layout/dialog_app_info.xml @@ -1,4 +1,4 @@ - - - + diff --git a/app/src/main/res/layout/dialog_edit_tweets_page.xml b/app/src/main/res/layout/dialog_edit_tweets_page.xml index 674145ab..f4b7f667 100644 --- a/app/src/main/res/layout/dialog_edit_tweets_page.xml +++ b/app/src/main/res/layout/dialog_edit_tweets_page.xml @@ -1,18 +1,18 @@ - - - - + diff --git a/app/src/main/res/layout/dialog_user_detail.xml b/app/src/main/res/layout/dialog_user_detail.xml index c5a2268d..68904fee 100644 --- a/app/src/main/res/layout/dialog_user_detail.xml +++ b/app/src/main/res/layout/dialog_user_detail.xml @@ -1,20 +1,20 @@ - - - - @@ -265,9 +265,9 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/toggle_follow" /> - - - + + + - - + diff --git a/app/src/main/res/layout/item_status_base.xml b/app/src/main/res/layout/item_status_base.xml index 1479ca24..fb9fa853 100644 --- a/app/src/main/res/layout/item_status_base.xml +++ b/app/src/main/res/layout/item_status_base.xml @@ -1,4 +1,4 @@ - - + diff --git a/app/src/main/res/layout/list_item_event.xml b/app/src/main/res/layout/list_item_event.xml index 4ca345e6..69e7039c 100644 --- a/app/src/main/res/layout/list_item_event.xml +++ b/app/src/main/res/layout/list_item_event.xml @@ -6,7 +6,7 @@ android:descendantFocusability="blocksDescendants" android:foreground="?android:attr/selectableItemBackground"> - - + diff --git a/app/src/main/res/layout/page_fragment_compose.xml b/app/src/main/res/layout/page_fragment_compose.xml index 77542ba9..dd4451c0 100644 --- a/app/src/main/res/layout/page_fragment_compose.xml +++ b/app/src/main/res/layout/page_fragment_compose.xml @@ -1,4 +1,4 @@ - - - + diff --git a/app/src/main/res/layout/page_fragment_list.xml b/app/src/main/res/layout/page_fragment_list.xml index e8133506..0238dad4 100644 --- a/app/src/main/res/layout/page_fragment_list.xml +++ b/app/src/main/res/layout/page_fragment_list.xml @@ -1,4 +1,4 @@ - - + diff --git a/app/src/main/res/layout/page_fragment_search.xml b/app/src/main/res/layout/page_fragment_search.xml index 808a6686..9f3eeedc 100644 --- a/app/src/main/res/layout/page_fragment_search.xml +++ b/app/src/main/res/layout/page_fragment_search.xml @@ -1,4 +1,4 @@ - - + diff --git a/build.gradle b/build.gradle index 57657ebb..c33c5b6c 100644 --- a/build.gradle +++ b/build.gradle @@ -1,11 +1,11 @@ buildscript { - ext.kotlin_version = '1.2.60' + ext.kotlin_version = '1.3.21' repositories { google() jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:3.3.0-alpha06' + classpath 'com.android.tools.build:gradle:3.3.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath 'com.cookpad.android.licensetools:license-tools-plugin:1.4.0' } diff --git a/gradle.properties b/gradle.properties index aac7c9b4..9e6fce10 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,6 +9,8 @@ # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. +android.enableJetifier=true +android.useAndroidX=true org.gradle.jvmargs=-Xmx1536m # When configured, Gradle will run in incubating parallel mode. diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 3d6d76cd..11ae1aa6 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Mon Aug 20 18:45:42 JST 2018 +#Sat Mar 23 03:16:05 JST 2019 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.9-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.2.1-all.zip -- cgit v1.2.3