Bumped dependencies
This commit is contained in:
parent
bed6ff19c9
commit
e65957f047
5 changed files with 38 additions and 63 deletions
|
@ -213,22 +213,22 @@ dependencies {
|
||||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
||||||
|
|
||||||
implementation 'androidx.appcompat:appcompat:1.3.0'
|
implementation 'androidx.appcompat:appcompat:1.3.1'
|
||||||
implementation 'androidx.media:media:1.2.0'
|
implementation 'androidx.media:media:1.4.1'
|
||||||
implementation 'androidx.fragment:fragment-ktx:1.4.0-alpha04'
|
implementation 'androidx.fragment:fragment-ktx:1.4.0-alpha08'
|
||||||
implementation 'androidx.core:core-ktx:1.6.0'
|
implementation 'androidx.core:core-ktx:1.7.0-alpha02'
|
||||||
|
|
||||||
def nav_version = "2.3.5"
|
def nav_version = "2.3.5"
|
||||||
implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
|
implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
|
||||||
implementation "androidx.navigation:navigation-ui-ktx:$nav_version"
|
implementation "androidx.navigation:navigation-ui-ktx:$nav_version"
|
||||||
|
|
||||||
implementation "androidx.slidingpanelayout:slidingpanelayout:1.2.0-alpha03"
|
implementation "androidx.slidingpanelayout:slidingpanelayout:1.2.0-beta01"
|
||||||
implementation "androidx.window:window:1.0.0-alpha09"
|
implementation "androidx.window:window:1.0.0-beta02"
|
||||||
|
|
||||||
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
|
implementation 'androidx.constraintlayout:constraintlayout:2.1.0'
|
||||||
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
|
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
|
||||||
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1'
|
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1'
|
||||||
implementation 'androidx.recyclerview:recyclerview:1.1.0'
|
implementation 'androidx.recyclerview:recyclerview:1.2.1'
|
||||||
implementation "androidx.security:security-crypto-ktx:1.1.0-alpha03"
|
implementation "androidx.security:security-crypto-ktx:1.1.0-alpha03"
|
||||||
|
|
||||||
implementation 'com.google.android.material:material:1.4.0'
|
implementation 'com.google.android.material:material:1.4.0'
|
||||||
|
|
|
@ -23,20 +23,20 @@ import android.annotation.SuppressLint
|
||||||
import android.content.pm.ActivityInfo
|
import android.content.pm.ActivityInfo
|
||||||
import android.content.res.Configuration
|
import android.content.res.Configuration
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.os.Handler
|
|
||||||
import android.os.Looper
|
|
||||||
import android.util.DisplayMetrics
|
import android.util.DisplayMetrics
|
||||||
import android.view.Display
|
import android.view.Display
|
||||||
import android.view.Surface
|
import android.view.Surface
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.appcompat.app.AppCompatDelegate
|
import androidx.appcompat.app.AppCompatDelegate
|
||||||
import androidx.core.util.Consumer
|
import androidx.lifecycle.lifecycleScope
|
||||||
import androidx.navigation.ActivityNavigator
|
import androidx.navigation.ActivityNavigator
|
||||||
import androidx.window.FoldingFeature
|
import androidx.window.layout.FoldingFeature
|
||||||
import androidx.window.WindowLayoutInfo
|
import androidx.window.layout.WindowInfoRepository.Companion.windowInfoRepository
|
||||||
import androidx.window.WindowManager
|
import androidx.window.layout.WindowLayoutInfo
|
||||||
import java.util.*
|
import java.util.*
|
||||||
import java.util.concurrent.Executor
|
import kotlinx.coroutines.Dispatchers
|
||||||
|
import kotlinx.coroutines.flow.collect
|
||||||
|
import kotlinx.coroutines.launch
|
||||||
import org.linphone.LinphoneApplication.Companion.coreContext
|
import org.linphone.LinphoneApplication.Companion.coreContext
|
||||||
import org.linphone.LinphoneApplication.Companion.corePreferences
|
import org.linphone.LinphoneApplication.Companion.corePreferences
|
||||||
import org.linphone.LinphoneApplication.Companion.ensureCoreExists
|
import org.linphone.LinphoneApplication.Companion.ensureCoreExists
|
||||||
|
@ -49,48 +49,6 @@ abstract class GenericActivity : AppCompatActivity() {
|
||||||
val isDestructionPending: Boolean
|
val isDestructionPending: Boolean
|
||||||
get() = _isDestructionPending
|
get() = _isDestructionPending
|
||||||
|
|
||||||
private lateinit var windowManagerX: WindowManager
|
|
||||||
|
|
||||||
inner class LayoutStateChangeCallback : Consumer<WindowLayoutInfo> {
|
|
||||||
override fun accept(newLayoutInfo: WindowLayoutInfo) {
|
|
||||||
Log.i("[Layout State Change] $newLayoutInfo")
|
|
||||||
|
|
||||||
if (newLayoutInfo.displayFeatures.isEmpty()) {
|
|
||||||
onLayoutChanges(null)
|
|
||||||
} else {
|
|
||||||
for (feature in newLayoutInfo.displayFeatures) {
|
|
||||||
val foldingFeature = feature as? FoldingFeature
|
|
||||||
if (foldingFeature != null) {
|
|
||||||
onLayoutChanges(foldingFeature)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
private val layoutStateChangeCallback = LayoutStateChangeCallback()
|
|
||||||
|
|
||||||
private fun runOnUiThreadExecutor(): Executor {
|
|
||||||
val handler = Handler(Looper.getMainLooper())
|
|
||||||
return Executor() {
|
|
||||||
handler.post(it)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onAttachedToWindow() {
|
|
||||||
super.onAttachedToWindow()
|
|
||||||
|
|
||||||
windowManagerX.registerLayoutChangeCallback(
|
|
||||||
runOnUiThreadExecutor(),
|
|
||||||
layoutStateChangeCallback
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onDetachedFromWindow() {
|
|
||||||
super.onDetachedFromWindow()
|
|
||||||
|
|
||||||
windowManagerX.unregisterLayoutChangeCallback(layoutStateChangeCallback)
|
|
||||||
}
|
|
||||||
|
|
||||||
open fun onLayoutChanges(foldingFeature: FoldingFeature?) {
|
open fun onLayoutChanges(foldingFeature: FoldingFeature?) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -98,10 +56,14 @@ abstract class GenericActivity : AppCompatActivity() {
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
windowManagerX = WindowManager(this)
|
|
||||||
|
|
||||||
ensureCoreExists(applicationContext)
|
ensureCoreExists(applicationContext)
|
||||||
|
|
||||||
|
lifecycleScope.launch(Dispatchers.Main) {
|
||||||
|
windowInfoRepository().windowLayoutInfo.collect { newLayoutInfo ->
|
||||||
|
updateCurrentLayout(newLayoutInfo)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
requestedOrientation = if (corePreferences.forcePortrait) {
|
requestedOrientation = if (corePreferences.forcePortrait) {
|
||||||
ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
|
ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
|
||||||
} else {
|
} else {
|
||||||
|
@ -170,4 +132,17 @@ abstract class GenericActivity : AppCompatActivity() {
|
||||||
coreContext.screenWidth = screenWidth
|
coreContext.screenWidth = screenWidth
|
||||||
coreContext.screenHeight = screenHeight
|
coreContext.screenHeight = screenHeight
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun updateCurrentLayout(newLayoutInfo: WindowLayoutInfo) {
|
||||||
|
if (newLayoutInfo.displayFeatures.isEmpty()) {
|
||||||
|
onLayoutChanges(null)
|
||||||
|
} else {
|
||||||
|
for (feature in newLayoutInfo.displayFeatures) {
|
||||||
|
val foldingFeature = feature as? FoldingFeature
|
||||||
|
if (foldingFeature != null) {
|
||||||
|
onLayoutChanges(foldingFeature)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,7 +39,7 @@ import androidx.lifecycle.lifecycleScope
|
||||||
import androidx.navigation.NavController
|
import androidx.navigation.NavController
|
||||||
import androidx.navigation.NavDestination
|
import androidx.navigation.NavDestination
|
||||||
import androidx.navigation.findNavController
|
import androidx.navigation.findNavController
|
||||||
import androidx.window.FoldingFeature
|
import androidx.window.layout.FoldingFeature
|
||||||
import com.google.android.material.snackbar.Snackbar
|
import com.google.android.material.snackbar.Snackbar
|
||||||
import java.io.UnsupportedEncodingException
|
import java.io.UnsupportedEncodingException
|
||||||
import java.net.URLDecoder
|
import java.net.URLDecoder
|
||||||
|
|
|
@ -40,7 +40,7 @@ class RichEditText : AppCompatEditText {
|
||||||
fun onCommitContent(
|
fun onCommitContent(
|
||||||
inputContentInfo: InputContentInfoCompat,
|
inputContentInfo: InputContentInfoCompat,
|
||||||
flags: Int,
|
flags: Int,
|
||||||
opts: Bundle,
|
opts: Bundle?,
|
||||||
contentMimeTypes: Array<String>?
|
contentMimeTypes: Array<String>?
|
||||||
): Boolean
|
): Boolean
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||||
|
|
||||||
buildscript {
|
buildscript {
|
||||||
ext.kotlin_version = '1.5.20'
|
ext.kotlin_version = '1.5.30'
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
google()
|
google()
|
||||||
|
@ -14,7 +14,7 @@ buildscript {
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath 'com.android.tools.build:gradle:7.0.2'
|
classpath 'com.android.tools.build:gradle:7.0.2'
|
||||||
classpath 'com.google.gms:google-services:4.3.8'
|
classpath 'com.google.gms:google-services:4.3.10'
|
||||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||||
classpath "org.jlleitschuh.gradle:ktlint-gradle:10.1.0"
|
classpath "org.jlleitschuh.gradle:ktlint-gradle:10.1.0"
|
||||||
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.7.1'
|
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.7.1'
|
||||||
|
|
Loading…
Reference in a new issue