Adds profile icon to toolbar
This commit is contained in:
parent
7de82e0204
commit
9a981bb1d5
@ -23,6 +23,7 @@ import android.view.MenuItem
|
|||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
|
import androidx.lifecycle.lifecycleScope
|
||||||
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
|
||||||
@ -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.themes.ThemeUtils
|
||||||
import im.vector.app.features.workers.signout.BannerState
|
import im.vector.app.features.workers.signout.BannerState
|
||||||
import im.vector.app.features.workers.signout.ServerBackupStatusViewModel
|
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.crypto.model.DeviceInfo
|
||||||
import org.matrix.android.sdk.api.session.room.model.RoomSummary
|
import org.matrix.android.sdk.api.session.room.model.RoomSummary
|
||||||
|
import org.matrix.android.sdk.api.util.toMatrixItem
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
class NewHomeDetailFragment @Inject constructor(
|
class NewHomeDetailFragment @Inject constructor(
|
||||||
@ -64,7 +69,8 @@ class NewHomeDetailFragment @Inject constructor(
|
|||||||
private val alertManager: PopupAlertManager,
|
private val alertManager: PopupAlertManager,
|
||||||
private val callManager: WebRtcCallManager,
|
private val callManager: WebRtcCallManager,
|
||||||
private val vectorPreferences: VectorPreferences,
|
private val vectorPreferences: VectorPreferences,
|
||||||
private val appStateHandler: AppStateHandler
|
private val appStateHandler: AppStateHandler,
|
||||||
|
private val session: Session,
|
||||||
) : VectorBaseFragment<FragmentNewHomeDetailBinding>(),
|
) : VectorBaseFragment<FragmentNewHomeDetailBinding>(),
|
||||||
KeysBackupBanner.Delegate,
|
KeysBackupBanner.Delegate,
|
||||||
CurrentCallsView.Callback,
|
CurrentCallsView.Callback,
|
||||||
@ -287,10 +293,18 @@ class NewHomeDetailFragment @Inject constructor(
|
|||||||
|
|
||||||
private fun setupToolbar() {
|
private fun setupToolbar() {
|
||||||
setupToolbar(views.toolbar)
|
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() {
|
private fun setupBottomNavigationView() {
|
||||||
views.bottomNavigationView.menu.findItem(R.id.bottom_action_notification).isVisible = vectorPreferences.labAddNotificationTab()
|
views.bottomNavigationView.menu.findItem(R.id.bottom_action_notification).isVisible = vectorPreferences.labAddNotificationTab()
|
||||||
views.bottomNavigationView.setOnItemSelectedListener {
|
views.bottomNavigationView.setOnItemSelectedListener {
|
||||||
|
@ -61,7 +61,17 @@
|
|||||||
android:layout_height="?attr/actionBarSize"
|
android:layout_height="?attr/actionBarSize"
|
||||||
android:elevation="0dp"
|
android:elevation="0dp"
|
||||||
app:layout_collapseMode="pin"
|
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>
|
</com.google.android.material.appbar.CollapsingToolbarLayout>
|
||||||
|
|
||||||
|
@ -2804,6 +2804,7 @@
|
|||||||
|
|
||||||
<string name="a11y_screenshot">Screenshot</string>
|
<string name="a11y_screenshot">Screenshot</string>
|
||||||
<string name="a11y_open_widget">Open widgets</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_import_key_from_file">Import key from file</string>
|
||||||
<string name="a11y_image">Image</string>
|
<string name="a11y_image">Image</string>
|
||||||
<string name="a11y_change_avatar">Change avatar</string>
|
<string name="a11y_change_avatar">Change avatar</string>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user