Compare commits

..

11 Commits

Author SHA1 Message Date
idk
794b8433d8 update changelog 2022-11-22 22:12:59 -05:00
idk
a7891a3674 check in version 2.0.0 2022-11-22 11:53:02 -05:00
idk
7076785ec1 add instructions for Privacy Browser 2022-11-09 01:16:17 -05:00
idk
f8eda45409 promote privacybrowser back to supported, demote non-fennec firefoxes to unsupported 2022-11-09 00:53:52 -05:00
idk
8d0f1689c1 Merge branch 'android-build-updates' into 'master'
Android build updates

See merge request idk/i2p.android.base!1
2022-10-19 01:38:22 +00:00
idk
25ef37cddf Merge branch 'master' into 'android-build-updates'
# Conflicts:
#   gradle.properties
2022-10-19 01:38:08 +00:00
idk
c5936858a2 fix Android 12 builds 2022-10-18 21:33:43 -04:00
idk
17d2e2fc93 list all browsers in prep for VPN mode 2022-10-18 20:32:43 -04:00
idk
a0e41e5171 update the changelog 2022-09-08 11:51:50 -04:00
idk
2d1244f339 update versions for F-Droid main 2022-09-04 11:23:37 -04:00
idk
9eec1d3348 checkin android build updates 2022-08-30 11:07:40 -04:00
12 changed files with 104 additions and 31 deletions

3
.gitignore vendored
View File

@ -3,3 +3,6 @@ signing.properties
.idea
.idea/
.gradle/
local.properties
override.properties
build

View File

@ -1,3 +1,19 @@
2.0.0
* Updates router to version 2.0.0
* Updates gradle plugin
* Remove Firefox from supported browsers list due to lack of about:config support
* Add Privacy Browser to supported browsers list and write guide for it
1.9.1
* Switches back to mavenCentral builds
* Fixes build process for F-Droid main
* Using tag i2p.i2p:i2p-android-1.9.0
* Allow b32 and blinded b32 to validate in I2PTunnel UI
1.9.0
* Updates router to version 1.9.0
* Using tag i2p.i2p:i2p-android-1.9.0
1.8.2
* This update fixes a bug where Family Keys are incorrectly handled by the Android router, leading
to a crash.

View File

@ -7,9 +7,9 @@ repositories {
android {
compileSdkVersion 28
defaultConfig {
versionCode 4745270
versionCode 4745272
versionName "$I2P_ANDROID_VERSION"
minSdkVersion 14
minSdkVersion 21
targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION as String)
// For Espresso
@ -31,15 +31,18 @@ android {
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
coreLibraryDesugaringEnabled true
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
lintOptions {
abortOnError false
disable 'MissingDefaultResource'
}
packagingOptions {
exclude 'LICENSE.txt'
resources {
excludes += ['LICENSE.txt']
}
}
flavorDimensions 'tier'
productFlavors {
@ -56,7 +59,6 @@ android {
applicationId 'net.i2p.android.router'
}
}
buildToolsVersion '28.0.3'
}
dependencies {
@ -88,6 +90,10 @@ dependencies {
}
}
dependencies {
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5'
}
project.ext.i2pbase = "../i2p.i2p"
def Properties props = new Properties()
def propFile = new File(project(':routerjars').projectDir, 'local.properties')

View File

@ -27,6 +27,8 @@
<service
android:name=".service.RouterService"
android:icon="@drawable/ic_launcher_itoopie"
android:enabled="true"
android:exported="true"
android:label="@string/app_name">
<intent-filter>
<action android:name="net.i2p.android.router.service.IRouterState" />
@ -35,7 +37,9 @@
<provider
android:name=".provider.CacheProvider"
android:authorities="${applicationId}.provider" />
<receiver android:name=".receiver.OnBootReceiver">
<receiver
android:name=".receiver.OnBootReceiver"
android:exported="false">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
@ -45,7 +49,8 @@
android:name="net.i2p.android.I2PActivity"
android:icon="@drawable/ic_launcher_itoopie"
android:label="@string/app_name"
android:launchMode="singleTop">
android:launchMode="singleTop"
android:exported="true">
<!-- Console filters -->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@ -109,6 +114,7 @@
<activity
android:name=".web.WebActivity"
android:configChanges="orientation|keyboardHidden"
android:exported="true"
android:label="I2P Web Browser">
<!-- Disabled, this browser is not very secure
Temporarily enabled until an alternative browser is ready -->

View File

@ -102,8 +102,28 @@ public class BrowserListFragment extends Fragment implements
getContext().getResources().getStringArray(R.array.supported_browsers));
supportedLabels = Arrays.asList(
getContext().getResources().getStringArray(R.array.supported_browser_labels));
unsupported = Arrays.asList(
context.getResources().getStringArray(R.array.unsupported_browsers));
unsupported = allBrowsers(context);//Arrays.asList(
//context.getResources().getStringArray(R.array.unsupported_browsers));
}
public List<String> allBrowsers(Context context){
//try {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.google.com"));
List<ResolveInfo> browserList;
PackageManager pm = context.getPackageManager();
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
// gets all
browserList = pm.queryIntentActivities(intent, PackageManager.MATCH_ALL);
} else {
browserList = pm.queryIntentActivities(intent, 0);
}
//}catch()
List<String> finalResult = new ArrayList<String>();
for (ResolveInfo ri : browserList){
finalResult.add(ri.resolvePackageName);
}
return finalResult;
}
@Override

