migração flutter 2.2.1

This commit is contained in:
Renan
2021-06-01 16:52:01 -03:00
parent c44fcdddea
commit dd6bbb650b
25 changed files with 568 additions and 469 deletions
+15 -5
View File
@@ -1,6 +1,7 @@
import 'package:advance_pdf_viewer/advance_pdf_viewer.dart';
//import 'package:advance_pdf_viewer/advance_pdf_viewer.dart';
import 'package:decpisos/pdfviewer/pdfviewer_controller.dart';
import 'package:flutter/material.dart';
import 'package:flutter_pdfview/flutter_pdfview.dart';
import 'package:get/get.dart';
class PDFViewerScreen extends StatelessWidget {
@@ -18,14 +19,23 @@ class PDFViewerScreen extends StatelessWidget {
Obx(() => c.visibleRefresh.value ? IconButton(icon: Icon(Icons.refresh), onPressed: c.refreshPDF) : Container())
],
),
// body: Obx(() => c.loading.value
// ? Center(
// child: CircularProgressIndicator(),
// )
// : c.error.value ? c.buildError() : PDFViewer(
// lazyLoad: false,
// document: c.doc,
// )),
body: Obx(() => c.loading.value
? Center(
child: CircularProgressIndicator(),
)
: c.error.value ? c.buildError() : PDFViewer(
lazyLoad: false,
document: c.doc,
)),
: c.error.value ? c.buildError() : PDFView(
filePath: c.filePDF!.path,
//nightMode: true,
fitPolicy: FitPolicy.BOTH,
)),
);
}
}
+34 -27
View File
@@ -1,8 +1,8 @@
import 'dart:io';
import 'package:flutter/foundation.dart';
import 'dart:io' as io;
import 'package:advance_pdf_viewer/advance_pdf_viewer.dart';
//import 'package:advance_pdf_viewer/advance_pdf_viewer.dart';
import 'package:decpisos/funcoes_gerais.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:path_provider/path_provider.dart';
@@ -13,8 +13,8 @@ class PDFViewerScreenController extends GetxController{
var loadPDF = false.obs;
var visibleRefresh = false.obs;
var error = false.obs;
PDFDocument doc;
File _filePDF;
//PDFDocument doc = PDFDocument();
io.File? filePDF;
@override
void onInit() {
@@ -24,27 +24,33 @@ class PDFViewerScreenController extends GetxController{
Future<void> _loadPDF() async {
var file = await this._createFileOfPdfUrl();
if(file != null && await file.exists()){
this.doc = await PDFDocument.fromFile(file);
//this.visibleRefresh.value = true;
}
else{
if(await FuncoesGerais.checkInternetConnection() == false){
this.error.value = true;
}
else{
this.doc = await PDFDocument.fromURL(FuncoesGerais.urlPDF);
}
// if(file != null && await file.exists()){
// //io.File fpdf = new io.File('${file.path}');
// this.doc = await PDFDocument.fromFile(file);
// //this.doc = await PDFDocument.fromFile(file);
// //this.visibleRefresh.value = true;
// }
// else{
// if(await FuncoesGerais.checkInternetConnection() == false){
// this.error.value = true;
// }
// else{
// this.doc = await PDFDocument.fromURL(FuncoesGerais.urlPDF);
// }
}
// }
if(file == null || await file.exists() == false){
this.error.value = true;
}
this.loading.value = false;
}
Future<void> refreshPDF() async {
this.loading.value = true;
try {
await this._filePDF.delete();
await this.filePDF!.delete();
this._loadPDF();
} catch (e) {
Get.rawSnackbar(message: 'Não possível atualizar o PDF. Tente novamente');
@@ -57,7 +63,7 @@ class PDFViewerScreenController extends GetxController{
this.loadPDF.value = true;
var file = await this._createFileOfPdfUrl();
try {
Share.shareFiles([file.path], text: 'DecCard').then((value) => this.loadPDF.value = false);
Share.shareFiles([file!.path], text: 'DecCard').then((value) => this.loadPDF.value = false);
} catch (e) {
this.loadPDF.value = false;
Get.rawSnackbar(message: 'Não foi possível compartilhar o PDF');
@@ -65,16 +71,16 @@ class PDFViewerScreenController extends GetxController{
}
Future<File> _createFileOfPdfUrl() async {
Future<io.File?> _createFileOfPdfUrl() async {
final url = FuncoesGerais.urlPDF;
File file;
io.File? file;
//f.File file2;
final filename = url.substring(url.lastIndexOf("/") + 1);
String dir = (await getApplicationDocumentsDirectory()).path;
file = new File('$dir/$filename');
file = io.File('$dir/$filename');
if(!await file.exists()){
if(await FuncoesGerais.checkInternetConnection()){
var request = await HttpClient().getUrl(Uri.parse(url));
var request = await io.HttpClient().getUrl(Uri.parse(url));
var response = await request.close();
var bytes = await consolidateHttpClientResponseBytes(response);
await file.writeAsBytes(bytes);
@@ -83,8 +89,8 @@ class PDFViewerScreenController extends GetxController{
file = null;
}
}
this._filePDF = file;
if(this._filePDF != null) this.visibleRefresh.value = await this._filePDF.exists();
this.filePDF = file;
if(this.filePDF != null) this.visibleRefresh.value = await this.filePDF!.exists();
return file;
}
@@ -98,7 +104,8 @@ class PDFViewerScreenController extends GetxController{
children: [
Text('Não foi possível carregar o PDF'),
SizedBox(height: 10.0,),
RaisedButton(onPressed: this.refreshPDF,child: Text('Atualizar'),)
ElevatedButton(onPressed: this.refreshPDF,child: Text('Atualizar'))
//RaisedButton(onPressed: this.refreshPDF,child: Text('Atualizar'),)
],
),
);