Skip to content

Commit ff89e78

Browse files
committed
Add a webview request test button
1 parent 8aa808b commit ff89e78

File tree

2 files changed

+33
-1
lines changed

2 files changed

+33
-1
lines changed

app/src/main/java/tech/httptoolkit/pinning_demo/MainActivity.kt

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
package tech.httptoolkit.pinning_demo
22

33
import android.graphics.drawable.Drawable
4+
import android.net.http.SslError
45
import android.os.Bundle
56
import android.view.View
7+
import android.webkit.SslErrorHandler
8+
import android.webkit.WebView
9+
import android.webkit.WebViewClient
610
import android.widget.Button
711
import android.widget.Toast
812
import androidx.annotation.IdRes
@@ -105,6 +109,27 @@ class MainActivity : AppCompatActivity() {
105109
}
106110
}
107111

112+
fun sendUnpinnedWebView(view: View) {
113+
onStart(R.id.webview_unpinned)
114+
val webView = WebView(this@MainActivity)
115+
116+
webView.loadUrl("https://sha256.badssl.com")
117+
webView.webViewClient = object : WebViewClient() {
118+
override fun onReceivedSslError(
119+
view: WebView?,
120+
handler: SslErrorHandler?,
121+
error: SslError?
122+
) {
123+
onError(R.id.webview_unpinned, error.toString())
124+
}
125+
126+
override fun onPageFinished(view: WebView?, url: String?) {
127+
println("Unpinned WebView loaded OK")
128+
onSuccess(R.id.webview_unpinned)
129+
}
130+
}
131+
}
132+
108133
fun sendConfigPinned(view: View) {
109134
GlobalScope.launch(Dispatchers.IO) {
110135
onStart(R.id.config_pinned)
@@ -139,7 +164,7 @@ class MainActivity : AppCompatActivity() {
139164
.build()
140165
val request = Request.Builder()
141166
.url("https://sha256.badssl.com")
142-
.build();
167+
.build()
143168

144169
client.newCall(request).execute().use { response ->
145170
println("URL: ${request.url}")

app/src/main/res/layout/activity_main.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,13 @@
2323
android:onClick="sendUnpinned"
2424
android:text="Unpinned request" />
2525

26+
<Button
27+
android:id="@+id/webview_unpinned"
28+
android:layout_width="match_parent"
29+
android:layout_height="wrap_content"
30+
android:onClick="sendUnpinnedWebView"
31+
android:text="Unpinned WebView request" />
32+
2633
<Button
2734
android:id="@+id/config_pinned"
2835
android:layout_width="match_parent"

0 commit comments

Comments
 (0)