First PoC Ouinet integration
This commit is contained in:
parent
219f0e9873
commit
9311f90fc9
|
@ -14,13 +14,16 @@ if (keyPropsFile.exists()) {
|
|||
keyProps.load(new FileInputStream(keyPropsFile))
|
||||
}
|
||||
|
||||
Properties localProperties = new Properties()
|
||||
localProperties.load(rootProject.file('local.properties').newDataInputStream())
|
||||
|
||||
android {
|
||||
compileSdk 32
|
||||
compileSdk 33
|
||||
|
||||
defaultConfig {
|
||||
applicationId "me.ash.reader"
|
||||
minSdk 26
|
||||
targetSdk 32
|
||||
targetSdk 33
|
||||
versionCode 15
|
||||
versionName "0.9.1"
|
||||
|
||||
|
@ -37,6 +40,11 @@ android {
|
|||
]
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
buildConfigField "String", "CACHE_PUB_KEY", localProperties['CACHE_PUB_KEY']
|
||||
buildConfigField "String", "INJECTOR_CREDENTIALS", localProperties['INJECTOR_CREDENTIALS']
|
||||
buildConfigField "String", "INJECTOR_TLS_CERT", localProperties['INJECTOR_TLS_CERT']
|
||||
}
|
||||
|
||||
flavorDimensions "channel"
|
||||
|
@ -186,4 +194,8 @@ dependencies {
|
|||
testImplementation "junit:junit:4.13.2"
|
||||
androidTestImplementation "androidx.test.ext:junit:1.1.3"
|
||||
androidTestImplementation "androidx.test.espresso:espresso-core:3.4.0"
|
||||
|
||||
// OuiNet integration
|
||||
implementation 'ie.equalit.ouinet:ouinet-x86_64:0.21.3'
|
||||
implementation 'com.getkeepsafe.relinker:relinker:1.4.4'
|
||||
}
|
||||
|
|
|
@ -10,6 +10,8 @@ import androidx.profileinstaller.ProfileInstallerInitializer
|
|||
import coil.ImageLoader
|
||||
import coil.compose.LocalImageLoader
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import ie.equalit.ouinet.Ouinet
|
||||
import ie.equalit.ouinet.Config
|
||||
import me.ash.reader.data.dao.AccountDao
|
||||
import me.ash.reader.data.model.preference.AccountSettingsProvider
|
||||
import me.ash.reader.data.model.preference.LanguagesPreference
|
||||
|
@ -23,6 +25,7 @@ import javax.inject.Inject
|
|||
*/
|
||||
@AndroidEntryPoint
|
||||
class MainActivity : ComponentActivity() {
|
||||
private lateinit var ouinet: Ouinet
|
||||
|
||||
@Inject
|
||||
lateinit var imageLoader: ImageLoader
|
||||
|
@ -41,6 +44,21 @@ class MainActivity : ComponentActivity() {
|
|||
it.setLocale(this)
|
||||
}
|
||||
|
||||
// Enable OuiNet client
|
||||
val config = Config.ConfigBuilder(this)
|
||||
.setCacheType("bep5-http")
|
||||
.setCacheHttpPubKey(BuildConfig.CACHE_PUB_KEY)
|
||||
.setInjectorCredentials(BuildConfig.INJECTOR_CREDENTIALS)
|
||||
.setInjectorTlsCert(BuildConfig.INJECTOR_TLS_CERT)
|
||||
.setTlsCaCertStorePath("file:///android_asset/cacert.pem")
|
||||
.setDisableOriginAccess(true)
|
||||
//.setDisableProxyAccess(true)
|
||||
//.setDisableInjectorAccess(true)
|
||||
.build()
|
||||
|
||||
ouinet = Ouinet(this, config)
|
||||
ouinet.start()
|
||||
|
||||
setContent {
|
||||
CompositionLocalProvider(
|
||||
LocalImageLoader provides imageLoader,
|
||||
|
|
|
@ -31,6 +31,8 @@ import okhttp3.Cache
|
|||
import okhttp3.Interceptor
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Response
|
||||
import java.net.Proxy
|
||||
import java.net.InetSocketAddress
|
||||
import java.io.File
|
||||
import java.security.KeyManagementException
|
||||
import java.security.NoSuchAlgorithmException
|
||||
|
@ -67,7 +69,8 @@ fun cachingHttpClient(
|
|||
connectTimeoutSecs: Long = 30L,
|
||||
readTimeoutSecs: Long = 30L,
|
||||
): OkHttpClient {
|
||||
val builder: OkHttpClient.Builder = OkHttpClient.Builder()
|
||||
val ouinetService = Proxy(Proxy.Type.HTTP, InetSocketAddress("127.0.0.1", 8077))
|
||||
val builder: OkHttpClient.Builder = OkHttpClient.Builder().proxy(ouinetService)
|
||||
|
||||
if (cacheDirectory != null) {
|
||||
builder.cache(Cache(cacheDirectory, cacheSize))
|
||||
|
|
Loading…
Reference in New Issue
Block a user