Skip to content

Commit

Permalink
Merge pull request newhinton#199 from 0xNaimulHasanTaky/master
Browse files Browse the repository at this point in the history
Update Readme.md & Contributing.md
  • Loading branch information
newhinton authored Jan 20, 2024
2 parents 0c0627b + d2770d8 commit 534ebbb
Show file tree
Hide file tree
Showing 2 changed files with 88 additions and 83 deletions.
75 changes: 56 additions & 19 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,23 @@
# Contributing to RCX
# Contributing to Round Sync

We welcome any contribution to RCX, and there are multiple ways to contribute:
We welcome any contribution to Round Sync, and there are multiple ways to contribute:

- [Reporting a bug](#reporting-a-bug)
- [Localize RCX into your language](#localize-rcx)
- [Localize Round Sync into your language](#localize-round-sync)
- [Developing](#developing)
- [Submitting a pull request](#submitting-a-pr)
- [Requesting a new features](#requesting-a-new-feature)


## Reporting a bug
No one likes it if something goes wrong. However, before submitting a bug report, please make sure to check the following links:

- [RCX documentation](https://x0b.github.io/docs/)
- [search existing issues](https://github.com/x0b/rcx/issues?q=is%3Aissue)
- [Round Sync documentation](https://roundsync.com/)
- [search existing issues](https://github.com/newhinton/Round-Sync/issues?q=is%3Aissue)
- [rclone documentation](https://rclone.org/)
- [rclone forum](https://forum.rclone.org/)

A lot of problems are errors in `rclone.conf`. If you have [Termux](https://github.com/termux/termux-app) installed, you can install rclone with `pkg install rclone`. Then, export your config from RCX and select Termux as target. You can then try to check if the error also occurs in Termux. You can also export and transfer your config to a desktop PC and test it there.
A lot of problems are errors in `rclone.conf`. If you have [Termux](https://github.com/termux/termux-app) installed, you can install rclone with `pkg install rclone`. Then, export your config from Round Sync and select Termux as target. You can then try to check if the error also occurs in Termux. You can also export and transfer your config to a desktop PC and test it there.

If you experience the same issue on your PC or in Termux, you can use the rclone forum to post your problem. If you are really sure that you have discovered an issue in rclone itself, you can also open an issue in the rclone repository.

Expand All @@ -24,33 +26,68 @@ When filing a new bug report, answer all the questions in the template. This inc
- Exact Android version (e.g. `8.1.0`)
- Your device model and manufacturer
- An exact list of steps that leads to your issue. Please also enable local logging in Settings > Logging > Log rclone errors.
- Paste or attach your rclone log (located in `Android/data/io.github.x0b.rcx/files/logs/log.txt`). Make sure to remove any confidential information such as passwords, tokens or authorization info.
- Paste or attach your rclone log located in `Android/data/de.felixnuesse.extract/files/logs/log.txt`. Make sure to remove any confidential information such as passwords, tokens or authorization info.
- If your issue happens when using a remote, please also add a redacted version of your configuration file (passwords and tokens removed).
- We may also ask you to test your config file on another device. If you haven't done that yet, now may be a good time to try.
- We may also ask you to test your config file on a PC or in Termux.


## Localize Round Sync
- Download [strings.xml](https://github.com/newhinton/Round-Sync/blob/master/app/src/main/res/values/strings.xml) file.
- Open the `string.xml` file with your favorite text editor.
- Delete all the `strings` with the attribute **translatable="false"**.
- Translate `string` values from **en-US (English)** to that language you want to localize Round Sync.
Here is an example of translating into **bn-BD**

Default string values **en-US**
```sh
<string name="app_name">Round Sync</string>
<string name="app_description">Rclone for Android</string>
<string name="app_short_name">Round Sync</string>
```
Translated string values into **bn-BD**
```sh
<string name="app_name">রাউন্ড সিঙ্ক</string>
<string name="app_description">অ্যান্ড্রয়েডের জন্য আরক্লোন</string>
<string name="app_short_name">রাউন্ড সিঙ্ক</string>
```


## Localize RCX
We are using [Crowdin](https://crowdin.com/project/rcx) to translate and localize RCX into different languages. See also [#77](https://github.com/x0b/rcx/issues/77).
## Developing
You should first make sure you have:

- Go 1.20+ installed and in your PATH
- Java installed and in your PATH
- Android SDK command-line tools installed OR the NDK version specified in `gradle.properties`
installed

You can then build the app normally from Android Studio or from CLI by running:

```sh
# Debug build
./gradlew assembleOssDebug
# or release build
./gradlew assembleOssRelease
```


## Submitting a PR
We're currently establishing new processes for contributing on GitHub. In the meantime, here are a few tips on getting your PR merged:
Here are a few tips on getting your PR merged:

1. Keep your PR small. Small PRs are easier to review, easier to test and as a result can be merged quickly. If this is your first PR to RCX, keep it very small.
1. Keep your PR small. Small PRs are easier to review, easier to test and as a result can be merged quickly. If this is your first PR to Round Sync, keep it very small.
2. Keep your PR focussed. Your PR should have a single, specific purpose. If you discover something else you'd like to improve while working on your PR, only include it if there's a direct link to the purpose of the PR.
3. Use the style of the existing code base. Use idiomatic code whenever possible. If you have performance concerns, use the profiler to test your assumptions.
4. Rebase your branch before creating your PR.

See [dev setup](https://x0b.github.io/dev/) to get started.

## Requesting a new feature

We also discuss new features on GitHub. You can browse the issue for existing feature requests and join the discussion. Note that commenting generally notifies all participants of your comment. Please avoid '+1', 'me to' or similar comments and use :+1: [reactions](https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) instead.

When opening a new feature request, **answer all questions in the template**. This includes:
- Searching for existing issues and discussions that already cover your request. We may close your request without comment if you fail to do this.
- For anything related to data transfer or accessing files on your cloud storage, please first check if your idea works in rclone. If it does not work there, it will probably also not work in RCX.
- For anything related to data transfer or accessing files on your cloud storage, please first check if your idea works in rclone. If it does not work there, it will probably also not work in Round Sync.
- Asking yourself what you can do to create this feature.
- The version of RCX you are using.
- The version of Round Sync you are using.

You will also be asked two free-form questions:
> #### What problem are you trying to solve?
Expand All @@ -59,10 +96,10 @@ Describe what you are trying to achieve. This may include a series of steps if y

You can describe this as a problem ("I cannot find a file"), or as a goal you want to achieve ("I would like to stream a video on my TV").

> #### What should RCX be able to do differently to help with this problem?
> #### What should Round Sync be able to do differently to help with this problem?

Describe how you would solve your problem. This may include additional buttons, options, menus, dialogs, etc.

This two-step approach allows us to to design general solutions, that work not just for your specific situation, but for the broader RCX user base. It also makes it easier for other community to join the discussion and suggest different solutions.
This two-step approach allows us to to design general solutions, that work not just for your specific situation, but for the broader Round Sync user base. It also makes it easier for other community to join the discussion and suggest different solutions.

Please keep in mind that RCX and rclone are developed by volunteers.
Please keep in mind that Round Sync and rclone are developed by volunteers.
96 changes: 32 additions & 64 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,13 @@
[![license: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://github.com/newhinton/Round-Sync/blob/master/LICENSE) [![Latest Downloads](https://img.shields.io/github/downloads/newhinton/round-sync/latest/total
)](https://github.com/newhinton/Round-Sync/releases) [![GitHub release](https://img.shields.io/github/v/release/newhinton/Round-Sync?include_prereleases)](https://github.com/newhinton/Round-Sync/releases/latest)
[![Documentation](https://img.shields.io/badge/Documentation-roundsync.com-4aad4e)](https://roundsync.com) [![supportive flags](https://img.shields.io/badge/support-🇺🇦_🏳️‍⚧_🏳️‍🌈-4aad4e)](https://roundsync.com)

[![Android Lint](https://github.com/newhinton/Round-Sync/actions/workflows/lint.yml/badge.svg)](https://github.com/newhinton/Round-Sync/actions/workflows/lint.yml)
-----------

A cloud file manager, powered by rclone.
Visit [https://roundsync.com](https://roundsync.com) for more information!

<br/>
<br/>

Screenshots
-----------

## Screenshots
<table>
<tr style="border:none">
<td style="border:none">
Expand All @@ -29,11 +24,7 @@ Screenshots
</table>




Features
--------

## Features
| Cloud Access | 256 Bit Encryption<sup>[1](https://rclone.org/crypt/#file-encryption)</sup> | Integrated Experience |
|:-----------------------------------------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------------------------------:|
| <img src="https://github.com/newhinton/Round-Sync/blob/master/docs/cloud-computing.png?raw=true" alt="Cloud Access" width="144" /> | <img src="https://github.com/newhinton/Round-Sync/blob/master/docs/locked-padlock.png?raw=true" alt="256 Bit End-to-End Encryption" width="108" /> | <img src="https://github.com/newhinton/Round-Sync/blob/master/docs/smartphone.png?raw=true" alt="Integrated Experience" width="132"/> |
Expand All @@ -50,21 +41,8 @@ Features
- **Task Management** to allow regular runs of your important tasks!


Intents
-------------
This app includes the ability to launch an intent! Create a task to sync to a remote, and copy it's id (via the treedot-menu)
The intent needs the following:

| Intent | Content | |
|:----------------|:-------------------------------------------:|----------------:|
| packageName | de.felixnuesse.extract | |
| className | ca.pkay.rcloneexplorer.Services.SyncService | |
| Action | START_TASK | |
| Integer Extra | task | idOfTask |
| Boolean Extra | notification | true or false |
## Installation

Installation
------------
Grab the [latest version](https://github.com/newhinton/Round-Sync/releases/latest) of the signed APK and install it on your phone.
| CPU architecture | Where to find | APK identifier |
|:---|:--|:---:|
Expand All @@ -75,59 +53,49 @@ Grab the [latest version](https://github.com/newhinton/Round-Sync/releases/lates

If you don't know which version to pick use ```roundsync-<version>-universal-release.apk```. Most devices run ARM 64 Bit, and 64 Bit devices often can also run the respective 32 bit version at lower performance. The app runs on any phone, tablet or TV with Android 7 or newer, as long as you have a touchscreen or mouse.

Usage
------------
[See the documentation](https://roundsync.com/).

Developing
------------
## Usage
[See the documentation](https://roundsync.com/).

You should first make sure you have:

- Go 1.20+ installed and in your PATH
- Java installed and in your PATH
- Android SDK command-line tools installed OR the NDK version specified in `gradle.properties`
installed
## Intents
This app includes the ability to launch an intent! Create a task to sync to a remote, and copy it's id (via the treedot-menu)
The intent needs the following:

You can then build the app normally from Android Studio or from CLI by running:
| Intent | Content | |
|:----------------|:-------------------------------------------:|----------------:|
| packageName | de.felixnuesse.extract | |
| className | ca.pkay.rcloneexplorer.Services.SyncService | |
| Action | START_TASK | |
| Integer Extra | task | idOfTask |
| Boolean Extra | notification | true or false |

```sh
# Debug build
./gradlew assembleOssDebug

# or release build
./gradlew assembleOssRelease
```
## Libraries
- [rclone](https://github.com/rclone/rclone) - Calling this a library is an understatement. Without rclone, there would not be Round Sync. See https://rclone.org/donate/ to support rclone.
- [Jetpack AndroidX](https://developer.android.com/license)
- [Floating Action Button SpeedDial](https://github.com/leinardi/FloatingActionButtonSpeedDial) - A Floating Action Button Speed Dial implementation for Android that follows the Material Design specification.
- [Glide](https://github.com/bumptech/glide) - An image loading and caching library for Android focused on smooth scrolling.
- [MarkdownJ](https://github.com/myabc/markdownj) - converts markdown into HTML.
- [Material Design Icons](https://github.com/Templarian/MaterialDesign) - 2200+ Material Design Icons from the Community.
- [Recyclerview Animators](https://github.com/wasabeef/recyclerview-animators) - An Android Animation library which easily add itemanimator to RecyclerView items.
- [Toasty](https://github.com/GrenderG/Toasty) - The usual Toast, but with steroids.
- Icons from [Flaticon](https://www.flaticon.com) courtesy of [Smashicons](https://www.flaticon.com/authors/smashicons) and [Freepik](https://www.flaticon.com/authors/freepik)

Known Issues
------------
- Reauthorization of OAuth remotes shows intermittent failures. This is currently under investigation.
- Theming is currently not applied properly.

Contributing
------------
## Contributing
See [CONTRIBUTING](./CONTRIBUTING.md)

Anyone is welcome to contribute and help out. However, hate, discrimination and racism are decidedly unwelcome here. If you feel offended by this, you might belong to the group of people who are not welcome. I will not tolerate hate in any way.
Anyone is welcome to contribute and help out. However, hate, discrimination and racism are decidedly unwelcome here. If you feel offended by this, you might belong to the group of people who are not welcome. I will not tolerate hate in any way.

If you want to add more translations, see our [weblate-project](https://hosted.weblate.org/projects/round-sync/round-sync/)!


License
-----------------
### About this app
## License
This app is released under the terms of the [GPLv3 license](https://github.com/newhinton/extract/blob/master/LICENSE). Community contributions are licensed under the MIT license, and [CLA Assistant](https://cla-assistant.io/) will ask you to confirm [a CLA stating that](https://gist.githubusercontent.com/x0b/889f037d76706fc9e3ab8ee1c047841b/raw/67c028b19e33111428904558cfda0c01039d1574/rcloneExplorer-cla-202001) if create a PR.


This is a fork of RCX by [x0b](https://github.com/x0b) which is itself a fork of rcloneExplorer by [Patryk Kaczmarkiewicz](https://github.com/kaczmarkiewiczp). For the original repository, see [kaczmarkiewiczp/rcloneExplorer](https://github.com/kaczmarkiewiczp/rcloneExplorer) or [x0b/rcx](https://github.com/x0b/rcx). If you want to convey a modified version (fork), we ask you to use a different name, app icon and package id as well as proper attribution to avoid user confusion.
## About this app
This is a fork of [**RCX**](https://github.com/x0b/rcx) by **x0b**<sup>[x0b](https://github.com/x0b)</sup> which is itself a fork of [**rcloneExplorer**](https://github.com/patrykcoding/rcloneExplorer) by **Patryk Kaczmarkiewicz**<sup>[patrykcoding](https://github.com/patrykcoding)</sup> .

### Libraries
- [rclone](https://github.com/rclone/rclone) - Calling this a library is an understatement. Without rclone, there would not be RCX. See https://rclone.org/donate/ to support rclone.
- [Jetpack AndroidX](https://developer.android.com/license)
- [Floating Action Button SpeedDial](https://github.com/leinardi/FloatingActionButtonSpeedDial) - A Floating Action Button Speed Dial implementation for Android that follows the Material Design specification.
- [Glide](https://github.com/bumptech/glide) - An image loading and caching library for Android focused on smooth scrolling.
- [MarkdownJ](https://github.com/myabc/markdownj) - converts markdown into HTML.
- [Material Design Icons](https://github.com/Templarian/MaterialDesign) - 2200+ Material Design Icons from the Community.
- [Recyclerview Animators](https://github.com/wasabeef/recyclerview-animators) - An Android Animation library which easily add itemanimator to RecyclerView items.
- [Toasty](https://github.com/GrenderG/Toasty) - The usual Toast, but with steroids.
- Icons from [Flaticon](https://www.flaticon.com) courtesy of [Smashicons](https://www.flaticon.com/authors/smashicons) and [Freepik](https://www.flaticon.com/authors/freepik)
If you want to convey a modified version (fork), we ask you to use a different name, app icon and package id as well as proper attribution to avoid user confusion.

0 comments on commit 534ebbb

Please sign in to comment.