build against API 30, change deprecated stuff
This commit is contained in:
parent
4bf3038c47
commit
e311823cec
|
@ -6,11 +6,11 @@ plugins {
|
||||||
}
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdkVersion(29)
|
compileSdkVersion(30)
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId = "at.connyduck.pixelcat"
|
applicationId = "at.connyduck.pixelcat"
|
||||||
minSdkVersion(24)
|
minSdkVersion(24)
|
||||||
targetSdkVersion(29)
|
targetSdkVersion(30)
|
||||||
versionCode = 1
|
versionCode = 1
|
||||||
versionName = "0.0"
|
versionName = "0.0"
|
||||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||||
|
@ -79,6 +79,7 @@ dependencies {
|
||||||
implementation("androidx.emoji:emoji-bundled:1.1.0")
|
implementation("androidx.emoji:emoji-bundled:1.1.0")
|
||||||
implementation("androidx.paging:paging-runtime-ktx:3.0.0-alpha05")
|
implementation("androidx.paging:paging-runtime-ktx:3.0.0-alpha05")
|
||||||
implementation("androidx.viewpager2:viewpager2:1.0.0")
|
implementation("androidx.viewpager2:viewpager2:1.0.0")
|
||||||
|
implementation("androidx.window:window:1.0.0-alpha01")
|
||||||
|
|
||||||
implementation("androidx.room:room-ktx:$roomVersion")
|
implementation("androidx.room:room-ktx:$roomVersion")
|
||||||
kapt("androidx.room:room-compiler:$roomVersion")
|
kapt("androidx.room:room-compiler:$roomVersion")
|
||||||
|
|
|
@ -23,6 +23,9 @@ import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
|
import androidx.core.view.ViewCompat
|
||||||
|
import androidx.core.view.WindowInsetsCompat
|
||||||
|
import androidx.core.view.WindowInsetsCompat.Type.systemBars
|
||||||
import at.connyduck.pixelcat.BuildConfig
|
import at.connyduck.pixelcat.BuildConfig
|
||||||
import at.connyduck.pixelcat.R
|
import at.connyduck.pixelcat.R
|
||||||
import at.connyduck.pixelcat.components.about.licenses.LicenseActivity
|
import at.connyduck.pixelcat.components.about.licenses.LicenseActivity
|
||||||
|
@ -37,13 +40,11 @@ class AboutActivity : BaseActivity() {
|
||||||
val binding = ActivityAboutBinding.inflate(layoutInflater)
|
val binding = ActivityAboutBinding.inflate(layoutInflater)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
|
||||||
binding.root.setOnApplyWindowInsetsListener { _, insets ->
|
ViewCompat.setOnApplyWindowInsetsListener(binding.root) { _, insets ->
|
||||||
val top = insets.systemWindowInsetTop
|
val top = insets.getInsets(systemBars()).top
|
||||||
|
|
||||||
val toolbarParams = binding.aboutToolbar.layoutParams as ViewGroup.MarginLayoutParams
|
val toolbarParams = binding.aboutToolbar.layoutParams as ViewGroup.MarginLayoutParams
|
||||||
toolbarParams.topMargin = top
|
toolbarParams.topMargin = top
|
||||||
|
WindowInsetsCompat.CONSUMED
|
||||||
insets.consumeSystemWindowInsets()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
setSupportActionBar(binding.aboutToolbar)
|
setSupportActionBar(binding.aboutToolbar)
|
||||||
|
|
|
@ -26,6 +26,9 @@ import android.util.Log
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import androidx.annotation.RawRes
|
import androidx.annotation.RawRes
|
||||||
|
import androidx.core.view.ViewCompat
|
||||||
|
import androidx.core.view.WindowInsetsCompat
|
||||||
|
import androidx.core.view.WindowInsetsCompat.Type.systemBars
|
||||||
import at.connyduck.pixelcat.R
|
import at.connyduck.pixelcat.R
|
||||||
import at.connyduck.pixelcat.components.general.BaseActivity
|
import at.connyduck.pixelcat.components.general.BaseActivity
|
||||||
import at.connyduck.pixelcat.databinding.ActivityLicenseBinding
|
import at.connyduck.pixelcat.databinding.ActivityLicenseBinding
|
||||||
|
@ -41,13 +44,11 @@ class LicenseActivity : BaseActivity() {
|
||||||
val binding = ActivityLicenseBinding.inflate(layoutInflater)
|
val binding = ActivityLicenseBinding.inflate(layoutInflater)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
|
||||||
binding.licenseContainer.setOnApplyWindowInsetsListener { _, insets ->
|
ViewCompat.setOnApplyWindowInsetsListener(binding.licenseContainer) { _, insets ->
|
||||||
val top = insets.systemWindowInsetTop
|
val top = insets.getInsets(systemBars()).top
|
||||||
|
|
||||||
val toolbarParams = binding.licenseToolbar.layoutParams as ViewGroup.MarginLayoutParams
|
val toolbarParams = binding.licenseToolbar.layoutParams as ViewGroup.MarginLayoutParams
|
||||||
toolbarParams.topMargin = top
|
toolbarParams.topMargin = top
|
||||||
|
WindowInsetsCompat.CONSUMED
|
||||||
insets.consumeSystemWindowInsets()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
setSupportActionBar(binding.licenseToolbar)
|
setSupportActionBar(binding.licenseToolbar)
|
||||||
|
|
|
@ -23,8 +23,12 @@ import android.app.Activity
|
||||||
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.view.ViewGroup
|
||||||
import androidx.activity.viewModels
|
import androidx.activity.viewModels
|
||||||
import androidx.coordinatorlayout.widget.CoordinatorLayout
|
import androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||||
|
import androidx.core.view.ViewCompat
|
||||||
|
import androidx.core.view.WindowInsetsCompat
|
||||||
|
import androidx.core.view.WindowInsetsCompat.Type.systemBars
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import at.connyduck.pixelcat.R
|
import at.connyduck.pixelcat.R
|
||||||
|
@ -56,13 +60,11 @@ class ComposeActivity : BaseActivity(), OnImageActionClickListener {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
|
||||||
binding.root.setOnApplyWindowInsetsListener { _, insets ->
|
ViewCompat.setOnApplyWindowInsetsListener(binding.root) { _, insets ->
|
||||||
val top = insets.systemWindowInsetTop
|
val top = insets.getInsets(systemBars()).top
|
||||||
|
val toolbarParams = binding.composeAppBar.layoutParams as ViewGroup.MarginLayoutParams
|
||||||
val toolbarParams = binding.composeAppBar.layoutParams as CoordinatorLayout.LayoutParams
|
|
||||||
toolbarParams.topMargin = top
|
toolbarParams.topMargin = top
|
||||||
|
WindowInsetsCompat.CONSUMED
|
||||||
insets.consumeSystemWindowInsets()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (viewModel.imageLiveData.value.isNullOrEmpty()) {
|
if (viewModel.imageLiveData.value.isNullOrEmpty()) {
|
||||||
|
|
|
@ -26,6 +26,9 @@ import android.view.Menu
|
||||||
import android.view.MenuItem
|
import android.view.MenuItem
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.activity.viewModels
|
import androidx.activity.viewModels
|
||||||
|
import androidx.core.view.ViewCompat
|
||||||
|
import androidx.core.view.WindowInsetsCompat
|
||||||
|
import androidx.core.view.WindowInsetsCompat.Type.systemBars
|
||||||
import androidx.lifecycle.Observer
|
import androidx.lifecycle.Observer
|
||||||
import at.connyduck.pixelcat.components.main.MainActivity
|
import at.connyduck.pixelcat.components.main.MainActivity
|
||||||
import at.connyduck.pixelcat.R
|
import at.connyduck.pixelcat.R
|
||||||
|
@ -51,13 +54,11 @@ class LoginActivity : BaseActivity(), Observer<LoginModel> {
|
||||||
|
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
|
||||||
binding.loginContainer.setOnApplyWindowInsetsListener { _, insets ->
|
ViewCompat.setOnApplyWindowInsetsListener(binding.loginContainer) { _, insets ->
|
||||||
val top = insets.systemWindowInsetTop
|
val top = insets.getInsets(systemBars()).top
|
||||||
|
|
||||||
val toolbarParams = binding.loginToolbar.layoutParams as ViewGroup.MarginLayoutParams
|
val toolbarParams = binding.loginToolbar.layoutParams as ViewGroup.MarginLayoutParams
|
||||||
toolbarParams.topMargin = top
|
toolbarParams.topMargin = top
|
||||||
|
WindowInsetsCompat.CONSUMED
|
||||||
insets.consumeSystemWindowInsets()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
setSupportActionBar(binding.loginToolbar)
|
setSupportActionBar(binding.loginToolbar)
|
||||||
|
|
|
@ -40,9 +40,9 @@ class LoginWebViewActivity : AppCompatActivity() {
|
||||||
binding = ActivityLoginWebViewBinding.inflate(layoutInflater)
|
binding = ActivityLoginWebViewBinding.inflate(layoutInflater)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
|
||||||
val domain = intent.getStringExtra(EXTRA_DOMAIN)
|
val domain = intent.getStringExtra(EXTRA_DOMAIN)!!
|
||||||
val clientId = intent.getStringExtra(EXTRA_CLIENT_ID)
|
val clientId = intent.getStringExtra(EXTRA_CLIENT_ID)!!
|
||||||
val clientSecret = intent.getStringExtra(EXTRA_CLIENT_SECRET)
|
val clientSecret = intent.getStringExtra(EXTRA_CLIENT_SECRET)!!
|
||||||
|
|
||||||
val endpoint = "/oauth/authorize"
|
val endpoint = "/oauth/authorize"
|
||||||
val parameters = mapOf(
|
val parameters = mapOf(
|
||||||
|
|
|
@ -22,8 +22,11 @@ package at.connyduck.pixelcat.components.main
|
||||||
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.view.ViewGroup
|
||||||
import android.widget.LinearLayout
|
import android.widget.LinearLayout
|
||||||
import androidx.activity.viewModels
|
import androidx.activity.viewModels
|
||||||
|
import androidx.core.view.ViewCompat
|
||||||
|
import androidx.core.view.WindowInsetsCompat
|
||||||
import at.connyduck.pixelcat.R
|
import at.connyduck.pixelcat.R
|
||||||
import at.connyduck.pixelcat.components.compose.ComposeActivity
|
import at.connyduck.pixelcat.components.compose.ComposeActivity
|
||||||
import at.connyduck.pixelcat.components.general.BaseActivity
|
import at.connyduck.pixelcat.components.general.BaseActivity
|
||||||
|
@ -88,13 +91,11 @@ class MainActivity : BaseActivity() {
|
||||||
binding = ActivityMainBinding.inflate(layoutInflater)
|
binding = ActivityMainBinding.inflate(layoutInflater)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
|
||||||
binding.container.setOnApplyWindowInsetsListener { _, insets ->
|
ViewCompat.setOnApplyWindowInsetsListener(binding.container) { _, insets ->
|
||||||
val top = insets.systemWindowInsetTop
|
val top = insets.getInsets(WindowInsetsCompat.Type.systemBars()).top
|
||||||
|
val viewPagerParams = binding.mainViewPager.layoutParams as ViewGroup.MarginLayoutParams
|
||||||
val viewPagerParams = binding.mainViewPager.layoutParams as LinearLayout.LayoutParams
|
|
||||||
viewPagerParams.topMargin = top
|
viewPagerParams.topMargin = top
|
||||||
|
WindowInsetsCompat.CONSUMED
|
||||||
insets.consumeSystemWindowInsets()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
mainFragmentAdapter = MainFragmentAdapter(this)
|
mainFragmentAdapter = MainFragmentAdapter(this)
|
||||||
|
|
|
@ -22,6 +22,10 @@ package at.connyduck.pixelcat.components.profile
|
||||||
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.view.ViewGroup
|
||||||
|
import androidx.core.view.ViewCompat
|
||||||
|
import androidx.core.view.WindowInsetsCompat
|
||||||
|
import androidx.core.view.WindowInsetsCompat.Type.systemBars
|
||||||
import androidx.fragment.app.commit
|
import androidx.fragment.app.commit
|
||||||
import at.connyduck.pixelcat.R
|
import at.connyduck.pixelcat.R
|
||||||
import at.connyduck.pixelcat.components.general.BaseActivity
|
import at.connyduck.pixelcat.components.general.BaseActivity
|
||||||
|
@ -36,12 +40,11 @@ class ProfileActivity : BaseActivity() {
|
||||||
|
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
|
||||||
binding.root.setOnApplyWindowInsetsListener { _, insets ->
|
ViewCompat.setOnApplyWindowInsetsListener(binding.root) { _, insets ->
|
||||||
val top = insets.systemWindowInsetTop
|
val top = insets.getInsets(systemBars()).top
|
||||||
|
|
||||||
binding.root.setPadding(0, top, 0, 0)
|
binding.root.setPadding(0, top, 0, 0)
|
||||||
|
|
||||||
insets.consumeSystemWindowInsets()
|
WindowInsetsCompat.CONSUMED
|
||||||
}
|
}
|
||||||
|
|
||||||
if (supportFragmentManager.findFragmentById(R.id.layoutContainer) == null) {
|
if (supportFragmentManager.findFragmentById(R.id.layoutContainer) == null) {
|
||||||
|
|
|
@ -26,6 +26,9 @@ import android.content.SharedPreferences
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.appcompat.app.AppCompatDelegate
|
import androidx.appcompat.app.AppCompatDelegate
|
||||||
|
import androidx.core.view.ViewCompat
|
||||||
|
import androidx.core.view.WindowInsetsCompat
|
||||||
|
import androidx.core.view.WindowInsetsCompat.Type.systemBars
|
||||||
import androidx.preference.PreferenceFragmentCompat
|
import androidx.preference.PreferenceFragmentCompat
|
||||||
import at.connyduck.pixelcat.R
|
import at.connyduck.pixelcat.R
|
||||||
import at.connyduck.pixelcat.components.general.BaseActivity
|
import at.connyduck.pixelcat.components.general.BaseActivity
|
||||||
|
@ -46,13 +49,11 @@ class SettingsActivity : BaseActivity(), SharedPreferences.OnSharedPreferenceCha
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
|
||||||
binding.settingsContainer.setOnApplyWindowInsetsListener { _, insets ->
|
ViewCompat.setOnApplyWindowInsetsListener(binding.settingsContainer) { _, insets ->
|
||||||
val top = insets.systemWindowInsetTop
|
val top = insets.getInsets(systemBars()).top
|
||||||
|
|
||||||
val toolbarParams = binding.settingsToolbar.layoutParams as ViewGroup.MarginLayoutParams
|
val toolbarParams = binding.settingsToolbar.layoutParams as ViewGroup.MarginLayoutParams
|
||||||
toolbarParams.topMargin = top
|
toolbarParams.topMargin = top
|
||||||
|
WindowInsetsCompat.CONSUMED
|
||||||
insets.consumeSystemWindowInsets()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
supportFragmentManager
|
supportFragmentManager
|
||||||
|
|
|
@ -5,7 +5,9 @@ import android.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.activity.viewModels
|
import androidx.activity.viewModels
|
||||||
import androidx.core.graphics.Insets
|
import androidx.core.graphics.Insets
|
||||||
|
import androidx.core.view.ViewCompat
|
||||||
import androidx.core.view.WindowInsetsCompat
|
import androidx.core.view.WindowInsetsCompat
|
||||||
|
import androidx.core.view.WindowInsetsCompat.Type.systemBars
|
||||||
import androidx.recyclerview.widget.ConcatAdapter
|
import androidx.recyclerview.widget.ConcatAdapter
|
||||||
import at.connyduck.pixelcat.R
|
import at.connyduck.pixelcat.R
|
||||||
import at.connyduck.pixelcat.components.general.BaseActivity
|
import at.connyduck.pixelcat.components.general.BaseActivity
|
||||||
|
@ -41,13 +43,14 @@ class DetailActivity : BaseActivity(), TimeLineActionListener {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
|
||||||
binding.root.setOnApplyWindowInsetsListener { _, insets ->
|
ViewCompat.setOnApplyWindowInsetsListener(binding.root) { _, insets ->
|
||||||
binding.root.setPadding(0, insets.systemWindowInsetTop, 0, 0)
|
val systemInsets = insets.getInsets(systemBars())
|
||||||
|
|
||||||
WindowInsetsCompat.Builder(WindowInsetsCompat.toWindowInsetsCompat(insets))
|
binding.root.setPadding(0, systemInsets.top, 0, 0)
|
||||||
.setSystemWindowInsets(Insets.of(insets.systemWindowInsetLeft, 0, insets.systemWindowInsetRight, insets.systemWindowInsetBottom))
|
|
||||||
|
WindowInsetsCompat.Builder(insets)
|
||||||
|
.setInsets(systemBars(), Insets.of(systemInsets.left, 0, systemInsets.right, systemInsets.bottom))
|
||||||
.build()
|
.build()
|
||||||
.toWindowInsets()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.detailSwipeRefresh.setColorSchemeColors(
|
binding.detailSwipeRefresh.setColorSchemeColors(
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
package at.connyduck.pixelcat.components.util.extension
|
package at.connyduck.pixelcat.components.util.extension
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
|
import android.os.Build
|
||||||
import android.util.DisplayMetrics
|
import android.util.DisplayMetrics
|
||||||
import android.util.TypedValue
|
import android.util.TypedValue
|
||||||
import android.view.WindowManager
|
import android.view.WindowManager
|
||||||
|
@ -27,10 +28,15 @@ import androidx.annotation.AttrRes
|
||||||
import androidx.annotation.ColorInt
|
import androidx.annotation.ColorInt
|
||||||
|
|
||||||
fun Context.getDisplayWidthInPx(): Int {
|
fun Context.getDisplayWidthInPx(): Int {
|
||||||
val metrics = DisplayMetrics()
|
|
||||||
val windowManager = getSystemService(Context.WINDOW_SERVICE) as WindowManager
|
val windowManager = getSystemService(Context.WINDOW_SERVICE) as WindowManager
|
||||||
windowManager.defaultDisplay.getMetrics(metrics)
|
|
||||||
return metrics.widthPixels
|
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
||||||
|
windowManager.currentWindowMetrics.bounds.width()
|
||||||
|
} else {
|
||||||
|
val metrics = DisplayMetrics()
|
||||||
|
windowManager.defaultDisplay.getMetrics(metrics)
|
||||||
|
metrics.widthPixels
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ColorInt
|
@ColorInt
|
||||||
|
|
Loading…
Reference in New Issue