Skip to content
AlohaSocialPublic

About

Aloha Android client

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

283 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aloha Social for Android

A fediverse client for Android phones, tablets and foldables. It speaks the Mastodon client API, so it works with Mastodon, GoToSocial, Akkoma and anything else that serves that protocol, and its primary target is Nextcloud Social, whose photo, video, short-video, news and story extensions it uses where the server offers them.

The Android sibling of Aloha Social for Apple platforms, built to the same product contract and to Material Design.

Status: in development, not released yet. What it does today:

  • Signs in to any server with the Mastodon client API, Nextcloud Social first, with as many accounts as wanted, and connects the Nextcloud underneath for push, files and account deletion.
  • Reads Home, local and federated timelines, threads, profiles, hashtags, lists, bookmarks, favourites, direct messages and Your year, from a local cache that works offline.
  • Six modes: Home, Photos, Video, Shorts, and News and Audio on request, with stories, picture-in-picture and background playback.
  • Writes posts, threads, polls, scheduled posts, drafts and stories, with media, descriptions and edits, through an outbox that waits for a network.
  • Notifies by polling and by UnifiedPush, from Mastodon's Web Push or from the Nextcloud's.
  • Translates through the server, or on the device where the server cannot.
  • Filters, mutes, blocks and reports, a moderation console for a server's moderators, and an optional app lock.
  • Widgets, launcher shortcuts, Direct Share, "Open in Aloha", keyboard use, multi-window and the foldable tabletop posture.

docs/ holds the product specification and how the Android app is built; docs/14-status.md says what is not built yet.

Building

JDK 21 and an Android SDK with platform 37. Point local.properties at the SDK:

sdk.dir=/path/to/Android/Sdk
./gradlew assembleGenericDebug          # F-Droid flavor, no Google libraries
./gradlew assembleGplayDebug            # Google Play flavor

Checks

The checks CI gates on, locally:

./gradlew detekt ktlintCheck lint alohaArchitectureCheck alohaUnitTests alohaScreenshotTests

alohaUnitTests and alohaScreenshotTests run every module's unit tests and screenshot comparisons; :app is the only module with flavours, so its own tasks alone would leave the rest out. Screenshots are re-recorded when a change to the UI is intended:

./gradlew recordRoborazziDebug recordRoborazziGenericDebug

CI also builds every variant and checks the APK size; see docs/12-conventions-quality.md.

Licence

MIT, see LICENSE. Third-party code keeps its own licence; see ACKNOWLEDGEMENTS.md and REUSE.toml.

About

Aloha Android client

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages