new app layout is enabled (#6959)

This commit is contained in:
Nikita Fedrunov 2022-08-31 10:06:01 +02:00 committed by GitHub
parent 456d831a7d
commit 657796c8b5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 24 additions and 8 deletions

1
changelog.d/6958.feature Normal file
View File

@ -0,0 +1 @@
[App Layout] New App Layout is enabled by default

View File

@ -33,12 +33,16 @@ import com.adevinta.android.barista.interaction.BaristaDialogInteractions.clickD
import com.adevinta.android.barista.interaction.BaristaDrawerInteractions.openDrawer import com.adevinta.android.barista.interaction.BaristaDrawerInteractions.openDrawer
import im.vector.app.EspressoHelper import im.vector.app.EspressoHelper
import im.vector.app.R import im.vector.app.R
import im.vector.app.espresso.tools.clickOnPreference
import im.vector.app.espresso.tools.waitUntilActivityVisible import im.vector.app.espresso.tools.waitUntilActivityVisible
import im.vector.app.espresso.tools.waitUntilDialogVisible import im.vector.app.espresso.tools.waitUntilDialogVisible
import im.vector.app.espresso.tools.waitUntilViewVisible import im.vector.app.espresso.tools.waitUntilViewVisible
import im.vector.app.features.DefaultVectorFeatures
import im.vector.app.features.VectorFeatures
import im.vector.app.features.createdirect.CreateDirectRoomActivity import im.vector.app.features.createdirect.CreateDirectRoomActivity
import im.vector.app.features.home.HomeActivity import im.vector.app.features.home.HomeActivity
import im.vector.app.features.onboarding.OnboardingActivity import im.vector.app.features.onboarding.OnboardingActivity
import im.vector.app.features.settings.VectorSettingsActivity
import im.vector.app.initialSyncIdlingResource import im.vector.app.initialSyncIdlingResource
import im.vector.app.ui.robot.settings.SettingsRobot import im.vector.app.ui.robot.settings.SettingsRobot
import im.vector.app.ui.robot.settings.labs.LabFeature import im.vector.app.ui.robot.settings.labs.LabFeature
@ -48,6 +52,8 @@ import timber.log.Timber
class ElementRobot { class ElementRobot {
var features: VectorFeatures = DefaultVectorFeatures()
fun onboarding(block: OnboardingRobot.() -> Unit) { fun onboarding(block: OnboardingRobot.() -> Unit) {
block(OnboardingRobot()) block(OnboardingRobot())
} }
@ -73,7 +79,7 @@ class ElementRobot {
val activity = EspressoHelper.getCurrentActivity()!! val activity = EspressoHelper.getCurrentActivity()!!
val uiSession = (activity as HomeActivity).activeSessionHolder.getActiveSession() val uiSession = (activity as HomeActivity).activeSessionHolder.getActiveSession()
withIdlingResource(initialSyncIdlingResource(uiSession)) { withIdlingResource(initialSyncIdlingResource(uiSession)) {
waitUntilViewVisible(withId(R.id.bottomNavigationView)) waitUntilViewVisible(withId(R.id.roomListContainer))
} }
} }
@ -82,7 +88,7 @@ class ElementRobot {
clickOn(R.id.homeDrawerHeaderSettingsView) clickOn(R.id.homeDrawerHeaderSettingsView)
block(SettingsRobot()) block(SettingsRobot())
if (shouldGoBack) pressBack() if (shouldGoBack) pressBack()
waitUntilViewVisible(withId(R.id.bottomNavigationView)) waitUntilViewVisible(withId(R.id.roomListContainer))
} }
fun newDirectMessage(block: NewDirectMessageRobot.() -> Unit) { fun newDirectMessage(block: NewDirectMessageRobot.() -> Unit) {
@ -94,19 +100,19 @@ class ElementRobot {
closeSoftKeyboard() closeSoftKeyboard()
block(NewDirectMessageRobot()) block(NewDirectMessageRobot())
pressBack() pressBack()
waitUntilViewVisible(withId(R.id.bottomNavigationView)) waitUntilViewVisible(withId(R.id.roomListContainer))
} }
fun newRoom(block: NewRoomRobot.() -> Unit) { fun newRoom(block: NewRoomRobot.() -> Unit) {
clickOn(R.id.bottom_action_rooms) clickOn(R.id.bottom_action_rooms)
RoomListRobot().newRoom { block() } RoomListRobot().newRoom { block() }
waitUntilViewVisible(withId(R.id.bottomNavigationView)) waitUntilViewVisible(withId(R.id.roomListContainer))
} }
fun roomList(block: RoomListRobot.() -> Unit) { fun roomList(block: RoomListRobot.() -> Unit) {
clickOn(R.id.bottom_action_rooms) clickOn(R.id.bottom_action_rooms)
block(RoomListRobot()) block(RoomListRobot())
waitUntilViewVisible(withId(R.id.bottomNavigationView)) waitUntilViewVisible(withId(R.id.roomListContainer))
} }
fun toggleLabFeature(labFeature: LabFeature) { fun toggleLabFeature(labFeature: LabFeature) {
@ -146,8 +152,17 @@ class ElementRobot {
} }
fun signout(expectSignOutWarning: Boolean) { fun signout(expectSignOutWarning: Boolean) {
clickOn(R.id.groupToolbarAvatarImageView) if (features.isNewAppLayoutEnabled()) {
clickOn(R.id.homeDrawerHeaderSignoutView) onView(withId((R.id.avatar)))
.perform(click())
waitUntilActivityVisible<VectorSettingsActivity> {
clickOn(R.string.settings_general_title)
}
clickOnPreference(R.string.action_sign_out)
} else {
clickOn(R.id.groupToolbarAvatarImageView)
clickOn(R.id.homeDrawerHeaderSignoutView)
}
val isShowingSignOutWarning = kotlin.runCatching { val isShowingSignOutWarning = kotlin.runCatching {
waitUntilViewVisible(withId(R.id.exitAnywayButton)) waitUntilViewVisible(withId(R.id.exitAnywayButton))

View File

@ -50,6 +50,6 @@ class DefaultVectorFeatures : VectorFeatures {
override fun isLocationSharingEnabled() = Config.ENABLE_LOCATION_SHARING override fun isLocationSharingEnabled() = Config.ENABLE_LOCATION_SHARING
override fun forceUsageOfOpusEncoder(): Boolean = false override fun forceUsageOfOpusEncoder(): Boolean = false
override fun shouldStartDmOnFirstMessage(): Boolean = false override fun shouldStartDmOnFirstMessage(): Boolean = false
override fun isNewAppLayoutEnabled(): Boolean = false override fun isNewAppLayoutEnabled(): Boolean = true
override fun isNewDeviceManagementEnabled(): Boolean = false override fun isNewDeviceManagementEnabled(): Boolean = false
} }