From 0022b01b34a290b27f859f3e8e231d504d473898 Mon Sep 17 00:00:00 2001 From: cyBerta Date: Wed, 30 Aug 2023 18:56:42 +0200 Subject: fix notification permission handling, also covering the case of an app update for which the user has a provider already configured and only needs to give the lacking permissions --- .../providersetup/SetupViewPagerAdapter.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'app/src/main/java/se/leap/bitmaskclient/providersetup/SetupViewPagerAdapter.java') diff --git a/app/src/main/java/se/leap/bitmaskclient/providersetup/SetupViewPagerAdapter.java b/app/src/main/java/se/leap/bitmaskclient/providersetup/SetupViewPagerAdapter.java index 39122572..a4a8fabd 100644 --- a/app/src/main/java/se/leap/bitmaskclient/providersetup/SetupViewPagerAdapter.java +++ b/app/src/main/java/se/leap/bitmaskclient/providersetup/SetupViewPagerAdapter.java @@ -1,9 +1,13 @@ package se.leap.bitmaskclient.providersetup; -import static se.leap.bitmaskclient.providersetup.fragments.SetupFragmentFactory.*; import static se.leap.bitmaskclient.providersetup.fragments.SetupFragmentFactory.CIRCUMVENTION_SETUP_FRAGMENT; import static se.leap.bitmaskclient.providersetup.fragments.SetupFragmentFactory.CONFIGURE_PROVIDER_FRAGMENT; +import static se.leap.bitmaskclient.providersetup.fragments.SetupFragmentFactory.NOTIFICATION_PERMISSON_EDUCATIONAL_FRAGMENT; +import static se.leap.bitmaskclient.providersetup.fragments.SetupFragmentFactory.NOTIFICATION_PERMISSON_FRAGMENT; import static se.leap.bitmaskclient.providersetup.fragments.SetupFragmentFactory.PROVIDER_SELECTION_FRAGMENT; +import static se.leap.bitmaskclient.providersetup.fragments.SetupFragmentFactory.SUCCESS_FRAGMENT; +import static se.leap.bitmaskclient.providersetup.fragments.SetupFragmentFactory.VPN_PERMISSON_EDUCATIONAL_FRAGMENT; +import static se.leap.bitmaskclient.providersetup.fragments.SetupFragmentFactory.VPN_PERMISSON_FRAGMENT; import android.content.Intent; @@ -25,12 +29,15 @@ public class SetupViewPagerAdapter extends FragmentStateAdapter { super(fragmentManager, lifecycle); } - public SetupViewPagerAdapter(@NonNull FragmentManager fragmentManager, @NonNull Lifecycle lifecycle, Intent vpnPermissionRequest, Boolean showNotificationPermission) { + public SetupViewPagerAdapter(@NonNull FragmentManager fragmentManager, @NonNull Lifecycle lifecycle, boolean providerSetup, Intent vpnPermissionRequest, Boolean showNotificationPermission) { this(fragmentManager, lifecycle); ArrayList fragments = new ArrayList<>(); - fragments.add(PROVIDER_SELECTION_FRAGMENT); - fragments.add(CIRCUMVENTION_SETUP_FRAGMENT); - fragments.add(CONFIGURE_PROVIDER_FRAGMENT); + if (providerSetup) { + fragments.add(PROVIDER_SELECTION_FRAGMENT); + fragments.add(CIRCUMVENTION_SETUP_FRAGMENT); + fragments.add(CONFIGURE_PROVIDER_FRAGMENT); + } + if (vpnPermissionRequest != null) { fragments.add(VPN_PERMISSON_EDUCATIONAL_FRAGMENT); fragments.add(VPN_PERMISSON_FRAGMENT); -- cgit v1.2.3