import 'dart:async';
import 'package:flutter/material.dart';
import 'package:flutter_webview_plugin/flutter_webview_plugin.dart';
import 'package:lg_listening/lg_dashboard/LgDashboardPage.dart';
import 'package:lg_listening/lg_dashboard/utils/app_shared_preferences.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:url_launcher/url_launcher.dart';
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;
@override
NewWeb createState() => NewWeb();
}
class NewWeb extends State<MyHomePage> {
String userId="";
String userName="";
String userType="";
String userDeptCode="";
String UserDeptdes="";
String userMinid="";
String userRepId="";
String Userflag="";
String UserLaid="";
String userMPMid="";
String userTypeCat="";
String Userlmpflag="";
String userDivid="";
String UserSubdivid="";
String userCheckId="";
String userIds ;
String userTypes ;
String userRepIds ;
String userMPMids ;
String userDeptCodes ;
String userTypeCats ;
String userDivids;
String userCheckIds ;
String userMinids ;
String selectedUrl;
//String url = 'http://listeningpostdelhilg.in/AuPages/DashBoard/PendencyAgeWiseMobileApp.aspx?Q_usertype=4&Q_repoffid=0&Q_mpmlaid=&Q_Deptcode=92&Q_UserTypeCat=&Q_divid=&Q_chk_checked=&Q_minid=0&Q_userid=hodrev&Q_Secretkey=QXl1c2hQcmF2ZWVuTWFuaW5kcmFOaWNAMTIz';
final webview = FlutterWebviewPlugin();
StreamSubscription<String> _onWebViewUrlChanged;
@override
void dispose() {
// TODO: implement dispose
webview.dispose();
super.dispose();
}
@override
void initState() {
super.initState();
_getUserPreferenceData();
_onWebViewUrlChanged = FlutterWebviewPlugin().onUrlChanged.listen((String url) {
if (url.contains('.pdf')) {
launchURL(url);
}
});
// webview.close();
// TODO: implement initState
}
Future _getUserPreferenceData() async {
userId = await PreferenceHelper.getUSERID();
userType = await PreferenceHelper.getUserType();
userRepId = await PreferenceHelper.getUSERREPID();
userMPMid = await PreferenceHelper.getUSERMPMID();
userDeptCode = await PreferenceHelper.getUSERDEPTCODE();
userTypeCat = await PreferenceHelper.getUSERTYPECAT();
userDivid = await PreferenceHelper.getUSERDIVID();
userCheckId = await PreferenceHelper.getUSERCHECKED();
userMinid = await PreferenceHelper.getUSERMINID();
setState(() {
selectedUrl = 'http://AuPages/DashBoard/PendencyAgeWiseMobileApp.aspx?Q_usertype=$userType&Q_repoffid=$userRepId&Q_mpmlaid=$userMPMid&Q_Deptcode=$userDeptCode&Q_UserTypeCat=$userTypeCat&Q_divid=$userDivid&Q_chk_checked=&Q_minid=$userMinid&Q_userid=$userId&Q_Secretkey=QXl1c2hQcmF2ZWVuTWFuaW5kcmFOaWNAMTIz';
});
}
// selected URL : http://listeningpostdelhilg.in/lgservice.asmx/PendencyAgeWiseMobileApp?
@override
Widget build(BuildContext context) {
// TODO: implement build
return Scaffold(
appBar: AppBar(
title: Text(" Dashboard"),
),
body: Container(
child: selectedUrl == ""
? Center(
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
CircularProgressIndicator(
valueColor: AlwaysStoppedAnimation(Colors.blue),
strokeWidth: 5.0)
],
),
)
: WebviewScaffold(
url: selectedUrl,
// url: 'http://listeningpostdelhilg.in/AuPages/DashBoard/PendencyAgeWiseMobileApp.aspx?Q_usertype=4&Q_repoffid=0&Q_mpmlaid=&Q_Deptcode=92&Q_UserTypeCat=&Q_divid=&Q_chk_checked=&Q_minid=0&Q_userid=hodrev&Q_Secretkey=QXl1c2hQcmF2ZWVuTWFuaW5kcmFOaWNAMTIz',
withJavascript: true,
withLocalStorage: true,
withZoom: true,
appCacheEnabled: true,
clearCookies: true,
clearCache: true,
allowFileURLs: true,
initialChild: Container(
color: Colors.white,
child: const Center(
child: Text(
'Loading......',
style: TextStyle(color: Colors.black),
),
),
),
),
),
);
return null;
}
void launchURL(String url) async {
if (await canLaunch(url)) {
await launch(url);
} else {
throw 'Could not launch $url';
}
}
}