toolbar management (#4887)
Toolbar management rework and toolbar style alignment
This commit is contained in:
parent
a085b4db21
commit
f7aedff418
3
changelog.d/4884.misc
Normal file
3
changelog.d/4884.misc
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
Toolbar management rework. Toolbar title's and subtitle's text appearance now controlled by theme without local overrides. Helper class introduced to
|
||||||
|
help with toolbar configuration. Toolbar title, subtitle and navigation button widgets are removed where it is possible and replaced with built-in
|
||||||
|
toolbar widgets.
|
@ -6,10 +6,12 @@
|
|||||||
<item name="elevation">0dp</item>
|
<item name="elevation">0dp</item>
|
||||||
|
|
||||||
<!-- main text -->
|
<!-- main text -->
|
||||||
<item name="titleTextStyle">@style/Widget.Vector.TextView.ActionBarTitle</item>
|
<item name="titleTextAppearance">@style/TextAppearance.Vector.Widget.ActionBarTitle</item>
|
||||||
|
|
||||||
<!-- sub text -->
|
<!-- sub text -->
|
||||||
<item name="subtitleTextStyle">@style/Widget.Vector.TextView.ActionBarSubTitle</item>
|
<item name="subtitleTextAppearance">@style/TextAppearance.Vector.Widget.ActionBarSubTitle</item>
|
||||||
|
|
||||||
|
<item name="navigationIconTint">?vctr_content_secondary</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<!-- Default toolbar style -->
|
<!-- Default toolbar style -->
|
||||||
@ -22,16 +24,18 @@
|
|||||||
|
|
||||||
<!-- Toolbar text style -->
|
<!-- Toolbar text style -->
|
||||||
<!-- main text -->
|
<!-- main text -->
|
||||||
<style name="Widget.Vector.TextView.ActionBarTitle" parent="TextAppearance.AppCompat.Widget.ActionBar.Title">
|
<style name="TextAppearance.Vector.Widget.ActionBarTitle" parent="TextAppearance.AppCompat.Widget.ActionBar.Title">
|
||||||
<item name="android:textColor">?vctr_content_primary</item>
|
<item name="android:textColor">?vctr_content_primary</item>
|
||||||
<item name="android:fontFamily">"sans-serif-medium"</item>
|
<item name="android:fontFamily">sans-serif-medium</item>
|
||||||
<item name="android:textSize">20sp</item>
|
<item name="fontFamily">sans-serif-medium</item>
|
||||||
|
<item name="android:textSize">18sp</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<!-- sub text -->
|
<!-- sub text -->
|
||||||
<style name="Widget.Vector.TextView.ActionBarSubTitle" parent="TextAppearance.AppCompat.Widget.ActionBar.Subtitle">
|
<style name="TextAppearance.Vector.Widget.ActionBarSubTitle" parent="TextAppearance.AppCompat.Widget.ActionBar.Subtitle">
|
||||||
<item name="android:textColor">?vctr_content_primary</item>
|
<item name="android:textColor">?vctr_content_secondary</item>
|
||||||
<item name="android:fontFamily">"sans-serif-medium"</item>
|
<item name="android:fontFamily">sans-serif</item>
|
||||||
|
<item name="fontFamily">sans-serif</item>
|
||||||
<item name="android:textSize">12sp</item>
|
<item name="android:textSize">12sp</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
@ -30,7 +30,8 @@ abstract class SimpleFragmentActivity : VectorBaseActivity<ActivityBinding>() {
|
|||||||
final override fun getCoordinatorLayout() = views.coordinatorLayout
|
final override fun getCoordinatorLayout() = views.coordinatorLayout
|
||||||
|
|
||||||
override fun initUiAndData() {
|
override fun initUiAndData() {
|
||||||
configureToolbar(views.toolbar)
|
setupToolbar(views.toolbar)
|
||||||
|
.allowBack(true)
|
||||||
waitingView = views.waitingView.waitingView
|
waitingView = views.waitingView.waitingView
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,24 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2019 New Vector Ltd
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package im.vector.app.core.platform
|
|
||||||
|
|
||||||
import com.google.android.material.appbar.MaterialToolbar
|
|
||||||
|
|
||||||
interface ToolbarConfigurable {
|
|
||||||
|
|
||||||
fun configure(toolbar: MaterialToolbar)
|
|
||||||
}
|
|
@ -62,6 +62,7 @@ import im.vector.app.core.extensions.restart
|
|||||||
import im.vector.app.core.extensions.setTextOrHide
|
import im.vector.app.core.extensions.setTextOrHide
|
||||||
import im.vector.app.core.extensions.singletonEntryPoint
|
import im.vector.app.core.extensions.singletonEntryPoint
|
||||||
import im.vector.app.core.extensions.toMvRxBundle
|
import im.vector.app.core.extensions.toMvRxBundle
|
||||||
|
import im.vector.app.core.utils.ToolbarConfig
|
||||||
import im.vector.app.core.utils.toast
|
import im.vector.app.core.utils.toast
|
||||||
import im.vector.app.features.MainActivity
|
import im.vector.app.features.MainActivity
|
||||||
import im.vector.app.features.MainActivityArgs
|
import im.vector.app.features.MainActivityArgs
|
||||||
@ -126,6 +127,8 @@ abstract class VectorBaseActivity<VB : ViewBinding> : AppCompatActivity(), Maver
|
|||||||
.launchIn(lifecycleScope)
|
.launchIn(lifecycleScope)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var toolbar: ToolbarConfig? = null
|
||||||
|
|
||||||
/* ==========================================================================================
|
/* ==========================================================================================
|
||||||
* Views
|
* Views
|
||||||
* ========================================================================================== */
|
* ========================================================================================== */
|
||||||
@ -508,18 +511,6 @@ abstract class VectorBaseActivity<VB : ViewBinding> : AppCompatActivity(), Maver
|
|||||||
*/
|
*/
|
||||||
protected fun isFirstCreation() = savedInstanceState == null
|
protected fun isFirstCreation() = savedInstanceState == null
|
||||||
|
|
||||||
/**
|
|
||||||
* Configure the Toolbar, with default back button.
|
|
||||||
*/
|
|
||||||
protected fun configureToolbar(toolbar: MaterialToolbar, displayBack: Boolean = true) {
|
|
||||||
setSupportActionBar(toolbar)
|
|
||||||
supportActionBar?.let {
|
|
||||||
it.setDisplayShowHomeEnabled(displayBack)
|
|
||||||
it.setDisplayHomeAsUpEnabled(displayBack)
|
|
||||||
it.title = null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// ==============================================================================================
|
// ==============================================================================================
|
||||||
// Handle loading view (also called waiting view or spinner view)
|
// Handle loading view (also called waiting view or spinner view)
|
||||||
// ==============================================================================================
|
// ==============================================================================================
|
||||||
@ -629,4 +620,13 @@ abstract class VectorBaseActivity<VB : ViewBinding> : AppCompatActivity(), Maver
|
|||||||
toast(getString(R.string.not_implemented))
|
toast(getString(R.string.not_implemented))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets toolbar as actionBar
|
||||||
|
*
|
||||||
|
* @return Instance of [ToolbarConfig] with set of helper methods to configure toolbar
|
||||||
|
* */
|
||||||
|
fun setupToolbar(toolbar: MaterialToolbar) = ToolbarConfig(this, toolbar).also {
|
||||||
|
this.toolbar = it.setup()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -42,6 +42,7 @@ import im.vector.app.core.dialogs.UnrecognizedCertificateDialog
|
|||||||
import im.vector.app.core.error.ErrorFormatter
|
import im.vector.app.core.error.ErrorFormatter
|
||||||
import im.vector.app.core.extensions.singletonEntryPoint
|
import im.vector.app.core.extensions.singletonEntryPoint
|
||||||
import im.vector.app.core.extensions.toMvRxBundle
|
import im.vector.app.core.extensions.toMvRxBundle
|
||||||
|
import im.vector.app.core.utils.ToolbarConfig
|
||||||
import im.vector.app.features.analytics.AnalyticsTracker
|
import im.vector.app.features.analytics.AnalyticsTracker
|
||||||
import im.vector.app.features.analytics.plan.Screen
|
import im.vector.app.features.analytics.plan.Screen
|
||||||
import im.vector.app.features.analytics.screen.ScreenEvent
|
import im.vector.app.features.analytics.screen.ScreenEvent
|
||||||
@ -80,6 +81,12 @@ abstract class VectorBaseFragment<VB : ViewBinding> : Fragment(), MavericksView
|
|||||||
|
|
||||||
private var progress: AlertDialog? = null
|
private var progress: AlertDialog? = null
|
||||||
|
|
||||||
|
/**
|
||||||
|
* [ToolbarConfig] instance from host activity
|
||||||
|
* */
|
||||||
|
protected var toolbar: ToolbarConfig? = null
|
||||||
|
get() = (activity as? VectorBaseActivity<*>)?.toolbar
|
||||||
|
private set
|
||||||
/* ==========================================================================================
|
/* ==========================================================================================
|
||||||
* View model
|
* View model
|
||||||
* ========================================================================================== */
|
* ========================================================================================== */
|
||||||
@ -228,13 +235,12 @@ abstract class VectorBaseFragment<VB : ViewBinding> : Fragment(), MavericksView
|
|||||||
* ========================================================================================== */
|
* ========================================================================================== */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Configure the Toolbar.
|
* Sets toolbar as actionBar for current activity
|
||||||
*/
|
*
|
||||||
protected fun setupToolbar(toolbar: MaterialToolbar) {
|
* @return Instance of [ToolbarConfig] with set of helper methods to configure toolbar
|
||||||
val parentActivity = vectorBaseActivity
|
* */
|
||||||
if (parentActivity is ToolbarConfigurable) {
|
protected fun setupToolbar(toolbar: MaterialToolbar): ToolbarConfig {
|
||||||
parentActivity.configure(toolbar)
|
return vectorBaseActivity.setupToolbar(toolbar)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ==========================================================================================
|
/* ==========================================================================================
|
||||||
|
@ -0,0 +1,82 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2022 New Vector Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package im.vector.app.core.utils
|
||||||
|
|
||||||
|
import androidx.annotation.StringRes
|
||||||
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
|
import androidx.appcompat.content.res.AppCompatResources
|
||||||
|
import com.google.android.material.appbar.MaterialToolbar
|
||||||
|
import im.vector.app.R
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper class to configure toolbar.
|
||||||
|
* Wraps [MaterialToolbar] providing set of methods to configure it
|
||||||
|
*/
|
||||||
|
class ToolbarConfig(val activity: AppCompatActivity, val toolbar: MaterialToolbar) {
|
||||||
|
private var customBackResId: Int? = null
|
||||||
|
|
||||||
|
fun setup() = apply {
|
||||||
|
activity.setSupportActionBar(toolbar)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delegating property for [toolbar.title]
|
||||||
|
* */
|
||||||
|
var title: CharSequence? by toolbar::title
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delegating property for [toolbar.subtitle]
|
||||||
|
* */
|
||||||
|
var subtitle: CharSequence? by toolbar::subtitle
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets toolbar's title text
|
||||||
|
* */
|
||||||
|
fun setTitle(title: CharSequence?) = apply { toolbar.title = title }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets toolbar's title text using provided string resource
|
||||||
|
* */
|
||||||
|
fun setTitle(@StringRes titleRes: Int) = apply { toolbar.setTitle(titleRes) }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets toolbar's subtitle text
|
||||||
|
* */
|
||||||
|
fun setSubtitle(subtitle: String?) = apply { toolbar.subtitle = subtitle }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets toolbar's title text using provided string resource
|
||||||
|
* */
|
||||||
|
fun setSubtitle(@StringRes subtitleRes: Int) = apply { toolbar.subtitle = activity.getString(subtitleRes) }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enables/disables navigate back button
|
||||||
|
*
|
||||||
|
* @param isAllowed defines if back button is enabled. Default [true]
|
||||||
|
* @param useCross defines if cross icon should be used instead of arrow. Default [false]
|
||||||
|
* */
|
||||||
|
fun allowBack(isAllowed: Boolean = true, useCross: Boolean = false) = apply {
|
||||||
|
activity.supportActionBar?.let {
|
||||||
|
it.setDisplayShowHomeEnabled(isAllowed)
|
||||||
|
it.setDisplayHomeAsUpEnabled(isAllowed)
|
||||||
|
if (isAllowed && useCross) {
|
||||||
|
val navResId = customBackResId ?: R.drawable.ic_x_18dp
|
||||||
|
toolbar.navigationIcon = AppCompatResources.getDrawable(activity, navResId)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -19,17 +19,15 @@ package im.vector.app.features.attachments.preview
|
|||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import com.google.android.material.appbar.MaterialToolbar
|
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import im.vector.app.core.extensions.addFragment
|
import im.vector.app.core.extensions.addFragment
|
||||||
import im.vector.app.core.platform.ToolbarConfigurable
|
|
||||||
import im.vector.app.core.platform.VectorBaseActivity
|
import im.vector.app.core.platform.VectorBaseActivity
|
||||||
import im.vector.app.databinding.ActivitySimpleBinding
|
import im.vector.app.databinding.ActivitySimpleBinding
|
||||||
import im.vector.app.features.themes.ActivityOtherThemes
|
import im.vector.app.features.themes.ActivityOtherThemes
|
||||||
import org.matrix.android.sdk.api.session.content.ContentAttachmentData
|
import org.matrix.android.sdk.api.session.content.ContentAttachmentData
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class AttachmentsPreviewActivity : VectorBaseActivity<ActivitySimpleBinding>(), ToolbarConfigurable {
|
class AttachmentsPreviewActivity : VectorBaseActivity<ActivitySimpleBinding>() {
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
private const val EXTRA_FRAGMENT_ARGS = "EXTRA_FRAGMENT_ARGS"
|
private const val EXTRA_FRAGMENT_ARGS = "EXTRA_FRAGMENT_ARGS"
|
||||||
@ -72,8 +70,4 @@ class AttachmentsPreviewActivity : VectorBaseActivity<ActivitySimpleBinding>(),
|
|||||||
setResult(RESULT_OK, resultIntent)
|
setResult(RESULT_OK, resultIntent)
|
||||||
finish()
|
finish()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun configure(toolbar: MaterialToolbar) {
|
|
||||||
configureToolbar(toolbar)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -126,7 +126,7 @@ class VectorCallActivity : VectorBaseActivity<ActivityCallBinding>(), CallContro
|
|||||||
if (savedInstanceState != null) {
|
if (savedInstanceState != null) {
|
||||||
(supportFragmentManager.findFragmentByTag(FRAGMENT_DIAL_PAD_TAG) as? CallDialPadBottomSheet)?.callback = dialPadCallback
|
(supportFragmentManager.findFragmentByTag(FRAGMENT_DIAL_PAD_TAG) as? CallDialPadBottomSheet)?.callback = dialPadCallback
|
||||||
}
|
}
|
||||||
setSupportActionBar(views.callToolbar)
|
setupToolbar(views.callToolbar)
|
||||||
configureCallViews()
|
configureCallViews()
|
||||||
|
|
||||||
callViewModel.onEach {
|
callViewModel.onEach {
|
||||||
@ -257,18 +257,18 @@ class VectorCallActivity : VectorBaseActivity<ActivityCallBinding>(), CallContro
|
|||||||
views.fullscreenRenderer.isVisible = false
|
views.fullscreenRenderer.isVisible = false
|
||||||
views.pipRendererWrapper.isVisible = false
|
views.pipRendererWrapper.isVisible = false
|
||||||
views.callInfoGroup.isVisible = true
|
views.callInfoGroup.isVisible = true
|
||||||
views.callToolbar.setSubtitle(R.string.call_ringing)
|
toolbar?.setSubtitle(R.string.call_ringing)
|
||||||
configureCallInfo(state)
|
configureCallInfo(state)
|
||||||
}
|
}
|
||||||
is CallState.Answering -> {
|
is CallState.Answering -> {
|
||||||
views.fullscreenRenderer.isVisible = false
|
views.fullscreenRenderer.isVisible = false
|
||||||
views.pipRendererWrapper.isVisible = false
|
views.pipRendererWrapper.isVisible = false
|
||||||
views.callInfoGroup.isVisible = true
|
views.callInfoGroup.isVisible = true
|
||||||
views.callToolbar.setSubtitle(R.string.call_connecting)
|
toolbar?.setSubtitle(R.string.call_connecting)
|
||||||
configureCallInfo(state)
|
configureCallInfo(state)
|
||||||
}
|
}
|
||||||
is CallState.Connected -> {
|
is CallState.Connected -> {
|
||||||
views.callToolbar.subtitle = state.formattedDuration
|
toolbar?.subtitle = state.formattedDuration
|
||||||
if (callState.iceConnectionState == MxPeerConnectionState.CONNECTED) {
|
if (callState.iceConnectionState == MxPeerConnectionState.CONNECTED) {
|
||||||
if (state.isLocalOnHold || state.isRemoteOnHold) {
|
if (state.isLocalOnHold || state.isRemoteOnHold) {
|
||||||
views.smallIsHeldIcon.isVisible = true
|
views.smallIsHeldIcon.isVisible = true
|
||||||
@ -280,11 +280,11 @@ class VectorCallActivity : VectorBaseActivity<ActivityCallBinding>(), CallContro
|
|||||||
views.callActionText.setText(R.string.call_resume_action)
|
views.callActionText.setText(R.string.call_resume_action)
|
||||||
views.callActionText.isVisible = true
|
views.callActionText.isVisible = true
|
||||||
views.callActionText.setOnClickListener { callViewModel.handle(VectorCallViewActions.ToggleHoldResume) }
|
views.callActionText.setOnClickListener { callViewModel.handle(VectorCallViewActions.ToggleHoldResume) }
|
||||||
views.callToolbar.setSubtitle(R.string.call_held_by_you)
|
toolbar?.setSubtitle(R.string.call_held_by_you)
|
||||||
} else {
|
} else {
|
||||||
views.callActionText.isInvisible = true
|
views.callActionText.isInvisible = true
|
||||||
state.callInfo?.opponentUserItem?.let {
|
state.callInfo?.opponentUserItem?.let {
|
||||||
views.callToolbar.subtitle = getString(R.string.call_held_by_user, it.getBestName())
|
toolbar?.subtitle = getString(R.string.call_held_by_user, it.getBestName())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (state.transferee !is VectorCallViewState.TransfereeState.NoTransferee) {
|
} else if (state.transferee !is VectorCallViewState.TransfereeState.NoTransferee) {
|
||||||
@ -316,14 +316,14 @@ class VectorCallActivity : VectorBaseActivity<ActivityCallBinding>(), CallContro
|
|||||||
views.pipRendererWrapper.isVisible = false
|
views.pipRendererWrapper.isVisible = false
|
||||||
views.callInfoGroup.isVisible = true
|
views.callInfoGroup.isVisible = true
|
||||||
configureCallInfo(state)
|
configureCallInfo(state)
|
||||||
views.callToolbar.setSubtitle(R.string.call_connecting)
|
toolbar?.setSubtitle(R.string.call_connecting)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
is CallState.Ended -> {
|
is CallState.Ended -> {
|
||||||
views.fullscreenRenderer.isVisible = false
|
views.fullscreenRenderer.isVisible = false
|
||||||
views.pipRendererWrapper.isVisible = false
|
views.pipRendererWrapper.isVisible = false
|
||||||
views.callInfoGroup.isVisible = true
|
views.callInfoGroup.isVisible = true
|
||||||
views.callToolbar.setSubtitle(R.string.call_ended)
|
toolbar?.setSubtitle(R.string.call_ended)
|
||||||
configureCallInfo(state)
|
configureCallInfo(state)
|
||||||
}
|
}
|
||||||
else -> {
|
else -> {
|
||||||
@ -410,7 +410,7 @@ class VectorCallActivity : VectorBaseActivity<ActivityCallBinding>(), CallContro
|
|||||||
avatarRenderer.renderBlur(it, views.bgCallView, sampling = 20, rounded = false, colorFilter = colorFilter, addPlaceholder = false)
|
avatarRenderer.renderBlur(it, views.bgCallView, sampling = 20, rounded = false, colorFilter = colorFilter, addPlaceholder = false)
|
||||||
if (state.transferee is VectorCallViewState.TransfereeState.NoTransferee) {
|
if (state.transferee is VectorCallViewState.TransfereeState.NoTransferee) {
|
||||||
views.participantNameText.setTextOrHide(null)
|
views.participantNameText.setTextOrHide(null)
|
||||||
views.callToolbar.title = if (state.isVideoCall) {
|
toolbar?.title = if (state.isVideoCall) {
|
||||||
getString(R.string.video_call_with_participant, it.getBestName())
|
getString(R.string.video_call_with_participant, it.getBestName())
|
||||||
} else {
|
} else {
|
||||||
getString(R.string.audio_call_with_participant, it.getBestName())
|
getString(R.string.audio_call_with_participant, it.getBestName())
|
||||||
|
@ -70,7 +70,8 @@ class CallTransferActivity : VectorBaseActivity<ActivityCallTransferBinding>() {
|
|||||||
CallTransferPagerAdapter.DIAL_PAD_INDEX -> tab.text = getString(R.string.call_dial_pad_title)
|
CallTransferPagerAdapter.DIAL_PAD_INDEX -> tab.text = getString(R.string.call_dial_pad_title)
|
||||||
}
|
}
|
||||||
}.attach()
|
}.attach()
|
||||||
configureToolbar(views.callTransferToolbar)
|
setupToolbar(views.callTransferToolbar)
|
||||||
|
.allowBack()
|
||||||
views.callTransferToolbar.title = getString(R.string.call_transfer_title)
|
views.callTransferToolbar.title = getString(R.string.call_transfer_title)
|
||||||
setupConnectAction()
|
setupConnectAction()
|
||||||
}
|
}
|
||||||
|
@ -67,7 +67,8 @@ class ContactsBookFragment @Inject constructor(
|
|||||||
setupFilterView()
|
setupFilterView()
|
||||||
setupConsentView()
|
setupConsentView()
|
||||||
setupOnlyBoundContactsView()
|
setupOnlyBoundContactsView()
|
||||||
setupCloseView()
|
setupToolbar(views.phoneBookToolbar)
|
||||||
|
.allowBack(useCross = true)
|
||||||
contactsBookViewModel.observeViewEvents {
|
contactsBookViewModel.observeViewEvents {
|
||||||
when (it) {
|
when (it) {
|
||||||
is ContactsBookViewEvents.Failure -> showFailure(it.throwable)
|
is ContactsBookViewEvents.Failure -> showFailure(it.throwable)
|
||||||
@ -119,12 +120,6 @@ class ContactsBookFragment @Inject constructor(
|
|||||||
views.phoneBookRecyclerView.configureWith(contactsBookController)
|
views.phoneBookRecyclerView.configureWith(contactsBookController)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setupCloseView() {
|
|
||||||
views.phoneBookClose.debouncedClicks {
|
|
||||||
sharedActionViewModel.post(UserListSharedAction.GoBack)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun invalidate() = withState(contactsBookViewModel) { state ->
|
override fun invalidate() = withState(contactsBookViewModel) { state ->
|
||||||
views.phoneBookSearchForMatrixContacts.isVisible = state.filteredMappedContacts.isNotEmpty() && state.identityServerUrl != null && !state.userConsent
|
views.phoneBookSearchForMatrixContacts.isVisible = state.filteredMappedContacts.isNotEmpty() && state.identityServerUrl != null && !state.userConsent
|
||||||
views.phoneBookOnlyBoundContacts.isVisible = state.isBoundRetrieved
|
views.phoneBookOnlyBoundContacts.isVisible = state.isBoundRetrieved
|
||||||
|
@ -64,11 +64,8 @@ class CreateDirectRoomByQrCodeFragment @Inject constructor() : VectorBaseFragmen
|
|||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
setupToolbar(views.qrScannerToolbar)
|
setupToolbar(views.qrScannerToolbar)
|
||||||
|
.setTitle(R.string.add_by_qr_code)
|
||||||
views.qrScannerClose.debouncedClicks {
|
.allowBack(useCross = true)
|
||||||
requireActivity().onBackPressed()
|
|
||||||
}
|
|
||||||
views.qrScannerTitle.text = getString(R.string.add_by_qr_code)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onResume() {
|
override fun onResume() {
|
||||||
|
@ -33,7 +33,6 @@ import androidx.fragment.app.FragmentManager
|
|||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import com.airbnb.mvrx.Mavericks
|
import com.airbnb.mvrx.Mavericks
|
||||||
import com.airbnb.mvrx.viewModel
|
import com.airbnb.mvrx.viewModel
|
||||||
import com.google.android.material.appbar.MaterialToolbar
|
|
||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import im.vector.app.AppStateHandler
|
import im.vector.app.AppStateHandler
|
||||||
@ -43,7 +42,6 @@ import im.vector.app.core.extensions.exhaustive
|
|||||||
import im.vector.app.core.extensions.hideKeyboard
|
import im.vector.app.core.extensions.hideKeyboard
|
||||||
import im.vector.app.core.extensions.registerStartForActivityResult
|
import im.vector.app.core.extensions.registerStartForActivityResult
|
||||||
import im.vector.app.core.extensions.replaceFragment
|
import im.vector.app.core.extensions.replaceFragment
|
||||||
import im.vector.app.core.platform.ToolbarConfigurable
|
|
||||||
import im.vector.app.core.platform.VectorBaseActivity
|
import im.vector.app.core.platform.VectorBaseActivity
|
||||||
import im.vector.app.core.pushers.PushersManager
|
import im.vector.app.core.pushers.PushersManager
|
||||||
import im.vector.app.databinding.ActivityHomeBinding
|
import im.vector.app.databinding.ActivityHomeBinding
|
||||||
@ -99,7 +97,6 @@ data class HomeActivityArgs(
|
|||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class HomeActivity :
|
class HomeActivity :
|
||||||
VectorBaseActivity<ActivityHomeBinding>(),
|
VectorBaseActivity<ActivityHomeBinding>(),
|
||||||
ToolbarConfigurable,
|
|
||||||
NavigationInterceptor,
|
NavigationInterceptor,
|
||||||
SpaceInviteBottomSheet.InteractionListener,
|
SpaceInviteBottomSheet.InteractionListener,
|
||||||
MatrixToBottomSheet.InteractionListener {
|
MatrixToBottomSheet.InteractionListener {
|
||||||
@ -493,10 +490,6 @@ class HomeActivity :
|
|||||||
serverBackupStatusViewModel.refreshRemoteStateIfNeeded()
|
serverBackupStatusViewModel.refreshRemoteStateIfNeeded()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun configure(toolbar: MaterialToolbar) {
|
|
||||||
configureToolbar(toolbar, false)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun getMenuRes() = R.menu.home
|
override fun getMenuRes() = R.menu.home
|
||||||
|
|
||||||
override fun onPrepareOptionsMenu(menu: Menu): Boolean {
|
override fun onPrepareOptionsMenu(menu: Menu): Boolean {
|
||||||
|
@ -33,7 +33,6 @@ import im.vector.app.R
|
|||||||
import im.vector.app.RoomGroupingMethod
|
import im.vector.app.RoomGroupingMethod
|
||||||
import im.vector.app.core.extensions.commitTransaction
|
import im.vector.app.core.extensions.commitTransaction
|
||||||
import im.vector.app.core.extensions.toMvRxBundle
|
import im.vector.app.core.extensions.toMvRxBundle
|
||||||
import im.vector.app.core.platform.ToolbarConfigurable
|
|
||||||
import im.vector.app.core.platform.VectorBaseActivity
|
import im.vector.app.core.platform.VectorBaseActivity
|
||||||
import im.vector.app.core.platform.VectorBaseFragment
|
import im.vector.app.core.platform.VectorBaseFragment
|
||||||
import im.vector.app.core.resources.ColorProvider
|
import im.vector.app.core.resources.ColorProvider
|
||||||
@ -314,11 +313,9 @@ class HomeDetailFragment @Inject constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun setupToolbar() {
|
private fun setupToolbar() {
|
||||||
val parentActivity = vectorBaseActivity
|
setupToolbar(views.groupToolbar)
|
||||||
if (parentActivity is ToolbarConfigurable) {
|
.setTitle(null)
|
||||||
parentActivity.configure(views.groupToolbar)
|
|
||||||
}
|
|
||||||
views.groupToolbar.title = ""
|
|
||||||
views.groupToolbarAvatarImageView.debouncedClicks {
|
views.groupToolbarAvatarImageView.debouncedClicks {
|
||||||
sharedActionViewModel.post(HomeActivitySharedAction.OpenDrawer)
|
sharedActionViewModel.post(HomeActivitySharedAction.OpenDrawer)
|
||||||
}
|
}
|
||||||
|
@ -28,13 +28,11 @@ import androidx.fragment.app.FragmentManager
|
|||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import com.airbnb.mvrx.Mavericks
|
import com.airbnb.mvrx.Mavericks
|
||||||
import com.airbnb.mvrx.viewModel
|
import com.airbnb.mvrx.viewModel
|
||||||
import com.google.android.material.appbar.MaterialToolbar
|
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import im.vector.app.core.extensions.endKeepScreenOn
|
import im.vector.app.core.extensions.endKeepScreenOn
|
||||||
import im.vector.app.core.extensions.hideKeyboard
|
import im.vector.app.core.extensions.hideKeyboard
|
||||||
import im.vector.app.core.extensions.keepScreenOn
|
import im.vector.app.core.extensions.keepScreenOn
|
||||||
import im.vector.app.core.extensions.replaceFragment
|
import im.vector.app.core.extensions.replaceFragment
|
||||||
import im.vector.app.core.platform.ToolbarConfigurable
|
|
||||||
import im.vector.app.core.platform.VectorBaseActivity
|
import im.vector.app.core.platform.VectorBaseActivity
|
||||||
import im.vector.app.databinding.ActivityRoomDetailBinding
|
import im.vector.app.databinding.ActivityRoomDetailBinding
|
||||||
import im.vector.app.features.analytics.plan.Screen
|
import im.vector.app.features.analytics.plan.Screen
|
||||||
@ -53,7 +51,6 @@ import javax.inject.Inject
|
|||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class RoomDetailActivity :
|
class RoomDetailActivity :
|
||||||
VectorBaseActivity<ActivityRoomDetailBinding>(),
|
VectorBaseActivity<ActivityRoomDetailBinding>(),
|
||||||
ToolbarConfigurable,
|
|
||||||
MatrixToBottomSheet.InteractionListener {
|
MatrixToBottomSheet.InteractionListener {
|
||||||
|
|
||||||
override fun getBinding(): ActivityRoomDetailBinding {
|
override fun getBinding(): ActivityRoomDetailBinding {
|
||||||
@ -159,10 +156,6 @@ class RoomDetailActivity :
|
|||||||
super.onDestroy()
|
super.onDestroy()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun configure(toolbar: MaterialToolbar) {
|
|
||||||
configureToolbar(toolbar)
|
|
||||||
}
|
|
||||||
|
|
||||||
private val drawerListener = object : DrawerLayout.SimpleDrawerListener() {
|
private val drawerListener = object : DrawerLayout.SimpleDrawerListener() {
|
||||||
private var drawerScreenEvent: ScreenEvent? = null
|
private var drawerScreenEvent: ScreenEvent? = null
|
||||||
override fun onDrawerOpened(drawerView: View) {
|
override fun onDrawerOpened(drawerView: View) {
|
||||||
|
@ -365,6 +365,7 @@ class RoomDetailFragment @Inject constructor(
|
|||||||
keyboardStateUtils = KeyboardStateUtils(requireActivity())
|
keyboardStateUtils = KeyboardStateUtils(requireActivity())
|
||||||
lazyLoadedViews.bind(views)
|
lazyLoadedViews.bind(views)
|
||||||
setupToolbar(views.roomToolbar)
|
setupToolbar(views.roomToolbar)
|
||||||
|
.allowBack()
|
||||||
setupRecyclerView()
|
setupRecyclerView()
|
||||||
setupComposer()
|
setupComposer()
|
||||||
setupNotificationView()
|
setupNotificationView()
|
||||||
@ -1514,7 +1515,7 @@ class RoomDetailFragment @Inject constructor(
|
|||||||
views.roomToolbarSubtitleView.apply {
|
views.roomToolbarSubtitleView.apply {
|
||||||
setTextOrHide(subtitle)
|
setTextOrHide(subtitle)
|
||||||
if (typingMessage.isNullOrBlank()) {
|
if (typingMessage.isNullOrBlank()) {
|
||||||
setTextColor(colorProvider.getColorFromAttribute(R.attr.vctr_content_primary))
|
setTextColor(colorProvider.getColorFromAttribute(R.attr.vctr_content_secondary))
|
||||||
setTypeface(null, Typeface.NORMAL)
|
setTypeface(null, Typeface.NORMAL)
|
||||||
} else {
|
} else {
|
||||||
setTextColor(colorProvider.getColorFromAttribute(R.attr.colorPrimary))
|
setTextColor(colorProvider.getColorFromAttribute(R.attr.colorPrimary))
|
||||||
|
@ -40,7 +40,8 @@ class SearchActivity : VectorBaseActivity<ActivitySearchBinding>() {
|
|||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
configureToolbar(views.searchToolbar)
|
setupToolbar(views.searchToolbar)
|
||||||
|
.allowBack()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun initUiAndData() {
|
override fun initUiAndData() {
|
||||||
|
@ -44,7 +44,8 @@ class FilteredRoomsActivity : VectorBaseActivity<ActivityFilteredRoomsBinding>()
|
|||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
analyticsScreenName = Screen.ScreenName.RoomFilter
|
analyticsScreenName = Screen.ScreenName.RoomFilter
|
||||||
configureToolbar(views.filteredRoomsToolbar)
|
setupToolbar(views.filteredRoomsToolbar)
|
||||||
|
.allowBack()
|
||||||
if (isFirstCreation()) {
|
if (isFirstCreation()) {
|
||||||
val params = RoomListParams(RoomListDisplayMode.FILTERED)
|
val params = RoomListParams(RoomListDisplayMode.FILTERED)
|
||||||
replaceFragment(views.filteredRoomsFragmentContainer, RoomListFragment::class.java, params, FRAGMENT_TAG)
|
replaceFragment(views.filteredRoomsFragmentContainer, RoomListFragment::class.java, params, FRAGMENT_TAG)
|
||||||
|
@ -29,7 +29,6 @@ import androidx.fragment.app.FragmentManager
|
|||||||
import androidx.fragment.app.FragmentTransaction
|
import androidx.fragment.app.FragmentTransaction
|
||||||
import com.airbnb.mvrx.viewModel
|
import com.airbnb.mvrx.viewModel
|
||||||
import com.airbnb.mvrx.withState
|
import com.airbnb.mvrx.withState
|
||||||
import com.google.android.material.appbar.MaterialToolbar
|
|
||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import im.vector.app.R
|
import im.vector.app.R
|
||||||
@ -37,7 +36,6 @@ import im.vector.app.core.extensions.POP_BACK_STACK_EXCLUSIVE
|
|||||||
import im.vector.app.core.extensions.addFragment
|
import im.vector.app.core.extensions.addFragment
|
||||||
import im.vector.app.core.extensions.addFragmentToBackstack
|
import im.vector.app.core.extensions.addFragmentToBackstack
|
||||||
import im.vector.app.core.extensions.exhaustive
|
import im.vector.app.core.extensions.exhaustive
|
||||||
import im.vector.app.core.platform.ToolbarConfigurable
|
|
||||||
import im.vector.app.core.platform.VectorBaseActivity
|
import im.vector.app.core.platform.VectorBaseActivity
|
||||||
import im.vector.app.databinding.ActivityLoginBinding
|
import im.vector.app.databinding.ActivityLoginBinding
|
||||||
import im.vector.app.features.analytics.plan.Screen
|
import im.vector.app.features.analytics.plan.Screen
|
||||||
@ -54,7 +52,7 @@ import org.matrix.android.sdk.api.extensions.tryOrNull
|
|||||||
* The LoginActivity manages the fragment navigation and also display the loading View
|
* The LoginActivity manages the fragment navigation and also display the loading View
|
||||||
*/
|
*/
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
open class LoginActivity : VectorBaseActivity<ActivityLoginBinding>(), ToolbarConfigurable, UnlockedActivity {
|
open class LoginActivity : VectorBaseActivity<ActivityLoginBinding>(), UnlockedActivity {
|
||||||
|
|
||||||
private val loginViewModel: LoginViewModel by viewModel()
|
private val loginViewModel: LoginViewModel by viewModel()
|
||||||
|
|
||||||
@ -353,10 +351,6 @@ open class LoginActivity : VectorBaseActivity<ActivityLoginBinding>(), ToolbarCo
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun configure(toolbar: MaterialToolbar) {
|
|
||||||
configureToolbar(toolbar)
|
|
||||||
}
|
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
private const val FRAGMENT_REGISTRATION_STAGE_TAG = "FRAGMENT_REGISTRATION_STAGE_TAG"
|
private const val FRAGMENT_REGISTRATION_STAGE_TAG = "FRAGMENT_REGISTRATION_STAGE_TAG"
|
||||||
private const val FRAGMENT_LOGIN_TAG = "FRAGMENT_LOGIN_TAG"
|
private const val FRAGMENT_LOGIN_TAG = "FRAGMENT_LOGIN_TAG"
|
||||||
|
@ -64,6 +64,7 @@ class LoginWebFragment @Inject constructor(
|
|||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
setupToolbar(views.loginWebToolbar)
|
setupToolbar(views.loginWebToolbar)
|
||||||
|
.allowBack()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun updateWithState(state: LoginViewState) {
|
override fun updateWithState(state: LoginViewState) {
|
||||||
@ -78,7 +79,7 @@ class LoginWebFragment @Inject constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun setupTitle(state: LoginViewState) {
|
private fun setupTitle(state: LoginViewState) {
|
||||||
views.loginWebToolbar.title = when (state.signMode) {
|
toolbar?.title = when (state.signMode) {
|
||||||
SignMode.SignIn -> getString(R.string.login_signin)
|
SignMode.SignIn -> getString(R.string.login_signin)
|
||||||
else -> getString(R.string.login_signup)
|
else -> getString(R.string.login_signup)
|
||||||
}
|
}
|
||||||
@ -149,7 +150,7 @@ class LoginWebFragment @Inject constructor(
|
|||||||
override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) {
|
override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) {
|
||||||
super.onPageStarted(view, url, favicon)
|
super.onPageStarted(view, url, favicon)
|
||||||
|
|
||||||
views.loginWebToolbar.subtitle = url
|
toolbar?.subtitle = url
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onPageFinished(view: WebView, url: String) {
|
override fun onPageFinished(view: WebView, url: String) {
|
||||||
|
@ -65,6 +65,7 @@ class LoginWebFragment2 @Inject constructor(
|
|||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
setupToolbar(views.loginWebToolbar)
|
setupToolbar(views.loginWebToolbar)
|
||||||
|
.allowBack()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun updateWithState(state: LoginViewState2) {
|
override fun updateWithState(state: LoginViewState2) {
|
||||||
@ -79,7 +80,7 @@ class LoginWebFragment2 @Inject constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun setupTitle(state: LoginViewState2) {
|
private fun setupTitle(state: LoginViewState2) {
|
||||||
views.loginWebToolbar.title = when (state.signMode) {
|
toolbar?.title = when (state.signMode) {
|
||||||
SignMode2.SignIn -> getString(R.string.login_signin)
|
SignMode2.SignIn -> getString(R.string.login_signin)
|
||||||
else -> getString(R.string.login_signup)
|
else -> getString(R.string.login_signup)
|
||||||
}
|
}
|
||||||
@ -150,7 +151,7 @@ class LoginWebFragment2 @Inject constructor(
|
|||||||
override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) {
|
override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) {
|
||||||
super.onPageStarted(view, url, favicon)
|
super.onPageStarted(view, url, favicon)
|
||||||
|
|
||||||
views.loginWebToolbar.subtitle = url
|
toolbar?.subtitle = url
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onPageFinished(view: WebView, url: String) {
|
override fun onPageFinished(view: WebView, url: String) {
|
||||||
|
@ -38,12 +38,9 @@ class BigImageViewerActivity : VectorBaseActivity<ActivityBigImageViewerBinding>
|
|||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
setSupportActionBar(views.bigImageViewerToolbar)
|
setupToolbar(views.bigImageViewerToolbar)
|
||||||
supportActionBar?.apply {
|
.setTitle(intent.getStringExtra(EXTRA_TITLE))
|
||||||
title = intent.getStringExtra(EXTRA_TITLE)
|
.allowBack()
|
||||||
setHomeButtonEnabled(true)
|
|
||||||
setDisplayHomeAsUpEnabled(true)
|
|
||||||
}
|
|
||||||
|
|
||||||
val uri = sessionHolder.getSafeActiveSession()
|
val uri = sessionHolder.getSafeActiveSession()
|
||||||
?.contentUrlResolver()
|
?.contentUrlResolver()
|
||||||
|
@ -19,10 +19,8 @@ package im.vector.app.features.onboarding
|
|||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import com.google.android.material.appbar.MaterialToolbar
|
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import im.vector.app.core.extensions.lazyViewModel
|
import im.vector.app.core.extensions.lazyViewModel
|
||||||
import im.vector.app.core.platform.ToolbarConfigurable
|
|
||||||
import im.vector.app.core.platform.VectorBaseActivity
|
import im.vector.app.core.platform.VectorBaseActivity
|
||||||
import im.vector.app.core.platform.lifecycleAwareLazy
|
import im.vector.app.core.platform.lifecycleAwareLazy
|
||||||
import im.vector.app.databinding.ActivityLoginBinding
|
import im.vector.app.databinding.ActivityLoginBinding
|
||||||
@ -31,7 +29,7 @@ import im.vector.app.features.pin.UnlockedActivity
|
|||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class OnboardingActivity : VectorBaseActivity<ActivityLoginBinding>(), ToolbarConfigurable, UnlockedActivity {
|
class OnboardingActivity : VectorBaseActivity<ActivityLoginBinding>(), UnlockedActivity {
|
||||||
|
|
||||||
private val onboardingVariant by lifecycleAwareLazy {
|
private val onboardingVariant by lifecycleAwareLazy {
|
||||||
onboardingVariantFactory.create(this, views = views, onboardingViewModel = lazyViewModel(), loginViewModel2 = lazyViewModel())
|
onboardingVariantFactory.create(this, views = views, onboardingViewModel = lazyViewModel(), loginViewModel2 = lazyViewModel())
|
||||||
@ -43,10 +41,6 @@ class OnboardingActivity : VectorBaseActivity<ActivityLoginBinding>(), ToolbarCo
|
|||||||
|
|
||||||
override fun getCoordinatorLayout() = views.coordinatorLayout
|
override fun getCoordinatorLayout() = views.coordinatorLayout
|
||||||
|
|
||||||
override fun configure(toolbar: MaterialToolbar) {
|
|
||||||
configureToolbar(toolbar)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onNewIntent(intent: Intent?) {
|
override fun onNewIntent(intent: Intent?) {
|
||||||
super.onNewIntent(intent)
|
super.onNewIntent(intent)
|
||||||
onboardingVariant.onNewIntent(intent)
|
onboardingVariant.onNewIntent(intent)
|
||||||
|
@ -69,6 +69,7 @@ class FtueAuthWebFragment @Inject constructor(
|
|||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
setupToolbar(views.loginWebToolbar)
|
setupToolbar(views.loginWebToolbar)
|
||||||
|
.allowBack()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun updateWithState(state: OnboardingViewState) {
|
override fun updateWithState(state: OnboardingViewState) {
|
||||||
@ -83,7 +84,7 @@ class FtueAuthWebFragment @Inject constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun setupTitle(state: OnboardingViewState) {
|
private fun setupTitle(state: OnboardingViewState) {
|
||||||
views.loginWebToolbar.title = when (state.signMode) {
|
toolbar?.title = when (state.signMode) {
|
||||||
SignMode.SignIn -> getString(R.string.login_signin)
|
SignMode.SignIn -> getString(R.string.login_signin)
|
||||||
else -> getString(R.string.login_signup)
|
else -> getString(R.string.login_signup)
|
||||||
}
|
}
|
||||||
|
@ -19,15 +19,13 @@ package im.vector.app.features.pin
|
|||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import com.airbnb.mvrx.Mavericks
|
import com.airbnb.mvrx.Mavericks
|
||||||
import com.google.android.material.appbar.MaterialToolbar
|
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import im.vector.app.core.extensions.addFragment
|
import im.vector.app.core.extensions.addFragment
|
||||||
import im.vector.app.core.platform.ToolbarConfigurable
|
|
||||||
import im.vector.app.core.platform.VectorBaseActivity
|
import im.vector.app.core.platform.VectorBaseActivity
|
||||||
import im.vector.app.databinding.ActivitySimpleBinding
|
import im.vector.app.databinding.ActivitySimpleBinding
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class PinActivity : VectorBaseActivity<ActivitySimpleBinding>(), ToolbarConfigurable, UnlockedActivity {
|
class PinActivity : VectorBaseActivity<ActivitySimpleBinding>(), UnlockedActivity {
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun newIntent(context: Context, args: PinArgs): Intent {
|
fun newIntent(context: Context, args: PinArgs): Intent {
|
||||||
@ -47,8 +45,4 @@ class PinActivity : VectorBaseActivity<ActivitySimpleBinding>(), ToolbarConfigur
|
|||||||
addFragment(views.simpleFragmentContainer, PinFragment::class.java, fragmentArgs)
|
addFragment(views.simpleFragmentContainer, PinFragment::class.java, fragmentArgs)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun configure(toolbar: MaterialToolbar) {
|
|
||||||
configureToolbar(toolbar)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -49,17 +49,15 @@ class CreatePollFragment @Inject constructor(
|
|||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
vectorBaseActivity.setSupportActionBar(views.createPollToolbar)
|
|
||||||
|
setupToolbar(views.createPollToolbar)
|
||||||
|
.allowBack(useCross = true)
|
||||||
|
|
||||||
views.createPollRecyclerView.configureWith(controller, disableItemAnimation = true)
|
views.createPollRecyclerView.configureWith(controller, disableItemAnimation = true)
|
||||||
// workaround for https://github.com/vector-im/element-android/issues/4735
|
// workaround for https://github.com/vector-im/element-android/issues/4735
|
||||||
views.createPollRecyclerView.setItemViewCacheSize(MAX_OPTIONS_COUNT + 4)
|
views.createPollRecyclerView.setItemViewCacheSize(MAX_OPTIONS_COUNT + 4)
|
||||||
controller.callback = this
|
controller.callback = this
|
||||||
|
|
||||||
views.createPollClose.debouncedClicks {
|
|
||||||
requireActivity().finish()
|
|
||||||
}
|
|
||||||
|
|
||||||
views.createPollButton.debouncedClicks {
|
views.createPollButton.debouncedClicks {
|
||||||
viewModel.handle(CreatePollAction.OnCreatePoll)
|
viewModel.handle(CreatePollAction.OnCreatePoll)
|
||||||
}
|
}
|
||||||
|
@ -38,10 +38,9 @@ class QrCodeScannerFragment @Inject constructor() :
|
|||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
views.qrScannerClose.debouncedClicks {
|
setupToolbar(views.qrScannerToolbar)
|
||||||
requireActivity().onBackPressed()
|
.setTitle(R.string.verification_scan_their_code)
|
||||||
}
|
.allowBack(useCross = true)
|
||||||
views.qrScannerTitle.text = getString(R.string.verification_scan_their_code)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onResume() {
|
override fun onResume() {
|
||||||
|
@ -45,7 +45,8 @@ class BugReportActivity : VectorBaseActivity<ActivityBugReportBinding>() {
|
|||||||
private var reportType: ReportType = ReportType.BUG_REPORT
|
private var reportType: ReportType = ReportType.BUG_REPORT
|
||||||
|
|
||||||
override fun initUiAndData() {
|
override fun initUiAndData() {
|
||||||
configureToolbar(views.bugReportToolbar)
|
setupToolbar(views.bugReportToolbar)
|
||||||
|
.allowBack()
|
||||||
setupViews()
|
setupViews()
|
||||||
|
|
||||||
if (bugReporter.screenshot != null) {
|
if (bugReporter.screenshot != null) {
|
||||||
|
@ -79,7 +79,8 @@ class EmojiReactionPickerActivity : VectorBaseActivity<ActivityEmojiReactionPick
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun initUiAndData() {
|
override fun initUiAndData() {
|
||||||
configureToolbar(views.emojiPickerToolbar)
|
setupToolbar(views.emojiPickerToolbar)
|
||||||
|
.allowBack()
|
||||||
emojiCompatFontProvider.let {
|
emojiCompatFontProvider.let {
|
||||||
EmojiDrawView.configureTextPaint(this, it.typeface)
|
EmojiDrawView.configureTextPaint(this, it.typeface)
|
||||||
it.addListener(this)
|
it.addListener(this)
|
||||||
|
@ -69,12 +69,8 @@ class PublicRoomsFragment @Inject constructor(
|
|||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
vectorBaseActivity.setSupportActionBar(views.publicRoomsToolbar)
|
setupToolbar(views.publicRoomsToolbar)
|
||||||
|
.allowBack()
|
||||||
vectorBaseActivity.supportActionBar?.let {
|
|
||||||
it.setDisplayShowHomeEnabled(true)
|
|
||||||
it.setDisplayHomeAsUpEnabled(true)
|
|
||||||
}
|
|
||||||
|
|
||||||
sharedActionViewModel = activityViewModelProvider.get(RoomDirectorySharedActionViewModel::class.java)
|
sharedActionViewModel = activityViewModelProvider.get(RoomDirectorySharedActionViewModel::class.java)
|
||||||
setupRecyclerView()
|
setupRecyclerView()
|
||||||
|
@ -22,10 +22,8 @@ import android.content.Intent
|
|||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import com.airbnb.mvrx.Mavericks
|
import com.airbnb.mvrx.Mavericks
|
||||||
import com.google.android.material.appbar.MaterialToolbar
|
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import im.vector.app.core.extensions.addFragment
|
import im.vector.app.core.extensions.addFragment
|
||||||
import im.vector.app.core.platform.ToolbarConfigurable
|
|
||||||
import im.vector.app.core.platform.VectorBaseActivity
|
import im.vector.app.core.platform.VectorBaseActivity
|
||||||
import im.vector.app.databinding.ActivitySimpleBinding
|
import im.vector.app.databinding.ActivitySimpleBinding
|
||||||
import im.vector.app.features.analytics.plan.Screen
|
import im.vector.app.features.analytics.plan.Screen
|
||||||
@ -38,7 +36,7 @@ import kotlinx.coroutines.flow.onEach
|
|||||||
* Simple container for [CreateRoomFragment]
|
* Simple container for [CreateRoomFragment]
|
||||||
*/
|
*/
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class CreateRoomActivity : VectorBaseActivity<ActivitySimpleBinding>(), ToolbarConfigurable {
|
class CreateRoomActivity : VectorBaseActivity<ActivitySimpleBinding>() {
|
||||||
|
|
||||||
private lateinit var sharedActionViewModel: RoomDirectorySharedActionViewModel
|
private lateinit var sharedActionViewModel: RoomDirectorySharedActionViewModel
|
||||||
|
|
||||||
@ -46,10 +44,6 @@ class CreateRoomActivity : VectorBaseActivity<ActivitySimpleBinding>(), ToolbarC
|
|||||||
|
|
||||||
override fun getCoordinatorLayout() = views.coordinatorLayout
|
override fun getCoordinatorLayout() = views.coordinatorLayout
|
||||||
|
|
||||||
override fun configure(toolbar: MaterialToolbar) {
|
|
||||||
configureToolbar(toolbar)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun initUiAndData() {
|
override fun initUiAndData() {
|
||||||
if (isFirstCreation()) {
|
if (isFirstCreation()) {
|
||||||
val fragmentArgs: CreateRoomArgs = intent?.extras?.getParcelable(Mavericks.KEY_ARG) ?: return
|
val fragmentArgs: CreateRoomArgs = intent?.extras?.getParcelable(Mavericks.KEY_ARG) ?: return
|
||||||
|
@ -83,14 +83,13 @@ class CreateRoomFragment @Inject constructor(
|
|||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
vectorBaseActivity.setSupportActionBar(views.createRoomToolbar)
|
|
||||||
sharedActionViewModel = activityViewModelProvider.get(RoomDirectorySharedActionViewModel::class.java)
|
sharedActionViewModel = activityViewModelProvider.get(RoomDirectorySharedActionViewModel::class.java)
|
||||||
setupRoomJoinRuleSharedActionViewModel()
|
setupRoomJoinRuleSharedActionViewModel()
|
||||||
setupWaitingView()
|
setupWaitingView()
|
||||||
setupRecyclerView()
|
setupRecyclerView()
|
||||||
views.createRoomClose.debouncedClicks {
|
setupToolbar(views.createRoomToolbar)
|
||||||
sharedActionViewModel.post(RoomDirectorySharedAction.Back)
|
.setTitle(if (args.isSpace) R.string.create_new_space else R.string.create_new_room)
|
||||||
}
|
.allowBack(useCross = true)
|
||||||
viewModel.observeViewEvents {
|
viewModel.observeViewEvents {
|
||||||
when (it) {
|
when (it) {
|
||||||
CreateRoomViewEvents.Quit -> vectorBaseActivity.onBackPressed()
|
CreateRoomViewEvents.Quit -> vectorBaseActivity.onBackPressed()
|
||||||
@ -99,11 +98,6 @@ class CreateRoomFragment @Inject constructor(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onResume() {
|
|
||||||
super.onResume()
|
|
||||||
views.createRoomTitle.text = getString(if (args.isSpace) R.string.create_new_space else R.string.create_new_room)
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun setupRoomJoinRuleSharedActionViewModel() {
|
private fun setupRoomJoinRuleSharedActionViewModel() {
|
||||||
roomJoinRuleSharedActionViewModel = activityViewModelProvider.get(RoomJoinRuleSharedActionViewModel::class.java)
|
roomJoinRuleSharedActionViewModel = activityViewModelProvider.get(RoomJoinRuleSharedActionViewModel::class.java)
|
||||||
roomJoinRuleSharedActionViewModel
|
roomJoinRuleSharedActionViewModel
|
||||||
|
@ -20,7 +20,6 @@ import android.os.Bundle
|
|||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
|
||||||
import com.airbnb.mvrx.activityViewModel
|
import com.airbnb.mvrx.activityViewModel
|
||||||
import com.airbnb.mvrx.fragmentViewModel
|
import com.airbnb.mvrx.fragmentViewModel
|
||||||
import com.airbnb.mvrx.withState
|
import com.airbnb.mvrx.withState
|
||||||
@ -61,12 +60,9 @@ class RoomDirectoryPickerFragment @Inject constructor(private val roomDirectoryP
|
|||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
vectorBaseActivity.setSupportActionBar(views.toolbar)
|
setupToolbar(views.toolbar)
|
||||||
|
.setTitle(R.string.select_room_directory)
|
||||||
vectorBaseActivity.supportActionBar?.let {
|
.allowBack()
|
||||||
it.setDisplayShowHomeEnabled(true)
|
|
||||||
it.setDisplayHomeAsUpEnabled(true)
|
|
||||||
}
|
|
||||||
|
|
||||||
sharedActionViewModel = activityViewModelProvider.get(RoomDirectorySharedActionViewModel::class.java)
|
sharedActionViewModel = activityViewModelProvider.get(RoomDirectorySharedActionViewModel::class.java)
|
||||||
setupRecyclerView()
|
setupRecyclerView()
|
||||||
@ -115,11 +111,6 @@ class RoomDirectoryPickerFragment @Inject constructor(private val roomDirectoryP
|
|||||||
pickerViewModel.handle(RoomDirectoryPickerAction.RemoveServer(roomDirectoryServer))
|
pickerViewModel.handle(RoomDirectoryPickerAction.RemoveServer(roomDirectoryServer))
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onResume() {
|
|
||||||
super.onResume()
|
|
||||||
(activity as? AppCompatActivity)?.supportActionBar?.setTitle(R.string.select_room_directory)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun retry() {
|
override fun retry() {
|
||||||
Timber.v("Retry")
|
Timber.v("Retry")
|
||||||
pickerViewModel.handle(RoomDirectoryPickerAction.Retry)
|
pickerViewModel.handle(RoomDirectoryPickerAction.Retry)
|
||||||
|
@ -19,10 +19,8 @@ package im.vector.app.features.roomdirectory.roompreview
|
|||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.os.Parcelable
|
import android.os.Parcelable
|
||||||
import com.google.android.material.appbar.MaterialToolbar
|
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import im.vector.app.core.extensions.addFragment
|
import im.vector.app.core.extensions.addFragment
|
||||||
import im.vector.app.core.platform.ToolbarConfigurable
|
|
||||||
import im.vector.app.core.platform.VectorBaseActivity
|
import im.vector.app.core.platform.VectorBaseActivity
|
||||||
import im.vector.app.databinding.ActivitySimpleBinding
|
import im.vector.app.databinding.ActivitySimpleBinding
|
||||||
import im.vector.app.features.roomdirectory.RoomDirectoryData
|
import im.vector.app.features.roomdirectory.RoomDirectoryData
|
||||||
@ -53,7 +51,7 @@ data class RoomPreviewData(
|
|||||||
}
|
}
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class RoomPreviewActivity : VectorBaseActivity<ActivitySimpleBinding>(), ToolbarConfigurable {
|
class RoomPreviewActivity : VectorBaseActivity<ActivitySimpleBinding>() {
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
private const val ARG = "ARG"
|
private const val ARG = "ARG"
|
||||||
@ -83,10 +81,6 @@ class RoomPreviewActivity : VectorBaseActivity<ActivitySimpleBinding>(), Toolbar
|
|||||||
|
|
||||||
override fun getCoordinatorLayout() = views.coordinatorLayout
|
override fun getCoordinatorLayout() = views.coordinatorLayout
|
||||||
|
|
||||||
override fun configure(toolbar: MaterialToolbar) {
|
|
||||||
configureToolbar(toolbar)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun initUiAndData() {
|
override fun initUiAndData() {
|
||||||
if (isFirstCreation()) {
|
if (isFirstCreation()) {
|
||||||
val args = intent.getParcelableExtra<RoomPreviewData>(ARG)
|
val args = intent.getParcelableExtra<RoomPreviewData>(ARG)
|
||||||
|
@ -64,6 +64,7 @@ class RoomPreviewNoPreviewFragment @Inject constructor(
|
|||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
setupToolbar(views.roomPreviewNoPreviewToolbar)
|
setupToolbar(views.roomPreviewNoPreviewToolbar)
|
||||||
|
.allowBack()
|
||||||
|
|
||||||
views.roomPreviewNoPreviewJoin.commonClicked = { roomPreviewViewModel.handle(RoomPreviewAction.Join) }
|
views.roomPreviewNoPreviewJoin.commonClicked = { roomPreviewViewModel.handle(RoomPreviewAction.Join) }
|
||||||
}
|
}
|
||||||
|
@ -22,19 +22,15 @@ import android.content.Intent
|
|||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import com.airbnb.mvrx.Mavericks
|
import com.airbnb.mvrx.Mavericks
|
||||||
import com.airbnb.mvrx.viewModel
|
import com.airbnb.mvrx.viewModel
|
||||||
import com.google.android.material.appbar.MaterialToolbar
|
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import im.vector.app.core.extensions.addFragment
|
import im.vector.app.core.extensions.addFragment
|
||||||
import im.vector.app.core.platform.ToolbarConfigurable
|
|
||||||
import im.vector.app.core.platform.VectorBaseActivity
|
import im.vector.app.core.platform.VectorBaseActivity
|
||||||
import im.vector.app.databinding.ActivitySimpleBinding
|
import im.vector.app.databinding.ActivitySimpleBinding
|
||||||
import im.vector.app.features.room.RequireActiveMembershipViewEvents
|
import im.vector.app.features.room.RequireActiveMembershipViewEvents
|
||||||
import im.vector.app.features.room.RequireActiveMembershipViewModel
|
import im.vector.app.features.room.RequireActiveMembershipViewModel
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class RoomMemberProfileActivity :
|
class RoomMemberProfileActivity : VectorBaseActivity<ActivitySimpleBinding>() {
|
||||||
VectorBaseActivity<ActivitySimpleBinding>(),
|
|
||||||
ToolbarConfigurable {
|
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun newIntent(context: Context, args: RoomMemberProfileArgs): Intent {
|
fun newIntent(context: Context, args: RoomMemberProfileArgs): Intent {
|
||||||
@ -63,10 +59,6 @@ class RoomMemberProfileActivity :
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun configure(toolbar: MaterialToolbar) {
|
|
||||||
configureToolbar(toolbar)
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun handleRoomLeft(roomLeft: RequireActiveMembershipViewEvents.RoomLeft) {
|
private fun handleRoomLeft(roomLeft: RequireActiveMembershipViewEvents.RoomLeft) {
|
||||||
if (roomLeft.leftMessage != null) {
|
if (roomLeft.leftMessage != null) {
|
||||||
Toast.makeText(this, roomLeft.leftMessage, Toast.LENGTH_LONG).show()
|
Toast.makeText(this, roomLeft.leftMessage, Toast.LENGTH_LONG).show()
|
||||||
|
@ -97,6 +97,7 @@ class RoomMemberProfileFragment @Inject constructor(
|
|||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
setupToolbar(views.matrixProfileToolbar)
|
setupToolbar(views.matrixProfileToolbar)
|
||||||
|
.allowBack()
|
||||||
val headerView = views.matrixProfileHeaderView.let {
|
val headerView = views.matrixProfileHeaderView.let {
|
||||||
it.layoutResource = R.layout.view_stub_room_member_profile_header
|
it.layoutResource = R.layout.view_stub_room_member_profile_header
|
||||||
it.inflate()
|
it.inflate()
|
||||||
|
@ -23,12 +23,10 @@ import android.widget.Toast
|
|||||||
import androidx.lifecycle.lifecycleScope
|
import androidx.lifecycle.lifecycleScope
|
||||||
import com.airbnb.mvrx.Mavericks
|
import com.airbnb.mvrx.Mavericks
|
||||||
import com.airbnb.mvrx.viewModel
|
import com.airbnb.mvrx.viewModel
|
||||||
import com.google.android.material.appbar.MaterialToolbar
|
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import im.vector.app.core.extensions.addFragment
|
import im.vector.app.core.extensions.addFragment
|
||||||
import im.vector.app.core.extensions.addFragmentToBackstack
|
import im.vector.app.core.extensions.addFragmentToBackstack
|
||||||
import im.vector.app.core.extensions.exhaustive
|
import im.vector.app.core.extensions.exhaustive
|
||||||
import im.vector.app.core.platform.ToolbarConfigurable
|
|
||||||
import im.vector.app.core.platform.VectorBaseActivity
|
import im.vector.app.core.platform.VectorBaseActivity
|
||||||
import im.vector.app.databinding.ActivitySimpleBinding
|
import im.vector.app.databinding.ActivitySimpleBinding
|
||||||
import im.vector.app.features.home.room.detail.RoomDetailPendingActionStore
|
import im.vector.app.features.home.room.detail.RoomDetailPendingActionStore
|
||||||
@ -47,8 +45,7 @@ import javax.inject.Inject
|
|||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class RoomProfileActivity :
|
class RoomProfileActivity :
|
||||||
VectorBaseActivity<ActivitySimpleBinding>(),
|
VectorBaseActivity<ActivitySimpleBinding>() {
|
||||||
ToolbarConfigurable {
|
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|
||||||
@ -157,8 +154,4 @@ class RoomProfileActivity :
|
|||||||
private fun openRoomNotificationSettings() {
|
private fun openRoomNotificationSettings() {
|
||||||
addFragmentToBackstack(views.simpleFragmentContainer, RoomNotificationSettingsFragment::class.java, roomProfileArgs)
|
addFragmentToBackstack(views.simpleFragmentContainer, RoomNotificationSettingsFragment::class.java, roomProfileArgs)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun configure(toolbar: MaterialToolbar) {
|
|
||||||
configureToolbar(toolbar)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -109,6 +109,7 @@ class RoomProfileFragment @Inject constructor(
|
|||||||
headerViews = ViewStubRoomProfileHeaderBinding.bind(headerView)
|
headerViews = ViewStubRoomProfileHeaderBinding.bind(headerView)
|
||||||
setupWaitingView()
|
setupWaitingView()
|
||||||
setupToolbar(views.matrixProfileToolbar)
|
setupToolbar(views.matrixProfileToolbar)
|
||||||
|
.allowBack()
|
||||||
setupRecyclerView()
|
setupRecyclerView()
|
||||||
appBarStateChangeListener = MatrixItemAppBarStateChangeListener(
|
appBarStateChangeListener = MatrixItemAppBarStateChangeListener(
|
||||||
headerView,
|
headerView,
|
||||||
|
@ -68,6 +68,7 @@ class RoomAliasFragment @Inject constructor(
|
|||||||
|
|
||||||
controller.callback = this
|
controller.callback = this
|
||||||
setupToolbar(views.roomSettingsToolbar)
|
setupToolbar(views.roomSettingsToolbar)
|
||||||
|
.allowBack()
|
||||||
views.roomSettingsRecyclerView.configureWith(controller, hasFixedSize = true)
|
views.roomSettingsRecyclerView.configureWith(controller, hasFixedSize = true)
|
||||||
views.waitingView.waitingStatusText.setText(R.string.please_wait)
|
views.waitingView.waitingStatusText.setText(R.string.please_wait)
|
||||||
views.waitingView.waitingStatusText.isVisible = true
|
views.waitingView.waitingStatusText.isVisible = true
|
||||||
|
@ -59,6 +59,7 @@ class RoomBannedMemberListFragment @Inject constructor(
|
|||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
roomMemberListController.callback = this
|
roomMemberListController.callback = this
|
||||||
setupToolbar(views.roomSettingsToolbar)
|
setupToolbar(views.roomSettingsToolbar)
|
||||||
|
.allowBack()
|
||||||
setupSearchView()
|
setupSearchView()
|
||||||
views.roomSettingsRecyclerView.configureWith(roomMemberListController, hasFixedSize = true)
|
views.roomSettingsRecyclerView.configureWith(roomMemberListController, hasFixedSize = true)
|
||||||
|
|
||||||
|
@ -58,6 +58,7 @@ class RoomMemberListFragment @Inject constructor(
|
|||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
roomMemberListController.callback = this
|
roomMemberListController.callback = this
|
||||||
setupToolbar(views.roomSettingGeneric.roomSettingsToolbar)
|
setupToolbar(views.roomSettingGeneric.roomSettingsToolbar)
|
||||||
|
.allowBack()
|
||||||
setupSearchView()
|
setupSearchView()
|
||||||
setupInviteUsersButton()
|
setupInviteUsersButton()
|
||||||
views.roomSettingGeneric.roomSettingsRecyclerView.configureWith(roomMemberListController, hasFixedSize = true)
|
views.roomSettingGeneric.roomSettingsRecyclerView.configureWith(roomMemberListController, hasFixedSize = true)
|
||||||
|
@ -50,6 +50,7 @@ class RoomNotificationSettingsFragment @Inject constructor(
|
|||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
setupToolbar(views.roomSettingsToolbar)
|
setupToolbar(views.roomSettingsToolbar)
|
||||||
|
.allowBack()
|
||||||
roomNotificationSettingsController.callback = this
|
roomNotificationSettingsController.callback = this
|
||||||
views.roomSettingsRecyclerView.configureWith(roomNotificationSettingsController, hasFixedSize = true)
|
views.roomSettingsRecyclerView.configureWith(roomNotificationSettingsController, hasFixedSize = true)
|
||||||
setupWaitingView()
|
setupWaitingView()
|
||||||
|
@ -58,6 +58,7 @@ class RoomPermissionsFragment @Inject constructor(
|
|||||||
|
|
||||||
controller.callback = this
|
controller.callback = this
|
||||||
setupToolbar(views.roomSettingsToolbar)
|
setupToolbar(views.roomSettingsToolbar)
|
||||||
|
.allowBack()
|
||||||
views.roomSettingsRecyclerView.configureWith(controller, hasFixedSize = true)
|
views.roomSettingsRecyclerView.configureWith(controller, hasFixedSize = true)
|
||||||
views.waitingView.waitingStatusText.setText(R.string.please_wait)
|
views.waitingView.waitingStatusText.setText(R.string.please_wait)
|
||||||
views.waitingView.waitingStatusText.isVisible = true
|
views.waitingView.waitingStatusText.isVisible = true
|
||||||
|
@ -85,6 +85,7 @@ class RoomSettingsFragment @Inject constructor(
|
|||||||
setupRoomJoinRuleSharedActionViewModel()
|
setupRoomJoinRuleSharedActionViewModel()
|
||||||
controller.callback = this
|
controller.callback = this
|
||||||
setupToolbar(views.roomSettingsToolbar)
|
setupToolbar(views.roomSettingsToolbar)
|
||||||
|
.allowBack()
|
||||||
views.roomSettingsRecyclerView.configureWith(controller, hasFixedSize = true)
|
views.roomSettingsRecyclerView.configureWith(controller, hasFixedSize = true)
|
||||||
views.waitingView.waitingStatusText.setText(R.string.please_wait)
|
views.waitingView.waitingStatusText.setText(R.string.please_wait)
|
||||||
views.waitingView.waitingStatusText.isVisible = true
|
views.waitingView.waitingStatusText.isVisible = true
|
||||||
|
@ -74,6 +74,7 @@ class RoomUploadsFragment @Inject constructor(
|
|||||||
}.attach()
|
}.attach()
|
||||||
|
|
||||||
setupToolbar(views.roomUploadsToolbar)
|
setupToolbar(views.roomUploadsToolbar)
|
||||||
|
.allowBack()
|
||||||
|
|
||||||
viewModel.observeViewEvents {
|
viewModel.observeViewEvents {
|
||||||
when (it) {
|
when (it) {
|
||||||
|
@ -63,7 +63,8 @@ class VectorSettingsActivity : VectorBaseActivity<ActivityVectorSettingsBinding>
|
|||||||
@Inject lateinit var session: Session
|
@Inject lateinit var session: Session
|
||||||
|
|
||||||
override fun initUiAndData() {
|
override fun initUiAndData() {
|
||||||
configureToolbar(views.settingsToolbar)
|
setupToolbar(views.settingsToolbar)
|
||||||
|
.allowBack()
|
||||||
|
|
||||||
if (isFirstCreation()) {
|
if (isFirstCreation()) {
|
||||||
// display the fragment
|
// display the fragment
|
||||||
|
@ -16,15 +16,13 @@
|
|||||||
|
|
||||||
package im.vector.app.features.share
|
package im.vector.app.features.share
|
||||||
|
|
||||||
import com.google.android.material.appbar.MaterialToolbar
|
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import im.vector.app.core.extensions.addFragment
|
import im.vector.app.core.extensions.addFragment
|
||||||
import im.vector.app.core.platform.ToolbarConfigurable
|
|
||||||
import im.vector.app.core.platform.VectorBaseActivity
|
import im.vector.app.core.platform.VectorBaseActivity
|
||||||
import im.vector.app.databinding.ActivitySimpleBinding
|
import im.vector.app.databinding.ActivitySimpleBinding
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class IncomingShareActivity : VectorBaseActivity<ActivitySimpleBinding>(), ToolbarConfigurable {
|
class IncomingShareActivity : VectorBaseActivity<ActivitySimpleBinding>() {
|
||||||
|
|
||||||
override fun getBinding() = ActivitySimpleBinding.inflate(layoutInflater)
|
override fun getBinding() = ActivitySimpleBinding.inflate(layoutInflater)
|
||||||
|
|
||||||
@ -35,8 +33,4 @@ class IncomingShareActivity : VectorBaseActivity<ActivitySimpleBinding>(), Toolb
|
|||||||
addFragment(views.simpleFragmentContainer, IncomingShareFragment::class.java)
|
addFragment(views.simpleFragmentContainer, IncomingShareFragment::class.java)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun configure(toolbar: MaterialToolbar) {
|
|
||||||
configureToolbar(toolbar, displayBack = false)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -104,12 +104,9 @@ class SpaceDirectoryFragment @Inject constructor(
|
|||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
vectorBaseActivity.setSupportActionBar(views.toolbar)
|
setupToolbar(views.toolbar)
|
||||||
|
.allowBack()
|
||||||
|
|
||||||
vectorBaseActivity.supportActionBar?.let {
|
|
||||||
it.setDisplayShowHomeEnabled(true)
|
|
||||||
it.setDisplayHomeAsUpEnabled(true)
|
|
||||||
}
|
|
||||||
epoxyController.listener = this
|
epoxyController.listener = this
|
||||||
views.spaceDirectoryList.configureWith(epoxyController)
|
views.spaceDirectoryList.configureWith(epoxyController)
|
||||||
epoxyVisibilityTracker.attach(views.spaceDirectoryList)
|
epoxyVisibilityTracker.attach(views.spaceDirectoryList)
|
||||||
@ -166,13 +163,11 @@ class SpaceDirectoryFragment @Inject constructor(
|
|||||||
|
|
||||||
if (currentParentId == null) {
|
if (currentParentId == null) {
|
||||||
// it's the root
|
// it's the root
|
||||||
val title = getString(R.string.space_explore_activity_title)
|
toolbar?.setTitle(R.string.space_explore_activity_title)
|
||||||
views.toolbar.title = title
|
|
||||||
} else {
|
} else {
|
||||||
val title = state.currentRootSummary?.name
|
toolbar?.title = state.currentRootSummary?.name
|
||||||
?: state.currentRootSummary?.canonicalAlias
|
?: state.currentRootSummary?.canonicalAlias
|
||||||
?: getString(R.string.space_explore_activity_title)
|
?: getString(R.string.space_explore_activity_title)
|
||||||
views.toolbar.title = title
|
|
||||||
}
|
}
|
||||||
|
|
||||||
spaceCardRenderer.render(state.currentRootSummary, emptyList(), this, views.spaceCard)
|
spaceCardRenderer.render(state.currentRootSummary, emptyList(), this, views.spaceCard)
|
||||||
|
@ -26,7 +26,6 @@ import com.airbnb.mvrx.Loading
|
|||||||
import com.airbnb.mvrx.Mavericks
|
import com.airbnb.mvrx.Mavericks
|
||||||
import com.airbnb.mvrx.Success
|
import com.airbnb.mvrx.Success
|
||||||
import com.airbnb.mvrx.viewModel
|
import com.airbnb.mvrx.viewModel
|
||||||
import com.google.android.material.appbar.MaterialToolbar
|
|
||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import im.vector.app.R
|
import im.vector.app.R
|
||||||
@ -34,15 +33,13 @@ import im.vector.app.core.error.ErrorFormatter
|
|||||||
import im.vector.app.core.extensions.hideKeyboard
|
import im.vector.app.core.extensions.hideKeyboard
|
||||||
import im.vector.app.core.extensions.replaceFragment
|
import im.vector.app.core.extensions.replaceFragment
|
||||||
import im.vector.app.core.extensions.setTextOrHide
|
import im.vector.app.core.extensions.setTextOrHide
|
||||||
import im.vector.app.core.platform.ToolbarConfigurable
|
|
||||||
import im.vector.app.core.platform.VectorBaseActivity
|
import im.vector.app.core.platform.VectorBaseActivity
|
||||||
import im.vector.app.databinding.ActivitySimpleLoadingBinding
|
import im.vector.app.databinding.ActivitySimpleLoadingBinding
|
||||||
import im.vector.app.features.spaces.SpaceBottomSheetSettingsArgs
|
import im.vector.app.features.spaces.SpaceBottomSheetSettingsArgs
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class SpaceLeaveAdvancedActivity : VectorBaseActivity<ActivitySimpleLoadingBinding>(),
|
class SpaceLeaveAdvancedActivity : VectorBaseActivity<ActivitySimpleLoadingBinding>() {
|
||||||
ToolbarConfigurable {
|
|
||||||
|
|
||||||
override fun getBinding(): ActivitySimpleLoadingBinding = ActivitySimpleLoadingBinding.inflate(layoutInflater)
|
override fun getBinding(): ActivitySimpleLoadingBinding = ActivitySimpleLoadingBinding.inflate(layoutInflater)
|
||||||
|
|
||||||
@ -113,8 +110,4 @@ class SpaceLeaveAdvancedActivity : VectorBaseActivity<ActivitySimpleLoadingBindi
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun configure(toolbar: MaterialToolbar) {
|
|
||||||
configureToolbar(toolbar)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -47,6 +47,7 @@ class SpaceLeaveAdvancedFragment @Inject constructor(
|
|||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
setupToolbar(views.toolbar)
|
setupToolbar(views.toolbar)
|
||||||
|
.allowBack()
|
||||||
controller.listener = this
|
controller.listener = this
|
||||||
views.roomList.configureWith(controller)
|
views.roomList.configureWith(controller)
|
||||||
views.spaceLeaveCancel.debouncedClicks { requireActivity().finish() }
|
views.spaceLeaveCancel.debouncedClicks { requireActivity().finish() }
|
||||||
|
@ -63,12 +63,8 @@ class SpaceAddRoomFragment @Inject constructor(
|
|||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
vectorBaseActivity.setSupportActionBar(views.addRoomToSpaceToolbar)
|
setupToolbar(views.addRoomToSpaceToolbar)
|
||||||
|
.allowBack()
|
||||||
vectorBaseActivity.supportActionBar?.let {
|
|
||||||
it.setDisplayShowHomeEnabled(true)
|
|
||||||
it.setDisplayHomeAsUpEnabled(true)
|
|
||||||
}
|
|
||||||
|
|
||||||
// sharedActionViewModel = activityViewModelProvider.get(RoomDirectorySharedActionViewModel::class.java)
|
// sharedActionViewModel = activityViewModelProvider.get(RoomDirectorySharedActionViewModel::class.java)
|
||||||
setupRecyclerView()
|
setupRecyclerView()
|
||||||
@ -90,7 +86,7 @@ class SpaceAddRoomFragment @Inject constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
viewModel.onEach(SpaceAddRoomsState::spaceName) {
|
viewModel.onEach(SpaceAddRoomsState::spaceName) {
|
||||||
views.appBarSpaceInfo.text = it
|
toolbar?.subtitle = it
|
||||||
}
|
}
|
||||||
|
|
||||||
viewModel.onEach(SpaceAddRoomsState::ignoreRooms) {
|
viewModel.onEach(SpaceAddRoomsState::ignoreRooms) {
|
||||||
@ -115,8 +111,7 @@ class SpaceAddRoomFragment @Inject constructor(
|
|||||||
spaceEpoxyController.disabled = !it
|
spaceEpoxyController.disabled = !it
|
||||||
roomEpoxyController.disabled = it
|
roomEpoxyController.disabled = it
|
||||||
views.createNewRoom.text = if (it) getString(R.string.create_space) else getString(R.string.create_new_room)
|
views.createNewRoom.text = if (it) getString(R.string.create_space) else getString(R.string.create_new_room)
|
||||||
val title = if (it) getString(R.string.space_add_existing_spaces) else getString(R.string.space_add_existing_rooms_only)
|
toolbar?.setTitle(if (it) R.string.space_add_existing_spaces else R.string.space_add_existing_rooms_only)
|
||||||
views.appBarTitle.text = title
|
|
||||||
}
|
}
|
||||||
|
|
||||||
views.createNewRoom.debouncedClicks {
|
views.createNewRoom.debouncedClicks {
|
||||||
|
@ -26,13 +26,11 @@ import androidx.lifecycle.lifecycleScope
|
|||||||
import com.airbnb.mvrx.Mavericks
|
import com.airbnb.mvrx.Mavericks
|
||||||
import com.airbnb.mvrx.viewModel
|
import com.airbnb.mvrx.viewModel
|
||||||
import com.airbnb.mvrx.withState
|
import com.airbnb.mvrx.withState
|
||||||
import com.google.android.material.appbar.MaterialToolbar
|
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import im.vector.app.R
|
import im.vector.app.R
|
||||||
import im.vector.app.core.extensions.addFragmentToBackstack
|
import im.vector.app.core.extensions.addFragmentToBackstack
|
||||||
import im.vector.app.core.extensions.hideKeyboard
|
import im.vector.app.core.extensions.hideKeyboard
|
||||||
import im.vector.app.core.extensions.replaceFragment
|
import im.vector.app.core.extensions.replaceFragment
|
||||||
import im.vector.app.core.platform.ToolbarConfigurable
|
|
||||||
import im.vector.app.core.platform.VectorBaseActivity
|
import im.vector.app.core.platform.VectorBaseActivity
|
||||||
import im.vector.app.databinding.ActivitySimpleLoadingBinding
|
import im.vector.app.databinding.ActivitySimpleLoadingBinding
|
||||||
import im.vector.app.features.roomdirectory.RoomDirectorySharedAction
|
import im.vector.app.features.roomdirectory.RoomDirectorySharedAction
|
||||||
@ -53,8 +51,7 @@ data class SpaceManageArgs(
|
|||||||
) : Parcelable
|
) : Parcelable
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class SpaceManageActivity : VectorBaseActivity<ActivitySimpleLoadingBinding>(),
|
class SpaceManageActivity : VectorBaseActivity<ActivitySimpleLoadingBinding>() {
|
||||||
ToolbarConfigurable {
|
|
||||||
|
|
||||||
private lateinit var sharedDirectoryActionViewModel: RoomDirectorySharedActionViewModel
|
private lateinit var sharedDirectoryActionViewModel: RoomDirectorySharedActionViewModel
|
||||||
|
|
||||||
@ -188,8 +185,4 @@ class SpaceManageActivity : VectorBaseActivity<ActivitySimpleLoadingBinding>(),
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun configure(toolbar: MaterialToolbar) {
|
|
||||||
configureToolbar(toolbar)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -66,8 +66,11 @@ class SpaceManageRoomsFragment @Inject constructor(
|
|||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
setupToolbar(views.addRoomToSpaceToolbar)
|
setupToolbar(views.addRoomToSpaceToolbar)
|
||||||
views.appBarTitle.text = getString(R.string.space_manage_rooms_and_spaces)
|
.setTitle(R.string.space_manage_rooms_and_spaces)
|
||||||
|
.allowBack()
|
||||||
|
|
||||||
views.createNewRoom.isVisible = false
|
views.createNewRoom.isVisible = false
|
||||||
epoxyController.listener = this
|
epoxyController.listener = this
|
||||||
views.roomList.configureWith(epoxyController, hasFixedSize = true, dividerDrawable = R.drawable.divider_horizontal)
|
views.roomList.configureWith(epoxyController, hasFixedSize = true, dividerDrawable = R.drawable.divider_horizontal)
|
||||||
@ -111,14 +114,15 @@ class SpaceManageRoomsFragment @Inject constructor(
|
|||||||
epoxyController.setData(state)
|
epoxyController.setData(state)
|
||||||
|
|
||||||
state.spaceSummary.invoke()?.let {
|
state.spaceSummary.invoke()?.let {
|
||||||
views.appBarSpaceInfo.text = it.displayName
|
toolbar?.subtitle = it.displayName
|
||||||
}
|
}
|
||||||
|
|
||||||
if (state.selectedRooms.isNotEmpty()) {
|
if (state.selectedRooms.isNotEmpty()) {
|
||||||
if (currentActionMode == null) {
|
if (currentActionMode == null) {
|
||||||
views.addRoomToSpaceToolbar.isVisible = true
|
views.addRoomToSpaceToolbar.isVisible = true
|
||||||
vectorBaseActivity.startSupportActionMode(this)
|
vectorBaseActivity.startSupportActionMode(this)
|
||||||
} else {
|
} else {
|
||||||
currentActionMode?.title = "${state.selectedRooms.size} selected"
|
toolbar?.title = "${state.selectedRooms.size} selected"
|
||||||
}
|
}
|
||||||
// views.addRoomToSpaceToolbar.isVisible = false
|
// views.addRoomToSpaceToolbar.isVisible = false
|
||||||
// views.addRoomToSpaceToolbar.startActionMode(this)
|
// views.addRoomToSpaceToolbar.startActionMode(this)
|
||||||
|
@ -85,6 +85,7 @@ class SpaceSettingsFragment @Inject constructor(
|
|||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
setupToolbar(views.roomSettingsToolbar)
|
setupToolbar(views.roomSettingsToolbar)
|
||||||
|
.allowBack()
|
||||||
// roomProfileSharedActionViewModel = activityViewModelProvider.get(RoomProfileSharedActionViewModel::class.java)
|
// roomProfileSharedActionViewModel = activityViewModelProvider.get(RoomProfileSharedActionViewModel::class.java)
|
||||||
// setupRoomHistoryVisibilitySharedActionViewModel()
|
// setupRoomHistoryVisibilitySharedActionViewModel()
|
||||||
setupRoomJoinRuleSharedActionViewModel()
|
setupRoomJoinRuleSharedActionViewModel()
|
||||||
|
@ -64,9 +64,9 @@ class SpacePeopleFragment @Inject constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun invalidate() = withState(membersViewModel) { memberListState ->
|
override fun invalidate() = withState(membersViewModel) { memberListState ->
|
||||||
views.appBarTitle.text = getString(R.string.bottom_action_people)
|
|
||||||
val memberCount = (memberListState.roomSummary.invoke()?.otherMemberIds?.size ?: 0) + 1
|
val memberCount = (memberListState.roomSummary.invoke()?.otherMemberIds?.size ?: 0) + 1
|
||||||
views.appBarSpaceInfo.text = resources.getQuantityString(R.plurals.room_title_members, memberCount, memberCount)
|
|
||||||
|
toolbar?.subtitle = resources.getQuantityString(R.plurals.room_title_members, memberCount, memberCount)
|
||||||
// views.listBuildingProgress.isVisible = true
|
// views.listBuildingProgress.isVisible = true
|
||||||
epoxyController.setData(memberListState)
|
epoxyController.setData(memberListState)
|
||||||
}
|
}
|
||||||
@ -78,17 +78,12 @@ class SpacePeopleFragment @Inject constructor(
|
|||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
|
setupToolbar(views.addRoomToSpaceToolbar)
|
||||||
|
.allowBack()
|
||||||
setupRecyclerView()
|
setupRecyclerView()
|
||||||
setupSearchView()
|
setupSearchView()
|
||||||
|
|
||||||
views.addRoomToSpaceToolbar.navigationIcon = drawableProvider.getDrawable(
|
|
||||||
R.drawable.ic_close_24dp,
|
|
||||||
colorProvider.getColorFromAttribute(R.attr.vctr_content_primary)
|
|
||||||
)
|
|
||||||
views.addRoomToSpaceToolbar.setNavigationOnClickListener {
|
|
||||||
sharedActionViewModel.post(SpacePeopleSharedAction.Dismiss)
|
|
||||||
}
|
|
||||||
|
|
||||||
viewModel.observeViewEvents {
|
viewModel.observeViewEvents {
|
||||||
handleViewEvents(it)
|
handleViewEvents(it)
|
||||||
}
|
}
|
||||||
|
@ -55,6 +55,10 @@ class ScanUserCodeFragment @Inject constructor() :
|
|||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
|
setupToolbar(views.qrScannerToolbar)
|
||||||
|
.allowBack(useCross = true)
|
||||||
|
|
||||||
views.userCodeMyCodeButton.debouncedClicks {
|
views.userCodeMyCodeButton.debouncedClicks {
|
||||||
sharedViewModel.handle(UserCodeActions.SwitchMode(UserCodeState.Mode.SHOW))
|
sharedViewModel.handle(UserCodeActions.SwitchMode(UserCodeState.Mode.SHOW))
|
||||||
}
|
}
|
||||||
@ -62,10 +66,6 @@ class ScanUserCodeFragment @Inject constructor() :
|
|||||||
views.userCodeOpenGalleryButton.debouncedClicks {
|
views.userCodeOpenGalleryButton.debouncedClicks {
|
||||||
MultiPicker.get(MultiPicker.IMAGE).single().startWith(pickImageActivityResultLauncher)
|
MultiPicker.get(MultiPicker.IMAGE).single().startWith(pickImageActivityResultLauncher)
|
||||||
}
|
}
|
||||||
|
|
||||||
views.userCodeClose.debouncedClicks {
|
|
||||||
requireActivity().onBackPressed()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private val openCameraActivityResultLauncher = registerForPermissionsResult { allGranted, _ ->
|
private val openCameraActivityResultLauncher = registerForPermissionsResult { allGranted, _ ->
|
||||||
|
@ -52,9 +52,9 @@ class ShowUserCodeFragment @Inject constructor(
|
|||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
views.showUserCodeClose.debouncedClicks {
|
setupToolbar(views.showUserCodeToolBar)
|
||||||
sharedViewModel.handle(UserCodeActions.DismissAction)
|
.allowBack(useCross = true)
|
||||||
}
|
|
||||||
views.showUserCodeScanButton.debouncedClicks {
|
views.showUserCodeScanButton.debouncedClicks {
|
||||||
if (checkPermissions(PERMISSIONS_FOR_TAKING_PHOTO, requireActivity(), openCameraActivityResultLauncher)) {
|
if (checkPermissions(PERMISSIONS_FOR_TAKING_PHOTO, requireActivity(), openCameraActivityResultLauncher)) {
|
||||||
doOpenQRCodeScanner()
|
doOpenQRCodeScanner()
|
||||||
|
@ -72,9 +72,9 @@ class UserListFragment @Inject constructor(
|
|||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
sharedActionViewModel = activityViewModelProvider.get(UserListSharedActionViewModel::class.java)
|
sharedActionViewModel = activityViewModelProvider.get(UserListSharedActionViewModel::class.java)
|
||||||
if (args.showToolbar) {
|
if (args.showToolbar) {
|
||||||
views.userListTitle.text = args.title
|
setupToolbar(views.userListToolbar)
|
||||||
vectorBaseActivity.setSupportActionBar(views.userListToolbar)
|
.setTitle(args.title)
|
||||||
setupCloseView()
|
.allowBack(useCross = true)
|
||||||
views.userListToolbar.isVisible = true
|
views.userListToolbar.isVisible = true
|
||||||
} else {
|
} else {
|
||||||
views.userListToolbar.isVisible = false
|
views.userListToolbar.isVisible = false
|
||||||
@ -153,12 +153,6 @@ class UserListFragment @Inject constructor(
|
|||||||
views.userListSearch.requestFocus()
|
views.userListSearch.requestFocus()
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setupCloseView() {
|
|
||||||
views.userListClose.debouncedClicks {
|
|
||||||
requireActivity().finish()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun invalidate() = withState(viewModel) {
|
override fun invalidate() = withState(viewModel) {
|
||||||
userListController.setData(it)
|
userListController.setData(it)
|
||||||
}
|
}
|
||||||
|
@ -44,7 +44,8 @@ class VectorWebViewActivity : VectorBaseActivity<ActivityVectorWebViewBinding>()
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun initUiAndData() {
|
override fun initUiAndData() {
|
||||||
configureToolbar(views.webviewToolbar)
|
setupToolbar(views.webviewToolbar)
|
||||||
|
.allowBack()
|
||||||
waitingView = views.simpleWebviewLoader
|
waitingView = views.simpleWebviewLoader
|
||||||
|
|
||||||
views.simpleWebview.settings.apply {
|
views.simpleWebview.settings.apply {
|
||||||
|
@ -22,11 +22,9 @@ import android.content.Intent
|
|||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
import com.airbnb.mvrx.Mavericks
|
import com.airbnb.mvrx.Mavericks
|
||||||
import com.airbnb.mvrx.viewModel
|
import com.airbnb.mvrx.viewModel
|
||||||
import com.google.android.material.appbar.MaterialToolbar
|
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import im.vector.app.R
|
import im.vector.app.R
|
||||||
import im.vector.app.core.extensions.addFragment
|
import im.vector.app.core.extensions.addFragment
|
||||||
import im.vector.app.core.platform.ToolbarConfigurable
|
|
||||||
import im.vector.app.core.platform.VectorBaseActivity
|
import im.vector.app.core.platform.VectorBaseActivity
|
||||||
import im.vector.app.databinding.ActivityWidgetBinding
|
import im.vector.app.databinding.ActivityWidgetBinding
|
||||||
import im.vector.app.features.widgets.permissions.RoomWidgetPermissionBottomSheet
|
import im.vector.app.features.widgets.permissions.RoomWidgetPermissionBottomSheet
|
||||||
@ -36,8 +34,7 @@ import org.matrix.android.sdk.api.session.events.model.Content
|
|||||||
import java.io.Serializable
|
import java.io.Serializable
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class WidgetActivity : VectorBaseActivity<ActivityWidgetBinding>(),
|
class WidgetActivity : VectorBaseActivity<ActivityWidgetBinding>() {
|
||||||
ToolbarConfigurable {
|
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
private const val WIDGET_FRAGMENT_TAG = "WIDGET_FRAGMENT_TAG"
|
private const val WIDGET_FRAGMENT_TAG = "WIDGET_FRAGMENT_TAG"
|
||||||
@ -77,7 +74,8 @@ class WidgetActivity : VectorBaseActivity<ActivityWidgetBinding>(),
|
|||||||
finish()
|
finish()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
configure(views.toolbar)
|
setupToolbar(views.toolbar)
|
||||||
|
.allowBack()
|
||||||
views.toolbar.isVisible = widgetArgs.kind.nameRes != 0
|
views.toolbar.isVisible = widgetArgs.kind.nameRes != 0
|
||||||
viewModel.observeViewEvents {
|
viewModel.observeViewEvents {
|
||||||
when (it) {
|
when (it) {
|
||||||
@ -129,8 +127,4 @@ class WidgetActivity : VectorBaseActivity<ActivityWidgetBinding>(),
|
|||||||
}
|
}
|
||||||
finish()
|
finish()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun configure(toolbar: MaterialToolbar) {
|
|
||||||
configureToolbar(toolbar)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -41,10 +41,10 @@
|
|||||||
android:layout_width="@dimen/call_pip_width"
|
android:layout_width="@dimen/call_pip_width"
|
||||||
android:layout_height="@dimen/call_pip_height"
|
android:layout_height="@dimen/call_pip_height"
|
||||||
android:layout_marginEnd="16dp"
|
android:layout_marginEnd="16dp"
|
||||||
app:layout_goneMarginEnd="0dp"
|
|
||||||
app:cardCornerRadius="@dimen/call_pip_radius"
|
app:cardCornerRadius="@dimen/call_pip_radius"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent">
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_goneMarginEnd="0dp">
|
||||||
|
|
||||||
<org.webrtc.SurfaceViewRenderer
|
<org.webrtc.SurfaceViewRenderer
|
||||||
android:id="@+id/pipRenderer"
|
android:id="@+id/pipRenderer"
|
||||||
@ -104,11 +104,8 @@
|
|||||||
app:navigationIcon="@drawable/ic_back_24dp"
|
app:navigationIcon="@drawable/ic_back_24dp"
|
||||||
app:navigationIconTint="@color/element_background_light"
|
app:navigationIconTint="@color/element_background_light"
|
||||||
app:subtitle="3:10"
|
app:subtitle="3:10"
|
||||||
app:subtitleTextAppearance="@style/TextAppearance.Vector.Caption"
|
|
||||||
app:subtitleTextColor="@color/element_background_light"
|
app:subtitleTextColor="@color/element_background_light"
|
||||||
app:title="Video call"
|
app:title="Video call"
|
||||||
app:titleMarginTop="16dp"
|
|
||||||
app:titleTextAppearance="@style/TextAppearance.Vector.Body.Medium"
|
|
||||||
app:titleTextColor="@color/element_background_light" />
|
app:titleTextColor="@color/element_background_light" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
|
@ -19,49 +19,8 @@
|
|||||||
<com.google.android.material.appbar.MaterialToolbar
|
<com.google.android.material.appbar.MaterialToolbar
|
||||||
android:id="@+id/phoneBookToolbar"
|
android:id="@+id/phoneBookToolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?actionBarSize">
|
android:layout_height="?actionBarSize"
|
||||||
|
app:title="@string/contacts_book_title"/>
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent">
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/phoneBookClose"
|
|
||||||
android:layout_width="@dimen/layout_touch_size"
|
|
||||||
android:layout_height="@dimen/layout_touch_size"
|
|
||||||
android:clickable="true"
|
|
||||||
android:contentDescription="@string/action_close"
|
|
||||||
android:focusable="true"
|
|
||||||
android:foreground="?attr/selectableItemBackground"
|
|
||||||
android:scaleType="center"
|
|
||||||
android:src="@drawable/ic_x_18dp"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
app:tint="?vctr_content_secondary"
|
|
||||||
tools:ignore="MissingPrefix" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/phoneBookTitle"
|
|
||||||
style="@style/Widget.Vector.TextView.HeadlineMedium"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="8dp"
|
|
||||||
android:layout_marginEnd="8dp"
|
|
||||||
android:ellipsize="end"
|
|
||||||
android:maxLines="1"
|
|
||||||
android:text="@string/contacts_book_title"
|
|
||||||
android:textColor="?vctr_content_primary"
|
|
||||||
android:textStyle="bold"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintHorizontal_bias="0.0"
|
|
||||||
app:layout_constraintStart_toEndOf="@id/phoneBookClose"
|
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
||||||
|
|
||||||
</com.google.android.material.appbar.MaterialToolbar>
|
|
||||||
|
|
||||||
<com.google.android.material.textfield.TextInputLayout
|
<com.google.android.material.textfield.TextInputLayout
|
||||||
android:id="@+id/phoneBookFilterContainer"
|
android:id="@+id/phoneBookFilterContainer"
|
||||||
|
@ -19,49 +19,8 @@
|
|||||||
<com.google.android.material.appbar.MaterialToolbar
|
<com.google.android.material.appbar.MaterialToolbar
|
||||||
android:id="@+id/createRoomToolbar"
|
android:id="@+id/createRoomToolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?actionBarSize">
|
android:layout_height="?actionBarSize"
|
||||||
|
app:title="@string/direct_chats_header" />
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent">
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/createDirectRoomClose"
|
|
||||||
android:layout_width="@dimen/layout_touch_size"
|
|
||||||
android:layout_height="@dimen/layout_touch_size"
|
|
||||||
android:clickable="true"
|
|
||||||
android:contentDescription="@string/action_close"
|
|
||||||
android:focusable="true"
|
|
||||||
android:foreground="?attr/selectableItemBackground"
|
|
||||||
android:scaleType="center"
|
|
||||||
android:src="@drawable/ic_x_18dp"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
app:tint="?vctr_content_secondary"
|
|
||||||
tools:ignore="MissingPrefix" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/createDirectRoomTitle"
|
|
||||||
style="@style/Widget.Vector.TextView.HeadlineMedium"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="8dp"
|
|
||||||
android:layout_marginEnd="8dp"
|
|
||||||
android:ellipsize="end"
|
|
||||||
android:maxLines="1"
|
|
||||||
android:text="@string/direct_chats_header"
|
|
||||||
android:textColor="?vctr_content_primary"
|
|
||||||
android:textStyle="bold"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintHorizontal_bias="0.0"
|
|
||||||
app:layout_constraintStart_toEndOf="@id/createDirectRoomClose"
|
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
||||||
|
|
||||||
</com.google.android.material.appbar.MaterialToolbar>
|
|
||||||
|
|
||||||
<com.google.android.material.textfield.TextInputLayout
|
<com.google.android.material.textfield.TextInputLayout
|
||||||
android:id="@+id/createDirectRoomSearchByIdContainer"
|
android:id="@+id/createDirectRoomSearchByIdContainer"
|
||||||
|
@ -15,49 +15,7 @@
|
|||||||
android:id="@+id/createPollToolbar"
|
android:id="@+id/createPollToolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?actionBarSize"
|
android:layout_height="?actionBarSize"
|
||||||
app:contentInsetStart="0dp">
|
app:title="@string/create_poll_title" />
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent">
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/createPollClose"
|
|
||||||
android:layout_width="@dimen/layout_touch_size"
|
|
||||||
android:layout_height="@dimen/layout_touch_size"
|
|
||||||
android:clickable="true"
|
|
||||||
android:contentDescription="@string/action_close"
|
|
||||||
android:focusable="true"
|
|
||||||
android:foreground="?attr/selectableItemBackground"
|
|
||||||
android:scaleType="center"
|
|
||||||
android:src="@drawable/ic_x_18dp"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
app:tint="?vctr_content_secondary"
|
|
||||||
tools:ignore="MissingPrefix" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/createPollTitle"
|
|
||||||
style="@style/Widget.Vector.TextView.HeadlineMedium"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="8dp"
|
|
||||||
android:layout_marginEnd="8dp"
|
|
||||||
android:ellipsize="end"
|
|
||||||
android:maxLines="1"
|
|
||||||
android:text="@string/create_poll_title"
|
|
||||||
android:textColor="?vctr_content_primary"
|
|
||||||
android:textStyle="bold"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintHorizontal_bias="0.0"
|
|
||||||
app:layout_constraintStart_toEndOf="@id/createPollClose"
|
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
||||||
|
|
||||||
</com.google.android.material.appbar.MaterialToolbar>
|
|
||||||
|
|
||||||
</com.google.android.material.appbar.AppBarLayout>
|
</com.google.android.material.appbar.AppBarLayout>
|
||||||
|
|
||||||
|
@ -19,46 +19,8 @@
|
|||||||
<com.google.android.material.appbar.MaterialToolbar
|
<com.google.android.material.appbar.MaterialToolbar
|
||||||
android:id="@+id/createRoomToolbar"
|
android:id="@+id/createRoomToolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?actionBarSize">
|
android:layout_height="?actionBarSize"
|
||||||
|
app:title="@string/direct_chats_header" />
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent">
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/createRoomClose"
|
|
||||||
android:layout_width="@dimen/layout_touch_size"
|
|
||||||
android:layout_height="@dimen/layout_touch_size"
|
|
||||||
android:contentDescription="@string/action_close"
|
|
||||||
android:scaleType="center"
|
|
||||||
android:src="@drawable/ic_x_18dp"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
app:tint="?vctr_content_secondary"
|
|
||||||
tools:ignore="MissingPrefix" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/createRoomTitle"
|
|
||||||
style="@style/Widget.Vector.TextView.HeadlineMedium"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="8dp"
|
|
||||||
android:layout_marginEnd="8dp"
|
|
||||||
android:ellipsize="end"
|
|
||||||
android:maxLines="1"
|
|
||||||
android:text="@string/create_room_title"
|
|
||||||
android:textColor="?vctr_content_primary"
|
|
||||||
android:textStyle="bold"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintHorizontal_bias="0.0"
|
|
||||||
app:layout_constraintStart_toEndOf="@id/createRoomClose"
|
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
||||||
|
|
||||||
</com.google.android.material.appbar.MaterialToolbar>
|
|
||||||
|
|
||||||
</com.google.android.material.appbar.AppBarLayout>
|
</com.google.android.material.appbar.AppBarLayout>
|
||||||
|
|
||||||
|
@ -86,19 +86,19 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/groupToolbarTitleView"
|
android:id="@+id/groupToolbarTitleView"
|
||||||
style="@style/Widget.Vector.TextView.HeadlineMedium"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
android:gravity="start"
|
android:gravity="start"
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
|
android:textAppearance="@style/TextAppearance.Vector.Widget.ActionBarTitle"
|
||||||
android:textColor="?vctr_content_primary"
|
android:textColor="?vctr_content_primary"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
tools:text="@tools:sample/lorem/random" />
|
tools:text="@tools:sample/lorem/random" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/groupToolbarSpaceTitleView"
|
android:id="@+id/groupToolbarSpaceTitleView"
|
||||||
style="@style/Widget.Vector.TextView.Subtitle"
|
style="@style/TextAppearance.Vector.Widget.ActionBarSubTitle"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
|
@ -71,7 +71,6 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/matrixProfileToolbarTitleView"
|
android:id="@+id/matrixProfileToolbarTitleView"
|
||||||
style="@style/Widget.Vector.TextView.HeadlineMedium"
|
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="8dp"
|
android:layout_marginStart="8dp"
|
||||||
@ -79,6 +78,7 @@
|
|||||||
android:alpha="0"
|
android:alpha="0"
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
|
android:textAppearance="@style/TextAppearance.Vector.Widget.ActionBarTitle"
|
||||||
android:textColor="?vctr_content_primary"
|
android:textColor="?vctr_content_primary"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
@ -11,54 +10,13 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent">
|
app:layout_constraintTop_toBottomOf="@id/appBarLayout">
|
||||||
|
|
||||||
<com.google.android.material.appbar.MaterialToolbar
|
<com.google.android.material.appbar.MaterialToolbar
|
||||||
android:id="@+id/qrScannerToolbar"
|
android:id="@+id/qrScannerToolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?actionBarSize">
|
android:layout_height="?actionBarSize"
|
||||||
|
app:title="@string/add_by_qr_code" />
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent">
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/qrScannerClose"
|
|
||||||
android:layout_width="@dimen/layout_touch_size"
|
|
||||||
android:layout_height="@dimen/layout_touch_size"
|
|
||||||
android:clickable="true"
|
|
||||||
android:contentDescription="@string/action_close"
|
|
||||||
android:focusable="true"
|
|
||||||
android:foreground="?attr/selectableItemBackground"
|
|
||||||
android:scaleType="center"
|
|
||||||
android:src="@drawable/ic_x_18dp"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
app:tint="?vctr_content_secondary"
|
|
||||||
tools:ignore="MissingPrefix" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/qrScannerTitle"
|
|
||||||
style="@style/Widget.Vector.TextView.HeadlineMedium"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="8dp"
|
|
||||||
android:layout_marginEnd="8dp"
|
|
||||||
android:ellipsize="end"
|
|
||||||
android:maxLines="1"
|
|
||||||
android:text="@string/add_by_qr_code"
|
|
||||||
android:textColor="?vctr_content_primary"
|
|
||||||
android:textStyle="bold"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintHorizontal_bias="0.0"
|
|
||||||
app:layout_constraintStart_toEndOf="@id/qrScannerClose"
|
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
||||||
|
|
||||||
</com.google.android.material.appbar.MaterialToolbar>
|
|
||||||
|
|
||||||
</com.google.android.material.appbar.AppBarLayout>
|
</com.google.android.material.appbar.AppBarLayout>
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
@ -16,49 +15,8 @@
|
|||||||
<com.google.android.material.appbar.MaterialToolbar
|
<com.google.android.material.appbar.MaterialToolbar
|
||||||
android:id="@+id/qrScannerToolbar"
|
android:id="@+id/qrScannerToolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?actionBarSize">
|
android:layout_height="?actionBarSize"
|
||||||
|
app:title="@string/user_code_scan" />
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent">
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/userCodeClose"
|
|
||||||
android:layout_width="@dimen/layout_touch_size"
|
|
||||||
android:layout_height="@dimen/layout_touch_size"
|
|
||||||
android:clickable="true"
|
|
||||||
android:contentDescription="@string/action_close"
|
|
||||||
android:focusable="true"
|
|
||||||
android:foreground="?attr/selectableItemBackground"
|
|
||||||
android:scaleType="center"
|
|
||||||
android:src="@drawable/ic_x_18dp"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
app:tint="?vctr_content_secondary"
|
|
||||||
tools:ignore="MissingPrefix" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
style="@style/Widget.Vector.TextView.HeadlineMedium"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="8dp"
|
|
||||||
android:layout_marginEnd="8dp"
|
|
||||||
android:ellipsize="end"
|
|
||||||
android:maxLines="1"
|
|
||||||
android:text="@string/user_code_scan"
|
|
||||||
android:textColor="?vctr_content_primary"
|
|
||||||
android:textStyle="bold"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintHorizontal_bias="0.0"
|
|
||||||
app:layout_constraintStart_toEndOf="@id/userCodeClose"
|
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
||||||
|
|
||||||
</com.google.android.material.appbar.MaterialToolbar>
|
|
||||||
|
|
||||||
</com.google.android.material.appbar.AppBarLayout>
|
</com.google.android.material.appbar.AppBarLayout>
|
||||||
|
|
||||||
<me.dm7.barcodescanner.zxing.ZXingScannerView
|
<me.dm7.barcodescanner.zxing.ZXingScannerView
|
||||||
|
@ -27,42 +27,8 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?attr/actionBarSize"
|
android:layout_height="?attr/actionBarSize"
|
||||||
android:minHeight="0dp"
|
android:minHeight="0dp"
|
||||||
app:layout_scrollFlags="scroll|exitUntilCollapsed|snap|enterAlways">
|
app:title="@string/bottom_action_people"
|
||||||
|
app:layout_scrollFlags="scroll|exitUntilCollapsed|snap|enterAlways"/>
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="center_vertical|start"
|
|
||||||
android:orientation="vertical">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/appBarTitle"
|
|
||||||
style="@style/Widget.Vector.TextView.HeadlineMedium"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginEnd="8dp"
|
|
||||||
android:ellipsize="end"
|
|
||||||
android:gravity="start|center"
|
|
||||||
android:maxLines="1"
|
|
||||||
android:textColor="?vctr_content_primary"
|
|
||||||
android:textStyle="bold"
|
|
||||||
tools:text="@tools:sample/lorem/random" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/appBarSpaceInfo"
|
|
||||||
style="@style/Widget.Vector.TextView.Subtitle"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginEnd="8dp"
|
|
||||||
android:ellipsize="end"
|
|
||||||
android:gravity="start|center"
|
|
||||||
android:maxLines="1"
|
|
||||||
android:textColor="?vctr_content_secondary"
|
|
||||||
tools:text="@tools:sample/lorem/random" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
</com.google.android.material.appbar.MaterialToolbar>
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.SearchView
|
<androidx.appcompat.widget.SearchView
|
||||||
android:id="@+id/memberNameFilter"
|
android:id="@+id/memberNameFilter"
|
||||||
|
@ -85,14 +85,13 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/roomToolbarTitleView"
|
android:id="@+id/roomToolbarTitleView"
|
||||||
style="@style/Widget.Vector.TextView.HeadlineMedium"
|
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="4dp"
|
android:layout_marginStart="4dp"
|
||||||
android:layout_marginEnd="8dp"
|
android:layout_marginEnd="8dp"
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
android:textColor="?vctr_content_primary"
|
android:textAppearance="@style/TextAppearance.Vector.Widget.ActionBarTitle"
|
||||||
app:layout_constraintBottom_toTopOf="@id/roomToolbarSubtitleView"
|
app:layout_constraintBottom_toTopOf="@id/roomToolbarSubtitleView"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintHorizontal_bias="0.0"
|
app:layout_constraintHorizontal_bias="0.0"
|
||||||
@ -104,14 +103,13 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/roomToolbarSubtitleView"
|
android:id="@+id/roomToolbarSubtitleView"
|
||||||
style="@style/Widget.Vector.TextView.Body"
|
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="7dp"
|
android:layout_marginStart="7dp"
|
||||||
android:layout_marginEnd="8dp"
|
android:layout_marginEnd="8dp"
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
android:textColor="?vctr_content_primary"
|
android:textAppearance="@style/TextAppearance.Vector.Widget.ActionBarSubTitle"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintHorizontal_bias="0.0"
|
app:layout_constraintHorizontal_bias="0.0"
|
||||||
|
@ -39,13 +39,13 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/roomPreviewNoPreviewToolbarTitle"
|
android:id="@+id/roomPreviewNoPreviewToolbarTitle"
|
||||||
style="@style/Widget.Vector.TextView.HeadlineMedium"
|
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="8dp"
|
android:layout_marginStart="8dp"
|
||||||
android:layout_marginEnd="8dp"
|
android:layout_marginEnd="8dp"
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
|
android:textAppearance="@style/TextAppearance.Vector.Widget.ActionBarTitle"
|
||||||
android:textColor="?vctr_content_primary"
|
android:textColor="?vctr_content_primary"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
@ -48,13 +48,13 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/roomSettingsToolbarTitleView"
|
android:id="@+id/roomSettingsToolbarTitleView"
|
||||||
style="@style/Widget.Vector.TextView.HeadlineMedium"
|
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="8dp"
|
android:layout_marginStart="8dp"
|
||||||
android:layout_marginEnd="8dp"
|
android:layout_marginEnd="8dp"
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
|
android:textAppearance="@style/TextAppearance.Vector.Widget.ActionBarTitle"
|
||||||
android:textColor="?vctr_content_primary"
|
android:textColor="?vctr_content_primary"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
@ -46,13 +46,13 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/roomUploadsToolbarTitleView"
|
android:id="@+id/roomUploadsToolbarTitleView"
|
||||||
style="@style/Widget.Vector.TextView.HeadlineMedium"
|
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="8dp"
|
android:layout_marginStart="8dp"
|
||||||
android:layout_marginEnd="8dp"
|
android:layout_marginEnd="8dp"
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
|
android:textAppearance="@style/TextAppearance.Vector.Widget.ActionBarTitle"
|
||||||
android:textColor="?vctr_content_primary"
|
android:textColor="?vctr_content_primary"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
@ -24,42 +24,8 @@
|
|||||||
android:id="@+id/addRoomToSpaceToolbar"
|
android:id="@+id/addRoomToSpaceToolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?attr/actionBarSize"
|
android:layout_height="?attr/actionBarSize"
|
||||||
android:minHeight="0dp">
|
android:minHeight="0dp"
|
||||||
|
app:title="@string/space_add_existing_rooms"/>
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="center_vertical|start"
|
|
||||||
android:orientation="vertical">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/appBarTitle"
|
|
||||||
style="@style/Widget.Vector.TextView.HeadlineMedium"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginEnd="8dp"
|
|
||||||
android:ellipsize="end"
|
|
||||||
android:gravity="start|center"
|
|
||||||
android:maxLines="1"
|
|
||||||
android:text="@string/space_add_existing_rooms"
|
|
||||||
android:textColor="?vctr_content_primary"
|
|
||||||
android:textStyle="bold" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/appBarSpaceInfo"
|
|
||||||
style="@style/Widget.Vector.TextView.Subtitle"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginEnd="8dp"
|
|
||||||
android:ellipsize="end"
|
|
||||||
android:gravity="start|center"
|
|
||||||
android:maxLines="1"
|
|
||||||
android:textColor="?vctr_content_secondary"
|
|
||||||
tools:text="@sample/spaces.json/data/name" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
</com.google.android.material.appbar.MaterialToolbar>
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.SearchView
|
<androidx.appcompat.widget.SearchView
|
||||||
android:id="@+id/publicRoomsFilter"
|
android:id="@+id/publicRoomsFilter"
|
||||||
|
@ -25,30 +25,8 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?attr/actionBarSize"
|
android:layout_height="?attr/actionBarSize"
|
||||||
android:minHeight="0dp"
|
android:minHeight="0dp"
|
||||||
app:layout_scrollFlags="scroll|exitUntilCollapsed|snap|enterAlways">
|
app:title="@string/pick_tings_to_leave"
|
||||||
|
app:layout_scrollFlags="scroll|exitUntilCollapsed|snap|enterAlways"/>
|
||||||
<LinearLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_gravity="center_vertical|start"
|
|
||||||
android:orientation="vertical">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/appBarTitle"
|
|
||||||
style="@style/Widget.Vector.TextView.HeadlineMedium"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginEnd="8dp"
|
|
||||||
android:ellipsize="end"
|
|
||||||
android:gravity="start|center"
|
|
||||||
android:maxLines="1"
|
|
||||||
android:text="@string/pick_tings_to_leave"
|
|
||||||
android:textColor="?vctr_content_primary"
|
|
||||||
android:textStyle="bold" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
</com.google.android.material.appbar.MaterialToolbar>
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.SearchView
|
<androidx.appcompat.widget.SearchView
|
||||||
android:id="@+id/publicRoomsFilter"
|
android:id="@+id/publicRoomsFilter"
|
||||||
|
@ -41,13 +41,13 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/roomPreviewNoPreviewToolbarTitle"
|
android:id="@+id/roomPreviewNoPreviewToolbarTitle"
|
||||||
style="@style/Widget.Vector.TextView.HeadlineMedium"
|
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="8dp"
|
android:layout_marginStart="8dp"
|
||||||
android:layout_marginEnd="8dp"
|
android:layout_marginEnd="8dp"
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
|
android:textAppearance="@style/TextAppearance.Vector.Widget.ActionBarTitle"
|
||||||
android:textColor="?vctr_content_primary"
|
android:textColor="?vctr_content_primary"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
@ -33,17 +33,17 @@
|
|||||||
android:padding="8dp">
|
android:padding="8dp">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/Widget.Vector.TextView.ActionBarTitle"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/select_spaces" />
|
android:text="@string/select_spaces"
|
||||||
|
android:textAppearance="@style/TextAppearance.Vector.Widget.ActionBarTitle" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/Widget.Vector.TextView.Body"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:paddingTop="8dp"
|
android:paddingTop="8dp"
|
||||||
android:text="@string/decide_which_spaces_can_access"
|
android:text="@string/decide_which_spaces_can_access"
|
||||||
|
android:textAppearance="@style/Widget.Vector.TextView.Subtitle"
|
||||||
android:textColor="?vctr_content_secondary" />
|
android:textColor="?vctr_content_secondary" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
@ -92,8 +92,8 @@
|
|||||||
android:paddingEnd="16dp">
|
android:paddingEnd="16dp">
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
style="@style/Widget.Vector.Button.Positive"
|
|
||||||
android:id="@+id/okButton"
|
android:id="@+id/okButton"
|
||||||
|
style="@style/Widget.Vector.Button.Positive"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/ok" />
|
android:text="@string/ok" />
|
||||||
|
@ -19,46 +19,8 @@
|
|||||||
<com.google.android.material.appbar.MaterialToolbar
|
<com.google.android.material.appbar.MaterialToolbar
|
||||||
android:id="@+id/showUserCodeToolBar"
|
android:id="@+id/showUserCodeToolBar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?actionBarSize">
|
android:layout_height="?actionBarSize"
|
||||||
|
app:title="@string/add_by_qr_code"/>
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent">
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/showUserCodeClose"
|
|
||||||
android:layout_width="@dimen/layout_touch_size"
|
|
||||||
android:layout_height="@dimen/layout_touch_size"
|
|
||||||
android:contentDescription="@string/action_close"
|
|
||||||
android:scaleType="center"
|
|
||||||
android:src="@drawable/ic_x_18dp"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
app:tint="?vctr_content_secondary"
|
|
||||||
tools:ignore="MissingPrefix" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/showUserCodeTitle"
|
|
||||||
style="@style/Widget.Vector.TextView.HeadlineMedium"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="8dp"
|
|
||||||
android:layout_marginEnd="8dp"
|
|
||||||
android:ellipsize="end"
|
|
||||||
android:maxLines="1"
|
|
||||||
android:text="@string/add_by_qr_code"
|
|
||||||
android:textColor="?vctr_content_primary"
|
|
||||||
android:textStyle="bold"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintHorizontal_bias="0.0"
|
|
||||||
app:layout_constraintStart_toEndOf="@id/showUserCodeClose"
|
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
||||||
|
|
||||||
</com.google.android.material.appbar.MaterialToolbar>
|
|
||||||
|
|
||||||
</com.google.android.material.appbar.AppBarLayout>
|
</com.google.android.material.appbar.AppBarLayout>
|
||||||
|
|
||||||
|
@ -43,7 +43,6 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/userDirectoryTitle"
|
android:id="@+id/userDirectoryTitle"
|
||||||
style="@style/Widget.Vector.TextView.HeadlineMedium"
|
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="8dp"
|
android:layout_marginStart="8dp"
|
||||||
@ -51,6 +50,7 @@
|
|||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
android:text="@string/direct_chats_header"
|
android:text="@string/direct_chats_header"
|
||||||
|
android:textAppearance="@style/TextAppearance.Vector.Widget.ActionBarTitle"
|
||||||
android:textColor="?vctr_content_primary"
|
android:textColor="?vctr_content_primary"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
@ -14,49 +14,8 @@
|
|||||||
<com.google.android.material.appbar.MaterialToolbar
|
<com.google.android.material.appbar.MaterialToolbar
|
||||||
android:id="@+id/userListToolbar"
|
android:id="@+id/userListToolbar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?actionBarSize">
|
android:layout_height="?actionBarSize"
|
||||||
|
app:title="@string/fab_menu_create_chat"/>
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="match_parent">
|
|
||||||
|
|
||||||
<ImageView
|
|
||||||
android:id="@+id/userListClose"
|
|
||||||
android:layout_width="@dimen/layout_touch_size"
|
|
||||||
android:layout_height="@dimen/layout_touch_size"
|
|
||||||
android:clickable="true"
|
|
||||||
android:contentDescription="@string/action_close"
|
|
||||||
android:focusable="true"
|
|
||||||
android:foreground="?attr/selectableItemBackground"
|
|
||||||
android:scaleType="center"
|
|
||||||
android:src="@drawable/ic_x_18dp"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
|
||||||
app:tint="?vctr_content_secondary"
|
|
||||||
tools:ignore="MissingPrefix" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/userListTitle"
|
|
||||||
style="@style/Widget.Vector.TextView.HeadlineMedium"
|
|
||||||
android:layout_width="0dp"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="8dp"
|
|
||||||
android:layout_marginEnd="8dp"
|
|
||||||
android:ellipsize="end"
|
|
||||||
android:maxLines="1"
|
|
||||||
android:text="@string/fab_menu_create_chat"
|
|
||||||
android:textColor="?vctr_content_primary"
|
|
||||||
android:textStyle="bold"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
|
||||||
app:layout_constraintHorizontal_bias="0.0"
|
|
||||||
app:layout_constraintStart_toEndOf="@id/userListClose"
|
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
||||||
|
|
||||||
</com.google.android.material.appbar.MaterialToolbar>
|
|
||||||
|
|
||||||
</com.google.android.material.appbar.AppBarLayout>
|
</com.google.android.material.appbar.AppBarLayout>
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user