Skip to content

Conversation

@TranceLove
Copy link
Collaborator

Description

Integration with https://github.com/openmobilehub/android-omh-auth and https://github.com/openmobilehub/android-omh-storage for Cloud storage integration.

However due the aged codebase of Amaze itself, there were some overhaul to the codebase itself in order to facilitate integration, with reduced code redundancy and unnecessary code.

Also

  • minimum Android version requirement was raised to 8.0 - sorry about that, but Android 8.0 was also 8 years old, as well as the library requirements mandate the use of Android 8.0 or above
  • enabled use of kotlinx coroutines, as well as required by android-omh-storage

Open source compliance

Though omh libraries come as binary jar instead of Maven dependency, their source code are available for review and pending to merge into their mainline codebases. Once they are merged these jars can be replaced by Maven dependencies.

Issue tracker

Automatic tests

  • Added test cases

Manual tests

  • Done

Build tasks success

Successfully running following tasks on local:

  • ./gradlew assembledebug
  • ./gradlew spotlessCheck

@TranceLove
Copy link
Collaborator Author

TranceLove commented Sep 18, 2025

One way another, it needs to happen anyway.

Pending tasks before PR can leave draft status:

  • draft checklist for quality assurance
  • fix access token refresh problem
  • cleanups for dropping pre-8.0 code, if possible

@TranceLove TranceLove force-pushed the feature/omh-integration branch 2 times, most recently from 5ad9d38 to 00b918e Compare September 18, 2025 16:18
@TranceLove TranceLove requested a review from Copilot September 18, 2025 16:18
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR integrates omh-storage cloud storage functionality to replace cloudrail-si for cloud service support. The integration includes SDK-less implementations for Dropbox, Microsoft OneDrive, and Google Drive. The PR also updates the minimum Android version requirement to API level 26 (Android 8.0) and enables kotlinx coroutines usage throughout the codebase.

Key changes:

  • Replaces cloudrail-si with omh-storage library for cloud storage integration
  • Updates minimum SDK version from 21 to 26 (Android 8.0)
  • Enables kotlin coroutines and updates kotlin version to 2.1.20
  • Converts Java exceptions to Kotlin for better interoperability

Reviewed Changes

Copilot reviewed 150 out of 163 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
gradle/libs.versions.toml Updates minSdk to 26, adds coroutines dependencies, removes cloudrail
app/src/main/java/com/amaze/filemanager/utils/omh/ New OMH client helper classes for cloud integration
app/src/main/java/com/amaze/filemanager/filesystem/cloud/CloudUtil.kt Rewrites CloudUtil from Java to Kotlin with omh-storage support
Multiple test files Updates test SDK configurations from LOLLIPOP to O (API 26)
app/src/main/java/com/amaze/filemanager/utils/DataUtils.kt Converts DataUtils from Java to Kotlin

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment on lines +379 to +464
var gridfiles: ArrayList<String?>?
get() = gridfiles
set(gridfiles) {
if (gridfiles != null) {
for (gridfile in gridfiles) {
setPathAsGridOrList(gridfile, GRID)
}
}
}
Copy link

Copilot AI Sep 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This getter creates infinite recursion by calling itself. The getter should return the actual backing field or property, not call itself recursively.

Copilot uses AI. Check for mistakes.
@TranceLove TranceLove force-pushed the feature/omh-integration branch 2 times, most recently from ad08367 to e5e1778 Compare September 19, 2025 17:07
@TranceLove TranceLove force-pushed the feature/omh-integration branch 4 times, most recently from 2919bfa to 07ed600 Compare September 26, 2025 17:17
@TranceLove
Copy link
Collaborator Author

Test Case Google Drive Dropbox Onedrive Box.com
Cloud storage bookmark persists across restarts
Cloud storage bookmark is usable across restarts
List files at root
List files at subfolder
File thumbnails
Create folder at root
Create folder at subfolder
Create file at root
Create file at subfoler
Rename folder at root
Rename folder at subfolder
Rename file at root
Rename file at subfoler
Copy file from device to Cloud root
Copy file from device to Cloud subfolder
Move file from device to Cloud root
Move file from device to Cloud subfolder
Delete folder at root
Delete folder at subfolder
Delete file at root
Delete file at subfoler
View file properties
View folder properties

@TranceLove TranceLove force-pushed the feature/omh-integration branch 4 times, most recently from 6a2abd4 to 9f8c153 Compare September 28, 2025 15:37
@TranceLove TranceLove force-pushed the feature/omh-integration branch 2 times, most recently from eb1ed76 to a87506c Compare October 30, 2025 16:21
@TranceLove TranceLove force-pushed the feature/omh-integration branch from a87506c to e8276eb Compare November 8, 2025 16:26
@TranceLove TranceLove force-pushed the feature/omh-integration branch from e8276eb to ef6dba7 Compare December 26, 2025 07:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants