Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Port tasks to new rcx-version #84

Closed
wants to merge 181 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
181 commits
Select commit Hold shift + click to select a range
b5815a7
Port tasks to new rcx-version
newhinton Jul 23, 2020
7c459e9
Re-expose TaskStartService
newhinton Jul 24, 2020
96bfae1
Migrate from TaskDialog to TaskActivity
newhinton Jul 24, 2020
6de56b3
Added Folderpicker to TaskEdit for local
newhinton Jul 24, 2020
e559bea
fix 'Only Wifi Upload' not working
newhinton Jul 24, 2020
c824f38
Merge remote-tracking branch 'x0b/master' into feature_update_upstream
newhinton Jun 9, 2021
abe028a
Implement userinterface to trigger tasks
newhinton Jun 9, 2021
ca88b9b
Implement TriggerService to take care of starting tasks
newhinton Jun 9, 2021
9f2124b
update layout to make it look good
newhinton Jun 9, 2021
adb7c0e
set sensible defaults
newhinton Jun 9, 2021
91d4946
Finalize technical implementation of TriggerService
newhinton Jun 11, 2021
89efa39
Overhaul DatabaseHandler and TriggerService
newhinton Jun 12, 2021
06c6115
Overhaul Task
newhinton Jun 12, 2021
fe98bac
Overhaul Task UI
newhinton Jun 12, 2021
a59c522
Overhaul TaskStartService
newhinton Jun 12, 2021
26cf922
Moved Import/export to json, but removed it from ui since writing to …
newhinton Jun 12, 2021
8d4b122
Verify existence of rclone library on each call, so that the app neve…
newhinton Jun 13, 2021
536ebb3
update README.md for more development information
newhinton Jun 13, 2021
a1879cc
update TriggerItem visuals and add quick-disable to iconbutton
newhinton Jun 13, 2021
860e071
handle databaseerrors gracefully instead of crashing
newhinton Jun 13, 2021
d3545a7
Show errorscreen when no tasks are defined to prevent userconfusion
newhinton Jun 13, 2021
fec3d01
remove Import/Export from Trigger/Task-Fragments
newhinton Jun 13, 2021
03c5ede
use zipfile for full config export
newhinton Jun 13, 2021
a0169a7
Switch import to zipfile-import
newhinton Jun 13, 2021
775ed04
undo unintentionally pushed gradle changes
newhinton Jun 13, 2021
349a272
fix wrong textcolor in darkmode in trigger/tasklists
newhinton Jun 13, 2021
2324e0d
add translations to tasks_item
newhinton Jun 13, 2021
31b99dc
add de-translations
newhinton Jun 13, 2021
b7743a8
add back button to trigger/task-activity
newhinton Jun 13, 2021
d3a9a6b
add shared prefs to backupfile
newhinton Jun 14, 2021
0ae4621
Fix all sorts of unused imports, lamdas and codestyling issues
newhinton Jun 14, 2021
2565688
only show .zip files on import
newhinton Jun 17, 2021
b939fa9
overhaul fragment_tasks_item to be more consistent
newhinton Jun 17, 2021
dfbc004
implement basic task-logging (WIP)
newhinton Jun 21, 2021
7ac4409
updated log_item
newhinton Jun 21, 2021
a0e5f89
fix width of content in log_item
newhinton Jun 21, 2021
81949f9
switch rclone command building from array to arraylist
newhinton Jun 23, 2021
55f53b9
switch logging to json and remove clunky notificationbuilding
newhinton Jun 23, 2021
64650c5
Open SyncLog when notification was pressed
newhinton Jun 23, 2021
4d870a3
remove logging and update task-menuicon
newhinton Jun 23, 2021
ba86964
remove logging
newhinton Jun 23, 2021
b4b28c4
start TaskActivity from TriggerFragment
newhinton Jun 23, 2021
1051149
properly show task-icon from remote
newhinton Jun 23, 2021
d651664
disable restoration of colors from backup until they do not rely on e…
newhinton Jun 24, 2021
52879ca
added better screens to Task/TriggerFragments and refreshed the views…
newhinton Jun 24, 2021
cb91d58
handle onBackPressed when in Fragment
newhinton Jun 24, 2021
a4f2b25
switch logging to json and remove clunky notificationbuilding
newhinton Jun 28, 2021
5074d17
add remote folderpicker workaround via SAF
newhinton Jul 3, 2021
0e702c8
implement human readable conversion
newhinton Jul 4, 2021
4444095
switch humanReadableBytes to builtin and make json-parsing more resil…
newhinton Jul 5, 2021
5182082
add logging when json-reading failed
newhinton Jul 5, 2021
e86f3e7
change createCommand to toArray()
newhinton Jul 22, 2021
7db386e
autoformat code in syncservice
newhinton Jul 22, 2021
82d26d9
update notification to use proper progressbar
newhinton Sep 3, 2021
0b05b65
add translations to new notification
newhinton Sep 3, 2021
e515bba
Fix Taskname beeing empty on 'bad' Remote-Path
newhinton Feb 10, 2022
7838f60
add retry button
newhinton Feb 10, 2022
1050051
unify internalTask start intent
newhinton Feb 10, 2022
63d4cc8
Fix TaskStartService not having proper notification
newhinton Feb 10, 2022
ce83cea
readd grouped sync notifications
newhinton Feb 10, 2022
499a8eb
clean up imports
newhinton Feb 10, 2022
3928210
use env
newhinton Feb 10, 2022
c59fb65
properly calculate sdk location
newhinton May 10, 2022
51b1eb9
Merge remote-tracking branch 'x0b/master'
newhinton May 10, 2022
7b05025
document building in readme
newhinton May 10, 2022
2744fa7
Merge remote-tracking branch 'origin/feature_rclone_use_json'
newhinton May 10, 2022
d972b4a
merge json notification into master
newhinton May 10, 2022
61e327e
build: update go version
feilongfl May 30, 2022
e4a5300
rclone: update rclone to 1.58.1
feilongfl May 30, 2022
663aaf2
build: update gradle to 7.2.1
feilongfl May 30, 2022
57edef5
build: update ndk version
feilongfl May 30, 2022
b7b15a2
Fix Darkmode
newhinton Jun 15, 2022
b4dd8d0
add night-colors
newhinton Jun 15, 2022
58cb6fc
change strings
newhinton Jun 15, 2022
51221a5
Fix theming on mainpage
newhinton Jun 15, 2022
b26a699
fix appbar size and overlap
newhinton Jun 15, 2022
805148f
Overhaul Triggerview
newhinton Jun 15, 2022
a27dad5
fix missing colors
newhinton Jun 15, 2022
4cca767
use brachiosaurus
newhinton Jun 15, 2022
b19fbf1
fix color references in trigger_item
newhinton Jun 16, 2022
0425abd
remove background color on task-list-item
newhinton Jun 16, 2022
99ab248
update navigation drawer design
newhinton Jun 16, 2022
72b851f
update icons for sync
newhinton Jun 16, 2022
3ac0016
update setting views
newhinton Jun 16, 2022
4acbe87
Fix theming not beeing applied properly
newhinton Jun 17, 2022
9c3a3c0
allow SyncService to create better notifications
newhinton Jun 17, 2022
1e96f41
use ThemeHelper for Darkmode in FilePicker
newhinton Jun 17, 2022
7020bdc
Split onHandleIntent to be lean and the sync process to be callable
newhinton Jun 17, 2022
6ca9416
Remove TaskStartService
newhinton Jun 17, 2022
9461db3
use more two-tone icons
newhinton Jun 17, 2022
dbd6daa
make filepicker leaner
newhinton Jun 17, 2022
105e167
Moved Activities to owm Package
newhinton Jun 17, 2022
2c356ea
Start implementing RemoteFolderPickerFragment
newhinton Jun 17, 2022
842e2cf
remove tint from icon
newhinton Jun 17, 2022
5c77c17
Fix Breadcrumb and title
newhinton Jun 17, 2022
ce4dd30
update translations
newhinton Jun 17, 2022
6972f40
set proper initial path in RemoteFolderPickerFragment
newhinton Jun 18, 2022
ad0e0f0
fix color attribute beeing used instead of @color
newhinton Jun 18, 2022
e7242d5
Move notifications to notification package
newhinton Jun 18, 2022
b82f3e9
remove accidential upload bandwithlimit
newhinton Jun 18, 2022
0961e94
Update iconography
newhinton Jun 18, 2022
d3da845
Update README.md
newhinton Jun 18, 2022
7e5326e
remove duplicated code
newhinton Jun 19, 2022
b3337c8
Merge remote-tracking branch 'origin/master'
newhinton Jun 19, 2022
de2c341
readd name to sync notification
newhinton Jun 19, 2022
6bf7470
add new icons
newhinton Jun 19, 2022
4819ad9
Update strings for notification
newhinton Jun 28, 2022
fefc858
Merge remote-tracking branch 'origin/feature_tasklog'
newhinton Jul 15, 2022
29fc5dd
write logs from sync-service, upload-service and download-service
newhinton Jul 15, 2022
829d5a1
update readme
newhinton Jul 15, 2022
1e2c1ce
Update README.md
newhinton Jul 15, 2022
901471d
update icons
newhinton Jul 15, 2022
a634f4d
update log style
newhinton Jul 15, 2022
1dd48b3
update log and notification text
newhinton Jul 15, 2022
ff28c81
remember last used fragment
newhinton Jul 15, 2022
bd0c03d
add missing import
newhinton Jul 15, 2022
e078b53
add more missing imports
newhinton Jul 15, 2022
f6e9cd1
update readme todo
newhinton Jul 15, 2022
a589b57
allow errors to show up in notification and logs
newhinton Jul 17, 2022
5fcb7cf
make notification for sync more useful
newhinton Jul 18, 2022
1335b2b
allow trigger to run when idle
newhinton Jul 20, 2022
06deab5
expose "allow while idle" in ui
newhinton Jul 20, 2022
ed8295a
add missing german translation
newhinton Jul 21, 2022
75d7ea1
switch applicationId
newhinton Jul 21, 2022
b424f75
change output-apk name
newhinton Jul 21, 2022
b39d74d
fix wrong datatype in json export of appsettings
newhinton Jul 21, 2022
af22163
properly set theme&color in MainActivity
newhinton Jul 21, 2022
e43dfea
Merge remote-tracking branch 'feilongfl/master'
newhinton Jul 21, 2022
dad7ece
update security email
newhinton Jul 21, 2022
40ca122
merge feilongfl:master to update rclone to 1.58
newhinton Jul 21, 2022
c769355
up version
newhinton Jul 22, 2022
e6e0d71
update navigation drawer styling
newhinton Jul 22, 2022
3e62006
fix color state list for light theme
newhinton Jul 22, 2022
39aaa57
fix issue with json
newhinton Jul 22, 2022
bfc6248
update version
newhinton Jul 22, 2022
25e7be3
use cards in listviews
newhinton Jul 22, 2022
ba8b343
fix wrong maintainer listed
newhinton Jul 22, 2022
2be7902
fix download notification having wrong channelid
newhinton Jul 23, 2022
3a2fe9a
update dialog style to material3
newhinton Jul 23, 2022
30dd139
apply material design theme to all dialogs
newhinton Jul 23, 2022
dfa634e
update targetsdk to 32
newhinton Jul 23, 2022
aabf120
update main toolbar to material style
newhinton Jul 23, 2022
5296663
fix some color issues
newhinton Jul 23, 2022
ecf79ce
update Readme
newhinton Jul 23, 2022
4ed0719
remove old screenshots and update readme again
newhinton Jul 23, 2022
2f700ed
make all pending intents immutable for api 32
newhinton Jul 23, 2022
f1033b9
move threedot menu on cards
newhinton Jul 24, 2022
11ee2db
Update handling of metered and unmetered connections
newhinton Jul 26, 2022
eb55458
Update sync progress notifications quietly
djpohly Jul 26, 2022
10afbc8
allow standalone rclone.conf imports
newhinton Jul 26, 2022
e7af313
Merge pull request #13 from djpohly/patch-1
newhinton Jul 26, 2022
1e7a494
Merge remote-tracking branch 'origin/master'
newhinton Jul 26, 2022
f422bae
increase padding for appbar
newhinton Jul 26, 2022
2faa314
dont use special chars for export-filename
newhinton Jul 27, 2022
6e5062e
update filepicker for new design
newhinton Jul 29, 2022
2087dd1
fix nullpointer on no folder selected
newhinton Jul 29, 2022
bb693dc
Fix problematic remote-path behavior for task creation
newhinton Jul 29, 2022
94c9ce6
add back button to task_activity
newhinton Jul 29, 2022
4b8f221
add new style to settings and trigger activity
newhinton Jul 29, 2022
b2f7e7b
make card radius adjustable
newhinton Jul 29, 2022
6453f2d
update task creation layout
newhinton Jul 29, 2022
e61f5cb
fix the immutability flag
newhinton Jul 29, 2022
f843bce
prepare bidirectional sync
newhinton Jul 29, 2022
383036e
implement descriptions for sync in code
newhinton Jul 29, 2022
f9e397a
dont start path with more than one backslash
newhinton Jul 29, 2022
7030e05
fix title for TaskItem
newhinton Jul 29, 2022
40cdd22
Update Task Design again
newhinton Jul 30, 2022
f488814
overhaul intro
newhinton Jul 30, 2022
eec8793
add deletions to log
newhinton Aug 12, 2022
464cd75
disable bidirectional sync for now
newhinton Aug 12, 2022
aaf1483
Append Files that error out to notification and log
newhinton Aug 12, 2022
5e4d411
fix tint in fragment_permission_item.xml
newhinton Aug 12, 2022
49c299e
fix storage access framework
newhinton Aug 12, 2022
f7f58c2
update version
newhinton Aug 12, 2022
de8e82d
fix oauth not using correct io-stream
newhinton Aug 30, 2022
f86a051
dont start arbitrary fragment when onStart is called to preserve frag…
newhinton Aug 30, 2022
ccbb63f
dont resume the last fragment. Let android handle it.
newhinton Aug 30, 2022
ab4adf5
send proper cancel intents for upload&download
newhinton Aug 30, 2022
0a1ffde
reduce retries and timeouts
newhinton Sep 13, 2022
ce39057
remove duplicate rclone parameter
newhinton Sep 13, 2022
d79a1cb
migrate TaskActivity to Kotlin
newhinton Sep 13, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,13 @@ jobs:
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Set up Go 1.16
- name: Set up Go 1.18
uses: actions/setup-go@v1
with:
go-version: 1.16
go-version: 1.18
id: go
- name: Force NDK version
run: echo "y" | sudo ${ANDROID_HOME}/tools/bin/sdkmanager --install "ndk;22.1.7171670"
run: echo "y" | sudo ${ANDROID_HOME}/tools/bin/sdkmanager --install "ndk;24.0.8215888"
- name: Build rclone
run: ./gradlew rclone:buildNative
- name: Build app
Expand Down
76 changes: 69 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,18 @@
# RCX - Rclone for Android
[![license: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://github.com/x0b/rcx/blob/master/LICENSE) [![Github Releases](https://img.shields.io/github/downloads/x0b/rcx/total.svg)](https://github.com/x0b/rcx/releases) [![GitHub release](https://img.shields.io/github/v/release/x0b/rcx?include_prereleases)](https://github.com/x0b/rcx/releases/latest) [![Google Play](https://img.shields.io/badge/Google_Play-stable-brightgreen)](https://play.google.com/store/apps/details?id=io.github.x0b.rcx) [![F-Droid](https://img.shields.io/badge/F%E2%80%93Droid-stable-blue)](https://f-droid.org/packages/io.github.x0b.rcx)
# extRact - Rclone for Android
[![license: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://github.com/newhinton/extract/blob/master/LICENSE) [![Github Releases](https://img.shields.io/github/downloads/newhinton/extract/total.svg)](https://github.com/newhinton/extract/releases) [![GitHub release](https://img.shields.io/github/v/release/newhinton/extract?include_prereleases)](https://github.com/newhinton/extract/releases/latest)

A cloud file manager, powered by rclone.

<br/>
<br/>

Current State
--------
## ⚠️ 🏗️ This app is currently undergoing many changes. It may not be fully stable and contain bugs or untested features. Use at your own risk! ⚠️ 🏗️

<br/>
<br/>

Features
--------

Expand All @@ -18,12 +28,29 @@ Use your cloud storage like a local folder. | Keep your files private on any clo
- **Material Design** (Dark theme, custom primary and accent colors)
- **All architectures** (runs on ARM, ARM64, x86 and x64 devices, Android 7+)
- **Storage Access Framework (SAF)** ([see docs](https://x0b.github.io/docs/#adding-local-storage-saf)) for SD card and USB device access.
- **Intentservice** to start tasks via third party apps!
- **Task Management** to allow regular runs of your important tasks!


Screenshots
-----------
Manage Storage|Upload Files|Explore Files|Manage Files
:-----:|:--------------:|:-----------:|:---------:|
![screenshot1](https://github.com/x0b/rcx/blob/master/docs/screenshot_1.png?raw=true)|![screenshot3](https://github.com/x0b/rcx/blob/master/docs/screenshot_3.png?raw=true)|![screenshot7](https://github.com/x0b/rcx/blob/master/docs/screenshot_7.png?raw=true)|![screenshot8](https://github.com/x0b/rcx/blob/master/docs/screenshot_8.png?raw=true)
Manage Storage|Explore Files|Manage Files
:-----:|:--------------:|:-----------:|
![screenshot1](fastlane/metadata/android/en-US/images/phoneScreenshots/1.png)|![screenshot2](fastlane/metadata/android/en-US/images/phoneScreenshots/2.png)|![screenshot3](fastlane/metadata/android/en-US/images/phoneScreenshots/3.png)|


Intentservice
-------------
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 | ca.pkay.rcloneexplorer | |
| className | ca.pkay.rcloneexplorer.Services.SyncService | |
| Action | START_TASK | |
| Integer Extra | task | idOfTask |
| Boolean Extra | notification | true or false |

Installation
------------
Expand All @@ -42,20 +69,55 @@ Usage
------------
[See the documentation](https://x0b.github.io/docs/).

Developing
------------
[See the developer-documentation](https://x0b.github.io/dev/).

Build rclone manually run:

```
./gradlew rclone:buildAll
```

When building rclone with a go version that is too old (eg 1.15.5), this error may show up:

```
ld.lld: error: duplicate symbol: x_cgo_inittls
```

It can be fixed by using a more recent version of go.

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

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


Building
------------
```
// choose the appropriate version for your device
cd rclone
../gradlew rclone:buildNative // For all devices
../gradlew rclone:buildArm64
../gradlew rclone:buildArm
../gradlew rclone:buildx86
../gradlew rclone:buildx64
```



License
-----------------
### About this app
This app is released under the terms of the [GPLv3 license](https://github.com/x0b/rcx/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 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 rcloneExplorer by [Patryk Kaczmarkiewicz](https://github.com/kaczmarkiewiczp). For the original repository, see [kaczmarkiewiczp/rcloneExplorer](https://github.com/kaczmarkiewiczp/rcloneExplorer). 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.
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.

### 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.
Expand Down
2 changes: 1 addition & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Security Policy

Please contact us directly about security issues: x0bdev+security@gmail.com. Please give appropriate time to respond.
Please contact us directly about security issues: security@felixnuesse.de. Please give appropriate time to respond.

This is a community project without 24/7 operations or formal security review. While we try to make the app as secure as possible, we cannot offer any guarantees. Do not rely on the encryption for your safety.

Expand Down
23 changes: 18 additions & 5 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,23 +1,27 @@
import java.text.SimpleDateFormat

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'

android {
signingConfigs {
github_x0b {
keyAlias 'github_x0b'
}
}
compileSdkVersion 30
ndkVersion '22.1.7171670'
compileSdkVersion 32
ndkVersion '25.0.8775105'
defaultConfig {
applicationId 'io.github.x0b.rcx'
applicationId 'de.felixnuesse.extract'
minSdkVersion 21
targetSdkVersion 30
targetSdkVersion 32
versionCode 200 // last digit is reserved for ABI, only ever end on 0!
versionName '1.13-dev'
versionName '2.0.3-dev'
resConfigs "en", "de" // restrict to used languages
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
buildConfigField "java.lang.String", "CLI", System.getenv('RCX_BUILD_CLI') ? System.getenv('RCX_BUILD_CLI') : "\"c03129b6-b09f-9cb4-8fcd-7f143b8f94ef\""
buildConfigField "java.lang.String", "VCP_AUTHORITY", "\"" + applicationId + ".vcp\"";
setProperty("archivesBaseName", "extRact_v"+versionName+"_"+now())
}

buildTypes {
Expand Down Expand Up @@ -78,6 +82,14 @@ android {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
}

def now() {
SimpleDateFormat df = new SimpleDateFormat ("yyyMMdd_hhmm")
return df.format(new Date())
}

repositories {
Expand All @@ -88,6 +100,7 @@ repositories {

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion"
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.vectordrawable:vectordrawable:1.1.0'
implementation 'androidx.cardview:cardview:1.0.0'
Expand Down
54 changes: 41 additions & 13 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM"/>

<application
android:allowBackup="true"
Expand All @@ -26,15 +28,17 @@
tools:ignore="GoogleAppIndexingWarning"
tools:targetApi="29">

<activity android:name=".OnboardingActivity"
<activity android:name=".Activities.OnboardingActivity"
android:theme="@style/OnboardingTheme">
</activity>

<activity
android:name=".MainActivity"
android:name=".Activities.MainActivity"
android:label="@string/app_short_name"
android:launchMode="singleTop"
android:theme="@style/AppTheme.NoActionBar">
android:theme="@style/AppTheme.NoActionBar"
android:exported="true"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
Expand Down Expand Up @@ -64,6 +68,9 @@
<service android:name=".Services.DeleteService" />
<service android:name=".Services.MoveService" />
<service android:name=".Services.SyncService" />
<service
android:name=".Services.TriggerService"
android:exported="true"/>
<service
android:name=".Services.RcdService"
android:foregroundServiceType="dataSync"/>
Expand All @@ -79,6 +86,17 @@
<receiver android:name=".BroadcastReceivers.SyncCancelAction" />
<receiver android:name=".Services.RcdService$RcdServiceAction"/>
<receiver android:name=".Services.ReportService$StopCollectionReceiver" />
<receiver
android:name=".BroadcastReceivers.BootReciever"
android:exported="true"
>
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"></action>
</intent-filter>
</receiver>
<receiver
android:name=".BroadcastReceivers.TriggerReciever"
android:exported="true"/>

<provider
android:name="androidx.core.content.FileProvider"
Expand All @@ -91,26 +109,26 @@
</provider>

<activity
android:name=".AboutActivity"
android:name=".Activities.AboutActivity"
android:label="@string/title_activity_about"
android:theme="@style/AppTheme.NoActionBar" />
<activity
android:name=".ChangelogActivity"
android:name=".Activities.ChangelogActivity"
android:label="@string/title_activity_changelog"
android:parentActivityName=".AboutActivity"
android:parentActivityName=".Activities.AboutActivity"
android:theme="@style/AppTheme.NoActionBar" />
<activity
android:name=".ContributorActivity"
android:name=".Activities.ContributorActivity"
android:label="@string/title_activity_contributors"
android:parentActivityName=".AboutActivity"
android:parentActivityName=".Activities.AboutActivity"
android:theme="@style/AppTheme.NoActionBar" />
<activity
android:name=".AboutLibsActivity"
android:name=".Activities.AboutLibsActivity"
android:label="@string/credits_libraries"
android:parentActivityName=".AboutActivity"
android:parentActivityName=".Activities.AboutActivity"
android:theme="@style/AppTheme.NoActionBar" />
<activity
android:name=".Settings.SettingsActivity"
android:name=".Activities.SettingsActivity"
android:label="@string/title_activity_settings"
android:theme="@style/AppTheme.NoActionBar"
tools:ignore="InnerclassSeparator"
Expand All @@ -120,9 +138,11 @@
</intent-filter>
</activity>
<activity
android:name=".SharingActivity"
android:name=".Activities.SharingActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar" >
android:theme="@style/AppTheme.NoActionBar"
android:exported="true"
>
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
Expand Down Expand Up @@ -161,6 +181,14 @@
android:name=".RemoteConfig.RemoteConfig"
android:label="@string/title_activity_remote_config"
android:theme="@style/AppTheme.NoActionBar" />
<activity
android:name=".Activities.TaskActivity"
android:label="@string/title_activity_task"
android:theme="@style/AppTheme.NoActionBar" />
<activity
android:name=".Activities.TriggerActivity"
android:label="@string/title_activity_trigger"
android:theme="@style/AppTheme.NoActionBar" />

</application>

Expand Down
Binary file added app/src/main/ic_launcher-playstore.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed app/src/main/ic_launcher-web.png
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,18 +1,22 @@
package ca.pkay.rcloneexplorer;
package ca.pkay.rcloneexplorer.Activities;

import static ca.pkay.rcloneexplorer.util.ActivityHelper.tryStartActivity;

import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.TextView;

import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;

import static ca.pkay.rcloneexplorer.ActivityHelper.tryStartActivity;
import ca.pkay.rcloneexplorer.BuildConfig;
import ca.pkay.rcloneexplorer.R;
import ca.pkay.rcloneexplorer.Rclone;
import ca.pkay.rcloneexplorer.RuntimeConfiguration;
import ca.pkay.rcloneexplorer.util.ActivityHelper;


public class AboutActivity extends AppCompatActivity {
Expand Down Expand Up @@ -49,6 +53,7 @@ protected void onCreate(Bundle savedInstanceState) {
findViewById(R.id.report_bug).setOnClickListener(v -> reportBug());
findViewById(R.id.author_github_link).setOnClickListener(v -> openAuthorGitHubLink());
findViewById(R.id.maintainer_github_link).setOnClickListener(v -> openMaintainerGithubLink());
findViewById(R.id.old_maintainer_github_link).setOnClickListener(v -> openOldMaintainerGithubLink());
}

@Override
Expand Down Expand Up @@ -97,6 +102,11 @@ private void openMaintainerGithubLink() {
tryStartActivity(this, browserIntent);
}

private void openOldMaintainerGithubLink() {
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(getString(R.string.github_maintainer_url)));
tryStartActivity(this, browserIntent);
}

private void openReleaseLink() {
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(getString(R.string.app_latest_release_url)));
tryStartActivity(this, browserIntent);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package ca.pkay.rcloneexplorer;
package ca.pkay.rcloneexplorer.Activities;

import android.content.Intent;
import android.net.Uri;
Expand All @@ -14,9 +14,11 @@
import java.util.List;
import java.util.Map;

import ca.pkay.rcloneexplorer.util.ActivityHelper;
import ca.pkay.rcloneexplorer.R;
import ca.pkay.rcloneexplorer.RecyclerViewAdapters.AboutLibrariesAdapter;

import static ca.pkay.rcloneexplorer.ActivityHelper.tryStartActivity;
import static ca.pkay.rcloneexplorer.util.ActivityHelper.tryStartActivity;

public class AboutLibsActivity extends AppCompatActivity implements AboutLibrariesAdapter.OnClickListener {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
package ca.pkay.rcloneexplorer;
package ca.pkay.rcloneexplorer.Activities;

import android.os.Bundle;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;

import ca.pkay.rcloneexplorer.util.ActivityHelper;
import ca.pkay.rcloneexplorer.R;
import ca.pkay.rcloneexplorer.util.MarkdownView;

public class ChangelogActivity extends AppCompatActivity {
Expand Down
Loading