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

View File

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

View File

@ -16,7 +16,7 @@ android {
versionCode 342
versionName "3.4.2"
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
multiDexEnabled true
@ -69,7 +69,7 @@ kapt {
dependencies {
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'
})
@ -78,14 +78,14 @@ dependencies {
implementation project(':emoji')
implementation project(':apng_android')
implementation "com.android.support:support-v4:$asl_version"
implementation "com.android.support:appcompat-v7:$asl_version"
implementation "com.android.support:design:$asl_version"
implementation "com.android.support:customtabs:$asl_version"
implementation "com.android.support:support-v13:$asl_version"
implementation "androidx.appcompat:appcompat:$appcompat_version"
implementation "androidx.legacy:legacy-support-v4:$androidx_version"
implementation "androidx.legacy:legacy-support-v13:$androidx_version"
implementation "androidx.browser:browser:$androidx_version"
implementation "com.google.android.material:material:$androidx_version"
// 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 "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
@ -110,11 +110,12 @@ dependencies {
androidTestImplementation 'com.squareup.okhttp3:mockwebserver:3.12.1'
// glide 4.8.0 CustomTarget
implementation 'com.github.bumptech.glide:glide:4.7.1'
implementation 'com.github.bumptech.glide:okhttp3-integration:4.7.1'
implementation 'com.github.bumptech.glide:annotations:4.7.1'
kapt 'com.github.bumptech.glide:compiler:4.7.1'
implementation 'com.github.bumptech.glide:glide:4.9.0'
implementation 'com.github.bumptech.glide:okhttp3-integration:4.9.0'
implementation 'com.github.bumptech.glide:annotations:4.9.0'
// 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"
@ -130,7 +131,7 @@ dependencies {
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'

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -13,14 +13,14 @@ import android.os.AsyncTask
import android.os.Build
import android.os.Bundle
import android.os.Handler
import android.support.design.widget.NavigationView
import android.support.v4.view.GravityCompat
import android.support.v4.view.ViewPager
import android.support.v4.widget.DrawerLayout
import android.support.v7.app.AlertDialog
import android.support.v7.app.AppCompatActivity
import android.support.v7.widget.LinearLayoutManager
import android.support.v7.widget.RecyclerView
import com.google.android.material.navigation.NavigationView
import androidx.core.view.GravityCompat
import androidx.viewpager.widget.ViewPager
import androidx.drawerlayout.widget.DrawerLayout
import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import android.text.InputType
import android.text.Spannable
import android.text.SpannableStringBuilder
@ -64,9 +64,9 @@ import kotlin.math.min
class ActMain : AppCompatActivity()
, NavigationView.OnNavigationItemSelectedListener
, View.OnClickListener
, ViewPager.OnPageChangeListener
, androidx.viewpager.widget.ViewPager.OnPageChangeListener
, Column.Callback
, DrawerLayout.DrawerListener {
, androidx.drawerlayout.widget.DrawerLayout.DrawerListener {
companion object {
@ -135,7 +135,7 @@ class ActMain : AppCompatActivity()
internal var listItemPopup : StatusButtonsPopup? = null
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 svColumnStrip : HorizontalScrollView
private lateinit var btnMenu : ImageButton
@ -143,7 +143,7 @@ class ActMain : AppCompatActivity()
private lateinit var vFooterDivider1 : View
private lateinit var vFooterDivider2 : View
val viewPool = RecyclerView.RecycledViewPool()
val viewPool = androidx.recyclerview.widget.RecyclerView.RecycledViewPool()
var avatarIconSize : Int = 0
var notificationTlIconSize : Int = 0
@ -159,9 +159,9 @@ class ActMain : AppCompatActivity()
}
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_layout_manager : LinearLayoutManager
internal lateinit var tablet_layout_manager : androidx.recyclerview.widget.LinearLayoutManager
internal lateinit var tablet_snap_helper : GravitySnapHelper
}
@ -170,7 +170,7 @@ class ActMain : AppCompatActivity()
get() {
val vs = tablet_layout_manager.findFirstVisibleItemPosition()
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
} else {
IntRange(vs, min(ve, vs + nScreenColumn - 1))
@ -464,7 +464,7 @@ class ActMain : AppCompatActivity()
{ env -> outState.putInt(STATE_CURRENT_PAGE, env.pager.currentItem) },
{ env ->
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)
}
})
@ -949,7 +949,7 @@ class ActMain : AppCompatActivity()
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)) {
drawer.closeDrawer(GravityCompat.START)
return
@ -1220,7 +1220,7 @@ class ActMain : AppCompatActivity()
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)
return true
}
@ -1421,7 +1421,11 @@ class ActMain : AppCompatActivity()
env.tablet_pager = findViewById(R.id.rvPager)
env.tablet_pager_adapter = TabletColumnPagerAdapter(this)
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) {
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.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)
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)
updateColumnStripSelection(- 1, - 1f)
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -2,9 +2,9 @@ package jp.juggler.subwaytooter
import android.os.Handler
import android.os.SystemClock
import android.support.v7.util.DiffUtil
import android.support.v7.util.ListUpdateCallback
import android.support.v7.widget.RecyclerView
import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.ListUpdateCallback
import androidx.recyclerview.widget.RecyclerView
import android.view.ViewGroup
import jp.juggler.subwaytooter.api.entity.TimelineItem
import jp.juggler.util.LogCategory
@ -14,7 +14,7 @@ internal class ItemListAdapter(
private val column : Column,
internal val columnVh : ColumnViewHolder,
private val bSimpleList : Boolean
) : RecyclerView.Adapter<RecyclerView.ViewHolder>() {
) : androidx.recyclerview.widget.RecyclerView.Adapter<androidx.recyclerview.widget.RecyclerView.ViewHolder>() {
companion object {
private val log = LogCategory("ItemListAdapter")
@ -81,7 +81,7 @@ internal class ItemListAdapter(
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) {
0 -> {
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) {
null -> null
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) {
val listIndex = column.toListIndex(adapterIndex)
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) {
holder.ivh.onViewRecycled()
} else if(holder is ViewHolderHeaderBase) {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,5 +1,5 @@
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.content.Intent
import android.os.Build
import android.support.v7.app.AlertDialog
import androidx.appcompat.app.AlertDialog
import jp.juggler.subwaytooter.*
import jp.juggler.subwaytooter.api.*
import jp.juggler.subwaytooter.api.entity.EntityId

View File

@ -1,6 +1,6 @@
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.App1
import jp.juggler.subwaytooter.Column

View File

@ -1,6 +1,6 @@
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.App1
import jp.juggler.subwaytooter.Column

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -3,7 +3,7 @@ package jp.juggler.subwaytooter.table
import android.content.ContentValues
import android.content.Context
import android.database.sqlite.SQLiteDatabase
import android.support.v4.util.LruCache
import androidx.collection.LruCache
import android.text.Spannable
import android.text.SpannableStringBuilder
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) {
log.d("onDBCreate!")

View File

@ -2,7 +2,7 @@ package jp.juggler.subwaytooter.table
import android.content.ContentValues
import android.database.sqlite.SQLiteDatabase
import android.support.v4.util.LruCache
import androidx.collection.LruCache
import jp.juggler.subwaytooter.App1
import jp.juggler.subwaytooter.api.TootParser
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.
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")

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -4,12 +4,12 @@ import android.content.Context
import android.graphics.Canvas
import android.graphics.Paint
import android.graphics.Rect
import android.support.v7.widget.RecyclerView
import androidx.recyclerview.widget.RecyclerView
import android.view.View
import jp.juggler.subwaytooter.R
import jp.juggler.util.getAttributeDrawable
class ListDivider(context : Context) : RecyclerView.ItemDecoration() {
class ListDivider(context : Context) : androidx.recyclerview.widget.RecyclerView.ItemDecoration() {
companion object {
@ -35,13 +35,13 @@ class ListDivider(context : Context) : RecyclerView.ItemDecoration() {
override fun getItemOffsets(
outRect : Rect,
view : View,
parent : RecyclerView,
state : RecyclerView.State
parent : androidx.recyclerview.widget.RecyclerView,
state : androidx.recyclerview.widget.RecyclerView.State
) {
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 right = parent.width - parent.paddingRight -marginH
@ -51,7 +51,7 @@ class ListDivider(context : Context) : RecyclerView.ItemDecoration() {
for(i in 0 until parent.childCount) {
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 bottom = top + height
if( color != 0){

View File

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

View File

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

View File

@ -2,11 +2,11 @@ package jp.juggler.subwaytooter.view
import android.annotation.SuppressLint
import android.content.Context
import android.support.v4.view.ViewPager
import androidx.viewpager.widget.ViewPager
import android.util.AttributeSet
import android.view.MotionEvent
class MyViewPager : ViewPager {
class MyViewPager : androidx.viewpager.widget.ViewPager {
constructor(context : Context) : super(context)
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.Paint
import android.graphics.Rect
import android.support.v7.widget.RecyclerView
import androidx.recyclerview.widget.RecyclerView
import android.view.View
import jp.juggler.subwaytooter.R
import jp.juggler.util.LogCategory
import jp.juggler.util.getAttributeDrawable
class TabletColumnDivider(context : Context) : RecyclerView.ItemDecoration() {
class TabletColumnDivider(context : Context) : androidx.recyclerview.widget.RecyclerView.ItemDecoration() {
companion object {
private val log = LogCategory("TabletColumnDivider")
@ -34,13 +34,13 @@ class TabletColumnDivider(context : Context) : RecyclerView.ItemDecoration() {
override fun getItemOffsets(
outRect : Rect,
view : View,
parent : RecyclerView,
state : RecyclerView.State
parent : androidx.recyclerview.widget.RecyclerView,
state : androidx.recyclerview.widget.RecyclerView.State
) {
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 top = clip.top
@ -52,7 +52,7 @@ class TabletColumnDivider(context : Context) : RecyclerView.ItemDecoration() {
for(i in 0 until parent.childCount) {
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

View File

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

View File

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

View File

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

View File

@ -1,5 +1,5 @@
<?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:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
@ -172,7 +172,7 @@
<!--</android.support.design.widget.CoordinatorLayout>-->
<android.support.design.widget.NavigationView
<com.google.android.material.navigation.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
@ -182,4 +182,4 @@
app:menu="@menu/menu_navi_drawer"
/>
<!-- 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"
>
<android.support.v7.widget.RecyclerView
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/listView"
android:layout_width="match_parent"
android:layout_height="match_parent"

View File

@ -2,7 +2,8 @@ buildscript {
ext.min_sdk_version = 21
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.kotlinx_coroutines_version = '1.0.1'

View File

@ -17,9 +17,9 @@ android {
}
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.graphics.Color;
import android.graphics.PorterDuff;
import android.support.v4.graphics.ColorUtils;
import androidx.core.graphics.ColorUtils;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;

View File

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

View File

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

View File

@ -16,7 +16,7 @@
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.

View File

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

View File

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

View File

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

View File

@ -24,7 +24,7 @@ android {
dependencies {
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'
// androidTestImplementation 'com.android.support.test:runner:1.0.1'
// androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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