Protótipo Vilacorp
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
//import 'package:advance_pdf_viewer/advance_pdf_viewer.dart';
|
||||
import 'package:decpisos/pdfviewer/pdfviewer_controller.dart';
|
||||
import 'package:vilacorp/pdfviewer/pdfviewer_controller.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_pdfview/flutter_pdfview.dart';
|
||||
import 'package:get/get.dart';
|
||||
@@ -10,13 +10,17 @@ class PDFViewerScreen extends StatelessWidget {
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: AppBar(
|
||||
title: Text('DecCard'),
|
||||
title: Text('Vilacorp card'),
|
||||
centerTitle: false,
|
||||
leading: Container(),
|
||||
leadingWidth: 0,
|
||||
actions: [
|
||||
Obx(() => c.loadPDF.value ? Center(child: CircularProgressIndicator()) : IconButton(icon: Icon(Icons.share), onPressed: c.sharePDF)),
|
||||
Obx(() => c.visibleRefresh.value ? IconButton(icon: Icon(Icons.refresh), onPressed: c.refreshPDF) : Container())
|
||||
Obx(() => c.loadPDF.value
|
||||
? Center(child: CircularProgressIndicator())
|
||||
: IconButton(icon: Icon(Icons.share), onPressed: c.sharePDF)),
|
||||
Obx(() => c.visibleRefresh.value
|
||||
? IconButton(icon: Icon(Icons.refresh), onPressed: c.refreshPDF)
|
||||
: Container())
|
||||
],
|
||||
),
|
||||
// body: Obx(() => c.loading.value
|
||||
@@ -31,11 +35,13 @@ class PDFViewerScreen extends StatelessWidget {
|
||||
? Center(
|
||||
child: CircularProgressIndicator(),
|
||||
)
|
||||
: c.error.value ? c.buildError() : PDFView(
|
||||
filePath: c.filePDF!.path,
|
||||
//nightMode: true,
|
||||
fitPolicy: FitPolicy.BOTH,
|
||||
)),
|
||||
: c.error.value
|
||||
? c.buildError()
|
||||
: PDFView(
|
||||
filePath: c.filePDF!.path,
|
||||
//nightMode: true,
|
||||
fitPolicy: FitPolicy.BOTH,
|
||||
)),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
import 'dart:io' as io;
|
||||
|
||||
//import 'package:advance_pdf_viewer/advance_pdf_viewer.dart';
|
||||
import 'package:decpisos/funcoes_gerais.dart';
|
||||
import 'package:vilacorp/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';
|
||||
import 'package:share/share.dart';
|
||||
|
||||
class PDFViewerScreenController extends GetxController{
|
||||
class PDFViewerScreenController extends GetxController {
|
||||
var loading = true.obs;
|
||||
var loadPDF = false.obs;
|
||||
var visibleRefresh = false.obs;
|
||||
@@ -29,7 +29,7 @@ class PDFViewerScreenController extends GetxController{
|
||||
// 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;
|
||||
@@ -37,10 +37,10 @@ class PDFViewerScreenController extends GetxController{
|
||||
// else{
|
||||
// this.doc = await PDFDocument.fromURL(FuncoesGerais.urlPDF);
|
||||
// }
|
||||
|
||||
// }
|
||||
|
||||
if(file == null || await file.exists() == false){
|
||||
|
||||
// }
|
||||
|
||||
if (file == null || await file.exists() == false) {
|
||||
this.error.value = true;
|
||||
}
|
||||
|
||||
@@ -63,13 +63,13 @@ 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: 'Vilacorp card')
|
||||
.then((value) => this.loadPDF.value = false);
|
||||
} catch (e) {
|
||||
this.loadPDF.value = false;
|
||||
Get.rawSnackbar(message: 'Não foi possível compartilhar o PDF');
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Future<io.File?> _createFileOfPdfUrl() async {
|
||||
final url = FuncoesGerais.urlPDF;
|
||||
@@ -78,24 +78,24 @@ class PDFViewerScreenController extends GetxController{
|
||||
final filename = url.substring(url.lastIndexOf("/") + 1);
|
||||
String dir = (await getApplicationDocumentsDirectory()).path;
|
||||
file = io.File('$dir/$filename');
|
||||
if(!await file.exists()){
|
||||
if(await FuncoesGerais.checkInternetConnection()){
|
||||
if (!await file.exists()) {
|
||||
if (await FuncoesGerais.checkInternetConnection()) {
|
||||
var request = await io.HttpClient().getUrl(Uri.parse(url));
|
||||
var response = await request.close();
|
||||
var bytes = await consolidateHttpClientResponseBytes(response);
|
||||
await file.writeAsBytes(bytes);
|
||||
}
|
||||
else{
|
||||
} else {
|
||||
file = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
this.filePDF = file;
|
||||
if(this.filePDF != null) this.visibleRefresh.value = await this.filePDF!.exists();
|
||||
if (this.filePDF != null)
|
||||
this.visibleRefresh.value = await this.filePDF!.exists();
|
||||
|
||||
return file;
|
||||
}
|
||||
}
|
||||
|
||||
Widget buildError(){
|
||||
Widget buildError() {
|
||||
return Container(
|
||||
width: double.maxFinite,
|
||||
child: Column(
|
||||
@@ -103,11 +103,13 @@ class PDFViewerScreenController extends GetxController{
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
Text('Não foi possível carregar o PDF'),
|
||||
SizedBox(height: 10.0,),
|
||||
ElevatedButton(onPressed: this.refreshPDF,child: Text('Atualizar'))
|
||||
SizedBox(
|
||||
height: 10.0,
|
||||
),
|
||||
ElevatedButton(onPressed: this.refreshPDF, child: Text('Atualizar'))
|
||||
//RaisedButton(onPressed: this.refreshPDF,child: Text('Atualizar'),)
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user