Compare commits
11 Commits
i2p-androi
...
i2p-androi
Author | SHA1 | Date | |
---|---|---|---|
59b1da6950 | |||
40894d8d04 | |||
d0f38397cd | |||
17b86fffdd | |||
a06b449bfb | |||
128f1df0ac | |||
ed085194e6 | |||
52a4c2f430 | |||
784918d220 | |||
f129773255 | |||
b304771eca |
@ -1,14 +1,15 @@
|
|||||||
apply plugin: 'com.android.application'
|
apply plugin: 'com.android.application'
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
mavenLocal()
|
mavenLocal()
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
jcenter()
|
maven { url 'https://jitpack.io' }
|
||||||
}
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION as String)
|
compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION as String)
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
versionCode 4745284
|
versionCode Integer.parseInt(project.I2P_ANDROID_VERSION_CODE as String)
|
||||||
versionName "$I2P_ANDROID_VERSION"
|
versionName "$I2P_ANDROID_VERSION"
|
||||||
minSdkVersion 21
|
minSdkVersion 21
|
||||||
targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION as String)
|
targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION as String)
|
||||||
@ -76,16 +77,16 @@ dependencies {
|
|||||||
implementation "com.android.support:preference-v14:$supportVersion"
|
implementation "com.android.support:preference-v14:$supportVersion"
|
||||||
implementation "com.android.support:recyclerview-v7:$supportVersion"
|
implementation "com.android.support:recyclerview-v7:$supportVersion"
|
||||||
// Remote dependencies
|
// Remote dependencies
|
||||||
implementation 'com.androidplot:androidplot-core:1.4.1'
|
implementation 'com.androidplot:androidplot-core:1.5.11'
|
||||||
implementation 'com.eowise:recyclerview-stickyheaders:0.5.2@aar'
|
implementation 'com.eowise:recyclerview-stickyheaders:0.5.2@aar'
|
||||||
implementation 'com.inkapplications.viewpageindicator:library:2.4.4'
|
implementation 'com.inkapplications.viewpageindicator:library:2.4.3'
|
||||||
implementation 'com.pnikosis:materialish-progress:1.7'
|
implementation 'com.pnikosis:materialish-progress:1.7'
|
||||||
implementation "net.i2p:router:$I2P_VERSION"
|
implementation "net.i2p:router:$I2P_VERSION"
|
||||||
implementation "net.i2p:i2p:$I2P_VERSION"
|
implementation "net.i2p:i2p:$I2P_VERSION"
|
||||||
implementation "net.i2p.client:mstreaming:$I2P_VERSION"
|
implementation "net.i2p.client:mstreaming:$I2P_VERSION"
|
||||||
implementation "net.i2p.client:streaming:$I2P_VERSION"
|
implementation "net.i2p.client:streaming:$I2P_VERSION"
|
||||||
implementation 'net.i2p.android.ext:floatingactionbutton:1.10.1'
|
implementation 'net.i2p.android.ext:floatingactionbutton:1.10.1'
|
||||||
implementation 'org.sufficientlysecure:html-textview:3.1'
|
implementation 'com.github.SufficientlySecure:html-textview:v3.6'
|
||||||
// Testing-only dependencies
|
// Testing-only dependencies
|
||||||
androidTestImplementation('com.android.support.test.espresso:espresso-core:3.0.2') {
|
androidTestImplementation('com.android.support.test.espresso:espresso-core:3.0.2') {
|
||||||
exclude group: 'com.android.support', module: 'support-annotations'
|
exclude group: 'com.android.support', module: 'support-annotations'
|
||||||
@ -93,6 +94,8 @@ dependencies {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
implementation 'androidx.test.espresso:espresso-core:3.6.1'
|
||||||
|
implementation 'androidx.test.ext:junit:1.2.1'
|
||||||
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5'
|
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,39 +1,43 @@
|
|||||||
package net.i2p.android;
|
package net.i2p.android;
|
||||||
|
|
||||||
import android.test.ActivityInstrumentationTestCase2;
|
import androidx.test.core.app.ActivityScenario;
|
||||||
|
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||||
|
|
||||||
import net.i2p.android.router.R;
|
import net.i2p.android.router.R;
|
||||||
|
|
||||||
import static android.support.test.espresso.Espresso.closeSoftKeyboard;
|
import org.junit.Before;
|
||||||
import static android.support.test.espresso.Espresso.onView;
|
import org.junit.Test;
|
||||||
import static android.support.test.espresso.Espresso.openActionBarOverflowOrOptionsMenu;
|
import org.junit.runner.RunWith;
|
||||||
import static android.support.test.espresso.Espresso.pressBack;
|
|
||||||
import static android.support.test.espresso.action.ViewActions.click;
|
import static androidx.test.espresso.Espresso.closeSoftKeyboard;
|
||||||
import static android.support.test.espresso.action.ViewActions.swipeLeft;
|
import static androidx.test.espresso.Espresso.onView;
|
||||||
import static android.support.test.espresso.assertion.ViewAssertions.doesNotExist;
|
import static androidx.test.espresso.Espresso.openActionBarOverflowOrOptionsMenu;
|
||||||
import static android.support.test.espresso.assertion.ViewAssertions.matches;
|
import static androidx.test.espresso.Espresso.pressBack;
|
||||||
import static android.support.test.espresso.matcher.ViewMatchers.hasSibling;
|
import static androidx.test.espresso.action.ViewActions.click;
|
||||||
import static android.support.test.espresso.matcher.ViewMatchers.isDescendantOfA;
|
import static androidx.test.espresso.action.ViewActions.swipeLeft;
|
||||||
import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
|
import static androidx.test.espresso.assertion.ViewAssertions.doesNotExist;
|
||||||
import static android.support.test.espresso.matcher.ViewMatchers.withId;
|
import static androidx.test.espresso.assertion.ViewAssertions.matches;
|
||||||
import static android.support.test.espresso.matcher.ViewMatchers.withParent;
|
import static androidx.test.espresso.matcher.ViewMatchers.hasSibling;
|
||||||
import static android.support.test.espresso.matcher.ViewMatchers.withText;
|
import static androidx.test.espresso.matcher.ViewMatchers.isDescendantOfA;
|
||||||
|
import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
|
||||||
|
import static androidx.test.espresso.matcher.ViewMatchers.withId;
|
||||||
|
import static androidx.test.espresso.matcher.ViewMatchers.withParent;
|
||||||
|
import static androidx.test.espresso.matcher.ViewMatchers.withText;
|
||||||
|
import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
|
||||||
import static org.hamcrest.Matchers.allOf;
|
import static org.hamcrest.Matchers.allOf;
|
||||||
import static org.hamcrest.Matchers.not;
|
import static org.hamcrest.Matchers.not;
|
||||||
|
|
||||||
public class I2PActivityTest extends ActivityInstrumentationTestCase2<I2PActivity> {
|
@RunWith(AndroidJUnit4.class)
|
||||||
public I2PActivityTest() {
|
public class I2PActivityTest {
|
||||||
super(I2PActivity.class);
|
|
||||||
}
|
private ActivityScenario<I2PActivity> scenario;
|
||||||
|
|
||||||
@Override
|
@Before
|
||||||
protected void setUp() throws Exception {
|
public void setUp() {
|
||||||
super.setUp();
|
scenario = ActivityScenario.launch(I2PActivity.class);
|
||||||
// For each test method invocation, the Activity will not actually be created
|
|
||||||
// until the first time this method is called.
|
|
||||||
getActivity();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
public void testMainTabs() {
|
public void testMainTabs() {
|
||||||
onView(withId(R.id.router_onoff_button)).check(matches(isDisplayed()));
|
onView(withId(R.id.router_onoff_button)).check(matches(isDisplayed()));
|
||||||
|
|
||||||
@ -55,6 +59,7 @@ public class I2PActivityTest extends ActivityInstrumentationTestCase2<I2PActivit
|
|||||||
onView(withId(R.id.router_onoff_button)).check(matches(isDisplayed()));
|
onView(withId(R.id.router_onoff_button)).check(matches(isDisplayed()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
public void testMainSwipe() {
|
public void testMainSwipe() {
|
||||||
onView(withId(R.id.router_onoff_button)).check(matches(isDisplayed()));
|
onView(withId(R.id.router_onoff_button)).check(matches(isDisplayed()));
|
||||||
|
|
||||||
@ -70,9 +75,10 @@ public class I2PActivityTest extends ActivityInstrumentationTestCase2<I2PActivit
|
|||||||
// TODO: test addressbook ViewPager
|
// TODO: test addressbook ViewPager
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
public void testSettingsNavigation() {
|
public void testSettingsNavigation() {
|
||||||
// Open settings menu
|
// Open settings menu
|
||||||
openActionBarOverflowOrOptionsMenu(getActivity());
|
openActionBarOverflowOrOptionsMenu(getInstrumentation().getTargetContext());
|
||||||
onView(withText(R.string.menu_settings)).perform(click());
|
onView(withText(R.string.menu_settings)).perform(click());
|
||||||
|
|
||||||
// Open bandwidth page
|
// Open bandwidth page
|
||||||
@ -106,4 +112,4 @@ public class I2PActivityTest extends ActivityInstrumentationTestCase2<I2PActivit
|
|||||||
pressBack();
|
pressBack();
|
||||||
onView(withText(R.string.settings_label_advanced)).check(doesNotExist());
|
onView(withText(R.string.settings_label_advanced)).check(doesNotExist());
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -11,6 +11,7 @@
|
|||||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
||||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||||
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE" />
|
||||||
<!-- following two are for UPnP -->
|
<!-- following two are for UPnP -->
|
||||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||||||
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
|
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
|
||||||
@ -29,7 +30,10 @@
|
|||||||
android:icon="@drawable/ic_launcher_itoopie"
|
android:icon="@drawable/ic_launcher_itoopie"
|
||||||
android:enabled="true"
|
android:enabled="true"
|
||||||
android:exported="true"
|
android:exported="true"
|
||||||
android:label="@string/app_name">
|
android:label="@string/app_name"
|
||||||
|
android:foregroundServiceType="specialUse">
|
||||||
|
<property android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE"
|
||||||
|
android:value="i2p_router_background_process_required_network_operation"/>
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="net.i2p.android.router.service.IRouterState" />
|
<action android:name="net.i2p.android.router.service.IRouterState" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
|
@ -19,7 +19,7 @@ import android.view.ViewGroup;
|
|||||||
import android.widget.ImageButton;
|
import android.widget.ImageButton;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import com.viewpagerindicator.TitlePageIndicator;
|
//import com.viewpagerindicator.TitlePageIndicator;
|
||||||
|
|
||||||
import net.i2p.android.i2ptunnel.preferences.EditTunnelContainerFragment;
|
import net.i2p.android.i2ptunnel.preferences.EditTunnelContainerFragment;
|
||||||
import net.i2p.android.i2ptunnel.util.TunnelUtil;
|
import net.i2p.android.i2ptunnel.util.TunnelUtil;
|
||||||
@ -52,7 +52,7 @@ public class TunnelsContainer extends Fragment implements
|
|||||||
private boolean mTwoPane;
|
private boolean mTwoPane;
|
||||||
|
|
||||||
ViewPager mViewPager;
|
ViewPager mViewPager;
|
||||||
TitlePageIndicator mPageIndicator;
|
//TitlePageIndicator mPageIndicator;
|
||||||
FragmentPagerAdapter mFragPagerAdapter;
|
FragmentPagerAdapter mFragPagerAdapter;
|
||||||
|
|
||||||
private static final String FRAGMENT_CLIENT = "client_fragment";
|
private static final String FRAGMENT_CLIENT = "client_fragment";
|
||||||
@ -82,7 +82,7 @@ public class TunnelsContainer extends Fragment implements
|
|||||||
View v = inflater.inflate(R.layout.container_tunnels, container, false);
|
View v = inflater.inflate(R.layout.container_tunnels, container, false);
|
||||||
|
|
||||||
mViewPager = (ViewPager) v.findViewById(R.id.pager);
|
mViewPager = (ViewPager) v.findViewById(R.id.pager);
|
||||||
mPageIndicator = (TitlePageIndicator) v.findViewById(R.id.page_indicator);
|
//mPageIndicator = (TitlePageIndicator) v.findViewById(R.id.page_indicator);
|
||||||
mNewTunnel = (ImageButton) v.findViewById(R.id.promoted_action);
|
mNewTunnel = (ImageButton) v.findViewById(R.id.promoted_action);
|
||||||
mNewTunnel.setVisibility(showActions() ? View.VISIBLE : View.GONE);
|
mNewTunnel.setVisibility(showActions() ? View.VISIBLE : View.GONE);
|
||||||
|
|
||||||
@ -111,7 +111,7 @@ public class TunnelsContainer extends Fragment implements
|
|||||||
mViewPager.setAdapter(mFragPagerAdapter);
|
mViewPager.setAdapter(mFragPagerAdapter);
|
||||||
|
|
||||||
// Bind the page indicator to the pager.
|
// Bind the page indicator to the pager.
|
||||||
mPageIndicator.setViewPager(mViewPager);
|
//mPageIndicator.setViewPager(mViewPager);
|
||||||
|
|
||||||
mNewTunnel.setOnClickListener(new View.OnClickListener() {
|
mNewTunnel.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
|
@ -20,7 +20,7 @@ import android.view.MenuItem;
|
|||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
|
||||||
import com.viewpagerindicator.TitlePageIndicator;
|
//import com.viewpagerindicator.TitlePageIndicator;
|
||||||
|
|
||||||
import net.i2p.android.router.R;
|
import net.i2p.android.router.R;
|
||||||
import net.i2p.android.router.util.NamingServiceUtil;
|
import net.i2p.android.router.util.NamingServiceUtil;
|
||||||
@ -92,10 +92,10 @@ public class AddressbookContainer extends Fragment
|
|||||||
|
|
||||||
if (!mTwoPane) {
|
if (!mTwoPane) {
|
||||||
mViewPager = (ViewPager) v.findViewById(R.id.pager);
|
mViewPager = (ViewPager) v.findViewById(R.id.pager);
|
||||||
TitlePageIndicator pageIndicator = (TitlePageIndicator) v.findViewById(R.id.page_indicator);
|
//TitlePageIndicator pageIndicator = (TitlePageIndicator) v.findViewById(R.id.page_indicator);
|
||||||
mFragPagerAdapter = new AddressbookPagerAdapter(getActivity(), getChildFragmentManager());
|
mFragPagerAdapter = new AddressbookPagerAdapter(getActivity(), getChildFragmentManager());
|
||||||
mViewPager.setAdapter(mFragPagerAdapter);
|
mViewPager.setAdapter(mFragPagerAdapter);
|
||||||
pageIndicator.setViewPager(mViewPager);
|
//pageIndicator.setViewPager(mViewPager);
|
||||||
}
|
}
|
||||||
|
|
||||||
return v;
|
return v;
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package net.i2p.android.router.service;
|
package net.i2p.android.router.service;
|
||||||
|
|
||||||
|
import static android.content.pm.ServiceInfo.FOREGROUND_SERVICE_TYPE_SPECIAL_USE;
|
||||||
|
|
||||||
import android.app.Service;
|
import android.app.Service;
|
||||||
import android.content.BroadcastReceiver;
|
import android.content.BroadcastReceiver;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
@ -173,11 +175,18 @@ public class RouterService extends Service {
|
|||||||
// We need to *not* check if we're restarting on Android greater than Oreo due to
|
// We need to *not* check if we're restarting on Android greater than Oreo due to
|
||||||
// changes in how notifications work and the use of NotificationChannels.
|
// changes in how notifications work and the use of NotificationChannels.
|
||||||
if(!restart) {
|
if(!restart) {
|
||||||
startForeground(1337, _statusBar.getNote());
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
|
||||||
|
startForeground(1337, _statusBar.getNote(), FOREGROUND_SERVICE_TYPE_SPECIAL_USE);
|
||||||
|
} else {
|
||||||
|
startForeground(1337, _statusBar.getNote());
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
if (Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
|
if (Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
|
||||||
startForeground(1337, _statusBar.getNote());
|
startForeground(1337, _statusBar.getNote());
|
||||||
}
|
}
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
|
||||||
|
startForeground(1337, _statusBar.getNote(), FOREGROUND_SERVICE_TYPE_SPECIAL_USE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -140,6 +140,7 @@ class StatusBar {
|
|||||||
mNotificationManager.createNotificationChannel(mNotificationChannel);
|
mNotificationManager.createNotificationChannel(mNotificationChannel);
|
||||||
mNotificationChannel.setLockscreenVisibility(Notification.VISIBILITY_PRIVATE);
|
mNotificationChannel.setLockscreenVisibility(Notification.VISIBILITY_PRIVATE);
|
||||||
mNotifyBuilder.setChannelId(NOTIFICATION_CHANNEL_ID);
|
mNotifyBuilder.setChannelId(NOTIFICATION_CHANNEL_ID);
|
||||||
|
//
|
||||||
}
|
}
|
||||||
mNotif = mNotifyBuilder.build();
|
mNotif = mNotifyBuilder.build();
|
||||||
mNotificationManager.notify(ID, mNotif);
|
mNotificationManager.notify(ID, mNotif);
|
||||||
|
@ -5,10 +5,6 @@
|
|||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
|
||||||
<com.viewpagerindicator.TitlePageIndicator
|
|
||||||
android:id="@+id/page_indicator"
|
|
||||||
style="@style/PagerIndicator" />
|
|
||||||
|
|
||||||
<!-- The main content view -->
|
<!-- The main content view -->
|
||||||
<android.support.v4.view.ViewPager
|
<android.support.v4.view.ViewPager
|
||||||
android:id="@+id/pager"
|
android:id="@+id/pager"
|
||||||
|
@ -29,10 +29,6 @@
|
|||||||
android:layout_weight="2"
|
android:layout_weight="2"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
|
||||||
<com.viewpagerindicator.TitlePageIndicator
|
|
||||||
android:id="@+id/page_indicator"
|
|
||||||
style="@style/PagerIndicator" />
|
|
||||||
|
|
||||||
<android.support.v4.view.ViewPager
|
<android.support.v4.view.ViewPager
|
||||||
android:id="@+id/pager"
|
android:id="@+id/pager"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
@ -4,17 +4,12 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
<com.viewpagerindicator.TitlePageIndicator
|
|
||||||
android:id="@+id/page_indicator"
|
|
||||||
style="@style/PagerIndicator" />
|
|
||||||
|
|
||||||
<!-- The main content view -->
|
<!-- The main content view -->
|
||||||
<android.support.v4.view.ViewPager
|
<android.support.v4.view.ViewPager
|
||||||
android:id="@+id/pager"
|
android:id="@+id/pager"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
android:layout_alignParentBottom="true"
|
android:layout_alignParentBottom="true" />
|
||||||
android:layout_below="@id/page_indicator" />
|
|
||||||
|
|
||||||
<net.i2p.android.ext.floatingactionbutton.AddFloatingActionButton
|
<net.i2p.android.ext.floatingactionbutton.AddFloatingActionButton
|
||||||
android:id="@+id/promoted_action"
|
android:id="@+id/promoted_action"
|
||||||
|
@ -15,7 +15,7 @@ buildscript {
|
|||||||
google()
|
google()
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath 'com.android.tools.build:gradle:7.3.1'
|
classpath 'com.android.tools.build:gradle:7.4.2'
|
||||||
classpath 'com.android.tools.lint:lint-gradle:26.1.1'
|
classpath 'com.android.tools.lint:lint-gradle:26.1.1'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -14,10 +14,12 @@ POM_DEVELOPER_ID=idk
|
|||||||
POM_DEVELOPER_NAME=idk
|
POM_DEVELOPER_NAME=idk
|
||||||
POM_DEVELOPER_EMAIL=hankhill19580@gmail.com
|
POM_DEVELOPER_EMAIL=hankhill19580@gmail.com
|
||||||
|
|
||||||
ANDROID_BUILD_TARGET_SDK_VERSION=33
|
ANDROID_BUILD_TARGET_SDK_VERSION=34
|
||||||
ANDROID_BUILD_SDK_VERSION=33
|
ANDROID_BUILD_SDK_VERSION=34
|
||||||
|
|
||||||
I2P_VERSION=2.6.0
|
I2P_VERSION=2.7.0
|
||||||
I2P_ANDROID_VERSION=2.6.0
|
I2P_ANDROID_VERSION=2.7.1
|
||||||
|
I2P_ANDROID_VERSION_CODE=4745289
|
||||||
android.disableAutomaticComponentCreation=true
|
android.disableAutomaticComponentCreation=true
|
||||||
android.useAndroidX=true
|
android.useAndroidX=true
|
||||||
|
#android.enableJetifier=true
|
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
|
|||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
|
||||||
|
Reference in New Issue
Block a user