HAP+ for Android
An Android app to retrieve, upload and manage files from a Home Access Plus+ server! (exciting, right?)
Download from the Google Play Store!
Prerequisites
- An Android device running Android 5 Lollipop or newer
- An Internet connection
- Some free space to allow files to be downloaded
- Office apps to allow downloaded files to be viewed/edited (see Recommended Office Apps)
Feature List
- Browse
- Download
- New Folder
- Delete
- Rename
- Dark theme (and I'm proud to say that it had one before Android 10 was released)
- Upload
- Cut/copy/paste
- An 'About' screen
- Folder quick jump
- Search
Upcoming features:
These will hopefully come soon™
- Recent files
- Download/upload queue
- A proper Settings menu
Configuration
Upon launching the app for the first time, you will have the option to configure the app manually or with a configuration file. To configure the app manually and gain full functionality, all that's required is the HAP+ server URL.
Warning
If you wish to debug the app, you can enable 'developer features', which will display some extra options that may make the app unstable.
A configuration file is in JSON format, and is required to have the following options set.
Option | Type | Default | Info |
---|---|---|---|
SERVER_URL | String | N/A | The HAP+ server the app should contact |
SUPPORT | String | N/A | The school's IT support email |
THEME | Integer | -1 | Set to -1 for follow system, 1 for light, 2 for dark |
WARNING | Integer | 50 | Set to 0 to disable warnings, otherwise any number up to and including 4096 for the size in MB to trigger a warning of a large download/upload |
RECENT | Integer | 20 | The number of recent files to display |
Example JSON file
{
"SERVER_URL": "https://domain.com/hap",
"SUPPORT": "email@domain.com",
"THEME": -1,
"WARNING": 50,
"RECENT": 20
}
This can be used for quick and easy app setup.
Login
If the URL needs to be changed, the HAP+ logo can be tapped, and the URL changed from here.
Info
If you do not want credentials stored on your device, uncheck the 'Keep me logged in' box
By ticking the 'Keep me logged in' box, the app will store your username and password on your device. The password is encrypted with AES GCM 128, with the key stored in the Android Keystore. The password will only be used for authentication. If you would prefer your credentials not to be stored, uncheck the box and this will not happen. Note that you'll have to log in again after the session token expires or after you've closed the app.
Downloads
Downloads are restricted to a maximum of 4GB in size, due to the limitations in the FAT32 filesystem. They will not be deleted after the app is uninstalled.
Recommended Office Apps
Bug
Due to issues with Android's Storage Access Framework (SAF), it is not recommended to edit Microsoft Office documents using the Microsoft Office apps if you have saved the file to an external SD card. Doing so may result in document corruption.
Currently, there aren't any known issues when working solely with the device's internal storage and Microsoft Office apps.
For best compatibility when working with external SD cards, it is recommended to use Google's suite of office apps:
- To edit Word documents, use Google Docs
- To editor PowerPoint presentations, use Google Slides
- To edit Excel spreadsheets, use Google Sheets
Common Questions & Issues
As you can probably tell, this is a work in progress - there are plenty of bugs to be found... If you manage to find one, you can report it to the email address on the Google Play listing cowsay256dev@gmail.com. It helps out a lot if you report the following when hunting down bugs (basically, the more info you give, the better!):
- Model of device used and Android version
- Steps to reproduce the issue
- Error messages produced
- Screenshots (if applicable)
Faq
The app continually fails to load drives/folders, even with a working, stable connection
Logging out then back into the app tends to fix this. Otherwise, clear the app's data and try again.