| 
					
				 | 
			
			
				@@ -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); 
			 |