Skip to content

Commit 5283f30

Browse files
Migrate from flutter_cloud to awesome_cloud
Replaces all flutter_cloud imports and usage with awesome_cloud across the codebase. Updates dependency references in pubspec.yaml and pubspec.lock, removes flutter_cloud package and files, and adds/renames awesome_cloud package and its files. Adjusts cloud service implementations and screens to use awesome_cloud APIs, and updates HuaweiCloudService to use custom endpoints and client ID.
1 parent 4091610 commit 5283f30

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+2078
-2361
lines changed

lib/Models/cloud_service_config.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ enum CloudServiceType {
5858
static List<String> toEnableStrings() {
5959
return [
6060
CloudServiceType.OneDrive.label,
61+
CloudServiceType.HuaweiCloud.label,
6162
CloudServiceType.Dropbox.label,
6263
CloudServiceType.Webdav.label,
6364
CloudServiceType.S3Cloud.label,

lib/Screens/Backup/cloud_service_screen.dart

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import 'package:awesome_chewie/awesome_chewie.dart';
1717
import 'package:cloudotp/Models/cloud_service_config.dart';
1818
import 'package:cloudotp/Screens/Backup/dropbox_service_screen.dart';
19+
import 'package:cloudotp/Screens/Backup/huawei_service_screen.dart';
1920
import 'package:cloudotp/Screens/Backup/onedrive_service_screen.dart';
2021
import 'package:cloudotp/Screens/Backup/s3_service_screen.dart';
2122
import 'package:cloudotp/Screens/Backup/webdav_service_screen.dart';
@@ -46,7 +47,7 @@ class _CloudServiceScreenState extends State<CloudServiceScreen>
4647
void initState() {
4748
super.initState();
4849
tabController = TabController(
49-
length: 4,
50+
length: 5,
5051
vsync: this,
5152
);
5253
_typeController.selectIndex(_currentType.index);
@@ -84,6 +85,7 @@ class _CloudServiceScreenState extends State<CloudServiceScreen>
8485
controller: tabController,
8586
children: const [
8687
OneDriveServiceScreen(),
88+
HuaweiCloudServiceScreen(),
8789
DropboxServiceScreen(),
8890
WebDavServiceScreen(),
8991
S3CloudServiceScreen(),

lib/Screens/Backup/dropbox_service_screen.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import 'package:awesome_chewie/awesome_chewie.dart';
1919
import 'package:cloudotp/Models/cloud_service_config.dart';
2020
import 'package:cloudotp/TokenUtils/Cloud/cloud_service.dart';
2121
import 'package:flutter/material.dart';
22-
import 'package:flutter_cloud/dropbox_response.dart';
22+
import 'package:awesome_cloud/awesome_cloud.dart';
2323

2424
import '../../Database/cloud_service_config_dao.dart';
2525
import '../../TokenUtils/Cloud/dropbox_cloud_service.dart';

lib/Screens/Backup/googledrive_service_screen.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ import 'dart:typed_data';
1818
import 'package:cloudotp/Models/cloud_service_config.dart';
1919
import 'package:cloudotp/TokenUtils/Cloud/cloud_service.dart';
2020
import 'package:flutter/material.dart';
21-
import 'package:flutter_cloud/googledrive_response.dart';
2221

2322
import '../../Database/cloud_service_config_dao.dart';
2423
import '../../TokenUtils/Cloud/googledrive_cloud_service.dart';
2524
import '../../TokenUtils/export_token_util.dart';
2625
import '../../TokenUtils/import_token_util.dart';
26+
import 'package:awesome_cloud/awesome_cloud.dart';
2727
import 'package:awesome_chewie/awesome_chewie.dart';
2828
import '../../Widgets/BottomSheet/Backups/googledrive_backups_bottom_sheet.dart';
2929
import '../../generated/l10n.dart';

lib/Screens/Backup/huawei_service_screen.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import 'dart:typed_data';
1818
import 'package:cloudotp/Models/cloud_service_config.dart';
1919
import 'package:cloudotp/TokenUtils/Cloud/cloud_service.dart';
2020
import 'package:flutter/material.dart';
21-
import 'package:flutter_cloud/huaweicloud_response.dart';
21+
import 'package:awesome_cloud/awesome_cloud.dart';
2222

2323
import '../../Database/cloud_service_config_dao.dart';
2424
import '../../TokenUtils/Cloud/huawei_cloud_service.dart';

lib/Screens/Backup/onedrive_service_screen.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ import 'package:cloudotp/Models/cloud_service_config.dart';
1919
import 'package:cloudotp/TokenUtils/Cloud/cloud_service.dart';
2020
import 'package:cloudotp/Widgets/BottomSheet/Backups/onedrive_backups_bottom_sheet.dart';
2121
import 'package:flutter/material.dart';
22-
import 'package:flutter_cloud/onedrive_response.dart';
2322

23+
import 'package:awesome_cloud/awesome_cloud.dart';
2424
import '../../Database/cloud_service_config_dao.dart';
2525
import '../../TokenUtils/Cloud/onedrive_cloud_service.dart';
2626
import '../../TokenUtils/export_token_util.dart';

lib/TokenUtils/Cloud/dropbox_cloud_service.dart

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,8 @@
1515

1616
import 'dart:typed_data';
1717

18+
import 'package:awesome_cloud/awesome_cloud.dart';
1819
import 'package:cloudotp/Utils/app_provider.dart';
19-
import 'package:flutter_cloud/dropbox.dart';
20-
import 'package:flutter_cloud/dropbox_response.dart';
2120
import 'package:path/path.dart';
2221

2322
import '../../Models/cloud_service_config.dart';
@@ -28,8 +27,6 @@ import 'cloud_service.dart';
2827
class DropboxCloudService extends CloudService {
2928
@override
3029
CloudServiceType get type => CloudServiceType.Dropbox;
31-
static const String _redirectUrl =
32-
'https://apps.cloudchewie.com/oauth/cloudotp/dropbox/callback';
3330
static const String _callbackUrl = 'cloudotp://auth/dropbox/callback';
3431
static const String _clientId = 'ljyx5bk2jq92esr';
3532
static const String _dropboxEmptyPath = '';
@@ -48,7 +45,6 @@ class DropboxCloudService extends CloudService {
4845
@override
4946
Future<void> init() async {
5047
dropbox = Dropbox(
51-
redirectUrl: _callbackUrl,
5248
callbackUrl: _callbackUrl,
5349
clientId: _clientId,
5450
);
@@ -96,7 +92,8 @@ class DropboxCloudService extends CloudService {
9692

9793
@override
9894
Future<bool> deleteFile(String path) async {
99-
DropboxResponse response = await dropbox.delete(join(_dropboxPath, path));
95+
DropboxResponse response =
96+
await dropbox.deleteById(join(_dropboxPath, path));
10097
return response.isSuccess;
10198
}
10299

@@ -123,7 +120,7 @@ class DropboxCloudService extends CloudService {
123120
String path, {
124121
Function(int p1, int p2)? onProgress,
125122
}) async {
126-
DropboxResponse response = await dropbox.pull(path);
123+
DropboxResponse response = await dropbox.pullById(path);
127124
return response.isSuccess ? response.bodyBytes ?? Uint8List(0) : null;
128125
}
129126

lib/TokenUtils/Cloud/googledrive_cloud_service.dart

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@
1515

1616
import 'dart:typed_data';
1717

18-
import 'package:flutter_cloud/googledrive.dart';
19-
import 'package:flutter_cloud/googledrive_response.dart';
18+
import 'package:awesome_cloud/awesome_cloud.dart';
2019

2120
import '../../Models/cloud_service_config.dart';
2221
import '../../Utils/app_provider.dart';
@@ -27,8 +26,6 @@ import 'cloud_service.dart';
2726
class GoogleDriveCloudService extends CloudService {
2827
@override
2928
CloudServiceType get type => CloudServiceType.GoogleDrive;
30-
static const String _redirectUrl =
31-
'https://apps.cloudchewie.com/oauth/cloudotp/googledrive/callback';
3229
static const String _callbackUrl = 'cloudotp://auth/googledrive/callback';
3330
static const String _clientId =
3431
'547353482361-fi716v2qnfvh3aj515ok1r4cdqqhdqbh.apps.googleusercontent.com';
@@ -48,7 +45,6 @@ class GoogleDriveCloudService extends CloudService {
4845
@override
4946
Future<void> init() async {
5047
googledrive = GoogleDrive(
51-
redirectUrl: _callbackUrl,
5248
callbackUrl: _callbackUrl,
5349
clientId: _clientId,
5450
);
@@ -159,7 +155,7 @@ class GoogleDriveCloudService extends CloudService {
159155
GoogleDriveResponse response = await googledrive.push(
160156
fileData,
161157
fileName,
162-
_googledrivePathName,
158+
fileName: _googledrivePathName,
163159
);
164160
deleteOldBackup();
165161
return response.isSuccess;

lib/TokenUtils/Cloud/huawei_cloud_service.dart

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@
1515

1616
import 'dart:typed_data';
1717

18-
import 'package:flutter_cloud/huaweicloud.dart';
19-
import 'package:flutter_cloud/huaweicloud_response.dart';
18+
import 'package:awesome_cloud/awesome_cloud.dart';
2019

2120
import '../../Models/cloud_service_config.dart';
2221
import '../../Utils/hive_util.dart';
@@ -26,10 +25,12 @@ import 'cloud_service.dart';
2625
class HuaweiCloudService extends CloudService {
2726
@override
2827
CloudServiceType get type => CloudServiceType.HuaweiCloud;
29-
static const String _redirectUrl =
30-
'https://apps.cloudchewie.com/oauth/cloudotp/huaweicloud/callback';
28+
static const String _customAuthEndpoint =
29+
'http://localhost:3009/oauth/cloudotp/huaweicloud/login';
30+
static const String _customTokenEndpoint =
31+
'http://localhost:3009/oauth/cloudotp/huaweicloud/token';
3132
static const String _callbackUrl = "cloudotp://auth/huaweicloud/callback";
32-
static const String _clientId = '111829035';
33+
static const String _clientId = '114701957';
3334
static const String _huaweiCloudEmptyPath = '';
3435
static const String _huaweiCloudPath = 'CloudOTP';
3536
final CloudServiceConfig _config;
@@ -45,8 +46,10 @@ class HuaweiCloudService extends CloudService {
4546

4647
@override
4748
Future<void> init() async {
48-
huaweiCloud = HuaweiCloud(
49-
redirectUrl: _redirectUrl,
49+
huaweiCloud = HuaweiCloud.server(
50+
customAuthEndpoint: _customAuthEndpoint,
51+
customTokenEndpoint: _customTokenEndpoint,
52+
customRevokeEndpoint: "",
5053
callbackUrl: _callbackUrl,
5154
clientId: _clientId,
5255
);
@@ -158,7 +161,7 @@ class HuaweiCloudService extends CloudService {
158161
HuaweiCloudResponse response = await huaweiCloud.push(
159162
fileData,
160163
_huaweiCloudPath,
161-
fileName,
164+
fileName: fileName,
162165
);
163166
deleteOldBackup();
164167
return response.isSuccess;

lib/TokenUtils/Cloud/onedrive_cloud_service.dart

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@
1515

1616
import 'dart:typed_data';
1717

18-
import 'package:flutter_cloud/onedrive.dart';
19-
import 'package:flutter_cloud/onedrive_response.dart';
18+
import 'package:awesome_cloud/awesome_cloud.dart';
2019
import 'package:path/path.dart';
2120

2221
import '../../Models/cloud_service_config.dart';
@@ -28,8 +27,6 @@ import 'cloud_service.dart';
2827
class OneDriveCloudService extends CloudService {
2928
@override
3029
CloudServiceType get type => CloudServiceType.OneDrive;
31-
static const String _redirectUrl =
32-
'https://apps.cloudchewie.com/oauth/cloudotp/onedrive/callback';
3330
static const String _callbackUrl = 'cloudotp://auth/onedrive/callback';
3431
static const String _clientId = '3b953ca4-3dd4-4148-a80b-b1ac8c39fd97';
3532
static const String _onedrivePath = '/CloudOTP';
@@ -47,7 +44,6 @@ class OneDriveCloudService extends CloudService {
4744
@override
4845
Future<void> init() async {
4946
onedrive = OneDrive(
50-
redirectUrl: _callbackUrl,
5147
callbackUrl: _callbackUrl,
5248
clientId: _clientId,
5349
);

0 commit comments

Comments
 (0)