Merge pull request #362 from ente-io/transition-to-grand-permission-screen
Transition to grand permission screen fix
This commit is contained in:
commit
88ec312350
|
@ -191,7 +191,7 @@ class _BackupFolderSelectionPageState extends State<BackupFolderSelectionPage> {
|
|||
),
|
||||
),
|
||||
)
|
||||
: Container(),
|
||||
: const SizedBox.shrink(),
|
||||
],
|
||||
),
|
||||
],
|
||||
|
|
|
@ -168,7 +168,24 @@ class _HomeWidgetState extends State<HomeWidget> {
|
|||
Bus.instance.on<SyncStatusUpdate>().listen((event) async {
|
||||
if (mounted &&
|
||||
event.status == SyncStatus.completed_first_gallery_import) {
|
||||
setState(() {});
|
||||
Duration delayInRefresh = Duration(milliseconds: 0);
|
||||
// Loading page will redirect to BackupFolderSelectionPage.
|
||||
// To avoid showing folder hook in middle during routing,
|
||||
// delay state refresh for home page
|
||||
if (!LocalSyncService.instance.hasGrantedLimitedPermissions()) {
|
||||
delayInRefresh = Duration(milliseconds: 250);
|
||||
}
|
||||
Future.delayed(
|
||||
delayInRefresh,
|
||||
() => {
|
||||
if (mounted)
|
||||
{
|
||||
setState(
|
||||
() {},
|
||||
)
|
||||
}
|
||||
},
|
||||
);
|
||||
}
|
||||
});
|
||||
_backupFoldersUpdatedEvent =
|
||||
|
|
|
@ -4,6 +4,7 @@ import 'package:photos/core/configuration.dart';
|
|||
import 'package:photos/core/event_bus.dart';
|
||||
import 'package:photos/events/subscription_purchased_event.dart';
|
||||
import 'package:photos/ui/common/dynamicFAB.dart';
|
||||
import 'package:photos/ui/home_widget.dart';
|
||||
import 'package:photos/ui/recovery_page.dart';
|
||||
import 'package:photos/utils/dialog_util.dart';
|
||||
|
||||
|
@ -76,7 +77,14 @@ class _PasswordReentryPageState extends State<PasswordReentryPage> {
|
|||
}
|
||||
await dialog.hide();
|
||||
Bus.instance.fire(SubscriptionPurchasedEvent());
|
||||
Navigator.of(context).popUntil((route) => route.isFirst);
|
||||
Navigator.of(context).pushAndRemoveUntil(
|
||||
MaterialPageRoute(
|
||||
builder: (BuildContext context) {
|
||||
return HomeWidget();
|
||||
},
|
||||
),
|
||||
(route) => false,
|
||||
);
|
||||
},
|
||||
),
|
||||
floatingActionButtonLocation: fabLocation(),
|
||||
|
|
|
@ -4,6 +4,7 @@ import 'package:photos/events/subscription_purchased_event.dart';
|
|||
import 'package:photos/models/billing_plan.dart';
|
||||
import 'package:photos/models/subscription.dart';
|
||||
import 'package:photos/services/billing_service.dart';
|
||||
import 'package:photos/ui/home_widget.dart';
|
||||
|
||||
class SkipSubscriptionWidget extends StatelessWidget {
|
||||
const SkipSubscriptionWidget({
|
||||
|
@ -31,7 +32,14 @@ class SkipSubscriptionWidget extends StatelessWidget {
|
|||
),
|
||||
onPressed: () async {
|
||||
Bus.instance.fire(SubscriptionPurchasedEvent());
|
||||
Navigator.of(context).popUntil((route) => route.isFirst);
|
||||
Navigator.of(context).pushAndRemoveUntil(
|
||||
MaterialPageRoute(
|
||||
builder: (BuildContext context) {
|
||||
return HomeWidget();
|
||||
},
|
||||
),
|
||||
(route) => false,
|
||||
);
|
||||
BillingService.instance
|
||||
.verifySubscription(kFreeProductID, "", paymentProvider: "ente");
|
||||
},
|
||||
|
|
Loading…
Reference in a new issue