WallPaper_ZZH_Flutter/wallpaper/lib/pages/localimgscanpage/localimgscanpage_controller.dart
2024-05-17 15:37:32 +08:00

80 lines
2.1 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_easyloading/flutter_easyloading.dart';
import 'package:get/get.dart';
import 'package:wallpaper/models/imgnetodel.dart';
import 'package:wallpaper/utils/dbmanager.dart';
import 'package:wallpaper/utils/downloadmanager.dart';
import 'dart:async';
import 'dart:io';
import 'package:wallpaper/utils/local_img_manager.dart';
class LocalImgScanPageController extends GetxController {
// late LocalImageInfo dataModel;
var dataModel = <LocalImageInfo>[].obs;
RxInt currentIndex = RxInt(0);
RxInt showAppbar = RxInt(0);//控制appbar显示....
late final PageController pcontroller;
Timer? _timer;
var isAndroid = Platform.isAndroid;
var albumPermisonisDenied = false.obs;
// var localDir = RxString(DBManager.localDir);
var localDir = "";
@override
void onInit() {
super.onInit();
currentIndex.value = Get.arguments["index"];
dataModel.value = Get.arguments["dataItems"];
pcontroller = PageController(initialPage: currentIndex.value);
}
@override
void onReady() async {
// TODO: implement onReady
super.onReady();
localDir = await LocalImgManager.getImgLocalDir();
refresh();
}
@override
void onClose() {
cancelTimer();
super.onClose();
}
void cancelTimer() {
if (_timer != null) {
_timer!.cancel();
_timer = null;
}
}
Future < void> saveImgToAlbum() async {
String imgUrl = '$localDir/${dataModel[currentIndex.value].localUrl!}';
await DownloadManager.saveLocalImage(imgUrl);
//给结果提示框
EasyLoading.showToast("已保存至相册");
}
void showAppbarAction(){
showAppbar.value = 1;
cancelTimer();
const oneSec = Duration(seconds: 3);
_timer = Timer.periodic(oneSec, (Timer timer) {
timer.cancel();
_timer = null;
showAppbar.value = 0;
});
}
Future <void> setWallpaper() async {
String imgUrl = '$localDir/${dataModel[currentIndex.value].localUrl!}';
await DownloadManager.setWallpaperNative(imgUrl);
EasyLoading.showToast("壁纸设置成功");
}
}