修复 权限去要重启生效的问题

回滚base store state
master
zhangmeng 4 years ago
parent 4894169c8f
commit 14a0c4faff

@ -157,18 +157,20 @@ abstract class BaseStoreState<T extends StatefulWidget> extends State<T>
Future<Null> showError(String error,
{Duration duration = const Duration(milliseconds: 1000)}) async {
return ReToast.err(text: error);
return GSDialog.of(globalContext)
.showError(globalContext, error, duration: duration);
}
Future<Null> showSuccess(String success) async {
return ReToast.success(text: success);
return GSDialog.of(globalContext).showSuccess(globalContext, success);
}
showLoading(String loading) {
ReToast.loading();
GSDialog.of(globalContext).showLoadingDialog(globalContext, loading);
}
dismissLoading() {
GSDialog.of(globalContext).dismiss(globalContext);
}
@override

@ -12,7 +12,6 @@ import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:dio/dio.dart';
import 'package:power_logger/power_logger.dart';
import 'package:recook/constants/api.dart';
import 'package:recook/constants/config.dart';

@ -10,13 +10,11 @@
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:power_logger/power_logger.dart';
import 'package:recook/utils/storage/hive_store.dart';
import 'package:redux/redux.dart';
import 'package:recook/base/http_result_model.dart';
import 'package:recook/constants/constants.dart';
import 'package:recook/models/home_weather_model.dart';
import 'package:recook/models/user_brief_info_model.dart';
import 'package:recook/models/user_model.dart';
@ -24,9 +22,7 @@ import 'package:recook/pages/live/tencent_im/tencent_im_tool.dart';
import 'package:recook/pages/user/mvp/user_presenter_impl.dart';
import 'package:recook/redux/recook_state.dart';
import 'package:recook/redux/user_brief_redux.dart';
import 'package:recook/redux/user_redux.dart';
import 'package:recook/utils/print_util.dart';
import 'package:recook/utils/share_preference.dart';
import 'package:recook/widgets/toast.dart';
class UserManager {
@ -99,7 +95,8 @@ class UserManager {
TencentIMTool.model = null;
instance.user = User.empty();
instance.login.value = false;
await SharePreferenceUtils.remove(AppStrings.key_user);
HiveStore.appBox.delete('key_user');
// await SharePreferenceUtils.remove(AppStrings.key_user);
// store.dispatch(UpdateUserAction(User.empty()));
}

@ -1,7 +1,6 @@
import 'package:flutter/material.dart';
import 'package:recook/base/base_store_state.dart';
import 'package:recook/constants/constants.dart';
import 'package:recook/constants/styles.dart';
import 'package:recook/utils/app_router.dart';
import 'package:recook/widgets/custom_app_bar.dart';

@ -3,7 +3,6 @@ import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:recook/base/base_store_state.dart';
import 'package:recook/constants/api.dart';
import 'package:recook/constants/api_v2.dart';
import 'package:recook/constants/header.dart';
import 'package:recook/constants/styles.dart';
@ -11,7 +10,6 @@ import 'package:recook/manager/http_manager.dart';
import 'package:recook/models/base_model.dart';
import 'package:recook/models/scan_result_model.dart';
import 'package:recook/pages/home/barcode/qr_scaner_result_page.dart';
import 'package:recook/pages/home/classify/commodity_detail_page.dart';
import 'package:recook/widgets/custom_app_bar.dart';
import 'package:recook/widgets/custom_image_button.dart';

@ -14,7 +14,6 @@ import 'package:recook/constants/styles.dart';
import 'package:recook/manager/http_manager.dart';
import 'package:recook/models/base_model.dart';
import 'package:recook/pages/home/barcode/qr_scaner_result_page.dart';
import 'package:recook/pages/home/classify/commodity_detail_page.dart';
import 'package:recook/utils/image_utils.dart';
import 'package:recook/widgets/custom_app_bar.dart';
import 'package:recook/widgets/custom_image_button.dart';

@ -1423,9 +1423,8 @@ class _HomePageState extends BaseStoreState<HomePage>
Future<bool> requestPermission() async {
bool permission = await Permission.locationWhenInUse.isGranted;
if (!permission) {
Permission.locationWhenInUse
.request()
.then((value) => permission = value.isGranted);
await Permission.locationWhenInUse.request();
permission = await Permission.locationWhenInUse.isGranted;
}
return permission;
}

@ -87,12 +87,13 @@ class ImageUtils {
if (Platform.isAndroid) {
bool permissionStorage = await Permission.storage.isGranted;
if (!permissionStorage) {
print("❌----------has no Permission");
Permission.storage
.request()
.then((value) => permissionStorage = value.isGranted);
await Permission.storage.request();
permissionStorage = await Permission.storage.isGranted;
if (!permissionStorage) {
print("❌----------has no Permission");
return false;
}
}
return permissionStorage;
}
//
@ -104,14 +105,16 @@ class ImageUtils {
await ImageGallerySaver.saveImage(data);
if (Platform.isAndroid) {
if (result.containsValue(true)) {
callBack(i);
endBack(true);
return true;
} else {
endBack(false);
return false;
}
} else if (Platform.isIOS) {
if (result.containsValue(true)) {
callBack(i);
endBack(true);
return true;
} else {
endBack(false);
return false;
@ -141,12 +144,13 @@ class ImageUtils {
if (Platform.isAndroid) {
bool permissionStorage = await Permission.storage.isGranted;
if (!permissionStorage) {
print("❌----------has no Permission");
Permission.storage
.request()
.then((value) => permissionStorage = value.isGranted);
await Permission.storage.request();
permissionStorage = await Permission.storage.isGranted;
if (!permissionStorage) {
print("❌----------has no Permission");
return false;
}
}
return permissionStorage;
}
//
for (var i = 0; i < fileDatas.length; i++) {

@ -1,5 +1,6 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:permission_handler/permission_handler.dart';
@ -7,7 +8,8 @@ class PermissionTool {
static Future<bool> haveCameraPermission() async {
bool permission = await Permission.camera.isGranted;
if (!permission) {
Permission.camera.request().then((value) => permission = value.isGranted);
await Permission.camera.request();
permission = await Permission.camera.isGranted;
}
return permission;
}
@ -15,7 +17,8 @@ class PermissionTool {
static Future<bool> havePhotoPermission() async {
bool permission = await Permission.photos.isGranted;
if (!permission) {
Permission.photos.request().then((value) => permission = value.isGranted);
await Permission.photos.request();
permission = await Permission.photos.isGranted;
}
return permission;
}
@ -23,7 +26,8 @@ class PermissionTool {
static Future<bool> haveAudioPermission() async {
bool permission = await Permission.microphone.isGranted;
if (!permission) {
Permission.microphone.request().then((value) => permission = value.isGranted);
await Permission.microphone.request();
permission = await Permission.microphone.isGranted;
}
return permission;
}
@ -49,7 +53,9 @@ class PermissionTool {
),
CupertinoDialogAction(
child: Text("取消"),
onPressed: () {},
onPressed: () {
Get.back();
},
),
],
);

@ -15,6 +15,7 @@ import 'package:recook/widgets/cache_tab_bar_view.dart';
import 'package:recook/widgets/custom_app_bar.dart';
import 'package:recook/widgets/custom_cache_image.dart';
import 'package:recook/widgets/custom_image_button.dart';
import 'package:recook/widgets/progress/re_toast.dart';
import 'package:recook/widgets/share_page/share_invite_model.dart';
class ShareUrlPosterPage extends StatefulWidget {
@ -148,14 +149,15 @@ class _ShareUrlPosterPageState extends BaseStoreState<ShareUrlPosterPage>
height: 60,
child: CustomImageButton(
onPressed: () {
showLoading("");
var cancel = ReToast.loading();
ImageUtils.saveNetworkImagesToPhoto(
[_shareInvitaModal.data.data[_tabIndex]], (index) {}, (success) {
dismissLoading();
cancel();
Navigator.pop(context);
if (success) {
showSuccess("图片已经保存到相册!");
ReToast.success(text: '图片已保存到相册');
} else {
showError("图片保存失败...");
ReToast.err(text: '图片保存失败...');
}
});
},

Loading…
Cancel
Save