algo360pfm 0.2.0 copy "algo360pfm: ^0.2.0" to clipboard
algo360pfm: ^0.2.0 copied to clipboard

PlatformAndroid

Algo360 SDK extracts transactional SMS from the user’s device and provides an expense tracking dashboard which helps get an accurate picture of overall expenses in a single view.

example/lib/main.dart

import 'dart:async';
import 'dart:developer' as dev;
import 'dart:math';
import 'package:algo360pfm/algo360pfm.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

void main() {
  runApp(const MaterialApp(home: MyApp()));
}

class MyApp extends StatefulWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  final _algo360pfmPlugin = Algo360pfm();
  final navigatorKey = GlobalKey<NavigatorState>();

  @override
  void initState() {
    super.initState();
    setConfiguration();
    setTheme("LIGHT");
  }

  Future<void> setConfiguration() async {
    try {
      Random random = Random();
      var rand = random.nextInt(99999999) + 9999;
      await _algo360pfmPlugin.setConfiguration(
          "url", "$rand", "client_id", "client_secret", true);
    } on PlatformException {
      dev.log("Platform Exception");
    }
    if (!mounted) return;
  }

  Future<void> startPFM() async {
    try {
      await _algo360pfmPlugin.invokePFM();
    } on PlatformException {
      dev.log("exception");
    }

    if (!mounted) return;
  }

  Future<void> invokeSDK() async {
    try {
      await _algo360pfmPlugin.invokeSDK(1);
    } on PlatformException {
      dev.log("exception");
    }

    if (!mounted) return;
  }

  Future<void> setTheme(theme) async {
    try {
      await _algo360pfmPlugin.setTheme(theme);
    } on PlatformException {
      dev.log("exception");
    }

    if (!mounted) return;
  }

  Future<void> invokePermissionsScreen() async {
    try {
      await _algo360pfmPlugin.invokePermissionsScreen();
    } on PlatformException {
      dev.log("exception");
    }

    if (!mounted) return;
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            const Text("PFM"),
            MaterialButton(
              onPressed: () {
                startPFM();
              },
              color: Colors.blueAccent,
              child: const Text("Launch"),
            ),
            const Text("SDK"),
            MaterialButton(
              onPressed: () {
                invokeSDK();
              },
              color: Colors.blueAccent,
              child: const Text("Launch"),
            ),
          ],
        ),
      ),
    );
  }
}
1
likes
150
points
47
downloads

Publisher

unverified uploader

Weekly Downloads

Algo360 SDK extracts transactional SMS from the user’s device and provides an expense tracking dashboard which helps get an accurate picture of overall expenses in a single view.

Homepage

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

flutter, permission_handler, plugin_platform_interface

More

Packages that depend on algo360pfm