Skip to content
This repository has been archived by the owner on Oct 28, 2024. It is now read-only.
/ megalodon Public archive
forked from mastodon/mastodon-android

Pink modification of the official Mastodon for Android app

License

Notifications You must be signed in to change notification settings

sk22/megalodon

 
 

Repository files navigation

Pink logo with pink shark

Megalodon

Translation status   Download latest release

Get it on Google Play   Get it on IzzyOnDroid

A fork of the Mastodon Android app adding important features that are missing in the official app, focusing on Glitch compatibility, a pretty UI and adding new features that I feel make using the Fediverse a more pleasant experience.

Key features

Unlisted posting

Allows you to post publicly without having your post show up in trends, hashtags or public timelines (i.e., in the tabs “Community”, “Federated” and “Posts”).

When posting with Unlisted visibility, your posts will still be publicly accessible in your profile. They will also be shown in people’s Home timelines, but only if they follow you or someone they follow reblogged/replied to your post.

The Mastodon documentation has some more information about Unlisted posting and Public timelines.

Federated timeline

This allows you to chronologically see all Public posts from people on all other Fediverse neighborhoods your home instance is connected to.

Despite being one of the main features of federated social media, the Federated timeline wasn’t included in the official Mastodon app – supposedly, because this conflicts with Google’s safety requirements for apps on the Play Store.

That’s one of the reasons why choosing a small, well-moderated instance is important. Instance admins and moderators should always make sure to ban abusive users and stop federating with instances who platform them. On well-moderated instances, the Federated timeline can be a welcoming place to meet new people!

Customizable timelines

You can customize Megalodon’s home tab and not only add local and federated timelines, but also pin lists and hashtags.

Even better: You can rename every timeline however you please and pick a distinct icon for each timeline. This way, you can pin the hashtag “#Caturday”, rename your timeline to “CUTENESS OVERLOAD” and set Cat icon from Microsoft Fluent UI icons as its icon. :3 You can find the timelines editor by opening your home tab, tapping the button in the top right and going to “Edit timelines”.

Draft and schedule posts

Allows to prepare a post and schedule it to send it automatically at a specific time.

You can create drafts, edit them, send them manually later or set a scheduled date. Drafts are technically saved as scheduled posts, so you can view and edit them from other apps that support scheduled posts. Scheduled posts are handled by your home instance, so they'll work even if you uninstall Megalodon.

Installation

Google Play Store

https://play.google.com/store/apps/details?id=org.joinmastodon.android.sk

Get it on Google Play

F-Droid via IzzyOnDroid

https://apt.izzysoft.de/fdroid/index/apk/org.joinmastodon.android.sk

Get it on IzzyOnDroid

Note that you'll need to add Izzy's F-Droid repository to your F-Droid app first:

https://apt.izzysoft.de/fdroid/repo

F-Droid via saunarepo

https://repo.the-sauna.icu

Get it on SaunaRepo

F-Droid

F-Droid.org? Not yet, sorry!

If you want, you can help me figure out if something's missing in the Issue #47: F-Droid.org

Direct

Press the download button to download the APK. Open the downloaded file on your Android device to install it. Megalodon will automatically notify you about new updates inside the app.

Download latest release

You might have to accept installing APK files from your browser when trying to install it. You can also take a look at all releases on the Releases page.

Megalodon makes use of Mastodon for Android’s automatic update checker. Megalodon will check for new updates available on GitHub and offer to download and install them. You can also manually press “Check for updates” at the bottom of the settings page!


Release variants

All downloads can be found on the Releases page. When downloading a pre-release, expect to see unfinished features and bugs. If you don’t want that, just download the latest full release.

megalodon.apk

Variant with an integrated updater. If you download Megalodon from here (and not from an app store), just download the regular megalodon.apk.

upstream-1234abc.apk

This is an unmodified version of the official Mastodon for Android app the respective Megalodon release is based on. Should you find any bugs in Megalodon (which you will), try to see if it occurs with this variant, too. The last 7 digits of the file name are important to know which version of the official app you're using.


Contribution

Translation

The translation for the base of the app is sourced from the upstream Mastodon for Android project, which you can contribute to on its Crowdin project: https://crowdin.com/project/mastodon-for-android

There's also a bunch of custom strings exclusive to this project that need to be translated. You can help translate Megalodon on Weblate: https://translate.codeberg.org/projects/megalodon

Translation status


Detailed changes

Features

Behavior

Visual

Building

As this app is using Java 17 features, you need JDK 17 or newer to build it. Other than that, everything is pretty standard. You can either import the project into Android Studio and build it from there, or run the following command in the project directory:

./gradlew assembleRelease

Note that Megalodon might be depending on an in-development version of AppKit – a library by Mastodon for Android’s developer. In case the used AppKit version isn’t published to Maven Central yet, you might have to clone, build and publish it to your local Maven repository. For more information, see this GitHub issue.

License

This project is released under the GPL-3 License.

Links

@megalodon@floss.social

About

Pink modification of the official Mastodon for Android app

Topics

Resources

License

Stars

Watchers

Forks

Languages

  • Java 99.9%
  • Other 0.1%