AndroidX migration, Glide 4.9.0

This commit is contained in:
tateisu 2019-02-15 10:51:22 +09:00
parent ae7dde9546
commit 8a42c1bf68
96 changed files with 295 additions and 293 deletions

View File

@ -11,7 +11,7 @@ android {
versionCode 1 versionCode 1
versionName "1.0" versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
} }
buildTypes { buildTypes {
@ -29,8 +29,8 @@ repositories {
dependencies { dependencies {
testImplementation 'junit:junit:4.12' testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'androidx.test:runner:1.1.0-alpha4'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha4'
api project(':apng') api project(':apng')
// 'api' // 'api'

View File

@ -1,8 +1,8 @@
package jp.juggler.apng; package jp.juggler.apng;
import android.content.Context; import android.content.Context;
import android.support.test.InstrumentationRegistry; import androidx.test.InstrumentationRegistry;
import android.support.test.runner.AndroidJUnit4; import androidx.test.runner.AndroidJUnit4;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;

View File

@ -16,7 +16,7 @@ android {
versionCode 342 versionCode 342
versionName "3.4.2" versionName "3.4.2"
applicationId "jp.juggler.subwaytooter" applicationId "jp.juggler.subwaytooter"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
// https://stackoverflow.com/questions/47791227/java-lang-illegalstateexception-dex-archives-setting-dex-extension-only-for // https://stackoverflow.com/questions/47791227/java-lang-illegalstateexception-dex-archives-setting-dex-extension-only-for
multiDexEnabled true multiDexEnabled true
@ -69,7 +69,7 @@ kapt {
dependencies { dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs') implementation fileTree(include: ['*.jar'], dir: 'libs')
androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', { androidTestImplementation('androidx.test.espresso:espresso-core:3.1.0-alpha4', {
exclude group: 'com.android.support', module: 'support-annotations' exclude group: 'com.android.support', module: 'support-annotations'
}) })
@ -78,14 +78,14 @@ dependencies {
implementation project(':emoji') implementation project(':emoji')
implementation project(':apng_android') implementation project(':apng_android')
implementation "com.android.support:support-v4:$asl_version" implementation "androidx.appcompat:appcompat:$appcompat_version"
implementation "com.android.support:appcompat-v7:$asl_version" implementation "androidx.legacy:legacy-support-v4:$androidx_version"
implementation "com.android.support:design:$asl_version" implementation "androidx.legacy:legacy-support-v13:$androidx_version"
implementation "com.android.support:customtabs:$asl_version" implementation "androidx.browser:browser:$androidx_version"
implementation "com.android.support:support-v13:$asl_version" implementation "com.google.android.material:material:$androidx_version"
// https://firebase.google.com/support/release-notes/android // https://firebase.google.com/support/release-notes/android
implementation "com.google.firebase:firebase-core:16.0.6" implementation "com.google.firebase:firebase-core:16.0.7"
implementation "com.google.firebase:firebase-messaging:17.3.4" implementation "com.google.firebase:firebase-messaging:17.3.4"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
@ -110,11 +110,12 @@ dependencies {
androidTestImplementation 'com.squareup.okhttp3:mockwebserver:3.12.1' androidTestImplementation 'com.squareup.okhttp3:mockwebserver:3.12.1'
// glide 4.8.0 CustomTarget // glide 4.8.0 CustomTarget
implementation 'com.github.bumptech.glide:glide:4.7.1' implementation 'com.github.bumptech.glide:glide:4.9.0'
implementation 'com.github.bumptech.glide:okhttp3-integration:4.7.1' implementation 'com.github.bumptech.glide:okhttp3-integration:4.9.0'
implementation 'com.github.bumptech.glide:annotations:4.7.1' implementation 'com.github.bumptech.glide:annotations:4.9.0'
kapt 'com.github.bumptech.glide:compiler:4.7.1'
// kotlin annotationProcessor kapt 使 // kotlin annotationProcessor kapt 使
kapt 'androidx.annotation:annotation:1.0.1'
kapt 'com.github.bumptech.glide:compiler:4.9.0'
implementation "org.conscrypt:conscrypt-android:1.3.0" implementation "org.conscrypt:conscrypt-android:1.3.0"
@ -130,7 +131,7 @@ dependencies {
implementation 'org.hjson:hjson:3.0.0' implementation 'org.hjson:hjson:3.0.0'
implementation 'com.google.android:flexbox:1.0.0' // 1.1.0 AndroidX implementation 'com.google.android:flexbox:1.1.0' // 1.1.0 AndroidX
implementation 'com.astuetz:pagerslidingtabstrip:1.0.1' implementation 'com.astuetz:pagerslidingtabstrip:1.0.1'

View File

@ -1,8 +1,8 @@
package jp.juggler.subwaytooter; package jp.juggler.subwaytooter;
import android.content.Context; import android.content.Context;
import android.support.test.InstrumentationRegistry; import androidx.test.InstrumentationRegistry;
import android.support.test.runner.AndroidJUnit4; import androidx.test.runner.AndroidJUnit4;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;

View File

@ -1,6 +1,6 @@
package jp.juggler.subwaytooter package jp.juggler.subwaytooter
import android.support.test.runner.AndroidJUnit4 import androidx.test.runner.AndroidJUnit4
import org.junit.Test import org.junit.Test
import org.junit.runner.RunWith import org.junit.runner.RunWith

View File

@ -1,6 +1,6 @@
package jp.juggler.subwaytooter package jp.juggler.subwaytooter
import android.support.test.runner.AndroidJUnit4 import androidx.test.runner.AndroidJUnit4
import org.junit.Test import org.junit.Test
import org.junit.runner.RunWith import org.junit.runner.RunWith

View File

@ -1,6 +1,6 @@
package jp.juggler.subwaytooter.api package jp.juggler.subwaytooter.api
import android.support.test.runner.AndroidJUnit4 import androidx.test.runner.AndroidJUnit4
import android.test.mock.MockContext import android.test.mock.MockContext
import jp.juggler.subwaytooter.api.entity.* import jp.juggler.subwaytooter.api.entity.*
import jp.juggler.subwaytooter.table.SavedAccount import jp.juggler.subwaytooter.table.SavedAccount

View File

@ -2,8 +2,8 @@
package jp.juggler.subwaytooter.api package jp.juggler.subwaytooter.api
import android.support.test.InstrumentationRegistry import androidx.test.InstrumentationRegistry
import android.support.test.runner.AndroidJUnit4 import androidx.test.runner.AndroidJUnit4
import jp.juggler.subwaytooter.table.SavedAccount import jp.juggler.subwaytooter.table.SavedAccount
import jp.juggler.subwaytooter.util.CurrentCallCallback import jp.juggler.subwaytooter.util.CurrentCallCallback
import jp.juggler.subwaytooter.util.SimpleHttpClient import jp.juggler.subwaytooter.util.SimpleHttpClient

View File

@ -1,6 +1,6 @@
package jp.juggler.subwaytooter.api.entity package jp.juggler.subwaytooter.api.entity
import android.support.test.runner.AndroidJUnit4 import androidx.test.runner.AndroidJUnit4
import android.test.mock.MockContext import android.test.mock.MockContext
import jp.juggler.subwaytooter.api.TootParser import jp.juggler.subwaytooter.api.TootParser
import jp.juggler.subwaytooter.table.SavedAccount import jp.juggler.subwaytooter.table.SavedAccount

View File

@ -1,6 +1,6 @@
package jp.juggler.subwaytooter.api.entity package jp.juggler.subwaytooter.api.entity
import android.support.test.runner.AndroidJUnit4 import androidx.test.runner.AndroidJUnit4
import org.junit.Test import org.junit.Test
import org.junit.runner.RunWith import org.junit.runner.RunWith

View File

@ -1,6 +1,6 @@
package jp.juggler.subwaytooter.util package jp.juggler.subwaytooter.util
import android.support.test.runner.AndroidJUnit4 import androidx.test.runner.AndroidJUnit4
import org.junit.Assert.* import org.junit.Assert.*
import org.junit.Test import org.junit.Test

View File

@ -238,7 +238,7 @@
/> />
<provider <provider
android:name="android.support.v4.content.FileProvider" android:name="androidx.core.content.FileProvider"
android:authorities="jp.juggler.subwaytooter.FileProvider" android:authorities="jp.juggler.subwaytooter.FileProvider"
android:exported="false" android:exported="false"
android:grantUriPermissions="true" android:grantUriPermissions="true"

View File

@ -6,7 +6,7 @@ import android.content.Context
import android.graphics.* import android.graphics.*
import android.graphics.drawable.Animatable import android.graphics.drawable.Animatable
import android.graphics.drawable.Drawable import android.graphics.drawable.Drawable
import android.support.annotation.VisibleForTesting import androidx.annotation.VisibleForTesting
import android.view.Gravity import android.view.Gravity
import com.bumptech.glide.Glide import com.bumptech.glide.Glide
import com.bumptech.glide.gifdecoder.GifDecoder import com.bumptech.glide.gifdecoder.GifDecoder

View File

@ -4,7 +4,7 @@ import android.app.Activity
import android.content.Intent import android.content.Intent
import android.content.pm.PackageManager import android.content.pm.PackageManager
import android.os.Bundle import android.os.Bundle
import android.support.v7.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import android.view.Gravity import android.view.Gravity
import android.view.View import android.view.View
import android.widget.Button import android.widget.Button

View File

@ -16,10 +16,10 @@ import android.os.Bundle
import android.os.Handler import android.os.Handler
import android.provider.MediaStore import android.provider.MediaStore
import android.provider.Settings import android.provider.Settings
import android.support.v4.app.ActivityCompat import androidx.core.app.ActivityCompat
import android.support.v4.content.ContextCompat import androidx.core.content.ContextCompat
import android.support.v7.app.AlertDialog import androidx.appcompat.app.AlertDialog
import android.support.v7.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import android.text.Editable import android.text.Editable
import android.text.SpannableString import android.text.SpannableString
import android.text.TextWatcher import android.text.TextWatcher

View File

@ -5,9 +5,9 @@ import android.content.Intent
import android.net.Uri import android.net.Uri
import android.os.AsyncTask import android.os.AsyncTask
import android.os.Bundle import android.os.Bundle
import android.support.v4.content.FileProvider import androidx.core.content.FileProvider
import android.support.v7.app.AlertDialog import androidx.appcompat.app.AlertDialog
import android.support.v7.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import android.util.JsonWriter import android.util.JsonWriter
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup

View File

@ -8,9 +8,9 @@ import android.graphics.Typeface
import android.net.Uri import android.net.Uri
import android.os.Build import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.support.annotation.ColorInt import androidx.annotation.ColorInt
import android.support.annotation.IdRes import androidx.annotation.IdRes
import android.support.v7.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import android.text.Editable import android.text.Editable
import android.text.TextWatcher import android.text.TextWatcher
import android.view.View import android.view.View

View File

@ -3,8 +3,8 @@ package jp.juggler.subwaytooter
import android.content.Intent import android.content.Intent
import android.net.Uri import android.net.Uri
import android.os.Bundle import android.os.Bundle
import android.support.v4.content.FileProvider import androidx.core.content.FileProvider
import android.support.v7.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import jp.juggler.util.LogCategory import jp.juggler.util.LogCategory
import jp.juggler.util.digestSHA256Hex import jp.juggler.util.digestSHA256Hex
import org.apache.commons.io.IOUtils import org.apache.commons.io.IOUtils

View File

@ -5,9 +5,9 @@ import android.content.res.ColorStateList
import android.graphics.Bitmap import android.graphics.Bitmap
import android.net.Uri import android.net.Uri
import android.os.Bundle import android.os.Bundle
import android.support.annotation.ColorInt import androidx.annotation.ColorInt
import android.support.v4.view.ViewCompat import androidx.core.view.ViewCompat
import android.support.v7.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import android.text.Editable import android.text.Editable
import android.text.TextWatcher import android.text.TextWatcher
import android.view.View import android.view.View

View File

@ -6,9 +6,9 @@ import android.content.Intent
import android.content.res.ColorStateList import android.content.res.ColorStateList
import android.graphics.PorterDuff import android.graphics.PorterDuff
import android.os.Bundle import android.os.Bundle
import android.support.v4.content.ContextCompat import androidx.core.content.ContextCompat
import android.support.v7.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import android.support.v7.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.ImageView import android.widget.ImageView
@ -92,7 +92,7 @@ class ActColumnList : AppCompatActivity() {
// ハンドル部分をドラッグで並べ替えできるRecyclerView // ハンドル部分をドラッグで並べ替えできるRecyclerView
listView = findViewById(R.id.drag_list_view) listView = findViewById(R.id.drag_list_view)
listView.setLayoutManager(LinearLayoutManager(this)) listView.setLayoutManager(androidx.recyclerview.widget.LinearLayoutManager(this))
listView.setAdapter(listAdapter, true) listView.setAdapter(listAdapter, true)
listView.setCanDragHorizontally(false) listView.setCanDragHorizontally(false)
listView.setCustomDragItem(MyDragItem(this, R.layout.lv_column_list)) listView.setCustomDragItem(MyDragItem(this, R.layout.lv_column_list))

View File

@ -2,8 +2,8 @@ package jp.juggler.subwaytooter
import android.content.Context import android.content.Context
import android.os.Bundle import android.os.Bundle
import android.support.v7.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import android.support.v7.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.TextView import android.widget.TextView
@ -51,7 +51,7 @@ class ActFavMute : AppCompatActivity() {
// ハンドル部分をドラッグで並べ替えできるRecyclerView // ハンドル部分をドラッグで並べ替えできるRecyclerView
listView = findViewById(R.id.drag_list_view) listView = findViewById(R.id.drag_list_view)
listView.setLayoutManager(LinearLayoutManager(this)) listView.setLayoutManager(androidx.recyclerview.widget.LinearLayoutManager(this))
listView.setAdapter(listAdapter, false) listView.setAdapter(listAdapter, false)
listView.setCanDragHorizontally(true) listView.setCanDragHorizontally(true)

View File

@ -6,7 +6,7 @@ import android.graphics.Color
import android.media.RingtoneManager import android.media.RingtoneManager
import android.net.Uri import android.net.Uri
import android.os.Bundle import android.os.Bundle
import android.support.v7.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import android.view.View import android.view.View
import android.widget.CompoundButton import android.widget.CompoundButton
import android.widget.Switch import android.widget.Switch

View File

@ -7,8 +7,8 @@ import android.media.Ringtone
import android.media.RingtoneManager import android.media.RingtoneManager
import android.net.Uri import android.net.Uri
import android.os.Bundle import android.os.Bundle
import android.support.v7.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import android.support.v7.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.TextView import android.widget.TextView
@ -64,7 +64,7 @@ class ActHighlightWordList : AppCompatActivity(), View.OnClickListener {
// ハンドル部分をドラッグで並べ替えできるRecyclerView // ハンドル部分をドラッグで並べ替えできるRecyclerView
listView = findViewById(R.id.drag_list_view) listView = findViewById(R.id.drag_list_view)
listView.setLayoutManager(LinearLayoutManager(this)) listView.setLayoutManager(androidx.recyclerview.widget.LinearLayoutManager(this))
listView.setAdapter(listAdapter, false) listView.setAdapter(listAdapter, false)
listView.setCanDragHorizontally(true) listView.setCanDragHorizontally(true)

View File

@ -3,7 +3,7 @@ package jp.juggler.subwaytooter
import android.app.Activity import android.app.Activity
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
import android.support.v7.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import android.view.View import android.view.View
import android.widget.* import android.widget.*
import jp.juggler.subwaytooter.api.TootApiClient import jp.juggler.subwaytooter.api.TootApiClient

View File

@ -13,14 +13,14 @@ import android.os.AsyncTask
import android.os.Build import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.os.Handler import android.os.Handler
import android.support.design.widget.NavigationView import com.google.android.material.navigation.NavigationView
import android.support.v4.view.GravityCompat import androidx.core.view.GravityCompat
import android.support.v4.view.ViewPager import androidx.viewpager.widget.ViewPager
import android.support.v4.widget.DrawerLayout import androidx.drawerlayout.widget.DrawerLayout
import android.support.v7.app.AlertDialog import androidx.appcompat.app.AlertDialog
import android.support.v7.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import android.support.v7.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import android.support.v7.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import android.text.InputType import android.text.InputType
import android.text.Spannable import android.text.Spannable
import android.text.SpannableStringBuilder import android.text.SpannableStringBuilder
@ -64,9 +64,9 @@ import kotlin.math.min
class ActMain : AppCompatActivity() class ActMain : AppCompatActivity()
, NavigationView.OnNavigationItemSelectedListener , NavigationView.OnNavigationItemSelectedListener
, View.OnClickListener , View.OnClickListener
, ViewPager.OnPageChangeListener , androidx.viewpager.widget.ViewPager.OnPageChangeListener
, Column.Callback , Column.Callback
, DrawerLayout.DrawerListener { , androidx.drawerlayout.widget.DrawerLayout.DrawerListener {
companion object { companion object {
@ -135,7 +135,7 @@ class ActMain : AppCompatActivity()
internal var listItemPopup : StatusButtonsPopup? = null internal var listItemPopup : StatusButtonsPopup? = null
private lateinit var llEmpty : View private lateinit var llEmpty : View
internal lateinit var drawer : DrawerLayout internal lateinit var drawer : androidx.drawerlayout.widget.DrawerLayout
private lateinit var llColumnStrip : ColumnStripLinearLayout private lateinit var llColumnStrip : ColumnStripLinearLayout
private lateinit var svColumnStrip : HorizontalScrollView private lateinit var svColumnStrip : HorizontalScrollView
private lateinit var btnMenu : ImageButton private lateinit var btnMenu : ImageButton
@ -143,7 +143,7 @@ class ActMain : AppCompatActivity()
private lateinit var vFooterDivider1 : View private lateinit var vFooterDivider1 : View
private lateinit var vFooterDivider2 : View private lateinit var vFooterDivider2 : View
val viewPool = RecyclerView.RecycledViewPool() val viewPool = androidx.recyclerview.widget.RecyclerView.RecycledViewPool()
var avatarIconSize : Int = 0 var avatarIconSize : Int = 0
var notificationTlIconSize : Int = 0 var notificationTlIconSize : Int = 0
@ -159,9 +159,9 @@ class ActMain : AppCompatActivity()
} }
class TabletEnv { class TabletEnv {
internal lateinit var tablet_pager : RecyclerView internal lateinit var tablet_pager : androidx.recyclerview.widget.RecyclerView
internal lateinit var tablet_pager_adapter : TabletColumnPagerAdapter internal lateinit var tablet_pager_adapter : TabletColumnPagerAdapter
internal lateinit var tablet_layout_manager : LinearLayoutManager internal lateinit var tablet_layout_manager : androidx.recyclerview.widget.LinearLayoutManager
internal lateinit var tablet_snap_helper : GravitySnapHelper internal lateinit var tablet_snap_helper : GravitySnapHelper
} }
@ -170,7 +170,7 @@ class ActMain : AppCompatActivity()
get() { get() {
val vs = tablet_layout_manager.findFirstVisibleItemPosition() val vs = tablet_layout_manager.findFirstVisibleItemPosition()
val ve = tablet_layout_manager.findLastVisibleItemPosition() val ve = tablet_layout_manager.findLastVisibleItemPosition()
return if(vs == RecyclerView.NO_POSITION || ve == RecyclerView.NO_POSITION) { return if(vs == androidx.recyclerview.widget.RecyclerView.NO_POSITION || ve == androidx.recyclerview.widget.RecyclerView.NO_POSITION) {
IntRange(- 1, - 2) // empty and less than zero IntRange(- 1, - 2) // empty and less than zero
} else { } else {
IntRange(vs, min(ve, vs + nScreenColumn - 1)) IntRange(vs, min(ve, vs + nScreenColumn - 1))
@ -464,7 +464,7 @@ class ActMain : AppCompatActivity()
{ env -> outState.putInt(STATE_CURRENT_PAGE, env.pager.currentItem) }, { env -> outState.putInt(STATE_CURRENT_PAGE, env.pager.currentItem) },
{ env -> { env ->
val ve = env.tablet_layout_manager.findLastVisibleItemPosition() val ve = env.tablet_layout_manager.findLastVisibleItemPosition()
if(ve != RecyclerView.NO_POSITION) { if(ve != androidx.recyclerview.widget.RecyclerView.NO_POSITION) {
outState.putInt(STATE_CURRENT_PAGE, ve) outState.putInt(STATE_CURRENT_PAGE, ve)
} }
}) })
@ -949,7 +949,7 @@ class ActMain : AppCompatActivity()
override fun onBackPressed() { override fun onBackPressed() {
// メニューが開いていたら閉じる // メニューが開いていたら閉じる
val drawer = findViewById<DrawerLayout>(R.id.drawer_layout) val drawer = findViewById<androidx.drawerlayout.widget.DrawerLayout>(R.id.drawer_layout)
if(drawer.isDrawerOpen(GravityCompat.START)) { if(drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START) drawer.closeDrawer(GravityCompat.START)
return return
@ -1220,7 +1220,7 @@ class ActMain : AppCompatActivity()
R.id.nav_app_exit -> finish() R.id.nav_app_exit -> finish()
} }
val drawer = findViewById<DrawerLayout>(R.id.drawer_layout) val drawer = findViewById<androidx.drawerlayout.widget.DrawerLayout>(R.id.drawer_layout)
drawer.closeDrawer(GravityCompat.START) drawer.closeDrawer(GravityCompat.START)
return true return true
} }
@ -1421,7 +1421,11 @@ class ActMain : AppCompatActivity()
env.tablet_pager = findViewById(R.id.rvPager) env.tablet_pager = findViewById(R.id.rvPager)
env.tablet_pager_adapter = TabletColumnPagerAdapter(this) env.tablet_pager_adapter = TabletColumnPagerAdapter(this)
env.tablet_layout_manager = env.tablet_layout_manager =
LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false) androidx.recyclerview.widget.LinearLayoutManager(
this,
androidx.recyclerview.widget.LinearLayoutManager.HORIZONTAL,
false
)
if(env.tablet_pager.itemDecorationCount == 0) { if(env.tablet_pager.itemDecorationCount == 0) {
env.tablet_pager.addItemDecoration(TabletColumnDivider(this@ActMain)) env.tablet_pager.addItemDecoration(TabletColumnDivider(this@ActMain))
@ -1430,9 +1434,9 @@ class ActMain : AppCompatActivity()
env.tablet_pager.adapter = env.tablet_pager_adapter env.tablet_pager.adapter = env.tablet_pager_adapter
env.tablet_pager.layoutManager = env.tablet_layout_manager env.tablet_pager.layoutManager = env.tablet_layout_manager
env.tablet_pager.addOnScrollListener(object : RecyclerView.OnScrollListener() { env.tablet_pager.addOnScrollListener(object : androidx.recyclerview.widget.RecyclerView.OnScrollListener() {
override fun onScrollStateChanged(recyclerView : RecyclerView, newState : Int) { override fun onScrollStateChanged(recyclerView : androidx.recyclerview.widget.RecyclerView, newState : Int) {
super.onScrollStateChanged(recyclerView, newState) super.onScrollStateChanged(recyclerView, newState)
val vs = env.tablet_layout_manager.findFirstVisibleItemPosition() val vs = env.tablet_layout_manager.findFirstVisibleItemPosition()
@ -1447,7 +1451,7 @@ class ActMain : AppCompatActivity()
} }
} }
override fun onScrolled(recyclerView : RecyclerView, dx : Int, dy : Int) { override fun onScrolled(recyclerView : androidx.recyclerview.widget.RecyclerView, dx : Int, dy : Int) {
super.onScrolled(recyclerView, dx, dy) super.onScrolled(recyclerView, dx, dy)
updateColumnStripSelection(- 1, - 1f) updateColumnStripSelection(- 1, - 1f)
} }

View File

@ -13,9 +13,9 @@ import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.os.Environment import android.os.Environment
import android.os.SystemClock import android.os.SystemClock
import android.support.v4.app.ActivityCompat import androidx.core.app.ActivityCompat
import android.support.v4.content.ContextCompat import androidx.core.content.ContextCompat
import android.support.v7.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import android.view.View import android.view.View
import android.view.Window import android.view.Window
import android.widget.TextView import android.widget.TextView

View File

@ -2,8 +2,8 @@ package jp.juggler.subwaytooter
import android.content.Context import android.content.Context
import android.os.Bundle import android.os.Bundle
import android.support.v7.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import android.support.v7.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.TextView import android.widget.TextView
@ -48,7 +48,7 @@ class ActMutedApp : AppCompatActivity() {
// ハンドル部分をドラッグで並べ替えできるRecyclerView // ハンドル部分をドラッグで並べ替えできるRecyclerView
listView = findViewById(R.id.drag_list_view) listView = findViewById(R.id.drag_list_view)
listView.setLayoutManager(LinearLayoutManager(this)) listView.setLayoutManager(androidx.recyclerview.widget.LinearLayoutManager(this))
listView.setAdapter(listAdapter, false) listView.setAdapter(listAdapter, false)
listView.setCanDragHorizontally(true) listView.setCanDragHorizontally(true)

View File

@ -2,8 +2,8 @@ package jp.juggler.subwaytooter
import android.content.Context import android.content.Context
import android.os.Bundle import android.os.Bundle
import android.support.v7.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import android.support.v7.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.TextView import android.widget.TextView
@ -49,7 +49,7 @@ class ActMutedWord : AppCompatActivity() {
// ハンドル部分をドラッグで並べ替えできるRecyclerView // ハンドル部分をドラッグで並べ替えできるRecyclerView
listView = findViewById(R.id.drag_list_view) listView = findViewById(R.id.drag_list_view)
listView.setLayoutManager(LinearLayoutManager(this)) listView.setLayoutManager(androidx.recyclerview.widget.LinearLayoutManager(this))
listView.setAdapter(listAdapter, false) listView.setAdapter(listAdapter, false)
listView.setCanDragHorizontally(true) listView.setCanDragHorizontally(true)

View File

@ -6,8 +6,8 @@ import android.media.RingtoneManager
import android.net.Uri import android.net.Uri
import android.os.Build import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.support.annotation.ColorInt import androidx.annotation.ColorInt
import android.support.v7.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import android.text.Editable import android.text.Editable
import android.text.TextWatcher import android.text.TextWatcher
import android.view.View import android.view.View

View File

@ -1,7 +1,7 @@
package jp.juggler.subwaytooter package jp.juggler.subwaytooter
import android.os.Bundle import android.os.Bundle
import android.support.v7.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import android.widget.TextView import android.widget.TextView
import jp.juggler.util.* import jp.juggler.util.*

View File

@ -16,12 +16,12 @@ import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.os.Handler import android.os.Handler
import android.provider.MediaStore import android.provider.MediaStore
import android.support.v13.view.inputmethod.InputConnectionCompat import androidx.core.view.inputmethod.InputConnectionCompat
import android.support.v13.view.inputmethod.InputContentInfoCompat import androidx.core.view.inputmethod.InputContentInfoCompat
import android.support.v4.app.ActivityCompat import androidx.core.app.ActivityCompat
import android.support.v4.content.ContextCompat import androidx.core.content.ContextCompat
import android.support.v7.app.AlertDialog import androidx.appcompat.app.AlertDialog
import android.support.v7.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import android.text.Editable import android.text.Editable
import android.text.Spannable import android.text.Spannable
import android.text.TextWatcher import android.text.TextWatcher

View File

@ -4,7 +4,7 @@ import android.app.SearchManager
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
import android.support.v7.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import android.view.View import android.view.View
import android.widget.EditText import android.widget.EditText
import jp.juggler.subwaytooter.api.entity.* import jp.juggler.subwaytooter.api.entity.*

View File

@ -11,7 +11,7 @@ import android.database.sqlite.SQLiteDatabase
import android.database.sqlite.SQLiteOpenHelper import android.database.sqlite.SQLiteOpenHelper
import android.net.Uri import android.net.Uri
import android.os.Build import android.os.Build
import android.support.customtabs.CustomTabsIntent import androidx.browser.customtabs.CustomTabsIntent
import android.util.Log import android.util.Log
import com.bumptech.glide.Glide import com.bumptech.glide.Glide
import com.bumptech.glide.GlideBuilder import com.bumptech.glide.GlideBuilder

View File

@ -7,7 +7,7 @@ import android.net.Uri
import android.os.AsyncTask import android.os.AsyncTask
import android.os.Environment import android.os.Environment
import android.os.SystemClock import android.os.SystemClock
import android.support.v7.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import android.view.Gravity import android.view.Gravity
import android.view.View import android.view.View
import jp.juggler.subwaytooter.api.* import jp.juggler.subwaytooter.api.*

View File

@ -1,6 +1,6 @@
package jp.juggler.subwaytooter package jp.juggler.subwaytooter
import android.support.v4.view.PagerAdapter import androidx.viewpager.widget.PagerAdapter
import android.util.SparseArray import android.util.SparseArray
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
@ -9,7 +9,7 @@ import jp.juggler.subwaytooter.util.Benchmark
import jp.juggler.util.LogCategory import jp.juggler.util.LogCategory
import java.util.* import java.util.*
internal class ColumnPagerAdapter(private val activity : ActMain) : PagerAdapter() { internal class ColumnPagerAdapter(private val activity : ActMain) : androidx.viewpager.widget.PagerAdapter() {
companion object { companion object {
val log = LogCategory("ColumnPagerAdapter") val log = LogCategory("ColumnPagerAdapter")

View File

@ -6,9 +6,9 @@ import android.content.res.ColorStateList
import android.graphics.Bitmap import android.graphics.Bitmap
import android.graphics.Color import android.graphics.Color
import android.os.AsyncTask import android.os.AsyncTask
import android.support.v4.content.ContextCompat import androidx.core.content.ContextCompat
import android.support.v7.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import android.support.v7.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import android.text.SpannableStringBuilder import android.text.SpannableStringBuilder
import android.text.TextUtils import android.text.TextUtils
import android.view.GestureDetector import android.view.GestureDetector
@ -46,13 +46,13 @@ class ColumnViewHolder(
private val log = LogCategory("ColumnViewHolder") private val log = LogCategory("ColumnViewHolder")
val fieldRecycler : Field by lazy { val fieldRecycler : Field by lazy {
val field = RecyclerView::class.java.getDeclaredField("mRecycler") val field = androidx.recyclerview.widget.RecyclerView::class.java.getDeclaredField("mRecycler")
field.isAccessible = true field.isAccessible = true
field field
} }
val fieldState : Field by lazy { val fieldState : Field by lazy {
val field = RecyclerView::class.java.getDeclaredField("mState") val field = androidx.recyclerview.widget.RecyclerView::class.java.getDeclaredField("mState")
field.isAccessible = true field.isAccessible = true
field field
} }
@ -68,9 +68,9 @@ class ColumnViewHolder(
private var page_idx : Int = 0 private var page_idx : Int = 0
private val tvLoading : TextView private val tvLoading : TextView
val listView : RecyclerView val listView : androidx.recyclerview.widget.RecyclerView
val refreshLayout : SwipyRefreshLayout val refreshLayout : SwipyRefreshLayout
lateinit var listLayoutManager : LinearLayoutManager lateinit var listLayoutManager : androidx.recyclerview.widget.LinearLayoutManager
private val llColumnHeader : View private val llColumnHeader : View
private val tvColumnIndex : TextView private val tvColumnIndex : TextView
@ -710,7 +710,7 @@ class ColumnViewHolder(
llRefreshError.visibility = View.GONE llRefreshError.visibility = View.GONE
// //
listLayoutManager = LinearLayoutManager(activity) listLayoutManager = androidx.recyclerview.widget.LinearLayoutManager(activity)
listView.layoutManager = listLayoutManager listView.layoutManager = listLayoutManager
listView.adapter = status_adapter listView.adapter = status_adapter
@ -1160,7 +1160,7 @@ class ColumnViewHolder(
fun rebindAdapterItems() { fun rebindAdapterItems() {
for(childIndex in 0 until listView.childCount) { for(childIndex in 0 until listView.childCount) {
val adapterIndex = listView.getChildAdapterPosition(listView.getChildAt(childIndex)) val adapterIndex = listView.getChildAdapterPosition(listView.getChildAt(childIndex))
if(adapterIndex == RecyclerView.NO_POSITION) continue if(adapterIndex == androidx.recyclerview.widget.RecyclerView.NO_POSITION) continue
status_adapter?.notifyItemChanged(adapterIndex) status_adapter?.notifyItemChanged(adapterIndex)
} }
} }
@ -1377,23 +1377,23 @@ class ColumnViewHolder(
if(column == null || listView.adapter !== last_adapter) return@Runnable if(column == null || listView.adapter !== last_adapter) return@Runnable
try { try {
val recycler = fieldRecycler.get(listView) as RecyclerView.Recycler val recycler = fieldRecycler.get(listView) as androidx.recyclerview.widget.RecyclerView.Recycler
val state = fieldState.get(listView) as RecyclerView.State val state = fieldState.get(listView) as androidx.recyclerview.widget.RecyclerView.State
listLayoutManager.scrollVerticallyBy(dy, recycler, state) listLayoutManager.scrollVerticallyBy(dy, recycler, state)
} catch(ex : Throwable) { } catch(ex : Throwable) {
log.trace(ex) log.trace(ex)
log.e("can't access field in class %s", RecyclerView::class.java.simpleName) log.e("can't access field in class %s", androidx.recyclerview.widget.RecyclerView::class.java.simpleName)
} }
}, 20L) }, 20L)
} }
inner class AdapterItemHeightWorkarea internal constructor(val adapter : ItemListAdapter) : internal inner class AdapterItemHeightWorkarea internal constructor(val adapter : ItemListAdapter) :
Closeable { Closeable {
private val item_width : Int private val item_width : Int
private val widthSpec : Int private val widthSpec : Int
private var lastViewType : Int = - 1 private var lastViewType : Int = - 1
private var lastViewHolder : RecyclerView.ViewHolder? = null private var lastViewHolder : androidx.recyclerview.widget.RecyclerView.ViewHolder? = null
init { init {
this.item_width = listView.width - listView.paddingLeft - listView.paddingRight this.item_width = listView.width - listView.paddingLeft - listView.paddingRight
@ -1482,7 +1482,7 @@ class ColumnViewHolder(
val adapterIndex = listLayoutManager.findFirstVisibleItemPosition() val adapterIndex = listLayoutManager.findFirstVisibleItemPosition()
if(adapterIndex == RecyclerView.NO_POSITION) if(adapterIndex == androidx.recyclerview.widget.RecyclerView.NO_POSITION)
throw IndexOutOfBoundsException() throw IndexOutOfBoundsException()
return column?.toListIndex(adapterIndex) return column?.toListIndex(adapterIndex)

View File

@ -3,11 +3,11 @@ package jp.juggler.subwaytooter
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.app.Dialog import android.app.Dialog
import android.content.res.ColorStateList import android.content.res.ColorStateList
import android.support.v4.app.ShareCompat import androidx.core.app.ShareCompat
import android.support.v4.content.ContextCompat import androidx.core.content.ContextCompat
import android.support.v4.view.ViewCompat import androidx.core.view.ViewCompat
import android.support.v7.app.AlertDialog import androidx.appcompat.app.AlertDialog
import android.support.v7.widget.AppCompatImageButton import androidx.appcompat.widget.AppCompatImageButton
import android.view.Gravity import android.view.Gravity
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup

View File

@ -2,9 +2,9 @@ package jp.juggler.subwaytooter
import android.os.Handler import android.os.Handler
import android.os.SystemClock import android.os.SystemClock
import android.support.v7.util.DiffUtil import androidx.recyclerview.widget.DiffUtil
import android.support.v7.util.ListUpdateCallback import androidx.recyclerview.widget.ListUpdateCallback
import android.support.v7.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import android.view.ViewGroup import android.view.ViewGroup
import jp.juggler.subwaytooter.api.entity.TimelineItem import jp.juggler.subwaytooter.api.entity.TimelineItem
import jp.juggler.util.LogCategory import jp.juggler.util.LogCategory
@ -14,7 +14,7 @@ internal class ItemListAdapter(
private val column : Column, private val column : Column,
internal val columnVh : ColumnViewHolder, internal val columnVh : ColumnViewHolder,
private val bSimpleList : Boolean private val bSimpleList : Boolean
) : RecyclerView.Adapter<RecyclerView.ViewHolder>() { ) : androidx.recyclerview.widget.RecyclerView.Adapter<androidx.recyclerview.widget.RecyclerView.ViewHolder>() {
companion object { companion object {
private val log = LogCategory("ItemListAdapter") private val log = LogCategory("ItemListAdapter")
@ -81,7 +81,7 @@ internal class ItemListAdapter(
return headerType.viewType return headerType.viewType
} }
override fun onCreateViewHolder(parent : ViewGroup, viewType : Int) : RecyclerView.ViewHolder { override fun onCreateViewHolder(parent : ViewGroup, viewType : Int) : androidx.recyclerview.widget.RecyclerView.ViewHolder {
when(viewType) { when(viewType) {
0 -> { 0 -> {
val holder = ItemViewHolder(activity) val holder = ItemViewHolder(activity)
@ -125,14 +125,14 @@ internal class ItemListAdapter(
} }
} }
fun findHeaderViewHolder(listView : RecyclerView) : ViewHolderHeaderBase? { fun findHeaderViewHolder(listView : androidx.recyclerview.widget.RecyclerView) : ViewHolderHeaderBase? {
return when(column.headerType) { return when(column.headerType) {
null -> null null -> null
else -> listView.findViewHolderForAdapterPosition(0) as? ViewHolderHeaderBase else -> listView.findViewHolderForAdapterPosition(0) as? ViewHolderHeaderBase
} }
} }
override fun onBindViewHolder(holder : RecyclerView.ViewHolder, adapterIndex : Int) { override fun onBindViewHolder(holder : androidx.recyclerview.widget.RecyclerView.ViewHolder, adapterIndex : Int) {
if(holder is ViewHolderItem) { if(holder is ViewHolderItem) {
val listIndex = column.toListIndex(adapterIndex) val listIndex = column.toListIndex(adapterIndex)
holder.ivh.bind(this, column, bSimpleList, list[listIndex]) holder.ivh.bind(this, column, bSimpleList, list[listIndex])
@ -141,7 +141,7 @@ internal class ItemListAdapter(
} }
} }
override fun onViewRecycled(holder : RecyclerView.ViewHolder) { override fun onViewRecycled(holder : androidx.recyclerview.widget.RecyclerView.ViewHolder) {
if(holder is ViewHolderItem) { if(holder is ViewHolderItem) {
holder.ivh.onViewRecycled() holder.ivh.onViewRecycled()
} else if(holder is ViewHolderHeaderBase) { } else if(holder is ViewHolderHeaderBase) {

View File

@ -4,9 +4,9 @@ import android.content.Context
import android.content.res.ColorStateList import android.content.res.ColorStateList
import android.graphics.Typeface import android.graphics.Typeface
import android.os.SystemClock import android.os.SystemClock
import android.support.v4.content.ContextCompat import androidx.core.content.ContextCompat
import android.support.v7.app.AlertDialog import androidx.appcompat.app.AlertDialog
import android.support.v7.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import android.text.Spannable import android.text.Spannable
import android.text.SpannableString import android.text.SpannableString
import android.text.SpannableStringBuilder import android.text.SpannableStringBuilder
@ -2604,7 +2604,7 @@ internal class ItemViewHolder(
val b = Benchmark(log, "Item-Inflate", 40L) val b = Benchmark(log, "Item-Inflate", 40L)
val rv = verticalLayout { val rv = verticalLayout {
// トップレベルのViewGroupのlparamsはイニシャライザ内部に置くしかないみたい // トップレベルのViewGroupのlparamsはイニシャライザ内部に置くしかないみたい
layoutParams = RecyclerView.LayoutParams(matchParent, wrapContent).apply { layoutParams = androidx.recyclerview.widget.RecyclerView.LayoutParams(matchParent, wrapContent).apply {
marginStart = dip(8) marginStart = dip(8)
marginEnd = dip(8) marginEnd = dip(8)
topMargin = dip(2f) topMargin = dip(2f)

View File

@ -7,8 +7,8 @@ import android.content.Context
import android.content.Intent import android.content.Intent
import android.os.Build import android.os.Build
import android.os.IBinder import android.os.IBinder
import android.support.v4.app.NotificationCompat import androidx.core.app.NotificationCompat
import android.support.v4.content.ContextCompat import androidx.core.content.ContextCompat
import jp.juggler.util.LogCategory import jp.juggler.util.LogCategory
import jp.juggler.subwaytooter.util.NotificationHelper import jp.juggler.subwaytooter.util.NotificationHelper

View File

@ -18,8 +18,8 @@ import android.os.Build
import android.os.Handler import android.os.Handler
import android.os.PowerManager import android.os.PowerManager
import android.os.SystemClock import android.os.SystemClock
import android.support.v4.app.NotificationCompat import androidx.core.app.NotificationCompat
import android.support.v4.content.ContextCompat import androidx.core.content.ContextCompat
import com.google.firebase.iid.FirebaseInstanceId import com.google.firebase.iid.FirebaseInstanceId
import jp.juggler.subwaytooter.api.TootApiCallback import jp.juggler.subwaytooter.api.TootApiCallback
import jp.juggler.subwaytooter.api.TootApiClient import jp.juggler.subwaytooter.api.TootApiClient

View File

@ -2,7 +2,7 @@ package jp.juggler.subwaytooter
import android.content.Context import android.content.Context
import android.content.res.ColorStateList import android.content.res.ColorStateList
import android.support.v4.content.ContextCompat import androidx.core.content.ContextCompat
import android.view.View import android.view.View
import android.widget.ImageButton import android.widget.ImageButton
import android.widget.ImageView import android.widget.ImageView

View File

@ -3,7 +3,7 @@ package jp.juggler.subwaytooter
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.graphics.drawable.ColorDrawable import android.graphics.drawable.ColorDrawable
import android.os.SystemClock import android.os.SystemClock
import android.support.v7.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import android.view.Gravity import android.view.Gravity
import android.view.MotionEvent import android.view.MotionEvent
import android.view.View import android.view.View
@ -63,7 +63,7 @@ internal class StatusButtonsPopup(
@SuppressLint("RtlHardcoded") @SuppressLint("RtlHardcoded")
fun show( fun show(
listView : RecyclerView listView : androidx.recyclerview.widget.RecyclerView
, anchor : View , anchor : View
, status : TootStatus , status : TootStatus
, notification : TootNotification? , notification : TootNotification?

View File

@ -3,7 +3,7 @@ package jp.juggler.subwaytooter
import android.content.Context import android.content.Context
import android.graphics.PorterDuff import android.graphics.PorterDuff
import android.graphics.drawable.Drawable import android.graphics.drawable.Drawable
import android.support.v4.content.ContextCompat import androidx.core.content.ContextCompat
import android.text.SpannableStringBuilder import android.text.SpannableStringBuilder
import android.text.Spanned import android.text.Spanned
import android.view.View import android.view.View

View File

@ -1,12 +1,12 @@
package jp.juggler.subwaytooter package jp.juggler.subwaytooter
import android.support.v7.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup
internal class TabletColumnPagerAdapter( internal class TabletColumnPagerAdapter(
private val activity : ActMain private val activity : ActMain
) : RecyclerView.Adapter<TabletColumnViewHolder>() { ) : androidx.recyclerview.widget.RecyclerView.Adapter<TabletColumnViewHolder>() {
private val inflater : LayoutInflater private val inflater : LayoutInflater
private val columnList : List<Column> private val columnList : List<Column>

View File

@ -1,6 +1,6 @@
package jp.juggler.subwaytooter package jp.juggler.subwaytooter
import android.support.v7.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import android.view.View import android.view.View
import jp.juggler.util.LogCategory import jp.juggler.util.LogCategory
@ -8,7 +8,7 @@ import jp.juggler.util.LogCategory
internal class TabletColumnViewHolder( internal class TabletColumnViewHolder(
activity : ActMain, activity : ActMain,
viewRoot : View viewRoot : View
) : RecyclerView.ViewHolder(viewRoot) { ) : androidx.recyclerview.widget.RecyclerView.ViewHolder(viewRoot) {
companion object { companion object {
val log = LogCategory("TabletColumnViewHolder") val log = LogCategory("TabletColumnViewHolder")

View File

@ -1,6 +1,6 @@
package jp.juggler.subwaytooter package jp.juggler.subwaytooter
import android.support.v7.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import android.view.View import android.view.View
import android.widget.Button import android.widget.Button
import android.widget.TextView import android.widget.TextView
@ -9,7 +9,7 @@ import jp.juggler.util.LogCategory
import jp.juggler.util.scan import jp.juggler.util.scan
internal abstract class ViewHolderHeaderBase(val activity : ActMain, val viewRoot : View) : internal abstract class ViewHolderHeaderBase(val activity : ActMain, val viewRoot : View) :
RecyclerView.ViewHolder(viewRoot) { androidx.recyclerview.widget.RecyclerView.ViewHolder(viewRoot) {
companion object { companion object {
private val log = LogCategory("HeaderViewHolderBase") private val log = LogCategory("HeaderViewHolderBase")

View File

@ -1,7 +1,7 @@
package jp.juggler.subwaytooter package jp.juggler.subwaytooter
import android.graphics.Color import android.graphics.Color
import android.support.v4.view.ViewCompat import androidx.core.view.ViewCompat
import android.text.SpannableStringBuilder import android.text.SpannableStringBuilder
import android.text.Spanned import android.text.Spanned
import android.text.style.ForegroundColorSpan import android.text.style.ForegroundColorSpan

View File

@ -1,5 +1,5 @@
package jp.juggler.subwaytooter package jp.juggler.subwaytooter
import android.support.v7.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
internal class ViewHolderItem(val ivh : ItemViewHolder) : RecyclerView.ViewHolder(ivh.viewRoot) internal class ViewHolderItem(val ivh : ItemViewHolder) : androidx.recyclerview.widget.RecyclerView.ViewHolder(ivh.viewRoot)

View File

@ -3,7 +3,7 @@ package jp.juggler.subwaytooter.action
import android.app.Dialog import android.app.Dialog
import android.content.Intent import android.content.Intent
import android.os.Build import android.os.Build
import android.support.v7.app.AlertDialog import androidx.appcompat.app.AlertDialog
import jp.juggler.subwaytooter.* import jp.juggler.subwaytooter.*
import jp.juggler.subwaytooter.api.* import jp.juggler.subwaytooter.api.*
import jp.juggler.subwaytooter.api.entity.EntityId import jp.juggler.subwaytooter.api.entity.EntityId

View File

@ -1,6 +1,6 @@
package jp.juggler.subwaytooter.action package jp.juggler.subwaytooter.action
import android.support.v7.app.AlertDialog import androidx.appcompat.app.AlertDialog
import jp.juggler.subwaytooter.ActMain import jp.juggler.subwaytooter.ActMain
import jp.juggler.subwaytooter.App1 import jp.juggler.subwaytooter.App1
import jp.juggler.subwaytooter.Column import jp.juggler.subwaytooter.Column

View File

@ -1,6 +1,6 @@
package jp.juggler.subwaytooter.action package jp.juggler.subwaytooter.action
import android.support.v7.app.AlertDialog import androidx.appcompat.app.AlertDialog
import jp.juggler.subwaytooter.ActMain import jp.juggler.subwaytooter.ActMain
import jp.juggler.subwaytooter.App1 import jp.juggler.subwaytooter.App1
import jp.juggler.subwaytooter.Column import jp.juggler.subwaytooter.Column

View File

@ -2,7 +2,7 @@ package jp.juggler.subwaytooter.api.entity
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.Context import android.content.Context
import android.support.annotation.StringRes import androidx.annotation.StringRes
import android.text.Spannable import android.text.Spannable
import android.text.SpannableString import android.text.SpannableString
import jp.juggler.subwaytooter.App1 import jp.juggler.subwaytooter.App1

View File

@ -2,7 +2,7 @@ package jp.juggler.subwaytooter.dialog
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.app.Dialog import android.app.Dialog
import android.support.v7.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import android.view.Gravity import android.view.Gravity
import android.view.View import android.view.View
import android.widget.Button import android.widget.Button

View File

@ -1,7 +1,7 @@
package jp.juggler.subwaytooter.dialog package jp.juggler.subwaytooter.dialog
import android.content.Context import android.content.Context
import android.support.v7.app.AlertDialog import androidx.appcompat.app.AlertDialog
import java.util.ArrayList import java.util.ArrayList

View File

@ -2,7 +2,7 @@ package jp.juggler.subwaytooter.dialog
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.app.Activity import android.app.Activity
import android.support.v7.app.AlertDialog import androidx.appcompat.app.AlertDialog
import android.view.View import android.view.View
import android.widget.CheckBox import android.widget.CheckBox
import android.widget.TextView import android.widget.TextView

View File

@ -4,7 +4,7 @@ import android.annotation.SuppressLint
import android.content.DialogInterface import android.content.DialogInterface
import android.database.Cursor import android.database.Cursor
import android.os.AsyncTask import android.os.AsyncTask
import android.support.v7.app.AlertDialog import androidx.appcompat.app.AlertDialog
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.AdapterView import android.widget.AdapterView

View File

@ -3,8 +3,8 @@ package jp.juggler.subwaytooter.dialog
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.app.Activity import android.app.Activity
import android.app.Dialog import android.app.Dialog
import android.support.v4.view.PagerAdapter import androidx.viewpager.widget.PagerAdapter
import android.support.v4.view.ViewPager import androidx.viewpager.widget.ViewPager
import android.util.SparseArray import android.util.SparseArray
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
@ -31,7 +31,7 @@ class EmojiPicker(
@Suppress("CanBeParameter") private val isMisskey : Boolean, @Suppress("CanBeParameter") private val isMisskey : Boolean,
private val onEmojiPicked : (name : String, instance : String?, bInstanceHasCustomEmoji : Boolean) -> Unit private val onEmojiPicked : (name : String, instance : String?, bInstanceHasCustomEmoji : Boolean) -> Unit
// onEmojiPickedのinstance引数は通常の絵文字ならnull、カスタム絵文字なら非null、 // onEmojiPickedのinstance引数は通常の絵文字ならnull、カスタム絵文字なら非null、
) : View.OnClickListener, ViewPager.OnPageChangeListener { ) : View.OnClickListener, androidx.viewpager.widget.ViewPager.OnPageChangeListener {
companion object { companion object {
@ -492,7 +492,7 @@ class EmojiPicker(
onEmojiPicked(name, instance, bInstanceHasCustomEmoji) onEmojiPicked(name, instance, bInstanceHasCustomEmoji)
} }
internal inner class EmojiPickerPagerAdapter : PagerAdapter() { internal inner class EmojiPickerPagerAdapter : androidx.viewpager.widget.PagerAdapter() {
private val inflater : LayoutInflater private val inflater : LayoutInflater
private val holder_list = SparseArray<EmojiPickerPageViewHolder>() private val holder_list = SparseArray<EmojiPickerPageViewHolder>()

View File

@ -3,7 +3,7 @@ package jp.juggler.subwaytooter.dialog
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.app.Activity import android.app.Activity
import android.app.Dialog import android.app.Dialog
import android.support.annotation.StringRes import androidx.annotation.StringRes
import android.text.InputType import android.text.InputType
import android.view.View import android.view.View
import android.view.WindowManager import android.view.WindowManager

View File

@ -3,8 +3,8 @@ package jp.juggler.subwaytooter.span
import android.content.Context import android.content.Context
import android.graphics.* import android.graphics.*
import android.graphics.drawable.Drawable import android.graphics.drawable.Drawable
import android.support.annotation.IntRange import androidx.annotation.IntRange
import android.support.v4.content.ContextCompat import androidx.core.content.ContextCompat
import android.text.style.ReplacementSpan import android.text.style.ReplacementSpan
import java.lang.ref.WeakReference import java.lang.ref.WeakReference

View File

@ -4,7 +4,7 @@ import android.graphics.Canvas
import android.graphics.Paint import android.graphics.Paint
import android.graphics.Rect import android.graphics.Rect
import android.graphics.RectF import android.graphics.RectF
import android.support.annotation.IntRange import androidx.annotation.IntRange
import android.text.style.ReplacementSpan import android.text.style.ReplacementSpan
import jp.juggler.apng.ApngFrames import jp.juggler.apng.ApngFrames

View File

@ -3,7 +3,7 @@ package jp.juggler.subwaytooter.table
import android.content.ContentValues import android.content.ContentValues
import android.content.Context import android.content.Context
import android.database.sqlite.SQLiteDatabase import android.database.sqlite.SQLiteDatabase
import android.support.v4.util.LruCache import androidx.collection.LruCache
import android.text.Spannable import android.text.Spannable
import android.text.SpannableStringBuilder import android.text.SpannableStringBuilder
import android.text.style.BackgroundColorSpan import android.text.style.BackgroundColorSpan
@ -87,7 +87,7 @@ class AcctColor {
} }
} }
private val mMemoryCache = LruCache<String, AcctColor>(2048) private val mMemoryCache = androidx.collection.LruCache<String, AcctColor>(2048)
override fun onDBCreate(db : SQLiteDatabase) { override fun onDBCreate(db : SQLiteDatabase) {
log.d("onDBCreate!") log.d("onDBCreate!")

View File

@ -2,7 +2,7 @@ package jp.juggler.subwaytooter.table
import android.content.ContentValues import android.content.ContentValues
import android.database.sqlite.SQLiteDatabase import android.database.sqlite.SQLiteDatabase
import android.support.v4.util.LruCache import androidx.collection.LruCache
import jp.juggler.subwaytooter.App1 import jp.juggler.subwaytooter.App1
import jp.juggler.subwaytooter.api.TootParser import jp.juggler.subwaytooter.api.TootParser
import jp.juggler.subwaytooter.api.entity.EntityId import jp.juggler.subwaytooter.api.entity.EntityId
@ -42,7 +42,7 @@ class UserRelation {
1 // show the boosts from target account will be shown on authorized user's home TL. 1 // show the boosts from target account will be shown on authorized user's home TL.
const val REBLOG_UNKNOWN = 2 // not following, or instance don't support hide reblog. const val REBLOG_UNKNOWN = 2 // not following, or instance don't support hide reblog.
private val mMemoryCache = LruCache<String, UserRelation>(2048) private val mMemoryCache = androidx.collection.LruCache<String, UserRelation>(2048)
private val log = LogCategory("UserRelationMisskey") private val log = LogCategory("UserRelationMisskey")

View File

@ -1,7 +1,7 @@
package jp.juggler.subwaytooter.util package jp.juggler.subwaytooter.util
import android.content.Context import android.content.Context
import android.support.annotation.DrawableRes import androidx.annotation.DrawableRes
import android.text.Spannable import android.text.Spannable
import android.text.SpannableStringBuilder import android.text.SpannableStringBuilder
import android.text.Spanned import android.text.Spanned

View File

@ -3,7 +3,7 @@ package jp.juggler.subwaytooter.util
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.app.Activity import android.app.Activity
import android.os.Handler import android.os.Handler
import android.support.v4.content.ContextCompat import androidx.core.content.ContextCompat
import android.text.Spannable import android.text.Spannable
import android.text.SpannableStringBuilder import android.text.SpannableStringBuilder
import android.view.Gravity import android.view.Gravity

View File

@ -3,8 +3,8 @@ package jp.juggler.subwaytooter.util
import android.content.SharedPreferences import android.content.SharedPreferences
import android.os.Handler import android.os.Handler
import android.os.SystemClock import android.os.SystemClock
import android.support.v7.app.AlertDialog import androidx.appcompat.app.AlertDialog
import android.support.v7.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import android.text.* import android.text.*
import android.text.style.ForegroundColorSpan import android.text.style.ForegroundColorSpan
import android.view.View import android.view.View

View File

@ -1,6 +1,6 @@
package jp.juggler.subwaytooter.util package jp.juggler.subwaytooter.util
import android.support.v7.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import android.view.ViewGroup import android.view.ViewGroup
import jp.juggler.subwaytooter.ColumnViewHolder import jp.juggler.subwaytooter.ColumnViewHolder
@ -25,7 +25,7 @@ class ScrollPosition {
constructor(holder : ColumnViewHolder) { constructor(holder : ColumnViewHolder) {
val layoutManager = holder.listLayoutManager val layoutManager = holder.listLayoutManager
val findPosition = layoutManager.findFirstVisibleItemPosition() val findPosition = layoutManager.findFirstVisibleItemPosition()
if(findPosition == RecyclerView.NO_POSITION) { if(findPosition == androidx.recyclerview.widget.RecyclerView.NO_POSITION) {
adapterIndex = 0 adapterIndex = 0
offset = 0 offset = 0
} else { } else {

View File

@ -1,6 +1,6 @@
package jp.juggler.subwaytooter.util; package jp.juggler.subwaytooter.util;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
// このクラスをkotlinに変換しないこと // このクラスをkotlinに変換しないこと
// Kotlin wait/notify をサポートしてない // Kotlin wait/notify をサポートしてない

View File

@ -1,11 +1,11 @@
package jp.juggler.subwaytooter.view package jp.juggler.subwaytooter.view
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.support.v4.view.ViewCompat import androidx.core.view.ViewCompat
import android.support.v7.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import android.support.v7.widget.LinearSnapHelper import androidx.recyclerview.widget.LinearSnapHelper
import android.support.v7.widget.OrientationHelper import androidx.recyclerview.widget.OrientationHelper
import android.support.v7.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import android.view.Gravity import android.view.Gravity
import android.view.View import android.view.View
import android.view.animation.DecelerateInterpolator import android.view.animation.DecelerateInterpolator
@ -14,18 +14,18 @@ import android.widget.Scroller
import jp.juggler.util.LogCategory import jp.juggler.util.LogCategory
class GravitySnapHelper @SuppressLint("RtlHardcoded") class GravitySnapHelper @SuppressLint("RtlHardcoded")
constructor(gravity : Int) : LinearSnapHelper() { constructor(gravity : Int) : androidx.recyclerview.widget.LinearSnapHelper() {
companion object { companion object {
internal val log = LogCategory("GravitySnapHelper") internal val log = LogCategory("GravitySnapHelper")
} }
private var verticalHelper : OrientationHelper? = null private var verticalHelper : androidx.recyclerview.widget.OrientationHelper? = null
private var horizontalHelper : OrientationHelper? = null private var horizontalHelper : androidx.recyclerview.widget.OrientationHelper? = null
private var gravity : Int = 0 private var gravity : Int = 0
private var isRTL : Boolean = false private var isRTL : Boolean = false
private var mRecyclerView : RecyclerView? = null private var mRecyclerView : androidx.recyclerview.widget.RecyclerView? = null
private var mGravityScroller : Scroller? = null private var mGravityScroller : Scroller? = null
@ -39,7 +39,7 @@ constructor(gravity : Int) : LinearSnapHelper() {
} }
@Throws(IllegalStateException::class) @Throws(IllegalStateException::class)
override fun attachToRecyclerView(recyclerView : RecyclerView?) { override fun attachToRecyclerView(recyclerView : androidx.recyclerview.widget.RecyclerView?) {
mRecyclerView = recyclerView mRecyclerView = recyclerView
if(recyclerView != null) { if(recyclerView != null) {
isRTL = ViewCompat.getLayoutDirection(recyclerView) == ViewCompat.LAYOUT_DIRECTION_RTL isRTL = ViewCompat.getLayoutDirection(recyclerView) == ViewCompat.LAYOUT_DIRECTION_RTL
@ -50,7 +50,7 @@ constructor(gravity : Int) : LinearSnapHelper() {
} }
override fun calculateDistanceToFinalSnap( override fun calculateDistanceToFinalSnap(
layoutManager : RecyclerView.LayoutManager, targetView : View layoutManager : androidx.recyclerview.widget.RecyclerView.LayoutManager, targetView : View
) : IntArray? { ) : IntArray? {
val out = IntArray(2) val out = IntArray(2)
@ -73,8 +73,8 @@ constructor(gravity : Int) : LinearSnapHelper() {
return out return out
} }
override fun findSnapView(layoutManager : RecyclerView.LayoutManager) : View? { override fun findSnapView(layoutManager : androidx.recyclerview.widget.RecyclerView.LayoutManager) : View? {
if(layoutManager is LinearLayoutManager) { if(layoutManager is androidx.recyclerview.widget.LinearLayoutManager) {
when(gravity) { when(gravity) {
Gravity.START -> return findStartView(layoutManager, getHorizontalHelper(layoutManager)) Gravity.START -> return findStartView(layoutManager, getHorizontalHelper(layoutManager))
@ -90,7 +90,7 @@ constructor(gravity : Int) : LinearSnapHelper() {
return super.findSnapView(layoutManager) return super.findSnapView(layoutManager)
} }
private fun distanceToStart(targetView : View, helper : OrientationHelper) : Int { private fun distanceToStart(targetView : View, helper : androidx.recyclerview.widget.OrientationHelper) : Int {
return if(isRTL) { return if(isRTL) {
helper.getDecoratedEnd(targetView) - helper.endAfterPadding helper.getDecoratedEnd(targetView) - helper.endAfterPadding
} else { } else {
@ -98,7 +98,7 @@ constructor(gravity : Int) : LinearSnapHelper() {
} }
} }
private fun distanceToEnd(targetView : View, helper : OrientationHelper) : Int { private fun distanceToEnd(targetView : View, helper : androidx.recyclerview.widget.OrientationHelper) : Int {
return if(isRTL) { return if(isRTL) {
helper.getDecoratedStart(targetView) - helper.startAfterPadding helper.getDecoratedStart(targetView) - helper.startAfterPadding
} else { } else {
@ -107,14 +107,14 @@ constructor(gravity : Int) : LinearSnapHelper() {
} }
private fun findStartView( private fun findStartView(
layoutManager : RecyclerView.LayoutManager, helper : OrientationHelper layoutManager : androidx.recyclerview.widget.RecyclerView.LayoutManager, helper : androidx.recyclerview.widget.OrientationHelper
) : View? { ) : View? {
if(layoutManager is LinearLayoutManager) { if(layoutManager is androidx.recyclerview.widget.LinearLayoutManager) {
val firstChild = layoutManager.findFirstVisibleItemPosition() val firstChild = layoutManager.findFirstVisibleItemPosition()
if(firstChild == RecyclerView.NO_POSITION) { if(firstChild == androidx.recyclerview.widget.RecyclerView.NO_POSITION) {
return null return null
} }
@ -134,14 +134,14 @@ constructor(gravity : Int) : LinearSnapHelper() {
} }
private fun findEndView( private fun findEndView(
layoutManager : RecyclerView.LayoutManager, helper : OrientationHelper layoutManager : androidx.recyclerview.widget.RecyclerView.LayoutManager, helper : androidx.recyclerview.widget.OrientationHelper
) : View? { ) : View? {
if(layoutManager is LinearLayoutManager) { if(layoutManager is androidx.recyclerview.widget.LinearLayoutManager) {
val lastChild = layoutManager.findLastVisibleItemPosition() val lastChild = layoutManager.findLastVisibleItemPosition()
if(lastChild == RecyclerView.NO_POSITION) { if(lastChild == androidx.recyclerview.widget.RecyclerView.NO_POSITION) {
return null return null
} }
@ -160,19 +160,19 @@ constructor(gravity : Int) : LinearSnapHelper() {
return super.findSnapView(layoutManager) return super.findSnapView(layoutManager)
} }
private fun getVerticalHelper(layoutManager : RecyclerView.LayoutManager) : OrientationHelper { private fun getVerticalHelper(layoutManager : androidx.recyclerview.widget.RecyclerView.LayoutManager) : androidx.recyclerview.widget.OrientationHelper {
var verticalHelper = this.verticalHelper var verticalHelper = this.verticalHelper
if(verticalHelper == null) { if(verticalHelper == null) {
verticalHelper = OrientationHelper.createVerticalHelper(layoutManager) as OrientationHelper verticalHelper = androidx.recyclerview.widget.OrientationHelper.createVerticalHelper(layoutManager) as androidx.recyclerview.widget.OrientationHelper
this.verticalHelper = verticalHelper this.verticalHelper = verticalHelper
} }
return verticalHelper return verticalHelper
} }
private fun getHorizontalHelper(layoutManager : RecyclerView.LayoutManager) : OrientationHelper { private fun getHorizontalHelper(layoutManager : androidx.recyclerview.widget.RecyclerView.LayoutManager) : androidx.recyclerview.widget.OrientationHelper {
var horizontalHelper = this.horizontalHelper var horizontalHelper = this.horizontalHelper
if(horizontalHelper == null) { if(horizontalHelper == null) {
horizontalHelper = OrientationHelper.createHorizontalHelper(layoutManager) as OrientationHelper horizontalHelper = androidx.recyclerview.widget.OrientationHelper.createHorizontalHelper(layoutManager) as androidx.recyclerview.widget.OrientationHelper
this.horizontalHelper = horizontalHelper this.horizontalHelper = horizontalHelper
} }
return horizontalHelper return horizontalHelper
@ -181,11 +181,11 @@ constructor(gravity : Int) : LinearSnapHelper() {
// var columnWidth : Int = 0 // var columnWidth : Int = 0
override fun findTargetSnapPosition( override fun findTargetSnapPosition(
layoutManager : RecyclerView.LayoutManager, velocityX : Int, velocityY : Int layoutManager : androidx.recyclerview.widget.RecyclerView.LayoutManager, velocityX : Int, velocityY : Int
) : Int { ) : Int {
var targetPos = super.findTargetSnapPosition(layoutManager, velocityX, velocityY) var targetPos = super.findTargetSnapPosition(layoutManager, velocityX, velocityY)
if(targetPos != RecyclerView.NO_POSITION) { if(targetPos != androidx.recyclerview.widget.RecyclerView.NO_POSITION) {
val currentView = findSnapView(layoutManager ) val currentView = findSnapView(layoutManager )
if(currentView != null) { if(currentView != null) {
val currentPosition = layoutManager.getPosition(currentView) val currentPosition = layoutManager.getPosition(currentView)

View File

@ -4,12 +4,12 @@ import android.content.Context
import android.graphics.Canvas import android.graphics.Canvas
import android.graphics.Paint import android.graphics.Paint
import android.graphics.Rect import android.graphics.Rect
import android.support.v7.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import android.view.View import android.view.View
import jp.juggler.subwaytooter.R import jp.juggler.subwaytooter.R
import jp.juggler.util.getAttributeDrawable import jp.juggler.util.getAttributeDrawable
class ListDivider(context : Context) : RecyclerView.ItemDecoration() { class ListDivider(context : Context) : androidx.recyclerview.widget.RecyclerView.ItemDecoration() {
companion object { companion object {
@ -35,13 +35,13 @@ class ListDivider(context : Context) : RecyclerView.ItemDecoration() {
override fun getItemOffsets( override fun getItemOffsets(
outRect : Rect, outRect : Rect,
view : View, view : View,
parent : RecyclerView, parent : androidx.recyclerview.widget.RecyclerView,
state : RecyclerView.State state : androidx.recyclerview.widget.RecyclerView.State
) { ) {
outRect.set(0, 0, 0, height) outRect.set(0, 0, 0, height)
} }
override fun onDraw(canvas : Canvas, parent : RecyclerView, state : RecyclerView.State) { override fun onDraw(canvas : Canvas, parent : androidx.recyclerview.widget.RecyclerView, state : androidx.recyclerview.widget.RecyclerView.State) {
val left = parent.paddingLeft +marginH val left = parent.paddingLeft +marginH
val right = parent.width - parent.paddingRight -marginH val right = parent.width - parent.paddingRight -marginH
@ -51,7 +51,7 @@ class ListDivider(context : Context) : RecyclerView.ItemDecoration() {
for(i in 0 until parent.childCount) { for(i in 0 until parent.childCount) {
val child = parent.getChildAt(i) val child = parent.getChildAt(i)
val params = child.layoutParams as RecyclerView.LayoutParams val params = child.layoutParams as androidx.recyclerview.widget.RecyclerView.LayoutParams
val top = child.bottom + params.bottomMargin val top = child.bottom + params.bottomMargin
val bottom = top + height val bottom = top + height
if( color != 0){ if( color != 0){

View File

@ -2,9 +2,9 @@ package jp.juggler.subwaytooter.view
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.Context import android.content.Context
import android.support.v13.view.inputmethod.EditorInfoCompat import androidx.core.view.inputmethod.EditorInfoCompat
import android.support.v13.view.inputmethod.InputConnectionCompat import androidx.core.view.inputmethod.InputConnectionCompat
import android.support.v7.widget.AppCompatEditText import androidx.appcompat.widget.AppCompatEditText
import android.util.AttributeSet import android.util.AttributeSet
import android.view.MotionEvent import android.view.MotionEvent
import android.view.inputmethod.EditorInfo import android.view.inputmethod.EditorInfo

View File

@ -8,13 +8,13 @@ import android.graphics.Matrix
import android.graphics.drawable.Animatable import android.graphics.drawable.Animatable
import android.graphics.drawable.BitmapDrawable import android.graphics.drawable.BitmapDrawable
import android.graphics.drawable.Drawable import android.graphics.drawable.Drawable
import android.support.v4.content.ContextCompat
import android.support.v4.graphics.drawable.RoundedBitmapDrawableFactory
import android.support.v7.widget.AppCompatImageView
import android.util.AttributeSet import android.util.AttributeSet
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.ImageView import android.widget.ImageView
import androidx.appcompat.widget.AppCompatImageView
import androidx.core.content.ContextCompat
import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory
import com.bumptech.glide.Glide import com.bumptech.glide.Glide
import com.bumptech.glide.RequestManager import com.bumptech.glide.RequestManager
import com.bumptech.glide.load.model.GlideUrl import com.bumptech.glide.load.model.GlideUrl
@ -22,7 +22,6 @@ import com.bumptech.glide.load.model.LazyHeaders
import com.bumptech.glide.load.resource.gif.GifDrawable import com.bumptech.glide.load.resource.gif.GifDrawable
import com.bumptech.glide.load.resource.gif.MyGifDrawable import com.bumptech.glide.load.resource.gif.MyGifDrawable
import com.bumptech.glide.request.target.ImageViewTarget import com.bumptech.glide.request.target.ImageViewTarget
import com.bumptech.glide.request.target.SimpleTarget
import com.bumptech.glide.request.target.Target import com.bumptech.glide.request.target.Target
import com.bumptech.glide.request.transition.Transition import com.bumptech.glide.request.transition.Transition
import jp.juggler.subwaytooter.Pref import jp.juggler.subwaytooter.Pref
@ -36,10 +35,10 @@ class MyNetworkImageView : AppCompatImageView {
} }
// ロード中などに表示するDrawableのリソースID // ロード中などに表示するDrawableのリソースID
private var mDefaultImage :Drawable? = null private var mDefaultImage : Drawable? = null
// エラー時に表示するDrawableのリソースID // エラー時に表示するDrawableのリソースID
private var mErrorImage :Drawable? = null private var mErrorImage : Drawable? = null
// 角丸の半径。元画像の短辺に対する割合を指定するらしい // 角丸の半径。元画像の短辺に対する割合を指定するらしい
internal var mCornerRadius = 0f internal var mCornerRadius = 0f
@ -138,8 +137,6 @@ class MyNetworkImageView : AppCompatImageView {
} }
// 必要なら非同期処理を開始する // 必要なら非同期処理を開始する
private fun loadImageIfNecessary() { private fun loadImageIfNecessary() {
try { try {
@ -180,20 +177,20 @@ class MyNetworkImageView : AppCompatImageView {
return return
} }
val glideHeaders = LazyHeaders.Builder()
.addHeader("Accept", "image/webp,image/*,*/*;q=0.8")
.build()
val glideUrl = GlideUrl(url, glideHeaders)
mTarget = if(mMayGif) { mTarget = if(mMayGif) {
getGlide() getGlide()
?.load(url) ?.load(glideUrl)
?.into(MyTargetGif(url)) ?.into(MyTargetGif(url))
} else { } else {
val glideHeaders = LazyHeaders.Builder() getGlide()
.addHeader("Accept", "image/webp,image/*,*/*;q=0.8") ?.load(glideUrl)
.build() ?.into(MyTarget(url))
val glideUrl = GlideUrl(url, glideHeaders)
getGlide()?.asBitmap()?.load(glideUrl)
?.into(MyTarget(url, desiredWidth, desiredHeight))
} }
} catch(ex : Throwable) { } catch(ex : Throwable) {
log.trace(ex) log.trace(ex)
@ -249,31 +246,28 @@ class MyNetworkImageView : AppCompatImageView {
// 静止画用のターゲット // 静止画用のターゲット
private inner class MyTarget internal constructor( private inner class MyTarget internal constructor(
override val urlLoading : String, override val urlLoading : String
desiredWidth : Int, ) : ImageViewTarget<Drawable>(this@MyNetworkImageView), UrlTarget {
desiredHeight : Int
) : SimpleTarget<Bitmap>(desiredWidth, desiredHeight), UrlTarget {
// errorDrawable The error drawable to optionally show, or null. // errorDrawable The error drawable to optionally show, or null.
override fun onLoadFailed(errorDrawable : Drawable?) = onLoadFailed(urlLoading) override fun onLoadFailed(errorDrawable : Drawable?) = onLoadFailed(urlLoading)
override fun onResourceReady( override fun setResource(resource : Drawable?) {
bitmap : Bitmap,
transition : Transition<in Bitmap>?
) {
try { try {
// 別の画像を表示するよう指定が変化していたなら何もしない // 別の画像を表示するよう指定が変化していたなら何もしない
if(urlLoading != mUrl) return if(urlLoading != mUrl) return
if(resource !is BitmapDrawable) return
if(mCornerRadius <= 0f) { if(mCornerRadius <= 0f) {
setImageBitmap(bitmap) setImageDrawable(resource)
} else { } else {
setImageDrawable(replaceBitmapDrawable(bitmap)) setImageDrawable(replaceBitmapDrawable(resource.bitmap))
} }
} catch(ex : Throwable) { } catch(ex : Throwable) {
log.trace(ex) log.trace(ex)
} }
} }
} }
private inner class MyTargetGif internal constructor( private inner class MyTargetGif internal constructor(
@ -315,7 +309,6 @@ class MyNetworkImageView : AppCompatImageView {
} catch(ex : Throwable) { } catch(ex : Throwable) {
log.trace(ex) log.trace(ex)
} }
} }
private fun afterResourceReady(transition : Transition<in Drawable>?, drawable : Drawable) { private fun afterResourceReady(transition : Transition<in Drawable>?, drawable : Drawable) {
@ -566,4 +559,5 @@ class MyNetworkImageView : AppCompatImageView {
} }
} }
} }
} }

View File

@ -2,7 +2,7 @@ package jp.juggler.subwaytooter.view
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.Context import android.content.Context
import android.support.v7.widget.AppCompatTextView import androidx.appcompat.widget.AppCompatTextView
import android.util.AttributeSet import android.util.AttributeSet
import android.view.MotionEvent import android.view.MotionEvent

View File

@ -2,11 +2,11 @@ package jp.juggler.subwaytooter.view
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.Context import android.content.Context
import android.support.v4.view.ViewPager import androidx.viewpager.widget.ViewPager
import android.util.AttributeSet import android.util.AttributeSet
import android.view.MotionEvent import android.view.MotionEvent
class MyViewPager : ViewPager { class MyViewPager : androidx.viewpager.widget.ViewPager {
constructor(context : Context) : super(context) constructor(context : Context) : super(context)
constructor(context : Context, attrs : AttributeSet?) : super(context, attrs) constructor(context : Context, attrs : AttributeSet?) : super(context, attrs)

View File

@ -4,13 +4,13 @@ import android.content.Context
import android.graphics.Canvas import android.graphics.Canvas
import android.graphics.Paint import android.graphics.Paint
import android.graphics.Rect import android.graphics.Rect
import android.support.v7.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import android.view.View import android.view.View
import jp.juggler.subwaytooter.R import jp.juggler.subwaytooter.R
import jp.juggler.util.LogCategory import jp.juggler.util.LogCategory
import jp.juggler.util.getAttributeDrawable import jp.juggler.util.getAttributeDrawable
class TabletColumnDivider(context : Context) : RecyclerView.ItemDecoration() { class TabletColumnDivider(context : Context) : androidx.recyclerview.widget.RecyclerView.ItemDecoration() {
companion object { companion object {
private val log = LogCategory("TabletColumnDivider") private val log = LogCategory("TabletColumnDivider")
@ -34,13 +34,13 @@ class TabletColumnDivider(context : Context) : RecyclerView.ItemDecoration() {
override fun getItemOffsets( override fun getItemOffsets(
outRect : Rect, outRect : Rect,
view : View, view : View,
parent : RecyclerView, parent : androidx.recyclerview.widget.RecyclerView,
state : RecyclerView.State state : androidx.recyclerview.widget.RecyclerView.State
) { ) {
outRect.set(0, 0, barWidth, 0) outRect.set(0, 0, barWidth, 0)
} }
override fun onDraw(canvas : Canvas, parent : RecyclerView, state : RecyclerView.State) { override fun onDraw(canvas : Canvas, parent : androidx.recyclerview.widget.RecyclerView, state : androidx.recyclerview.widget.RecyclerView.State) {
val clip = canvas.clipBounds val clip = canvas.clipBounds
val top = clip.top val top = clip.top
@ -52,7 +52,7 @@ class TabletColumnDivider(context : Context) : RecyclerView.ItemDecoration() {
for(i in 0 until parent.childCount) { for(i in 0 until parent.childCount) {
val child = parent.getChildAt(i) val child = parent.getChildAt(i)
val params = child.layoutParams as RecyclerView.LayoutParams val params = child.layoutParams as androidx.recyclerview.widget.RecyclerView.LayoutParams
if( child.left >= clip.right ) break if( child.left >= clip.right ) break

View File

@ -1,12 +1,12 @@
package jp.juggler.subwaytooter.view package jp.juggler.subwaytooter.view
import android.content.Context import android.content.Context
import android.support.v7.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import android.util.AttributeSet import android.util.AttributeSet
import android.view.MotionEvent import android.view.MotionEvent
import android.view.ViewConfiguration import android.view.ViewConfiguration
class TabletModeRecyclerView : RecyclerView { class TabletModeRecyclerView : androidx.recyclerview.widget.RecyclerView {
private var mForbidStartDragging : Boolean = false private var mForbidStartDragging : Boolean = false

View File

@ -14,7 +14,7 @@ import android.graphics.drawable.*
import android.graphics.drawable.shapes.RectShape import android.graphics.drawable.shapes.RectShape
import android.os.Build import android.os.Build
import android.os.SystemClock import android.os.SystemClock
import android.support.v4.content.ContextCompat import androidx.core.content.ContextCompat
import android.text.Editable import android.text.Editable
import android.text.TextWatcher import android.text.TextWatcher
import android.util.SparseArray import android.util.SparseArray

View File

@ -1,6 +1,6 @@
package jp.juggler.util package jp.juggler.util
import android.support.v4.util.SparseArrayCompat import androidx.collection.SparseArrayCompat
import jp.juggler.subwaytooter.util.CharacterGroup import jp.juggler.subwaytooter.util.CharacterGroup
import java.util.ArrayList import java.util.ArrayList
@ -49,7 +49,7 @@ class WordTrieTree {
private class Node { private class Node {
// 続くノード // 続くノード
internal val child_nodes = SparseArrayCompat<Node>() internal val child_nodes = androidx.collection.SparseArrayCompat<Node>()
// このノードが終端なら、マッチした単語の元の表記がある // このノードが終端なら、マッチした単語の元の表記がある
internal var match_word : String? = null internal var match_word : String? = null

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout <androidx.drawerlayout.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
@ -172,7 +172,7 @@
<!--</android.support.design.widget.CoordinatorLayout>--> <!--</android.support.design.widget.CoordinatorLayout>-->
<android.support.design.widget.NavigationView <com.google.android.material.navigation.NavigationView
android:id="@+id/nav_view" android:id="@+id/nav_view"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
@ -182,4 +182,4 @@
app:menu="@menu/menu_navi_drawer" app:menu="@menu/menu_navi_drawer"
/> />
<!-- app:headerLayout="@layout/nav_header_act_main" --> <!-- app:headerLayout="@layout/nav_header_act_main" -->
</android.support.v4.widget.DrawerLayout> </androidx.drawerlayout.widget.DrawerLayout>

View File

@ -600,7 +600,7 @@
app:srl_direction="both" app:srl_direction="both"
> >
<android.support.v7.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/listView" android:id="@+id/listView"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"

View File

@ -2,7 +2,8 @@ buildscript {
ext.min_sdk_version = 21 ext.min_sdk_version = 21
ext.target_sdk_version = 28 ext.target_sdk_version = 28
ext.asl_version='28.0.0' ext.androidx_version= '1.0.0'
ext.appcompat_version='1.0.2'
ext.kotlin_version = '1.3.21' ext.kotlin_version = '1.3.21'
ext.kotlinx_coroutines_version = '1.0.1' ext.kotlinx_coroutines_version = '1.0.1'

View File

@ -17,9 +17,9 @@ android {
} }
dependencies { dependencies {
implementation "com.android.support:appcompat-v7:$asl_version" implementation "androidx.appcompat:appcompat:$appcompat_version"
implementation 'com.google.android:flexbox:0.3.2' implementation 'com.google.android:flexbox:1.1.0'
} }

View File

@ -19,7 +19,7 @@ package com.jrummyapps.android.colorpicker;
import android.content.Context; import android.content.Context;
import android.graphics.Color; import android.graphics.Color;
import android.graphics.PorterDuff; import android.graphics.PorterDuff;
import android.support.v4.graphics.ColorUtils; import androidx.core.graphics.ColorUtils;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.BaseAdapter; import android.widget.BaseAdapter;

View File

@ -30,9 +30,9 @@ import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.os.Bundle; import android.os.Bundle;
import android.os.Parcelable; import android.os.Parcelable;
import android.support.annotation.ColorInt; import androidx.annotation.ColorInt;
import android.support.v4.view.GravityCompat; import androidx.core.view.GravityCompat;
import android.support.v4.view.ViewCompat; import androidx.core.view.ViewCompat;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.util.TypedValue; import android.util.TypedValue;
import android.view.Gravity; import android.view.Gravity;

View File

@ -26,12 +26,12 @@ import android.content.res.TypedArray;
import android.graphics.Color; import android.graphics.Color;
import android.graphics.PorterDuff; import android.graphics.PorterDuff;
import android.os.Bundle; import android.os.Bundle;
import android.support.annotation.ColorInt; import androidx.annotation.ColorInt;
import android.support.annotation.IntDef; import androidx.annotation.IntDef;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import android.support.annotation.StringRes; import androidx.annotation.StringRes;
import android.support.v4.graphics.ColorUtils; import androidx.core.graphics.ColorUtils;
import android.support.v7.app.AlertDialog; import androidx.appcompat.app.AlertDialog;
import android.text.Editable; import android.text.Editable;
import android.text.InputFilter; import android.text.InputFilter;
import android.text.TextWatcher; import android.text.TextWatcher;

View File

@ -16,7 +16,7 @@
package com.jrummyapps.android.colorpicker; package com.jrummyapps.android.colorpicker;
import android.support.annotation.ColorInt; import androidx.annotation.ColorInt;
/** /**
* Callback used for getting the selected color from a color picker dialog. * Callback used for getting the selected color from a color picker dialog.

View File

@ -21,8 +21,8 @@ import android.content.Context;
import android.content.res.TypedArray; import android.content.res.TypedArray;
import android.graphics.Color; import android.graphics.Color;
import android.preference.Preference; import android.preference.Preference;
import android.support.annotation.ColorInt; import androidx.annotation.ColorInt;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.view.View; import android.view.View;
import com.jrummyapps.android.colorpicker.ColorPickerDialog.DialogType; import com.jrummyapps.android.colorpicker.ColorPickerDialog.DialogType;

View File

@ -16,7 +16,7 @@
package com.jrummyapps.android.colorpicker; package com.jrummyapps.android.colorpicker;
import android.support.annotation.IntDef; import androidx.annotation.IntDef;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;

View File

@ -17,7 +17,7 @@
package com.jrummyapps.android.colorpicker; package com.jrummyapps.android.colorpicker;
import android.content.Context; import android.content.Context;
import android.support.annotation.RestrictTo; import androidx.annotation.RestrictTo;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.widget.GridView; import android.widget.GridView;

View File

@ -24,7 +24,7 @@ android {
dependencies { dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar']) implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "com.android.support:appcompat-v7:$asl_version" implementation "androidx.appcompat:appcompat:$appcompat_version"
// testImplementation 'junit:junit:4.12' // testImplementation 'junit:junit:4.12'
// androidTestImplementation 'com.android.support.test:runner:1.0.1' // androidTestImplementation 'com.android.support.test:runner:1.0.1'
// androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' // androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'

View File

@ -1,8 +1,8 @@
package jp.juggler.emoji; package jp.juggler.emoji;
import android.support.annotation.DrawableRes; import androidx.annotation.DrawableRes;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import android.support.annotation.StringRes; import androidx.annotation.StringRes;
import android.util.SparseArray; import android.util.SparseArray;
import java.util.ArrayList; import java.util.ArrayList;

View File

@ -20,4 +20,6 @@ org.gradle.jvmargs=-Xmx4096m
# enable build cache # enable build cache
# https://blog.jetbrains.com/kotlin/2018/01/kotlin-1-2-20-is-out/ # https://blog.jetbrains.com/kotlin/2018/01/kotlin-1-2-20-is-out/
org.gradle.caching=true org.gradle.caching=true
android.useAndroidX=true
android.enableJetifier=true

View File

@ -12,7 +12,7 @@ android {
versionCode 1 versionCode 1
versionName "1.0" versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
} }
@ -36,10 +36,10 @@ dependencies {
implementation project(':apng_android') implementation project(':apng_android')
implementation "com.android.support:appcompat-v7:$asl_version" implementation "androidx.appcompat:appcompat:$appcompat_version"
testImplementation 'junit:junit:4.12' testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'androidx.test:runner:1.1.2-alpha01'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.2-alpha01'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlinx_coroutines_version" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlinx_coroutines_version"

View File

@ -1,8 +1,8 @@
package jp.juggler.apng.sample; package jp.juggler.apng.sample;
import android.content.Context; import android.content.Context;
import android.support.test.InstrumentationRegistry; import androidx.test.InstrumentationRegistry;
import android.support.test.runner.AndroidJUnit4; import androidx.test.runner.AndroidJUnit4;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;

View File

@ -5,9 +5,9 @@ import android.content.pm.PackageManager
import android.os.Build import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.os.SystemClock import android.os.SystemClock
import android.support.v4.app.ActivityCompat import androidx.core.app.ActivityCompat
import android.support.v4.content.ContextCompat import androidx.core.content.ContextCompat
import android.support.v7.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import android.util.Log import android.util.Log
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup

View File

@ -5,7 +5,7 @@ import android.content.Intent
import android.graphics.Bitmap import android.graphics.Bitmap
import android.os.Bundle import android.os.Bundle
import android.os.Environment import android.os.Environment
import android.support.v7.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import android.util.Log import android.util.Log
import android.view.View import android.view.View
import android.widget.TextView import android.widget.TextView