build_value_navigation_saver 0.3.3
build_value_navigation_saver: ^0.3.3

Flutter Android iOS

This library is a helper library for converting routes with arguments to a string.

example/lib/main.dart

import 'dart:convert';

import 'package:build_value_navigation_saver/navigation_saver_routes_info.dart';
import 'package:example/home/home_page.dart';
import 'package:example/home/home_page_arguments.dart';
import 'package:flutter/material.dart';
import 'package:navigation_saver/navigation_saver.dart';
import 'package:shared_pref_navigation_saver/shared_pref_navigation_saver.dart';

import 'serializers.dart';

void main() {
  final NavigationSaver _navigatorSaver = SharedPrefNavigationSaver(
    (Iterable<RouteSettings> routes) async =>
        json.encode(serializeRoutes(serializers, routes)),
    (String routesAsString) async =>
        deserializeRoutes(serializers, json.decode(routesAsString)),
  );

  runApp(MyApp(_navigatorSaver));
}

class MyApp extends StatelessWidget {
  MyApp(this._navigationSaver);

  final NavigationSaver _navigationSaver;

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      initialRoute: NavigationSaver.restoreRouteName,
      onGenerateRoute: (RouteSettings routeSettings) =>
          _navigationSaver.onGenerateRoute(
        routeSettings,
        (
          RouteSettings settings, {
          NextPageInfo nextPageInfo,
        }) =>
            MaterialPageRoute(
          builder: (BuildContext context) => MyHomePage(
            initialCounter: settings.arguments is MyHomePageArguments
                ? (settings.arguments as MyHomePageArguments).deepIndex
                : 0,
            nextPageInfo: nextPageInfo,
          ),
          settings: routeSettings,
        ),
      ),
      navigatorObservers: [_navigationSaver],
    );
  }
}
2
likes
90
pub points
0%
popularity

Publisher

scal.io

This library is a helper library for converting routes with arguments to a string.

Homepage
Repository (GitHub)
View/report issues

Documentation

Documentation
API reference

License

BSD (LICENSE)

Dependencies

built_collection, built_value, flutter, navigation_saver

More

Packages that depend on build_value_navigation_saver