Files
mobile-android/docs/PROFILE_TESTING_CHECKLIST.md
k1ngsterr1 d78000aa3f feat: Implement Profile Screen with full functionality and navigation
- Added ProfileScreen.kt for user profile management.
- Updated MainActivity.kt to integrate ProfileScreen and manage navigation states.
- Created documentation for Profile Screen implementation, navigation flow, and testing checklist.
- Removed SettingsScreen.kt as part of the refactor.
- Added helper components for profile display and editing.
- Ensured compliance with Material 3 design principles and dark/light theme support.
2026-01-20 04:38:13 +05:00

5.4 KiB

Profile Screen Testing Checklist

📱 UI Components

Profile Card

  • Avatar displays correct initials
  • Avatar has proper size (100dp)
  • Avatar background color is PrimaryBlue
  • Name is displayed correctly
  • Username shows with @ prefix (if set)
  • Public key shows abbreviated format (first 3 + "..." + last 3)
  • All elements are centered properly

Edit Fields

  • "Your name" field is editable
  • "Username" field is editable with @ prefix
  • Placeholder text appears when fields are empty
  • Text color matches theme (light/dark)
  • Divider appears between fields
  • Text wraps properly for long inputs

Save Button

  • Button is hidden when no changes
  • Button appears when name changes
  • Button appears when username changes
  • Fade in animation works smoothly
  • Button has blue color (PrimaryBlue)
  • Button text says "Save"
  • Clicking button calls onSaveProfile callback

Public Key Field

  • Shows "Public Key" label
  • Shows abbreviated key value
  • Clickable to copy
  • Shows "Copied!" when clicked
  • "Copied!" text is green color
  • Returns to normal after 1.5 seconds
  • Actually copies to clipboard
  • Help text appears below field

Settings Section

  • "SETTINGS" title is uppercase and gray
  • Three items are displayed:
    • Updates (lime green icon)
    • Theme (indigo icon)
    • Safety (purple icon)
  • Each item has:
    • Colored icon background (36dp, rounded 8dp)
    • White icon (20dp)
    • Title text
    • Subtitle text
    • Chevron arrow
  • Dividers between items
  • Clickable items respond to taps
  • Help text appears below section

Logout Section

  • Red icon background
  • Logout icon (outlined)
  • Red text for title
  • Gray subtitle
  • NO chevron arrow
  • Clickable
  • Help text appears below

🎨 Theme Support

Dark Theme

  • Background: #0F0F0F
  • Surface: #1A1A1A
  • Text: White
  • Secondary text: #999999
  • Dividers: #2A2A2A
  • Icons: #999999

Light Theme

  • Background: White
  • Surface: #F5F5F5
  • Text: #1A1A1A
  • Secondary text: #666666
  • Dividers: #E8E8E8
  • Icons: #666666

🔄 Animations

  • Profile screen fades in (200ms)
  • Profile screen fades out (150ms)
  • Save button fades in + expands
  • Save button fades out + shrinks
  • "Copied!" animation works
  • No lag or stuttering
  • Smooth transitions

🔧 Functionality

Navigation

  • Can open from ChatsListScreen (avatar click)
  • Can open from SettingsScreen (profile card click)
  • Back button returns to previous screen
  • Screen closes properly
  • No memory leaks

Data Handling

  • accountName loads correctly
  • accountUsername loads correctly
  • accountPublicKey loads correctly
  • Changes are tracked properly
  • onSaveProfile receives correct data
  • Unsaved changes are handled

Callbacks

  • onBack() works
  • onSaveProfile(name, username) works
  • onLogout() works
  • onNavigateToTheme() works
  • onNavigateToSafety() works
  • onNavigateToUpdates() works

📐 Layout

  • Top bar height is correct
  • Content scrolls properly
  • No content cutoff
  • Proper spacing (16dp, 24dp, 32dp)
  • Rounded corners (16dp) on cards
  • Icon backgrounds (8dp radius)
  • Text alignment is correct
  • No overlap between elements

🔤 Typography

  • Top bar: 20sp, SemiBold
  • Section titles: 13sp, SemiBold, uppercase
  • Name: 24sp, Bold
  • Username/key: 14sp
  • Field labels: 13sp, Medium
  • Field values: 16sp
  • Item titles: 16sp, Medium
  • Item subtitles: 13sp
  • Help text: 12sp, line height 16sp

📱 Edge Cases

  • Empty name field
  • Empty username field
  • Very long name (20+ chars)
  • Very long username (20+ chars)
  • Special characters in name
  • Special characters in username
  • Quick repeated clicks
  • Back press during animation
  • Screen rotation (if applicable)
  • Low memory conditions

🐛 Known Issues

TODO Items

  • Username not loading from account (hardcoded "")
  • Save profile not persisting to database
  • Logout not implemented
  • Updates screen not created
  • Safety screen not created

📝 Testing Notes

Date: _____________
Tester: _____________
Device: _____________
OS Version: _____________

Issues Found:
_________________________________
_________________________________
_________________________________

Additional Comments:
_________________________________
_________________________________
_________________________________

🚀 Performance

  • Screen opens < 100ms
  • Animations run at 60fps
  • No janky scrolling
  • Keyboard appears smoothly
  • No UI thread blocking
  • Memory usage is acceptable

Accessibility

  • Text is readable at all sizes
  • Sufficient color contrast
  • Touch targets are 48dp minimum
  • Screen reader compatible (if implemented)
  • Focus indicators visible

🌍 Localization

  • All text strings are in English
  • Ready for i18n (no hardcoded strings in critical paths)
  • RTL support consideration

Sign Off

  • All critical items tested
  • No blocking issues
  • Ready for production

Tested by: ___
Date: ___
Sign: ___