diff --git a/app/src/main/java/com/pkusz/min_vpn_client/activity/main/MainActivity.java b/app/src/main/java/com/pkusz/min_vpn_client/activity/main/MainActivity.java index 9bbf935..a42f8f0 100644 --- a/app/src/main/java/com/pkusz/min_vpn_client/activity/main/MainActivity.java +++ b/app/src/main/java/com/pkusz/min_vpn_client/activity/main/MainActivity.java @@ -38,6 +38,7 @@ import org.jetbrains.annotations.Nullable; import java.util.HashSet; import java.util.Set; +import java.util.function.Function; import java.util.stream.Collectors; import cn.qjm253.quick_android_base.extensions.ContextExtensionKt; @@ -122,7 +123,7 @@ public class MainActivity extends MINVpnBaseActivity public void onCheckedChanged(RadioGroup group, int checkedId) { if(!isConnected){ // 执行连接流程 - + connectVpn(); }else{ // 执行断开流程 disconnectVpn(); @@ -161,6 +162,7 @@ public class MainActivity extends MINVpnBaseActivity * 连接VPN服务器 */ private void connectVpn(){ + System.out.println("我要开始连接了"); Set packageNames = new HashSet<>(); packageNames.add("com.pkusz.min_vpn_client"); if (!checkPackages(packageNames)) { @@ -168,8 +170,10 @@ public class MainActivity extends MINVpnBaseActivity } Intent intent = VpnService.prepare(this); if (intent != null) { + System.out.println("用户尚未授权过开启VPN连接,请求用户授权..."); startActivityForResult(intent, 0); } else { + System.out.println("用户已经授权,准备开始VPN连接..."); onActivityResult(0, Activity.RESULT_OK, null); } } @@ -181,9 +185,9 @@ public class MainActivity extends MINVpnBaseActivity * @return */ private boolean checkPackages(Set packageNames){ - boolean hasCorrectPackageNames = packageNames.isEmpty() || + @SuppressLint("QueryPermissionsNeeded") boolean hasCorrectPackageNames = packageNames.isEmpty() || getPackageManager().getInstalledPackages(0).stream() - .map(PackageInfo::describeContents) + .map(packageInfo -> packageInfo.packageName) .collect(Collectors.toSet()) .containsAll(packageNames); if (!hasCorrectPackageNames) { diff --git a/app/src/main/java/com/pkusz/min_vpn_client/activity/setting/SettingActivity.java b/app/src/main/java/com/pkusz/min_vpn_client/activity/setting/SettingActivity.java index 72b5f56..9ffd112 100644 --- a/app/src/main/java/com/pkusz/min_vpn_client/activity/setting/SettingActivity.java +++ b/app/src/main/java/com/pkusz/min_vpn_client/activity/setting/SettingActivity.java @@ -112,6 +112,7 @@ public class SettingActivity extends MINVpnBaseActivity { diff --git a/app/src/main/java/com/pkusz/min_vpn_client/services/MINVpnService.java b/app/src/main/java/com/pkusz/min_vpn_client/services/MINVpnService.java index a198131..5462942 100644 --- a/app/src/main/java/com/pkusz/min_vpn_client/services/MINVpnService.java +++ b/app/src/main/java/com/pkusz/min_vpn_client/services/MINVpnService.java @@ -83,10 +83,12 @@ public class MINVpnService extends VpnService implements Handler.Callback{ public int onStartCommand(Intent intent, int flags, int startId) { // 根据intent传递的消息进行vpn的连接或断开操作 if (intent != null && ACTION_DISCONNECT.equals(intent.getAction())) { + System.out.println("onStartCommand-disconnecting..."); disconnect(); EventBus.getDefault().postSticky(new ConnectEvent(true, false)); return START_NOT_STICKY; } else { + System.out.println("onStartCommand-connecting..."); connect(); return START_STICKY; }