[feat]: Implement password visibility toggle on Login Screen
- Dominant language
- Kotlin
- Stars
- 0
- Forks
- 7
- PR merge metrics
- No merged PRs in 30d
Description
Users frequently mistype their passwords during login because characters are hidden by default with no way to verify what they have typed. This is a common source of login frustration, especially on mobile where typing accuracy is lower.
A simple password visibility toggle — the standard eye icon at the end of the password field — gives users the confidence to verify their input before submitting, reducing failed login attempts significantly.
This is a built-in feature of Material Design's `TextInputLayout` and requires minimal implementation effort.
## Current Behavior
The password field on the Login Screen hides all characters by default. There is no way for the user to reveal what they have typed, making it easy to unknowingly submit an incorrect password.
## Expected Behavior
An eye icon appears at the trailing end of the password input field. Tapping it toggles between:
- **Hidden** — characters masked as dots (default)
- **Visible** — characters shown as plain text
## Expected Solution
- Wrap the existing password `EditText` inside a `TextInputLayout` in the Login Screen XML.
- Add `app:endIconMode="password_toggle"` to the `TextInputLayout`.
- Ensure the inner `TextInputEditText` has `android:inputType="textPassword"` set so the toggle works correctly.
## Example
**Before (`activity_main.xml`):**
```xml
```
**After (`activity_main.xml`):**
```xml
```
## Acceptance Criteria
- [ ] The app compiles and runs without crashes after the change.
- [ ] A screenshot showing both the hidden and visible states is attached to the PR.
Contributor guide
No contributing guide indexed for this repository
Research direction
Locate the Login Screen XML and the existing password EditText, using the activity_main.xml example as a reference. Confirm the Material TextInputLayout dependency and run the app to verify that the password starts hidden and the eye control switches between hidden and visible states. Done means the app compiles without crashes and the pull request includes screenshots of both states.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kotlin
- Domain
- authentication, mobile
- Issue type
- Feature
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100