Adds profile icon to toolbar

This commit is contained in:
ericdecanini 2022-07-27 15:37:31 +02:00
parent 7de82e0204
commit 9a981bb1d5
3 changed files with 29 additions and 4 deletions

View File

@ -23,6 +23,7 @@ import android.view.MenuItem
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.lifecycle.lifecycleScope
import com.airbnb.mvrx.activityViewModel
import com.airbnb.mvrx.fragmentViewModel
import com.airbnb.mvrx.withState
@ -54,8 +55,12 @@ import im.vector.app.features.settings.VectorSettingsActivity.Companion.EXTRA_DI
import im.vector.app.features.themes.ThemeUtils
import im.vector.app.features.workers.signout.BannerState
import im.vector.app.features.workers.signout.ServerBackupStatusViewModel
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import org.matrix.android.sdk.api.session.Session
import org.matrix.android.sdk.api.session.crypto.model.DeviceInfo
import org.matrix.android.sdk.api.session.room.model.RoomSummary
import org.matrix.android.sdk.api.util.toMatrixItem
import javax.inject.Inject
class NewHomeDetailFragment @Inject constructor(
@ -64,7 +69,8 @@ class NewHomeDetailFragment @Inject constructor(
private val alertManager: PopupAlertManager,
private val callManager: WebRtcCallManager,
private val vectorPreferences: VectorPreferences,
private val appStateHandler: AppStateHandler
private val appStateHandler: AppStateHandler,
private val session: Session,
) : VectorBaseFragment<FragmentNewHomeDetailBinding>(),
KeysBackupBanner.Delegate,
CurrentCallsView.Callback,
@ -287,10 +293,18 @@ class NewHomeDetailFragment @Inject constructor(
private fun setupToolbar() {
setupToolbar(views.toolbar)
lifecycleScope.launch(Dispatchers.IO) {
session.userService().getUser(session.myUserId)?.let { user ->
avatarRenderer.render(user.toMatrixItem(), views.avatar)
}
}
views.avatar.setOnClickListener {
navigator.openSettings(requireContext())
}
}
private fun setupBottomNavigationView() {
views.bottomNavigationView.menu.findItem(R.id.bottom_action_notification).isVisible = vectorPreferences.labAddNotificationTab()
views.bottomNavigationView.setOnItemSelectedListener {

View File

@ -61,7 +61,17 @@
android:layout_height="?attr/actionBarSize"
android:elevation="0dp"
app:layout_collapseMode="pin"
app:title="@string/all_chats" />
app:title="@string/all_chats">
<ImageView
android:id="@+id/avatar"
android:layout_width="36dp"
android:layout_height="36dp"
android:padding="6dp"
android:contentDescription="@string/a11y_open_settings"
tools:src="@sample/user_round_avatars" />
</com.google.android.material.appbar.MaterialToolbar>
</com.google.android.material.appbar.CollapsingToolbarLayout>

View File

@ -2804,6 +2804,7 @@
<string name="a11y_screenshot">Screenshot</string>
<string name="a11y_open_widget">Open widgets</string>
<string name="a11y_open_settings">Open settings</string>
<string name="a11y_import_key_from_file">Import key from file</string>
<string name="a11y_image">Image</string>
<string name="a11y_change_avatar">Change avatar</string>