summaryrefslogtreecommitdiff
path: root/app/src/main/java/se/leap/bitmaskclient/drawer
diff options
context:
space:
mode:
authorcyBerta <cyberta@riseup.net>2019-10-11 12:08:42 +0200
committercyBerta <cyberta@riseup.net>2019-10-11 12:08:42 +0200
commit788d99b62ace71d24df1e44735d988ce475cdd42 (patch)
tree37eeb90c8856f163b32babf94787715d224e321d /app/src/main/java/se/leap/bitmaskclient/drawer
parented5c0385f9c9e7836b80eed6dda4dc798ec6c41c (diff)
Add a red hint in navigation drawer if apps are currently excluded from VPN
Diffstat (limited to 'app/src/main/java/se/leap/bitmaskclient/drawer')
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/drawer/NavigationDrawerFragment.java22
1 files changed, 22 insertions, 0 deletions
diff --git a/app/src/main/java/se/leap/bitmaskclient/drawer/NavigationDrawerFragment.java b/app/src/main/java/se/leap/bitmaskclient/drawer/NavigationDrawerFragment.java
index c0652bb1..21a25997 100644
--- a/app/src/main/java/se/leap/bitmaskclient/drawer/NavigationDrawerFragment.java
+++ b/app/src/main/java/se/leap/bitmaskclient/drawer/NavigationDrawerFragment.java
@@ -44,6 +44,8 @@ import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
+import java.util.Set;
+
import de.blinkt.openvpn.core.VpnStatus;
import se.leap.bitmaskclient.EipFragment;
import se.leap.bitmaskclient.FragmentManagerEnhanced;
@@ -57,6 +59,7 @@ import se.leap.bitmaskclient.fragments.AboutFragment;
import se.leap.bitmaskclient.fragments.AlwaysOnDialog;
import se.leap.bitmaskclient.fragments.ExcludeAppsFragment;
import se.leap.bitmaskclient.fragments.LogFragment;
+import se.leap.bitmaskclient.utils.PreferenceHelper;
import se.leap.bitmaskclient.views.IconSwitchEntry;
import se.leap.bitmaskclient.views.IconTextEntry;
@@ -315,6 +318,10 @@ public class NavigationDrawerFragment extends Fragment {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
IconTextEntry excludeApps = drawerView.findViewById(R.id.exclude_apps);
excludeApps.setVisibility(VISIBLE);
+ Set<String> apps = PreferenceHelper.getExcludedApps(this.getContext());
+ if (apps != null) {
+ updateExcludeAppsSubtitle(excludeApps, apps.size());
+ }
FragmentManagerEnhanced fragmentManager = new FragmentManagerEnhanced(getActivity().getSupportFragmentManager());
excludeApps.setOnClickListener((buttonView) -> {
closeDrawer();
@@ -525,4 +532,19 @@ public class NavigationDrawerFragment extends Fragment {
initUseBridgesEntry();
}
+ private void updateExcludeAppsSubtitle(IconTextEntry excludeApps, int number) {
+ if (number > 0) {
+ excludeApps.setSubtitle(getContext().getResources().getQuantityString(R.plurals.subtitle_exclude_apps, number, number));
+ excludeApps.setSubtitleColor(R.color.colorError);
+ } else {
+ excludeApps.hideSubtitle();
+ }
+ }
+
+ public void onAppsExcluded(int number) {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
+ IconTextEntry excludeApps = drawerView.findViewById(R.id.exclude_apps);
+ updateExcludeAppsSubtitle(excludeApps, number);
+ }
+ }
}