View File

@ -0,0 +1,17 @@
<html>
<head></head>
<body>
<h2>Privacy Brower has native I2P support!</h2>
<p>Make sure your I2P router is started before launching Privacy Browser</p>
<p>Privacy Browser supports both I2P and Orbot (Tor), but not at the same time.</p>
<h2>How to configure Privacy Browser:</h2>
<ol>
<li>Open the main menu and tap “Settings”</li>
<li>Select "Disable Javascript"(Recommended)</li>
<li>Select "Enable Incognito Mode"(Optional)</li>
<li>Tap the "Proxy" menu item and select "I2P" from the submenu</li>
<li>Exit the settings menu.</li>
</ol>
<a href="https://eyedeekay.github.io/Configuring-Privacy-Browser-for-I2P-on-Android/">A detailed guide with screenshots to is available online</a>
</body>
</html>

View File

@ -109,28 +109,25 @@
</string-array>
<string-array name="recommended_browsers">
<item>acr.browser.lightning</item>
<item>io.github.forkmaintainers.iceraven</item>
<item>com.stoutner.privacybrowser.standard</item>
</string-array>
<string-array name="recommended_browser_labels">
<item>Lightning</item>
<item>IceRaven(With Extension)</item>
<item>Privacy Browser</item>
</string-array>
<string-array name="supported_browsers">
<item>org.mozilla.firefox</item>
<item>org.mozilla.fennec_fdroid</item>
<item>org.gnu.icecat</item>
</string-array>
<string-array name="supported_browser_labels">
<item>Firefox</item>
<item>Fennec F-Droid</item>
<item>IceCatMobile</item>
</string-array>
<string-array name="unsupported_browsers">
<item>org.mozilla.firefox</item>
<item>com.android.chrome</item>
<item>com.brave.browser</item>
<item>com.android.browser</item>
<item>com.sec.android.app.sbrowser</item>
<item>com.stoutner.privacybrowser.standard</item>
<item>org.gnu.icecat</item>
<item>info.guardianproject.browser</item>
<item>mobi.mgeek.TunnyBrowser</item>
<item>com.lastpass.lpandroid</item>

View File

@ -15,7 +15,7 @@ buildscript {
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.0'
classpath 'com.android.tools.build:gradle:4.2.2'
classpath 'com.android.tools.lint:lint-gradle:26.1.1'
}
}

View File

@ -14,8 +14,8 @@ POM_DEVELOPER_ID=idk
POM_DEVELOPER_NAME=idk
POM_DEVELOPER_EMAIL=hankhill19580@gmail.com
ANDROID_BUILD_TARGET_SDK_VERSION=30
ANDROID_BUILD_SDK_VERSION=28
ANDROID_BUILD_TARGET_SDK_VERSION=31
ANDROID_BUILD_SDK_VERSION=31
I2P_VERSION=1.9.0-1
I2P_ANDROID_VERSION=1.9.0
I2P_VERSION=2.0.0
I2P_ANDROID_VERSION=2.0.0

View File

@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip

View File

@ -9,7 +9,7 @@ repositories {
android {
compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION as String)
defaultConfig {
minSdkVersion 14
minSdkVersion 21
targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION as String)
}
buildTypes {
@ -19,13 +19,17 @@ android {
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
coreLibraryDesugaringEnabled true
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
lintOptions {
abortOnError false
}
buildToolsVersion '28.0.3'
}
dependencies {
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5'
}
dependencies {

View File

@ -5,7 +5,7 @@ version = '0.9.5'
android {
compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION as String)
defaultConfig {
minSdkVersion 14
minSdkVersion 21
targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION as String)
}
buildTypes {
@ -15,13 +15,13 @@ android {
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
coreLibraryDesugaringEnabled true
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
lintOptions {
abortOnError false
}
buildToolsVersion '28.0.3'
}
dependencies {
@ -33,4 +33,8 @@ dependencies {
testImplementation 'org.mockito:mockito-core:2.11.0'
}
dependencies {
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5'
}
apply from: "${project.rootDir}/gradle/maven-push.gradle"