enable predicvie back

This commit is contained in:
otsmr 2025-06-15 23:51:17 +02:00
parent 6ae05fbc59
commit 214ec6b368
3 changed files with 44 additions and 38 deletions

View file

@ -5,6 +5,7 @@
android:icon="@mipmap/ic_launcher"> android:icon="@mipmap/ic_launcher">
<activity <activity
android:name=".MainActivity" android:name=".MainActivity"
android:enableOnBackInvokedCallback="true"
android:exported="true" android:exported="true"
android:launchMode="singleTop" android:launchMode="singleTop"
android:taskAffinity="" android:taskAffinity=""
@ -33,10 +34,10 @@
android:value="2" /> android:value="2" />
<service <!-- <service
android:name="com.pravera.flutter_foreground_task.service.ForegroundService" android:name="com.pravera.flutter_foreground_task.service.ForegroundService"
android:foregroundServiceType="dataSync|remoteMessaging" android:foregroundServiceType="dataSync|remoteMessaging"
android:exported="false" /> android:exported="false" /> -->
<meta-data <meta-data
android:name="eu.twonly.service.TWONLY_LOGO" android:name="eu.twonly.service.TWONLY_LOGO"

View file

@ -119,10 +119,18 @@ class _AppState extends State<App> with WidgetsBindingObserver {
], ],
onGenerateTitle: (BuildContext context) => "twonly", onGenerateTitle: (BuildContext context) => "twonly",
theme: ThemeData( theme: ThemeData(
colorScheme: colorScheme: ColorScheme.fromSeed(
ColorScheme.fromSeed(seedColor: const Color(0xFF57CC99)), seedColor: const Color(0xFF57CC99),
inputDecorationTheme: ),
const InputDecorationTheme(border: OutlineInputBorder())), pageTransitionsTheme: const PageTransitionsTheme(
builders: {
TargetPlatform.android: PredictiveBackPageTransitionsBuilder(),
},
),
inputDecorationTheme: const InputDecorationTheme(
border: OutlineInputBorder(),
),
),
darkTheme: ThemeData.dark().copyWith( darkTheme: ThemeData.dark().copyWith(
colorScheme: ColorScheme.fromSeed( colorScheme: ColorScheme.fromSeed(
brightness: Brightness.dark, brightness: Brightness.dark,

View file

@ -54,37 +54,34 @@ class PermissionHandlerViewState extends State<PermissionHandlerView> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return PopScope( return Scaffold(
onPopInvokedWithResult: (bool didPop, Object? result) async {}, body: Center(
child: Scaffold( child: Container(
body: Center( padding: EdgeInsets.all(100),
child: Container( child: Column(
padding: EdgeInsets.all(100), mainAxisAlignment: MainAxisAlignment.center,
child: Column( crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center, children: [
crossAxisAlignment: CrossAxisAlignment.center, Text(
children: [ "twonly needs access to the camera and microphone.",
Text( textAlign: TextAlign.center,
"twonly needs access to the camera and microphone.", ),
textAlign: TextAlign.center, SizedBox(height: 50),
), FilledButton.icon(
SizedBox(height: 50), label: Text("Request permissions"),
FilledButton.icon( icon: const Icon(Icons.perm_camera_mic),
label: Text("Request permissions"), onPressed: () async {
icon: const Icon(Icons.perm_camera_mic), try {
onPressed: () async { await permissionServices();
try { if (await checkPermissions()) {
await permissionServices(); widget.onSuccess();
if (await checkPermissions()) {
widget.onSuccess();
}
} catch (e) {
Log.error(e);
} }
}, } catch (e) {
), Log.error(e);
], }
), },
),
],
), ),
), ),
), ),