Skip to content

Commit 729afb1

Browse files
committed
Ensure nothing breaks if you uninstall a filtered app
1 parent e286d3d commit 729afb1

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

app/src/main/java/tech/httptoolkit/android/HttpToolkitApplication.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package tech.httptoolkit.android
22

33
import android.app.Application
44
import android.content.*
5+
import android.content.pm.PackageManager
56
import android.os.Build
67
import android.util.Log
78
import com.android.installreferrer.api.InstallReferrerClient
@@ -188,7 +189,11 @@ class HttpToolkitApplication : Application() {
188189
get() {
189190
val prefs = getSharedPreferences("tech.httptoolkit.android", MODE_PRIVATE)
190191
val packagesSet = prefs.getStringSet("unintercepted-packages", null)
191-
return packagesSet ?: setOf()
192+
val allPackages = packageManager.getInstalledPackages(PackageManager.GET_META_DATA)
193+
.map { pkg -> pkg.packageName }
194+
return (packagesSet ?: setOf())
195+
.filter { pkg -> allPackages.contains(pkg) } // Filter, as packages might've been uninstalled
196+
.toSet()
192197
}
193198
set(packageNames) {
194199
val prefs = getSharedPreferences("tech.httptoolkit.android", MODE_PRIVATE)

app/src/main/java/tech/httptoolkit/android/ProxyVpnService.kt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -196,9 +196,11 @@ class ProxyVpnService : VpnService(), IProtectSocket {
196196
// installed whilst interception is active get intercepted straight away
197197

198198
// Don't intercept them explicitly disallowed packages:
199-
uninterceptedApps.forEach {name ->
200-
addDisallowedApplication(name)
201-
}
199+
uninterceptedApps
200+
.filter { app -> allPackageNames.contains(app) }
201+
.forEach { name ->
202+
addDisallowedApplication(name)
203+
}
202204

203205
// Never intercept HTTP Toolkit (as above - doing so causes problems)
204206
addDisallowedApplication(httpToolkitPackage)

0 commit comments

Comments
 (0)