|
@@ -58,6 +58,7 @@ import com.google.gson.Gson;
|
|
|
import com.google.gson.reflect.TypeToken;
|
|
|
import com.vpn.fastestvpnservice.MainActivity;
|
|
|
import com.vpn.fastestvpnservice.R;
|
|
|
+import com.vpn.fastestvpnservice.beans.TvDisableApps;
|
|
|
import com.vpn.fastestvpnservice.beans.TvEnableApps;
|
|
|
import com.vpn.fastestvpnservice.constants.AppConstant;
|
|
|
import com.vpn.fastestvpnservice.constants.AppEnum;
|
|
@@ -268,8 +269,14 @@ public class CharonVpnService extends VpnService implements Runnable, VpnStateSe
|
|
|
ArrayList<TvEnableApps> listEnable = new ArrayList<TvEnableApps>();
|
|
|
listEnable = sessionManager.getEnableTvAppsSplit();
|
|
|
|
|
|
- if (listEnable != null)
|
|
|
+ ArrayList<TvDisableApps> listDisable = new ArrayList<TvDisableApps>();
|
|
|
+ listDisable = sessionManager.getDisableTvAppsSplit();
|
|
|
+
|
|
|
+
|
|
|
+ if (listEnable != null && !listEnable.isEmpty())
|
|
|
{
|
|
|
+ Log.d("CharonVpnService", "size = " + listEnable.size());
|
|
|
+ Log.d("CharonVpnService", "listEnable != null");
|
|
|
profile.setSplitTunneling(VpnProfile.SPLIT_TUNNELING_BLOCK_IPV4);
|
|
|
profile.setSelectedAppsHandling(SelectedAppsHandling.SELECTED_APPS_ONLY);
|
|
|
|
|
@@ -279,7 +286,24 @@ public class CharonVpnService extends VpnService implements Runnable, VpnStateSe
|
|
|
appPackageName.add(listEnable.get(i).getAppPackageName());
|
|
|
}
|
|
|
|
|
|
- if (appPackageName.size() > 0) {
|
|
|
+ if (!appPackageName.isEmpty()) {
|
|
|
+ profile.setSelectedApps(appPackageName);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if (listDisable != null && !listDisable.isEmpty())
|
|
|
+ {
|
|
|
+ Log.d("CharonVpnService", "size = " + listDisable.size());
|
|
|
+ Log.d("CharonVpnService", "listDisable != null");
|
|
|
+ profile.setSplitTunneling(VpnProfile.SPLIT_TUNNELING_BLOCK_IPV4);
|
|
|
+ profile.setSelectedAppsHandling(SelectedAppsHandling.SELECTED_APPS_EXCLUDE);
|
|
|
+
|
|
|
+ SortedSet<String> appPackageName = new TreeSet<>();
|
|
|
+ for (int i=0; i<listDisable.size(); i++)
|
|
|
+ {
|
|
|
+ appPackageName.add(listDisable.get(i).getAppPackageName());
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!appPackageName.isEmpty()) {
|
|
|
profile.setSelectedApps(appPackageName);
|
|
|
}
|
|
|
}
|
|
@@ -319,9 +343,6 @@ public class CharonVpnService extends VpnService implements Runnable, VpnStateSe
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
// if (sessionManager.isSplitTunnelEnabled()) {
|
|
|
// profile.setSplitTunneling(VpnProfile.SPLIT_TUNNELING_BLOCK_IPV4);
|
|
|
// profile.setSelectedAppsHandling(SelectedAppsHandling.SELECTED_APPS_ONLY);
|