UNIVERSITY OF WEST ATTICA
SCHOOL OF ENGINEERING
DEPARTMENT OF COMPUTER ENGINEERING AND INFORMATICS
University of West Attica · Department of Computer Engineering and Informatics
Technology and Programming of Mobile Devices
Vasileios Evangelos Athanasiou
Student ID: 19390005
Panagiotis Petropoulos
Student ID: 20390188
Supervision
Supervisor: Nikitas Karanikolas, Profesor
Co-supervisor: Georgios Meletiou, Laboratory Teaching Staff
Athens, September 2024
This project is based on an existing Java Android Password Manager application that was provided as course material.
The goal of the assignment was to improve the application, add new functionality, and fix usability issues.
The final result is an enhanced password management application with search, sorting, and improved file access handling.
| Section | Folder/File | Description |
|---|---|---|
| 1 | Safe/ |
Android project root directory |
| 1.2 | app/ |
Main Android application module |
| 1.2.1 | app/src/ |
Application source code and resources |
| 1.2.1.1 | main/java/ |
Core Java source files |
| 1.2.1.2 | main/res/ |
UI layouts, images, menus, and resources |
| 1.2.1.3 | AndroidManifest.xml |
Application configuration |
| 1.2.2 | app/build/ |
Generated build outputs and intermediates |
| executables | ||
| 1.3 | local.properties |
Local SDK configuration (machine-specific) |
| 2 | README.md |
Project documentation |
| 3 | INSTALL.md |
Usage instructions |
The application allows users to securely store and manage passwords and account information.
Our work focused on improving usability and extending functionality without changing the original architecture.
Enhancements include:
- Real-time search functionality
- Advanced search with filters
- Record sorting options
- Improved storage permissions handling
- UI interaction improvements and bug fixes
The assignment required students to:
- Work on an existing Android application
- Understand and extend an unfamiliar codebase
- Implement new features
- Improve user interaction
- Fix functional or UI problems
A real-time search bar was added to filter stored records dynamically while the user types.
Implemented in:
MainActivityMyAdapterfiltering logic
A search dialog was introduced allowing searches using filters such as:
- Owner
- Category
- System
- Account
- Username
- Password
- Notes
This allows more precise record lookup.
A sorting dialog was implemented so users can sort entries based on selected fields.
Sorting can be applied to:
- Owner
- System
- Account
- Username
- Notes
- and other stored fields
Sorting is handled directly inside the adapter dataset.
The app now properly requests and verifies external storage permissions, ensuring correct file access for:
- Opening password files
- Saving encrypted data
- File encryption/decryption
Enhancements were added in MyAdapter:
- Dataset filtering support
- Sorting operations
- View refresh control
- Better selection handling
Improvements include:
- Better dialog interaction handling
- Improved list selection behavior
- Stability improvements during dataset updates
- Java
- Android SDK
- Android Studio
- ListView & Custom Adapter
- Dialog Interfaces
- File Handling & Permissions
Through this project we practiced:
- Working with legacy codebases
- Extending Android applications
- Implementing adapters and filtering logic
- Handling permissions and file operations
- UI dialog interaction design
The project demonstrates how an existing Android application can be extended with modern usability features while maintaining its original functionality.
The resulting application provides improved data management, search, and interaction for users handling sensitive password information.

