Merge pull request #362 from ente-io/transition-to-grand-permission-screen

Transition to grand permission screen fix
This commit is contained in:
Neeraj Gupta 2022-06-28 20:01:27 +05:30 committed by GitHub
commit 88ec312350
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 37 additions and 4 deletions

View file

@ -191,7 +191,7 @@ class _BackupFolderSelectionPageState extends State<BackupFolderSelectionPage> {
),
),
)
: Container(),
: const SizedBox.shrink(),
],
),
],

View file

@ -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 =

View file

@ -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(),

View file

@ -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");
},