|
- import 'dart:io';
-
- import 'package:dio/dio.dart';
- import 'package:farm_tpf/data/repository/user_repository.dart';
- import 'package:farm_tpf/main.dart';
- import 'package:farm_tpf/presentation/screens/actions/plant/sc_plant.dart';
- import 'package:farm_tpf/presentation/screens/plot/sc_plot.dart';
- import 'package:farm_tpf/presentation/screens/plot_detail/sc_plot_detail.dart';
- import 'package:farm_tpf/presentation/screens/resources/sc_resource_helper.dart';
- import 'package:farm_tpf/utils/const_common.dart';
- import 'package:farm_tpf/utils/pref.dart';
- import 'package:firebase_messaging/firebase_messaging.dart';
- import 'package:flutter/material.dart';
-
- class HomePage extends StatefulWidget {
- static Route route() {
- return MaterialPageRoute<void>(builder: (_) => HomePage());
- }
-
- @override
- _HomePageState createState() => _HomePageState();
- }
-
- class _HomePageState extends State<HomePage> {
- UserRepository _userRepository = UserRepository();
- final FirebaseMessaging _firebaseMessaging = FirebaseMessaging();
- var pref = LocalPref();
- var token;
- var client;
- String pushkey = "";
- Future<Null> getSharedPrefs() async {
- token = await pref.getString(DATA_CONST.TOKEN_KEY);
- pushkey = await pref.getString(DATA_CONST.PUSH_KEY);
- var options = BaseOptions(baseUrl: ConstCommon.baseUrl);
- options.headers["Authorization"] = "Bearer $token";
- client = Dio(options);
- if (Platform.isIOS) {
- _firebaseMessaging
- .requestNotificationPermissions(IosNotificationSettings());
- }
- _firebaseMessaging.configure(
- onMessage: (Map<String, dynamic> message) async {
- print("onMessage: $message");
- },
- onBackgroundMessage: Platform.isIOS ? null : myBackgroundMessageHandler,
- onLaunch: (Map<String, dynamic> message) async {
- print("onLaunch: $message");
- },
- onResume: (Map<String, dynamic> message) async {
- print("onResume: $message");
- },
- );
- _firebaseMessaging.requestNotificationPermissions(
- const IosNotificationSettings(
- sound: true, badge: true, alert: true, provisional: true));
- _firebaseMessaging.onIosSettingsRegistered
- .listen((IosNotificationSettings settings) {
- print("Settings registered: $settings");
- });
- if (pushkey?.isEmpty ?? true) {
- _firebaseMessaging.getToken().then((String token) {
- assert(token != null);
- print("Push Messaging token: $token");
- _userRepository.updateFcmToken(token).then((value) {
- print("send push key successful");
- pref.saveString(DATA_CONST.PUSH_KEY, token);
- });
- // client.put("");
- });
- } else {
- print("Don't need get push key");
- }
- }
-
- @override
- void initState() {
- super.initState();
- getSharedPrefs();
- }
-
- @override
- Widget build(BuildContext context) {
- return Scaffold(
- appBar: AppBar(title: const Text('Home')),
- body: Center(
- child: Column(
- mainAxisSize: MainAxisSize.min,
- children: <Widget>[
- Text("logged in."),
- MaterialButton(
- child: Text("Plant action"),
- onPressed: () {
- Navigator.of(context).push(
- MaterialPageRoute(builder: (_) => ActionPlantScreen()));
- }),
- MaterialButton(
- child: Text("Chi tiết lô"),
- onPressed: () {
- Navigator.of(context).push(MaterialPageRoute(
- builder: (_) => PlotDetailScreen(
- cropId: 1,
- )));
- }),
- MaterialButton(
- child: Text("Danh sách lô"),
- onPressed: () {
- Navigator.of(context).push(
- MaterialPageRoute(builder: (_) => PlotListScreen()));
- }),
- MaterialButton(
- child: Text("ResourceHelperScreen"),
- onPressed: () {
- Navigator.of(context)
- .push(MaterialPageRoute(
- builder: (_) => ResourceHelperScreen(
- titleName: "phân bón",
- type: ConstCommon.supplyTypeDung,
- selectedId: 3,
- ),
- fullscreenDialog: false))
- .then((value) {
- if (value != null) {
- print("Home: $value");
- }
- });
- }),
- ],
- ),
- ),
- );
- }
- }
|