mirror of
https://github.com/emanuele-f/PCAPdroid.git
synced 2026-07-03 21:21:12 +08:00
parent
ae7a06cfa3
commit
e9fed41efb
@ -62,11 +62,7 @@ public class AppsLoader implements LoaderManager.LoaderCallbacks<ArrayList<AppDe
|
||||
ArraySet<Integer> uids = new ArraySet<>();
|
||||
|
||||
Log.d(TAG, "Loading APPs...");
|
||||
List<PackageInfo> packs;
|
||||
if (android.os.Build.VERSION.SDK_INT >= 33)
|
||||
packs = pm.getInstalledPackages(PackageManager.PackageInfoFlags.of(0));
|
||||
else
|
||||
packs = pm.getInstalledPackages(0);
|
||||
List<PackageInfo> packs = Utils.getInstalledPackages(pm, 0);
|
||||
|
||||
String app_package = mContext.getApplicationContext().getPackageName();
|
||||
|
||||
|
||||
@ -21,11 +21,9 @@ package com.emanuelef.remote_capture;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Build;
|
||||
import android.util.Log;
|
||||
import android.util.SparseArray;
|
||||
|
||||
@ -98,7 +96,7 @@ public class AppsResolver {
|
||||
PackageInfo pinfo;
|
||||
|
||||
try {
|
||||
pinfo = pm.getPackageInfo(packageName, pm_flags);
|
||||
pinfo = Utils.getPackageInfo(pm, packageName, pm_flags);
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
Log.w(TAG, "could not retrieve package: " + packageName);
|
||||
return null;
|
||||
@ -183,12 +181,7 @@ public class AppsResolver {
|
||||
}
|
||||
} else {
|
||||
try {
|
||||
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||
return mPm.getPackageUid(package_name, 0);
|
||||
} else {
|
||||
ApplicationInfo info = mPm.getApplicationInfo(package_name, 0);
|
||||
return info.uid;
|
||||
}
|
||||
return Utils.getPackageUid(mPm, package_name, 0);
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
Log.w(TAG, "Could not retrieve package " + package_name);
|
||||
//e.printStackTrace();
|
||||
|
||||
@ -365,7 +365,7 @@ public class CaptureService extends VpnService implements Runnable {
|
||||
|
||||
if ((mSettings.app_filter != null) && (!mSettings.app_filter.isEmpty())) {
|
||||
try {
|
||||
app_filter_uid = getPackageManager().getApplicationInfo(mSettings.app_filter, 0).uid;
|
||||
app_filter_uid = Utils.getPackageUid(getPackageManager(), mSettings.app_filter, 0);
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
app_filter_uid = -1;
|
||||
|
||||
@ -24,7 +24,6 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.ServiceConnection;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.os.Build;
|
||||
@ -103,7 +102,7 @@ public class MitmAddon {
|
||||
|
||||
public static long getInstalledVersion(Context ctx) {
|
||||
try {
|
||||
PackageInfo pInfo = ctx.getPackageManager().getPackageInfo(MitmAPI.PACKAGE_NAME, 0);
|
||||
PackageInfo pInfo = Utils.getPackageInfo(ctx.getPackageManager(), MitmAPI.PACKAGE_NAME, 0);
|
||||
return PackageInfoCompat.getLongVersionCode(pInfo);
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
return -1;
|
||||
@ -111,14 +110,8 @@ public class MitmAddon {
|
||||
}
|
||||
|
||||
public static int getUid(Context ctx) {
|
||||
PackageManager pm = ctx.getPackageManager();
|
||||
|
||||
try {
|
||||
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||
return pm.getPackageUid(MitmAPI.PACKAGE_NAME, 0);
|
||||
} else {
|
||||
return pm.getApplicationInfo(MitmAPI.PACKAGE_NAME, 0).uid;
|
||||
}
|
||||
return Utils.getPackageUid(ctx.getPackageManager(), MitmAPI.PACKAGE_NAME, 0);
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -707,7 +707,7 @@ public class Utils {
|
||||
String appver;
|
||||
|
||||
try {
|
||||
PackageInfo pInfo = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
|
||||
PackageInfo pInfo = Utils.getPackageInfo(context.getPackageManager(), context.getPackageName(), 0);
|
||||
String version = pInfo.versionName;
|
||||
boolean isRelease = version.contains(".");
|
||||
|
||||
@ -1082,11 +1082,11 @@ public class Utils {
|
||||
|
||||
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
|
||||
// NOTE: PCAPdroid does not use multiple signatures
|
||||
PackageInfo pInfo = ctx.getPackageManager().getPackageInfo(package_name, PackageManager.GET_SIGNING_CERTIFICATES);
|
||||
PackageInfo pInfo = Utils.getPackageInfo(ctx.getPackageManager(), package_name, PackageManager.GET_SIGNING_CERTIFICATES);
|
||||
signatures = (pInfo.signingInfo == null) ? null : pInfo.signingInfo.getSigningCertificateHistory();
|
||||
} else {
|
||||
@SuppressLint("PackageManagerGetSignatures")
|
||||
PackageInfo pInfo = ctx.getPackageManager().getPackageInfo(ctx.getPackageName(), PackageManager.GET_SIGNATURES);
|
||||
PackageInfo pInfo = Utils.getPackageInfo(ctx.getPackageManager(), package_name, PackageManager.GET_SIGNATURES);
|
||||
signatures = pInfo.signatures;
|
||||
}
|
||||
|
||||
@ -1402,4 +1402,31 @@ public class Utils {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings({"deprecation"})
|
||||
public static PackageInfo getPackageInfo(PackageManager pm, String package_name, int flags) throws PackageManager.NameNotFoundException {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU)
|
||||
return pm.getPackageInfo(package_name, PackageManager.PackageInfoFlags.of(flags));
|
||||
else
|
||||
return pm.getPackageInfo(package_name, flags);
|
||||
}
|
||||
|
||||
@SuppressWarnings({"deprecation"})
|
||||
public static int getPackageUid(PackageManager pm, String package_name, int flags) throws PackageManager.NameNotFoundException {
|
||||
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU)
|
||||
return pm.getPackageUid(package_name, PackageManager.PackageInfoFlags.of(flags));
|
||||
else if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
|
||||
return pm.getPackageUid(package_name, 0);
|
||||
else
|
||||
return pm.getApplicationInfo(package_name, 0).uid;
|
||||
}
|
||||
|
||||
@SuppressLint({"QueryPermissionsNeeded"})
|
||||
@SuppressWarnings({"deprecation"})
|
||||
public static List<PackageInfo> getInstalledPackages(PackageManager pm, int flags) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU)
|
||||
return pm.getInstalledPackages(PackageManager.PackageInfoFlags.of(flags));
|
||||
else
|
||||
return pm.getInstalledPackages(flags);
|
||||
}
|
||||
}
|
||||
|
||||
@ -41,6 +41,7 @@ import androidx.annotation.RequiresApi;
|
||||
import androidx.appcompat.app.ActionBarDrawerToggle;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.core.content.pm.PackageInfoCompat;
|
||||
import androidx.core.view.GravityCompat;
|
||||
import androidx.drawerlayout.widget.DrawerLayout;
|
||||
import androidx.fragment.app.Fragment;
|
||||
@ -341,7 +342,7 @@ public class MainActivity extends BaseActivity implements NavigationView.OnNavig
|
||||
}
|
||||
|
||||
PackageInfo pInfo = peer.getPackageInfo();
|
||||
if((pInfo == null) || (pInfo.versionCode < 56)) {
|
||||
if((pInfo == null) || (PackageInfoCompat.getLongVersionCode(pInfo) < 56)) {
|
||||
Log.d(TAG, "Unsupported peer app version found");
|
||||
return;
|
||||
}
|
||||
@ -353,7 +354,7 @@ public class MainActivity extends BaseActivity implements NavigationView.OnNavig
|
||||
return;
|
||||
}
|
||||
|
||||
Log.d(TAG, "Valid peer app found (" + pInfo.versionName + " - " + pInfo.versionCode + ")");
|
||||
Log.d(TAG, "Valid peer app found (" + pInfo.versionName + " - " + PackageInfoCompat.getLongVersionCode(pInfo) + ")");
|
||||
Intent intent = new Intent(Intent.ACTION_VIEW);
|
||||
intent.setClassName(peerAppPackage, "com.emanuelef.remote_capture.activities.CaptureCtrl");
|
||||
intent.putExtra("action", "get_peer_info");
|
||||
@ -577,7 +578,7 @@ public class MainActivity extends BaseActivity implements NavigationView.OnNavig
|
||||
Intent intent;
|
||||
|
||||
try {
|
||||
getPackageManager().getPackageInfo("org.telegram.messenger", 0);
|
||||
Utils.getPackageInfo(getPackageManager(), "org.telegram.messenger", 0);
|
||||
|
||||
// Open directly into the telegram app
|
||||
intent = new Intent(Intent.ACTION_VIEW, Uri.parse("tg://resolve?domain=" + TELEGRAM_GROUP_NAME));
|
||||
|
||||
@ -195,6 +195,7 @@ public class SettingsActivity extends BaseActivity implements PreferenceFragment
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
private boolean validateIp(String value) {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q)
|
||||
return (InetAddresses.isNumericAddress(value));
|
||||
|
||||
@ -186,9 +186,10 @@ public class ConnectionsFragment extends Fragment implements ConnectionsListener
|
||||
|
||||
mEmptyText = view.findViewById(R.id.no_connections);
|
||||
mActiveFilter = view.findViewById(R.id.active_filter);
|
||||
mActiveFilter.setOnCheckedChangeListener((group, checkedId) -> {
|
||||
mActiveFilter.setOnCheckedStateChangeListener((group, checkedIds) -> {
|
||||
if(mAdapter != null) {
|
||||
mAdapter.mFilter.clear(checkedId);
|
||||
for(int checkedId: checkedIds)
|
||||
mAdapter.mFilter.clear(checkedId);
|
||||
refreshFilteredConnections();
|
||||
}
|
||||
});
|
||||
|
||||
Loading…
Reference in New Issue
Block a user