Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c50c3846 authored by Abhishek Aggarwal's avatar Abhishek Aggarwal
Browse files

App lounge: header email and name

parent 23aca9cc
Loading
Loading
Loading
Loading
+25 −4
Original line number Diff line number Diff line
@@ -24,12 +24,17 @@ import android.view.View
import androidx.fragment.app.viewModels
import androidx.navigation.findNavController
import androidx.preference.PreferenceFragmentCompat
import coil.load
import com.aurora.gplayapi.data.models.AuthData
import com.google.gson.Gson
import dagger.hilt.android.AndroidEntryPoint
import foundation.e.apps.MainActivity
import foundation.e.apps.MainActivityViewModel
import foundation.e.apps.R
import foundation.e.apps.databinding.CustomPreferenceBinding
import foundation.e.apps.setup.signin.SignInViewModel
import foundation.e.apps.utils.USER
import javax.inject.Inject

@AndroidEntryPoint
class SettingsFragment : PreferenceFragmentCompat() {
@@ -37,6 +42,10 @@ class SettingsFragment : PreferenceFragmentCompat() {
    private var _binding: CustomPreferenceBinding? = null
    private val binding get() = _binding!!
    private val viewModel: SignInViewModel by viewModels()
    private val mainActivityViewModel: MainActivityViewModel by viewModels()

    @Inject
    lateinit var gson: Gson

    override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
        setPreferencesFromResource(R.xml.settings_preferences, rootKey)
@@ -74,10 +83,22 @@ class SettingsFragment : PreferenceFragmentCompat() {

        super.onViewCreated(view, savedInstanceState)
        
        viewModel.userType.observe(viewLifecycleOwner) {
            if (it.equals(USER.ANONYMOUS.name)) {
        mainActivityViewModel.authDataJson.observe(viewLifecycleOwner) {
            val authData = gson.fromJson(it, AuthData::class.java)
            viewModel.userType.observe(viewLifecycleOwner) { user ->
                when (user) {
                    USER.ANONYMOUS.name -> {
                        binding.accountType.text = view.context.getString(R.string.user_anonymous)
                    }
                    USER.GOOGLE.name -> {
                        if (authData.userProfile != null) {
                            binding.accountType.text = authData.userProfile?.name
                            binding.email.text = authData.userProfile?.email
                            binding.avatar.load(authData.userProfile?.artwork?.url)
                        }
                    }
                }
            }
        }

        binding.tos.setOnClickListener {
+18 −4
Original line number Diff line number Diff line
@@ -61,16 +61,18 @@
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintTop_toTopOf="parent" />

            <ImageView
            <com.google.android.material.imageview.ShapeableImageView
                android:id="@+id/avatar"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_width="40dp"
                android:layout_height="40dp"
                android:layout_marginStart="16dp"
                android:layout_marginTop="30dp"
                android:scaleType="centerCrop"
                android:src="@drawable/ic_user_icon"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@id/account" />
                app:layout_constraintTop_toBottomOf="@id/account"
                app:shapeAppearanceOverlay="@style/roundedCornersImageView" />

            <TextView
                android:id="@+id/accountType"
@@ -83,6 +85,18 @@
                app:layout_constraintStart_toEndOf="@id/avatar"
                app:layout_constraintTop_toTopOf="@id/avatar" />

            <TextView
                android:id="@+id/email"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginStart="18dp"
                android:layout_marginTop="5dp"
                android:textColor="?android:textColorSecondary"
                android:textSize="13sp"
                app:layout_constraintBottom_toBottomOf="@id/avatar"
                app:layout_constraintStart_toEndOf="@id/avatar"
                app:layout_constraintTop_toBottomOf="@id/accountType" />

            <com.google.android.material.button.MaterialButton
                android:id="@+id/logout"
                style="@style/Widget.MaterialComponents.Button.OutlinedButton"
+5 −0
Original line number Diff line number Diff line
@@ -53,4 +53,9 @@
        <item name="android:colorControlNormal">@color/colorAccent</item>
    </style>

    <style name="roundedCornersImageView" parent="">
        <item name="cornerFamily">rounded</item>
        <item name="cornerSize">50%</item>
    </style>

</resources>
 No newline at end of file