Untitled
unknown
plain_text
2 years ago
5.0 kB
4
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...