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