Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 16 additions & 9 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,27 +1,34 @@
apply plugin: 'com.android.application'
plugins {
alias(libs.plugins.android.application)
}

android {
compileSdkVersion toolVersions.android.compileSdk
buildToolsVersion toolVersions.android.buildTools
namespace = 'com.datatheorem.android.trustkit.demoapp'
compileSdkVersion libs.versions.compileSdk.get().toInteger()

defaultConfig {
applicationId "com.datatheorem.android.trustkit.demoapp"
minSdkVersion toolVersions.android.minSdk
targetSdkVersion toolVersions.android.targetSdk
versionCode demoAppTrustKitVersionCode
versionName demoAppTrustKitVersionName
minSdkVersion libs.versions.minSdk.get().toInteger()
targetSdkVersion libs.versions.targetSdk.get().toInteger()
versionCode libs.versions.demoAppVersionCode.get().toInteger()
versionName libs.versions.demoAppVersionName.get()
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}

compileOptions {
sourceCompatibility JavaVersion.toVersion(libs.versions.jvmTarget.get())
targetCompatibility JavaVersion.toVersion(libs.versions.jvmTarget.get())
}
}

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation project(':trustkit')
implementation "androidx.appcompat:appcompat:$rootProject.libVersions.androidx.appcompat"
implementation "com.google.android.material:material:$rootProject.libVersions.google.material"
implementation libs.androidx.appcompat
implementation libs.google.material
}
6 changes: 3 additions & 3 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.datatheorem.android.trustkit.demoapp"
xmlns:android="http://schemas.android.com/apk/res/android">
<manifest xmlns:android="http://schemas.android.com/apk/res/android">

<uses-permission android:name="android.permission.INTERNET"/>

Expand All @@ -14,6 +13,7 @@

<activity
android:name=".DemoMainActivity"
android:exported="true"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
Expand All @@ -23,4 +23,4 @@
</activity>

</application>
</manifest>
</manifest>
Original file line number Diff line number Diff line change
Expand Up @@ -3,30 +3,26 @@
import android.content.IntentFilter;
import android.os.AsyncTask;
import android.os.Bundle;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import com.datatheorem.android.trustkit.TrustKit;
import com.datatheorem.android.trustkit.reporting.BackgroundReporter;

import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;

import javax.net.ssl.HttpsURLConnection;


