juice_permissions 0.3.0 copy "juice_permissions: ^0.3.0" to clipboard
juice_permissions: ^0.3.0 copied to clipboard

Runtime permission grant-state as a Juice bloc — request, check, and react to permissions behind a swappable provider seam.

example/lib/main.dart

import 'package:juice/juice.dart';
import 'package:juice_permissions/juice_permissions.dart';

import 'demo_permission_provider.dart';
import 'home_screen.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();

  // Demo provider so the app runs with no device/OS prompts. Swap for
  // PermissionsConfig() (default PermissionHandlerProvider) in a real app.
  BlocScope.register<PermissionsBloc>(
    () => PermissionsBloc.withConfig(
      PermissionsConfig(
        provider: DemoPermissionProvider(
          denyPermanently: {JuicePermission.notification},
        ),
      ),
    ),
    lifecycle: BlocLifecycle.permanent,
  );

  runApp(const DemoApp());
}

class DemoApp extends StatelessWidget {
  const DemoApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'juice_permissions demo',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.indigo),
        useMaterial3: true,
      ),
      home: HomeScreen(),
    );
  }
}
0
likes
140
points
38
downloads

Documentation

Documentation
API reference

Publisher

unverified uploader

Weekly Downloads

Runtime permission grant-state as a Juice bloc — request, check, and react to permissions behind a swappable provider seam.

Homepage
Repository (GitHub)
View/report issues
Contributing

Topics

#permissions #bloc #state-management #platform #runtime-permissions

Funding

Consider supporting this project:

github.com

License

MIT (license)

Dependencies

flutter, juice, permission_handler

More

Packages that depend on juice_permissions