Android OMH Storage streamlines the integration of various cloud storage providers into your Android application by offering a unified API for different storage providers. It supports both Google Mobile Services (GMS) and non-GMS configurations, making it easy to incorporate Google Drive, OneDrive, Dropbox, and other supported third-party storage providers.
- π± GMS and non-GMS support for all storage providers
- ποΈ Identical API across all storage providers
- π¦ Official storage provider SDK integration
- π Easy configuration and setup
- π¨ Lightweight modules
This is the main directory of the mono-repo for Android OMH Storage. If you're searching for a particular package, please click on the corresponding package link below.
- β Β - supported
- π¨Β - partially supported
- βΒ - not supported
| Features | Google Drive (GMS) | Google Drive (non-GMS) | OneDrive | Dropbox |
|---|---|---|---|---|
| File listing | β | β | β | β |
| File searching | β | β | π¨ | β |
| Folder creation | β | β | β | β |
| File creation (by mime type) | β | β | β | β |
| File creation (by extension) | β | β | β | β |
| File update | β | β | β | β |
| File deletion | β | β | β | β |
| File permanent deletion | β | β | β | β |
| File upload | β | β | β | β |
| File download | β | β | β | β |
| File export | β | β | β | β |
| File metadata | β | β | π¨ | π¨ |
| File versioning | β | β | β | β |
| File permissions | π¨ | π¨ | π¨ | π¨ |
| File URL | β | β | β | β |
Show details
| Property | Google Drive (GMS) | Google Drive (non-GMS) | OneDrive | Dropbox |
|---|---|---|---|---|
| id | β | β | β | β |
| name | β | β | β | β |
| createdTime | β | β | β | β |
| modifiedTime | β | β | β | β |
| parentId | β | β | β | β |
| mimeType | β | β | β | β |
| extension | β | β | β | β |
| size | β | β | β | β |
| Property | Google Drive (GMS) | Google Drive (non-GMS) | OneDrive | Dropbox |
|---|---|---|---|---|
| id | β | β | β | β |
| name | β | β | β | β |
| createdTime | β | β | β | β |
| modifiedTime | β | β | β | β |
| parentId | β | β | β | β |
OmhStorageMetadata.originalMetadata
| Storage provider | Type |
|---|---|
| Google Drive (GMS) | com.google.api.services.drive.model.File |
| Google Drive (non-GMS) | String |
| OneDrive | com.microsoft.graph.models.DriveItem |
| Dropbox | com.dropbox.core.v2.files.Metadata |
Show details
| Property | Google Drive (GMS) | Google Drive (non-GMS) | OneDrive | Dropbox |
|---|---|---|---|---|
| fieldId | β | β | β | β |
| versionId | β | β | β | β |
| lastModified | β | β | β | β |
Show details
OmhPermission.IdentityPermission
| Property | Google Drive (GMS) | Google Drive (non-GMS) | OneDrive | Dropbox |
|---|---|---|---|---|
| id | β | β | β | π¨ |
| role | β | β | β | β |
| isInherited | π¨ | π¨ | β | β |
| identity | β | β | β | β |
Google Drive:
isInheritedis present only for shared drive items. Dropbox:idequals to underlying identity ID.
| Type | Google Drive (GMS) | Google Drive (non-GMS) | OneDrive | Dropbox |
|---|---|---|---|---|
| User | β | β | β | β |
| Group | β | β | β | β |
| Domain | β | β | β | β |
| Anyone | β | β | β | β |
| Device | β | β | β | β |
| Application | β | β | β | β |
| Property | Google Drive (GMS) | Google Drive (non-GMS) | OneDrive | Dropbox |
|---|---|---|---|---|
| id | β | β | β | β |
| displayName | β | β | β | π¨ |
| emailAddress | β | β | β | β |
| expirationTime | β | β | β | β |
| deleted | β | β | β | β |
| photoLink | β | β | β | β |
| pendingOwner | β | β | β | β |
Dropbox: Invited users without a Dropbox account will not have a
displayName.
| Property | Google Drive (GMS) | Google Drive (non-GMS) | OneDrive | Dropbox |
|---|---|---|---|---|
| id | β | β | β | β |
| displayName | β | β | β | β |
| emailAddress | β | β | β | β |
| expirationTime | β | β | β | β |
| deleted | β | β | β | β |
| Role | Google Drive (GMS) | Google Drive (non-GMS) | OneDrive | Dropbox |
|---|---|---|---|---|
| OWNER | β | β | β | β |
| WRITER | β | β | β | π¨ |
| COMMENTER | β | β | β | β |
| READER | β | β | β | π¨ |
Dropbox:
- Dropbox does not support granting a
READERrole, although it is documented as available in the API. An exception will be thrown with user message:viewer_no_comment isnβt yet supported- Dropbox does not support granting a
WRITERrole to uploaded files. An exception will be thrown with user message:You donβt have permission to perform this action..
| Type | Google Drive (GMS) | Google Drive (non-GMS) | OneDrive | Dropbox |
|---|---|---|---|---|
| User | β | β | β | β |
| Group | β | β | β | β |
| Domain | β | β | β | β |
| Anyone | β | β | β | β |
| WithObjectId | β | β | β | β |
| WithAlias | β | β | β | β |
Dropbox: to invite Group, use WithObjectId and provide group ID
OmhStorageClient.createPermission
Dropbox: this method returns null when permission is successfully created.
OmhStorageClient.updatePermission
Dropbox: this method returns null when permission is successfully updated.
Dropbox: a folder needs to be a shared folder to return web URL.
OmhStorageClient.getFilePermissions
Dropbox: a folder needs to be a shared folder to return any permissions, including OWNER permission.
- See LICENSE