public class DemoMainActivity extends AppCompatActivity {

protected static final String DEBUG_TAG = "TrustKit-Demo";
private static final PinningFailureReportBroadcastReceiver pinningFailureReportBroadcastReceiver
= new PinningFailureReportBroadcastReceiver();
private static final PinningFailureReportBroadcastReceiver
pinningFailureReportBroadcastReceiver = new PinningFailureReportBroadcastReceiver();

@Override
protected void onCreate(Bundle savedInstanceState) {
Expand All @@ -49,7 +45,7 @@ protected void onCreate(Bundle savedInstanceState) {

IntentFilter intentFilter = new IntentFilter(BackgroundReporter.REPORT_VALIDATION_EVENT);
LocalBroadcastManager.getInstance(getApplicationContext())
.registerReceiver(pinningFailureReportBroadcastReceiver,intentFilter);
.registerReceiver(pinningFailureReportBroadcastReceiver, intentFilter);
}

@Override
Expand All @@ -65,10 +61,11 @@ private class DownloadWebpageTask extends AsyncTask<String, Void, String> {
protected String doInBackground(String... params) {
try {
URL url = new URL(params[0]);
HttpsURLConnection connection;
HttpsURLConnection connection = null;
connection = (HttpsURLConnection) url.openConnection();
connection.setSSLSocketFactory(TrustKit.getInstance().getSSLSocketFactory(url.getHost()));
connection.getInputStream();
connection.setSSLSocketFactory(
TrustKit.getInstance().getSSLSocketFactory(url.getHost()));
InputStream inputStream = connection.getInputStream();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
Expand Down Expand Up @@ -107,4 +104,3 @@ public boolean onOptionsItemSelected(MenuItem item) {
return super.onOptionsItemSelected(item);
}
}

Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,14 @@
import android.content.Intent;
import android.util.Log;
import com.datatheorem.android.trustkit.reporting.BackgroundReporter;

import java.io.Serializable;

/**
* Class that provides an example broadcast receiver
*
* <p>
* Applications using TrustKit can listen for local broadcasts and receive the same report that
* would be sent to the report_url.
* </p>
**/
* <p>Applications using TrustKit can listen for local broadcasts and receive the same report that
* would be sent to the report_url.
*/
class PinningFailureReportBroadcastReceiver extends BroadcastReceiver {

@Override
Expand Down
92 changes: 26 additions & 66 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,76 +1,36 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
ext.kotlin_version = '1.3.21'

repositories {
mavenCentral()
jcenter() // TODO: Remove when org.jetbrains.trove4j:trove4j moves to Maven Central
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.6.1'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7'
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
plugins {
alias(libs.plugins.android.application) apply false
alias(libs.plugins.android.library) apply false
alias(libs.plugins.kotlin.android) apply false
alias(libs.plugins.spotless)
}

allprojects {
apply { plugin(libs.plugins.spotless.get().pluginId) }

spotless {
java {
target("src/**/*.java")
googleJavaFormat(libs.versions.google.java.format.get()).aosp()
}
kotlin {
target("src/**/*.kt")
ktfmt(libs.versions.ktfmt.get()).kotlinlangStyle()
}
groovyGradle {
target("*.gradle")
greclipse().configProperties("org.eclipse.jdt.core.formatter.tabulation.char=space")
}
kotlinGradle {
target("*.gradle.kts")
ktfmt(libs.versions.ktfmt.get()).kotlinlangStyle()
}
}

repositories {
mavenCentral()
jcenter() // TODO: Remove when org.jetbrains.trove4j:trove4j moves to Maven Central
google()
}
apply plugin: 'maven'
apply plugin: 'maven-publish'
}


ext{
trustkitVersionCode = 10
trustkitVersionName = "1.1.5"

demoAppTrustKitVersionCode = 2
demoAppTrustKitVersionName = "1.1"

demoAppKotlinTrustKitVersionCode = 2
demoAppKotlinTrustKitVersionName = "1.1"
javaSourceCompatibilty = '1.6'
toolVersions = [
android : [
compileSdk : 28,
gradlePlugin : '2.1.0',
buildTools : '28.0.3',
minSdk : 16,
targetSdk: 28
]
]

libVersions = [
junit: '4.12',
mockito : [
android: '1.10.19'
],
dexmaker : '1.4',
androidx : [
annotation: '1.0.0',
test: '1.1.0',
legacySupport: '1.0.0',
appcompat: '1.0.2',
preference: '1.0.0'
],
testing: [
okhttp3: '3.11.0',
'playServicesBase': '11.0.0',
],
google: [
material: '1.0.0'
],
squareup: [
okhttp3: '3.11.0',
okhttp2: '2.4.0'
]
]

}
34 changes: 21 additions & 13 deletions demoappkotlin/build.gradle
Original file line number Diff line number Diff line change
@@ -1,17 +1,20 @@
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
}

android {
compileSdkVersion toolVersions.android.compileSdk
namespace = 'com.datatheorem.android.trustkit.demoappkotlin'
compileSdkVersion libs.versions.compileSdk.get().toInteger()



defaultConfig {
applicationId "com.datatheorem.android.trustkit.demoappkotlin"
minSdkVersion toolVersions.android.minSdk
targetSdkVersion toolVersions.android.targetSdk
versionCode demoAppKotlinTrustKitVersionCode
versionName demoAppKotlinTrustKitVersionName
minSdkVersion libs.versions.minSdk.get().toInteger()
targetSdkVersion libs.versions.targetSdk.get().toInteger()
versionCode libs.versions.demoAppVersionCode.get().toInteger()
versionName libs.versions.demoAppVersionName.get()
}

buildTypes {
Expand All @@ -21,15 +24,20 @@ android {
}
}

compileOptions {
sourceCompatibility JavaVersion.toVersion(libs.versions.jvmTarget.get())
targetCompatibility JavaVersion.toVersion(libs.versions.jvmTarget.get())
}

kotlinOptions {
jvmTarget = libs.versions.jvmTarget.get()
}
}

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation "androidx.appcompat:appcompat:$rootProject.libVersions.androidx.appcompat"
implementation "com.google.android.material:material:$rootProject.libVersions.google.material"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation libs.androidx.appcompat
implementation libs.google.material
implementation libs.kotlin.stdlib.jdk7
implementation project(path: ':trustkit')
}
repositories {
mavenCentral()
}
4 changes: 2 additions & 2 deletions demoappkotlin/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.datatheorem.android.trustkit.demoappkotlin">
<manifest xmlns:android="http://schemas.android.com/apk/res/android">

<uses-permission android:name="android.permission.INTERNET"/>

Expand All @@ -13,6 +12,7 @@

android:networkSecurityConfig="@xml/network_security_config">
<activity android:name=".DemoMainActivity"
android:exported="true"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,24 @@ package com.datatheorem.android.trustkit.demoappkotlin
import android.content.IntentFilter
import android.os.AsyncTask
import android.os.Bundle
import androidx.localbroadcastmanager.content.LocalBroadcastManager
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.widget.Toolbar
import android.util.Log
import android.view.Menu
import android.view.MenuItem
import android.view.View
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.widget.Toolbar
import androidx.localbroadcastmanager.content.LocalBroadcastManager
import com.datatheorem.android.trustkit.TrustKit
import com.datatheorem.android.trustkit.reporting.BackgroundReporter
import java.io.IOException
import java.net.MalformedURLException
import java.net.URL
import javax.net.ssl.HttpsURLConnection


class DemoMainActivity : AppCompatActivity() {
private lateinit var pinningFailureReportBroadcastReceiver: PinningFailureReportBroadcastReceiver
private lateinit var pinningFailureReportBroadcastReceiver:
PinningFailureReportBroadcastReceiver

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Expand All @@ -41,15 +41,15 @@ class DemoMainActivity : AppCompatActivity() {
textView.text = "Connection results are in the logs"

// Adding a local broadcast receiver to listen for validation report events
pinningFailureReportBroadcastReceiver = PinningFailureReportBroadcastReceiver()
pinningFailureReportBroadcastReceiver = PinningFailureReportBroadcastReceiver()
val intentFilter = IntentFilter(BackgroundReporter.REPORT_VALIDATION_EVENT)
LocalBroadcastManager.getInstance(this.applicationContext)
.registerReceiver(pinningFailureReportBroadcastReceiver,intentFilter)
.registerReceiver(pinningFailureReportBroadcastReceiver, intentFilter)
}

override fun onDestroy() {
LocalBroadcastManager.getInstance(this.applicationContext)
.unregisterReceiver(pinningFailureReportBroadcastReceiver)
.unregisterReceiver(pinningFailureReportBroadcastReceiver)
super.onDestroy()
}

Expand Down Expand Up @@ -90,16 +90,13 @@ class DemoMainActivity : AppCompatActivity() {
// as you specify a parent activity in AndroidManifest.xml.
val id = item.itemId


return if (id == R.id.action_settings) {
true
} else super.onOptionsItemSelected(item)

}

companion object {

internal const val DEBUG_TAG = "TrustKit-Demo"
}
}

Loading