From 5b3ac887464faba24730edf5628efd21e7ddcdfd Mon Sep 17 00:00:00 2001 From: free will <2647778488@qq.com> Date: Tue, 20 Jul 2021 11:01:58 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E8=AF=95MainActivity=E9=80=9A?= =?UTF-8?q?=E8=BF=87=EF=BC=8C=E5=8F=AF=E4=BB=A5=E6=AD=A3=E5=B8=B8=E8=B0=83?= =?UTF-8?q?=E7=94=A8VPNService?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../min_vpn_client/activity/main/MainActivity.java | 10 +++++++--- .../activity/setting/SettingActivity.java | 1 + .../pkusz/min_vpn_client/services/MINVpnService.java | 2 ++ 3 files changed, 10 insertions(+), 3 deletions(-) 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; }