Untitled
unknown
plain_text
3 years ago
5.0 kB
8
Indexable
/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright (C) 2019 Rich Design - All Rights Reserved
* Unauthorized copying of this file, via any medium is strictly prohibited
* Proprietary and confidential.
*
* Written by Rich Design <info@designsrich.com>, August 2019
*
*/
import 'dart:async';
import 'dart:io';
import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:flutter/material.dart';
import 'package:flutter_webview_pro/webview_flutter.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:webview_cookie_manager/webview_cookie_manager.dart';
import 'main.dart';
class HomePageFullState extends StatefulWidget {
@override
_HomePageFullStateState createState() => _HomePageFullStateState();
}
const kAndroidUserAgent =
'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Mobile Safari/537.36';
class _HomePageFullStateState extends State<HomePageFullState> {
WebViewController webViewController;
String selectedUrl = 'https://mobil.bakneyaptik.com/home.html';
final Completer<WebViewController> _controller = Completer<WebViewController>();
// ignore: prefer_collection_literals
final Set<JavascriptChannel> jsChannels = [
JavascriptChannel(
name: 'Print',
onMessageReceived: (JavascriptMessage message) {
print(message.message);
}),
].toSet();
final cookieManager = WebviewCookieManager();
@override
void initState() {
super.initState();
if (Platform.isAndroid) WebView.platform = AndroidWebView();
}
@override
void dispose() {
super.dispose();
}
Future<void> _handleBack() async {
var status = await webViewController.canGoBack();
if (status) {
webViewController.goBack();
}
}
@override
Widget build(BuildContext context) {
return WillPopScope(
onWillPop: () => _handleBack(),
child: SafeArea(
child: Container(
decoration: new BoxDecoration(color: Colors.white),
child: WebView(
javascriptMode: JavascriptMode.unrestricted,
javascriptChannels: jsChannels,
initialUrl: selectedUrl,
onProgress: (test){
print('GELENN -- ${test}');
run();
},
onWebViewCreated: (WebViewController webViewController2) {
webViewController = webViewController2;
_controller.complete(webViewController2);
},
),
),
),
);
}
Future<void> cameraStorageRequestPermission() async {
SharedPreferences sharedPreferences = await SharedPreferences.getInstance();
if(!sharedPreferences.containsKey("permissionStorage")){
PermissionStatus permissionData = await Permission.storage.request();
await Permission.camera.request();
if(permissionData.isGranted){
sharedPreferences.setString("permissionStorage", "yes");
}
}
}
Future run() async {
bool statusLogin = false;
String userId ="";
try{
final gotCookies = await cookieManager.getCookies('https://mobil.bakneyaptik.com');
for (var item in gotCookies) {
if(item.name.compareTo("userId")==0){
statusLogin = true;
userId = item.value;
}
print("**** --- - ********* Name: ${item.name} -- Value: ${item.value}");
}
if(statusLogin){
print('EVET LOGIN OLUNMUŞŞŞŞŞŞŞŞŞ');
print('gelen user ** ${userId}');
if(!loginUserController){
SharedPreferences sharedPreferences = await SharedPreferences.getInstance();
sharedPreferences.setString("username", userId);
FirebaseMessaging.instance.subscribeToTopic(userId);
loginUserController = true;
cameraStorageRequestPermission();
print('LOGİN OLDUM KANALA ABONEEE');
}
}else{
SharedPreferences sharedPreferences = await SharedPreferences.getInstance();
try{
if (sharedPreferences.containsKey("username")) {
String getUserName = sharedPreferences.getString("username");
FirebaseMessaging.instance.unsubscribeFromTopic(getUserName);
sharedPreferences.remove("username");
print('ÇIKIŞ YAPTIM ABONELİK YOKKKK');
loginUserController = false;
}
}catch(e){
String getUserName = sharedPreferences.getString("username");
FirebaseMessaging.instance.unsubscribeFromTopic(getUserName);
sharedPreferences.remove("username");
loginUserController = false;
}
print('HAYIR LOGIN OLMAMIŞ BU ADAMMM');
}
}catch(e){
}
}
}
Editor is loading...