Skip to content

Commit 6723d22

Browse files
committed
Fixed - If camera permission is denied, clicking Scan QR button shows couldn't connect
Migrated to `ActivityResultContracts` instead of using deprecated `startActivityForResult()`` Migrated lib dependencies to Version Catalogs Migrated build configuration from Groovy to Kotlin
1 parent 09e723b commit 6723d22

17 files changed

+429
-319
lines changed

app/build.gradle

Lines changed: 0 additions & 83 deletions
This file was deleted.

app/build.gradle.kts

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
plugins {
2+
alias(libs.plugins.android.application)
3+
alias(libs.plugins.kotlin.android)
4+
id("kotlin-parcelize")
5+
}
6+
7+
android {
8+
namespace = "tech.httptoolkit.android"
9+
compileSdk = 35
10+
11+
defaultConfig {
12+
applicationId = "tech.httptoolkit.android.v1"
13+
minSdk = 21
14+
targetSdk = 34
15+
versionCode = 34
16+
versionName = "1.5.0"
17+
18+
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
19+
20+
manifestPlaceholders["sentryEnabled"] = "false"
21+
manifestPlaceholders["sentryDsn"] = "null"
22+
}
23+
24+
buildTypes {
25+
release {
26+
isMinifyEnabled = false
27+
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
28+
29+
manifestPlaceholders["sentryEnabled"] = "true"
30+
manifestPlaceholders["sentryDsn"] = "https://[email protected]/1809979"
31+
}
32+
}
33+
34+
35+
compileOptions {
36+
sourceCompatibility = JavaVersion.VERSION_11
37+
targetCompatibility = JavaVersion.VERSION_11
38+
}
39+
40+
kotlinOptions {
41+
jvmTarget = "11"
42+
}
43+
44+
buildFeatures {
45+
viewBinding = true
46+
buildConfig = true
47+
}
48+
lint {
49+
lintConfig = file("./lint.xml")
50+
}
51+
}
52+
53+
dependencies {
54+
implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar"))))
55+
implementation(libs.kotlin.stdlib.jdk7)
56+
implementation(libs.kotlin.reflect)
57+
implementation(libs.kotlinx.coroutines.core)
58+
implementation(libs.kotlinx.coroutines.android)
59+
implementation(libs.appcompat)
60+
implementation(libs.core.ktx)
61+
implementation(libs.constraintlayout)
62+
implementation(libs.localbroadcastmanager)
63+
implementation(libs.zxing.android.embedded) { isTransitive = false }
64+
implementation(libs.core)
65+
implementation(libs.klaxon)
66+
implementation(libs.okhttp)
67+
implementation(libs.material)
68+
implementation(libs.semver)
69+
implementation(libs.sentry.android)
70+
implementation(libs.slf4j.nop)
71+
implementation(libs.play.services.base)
72+
implementation(libs.installreferrer)
73+
testImplementation(libs.junit)
74+
androidTestImplementation(libs.runner)
75+
androidTestImplementation(libs.espresso.core)
76+
}

app/src/main/AndroidManifest.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
<application
3333
android:name=".HttpToolkitApplication"
3434
android:allowBackup="true"
35+
android:hardwareAccelerated="true"
3536
android:icon="@mipmap/ic_launcher"
3637
android:label="@string/app_name"
3738
android:roundIcon="@mipmap/ic_launcher_round"
@@ -100,7 +101,7 @@
100101
</intent-filter>
101102
</activity-alias>
102103

103-
<activity android:name=".ScanActivity" android:parentActivityName=".MainActivity">
104+
<activity android:name=".ui.QRScanActivity" android:parentActivityName=".MainActivity">
104105
<meta-data
105106
android:name="android.support.PARENT_ACTIVITY"
106107
android:value=".MainActivity" />

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

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import android.content.pm.PackageInfo
66
import android.content.pm.PackageManager
77
import android.os.Bundle
88
import android.view.View
9-
import android.view.WindowManager
109
import android.widget.CheckBox
1110
import android.widget.ImageView
1211
import android.widget.TextView
@@ -18,9 +17,6 @@ import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
1817
import kotlinx.coroutines.*
1918
import tech.httptoolkit.android.databinding.AppsListBinding
2019

21-
// Used to both to send and return the current list of selected apps
22-
const val UNSELECTED_APPS_EXTRA = "tech.httptoolkit.android.UNSELECTED_APPS_EXTRA"
23-
2420
class ApplicationListActivity : AppCompatActivity(), SwipeRefreshLayout.OnRefreshListener,
2521
CoroutineScope by MainScope(), View.OnClickListener {
2622

@@ -35,7 +31,7 @@ class ApplicationListActivity : AppCompatActivity(), SwipeRefreshLayout.OnRefres
3531
override fun onCreate(savedInstanceState: Bundle?) {
3632
super.onCreate(savedInstanceState)
3733

38-
blockedPackages = intent.getStringArrayExtra(UNSELECTED_APPS_EXTRA)?.toHashSet()
34+
blockedPackages = intent.getStringArrayExtra(IntentExtras.UNSELECTED_APPS_EXTRA)?.toHashSet()
3935
?: mutableSetOf()
4036
binding = AppsListBinding.inflate(layoutInflater)
4137
setContentView(binding.root)
@@ -66,7 +62,7 @@ class ApplicationListActivity : AppCompatActivity(), SwipeRefreshLayout.OnRefres
6662
override fun handleOnBackPressed() {
6763
setResult(
6864
RESULT_OK,
69-
Intent().putExtra(UNSELECTED_APPS_EXTRA, blockedPackages.toTypedArray())
65+
Intent().putExtra(IntentExtras.UNSELECTED_APPS_EXTRA, blockedPackages.toTypedArray())
7066
)
7167
finish()
7268
}

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

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,13 @@ object PrefKeys {
55
const val LAST_UPDATE_CHECK_TIME = "update-check-time"
66
const val APP_CRASHED = "app-crashed"
77
const val FIRST_RUN = "is-first-run"
8+
}
9+
10+
object IntentExtras {
11+
const val SCANNED_URL_EXTRA = "tech.httptoolkit.android.SCANNED_URL"
12+
const val SELECTED_PORTS_EXTRA = "tech.httptoolkit.android.SELECTED_PORTS_EXTRA"
13+
const val UNSELECTED_APPS_EXTRA = "tech.httptoolkit.android.UNSELECTED_APPS_EXTRA"
14+
const val PROXY_CONFIG_EXTRA = "tech.httptoolkit.android.PROXY_CONFIG"
15+
const val UNINTERCEPTED_APPS_EXTRA = "tech.httptoolkit.android.UNINTERCEPTED_APPS"
16+
const val INTERCEPTED_PORTS_EXTRA = "tech.httptoolkit.android.INTERCEPTED_PORTS"
817
}

0 commit comments

Comments
 (0)