feat: scheme download feature.

This commit is contained in:
2022-01-19 18:54:42 +08:00
parent 44b5df3d24
commit a124f765cc
7 changed files with 60 additions and 35 deletions
+10 -10
View File
@@ -24,7 +24,7 @@ class DButton extends StatefulWidget {
factory DButton.add({
Key? key,
required enabled,
required bool enabled,
GestureTapCallback? onTap,
height = defaultButtonHeight * .7,
width = defaultButtonHeight * .7,
@@ -41,7 +41,7 @@ class DButton extends StatefulWidget {
factory DButton.delete({
Key? key,
required enabled,
required bool enabled,
GestureTapCallback? onTap,
height = defaultButtonHeight * .7,
width = defaultButtonHeight * .7,
@@ -58,7 +58,7 @@ class DButton extends StatefulWidget {
factory DButton.apply({
Key? key,
required enabled,
required bool enabled,
GestureTapCallback? onTap,
height = defaultButtonHeight * .7,
width = defaultButtonHeight * .7,
@@ -75,7 +75,7 @@ class DButton extends StatefulWidget {
factory DButton.duplicate({
Key? key,
required enabled,
required bool enabled,
GestureTapCallback? onTap,
height = defaultButtonHeight * .7,
width = defaultButtonHeight * .7,
@@ -92,7 +92,7 @@ class DButton extends StatefulWidget {
factory DButton.paste({
Key? key,
required enabled,
required bool enabled,
GestureTapCallback? onTap,
height = defaultButtonHeight * .7,
width = defaultButtonHeight * .7,
@@ -109,7 +109,7 @@ class DButton extends StatefulWidget {
factory DButton.logout({
Key? key,
required enabled,
required bool enabled,
GestureTapCallback? onTap,
height = defaultButtonHeight,
width = defaultButtonHeight,
@@ -126,7 +126,7 @@ class DButton extends StatefulWidget {
factory DButton.upload({
Key? key,
required enabled,
required bool enabled,
GestureTapCallback? onTap,
height = defaultButtonHeight,
width = defaultButtonHeight,
@@ -143,7 +143,7 @@ class DButton extends StatefulWidget {
factory DButton.download({
Key? key,
required enabled,
required bool enabled,
GestureTapCallback? onTap,
height = defaultButtonHeight * .7,
width = defaultButtonHeight * .7,
@@ -160,7 +160,7 @@ class DButton extends StatefulWidget {
factory DButton.share({
Key? key,
required enabled,
required bool enabled,
GestureTapCallback? onTap,
height = defaultButtonHeight * .7,
width = defaultButtonHeight * .7,
@@ -177,7 +177,7 @@ class DButton extends StatefulWidget {
factory DButton.like({
Key? key,
required enabled,
required bool enabled,
GestureTapCallback? onTap,
height = defaultButtonHeight * .7,
width = defaultButtonHeight * .7,
+8 -6
View File
@@ -3,6 +3,7 @@ import 'package:cached_network_image/cached_network_image.dart';
import 'package:dde_gesture_manager/constants/constants.dart';
import 'package:dde_gesture_manager/http/api.dart';
import 'package:dde_gesture_manager/models/configs.provider.dart';
import 'package:dde_gesture_manager/models/local_schemes_provider.dart';
import 'package:dde_gesture_manager/models/settings.provider.dart';
import 'package:dde_gesture_manager/utils/helper.dart';
import 'package:dde_gesture_manager/widgets/dde_button.dart';
@@ -281,14 +282,15 @@ class _MarketWidgetState extends State<MarketWidget> {
},
),
DButton.download(
enabled: true,
enabled: (context.watch<LocalSchemesProvider>().schemes ?? []).every((e) => e.scheme.id != _selected),
onTap: () {
Api.downloadScheme(schemeId: currentSelectedScheme!.uuid!).then((value) {
/// todo: 下载逻辑
value.sout();
setState(() {
currentSelectedScheme.downloads = currentSelectedScheme.downloads! + 1;
});
if (value != null) {
H.handleDownloadScheme(context, value);
setState(() {
currentSelectedScheme.downloads = currentSelectedScheme.downloads! + 1;
});
}
});
},
),
+8 -6
View File
@@ -5,6 +5,7 @@ import 'package:dde_gesture_manager/constants/constants.dart';
import 'package:dde_gesture_manager/extensions.dart';
import 'package:dde_gesture_manager/http/api.dart';
import 'package:dde_gesture_manager/models/configs.provider.dart';
import 'package:dde_gesture_manager/models/local_schemes_provider.dart';
import 'package:dde_gesture_manager/models/scheme_list_refresh_key.provider.dart';
import 'package:dde_gesture_manager/models/settings.provider.dart';
import 'package:dde_gesture_manager/utils/helper.dart';
@@ -294,14 +295,15 @@ class _MeWidgetState extends State<MeWidget> {
},
),
DButton.download(
enabled: true,
enabled: (context.watch<LocalSchemesProvider>().schemes ?? []).every((e) => e.scheme.id != _selected),
onTap: () {
Api.downloadScheme(schemeId: currentSelectedScheme!.uuid!).then((value) {
/// todo: 下载逻辑
value.sout();
context
.read<SchemeListRefreshKeyProvider>()
.setProps(refreshKey: DateTime.now().millisecondsSinceEpoch);
if (value != null) {
H.handleDownloadScheme(context, value);
context
.read<SchemeListRefreshKeyProvider>()
.setProps(refreshKey: DateTime.now().millisecondsSinceEpoch);
}
});
},
),