1
0
mirror of https://github.com/vector-im/element-android.git synced 2025-08-06 03:42:41 +03:00

Enable edgeToEdge

This commit is contained in:
Benoit Marty
2025-07-16 15:03:13 +02:00
parent daadbbd76b
commit c79f2ff4d1
64 changed files with 261 additions and 13 deletions

View File

@@ -12,6 +12,7 @@ import android.app.NotificationChannel
import android.app.NotificationManager
import android.content.Intent
import android.os.Build
import android.view.View
import androidx.core.app.NotificationCompat
import androidx.core.app.Person
import androidx.core.content.getSystemService
@@ -49,7 +50,9 @@ import javax.inject.Inject
class DebugMenuActivity : VectorBaseActivity<ActivityDebugMenuBinding>() {
override fun getBinding() = ActivityDebugMenuBinding.inflate(layoutInflater)
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
@Inject lateinit var clock: Clock
private lateinit var buffer: ByteArray

View File

@@ -10,6 +10,7 @@ package im.vector.app.features.debug
import android.Manifest
import android.content.pm.PackageManager
import android.os.Build
import android.view.View
import android.widget.Toast
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
@@ -32,6 +33,9 @@ class DebugPermissionActivity : VectorBaseActivity<ActivityDebugPermissionBindin
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
// For debug
private val allPermissions = listOf(
Manifest.permission.CAMERA,

View File

@@ -7,6 +7,7 @@
package im.vector.app.features.debug.analytics
import android.view.View
import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.core.extensions.addFragment
import im.vector.app.core.platform.VectorBaseActivity
@@ -17,6 +18,10 @@ class DebugAnalyticsActivity : VectorBaseActivity<ActivitySimpleBinding>() {
override fun getBinding() = ActivitySimpleBinding.inflate(layoutInflater)
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
override fun initUiAndData() {
if (isFirstCreation()) {
addFragment(

View File

@@ -8,6 +8,7 @@
package im.vector.app.features.debug.features
import android.os.Bundle
import android.view.View
import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.core.extensions.cleanup
import im.vector.app.core.extensions.configureWith
@@ -24,6 +25,9 @@ class DebugFeaturesSettingsActivity : VectorBaseActivity<FragmentGenericRecycler
override fun getBinding() = FragmentGenericRecyclerBinding.inflate(layoutInflater)
override val rootView: View
get() = views.mainRoot
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
controller.listener = object : FeaturesController.Listener {

View File

@@ -8,6 +8,7 @@
package im.vector.app.features.debug.jitsi
import android.annotation.SuppressLint
import android.view.View
import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.core.platform.VectorBaseActivity
import im.vector.application.databinding.ActivityDebugJitsiBinding
@@ -19,6 +20,8 @@ class DebugJitsiActivity : VectorBaseActivity<ActivityDebugJitsiBinding>() {
override fun getBinding() = ActivityDebugJitsiBinding.inflate(layoutInflater)
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
@SuppressLint("SetTextI18n")
override fun initUiAndData() {

View File

@@ -7,6 +7,7 @@
package im.vector.app.features.debug.leak
import android.view.View
import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.core.extensions.addFragment
import im.vector.app.core.platform.VectorBaseActivity
@@ -17,6 +18,10 @@ class DebugMemoryLeaksActivity : VectorBaseActivity<ActivitySimpleBinding>() {
override fun getBinding() = ActivitySimpleBinding.inflate(layoutInflater)
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
override fun initUiAndData() {
if (isFirstCreation()) {
addFragment(

View File

@@ -7,6 +7,7 @@
package im.vector.app.features.debug.settings
import android.view.View
import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.core.extensions.addFragment
import im.vector.app.core.platform.VectorBaseActivity
@@ -17,6 +18,10 @@ class DebugPrivateSettingsActivity : VectorBaseActivity<ActivitySimpleBinding>()
override fun getBinding() = ActivitySimpleBinding.inflate(layoutInflater)
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
override fun initUiAndData() {
if (isFirstCreation()) {
addFragment(

View File

@@ -167,8 +167,7 @@
<activity
android:name=".features.home.room.detail.RoomDetailActivity"
android:parentActivityName=".features.home.HomeActivity"
android:windowSoftInputMode="adjustResize">
android:parentActivityName=".features.home.HomeActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".features.home.HomeActivity" />

View File

@@ -6,6 +6,7 @@
*/
package im.vector.app.core.platform
import android.view.View
import androidx.core.view.isGone
import androidx.core.view.isVisible
import im.vector.app.core.extensions.hideKeyboard
@@ -20,6 +21,9 @@ abstract class SimpleFragmentActivity : VectorBaseActivity<ActivityBinding>() {
final override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
override fun initUiAndData() {
setupToolbar(views.toolbar)
.allowBack(true)

View File

@@ -17,6 +17,7 @@ import android.view.MenuItem
import android.view.View
import android.view.WindowManager
import android.widget.TextView
import androidx.activity.enableEdgeToEdge
import androidx.annotation.CallSuper
import androidx.annotation.MainThread
import androidx.annotation.StringRes
@@ -25,7 +26,10 @@ import androidx.coordinatorlayout.widget.CoordinatorLayout
import androidx.core.app.MultiWindowModeChangedInfo
import androidx.core.util.Consumer
import androidx.core.view.MenuProvider
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.core.view.isVisible
import androidx.core.view.updatePadding
import androidx.fragment.app.FragmentManager
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.ViewModelProvider
@@ -205,6 +209,7 @@ abstract class VectorBaseActivity<VB : ViewBinding> : AppCompatActivity(), Maver
val activityEntryPoint = EntryPointAccessors.fromActivity(this, ActivityEntryPoint::class.java)
ThemeUtils.setActivityTheme(this, getOtherThemes())
viewModelFactory = activityEntryPoint.viewModelFactory()
enableEdgeToEdge()
super.onCreate(savedInstanceState)
addOnMultiWindowModeChangedListener(onMultiWindowModeChangedListener)
setupMenu()
@@ -411,6 +416,20 @@ abstract class VectorBaseActivity<VB : ViewBinding> : AppCompatActivity(), Maver
// Just log that a change occurred.
Timber.w("MDM data has been updated")
}
ViewCompat.setOnApplyWindowInsetsListener(rootView) { v, insets ->
val systemBars = insets.getInsets(
WindowInsetsCompat.Type.systemBars() or
WindowInsetsCompat.Type.displayCutout() or
WindowInsetsCompat.Type.ime()
)
v.updatePadding(
systemBars.left,
systemBars.top,
systemBars.right,
systemBars.bottom,
)
insets
}
}
private val postResumeScheduledActions = mutableListOf<() -> Unit>()
@@ -592,6 +611,8 @@ abstract class VectorBaseActivity<VB : ViewBinding> : AppCompatActivity(), Maver
open fun getCoordinatorLayout(): CoordinatorLayout? = null
abstract val rootView: View
/* ==========================================================================================
* User Consent
* ========================================================================================== */

View File

@@ -12,6 +12,7 @@ import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.os.Parcelable
import android.view.View
import androidx.core.content.ContextCompat
import androidx.core.view.isVisible
import androidx.lifecycle.Lifecycle
@@ -392,4 +393,7 @@ class MainActivity : VectorBaseActivity<ActivityMainBinding>(), UnlockedActivity
val className = componentName.className
return packageName == buildMeta.applicationId && className in allowList
}
override val rootView: View
get() = views.mainRoot
}

View File

@@ -7,6 +7,7 @@
package im.vector.app.features.analytics.ui.consent
import android.view.View
import com.airbnb.mvrx.viewModel
import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.core.extensions.addFragment
@@ -29,6 +30,9 @@ class AnalyticsOptInActivity : VectorBaseActivity<ActivitySimpleBinding>() {
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
override fun initUiAndData() {
orientationLocker.lockPhonesToPortrait(this)
if (isFirstCreation()) {

View File

@@ -9,6 +9,7 @@ package im.vector.app.features.attachments.preview
import android.content.Context
import android.content.Intent
import android.view.View
import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.core.extensions.addFragment
import im.vector.app.core.platform.VectorBaseActivity
@@ -47,6 +48,9 @@ class AttachmentsPreviewActivity : VectorBaseActivity<ActivitySimpleBinding>() {
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
override fun initUiAndData() {
if (isFirstCreation()) {
val fragmentArgs: AttachmentsPreviewArgs = intent?.extras?.getParcelableCompat(EXTRA_FRAGMENT_ARGS) ?: return

View File

@@ -187,6 +187,9 @@ class VectorCallActivity :
override fun getMenuRes() = R.menu.vector_call
override val rootView: View
get() = views.constraintLayout
override fun onUserLeaveHint() {
super.onUserLeaveHint()
enterPictureInPictureIfRequired()

View File

@@ -15,6 +15,7 @@ import android.content.res.Configuration
import android.os.Build
import android.os.Bundle
import android.os.Parcelable
import android.view.View
import android.widget.FrameLayout
import android.widget.Toast
import androidx.core.app.PictureInPictureModeChangedInfo
@@ -58,6 +59,9 @@ class VectorJitsiActivity : VectorBaseActivity<ActivityJitsiBinding>(), JitsiMee
override fun getBinding() = ActivityJitsiBinding.inflate(layoutInflater)
override val rootView: View
get() = views.jitsiLayout
private var jitsiMeetView: JitsiMeetView? = null
private val jitsiViewModel: JitsiCallViewModel by viewModel()

View File

@@ -11,6 +11,7 @@ import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.os.Parcelable
import android.view.View
import com.airbnb.mvrx.Mavericks
import com.airbnb.mvrx.viewModel
import com.google.android.material.tabs.TabLayoutMediator
@@ -37,6 +38,9 @@ class CallTransferActivity : VectorBaseActivity<ActivityCallTransferBinding>() {
override fun getCoordinatorLayout() = views.vectorCoordinatorLayout
override val rootView: View
get() = views.vectorCoordinatorLayout
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
waitingView = views.waitingView.waitingView

View File

@@ -192,6 +192,9 @@ class HomeActivity :
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
override fun getBinding() = ActivityHomeBinding.inflate(layoutInflater)
override fun onCreate(savedInstanceState: Bundle?) {

View File

@@ -81,6 +81,9 @@ class RoomDetailActivity :
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
@Inject lateinit var playbackTracker: AudioMessagePlaybackTracker
private lateinit var sharedActionViewModel: RoomDetailSharedActionViewModel
private val requireActiveMembershipViewModel: RequireActiveMembershipViewModel by viewModel()

View File

@@ -410,11 +410,11 @@ class TimelineFragment :
}
}
ViewCompat.setOnApplyWindowInsetsListener(views.coordinatorLayout) { _, insets ->
val imeInsets = insets.getInsets(WindowInsetsCompat.Type.ime())
views.voiceMessageRecorderContainer.updatePadding(bottom = imeInsets.bottom)
insets
}
//ViewCompat.setOnApplyWindowInsetsListener(views.coordinatorLayout) { _, insets ->
// val imeInsets = insets.getInsets(WindowInsetsCompat.Type.ime())
// views.voiceMessageRecorderContainer.updatePadding(bottom = imeInsets.bottom)
// insets
//}
}
private fun setupBackPressHandling() {

View File

@@ -10,6 +10,7 @@ package im.vector.app.features.home.room.detail.search
import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.view.View
import androidx.appcompat.widget.SearchView
import com.airbnb.mvrx.Mavericks
import dagger.hilt.android.AndroidEntryPoint
@@ -30,6 +31,9 @@ class SearchActivity : VectorBaseActivity<ActivitySearchBinding>() {
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setupToolbar(views.searchToolbar)

View File

@@ -10,6 +10,7 @@ package im.vector.app.features.home.room.filtered
import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.view.View
import androidx.appcompat.widget.SearchView
import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.core.extensions.replaceFragment
@@ -32,6 +33,9 @@ class FilteredRoomsActivity : VectorBaseActivity<ActivityFilteredRoomsBinding>()
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
analyticsScreenName = MobileScreen.ScreenName.RoomFilter

View File

@@ -7,6 +7,7 @@
package im.vector.app.features.home.room.list.home.invites
import android.view.View
import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.core.extensions.addFragment
import im.vector.app.core.platform.VectorBaseActivity
@@ -22,4 +23,8 @@ class InvitesActivity : VectorBaseActivity<ActivitySimpleBinding>() {
addFragment(views.simpleFragmentContainer, InvitesFragment::class.java)
}
}
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
}

View File

@@ -7,6 +7,7 @@
package im.vector.app.features.home.room.list.home.release
import android.view.View
import androidx.lifecycle.lifecycleScope
import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.core.extensions.addFragment
@@ -26,6 +27,9 @@ class ReleaseNotesActivity : VectorBaseActivity<ActivitySimpleBinding>() {
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
override fun initUiAndData() {
orientationLocker.lockPhonesToPortrait(this)
if (isFirstCreation()) {

View File

@@ -10,6 +10,7 @@ package im.vector.app.features.home.room.threads
import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.view.View
import androidx.fragment.app.FragmentTransaction
import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.core.extensions.addFragmentToBackstack
@@ -42,6 +43,9 @@ class ThreadsActivity : VectorBaseActivity<ActivityThreadsBinding>() {
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
initFragment()

View File

@@ -10,6 +10,7 @@ package im.vector.app.features.link
import android.content.Intent
import android.net.Uri
import android.os.Bundle
import android.view.View
import androidx.lifecycle.lifecycleScope
import com.airbnb.mvrx.viewModel
import com.google.android.material.dialog.MaterialAlertDialogBuilder
@@ -41,6 +42,9 @@ class LinkHandlerActivity : VectorBaseActivity<ActivityProgressBinding>() {
override fun getBinding() = ActivityProgressBinding.inflate(layoutInflater)
override val rootView: View
get() = views.mainRoot
override fun initUiAndData() {
handleIntent()
}

View File

@@ -10,6 +10,7 @@ package im.vector.app.features.location
import android.content.Context
import android.content.Intent
import android.os.Parcelable
import android.view.View
import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.core.extensions.addFragment
import im.vector.app.core.platform.VectorBaseActivity
@@ -31,6 +32,9 @@ class LocationSharingActivity : VectorBaseActivity<ActivityLocationSharingBindin
override fun getBinding() = ActivityLocationSharingBinding.inflate(layoutInflater)
override val rootView: View
get() = views.mainRoot
override fun initUiAndData() {
val locationSharingArgs: LocationSharingArgs? = intent?.extras?.getParcelableCompat(EXTRA_LOCATION_SHARING_ARGS)
if (locationSharingArgs == null) {

View File

@@ -10,6 +10,7 @@ package im.vector.app.features.location.live.map
import android.content.Context
import android.content.Intent
import android.os.Parcelable
import android.view.View
import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.core.extensions.addFragment
import im.vector.app.core.platform.VectorBaseActivity
@@ -29,6 +30,9 @@ class LiveLocationMapViewActivity : VectorBaseActivity<ActivityLocationSharingBi
override fun getBinding() = ActivityLocationSharingBinding.inflate(layoutInflater)
override val rootView: View
get() = views.mainRoot
override fun initUiAndData() {
val mapViewArgs: LiveLocationMapViewArgs? = intent?.extras?.getParcelableCompat(EXTRA_LIVE_LOCATION_MAP_VIEW_ARGS)
if (mapViewArgs == null) {

View File

@@ -76,6 +76,9 @@ open class LoginActivity : VectorBaseActivity<ActivityLoginBinding>(), UnlockedA
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
override fun initUiAndData() {
analyticsScreenName = MobileScreen.ScreenName.Login

View File

@@ -10,6 +10,7 @@ package im.vector.app.features.media
import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.view.View
import androidx.core.net.toUri
import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.core.di.ActiveSessionHolder
@@ -26,6 +27,9 @@ class BigImageViewerActivity : VectorBaseActivity<ActivityBigImageViewerBinding>
override fun getBinding() = ActivityBigImageViewerBinding.inflate(layoutInflater)
override val rootView: View
get() = views.mainRoot
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

View File

@@ -10,6 +10,7 @@ package im.vector.app.features.onboarding
import android.content.Context
import android.content.Intent
import android.net.Uri
import android.view.View
import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.core.extensions.lazyViewModel
import im.vector.app.core.extensions.validateBackPressed
@@ -33,6 +34,9 @@ class OnboardingActivity : VectorBaseActivity<ActivityLoginBinding>(), UnlockedA
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
override fun onNewIntent(intent: Intent) {
super.onNewIntent(intent)
onboardingVariant.onNewIntent(intent)

View File

@@ -9,6 +9,7 @@ package im.vector.app.features.pin
import android.content.Context
import android.content.Intent
import android.view.View
import com.airbnb.mvrx.Mavericks
import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.core.extensions.addFragment
@@ -31,6 +32,9 @@ class PinActivity : VectorBaseActivity<ActivitySimpleBinding>(), UnlockedActivit
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
override fun initUiAndData() {
if (isFirstCreation()) {
val fragmentArgs: PinArgs = intent?.extras?.getParcelableCompat(Mavericks.KEY_ARG) ?: return

View File

@@ -10,6 +10,7 @@ package im.vector.app.features.qrcode
import android.app.Activity
import android.content.Intent
import android.os.Bundle
import android.view.View
import android.widget.Toast
import androidx.activity.result.ActivityResultLauncher
import com.airbnb.mvrx.viewModel
@@ -26,6 +27,9 @@ class QrCodeScannerActivity : VectorBaseActivity<ActivitySimpleBinding>() {
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
private val qrViewModel: QrCodeScannerViewModel by viewModel()
override fun onCreate(savedInstanceState: Bundle?) {

View File

@@ -11,6 +11,7 @@ import android.content.Context
import android.content.Intent
import android.view.Menu
import android.view.MenuItem
import android.view.View
import android.widget.Toast
import androidx.core.view.isVisible
import androidx.core.widget.doOnTextChanged
@@ -37,6 +38,9 @@ class BugReportActivity :
private val viewModel: BugReportViewModel by viewModel()
override val rootView: View
get() = views.mainRoot
private var reportType: ReportType = ReportType.BUG_REPORT
override fun initUiAndData() {

View File

@@ -13,6 +13,7 @@ import android.graphics.Typeface
import android.util.TypedValue
import android.view.Menu
import android.view.MenuItem
import android.view.View
import android.widget.SearchView
import androidx.core.view.isVisible
import androidx.lifecycle.lifecycleScope
@@ -55,6 +56,9 @@ class EmojiReactionPickerActivity :
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
override fun getTitleRes() = CommonStrings.title_activity_emoji_reaction_picker
@Inject lateinit var emojiCompatFontProvider: EmojiCompatFontProvider

View File

@@ -10,6 +10,7 @@ package im.vector.app.features.roomdirectory
import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.view.View
import androidx.lifecycle.lifecycleScope
import com.airbnb.mvrx.viewModel
import com.airbnb.mvrx.withState
@@ -41,6 +42,9 @@ class RoomDirectoryActivity : VectorBaseActivity<ActivitySimpleBinding>(), Matri
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
analyticsScreenName = MobileScreen.ScreenName.RoomDirectory

View File

@@ -11,6 +11,7 @@ import android.app.Activity
import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.view.View
import androidx.lifecycle.lifecycleScope
import com.airbnb.mvrx.Mavericks
import dagger.hilt.android.AndroidEntryPoint
@@ -36,6 +37,9 @@ class CreateRoomActivity : VectorBaseActivity<ActivitySimpleBinding>() {
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
override fun initUiAndData() {
if (isFirstCreation()) {
val fragmentArgs: CreateRoomArgs = intent?.extras?.getParcelableCompat(Mavericks.KEY_ARG) ?: return

View File

@@ -10,6 +10,7 @@ package im.vector.app.features.roomdirectory.roompreview
import android.content.Context
import android.content.Intent
import android.os.Parcelable
import android.view.View
import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.core.extensions.addFragment
import im.vector.app.core.platform.VectorBaseActivity
@@ -73,6 +74,9 @@ class RoomPreviewActivity : VectorBaseActivity<ActivitySimpleBinding>() {
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.simpleFragmentContainer
override fun initUiAndData() {
if (isFirstCreation()) {
val args = intent.getParcelableExtraCompat<RoomPreviewData>(ARG)

View File

@@ -9,6 +9,7 @@ package im.vector.app.features.roommemberprofile
import android.content.Context
import android.content.Intent
import android.view.View
import android.widget.Toast
import com.airbnb.mvrx.Mavericks
import com.airbnb.mvrx.viewModel
@@ -37,6 +38,11 @@ class RoomMemberProfileActivity : VectorBaseActivity<ActivitySimpleBinding>() {
return ActivitySimpleBinding.inflate(layoutInflater)
}
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
override fun initUiAndData() {
if (isFirstCreation()) {
val fragmentArgs: RoomMemberProfileArgs = intent?.extras?.getParcelableCompat(Mavericks.KEY_ARG) ?: return

View File

@@ -9,6 +9,7 @@ package im.vector.app.features.roomprofile
import android.content.Context
import android.content.Intent
import android.view.View
import android.widget.Toast
import androidx.lifecycle.lifecycleScope
import com.airbnb.mvrx.Mavericks
@@ -68,6 +69,9 @@ class RoomProfileActivity :
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
override fun initUiAndData() {
sharedActionViewModel = viewModelProvider.get(RoomProfileSharedActionViewModel::class.java)
roomProfileArgs = intent?.extras?.getParcelableCompat(Mavericks.KEY_ARG) ?: return

View File

@@ -10,6 +10,7 @@ package im.vector.app.features.roomprofile.polls.detail.ui
import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.view.View
import com.airbnb.mvrx.Mavericks
import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.core.extensions.addFragment
@@ -25,6 +26,11 @@ class RoomPollDetailActivity : VectorBaseActivity<ActivitySimpleBinding>() {
override fun getBinding() = ActivitySimpleBinding.inflate(layoutInflater)
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

View File

@@ -10,6 +10,7 @@ package im.vector.app.features.roomprofile.settings.joinrule
import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.view.View
import androidx.core.view.isVisible
import com.airbnb.mvrx.Fail
import com.airbnb.mvrx.Loading
@@ -40,6 +41,11 @@ class RoomJoinRuleActivity : VectorBaseActivity<ActivitySimpleBinding>() {
override fun getBinding() = ActivitySimpleBinding.inflate(layoutInflater)
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
private lateinit var roomProfileArgs: RoomProfileArgs
val viewModel: RoomJoinRuleChooseRestrictedViewModel by viewModel()

View File

@@ -11,6 +11,7 @@ import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.os.Parcelable
import android.view.View
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import androidx.preference.Preference
@@ -47,6 +48,9 @@ class VectorSettingsActivity : VectorBaseActivity<ActivityVectorSettingsBinding>
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
override fun getTitleRes() = CommonStrings.title_activity_settings
private var keyToHighlight: String? = null

View File

@@ -10,6 +10,7 @@ package im.vector.app.features.settings.devices.v2.rename
import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.view.View
import android.view.WindowManager
import com.airbnb.mvrx.Mavericks
import dagger.hilt.android.AndroidEntryPoint
@@ -26,6 +27,11 @@ class RenameSessionActivity : VectorBaseActivity<ActivitySimpleBinding>() {
override fun getBinding() = ActivitySimpleBinding.inflate(layoutInflater)
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

View File

@@ -7,6 +7,7 @@
package im.vector.app.features.settings.font
import android.view.View
import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.core.extensions.addFragment
import im.vector.app.core.platform.VectorBaseActivity
@@ -17,6 +18,11 @@ class FontScaleSettingActivity : VectorBaseActivity<ActivitySimpleBinding>() {
override fun getBinding() = ActivitySimpleBinding.inflate(layoutInflater)
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
override fun initUiAndData() {
if (isFirstCreation()) {
addFragment(views.simpleFragmentContainer, FontScaleSettingFragment::class.java)

View File

@@ -9,6 +9,7 @@ package im.vector.app.features.share
import android.content.Intent
import android.os.Bundle
import android.view.View
import com.airbnb.mvrx.viewModel
import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.core.extensions.addFragment
@@ -46,6 +47,9 @@ class IncomingShareActivity : VectorBaseActivity<ActivitySimpleBinding>() {
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
private fun handleAppStarted() {
// If we are not logged in, stop the sharing process and open login screen.
// In the future, we might want to relaunch the sharing process after login.

View File

@@ -10,6 +10,7 @@ package im.vector.app.features.signout.hard
import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.view.View
import dagger.hilt.android.AndroidEntryPoint
import im.vector.app.core.platform.VectorBaseActivity
import im.vector.app.databinding.ActivitySignedOutBinding
@@ -26,6 +27,9 @@ class SignedOutActivity : VectorBaseActivity<ActivitySignedOutBinding>() {
override fun getBinding() = ActivitySignedOutBinding.inflate(layoutInflater)
override val rootView: View
get() = views.signedOut
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

View File

@@ -11,6 +11,7 @@ import android.app.Activity
import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.view.View
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import com.airbnb.mvrx.Mavericks
@@ -38,6 +39,11 @@ class SpaceExploreActivity : VectorBaseActivity<ActivitySimpleBinding>(), Matrix
override fun getBinding(): ActivitySimpleBinding = ActivitySimpleBinding.inflate(layoutInflater)
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
override fun getTitleRes(): Int = CommonStrings.space_explore_activity_title
val sharedViewModel: SpaceDirectoryViewModel by viewModel()

View File

@@ -10,6 +10,7 @@ package im.vector.app.features.spaces
import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.view.View
import androidx.lifecycle.lifecycleScope
import com.airbnb.mvrx.Mavericks
import dagger.hilt.android.AndroidEntryPoint
@@ -29,6 +30,11 @@ class SpacePreviewActivity : VectorBaseActivity<ActivitySimpleBinding>() {
override fun getBinding(): ActivitySimpleBinding = ActivitySimpleBinding.inflate(layoutInflater)
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
sharedActionViewModel = viewModelProvider.get(SpacePreviewSharedActionViewModel::class.java)

View File

@@ -10,6 +10,7 @@ package im.vector.app.features.spaces.leave
import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.view.View
import androidx.core.view.isGone
import androidx.core.view.isVisible
import com.airbnb.mvrx.Fail
@@ -33,6 +34,11 @@ class SpaceLeaveAdvancedActivity : VectorBaseActivity<ActivitySimpleLoadingBindi
override fun getBinding(): ActivitySimpleLoadingBinding = ActivitySimpleLoadingBinding.inflate(layoutInflater)
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
private val leaveViewModel: SpaceLeaveAdvancedViewModel by viewModel()
override fun showWaitingView(text: String?) {

View File

@@ -11,6 +11,7 @@ import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.os.Parcelable
import android.view.View
import androidx.core.view.isGone
import androidx.core.view.isVisible
import androidx.lifecycle.lifecycleScope
@@ -49,6 +50,11 @@ class SpaceManageActivity : VectorBaseActivity<ActivitySimpleLoadingBinding>() {
override fun getBinding(): ActivitySimpleLoadingBinding = ActivitySimpleLoadingBinding.inflate(layoutInflater)
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
override fun getTitleRes(): Int = CommonStrings.space_add_existing_rooms
val sharedViewModel: SpaceManageSharedViewModel by viewModel()

View File

@@ -10,6 +10,7 @@ package im.vector.app.features.spaces.people
import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.view.View
import androidx.core.view.isGone
import androidx.core.view.isVisible
import androidx.lifecycle.lifecycleScope
@@ -32,6 +33,11 @@ class SpacePeopleActivity : VectorBaseActivity<ActivitySimpleLoadingBinding>() {
override fun getBinding() = ActivitySimpleLoadingBinding.inflate(layoutInflater)
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
private lateinit var sharedActionViewModel: SpacePeopleSharedActionViewModel
override fun initUiAndData() {

View File

@@ -11,6 +11,7 @@ import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.os.Parcelable
import android.view.View
import android.widget.Toast
import androidx.core.app.ActivityCompat
import androidx.core.view.isVisible
@@ -51,6 +52,9 @@ class UserCodeActivity : VectorBaseActivity<ActivitySimpleBinding>(),
override fun getCoordinatorLayout() = views.coordinatorLayout
override val rootView: View
get() = views.coordinatorLayout
private val fragmentLifecycleCallbacks = object : FragmentManager.FragmentLifecycleCallbacks() {
override fun onFragmentResumed(fm: FragmentManager, f: Fragment) {
if (f is MatrixToBottomSheet) {

View File

@@ -9,6 +9,7 @@ package im.vector.app.features.webview
import android.content.Context
import android.content.Intent
import android.view.View
import android.webkit.WebChromeClient
import android.webkit.WebView
import dagger.hilt.android.AndroidEntryPoint
@@ -28,6 +29,9 @@ class VectorWebViewActivity : VectorBaseActivity<ActivityVectorWebViewBinding>()
override fun getBinding() = ActivityVectorWebViewBinding.inflate(layoutInflater)
override val rootView: View
get() = views.mainRoot
val session: Session by lazy {
activeSessionHolder.getActiveSession()
}

View File

@@ -20,6 +20,7 @@ import android.content.IntentFilter
import android.graphics.drawable.Icon
import android.os.Build
import android.util.Rational
import android.view.View
import androidx.annotation.RequiresApi
import androidx.core.app.PictureInPictureModeChangedInfo
import androidx.core.content.ContextCompat
@@ -77,6 +78,9 @@ class WidgetActivity : VectorBaseActivity<ActivityWidgetBinding>() {
override fun getBinding() = ActivityWidgetBinding.inflate(layoutInflater)
override val rootView: View
get() = views.mainRoot
override fun getTitleRes() = CommonStrings.room_widget_activity_title
override fun initUiAndData() {

View File

@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/mainRoot"
android:layout_width="match_parent"
android:layout_height="match_parent">

View File

@@ -2,6 +2,7 @@
<LinearLayout 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"
android:id="@+id/mainRoot"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">

View File

@@ -97,7 +97,6 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:fitsSystemWindows="true"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"

View File

@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainRoot"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

View File

@@ -3,6 +3,7 @@
<androidx.constraintlayout.widget.ConstraintLayout 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"
android:id="@+id/mainRoot"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:background="@drawable/splash"

View File

@@ -2,6 +2,7 @@
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/mainRoot"
android:background="?vctr_waiting_background_color">
<ProgressBar

View File

@@ -2,6 +2,7 @@
<androidx.constraintlayout.widget.ConstraintLayout 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"
android:id="@+id/mainRoot"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".features.webview.VectorWebViewActivity">

View File

@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/mainRoot"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

View File

@@ -2,6 +2,7 @@
<FrameLayout 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"
android:id="@+id/mainRoot"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?android:colorBackground">

View File

@@ -45,7 +45,6 @@
android:id="@+id/appBarLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true"
app:layout_constraintTop_toBottomOf="@id/syncStateView">
<com.google.android.material.appbar.CollapsingToolbarLayout