mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-19 03:29:28 +01:00
handle edge to edge support for android 15
Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
This commit is contained in:
parent
b78befbcce
commit
5395157a48
@ -303,7 +303,7 @@ dependencies {
|
|||||||
|
|
||||||
implementation 'androidx.core:core-ktx:1.13.1'
|
implementation 'androidx.core:core-ktx:1.13.1'
|
||||||
implementation 'androidx.activity:activity-ktx:1.9.3'
|
implementation 'androidx.activity:activity-ktx:1.9.3'
|
||||||
implementation 'com.github.nextcloud.android-common:ui:0.23.2'
|
implementation 'com.github.nextcloud.android-common:ui:0.25.0'
|
||||||
implementation 'com.github.nextcloud-deps:android-talk-webrtc:132.6834.0'
|
implementation 'com.github.nextcloud-deps:android-talk-webrtc:132.6834.0'
|
||||||
|
|
||||||
gplayImplementation 'com.google.android.gms:play-services-base:18.6.0'
|
gplayImplementation 'com.google.android.gms:play-services-base:18.6.0'
|
||||||
|
@ -11,6 +11,7 @@ package com.nextcloud.talk.activities
|
|||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.text.TextUtils
|
import android.text.TextUtils
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
@ -20,12 +21,12 @@ import android.view.WindowManager
|
|||||||
import android.view.inputmethod.EditorInfo
|
import android.view.inputmethod.EditorInfo
|
||||||
import android.webkit.SslErrorHandler
|
import android.webkit.SslErrorHandler
|
||||||
import android.widget.EditText
|
import android.widget.EditText
|
||||||
import androidx.activity.enableEdgeToEdge
|
|
||||||
import androidx.appcompat.app.AlertDialog
|
import androidx.appcompat.app.AlertDialog
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.core.content.res.ResourcesCompat
|
import androidx.core.content.res.ResourcesCompat
|
||||||
import autodagger.AutoInjector
|
import autodagger.AutoInjector
|
||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
|
import com.nextcloud.android.common.ui.util.extensions.adjustUIForAPILevel35
|
||||||
import com.nextcloud.talk.R
|
import com.nextcloud.talk.R
|
||||||
import com.nextcloud.talk.account.AccountVerificationActivity
|
import com.nextcloud.talk.account.AccountVerificationActivity
|
||||||
import com.nextcloud.talk.account.ServerSelectionActivity
|
import com.nextcloud.talk.account.ServerSelectionActivity
|
||||||
@ -41,6 +42,7 @@ import com.nextcloud.talk.utils.UriUtils
|
|||||||
import com.nextcloud.talk.utils.bundle.BundleKeys
|
import com.nextcloud.talk.utils.bundle.BundleKeys
|
||||||
import com.nextcloud.talk.utils.database.user.CurrentUserProviderNew
|
import com.nextcloud.talk.utils.database.user.CurrentUserProviderNew
|
||||||
import com.nextcloud.talk.utils.preferences.AppPreferences
|
import com.nextcloud.talk.utils.preferences.AppPreferences
|
||||||
|
import com.nextcloud.talk.utils.setStatusBarColor
|
||||||
import com.nextcloud.talk.utils.ssl.TrustManager
|
import com.nextcloud.talk.utils.ssl.TrustManager
|
||||||
import org.greenrobot.eventbus.EventBus
|
import org.greenrobot.eventbus.EventBus
|
||||||
import org.greenrobot.eventbus.Subscribe
|
import org.greenrobot.eventbus.Subscribe
|
||||||
@ -82,7 +84,7 @@ open class BaseActivity : AppCompatActivity() {
|
|||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
NextcloudTalkApplication.sharedApplication!!.componentApplication.inject(this)
|
NextcloudTalkApplication.sharedApplication!!.componentApplication.inject(this)
|
||||||
enableEdgeToEdge()
|
adjustUIForAPILevel35()
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
cleanTempCertPreference()
|
cleanTempCertPreference()
|
||||||
@ -114,9 +116,13 @@ open class BaseActivity : AppCompatActivity() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun setupSystemColors() {
|
fun setupSystemColors() {
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.VANILLA_ICE_CREAM) {
|
||||||
|
setStatusBarColor(ResourcesCompat.getColor(resources, R.color.bg_default, context.theme))
|
||||||
|
} else {
|
||||||
colorizeStatusBar()
|
colorizeStatusBar()
|
||||||
colorizeNavigationBar()
|
colorizeNavigationBar()
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
open fun colorizeStatusBar() {
|
open fun colorizeStatusBar() {
|
||||||
if (resources != null) {
|
if (resources != null) {
|
||||||
|
@ -461,6 +461,7 @@ class ChatActivity :
|
|||||||
setupActionBar()
|
setupActionBar()
|
||||||
setContentView(binding.root)
|
setContentView(binding.root)
|
||||||
|
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.VANILLA_ICE_CREAM) {
|
||||||
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.chat_container)) { view, insets ->
|
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.chat_container)) { view, insets ->
|
||||||
val statusBarInsets = insets.getInsets(WindowInsetsCompat.Type.statusBars())
|
val statusBarInsets = insets.getInsets(WindowInsetsCompat.Type.statusBars())
|
||||||
val navBarInsets = insets.getInsets(WindowInsetsCompat.Type.navigationBars())
|
val navBarInsets = insets.getInsets(WindowInsetsCompat.Type.navigationBars())
|
||||||
@ -477,6 +478,10 @@ class ChatActivity :
|
|||||||
)
|
)
|
||||||
WindowInsetsCompat.CONSUMED
|
WindowInsetsCompat.CONSUMED
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
colorizeStatusBar()
|
||||||
|
colorizeNavigationBar()
|
||||||
|
}
|
||||||
|
|
||||||
conversationUser = currentUserProvider.currentUser.blockingGet()
|
conversationUser = currentUserProvider.currentUser.blockingGet()
|
||||||
handleIntent(intent)
|
handleIntent(intent)
|
||||||
@ -1389,7 +1394,7 @@ class ChatActivity :
|
|||||||
supportActionBar?.setDisplayShowHomeEnabled(true)
|
supportActionBar?.setDisplayShowHomeEnabled(true)
|
||||||
supportActionBar?.setIcon(resources!!.getColor(R.color.transparent, null).toDrawable())
|
supportActionBar?.setIcon(resources!!.getColor(R.color.transparent, null).toDrawable())
|
||||||
setActionBarTitle()
|
setActionBarTitle()
|
||||||
// viewThemeUtils.material.themeToolbar(binding.chatToolbar)
|
viewThemeUtils.material.themeToolbar(binding.chatToolbar)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun initAdapter() {
|
private fun initAdapter() {
|
||||||
|
@ -934,8 +934,7 @@ class ConversationsListActivity :
|
|||||||
} else {
|
} else {
|
||||||
showToolbar()
|
showToolbar()
|
||||||
}
|
}
|
||||||
colorizeStatusBar()
|
setupSystemColors()
|
||||||
colorizeNavigationBar()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -0,0 +1,28 @@
|
|||||||
|
/*
|
||||||
|
* Nextcloud Talk - Android Client
|
||||||
|
*
|
||||||
|
* SPDX-FileCopyrightText: 2025 Marcel Hibbe <dev@mhibbe.de>
|
||||||
|
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.nextcloud.talk.utils
|
||||||
|
|
||||||
|
import android.os.Build
|
||||||
|
import android.view.WindowInsets
|
||||||
|
import androidx.annotation.ColorInt
|
||||||
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
|
|
||||||
|
// replace this with the common lib whenever https://github.com/nextcloud/android-common/pull/668 is merged
|
||||||
|
// and then delete this file
|
||||||
|
fun AppCompatActivity.setStatusBarColor(@ColorInt color: Int) {
|
||||||
|
window.decorView.setOnApplyWindowInsetsListener { view, insets ->
|
||||||
|
view.setBackgroundColor(color)
|
||||||
|
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.VANILLA_ICE_CREAM) {
|
||||||
|
val statusBarHeight = insets.getInsets(WindowInsets.Type.statusBars()).top
|
||||||
|
view.setPadding(0, statusBarHeight, 0, 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
insets
|
||||||
|
}
|
||||||
|
}
|
@ -92,11 +92,6 @@
|
|||||||
|
|
||||||
</com.google.android.material.appbar.MaterialToolbar>
|
</com.google.android.material.appbar.MaterialToolbar>
|
||||||
|
|
||||||
<View
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="1dp"
|
|
||||||
android:background="@color/chat_separator" />
|
|
||||||
|
|
||||||
</com.google.android.material.appbar.AppBarLayout>
|
</com.google.android.material.appbar.AppBarLayout>
|
||||||
|
|
||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
|
Loading…
Reference in New Issue
Block a user