Skip to content

An Open-Source Android application that allows you to send and receive files over available connections, and offers unique features like sharing over HTTP, pausing and resuming transfers

License

Notifications You must be signed in to change notification settings

MachineCodeStudio/android

 
 

Repository files navigation

TrebleShot libre software file and text sharing app

Send and receive files over available connections. FAQ.

Get it on

An alpha version of desktop application is also available for sharing with desktop. Get it here

Main features

  • Pause and resume transfers
  • Share large files
  • Share all kinds of content, video, photo, music and app libraries
  • No Internet connection is required: Set up a hotspot and connect to it using a QR code
  • Share between multiple devices at the same time
  • Exchange texts of any kind and save them to TrebleShot
  • Share folders for backup and other purposes
  • Light UI: Works faster than its rivals on low-end devices
  • Speed-oriented: Minimal UI optimized for speed
  • Advanced features: Network change handling, choose network based on measured speed

Project status

Build Status Translation Status

Build from source

Run the following command. This will build fossReliant variant in debug mode.

./gradlew -Dorg.gradle.jvmargs=-Xmx1536m assembleFossReliantDebug lintFossReliantDebug testFossReliantDebugUnitTest

If you are facing errors, checkout the latest stable release using its tag name.

Pull requests

Before making a pull request, please make sure your commits follow the requirements below.

  • Make sure you are on the dev branch. master branch is updated before releasing a new stable release.
  • Open an issue regarding the pull request you are about to make if possible.
  • Use spaces instead of tabs.
  • Use LF (Unix and Linux) line separator.
  • The right margin is limited to 120 chars and overflowing lines wrapped in a meaningful way. That is:
    • logic statements are wrapped before && or ||.
    • method calls are wrapped after the most fitting parameter.
    • inner logic statements with parenthesis should be together if they can fit a single line.
  • The opening braces { after the class and method declarations should come with the next line.
  • When you reformat code, please make sure the previously untouched code does not change in an undefined way.
  • Do not create simple methods for the sake of creating methods. For instance, do not a create a method that compares two booleans like function isTrue(boolean a, bolean b) { return a == b; }.
  • If you plan ignore an exception make sure the parameter name in the catch block is ignored. This will silence the warnings.
  • Add todo and fixme comments when needed. In short, add // todo: What to do or // fixme: What is the problem before the appropriate code. This will ensure they are not forgotten.
  • Do not duplicate code blocks. Create methods or classes when needed.
  • Variable names should follow the pattern below:
    • Constants are SOME_VARIABLE.
    • Global variables are mSomeVariable if not public or someVariable if public.
    • Local variables are someVariable.
  • If blocks (do, while, for, if) will contain a single line, they can be free of braces. Also, make sure they are wrapped.
  • Headless braces {} can be used for scoping.
  • When creating strings for localization, please follow the patterns suggested in Language contribution wiki.
  • Other than that some other good practises that you can follow would be:
    • making sure your code backward compatible with the minimum SDK version defined in the main module.
    • committing your changes when you are about to change something unrelated.

Screenshots

Localization

To translate TrebleShot, please read this wiki first if you haven't worked with Weblate, where you will find the TrebleShot localization.

Translation Status

This app is licensed under GNU Public License version 2.0 or later version.

About

An Open-Source Android application that allows you to send and receive files over available connections, and offers unique features like sharing over HTTP, pausing and resuming transfers

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Kotlin 99.1%
  • Other 0.9%