The Cuenta tab is the central place for managing your personal information inside La Casa del Bordadito. From here you can view your account details, update your profile, change your photo, and sign out. All data is stored underDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/AndresLopezCorrales/La-casa-del-bordadito/llms.txt
Use this file to discover all available pages before exploring further.
Usuarios/{uid} in the Firebase Realtime Database and is reflected in real time wherever your name or photo appears in the app.
Profile fields
EditarPerfil exposes four editable fields:
| Field | DB key | Notes |
|---|---|---|
| Full name | nombres | Required — cannot be saved empty |
| Date of birth | fecha_nac | Required — cannot be saved empty; free-text, displayed in the profile tab |
| Country code | codigoTelefono | Required — selected via CountryCodePicker; stored as +52, +1, etc. |
| Phone number | telefono | Required — digits only, without the dial code |
EditarPerfil.actualizarInfo() calls updateChildren(hashMap) on the Usuarios/{uid} reference so only the four fields above are overwritten — other profile data (email, provider, timestamps) remains untouched.
Changing your profile photo
Open the photo picker
In
EditarPerfil, tap the floating action button (FABCambiarImg) overlaid on the profile image. A popup menu appears with two options: Cámara and Galería.Grant permissions
- Camera: the app requests
CAMERA(andWRITE_EXTERNAL_STORAGEon Android < 13). - Gallery: the app requests
WRITE_EXTERNAL_STORAGEon Android < 13; no extra permission is needed on Android 13+.
Upload to Firebase Storage
After the image is captured or selected,
subirImagenStorage() uploads the file to the path imagenesPerfil/{uid} in Firebase Storage. The storage reference is obtained via:Avatar fallback
WhenurlImagenPerfil is empty or "null", the app generates a deterministic avatar using the multiavatar library instead of showing a blank placeholder. AvatarGenerator.generateAvatarByUid() calls AvatarData.generateWithSha256(uid) (which internally SHA-256-hashes the UID to produce a consistent seed), renders the result as an SVG with MultiAvatar.getAvatarSvgBytes(avatarData), and loads the bytes into the ImageView using Coil with SvgDecoder:
Phone number with international dial code
The country code picker is powered by the CountryCodePicker (CCP) library. The selected country code (e.g.+52 for Mexico) is read at save time with:
codigoTelefono and telefono) so they can be displayed concatenated in the profile view (TvTelefono.text = codTelefono + telefono).
What the Cuenta tab displays
FragmentCuenta.leerInfoUsuario() attaches a ValueEventListener to Usuarios/{uid} and populates the profile tab in real time:
The account email address. Read-only — it cannot be changed from inside the app.
Name
The
nombres field. Tap Editar Perfil to change it.Date of birth
The
fecha_nac field set in EditarPerfil.Phone
Displayed as
codigoTelefono + telefono, e.g. +526621398836.Member since
Formatted from the
tiempo timestamp using Constantes.obtenerFecha(tiempo) → dd/MM/yyyy.Account status
"Verificado" for Google accounts and verified email accounts; "No verificado" for unverified email accounts.Signing out
The Cerrar Sesión button in the profile tab executes the following sequence:- Sets
Usuarios/{uid}/onlinetofalsein Realtime Database. - Clears the Firebase Auth session.
- Navigates to
OpcionesLoginand removes the entire back-stack.