Compare commits
1 Commits
i2p-androi
...
i2p-androi
Author | SHA1 | Date | |
---|---|---|---|
b39ee68c2f |
@ -1,6 +1,6 @@
|
|||||||
[main]
|
[main]
|
||||||
host = https://www.transifex.com
|
host = https://www.transifex.com
|
||||||
lang_map = pt_BR: pt-rBR, yi: ji, zh_CN: zh, zh_TW: zh-rTW, id: in, ru_RU: ru, sv_SE: sv, tr_TR: tr, uk_UA: uk, he: iw, es_AR: es-rAR
|
lang_map = pt_BR: pt-rBR, yi: ji, zh_CN: zh, zh_TW: zh-rTW, id: in, ru_RU: ru, sv_SE: sv, tr_TR: tr, uk_UA: uk, he: iw
|
||||||
|
|
||||||
[o:otf:p:I2P:r:android]
|
[o:otf:p:I2P:r:android]
|
||||||
file_filter = app/src/main/res/values-<lang>/strings.xml
|
file_filter = app/src/main/res/values-<lang>/strings.xml
|
||||||
|
18
CHANGELOG
18
CHANGELOG
@ -1,21 +1,3 @@
|
|||||||
2.8.0
|
|
||||||
* Update I2P Library
|
|
||||||
* Migrate to AndroidX
|
|
||||||
* Migrate to MagicIndicator
|
|
||||||
|
|
||||||
2.7.1
|
|
||||||
* Update I2P Library
|
|
||||||
* Roll back ViewPageIndicator version, fixes crash, causes other issues
|
|
||||||
|
|
||||||
2.7.0
|
|
||||||
* Update I2P Library
|
|
||||||
|
|
||||||
2.6.0
|
|
||||||
* Update I2P Library
|
|
||||||
|
|
||||||
2.5.0
|
|
||||||
* Update I2P Library
|
|
||||||
|
|
||||||
2.4.0
|
2.4.0
|
||||||
* Update I2P Library
|
* Update I2P Library
|
||||||
|
|
||||||
|
34
LICENSE.txt
34
LICENSE.txt
@ -43,34 +43,8 @@ License for the Android App:
|
|||||||
See the License for the specific language governing permissions and
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
|
|
||||||
|
|
||||||
|
===================================
|
||||||
|
|
||||||
|
|
||||||
See the file licenses/LICENSE-Apache2.0.txt
|
See the file licenses/LICENSE-Apache2.0.txt
|
||||||
|
|
||||||
===================================
|
|
||||||
|
|
||||||
License for the MagicIndicator library:
|
|
||||||
|
|
||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2016 hackware1993
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
|
|
||||||
===================================
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -76,8 +76,8 @@ app. After doing the Maven release, follow these steps in the i2p.android.base r
|
|||||||
the `docker run` step described in `DOCKER.md`
|
the `docker run` step described in `DOCKER.md`
|
||||||
|
|
||||||
1. Edit `routerjars/local.properties` to use the clean i2p.i2p copy.
|
1. Edit `routerjars/local.properties` to use the clean i2p.i2p copy.
|
||||||
2. Pull the latest translations with `tx pull --use-git-timestamps` and commit them. (If you don't have the `tx` command,
|
2. Pull the latest translations with `tx pull -a -f` and commit them. (If you don't have the `tx` command,
|
||||||
do `pip install transifex-client` ). If there are broken translations, exclude them and only them.
|
do `pip install transifex-client` )
|
||||||
- If there are any new translations, `mtn add` them, and add them to `app/src/main/res/values/arrays.xml`
|
- If there are any new translations, `mtn add` them, and add them to `app/src/main/res/values/arrays.xml`
|
||||||
(two places, alphabetical order please)
|
(two places, alphabetical order please)
|
||||||
3. Ensure that `signing.properties` contains the details of the release key. If you are using Docker, see
|
3. Ensure that `signing.properties` contains the details of the release key. If you are using Docker, see
|
||||||
|
@ -1,16 +1,14 @@
|
|||||||
apply plugin: 'com.android.application'
|
apply plugin: 'com.android.application'
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
mavenLocal()
|
mavenLocal()
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
maven { url 'https://jitpack.io' }
|
jcenter()
|
||||||
}
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
namespace 'net.i2p.android.router'
|
|
||||||
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 Integer.parseInt(project.I2P_ANDROID_VERSION_CODE as String)
|
versionCode 4745282
|
||||||
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)
|
||||||
@ -66,34 +64,28 @@ android {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation "androidx.appcompat:appcompat:1.5.1"
|
|
||||||
implementation "androidx.preference:preference:1.2.0"
|
|
||||||
implementation "androidx.annotation:annotation:1.5.0"
|
|
||||||
implementation 'androidx.recyclerview:recyclerview:1.0.0'
|
|
||||||
// Local dependencies
|
// Local dependencies
|
||||||
implementation project(':lib:client')
|
implementation project(':lib:client')
|
||||||
implementation project(':lib:helper')
|
implementation project(':lib:helper')
|
||||||
implementation project(path: ':routerjars', configuration: 'routerjars')
|
implementation project(path: ':routerjars', configuration: 'routerjars')
|
||||||
// Android Support Repository dependencies
|
// Android Support Repository dependencies
|
||||||
/*def supportVersion = '28.0.0'
|
def supportVersion = '28.0.0'
|
||||||
implementation "com.android.support:support-v4:$supportVersion"
|
implementation "com.android.support:support-v4:$supportVersion"
|
||||||
implementation "com.android.support:appcompat-v7:$supportVersion"
|
implementation "com.android.support:appcompat-v7:$supportVersion"
|
||||||
implementation "com.android.support:preference-v7:$supportVersion"
|
implementation "com.android.support:preference-v7:$supportVersion"
|
||||||
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"
|
||||||
implementation 'com.google.android.material:material:1.9.0'
|
|
||||||
// Remote dependencies
|
// Remote dependencies
|
||||||
implementation 'com.androidplot:androidplot-core:1.5.11'
|
implementation 'com.androidplot:androidplot-core:1.4.1'
|
||||||
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.4'
|
||||||
implementation 'com.github.hackware1993:MagicIndicator:1.7.0' // for androidx
|
|
||||||
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 'com.github.SufficientlySecure:html-textview:v3.6'
|
implementation 'org.sufficientlysecure:html-textview:3.1'
|
||||||
// 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'
|
||||||
@ -101,30 +93,9 @@ dependencies {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation "androidx.appcompat:appcompat:1.5.1"
|
|
||||||
implementation "androidx.preference:preference:1.2.0"
|
|
||||||
implementation "androidx.annotation:annotation:1.5.0"
|
|
||||||
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'
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
|
||||||
// ...existing code...
|
|
||||||
|
|
||||||
// Force consistent lifecycle versions
|
|
||||||
implementation('androidx.lifecycle:lifecycle-viewmodel:2.5.1')
|
|
||||||
implementation('androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1')
|
|
||||||
|
|
||||||
// Exclude older versions
|
|
||||||
configurations.all {
|
|
||||||
resolutionStrategy {
|
|
||||||
force 'androidx.lifecycle:lifecycle-viewmodel:2.5.1'
|
|
||||||
force 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
project.ext.i2pbase = "../i2p.i2p"
|
project.ext.i2pbase = "../i2p.i2p"
|
||||||
def Properties props = new Properties()
|
def Properties props = new Properties()
|
||||||
def propFile = new File(project(':routerjars').projectDir, 'local.properties')
|
def propFile = new File(project(':routerjars').projectDir, 'local.properties')
|
||||||
|
@ -1,43 +1,39 @@
|
|||||||
package net.i2p.android;
|
package net.i2p.android;
|
||||||
|
|
||||||
import androidx.test.core.app.ActivityScenario;
|
import android.test.ActivityInstrumentationTestCase2;
|
||||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
|
||||||
|
|
||||||
import net.i2p.android.router.R;
|
import net.i2p.android.router.R;
|
||||||
|
|
||||||
import org.junit.Before;
|
import static android.support.test.espresso.Espresso.closeSoftKeyboard;
|
||||||
import org.junit.Test;
|
import static android.support.test.espresso.Espresso.onView;
|
||||||
import org.junit.runner.RunWith;
|
import static android.support.test.espresso.Espresso.openActionBarOverflowOrOptionsMenu;
|
||||||
|
import static android.support.test.espresso.Espresso.pressBack;
|
||||||
import static androidx.test.espresso.Espresso.closeSoftKeyboard;
|
import static android.support.test.espresso.action.ViewActions.click;
|
||||||
import static androidx.test.espresso.Espresso.onView;
|
import static android.support.test.espresso.action.ViewActions.swipeLeft;
|
||||||
import static androidx.test.espresso.Espresso.openActionBarOverflowOrOptionsMenu;
|
import static android.support.test.espresso.assertion.ViewAssertions.doesNotExist;
|
||||||
import static androidx.test.espresso.Espresso.pressBack;
|
import static android.support.test.espresso.assertion.ViewAssertions.matches;
|
||||||
import static androidx.test.espresso.action.ViewActions.click;
|
import static android.support.test.espresso.matcher.ViewMatchers.hasSibling;
|
||||||
import static androidx.test.espresso.action.ViewActions.swipeLeft;
|
import static android.support.test.espresso.matcher.ViewMatchers.isDescendantOfA;
|
||||||
import static androidx.test.espresso.assertion.ViewAssertions.doesNotExist;
|
import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
|
||||||
import static androidx.test.espresso.assertion.ViewAssertions.matches;
|
import static android.support.test.espresso.matcher.ViewMatchers.withId;
|
||||||
import static androidx.test.espresso.matcher.ViewMatchers.hasSibling;
|
import static android.support.test.espresso.matcher.ViewMatchers.withParent;
|
||||||
import static androidx.test.espresso.matcher.ViewMatchers.isDescendantOfA;
|
import static android.support.test.espresso.matcher.ViewMatchers.withText;
|
||||||
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;
|
||||||
|
|
||||||
@RunWith(AndroidJUnit4.class)
|
public class I2PActivityTest extends ActivityInstrumentationTestCase2<I2PActivity> {
|
||||||
public class I2PActivityTest {
|
public I2PActivityTest() {
|
||||||
|
super(I2PActivity.class);
|
||||||
private ActivityScenario<I2PActivity> scenario;
|
}
|
||||||
|
|
||||||
@Before
|
@Override
|
||||||
public void setUp() {
|
protected void setUp() throws Exception {
|
||||||
scenario = ActivityScenario.launch(I2PActivity.class);
|
super.setUp();
|
||||||
|
// 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()));
|
||||||
|
|
||||||
@ -59,7 +55,6 @@ public class I2PActivityTest {
|
|||||||
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()));
|
||||||
|
|
||||||
@ -75,10 +70,9 @@ public class I2PActivityTest {
|
|||||||
// TODO: test addressbook ViewPager
|
// TODO: test addressbook ViewPager
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void testSettingsNavigation() {
|
public void testSettingsNavigation() {
|
||||||
// Open settings menu
|
// Open settings menu
|
||||||
openActionBarOverflowOrOptionsMenu(getInstrumentation().getTargetContext());
|
openActionBarOverflowOrOptionsMenu(getActivity());
|
||||||
onView(withText(R.string.menu_settings)).perform(click());
|
onView(withText(R.string.menu_settings)).perform(click());
|
||||||
|
|
||||||
// Open bandwidth page
|
// Open bandwidth page
|
||||||
|
@ -11,7 +11,6 @@
|
|||||||
<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" />
|
||||||
@ -30,10 +29,7 @@
|
|||||||
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>
|
||||||
|
@ -1,15 +1,10 @@
|
|||||||
//package android.support.v4.view;
|
package android.support.v4.view;
|
||||||
package androidx.viewpager.widget;
|
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.Parcel;
|
import android.os.Parcel;
|
||||||
import android.os.Parcelable;
|
import android.os.Parcelable;
|
||||||
//import android.support.v4.os.ParcelableCompat;
|
import android.support.v4.os.ParcelableCompat;
|
||||||
import androidx.core.os.ParcelableCompat;
|
import android.support.v4.os.ParcelableCompatCreatorCallbacks;
|
||||||
//import android.support.v4.os.ParcelableCompatCreatorCallbacks;
|
|
||||||
import androidx.core.os.ParcelableCompatCreatorCallbacks;
|
|
||||||
|
|
||||||
import androidx.viewpager.widget.ViewPager;
|
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
import android.view.MotionEvent;
|
import android.view.MotionEvent;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
@ -2,10 +2,9 @@ package com.pavelsikun.seekbarpreference;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.res.TypedArray;
|
import android.content.res.TypedArray;
|
||||||
import androidx.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import android.support.annotation.Nullable;
|
||||||
//import android.support.v7.preference.Preference;
|
import android.support.v7.preference.Preference;
|
||||||
import androidx.preference.Preference;
|
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
@ -4,11 +4,9 @@ import android.annotation.TargetApi;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.res.TypedArray;
|
import android.content.res.TypedArray;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import androidx.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
//import android.support.v7.preference.Preference;
|
import android.support.v7.preference.Preference;
|
||||||
import androidx.preference.Preference;
|
import android.support.v7.preference.PreferenceViewHolder;
|
||||||
//import android.support.v7.preference.PreferenceViewHolder;
|
|
||||||
import androidx.preference.PreferenceViewHolder;
|
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
|
|
||||||
import net.i2p.android.router.R;
|
import net.i2p.android.router.R;
|
||||||
|
@ -5,14 +5,10 @@ import android.content.Context;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.IntentFilter;
|
import android.content.IntentFilter;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
import androidx.fragment.app.Fragment;
|
import android.support.v4.app.FragmentManager;
|
||||||
//import android.support.v4.app.FragmentManager;
|
import android.support.v4.content.LocalBroadcastManager;
|
||||||
import androidx.fragment.app.FragmentManager;
|
import android.support.v7.widget.Toolbar;
|
||||||
//import android.support.v4.content.LocalBroadcastManager;
|
|
||||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
|
||||||
//import android.support.v7.widget.Toolbar;
|
|
||||||
import androidx.appcompat.widget.Toolbar;
|
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
|
|
||||||
@ -29,7 +25,7 @@ import net.i2p.android.router.service.State;
|
|||||||
import net.i2p.android.router.util.Connectivity;
|
import net.i2p.android.router.util.Connectivity;
|
||||||
import net.i2p.android.router.util.Util;
|
import net.i2p.android.router.util.Util;
|
||||||
import net.i2p.android.util.MemoryFragmentPagerAdapter;
|
import net.i2p.android.util.MemoryFragmentPagerAdapter;
|
||||||
import androidx.viewpager.widget.CustomViewPager;
|
import android.support.v4.view.CustomViewPager;
|
||||||
import net.i2p.android.widget.SlidingTabLayout;
|
import net.i2p.android.widget.SlidingTabLayout;
|
||||||
import net.i2p.router.RouterContext;
|
import net.i2p.router.RouterContext;
|
||||||
|
|
||||||
|
@ -6,8 +6,7 @@ import android.content.ServiceConnection;
|
|||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.IBinder;
|
import android.os.IBinder;
|
||||||
//import android.support.v7.app.AppCompatActivity;
|
import android.support.v7.app.AppCompatActivity;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
|
||||||
|
|
||||||
import net.i2p.android.router.service.RouterBinder;
|
import net.i2p.android.router.service.RouterBinder;
|
||||||
import net.i2p.android.router.service.RouterService;
|
import net.i2p.android.router.service.RouterService;
|
||||||
|
@ -6,7 +6,7 @@ import android.content.pm.PackageManager;
|
|||||||
import android.content.pm.ResolveInfo;
|
import android.content.pm.ResolveInfo;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import androidx.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
@ -6,8 +6,7 @@ import android.content.Intent;
|
|||||||
import android.graphics.ColorMatrix;
|
import android.graphics.ColorMatrix;
|
||||||
import android.graphics.ColorMatrixColorFilter;
|
import android.graphics.ColorMatrixColorFilter;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
//import android.support.v7.widget.RecyclerView;
|
import android.support.v7.widget.RecyclerView;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
@ -1,10 +1,8 @@
|
|||||||
package net.i2p.android.help;
|
package net.i2p.android.help;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v7.app.AppCompatActivity;
|
import android.support.v7.app.AppCompatActivity;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import android.support.v7.widget.Toolbar;
|
||||||
//import android.support.v7.widget.Toolbar;
|
|
||||||
import androidx.appcompat.widget.Toolbar;
|
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
|
|
||||||
import net.i2p.android.router.R;
|
import net.i2p.android.router.R;
|
||||||
|
@ -8,16 +8,11 @@ import android.content.pm.ResolveInfo;
|
|||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
import androidx.fragment.app.Fragment;
|
import android.support.v4.app.LoaderManager;
|
||||||
//import android.support.v4.app.LoaderManager;
|
import android.support.v4.content.Loader;
|
||||||
import androidx.loader.app.LoaderManager;
|
import android.support.v7.widget.LinearLayoutManager;
|
||||||
//import android.support.v4.content.Loader;
|
import android.support.v7.widget.RecyclerView;
|
||||||
import androidx.loader.content.Loader;
|
|
||||||
//import android.support.v7.widget.LinearLayoutManager;
|
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
|
||||||
//import android.support.v7.widget.RecyclerView;
|
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
@ -2,14 +2,10 @@ package net.i2p.android.help;
|
|||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v4.app.NavUtils;
|
import android.support.v4.app.NavUtils;
|
||||||
import androidx.core.app.NavUtils;
|
import android.support.v4.app.TaskStackBuilder;
|
||||||
//import android.support.v4.app.TaskStackBuilder;
|
import android.support.v7.app.AppCompatActivity;
|
||||||
import androidx.core.app.TaskStackBuilder;
|
import android.support.v7.widget.Toolbar;
|
||||||
//import android.support.v7.app.AppCompatActivity;
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
|
||||||
//import android.support.v7.widget.Toolbar;
|
|
||||||
import androidx.appcompat.widget.Toolbar;
|
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
|
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
package net.i2p.android.help;
|
package net.i2p.android.help;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
@ -2,8 +2,7 @@ package net.i2p.android.help;
|
|||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v4.app.ListFragment;
|
import android.support.v4.app.ListFragment;
|
||||||
import androidx.fragment.app.ListFragment;
|
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.ArrayAdapter;
|
import android.widget.ArrayAdapter;
|
||||||
import android.widget.ListView;
|
import android.widget.ListView;
|
||||||
|
@ -2,10 +2,8 @@ package net.i2p.android.i2ptunnel;
|
|||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v4.app.ActivityCompat;
|
import android.support.v4.app.ActivityCompat;
|
||||||
import androidx.core.app.ActivityCompat;
|
import android.support.v7.widget.Toolbar;
|
||||||
//import android.support.v7.widget.Toolbar;
|
|
||||||
import androidx.appcompat.widget.Toolbar;
|
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
|
||||||
import net.i2p.android.I2PActivityBase;
|
import net.i2p.android.I2PActivityBase;
|
||||||
|
@ -10,17 +10,12 @@ import android.content.Intent;
|
|||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import androidx.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
//import android.support.v4.app.DialogFragment;
|
import android.support.v4.app.DialogFragment;
|
||||||
import androidx.fragment.app.DialogFragment;
|
import android.support.v4.app.Fragment;
|
||||||
//import android.support.v4.app.Fragment;
|
import android.support.v4.view.ViewCompat;
|
||||||
import androidx.fragment.app.Fragment;
|
import android.support.v7.app.AlertDialog;
|
||||||
//import android.support.v4.view.ViewCompat;
|
import android.support.v7.widget.Toolbar;
|
||||||
import androidx.core.view.ViewCompat;
|
|
||||||
//import android.support.v7.app.AlertDialog;
|
|
||||||
import androidx.appcompat.app.AlertDialog;
|
|
||||||
//import android.support.v7.widget.Toolbar;
|
|
||||||
import androidx.appcompat.widget.Toolbar;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
|
@ -2,12 +2,9 @@ package net.i2p.android.i2ptunnel;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
//import android.support.v4.util.Pair;
|
import android.support.v4.util.Pair;
|
||||||
import androidx.core.util.Pair;
|
import android.support.v4.view.ViewCompat;
|
||||||
//import android.support.v4.view.ViewCompat;
|
import android.support.v7.widget.RecyclerView;
|
||||||
import androidx.core.view.ViewCompat;
|
|
||||||
//import android.support.v7.widget.RecyclerView;
|
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
|
||||||
import android.view.Gravity;
|
import android.view.Gravity;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
@ -2,8 +2,7 @@ package net.i2p.android.i2ptunnel;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
//import android.support.v4.content.AsyncTaskLoader;
|
import android.support.v4.content.AsyncTaskLoader;
|
||||||
import androidx.loader.content.AsyncTaskLoader;
|
|
||||||
|
|
||||||
import net.i2p.android.router.util.Util;
|
import net.i2p.android.router.util.Util;
|
||||||
import net.i2p.i2ptunnel.TunnelController;
|
import net.i2p.i2ptunnel.TunnelController;
|
||||||
|
@ -6,20 +6,13 @@ import android.content.Context;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.IntentFilter;
|
import android.content.IntentFilter;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
import androidx.fragment.app.Fragment;
|
import android.support.v4.app.LoaderManager;
|
||||||
//import android.support.v4.app.LoaderManager;
|
import android.support.v4.content.Loader;
|
||||||
import androidx.loader.app.LoaderManager;
|
import android.support.v4.content.LocalBroadcastManager;
|
||||||
//import android.support.v4.content.Loader;
|
import android.support.v4.util.Pair;
|
||||||
import androidx.loader.content.Loader;
|
import android.support.v7.widget.LinearLayoutManager;
|
||||||
//import android.support.v4.content.LocalBroadcastManager;
|
import android.support.v7.widget.RecyclerView;
|
||||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
|
||||||
//import android.support.v4.util.Pair;
|
|
||||||
import androidx.core.util.Pair;
|
|
||||||
//import android.support.v7.widget.LinearLayoutManager;
|
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
|
||||||
//import android.support.v7.widget.RecyclerView;
|
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
@ -64,8 +57,6 @@ public class TunnelListFragment extends Fragment implements
|
|||||||
private TunnelEntryAdapter mAdapter;
|
private TunnelEntryAdapter mAdapter;
|
||||||
private boolean mClientTunnels;
|
private boolean mClientTunnels;
|
||||||
|
|
||||||
private static final String KEY_SELECTED_TUNNEL = "selected_tunnel";
|
|
||||||
|
|
||||||
// Container Activity must implement this interface
|
// Container Activity must implement this interface
|
||||||
public interface OnTunnelSelectedListener {
|
public interface OnTunnelSelectedListener {
|
||||||
void onTunnelSelected(int tunnelId, Pair<View, String>[] pairs);
|
void onTunnelSelected(int tunnelId, Pair<View, String>[] pairs);
|
||||||
@ -109,12 +100,6 @@ public class TunnelListFragment extends Fragment implements
|
|||||||
@Override
|
@Override
|
||||||
public void onViewCreated(View view, Bundle savedInstanceState) {
|
public void onViewCreated(View view, Bundle savedInstanceState) {
|
||||||
super.onViewCreated(view, savedInstanceState);
|
super.onViewCreated(view, savedInstanceState);
|
||||||
if (savedInstanceState != null) {
|
|
||||||
int tunnelId = savedInstanceState.getInt(KEY_SELECTED_TUNNEL, -1);
|
|
||||||
if (tunnelId != -1) {
|
|
||||||
mCallback.onTunnelSelected(tunnelId, null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -6,11 +6,9 @@ import android.content.Context;
|
|||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import androidx.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
//import android.support.v4.app.DialogFragment;
|
import android.support.v4.app.DialogFragment;
|
||||||
import androidx.fragment.app.DialogFragment;
|
import android.support.v7.app.AlertDialog;
|
||||||
//import android.support.v7.app.AlertDialog;
|
|
||||||
import androidx.appcompat.app.AlertDialog;
|
|
||||||
|
|
||||||
import net.i2p.android.router.R;
|
import net.i2p.android.router.R;
|
||||||
import net.i2p.android.wizard.model.AbstractWizardModel;
|
import net.i2p.android.wizard.model.AbstractWizardModel;
|
||||||
|
@ -1,25 +1,15 @@
|
|||||||
package net.i2p.android.i2ptunnel;
|
package net.i2p.android.i2ptunnel;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.Context;
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v4.app.ActivityCompat;
|
import android.support.v4.app.ActivityCompat;
|
||||||
import androidx.core.app.ActivityCompat;
|
import android.support.v4.app.ActivityOptionsCompat;
|
||||||
//import android.support.v4.app.ActivityOptionsCompat;
|
import android.support.v4.app.Fragment;
|
||||||
import androidx.core.app.ActivityOptionsCompat;
|
import android.support.v4.app.FragmentManager;
|
||||||
//import android.support.v4.app.Fragment;
|
import android.support.v4.app.FragmentPagerAdapter;
|
||||||
import androidx.fragment.app.Fragment;
|
import android.support.v4.util.Pair;
|
||||||
//import android.support.v4.app.FragmentManager;
|
import android.support.v4.view.ViewPager;
|
||||||
import androidx.fragment.app.FragmentManager;
|
|
||||||
//import android.support.v4.app.FragmentPagerAdapter;
|
|
||||||
import androidx.fragment.app.FragmentPagerAdapter;
|
|
||||||
//import android.support.v4.util.Pair;
|
|
||||||
import androidx.core.util.Pair;
|
|
||||||
//import android.support.v4.view.ViewPager;
|
|
||||||
import androidx.viewpager.widget.ViewPager;
|
|
||||||
|
|
||||||
import android.util.Log;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuInflater;
|
import android.view.MenuInflater;
|
||||||
@ -29,17 +19,7 @@ import android.view.ViewGroup;
|
|||||||
import android.widget.ImageButton;
|
import android.widget.ImageButton;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import com.google.android.material.tabs.TabLayout;
|
import com.viewpagerindicator.TitlePageIndicator;
|
||||||
import net.lucode.hackware.magicindicator.MagicIndicator;
|
|
||||||
import net.lucode.hackware.magicindicator.ViewPagerHelper;
|
|
||||||
import net.lucode.hackware.magicindicator.buildins.commonnavigator.CommonNavigator;
|
|
||||||
import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.CommonNavigatorAdapter;
|
|
||||||
import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerIndicator;
|
|
||||||
import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerTitleView;
|
|
||||||
import net.lucode.hackware.magicindicator.buildins.commonnavigator.indicators.LinePagerIndicator;
|
|
||||||
import net.lucode.hackware.magicindicator.buildins.commonnavigator.titles.ColorTransitionPagerTitleView;
|
|
||||||
import net.lucode.hackware.magicindicator.buildins.commonnavigator.titles.SimplePagerTitleView;
|
|
||||||
import androidx.core.content.ContextCompat;
|
|
||||||
|
|
||||||
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;
|
||||||
@ -72,7 +52,7 @@ public class TunnelsContainer extends Fragment implements
|
|||||||
private boolean mTwoPane;
|
private boolean mTwoPane;
|
||||||
|
|
||||||
ViewPager mViewPager;
|
ViewPager mViewPager;
|
||||||
MagicIndicator mPageIndicator;
|
TitlePageIndicator mPageIndicator;
|
||||||
FragmentPagerAdapter mFragPagerAdapter;
|
FragmentPagerAdapter mFragPagerAdapter;
|
||||||
|
|
||||||
private static final String FRAGMENT_CLIENT = "client_fragment";
|
private static final String FRAGMENT_CLIENT = "client_fragment";
|
||||||
@ -101,17 +81,15 @@ public class TunnelsContainer extends Fragment implements
|
|||||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||||
View v = inflater.inflate(R.layout.container_tunnels, container, false);
|
View v = inflater.inflate(R.layout.container_tunnels, container, false);
|
||||||
|
|
||||||
mViewPager = v.findViewById(R.id.pager);
|
mViewPager = (ViewPager) v.findViewById(R.id.pager);
|
||||||
mPageIndicator = v.findViewById(R.id.magic_indicator);
|
mPageIndicator = (TitlePageIndicator) v.findViewById(R.id.page_indicator);
|
||||||
|
mNewTunnel = (ImageButton) v.findViewById(R.id.promoted_action);
|
||||||
mNewTunnel = v.findViewById(R.id.promoted_action);
|
|
||||||
mNewTunnel.setVisibility(showActions() ? View.VISIBLE : View.GONE);
|
mNewTunnel.setVisibility(showActions() ? View.VISIBLE : View.GONE);
|
||||||
|
|
||||||
// Initialize ViewPager adapter
|
|
||||||
mFragPagerAdapter = new TunnelsPagerAdapter(getChildFragmentManager());
|
|
||||||
mViewPager.setAdapter(mFragPagerAdapter);
|
|
||||||
|
|
||||||
if (v.findViewById(R.id.detail_fragment) != null) {
|
if (v.findViewById(R.id.detail_fragment) != null) {
|
||||||
|
// The detail container view will be present only in the
|
||||||
|
// large-screen layouts (res/values-w720dp). If this view
|
||||||
|
// is present, then the activity should be in two-pane mode.
|
||||||
mTwoPane = true;
|
mTwoPane = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -122,8 +100,6 @@ public class TunnelsContainer extends Fragment implements
|
|||||||
savedInstanceState, FRAGMENT_SERVER);
|
savedInstanceState, FRAGMENT_SERVER);
|
||||||
}
|
}
|
||||||
|
|
||||||
setupMagicIndicator();
|
|
||||||
|
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -131,13 +107,12 @@ public class TunnelsContainer extends Fragment implements
|
|||||||
public void onActivityCreated(Bundle savedInstanceState) {
|
public void onActivityCreated(Bundle savedInstanceState) {
|
||||||
super.onActivityCreated(savedInstanceState);
|
super.onActivityCreated(savedInstanceState);
|
||||||
|
|
||||||
// Initialize ViewPager and adapter
|
|
||||||
mFragPagerAdapter = new TunnelsPagerAdapter(getChildFragmentManager());
|
mFragPagerAdapter = new TunnelsPagerAdapter(getChildFragmentManager());
|
||||||
mViewPager.setAdapter(mFragPagerAdapter);
|
mViewPager.setAdapter(mFragPagerAdapter);
|
||||||
|
|
||||||
setupMagicIndicator();
|
// Bind the page indicator to the pager.
|
||||||
|
mPageIndicator.setViewPager(mViewPager);
|
||||||
|
|
||||||
// Setup New Tunnel button
|
|
||||||
mNewTunnel.setOnClickListener(new View.OnClickListener() {
|
mNewTunnel.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View view) {
|
public void onClick(View view) {
|
||||||
@ -295,14 +270,9 @@ public class TunnelsContainer extends Fragment implements
|
|||||||
// In two-pane mode, show the detail view in this activity by
|
// In two-pane mode, show the detail view in this activity by
|
||||||
// adding or replacing the detail fragment using a
|
// adding or replacing the detail fragment using a
|
||||||
// fragment transaction.
|
// fragment transaction.
|
||||||
try {
|
TunnelDetailFragment detailFrag = TunnelDetailFragment.newInstance(tunnelId);
|
||||||
TunnelDetailFragment detailFrag = TunnelDetailFragment.newInstance(tunnelId);
|
getChildFragmentManager().beginTransaction()
|
||||||
getChildFragmentManager().beginTransaction()
|
.replace(R.id.detail_fragment, detailFrag).commit();
|
||||||
.replace(R.id.detail_fragment, detailFrag)
|
|
||||||
.commitNow(); // Use commitNow() to execute synchronously
|
|
||||||
} catch (Exception e) {
|
|
||||||
Log.e("TunnelsContainer", "Failed to update detail fragment", e);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
// In single-pane mode, simply start the detail activity
|
// In single-pane mode, simply start the detail activity
|
||||||
// for the selected item ID.
|
// for the selected item ID.
|
||||||
@ -341,54 +311,4 @@ public class TunnelsContainer extends Fragment implements
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setupMagicIndicator() {
|
|
||||||
if (mPageIndicator == null || getContext() == null) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
CommonNavigator commonNavigator = new CommonNavigator(getContext());
|
|
||||||
commonNavigator.setAdjustMode(true); // Add this line for better spacing
|
|
||||||
commonNavigator.setAdapter(new CommonNavigatorAdapter() {
|
|
||||||
@Override
|
|
||||||
public int getCount() {
|
|
||||||
return mFragPagerAdapter.getCount();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public IPagerTitleView getTitleView(Context context, final int index) {
|
|
||||||
SimplePagerTitleView simplePagerTitleView = new ColorTransitionPagerTitleView(context);
|
|
||||||
simplePagerTitleView.setText(mFragPagerAdapter.getPageTitle(index));
|
|
||||||
simplePagerTitleView.setTextSize(16); // Add this line to increase text size
|
|
||||||
simplePagerTitleView.setNormalColor(ContextCompat.getColor(context,
|
|
||||||
R.color.primary_text_disabled_material_dark));
|
|
||||||
simplePagerTitleView.setSelectedColor(ContextCompat.getColor(context,
|
|
||||||
R.color.primary_text_default_material_dark));
|
|
||||||
simplePagerTitleView.setOnClickListener(new View.OnClickListener() {
|
|
||||||
@Override
|
|
||||||
public void onClick(View v) {
|
|
||||||
mViewPager.setCurrentItem(index);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return simplePagerTitleView;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public IPagerIndicator getIndicator(Context context) {
|
|
||||||
LinePagerIndicator indicator = new LinePagerIndicator(context);
|
|
||||||
indicator.setMode(LinePagerIndicator.MODE_WRAP_CONTENT);
|
|
||||||
indicator.setColors(ContextCompat.getColor(context, R.color.primary));
|
|
||||||
indicator.setLineHeight(dpToPx(context, 3));
|
|
||||||
return indicator;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
mPageIndicator.setNavigator(commonNavigator);
|
|
||||||
ViewPagerHelper.bind(mPageIndicator, mViewPager);
|
|
||||||
}
|
|
||||||
|
|
||||||
private int dpToPx(Context context, int dp) {
|
|
||||||
float density = context.getResources().getDisplayMetrics().density;
|
|
||||||
return Math.round(dp * density);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -3,16 +3,11 @@ package net.i2p.android.i2ptunnel.preferences;
|
|||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v7.app.AlertDialog;
|
import android.support.v7.app.AlertDialog;
|
||||||
import androidx.appcompat.app.AlertDialog;
|
import android.support.v7.preference.CheckBoxPreference;
|
||||||
//import android.support.v7.preference.CheckBoxPreference;
|
import android.support.v7.preference.Preference;
|
||||||
import androidx.preference.CheckBoxPreference;
|
import android.support.v7.preference.PreferenceCategory;
|
||||||
//import android.support.v7.preference.Preference;
|
import android.support.v7.preference.PreferenceScreen;
|
||||||
import androidx.preference.Preference;
|
|
||||||
//import android.support.v7.preference.PreferenceCategory;
|
|
||||||
import androidx.preference.PreferenceCategory;
|
|
||||||
//import android.support.v7.preference.PreferenceScreen;
|
|
||||||
import androidx.preference.PreferenceScreen;
|
|
||||||
|
|
||||||
import net.i2p.android.i2ptunnel.util.TunnelLogic;
|
import net.i2p.android.i2ptunnel.util.TunnelLogic;
|
||||||
import net.i2p.android.i2ptunnel.util.TunnelUtil;
|
import net.i2p.android.i2ptunnel.util.TunnelUtil;
|
||||||
|
@ -2,12 +2,9 @@ package net.i2p.android.i2ptunnel.preferences;
|
|||||||
|
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v7.preference.Preference;
|
import android.support.v7.preference.Preference;
|
||||||
import androidx.preference.Preference;
|
import android.support.v7.preference.PreferenceGroup;
|
||||||
//import android.support.v7.preference.PreferenceGroup;
|
import android.support.v7.preference.PreferenceScreen;
|
||||||
import androidx.preference.PreferenceGroup;
|
|
||||||
//import android.support.v7.preference.PreferenceScreen;
|
|
||||||
import androidx.preference.PreferenceScreen;
|
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import net.i2p.android.i2ptunnel.util.SaveTunnelTask;
|
import net.i2p.android.i2ptunnel.util.SaveTunnelTask;
|
||||||
|
@ -2,14 +2,10 @@ package net.i2p.android.i2ptunnel.preferences;
|
|||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
import androidx.fragment.app.Fragment;
|
import android.support.v4.app.FragmentManager;
|
||||||
//import android.support.v4.app.FragmentManager;
|
import android.support.v7.app.AppCompatActivity;
|
||||||
import androidx.fragment.app.FragmentManager;
|
import android.support.v7.widget.Toolbar;
|
||||||
//import android.support.v7.app.AppCompatActivity;
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
|
||||||
//import android.support.v7.widget.Toolbar;
|
|
||||||
import androidx.appcompat.widget.Toolbar;
|
|
||||||
|
|
||||||
import net.i2p.android.i2ptunnel.TunnelDetailActivity;
|
import net.i2p.android.i2ptunnel.TunnelDetailActivity;
|
||||||
import net.i2p.android.i2ptunnel.TunnelDetailFragment;
|
import net.i2p.android.i2ptunnel.TunnelDetailFragment;
|
||||||
|
@ -1,12 +1,9 @@
|
|||||||
package net.i2p.android.i2ptunnel.preferences;
|
package net.i2p.android.i2ptunnel.preferences;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
import androidx.fragment.app.Fragment;
|
import android.support.v4.app.FragmentManager;
|
||||||
//import android.support.v4.app.FragmentManager;
|
import android.support.v7.widget.Toolbar;
|
||||||
import androidx.fragment.app.FragmentManager;
|
|
||||||
//import android.support.v7.widget.Toolbar;
|
|
||||||
import androidx.appcompat.widget.Toolbar;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
@ -5,20 +5,13 @@ import android.content.DialogInterface;
|
|||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.os.AsyncTask;
|
import android.os.AsyncTask;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
import androidx.fragment.app.Fragment;
|
import android.support.v7.app.AlertDialog;
|
||||||
//import android.support.v7.app.AlertDialog;
|
import android.support.v7.preference.CheckBoxPreference;
|
||||||
import androidx.appcompat.app.AlertDialog;
|
import android.support.v7.preference.ListPreference;
|
||||||
//import android.support.v7.preference.CheckBoxPreference;
|
import android.support.v7.preference.Preference;
|
||||||
import androidx.preference.CheckBoxPreference;
|
import android.support.v7.preference.PreferenceCategory;
|
||||||
//import android.support.v7.preference.ListPreference;
|
import android.support.v7.preference.PreferenceScreen;
|
||||||
import androidx.preference.ListPreference;
|
|
||||||
//import android.support.v7.preference.Preference;
|
|
||||||
import androidx.preference.Preference;
|
|
||||||
//import android.support.v7.preference.PreferenceCategory;
|
|
||||||
import androidx.preference.PreferenceCategory;
|
|
||||||
//import android.support.v7.preference.PreferenceScreen;
|
|
||||||
import androidx.preference.PreferenceScreen;
|
|
||||||
|
|
||||||
import net.i2p.android.i2ptunnel.util.TunnelLogic;
|
import net.i2p.android.i2ptunnel.util.TunnelLogic;
|
||||||
import net.i2p.android.i2ptunnel.util.TunnelUtil;
|
import net.i2p.android.i2ptunnel.util.TunnelUtil;
|
||||||
|
@ -1,10 +1,8 @@
|
|||||||
package net.i2p.android.preferences;
|
package net.i2p.android.preferences;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
import androidx.fragment.app.Fragment;
|
import android.support.v7.preference.Preference;
|
||||||
//import android.support.v7.preference.Preference;
|
|
||||||
import androidx.preference.Preference;
|
|
||||||
|
|
||||||
import net.i2p.android.router.R;
|
import net.i2p.android.router.R;
|
||||||
import net.i2p.android.router.SettingsActivity;
|
import net.i2p.android.router.SettingsActivity;
|
||||||
|
@ -2,14 +2,10 @@ package net.i2p.android.preferences;
|
|||||||
|
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v7.preference.CheckBoxPreference;
|
import android.support.v7.preference.CheckBoxPreference;
|
||||||
import androidx.preference.CheckBoxPreference;
|
import android.support.v7.preference.PreferenceCategory;
|
||||||
//import android.support.v7.preference.PreferenceCategory;
|
import android.support.v7.preference.PreferenceManager;
|
||||||
import androidx.preference.PreferenceCategory;
|
import android.support.v7.preference.PreferenceScreen;
|
||||||
//import android.support.v7.preference.PreferenceManager;
|
|
||||||
import androidx.preference.PreferenceManager;
|
|
||||||
//import android.support.v7.preference.PreferenceScreen;
|
|
||||||
import androidx.preference.PreferenceScreen;
|
|
||||||
|
|
||||||
import net.i2p.android.router.R;
|
import net.i2p.android.router.R;
|
||||||
import net.i2p.android.router.SettingsActivity;
|
import net.i2p.android.router.SettingsActivity;
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
package net.i2p.android.preferences;
|
package net.i2p.android.preferences;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v7.preference.PreferenceScreen;
|
import android.support.v7.preference.PreferenceScreen;
|
||||||
import androidx.preference.PreferenceScreen;
|
|
||||||
|
|
||||||
import net.i2p.android.router.R;
|
import net.i2p.android.router.R;
|
||||||
import net.i2p.android.router.SettingsActivity;
|
import net.i2p.android.router.SettingsActivity;
|
||||||
|
@ -4,15 +4,10 @@ import android.annotation.SuppressLint;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v7.preference.CheckBoxPreference;
|
import android.support.v7.preference.CheckBoxPreference;
|
||||||
//import android.support.v7.preference.Preference;
|
import android.support.v7.preference.Preference;
|
||||||
//import android.support.v7.preference.PreferenceManager;
|
import android.support.v7.preference.PreferenceManager;
|
||||||
//import android.support.v7.preference.PreferenceScreen;
|
import android.support.v7.preference.PreferenceScreen;
|
||||||
import androidx.preference.CheckBoxPreference;
|
|
||||||
import androidx.preference.Preference;
|
|
||||||
import androidx.preference.PreferenceManager;
|
|
||||||
import androidx.preference.PreferenceScreen;
|
|
||||||
|
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import net.i2p.android.router.R;
|
import net.i2p.android.router.R;
|
||||||
|
@ -2,8 +2,7 @@ package net.i2p.android.preferences.util;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.res.TypedArray;
|
import android.content.res.TypedArray;
|
||||||
//import android.support.v7.preference.EditTextPreference;
|
import android.support.v7.preference.EditTextPreference;
|
||||||
import androidx.preference.EditTextPreference;
|
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
|
|
||||||
import net.i2p.android.router.R;
|
import net.i2p.android.router.R;
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
package net.i2p.android.preferences.util;
|
package net.i2p.android.preferences.util;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v7.preference.EditTextPreferenceDialogFragmentCompat;
|
import android.support.v7.preference.EditTextPreferenceDialogFragmentCompat;
|
||||||
import androidx.preference.EditTextPreferenceDialogFragmentCompat;
|
|
||||||
import android.text.InputType;
|
import android.text.InputType;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
package net.i2p.android.preferences.util;
|
package net.i2p.android.preferences.util;
|
||||||
|
|
||||||
//import android.support.v4.app.DialogFragment;
|
import android.support.v4.app.DialogFragment;
|
||||||
import androidx.fragment.app.DialogFragment;
|
import android.support.v7.preference.Preference;
|
||||||
import androidx.preference.Preference;
|
import android.support.v7.preference.PreferenceFragmentCompat;
|
||||||
import androidx.preference.PreferenceFragmentCompat;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handles custom Preferences.
|
* Handles custom Preferences.
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
package net.i2p.android.preferences.util;
|
package net.i2p.android.preferences.util;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
//import android.support.v7.preference.EditTextPreference;
|
import android.support.v7.preference.EditTextPreference;
|
||||||
import androidx.preference.EditTextPreference;
|
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
|
|
||||||
public class IntEditTextPreference extends EditTextPreference {
|
public class IntEditTextPreference extends EditTextPreference {
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
package net.i2p.android.preferences.util;
|
package net.i2p.android.preferences.util;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v7.preference.EditTextPreferenceDialogFragmentCompat;
|
import android.support.v7.preference.EditTextPreferenceDialogFragmentCompat;
|
||||||
import androidx.preference.EditTextPreferenceDialogFragmentCompat;
|
|
||||||
import android.text.InputType;
|
import android.text.InputType;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
package net.i2p.android.preferences.util;
|
package net.i2p.android.preferences.util;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
//import android.support.v7.preference.ListPreference;
|
import android.support.v7.preference.ListPreference;
|
||||||
import androidx.preference.ListPreference;
|
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
|
|
||||||
public class IntListPreference extends ListPreference {
|
public class IntListPreference extends ListPreference {
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
package net.i2p.android.preferences.util;
|
package net.i2p.android.preferences.util;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
//import android.support.v7.preference.EditTextPreference;
|
import android.support.v7.preference.EditTextPreference;
|
||||||
import androidx.preference.EditTextPreference;
|
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
|
|
||||||
import net.i2p.android.router.R;
|
import net.i2p.android.router.R;
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
package net.i2p.android.preferences.util;
|
package net.i2p.android.preferences.util;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v7.preference.EditTextPreferenceDialogFragmentCompat;
|
import android.support.v7.preference.EditTextPreferenceDialogFragmentCompat;
|
||||||
import androidx.preference.EditTextPreferenceDialogFragmentCompat;
|
|
||||||
import android.text.InputType;
|
import android.text.InputType;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
package net.i2p.android.preferences.util;
|
package net.i2p.android.preferences.util;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
//import android.support.v7.preference.EditTextPreference;
|
import android.support.v7.preference.EditTextPreference;
|
||||||
import android.preference.EditTextPreference;
|
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
|
|
||||||
public class SummaryEditTextPreference extends EditTextPreference {
|
public class SummaryEditTextPreference extends EditTextPreference {
|
||||||
|
@ -3,8 +3,7 @@ package net.i2p.android.router;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.preference.PreferenceManager;
|
import android.preference.PreferenceManager;
|
||||||
//import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuInflater;
|
import android.view.MenuInflater;
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
package net.i2p.android.router;
|
package net.i2p.android.router;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
|
|
||||||
import net.i2p.android.router.util.Util;
|
import net.i2p.android.router.util.Util;
|
||||||
import net.i2p.router.CommSystemFacade;
|
import net.i2p.router.CommSystemFacade;
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
package net.i2p.android.router;
|
package net.i2p.android.router;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v7.widget.Toolbar;
|
import android.support.v7.widget.Toolbar;
|
||||||
import androidx.appcompat.widget.Toolbar;
|
|
||||||
|
|
||||||
import net.i2p.android.I2PActivityBase;
|
import net.i2p.android.I2PActivityBase;
|
||||||
|
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
package net.i2p.android.router;
|
package net.i2p.android.router;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v4.app.ListFragment;
|
import android.support.v4.app.ListFragment;
|
||||||
import androidx.fragment.app.ListFragment;
|
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.ArrayAdapter;
|
import android.widget.ArrayAdapter;
|
||||||
import android.widget.ListView;
|
import android.widget.ListView;
|
||||||
|
@ -14,10 +14,8 @@ import android.os.Handler;
|
|||||||
import android.os.PowerManager;
|
import android.os.PowerManager;
|
||||||
import android.preference.PreferenceManager;
|
import android.preference.PreferenceManager;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
//import android.support.v4.content.LocalBroadcastManager;
|
import android.support.v4.content.LocalBroadcastManager;
|
||||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
import android.support.v7.app.AlertDialog;
|
||||||
//import android.support.v7.app.AlertDialog;
|
|
||||||
import androidx.appcompat.app.AlertDialog;
|
|
||||||
import android.util.AndroidRuntimeException;
|
import android.util.AndroidRuntimeException;
|
||||||
import android.view.Gravity;
|
import android.view.Gravity;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
package net.i2p.android.router;
|
package net.i2p.android.router;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v7.widget.Toolbar;
|
import android.support.v7.widget.Toolbar;
|
||||||
import androidx.appcompat.widget.Toolbar;
|
|
||||||
|
|
||||||
import net.i2p.android.I2PActivityBase;
|
import net.i2p.android.I2PActivityBase;
|
||||||
|
|
||||||
|
@ -3,20 +3,13 @@ package net.i2p.android.router;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
import androidx.fragment.app.Fragment;
|
import android.support.v4.app.FragmentManager;
|
||||||
//import android.support.v4.app.FragmentManager;
|
import android.support.v4.content.LocalBroadcastManager;
|
||||||
import androidx.fragment.app.FragmentManager;
|
import android.support.v7.app.AppCompatActivity;
|
||||||
//import android.support.v4.content.LocalBroadcastManager;
|
import android.support.v7.preference.Preference;
|
||||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
import android.support.v7.preference.PreferenceFragmentCompat;
|
||||||
//import android.support.v7.app.AppCompatActivity;
|
import android.support.v7.widget.Toolbar;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
|
||||||
//import android.support.v7.preference.Preference;
|
|
||||||
import androidx.preference.Preference;
|
|
||||||
//import android.support.v7.preference.PreferenceFragmentCompat;
|
|
||||||
import androidx.preference.PreferenceFragmentCompat;
|
|
||||||
//import android.support.v7.widget.Toolbar;
|
|
||||||
import androidx.appcompat.widget.Toolbar;
|
|
||||||
|
|
||||||
import net.i2p.android.I2PActivity;
|
import net.i2p.android.I2PActivity;
|
||||||
import net.i2p.android.preferences.AdvancedPreferenceFragment;
|
import net.i2p.android.preferences.AdvancedPreferenceFragment;
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
package net.i2p.android.router.addressbook;
|
package net.i2p.android.router.addressbook;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import androidx.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
//import android.support.v7.widget.RecyclerView;
|
import android.support.v7.widget.RecyclerView;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
package net.i2p.android.router.addressbook;
|
package net.i2p.android.router.addressbook;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
//import android.support.v4.content.AsyncTaskLoader;
|
import android.support.v4.content.AsyncTaskLoader;
|
||||||
import androidx.loader.content.AsyncTaskLoader;
|
|
||||||
|
|
||||||
import net.i2p.android.router.util.NamingServiceUtil;
|
import net.i2p.android.router.util.NamingServiceUtil;
|
||||||
import net.i2p.android.router.util.Util;
|
import net.i2p.android.router.util.Util;
|
||||||
|
@ -6,11 +6,9 @@ import android.content.Context;
|
|||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import androidx.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
//import android.support.v4.app.DialogFragment;
|
import android.support.v4.app.DialogFragment;
|
||||||
import androidx.fragment.app.DialogFragment;
|
import android.support.v7.app.AlertDialog;
|
||||||
//import android.support.v7.app.AlertDialog;
|
|
||||||
import androidx.appcompat.app.AlertDialog;
|
|
||||||
|
|
||||||
import net.i2p.android.wizard.model.AbstractWizardModel;
|
import net.i2p.android.wizard.model.AbstractWizardModel;
|
||||||
import net.i2p.android.wizard.ui.AbstractWizardActivity;
|
import net.i2p.android.wizard.ui.AbstractWizardActivity;
|
||||||
|
@ -6,21 +6,13 @@ import android.content.Context;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
import androidx.core.content.ContextCompat;
|
import android.support.v4.app.FragmentManager;
|
||||||
import androidx.fragment.app.Fragment;
|
import android.support.v4.app.FragmentPagerAdapter;
|
||||||
//import android.support.v4.app.FragmentManager;
|
import android.support.v4.app.FragmentTransaction;
|
||||||
import androidx.fragment.app.FragmentManager;
|
import android.support.v4.view.MenuItemCompat;
|
||||||
//import android.support.v4.app.FragmentPagerAdapter;
|
import android.support.v4.view.ViewPager;
|
||||||
import androidx.fragment.app.FragmentPagerAdapter;
|
import android.support.v7.widget.SearchView;
|
||||||
//import android.support.v4.app.FragmentTransaction;
|
|
||||||
import androidx.fragment.app.FragmentTransaction;
|
|
||||||
//import android.support.v4.view.MenuItemCompat;
|
|
||||||
import androidx.core.view.MenuItemCompat;
|
|
||||||
//import android.support.v4.view.ViewPager;
|
|
||||||
import androidx.viewpager.widget.ViewPager;
|
|
||||||
//import android.support.v7.widget.SearchView;
|
|
||||||
import androidx.appcompat.widget.SearchView;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuInflater;
|
import android.view.MenuInflater;
|
||||||
@ -28,27 +20,18 @@ import android.view.MenuItem;
|
|||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
|
||||||
import net.lucode.hackware.magicindicator.MagicIndicator;
|
import com.viewpagerindicator.TitlePageIndicator;
|
||||||
import net.lucode.hackware.magicindicator.ViewPagerHelper;
|
|
||||||
import net.lucode.hackware.magicindicator.buildins.commonnavigator.CommonNavigator;
|
|
||||||
|
|
||||||
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;
|
||||||
import net.i2p.android.router.util.Util;
|
import net.i2p.android.router.util.Util;
|
||||||
import net.i2p.client.naming.NamingService;
|
import net.i2p.client.naming.NamingService;
|
||||||
import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.CommonNavigatorAdapter;
|
|
||||||
import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerIndicator;
|
|
||||||
import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerTitleView;
|
|
||||||
import net.lucode.hackware.magicindicator.buildins.commonnavigator.indicators.LinePagerIndicator;
|
|
||||||
import net.lucode.hackware.magicindicator.buildins.commonnavigator.titles.ColorTransitionPagerTitleView;
|
|
||||||
import net.lucode.hackware.magicindicator.buildins.commonnavigator.titles.SimplePagerTitleView;
|
|
||||||
|
|
||||||
public class AddressbookContainer extends Fragment
|
public class AddressbookContainer extends Fragment
|
||||||
implements AddressbookFragment.OnAddressSelectedListener,
|
implements AddressbookFragment.OnAddressSelectedListener,
|
||||||
SearchView.OnQueryTextListener {
|
SearchView.OnQueryTextListener {
|
||||||
public static final int ADD_WIZARD_REQUEST = 1;
|
public static final int ADD_WIZARD_REQUEST = 1;
|
||||||
public static final String ADD_WIZARD_DATA = "add_wizard_data";
|
public static final String ADD_WIZARD_DATA = "add_wizard_data";
|
||||||
private MagicIndicator mPageIndicator;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether or not the container is in two-pane mode, i.e. running on a tablet
|
* Whether or not the container is in two-pane mode, i.e. running on a tablet
|
||||||
@ -58,6 +41,7 @@ public class AddressbookContainer extends Fragment
|
|||||||
|
|
||||||
ViewPager mViewPager;
|
ViewPager mViewPager;
|
||||||
FragmentPagerAdapter mFragPagerAdapter;
|
FragmentPagerAdapter mFragPagerAdapter;
|
||||||
|
|
||||||
private static final String FRAGMENT_ROUTER = "router_fragment";
|
private static final String FRAGMENT_ROUTER = "router_fragment";
|
||||||
private static final String FRAGMENT_PRIVATE = "private_fragment";
|
private static final String FRAGMENT_PRIVATE = "private_fragment";
|
||||||
private static final int FRAGMENT_ID_ROUTER = 0;
|
private static final int FRAGMENT_ID_ROUTER = 0;
|
||||||
@ -83,17 +67,6 @@ public class AddressbookContainer extends Fragment
|
|||||||
mTwoPane = true;
|
mTwoPane = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!mTwoPane) {
|
|
||||||
// Initialize ViewPager and adapter first
|
|
||||||
mViewPager = (ViewPager) v.findViewById(R.id.pager);
|
|
||||||
mFragPagerAdapter = new AddressbookPagerAdapter(getActivity(), getChildFragmentManager());
|
|
||||||
mViewPager.setAdapter(mFragPagerAdapter);
|
|
||||||
|
|
||||||
// Then set up MagicIndicator
|
|
||||||
mPageIndicator = v.findViewById(R.id.magic_indicator);
|
|
||||||
setupMagicIndicator();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (savedInstanceState != null) {
|
if (savedInstanceState != null) {
|
||||||
mRouterFrag = (AddressbookFragment) getChildFragmentManager().getFragment(
|
mRouterFrag = (AddressbookFragment) getChildFragmentManager().getFragment(
|
||||||
savedInstanceState, FRAGMENT_ROUTER);
|
savedInstanceState, FRAGMENT_ROUTER);
|
||||||
@ -117,6 +90,14 @@ public class AddressbookContainer extends Fragment
|
|||||||
ft.commit();
|
ft.commit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!mTwoPane) {
|
||||||
|
mViewPager = (ViewPager) v.findViewById(R.id.pager);
|
||||||
|
TitlePageIndicator pageIndicator = (TitlePageIndicator) v.findViewById(R.id.page_indicator);
|
||||||
|
mFragPagerAdapter = new AddressbookPagerAdapter(getActivity(), getChildFragmentManager());
|
||||||
|
mViewPager.setAdapter(mFragPagerAdapter);
|
||||||
|
pageIndicator.setViewPager(mViewPager);
|
||||||
|
}
|
||||||
|
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -269,38 +250,4 @@ public class AddressbookContainer extends Fragment
|
|||||||
if (mPrivateFrag != null)
|
if (mPrivateFrag != null)
|
||||||
mPrivateFrag.filterAddresses(query);
|
mPrivateFrag.filterAddresses(query);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setupMagicIndicator() {
|
|
||||||
if (mPageIndicator == null || mFragPagerAdapter == null || mViewPager == null) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
CommonNavigator commonNavigator = new CommonNavigator(getContext());
|
|
||||||
commonNavigator.setAdapter(new CommonNavigatorAdapter() {
|
|
||||||
@Override
|
|
||||||
public int getCount() {
|
|
||||||
return mFragPagerAdapter.getCount();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public IPagerTitleView getTitleView(Context context, int index) {
|
|
||||||
SimplePagerTitleView titleView = new ColorTransitionPagerTitleView(context);
|
|
||||||
titleView.setText(mFragPagerAdapter.getPageTitle(index));
|
|
||||||
titleView.setNormalColor(ContextCompat.getColor(context, R.color.primary_text_disabled_material_dark));
|
|
||||||
titleView.setSelectedColor(ContextCompat.getColor(context, R.color.primary_text_default_material_dark));
|
|
||||||
titleView.setOnClickListener(v -> mViewPager.setCurrentItem(index));
|
|
||||||
return titleView;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public IPagerIndicator getIndicator(Context context) {
|
|
||||||
LinePagerIndicator indicator = new LinePagerIndicator(context);
|
|
||||||
indicator.setColors(ContextCompat.getColor(context, R.color.primary));
|
|
||||||
return indicator;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
mPageIndicator.setNavigator(commonNavigator);
|
|
||||||
ViewPagerHelper.bind(mPageIndicator, mViewPager);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -6,18 +6,12 @@ import android.content.Context;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.IntentFilter;
|
import android.content.IntentFilter;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
import androidx.fragment.app.Fragment;
|
import android.support.v4.app.LoaderManager;
|
||||||
//import android.support.v4.app.LoaderManager;
|
import android.support.v4.content.Loader;
|
||||||
import androidx.loader.app.LoaderManager;
|
import android.support.v4.content.LocalBroadcastManager;
|
||||||
//import android.support.v4.content.Loader;
|
import android.support.v7.widget.LinearLayoutManager;
|
||||||
import androidx.loader.content.Loader;
|
import android.support.v7.widget.RecyclerView;
|
||||||
//import android.support.v4.content.LocalBroadcastManager;
|
|
||||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
|
||||||
//import android.support.v7.widget.LinearLayoutManager;
|
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
|
||||||
//import android.support.v7.widget.RecyclerView;
|
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
|
@ -2,10 +2,8 @@ package net.i2p.android.router.addressbook;
|
|||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v7.app.AppCompatActivity;
|
import android.support.v7.app.AppCompatActivity;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import android.support.v7.widget.Toolbar;
|
||||||
//import android.support.v7.widget.Toolbar;
|
|
||||||
import androidx.appcompat.widget.Toolbar;
|
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
import android.widget.EditText;
|
import android.widget.EditText;
|
||||||
|
@ -4,11 +4,9 @@ import android.app.Dialog;
|
|||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import androidx.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
//import android.support.v4.app.DialogFragment;
|
import android.support.v4.app.DialogFragment;
|
||||||
import androidx.fragment.app.DialogFragment;
|
import android.support.v7.app.AlertDialog;
|
||||||
//import android.support.v7.app.AlertDialog;
|
|
||||||
import androidx.appcompat.app.AlertDialog;
|
|
||||||
import android.text.util.Linkify;
|
import android.text.util.Linkify;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
@ -7,11 +7,9 @@ import android.content.pm.PackageManager;
|
|||||||
import android.content.pm.ResolveInfo;
|
import android.content.pm.ResolveInfo;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import androidx.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
//import android.support.v4.app.DialogFragment;
|
import android.support.v4.app.DialogFragment;
|
||||||
import androidx.fragment.app.DialogFragment;
|
import android.support.v7.app.AlertDialog;
|
||||||
//import android.support.v7.app.AlertDialog;
|
|
||||||
import androidx.appcompat.app.AlertDialog;
|
|
||||||
import android.text.util.Linkify;
|
import android.text.util.Linkify;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
@ -4,11 +4,9 @@ import android.app.Dialog;
|
|||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import androidx.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
//import android.support.v4.app.DialogFragment;
|
import android.support.v4.app.DialogFragment;
|
||||||
import androidx.fragment.app.DialogFragment;
|
import android.support.v7.app.AlertDialog;
|
||||||
//import android.support.v7.app.AlertDialog;
|
|
||||||
import androidx.appcompat.app.AlertDialog;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
@ -3,11 +3,9 @@ package net.i2p.android.router.dialog;
|
|||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import androidx.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
//import android.support.v4.app.DialogFragment;
|
import android.support.v4.app.DialogFragment;
|
||||||
import androidx.fragment.app.DialogFragment;
|
import android.support.v7.app.AlertDialog;
|
||||||
//import android.support.v7.app.AlertDialog;
|
|
||||||
import androidx.appcompat.app.AlertDialog;
|
|
||||||
|
|
||||||
import net.i2p.android.I2PActivityBase;
|
import net.i2p.android.I2PActivityBase;
|
||||||
import net.i2p.android.router.MainFragment;
|
import net.i2p.android.router.MainFragment;
|
||||||
|
@ -3,8 +3,7 @@ package net.i2p.android.router.log;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v7.widget.Toolbar;
|
import android.support.v7.widget.Toolbar;
|
||||||
import androidx.appcompat.widget.Toolbar;
|
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuInflater;
|
import android.view.MenuInflater;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
package net.i2p.android.router.log;
|
package net.i2p.android.router.log;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v7.widget.Toolbar;
|
import android.support.v7.widget.Toolbar;
|
||||||
import androidx.appcompat.widget.Toolbar;
|
|
||||||
|
|
||||||
import net.i2p.android.I2PActivityBase;
|
import net.i2p.android.I2PActivityBase;
|
||||||
import net.i2p.android.router.R;
|
import net.i2p.android.router.R;
|
||||||
|
@ -4,12 +4,9 @@ import android.app.Activity;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v4.app.ListFragment;
|
import android.support.v4.app.ListFragment;
|
||||||
import androidx.fragment.app.ListFragment;
|
import android.support.v4.app.LoaderManager;
|
||||||
//import android.support.v4.app.LoaderManager;
|
import android.support.v4.content.Loader;
|
||||||
import androidx.loader.app.LoaderManager;
|
|
||||||
//import android.support.v4.content.Loader;
|
|
||||||
import androidx.loader.content.Loader;
|
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuInflater;
|
import android.view.MenuInflater;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
package net.i2p.android.router.log;
|
package net.i2p.android.router.log;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
//import android.support.v4.content.AsyncTaskLoader;
|
import android.support.v4.content.AsyncTaskLoader;
|
||||||
import androidx.loader.content.AsyncTaskLoader;
|
|
||||||
|
|
||||||
import net.i2p.I2PAppContext;
|
import net.i2p.I2PAppContext;
|
||||||
|
|
||||||
|
@ -2,10 +2,8 @@ package net.i2p.android.router.netdb;
|
|||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
import androidx.fragment.app.Fragment;
|
import android.support.v7.widget.Toolbar;
|
||||||
//import android.support.v7.widget.Toolbar;
|
|
||||||
import androidx.appcompat.widget.Toolbar;
|
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.AdapterView;
|
import android.widget.AdapterView;
|
||||||
import android.widget.ArrayAdapter;
|
import android.widget.ArrayAdapter;
|
||||||
|
@ -2,8 +2,7 @@ package net.i2p.android.router.netdb;
|
|||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v7.widget.Toolbar;
|
import android.support.v7.widget.Toolbar;
|
||||||
import androidx.appcompat.widget.Toolbar;
|
|
||||||
|
|
||||||
import net.i2p.android.I2PActivityBase;
|
import net.i2p.android.I2PActivityBase;
|
||||||
import net.i2p.android.router.R;
|
import net.i2p.android.router.R;
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
package net.i2p.android.router.netdb;
|
package net.i2p.android.router.netdb;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
//import android.support.v4.content.AsyncTaskLoader;
|
import android.support.v4.content.AsyncTaskLoader;
|
||||||
import androidx.loader.content.AsyncTaskLoader;
|
|
||||||
|
|
||||||
import net.i2p.android.router.util.Util;
|
import net.i2p.android.router.util.Util;
|
||||||
import net.i2p.data.Destination;
|
import net.i2p.data.Destination;
|
||||||
|
@ -2,12 +2,9 @@ package net.i2p.android.router.netdb;
|
|||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v4.app.ListFragment;
|
import android.support.v4.app.ListFragment;
|
||||||
import androidx.fragment.app.ListFragment;
|
import android.support.v4.app.LoaderManager;
|
||||||
//import android.support.v4.app.LoaderManager;
|
import android.support.v4.content.Loader;
|
||||||
import androidx.loader.app.LoaderManager;
|
|
||||||
//import android.support.v4.content.Loader;
|
|
||||||
import androidx.loader.content.Loader;
|
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuInflater;
|
import android.view.MenuInflater;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
package net.i2p.android.router.netdb;
|
package net.i2p.android.router.netdb;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
//import android.support.v4.content.AsyncTaskLoader;
|
import android.support.v4.content.AsyncTaskLoader;
|
||||||
import androidx.loader.content.AsyncTaskLoader;
|
|
||||||
|
|
||||||
import net.i2p.android.router.R;
|
import net.i2p.android.router.R;
|
||||||
import net.i2p.data.Hash;
|
import net.i2p.data.Hash;
|
||||||
|
@ -1,18 +1,12 @@
|
|||||||
package net.i2p.android.router.netdb;
|
package net.i2p.android.router.netdb;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
import androidx.fragment.app.Fragment;
|
import android.support.v4.app.FragmentManager;
|
||||||
//import android.support.v4.app.FragmentManager;
|
import android.support.v4.app.FragmentStatePagerAdapter;
|
||||||
import androidx.fragment.app.FragmentManager;
|
import android.support.v4.app.LoaderManager;
|
||||||
//import android.support.v4.app.FragmentStatePagerAdapter;
|
import android.support.v4.content.Loader;
|
||||||
import androidx.fragment.app.FragmentStatePagerAdapter;
|
import android.support.v4.view.ViewPager;
|
||||||
//import android.support.v4.app.LoaderManager;
|
|
||||||
import androidx.loader.app.LoaderManager;
|
|
||||||
//import android.support.v4.content.Loader;
|
|
||||||
import androidx.loader.content.Loader;
|
|
||||||
//import android.support.v4.view.ViewPager;
|
|
||||||
import androidx.viewpager.widget.ViewPager;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuInflater;
|
import android.view.MenuInflater;
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
package net.i2p.android.router.netdb;
|
package net.i2p.android.router.netdb;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
@ -4,10 +4,7 @@ import android.app.PendingIntent;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
import android.support.v7.app.AppCompatActivity;
|
||||||
import android.os.Looper;
|
|
||||||
import java.util.concurrent.CountDownLatch;
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
|
||||||
|
|
||||||
import net.i2p.android.I2PActivity;
|
import net.i2p.android.I2PActivity;
|
||||||
import net.i2p.android.I2PActivityBase;
|
import net.i2p.android.I2PActivityBase;
|
||||||
@ -25,7 +22,6 @@ import java.util.HashMap;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implements SAMSecureSessionInterface on Android platforms using a Toast
|
* Implements SAMSecureSessionInterface on Android platforms using a Toast
|
||||||
* as the interactive channel.
|
* as the interactive channel.
|
||||||
@ -49,35 +45,12 @@ public class AndroidSAMSecureSession extends AppCompatActivity implements SAMSec
|
|||||||
results.put(clientId, 1);
|
results.put(clientId, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
private AndroidSAMSecureSession(Context ctx, RouterService rCtx, StatusBar statusBar) {
|
public AndroidSAMSecureSession(Context ctx, RouterService rCtx, StatusBar statusBar) {
|
||||||
mCtx = ctx;
|
mCtx = ctx;
|
||||||
_routerService = rCtx;
|
_routerService = rCtx;
|
||||||
_statusBar = statusBar;
|
_statusBar = statusBar;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static AndroidSAMSecureSession create(Context ctx, RouterService rCtx, StatusBar statusBar) {
|
|
||||||
if (Looper.getMainLooper().getThread() == Thread.currentThread()) {
|
|
||||||
// We're on the main thread, create directly
|
|
||||||
return new AndroidSAMSecureSession(ctx, rCtx, statusBar);
|
|
||||||
} else {
|
|
||||||
// We're not on the main thread, post to main thread
|
|
||||||
final AndroidSAMSecureSession[] result = new AndroidSAMSecureSession[1];
|
|
||||||
final CountDownLatch latch = new CountDownLatch(1);
|
|
||||||
|
|
||||||
new Handler(Looper.getMainLooper()).post(() -> {
|
|
||||||
result[0] = new AndroidSAMSecureSession(ctx, rCtx, statusBar);
|
|
||||||
latch.countDown();
|
|
||||||
});
|
|
||||||
|
|
||||||
try {
|
|
||||||
latch.await();
|
|
||||||
return result[0];
|
|
||||||
} catch (InterruptedException e) {
|
|
||||||
throw new RuntimeException("Failed to create AndroidSAMSecureSession", e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void waitForResult(String clientId) {
|
private void waitForResult(String clientId) {
|
||||||
for (int i=0;i<60;i++) {
|
for (int i=0;i<60;i++) {
|
||||||
try {
|
try {
|
||||||
|
@ -180,8 +180,7 @@ class LoadClientsJob extends JobImpl {
|
|||||||
try {
|
try {
|
||||||
Util.i("Starting the SAM API");
|
Util.i("Starting the SAM API");
|
||||||
Looper.prepare();
|
Looper.prepare();
|
||||||
//AndroidSAMSecureSession _androidSecureSession = new AndroidSAMSecureSession(mCtx, _routerService, _statusBar);
|
AndroidSAMSecureSession _androidSecureSession = new AndroidSAMSecureSession(mCtx, _routerService, _statusBar);
|
||||||
AndroidSAMSecureSession _androidSecureSession = AndroidSAMSecureSession.create(mCtx, _routerService, _statusBar);
|
|
||||||
SAMSecureSessionInterface _secureSession = _androidSecureSession;
|
SAMSecureSessionInterface _secureSession = _androidSecureSession;
|
||||||
SAM_BRIDGE = new SAMBridge("127.0.0.1",
|
SAM_BRIDGE = new SAMBridge("127.0.0.1",
|
||||||
7656,
|
7656,
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
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;
|
||||||
@ -14,8 +12,7 @@ import android.os.IBinder;
|
|||||||
import android.os.Message;
|
import android.os.Message;
|
||||||
import android.os.RemoteCallbackList;
|
import android.os.RemoteCallbackList;
|
||||||
import android.os.RemoteException;
|
import android.os.RemoteException;
|
||||||
//import android.support.v4.content.LocalBroadcastManager;
|
import android.support.v4.content.LocalBroadcastManager;
|
||||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
|
||||||
|
|
||||||
import net.i2p.android.router.R;
|
import net.i2p.android.router.R;
|
||||||
import net.i2p.android.router.receiver.I2PReceiver;
|
import net.i2p.android.router.receiver.I2PReceiver;
|
||||||
@ -176,18 +173,11 @@ 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) {
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
|
startForeground(1337, _statusBar.getNote());
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -7,8 +7,7 @@ import android.app.PendingIntent;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
//import android.support.v4.app.NotificationCompat;
|
import android.support.v4.app.NotificationCompat;
|
||||||
import androidx.core.app.NotificationCompat;
|
|
||||||
import android.view.Gravity;
|
import android.view.Gravity;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
@ -141,7 +140,6 @@ 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);
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
package net.i2p.android.router.stats;
|
package net.i2p.android.router.stats;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v7.widget.Toolbar;
|
import android.support.v7.widget.Toolbar;
|
||||||
import androidx.appcompat.widget.Toolbar;
|
|
||||||
|
|
||||||
import net.i2p.android.I2PActivityBase;
|
import net.i2p.android.I2PActivityBase;
|
||||||
import net.i2p.android.router.R;
|
import net.i2p.android.router.R;
|
||||||
|
@ -3,10 +3,8 @@ package net.i2p.android.router.stats;
|
|||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v7.app.AlertDialog;
|
import android.support.v7.app.AlertDialog;
|
||||||
import androidx.appcompat.app.AlertDialog;
|
import android.support.v7.widget.Toolbar;
|
||||||
//import android.support.v7.widget.Toolbar;
|
|
||||||
import androidx.appcompat.widget.Toolbar;
|
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.AdapterView;
|
import android.widget.AdapterView;
|
||||||
import android.widget.ArrayAdapter;
|
import android.widget.ArrayAdapter;
|
||||||
|
@ -3,7 +3,7 @@ package net.i2p.android.router.stats;
|
|||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import androidx.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
package net.i2p.android.router.util;
|
package net.i2p.android.router.util;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
//import android.support.v4.content.AsyncTaskLoader;
|
import android.support.v4.content.AsyncTaskLoader;
|
||||||
import androidx.loader.content.AsyncTaskLoader;
|
|
||||||
|
|
||||||
public abstract class BetterAsyncTaskLoader<T> extends AsyncTaskLoader<T> {
|
public abstract class BetterAsyncTaskLoader<T> extends AsyncTaskLoader<T> {
|
||||||
protected T mData;
|
protected T mData;
|
||||||
|
@ -8,8 +8,7 @@ import android.app.PendingIntent;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
//import android.support.v4.app.NotificationCompat;
|
import android.support.v4.app.NotificationCompat;
|
||||||
import androidx.core.app.NotificationCompat;
|
|
||||||
|
|
||||||
public class Notifications {
|
public class Notifications {
|
||||||
private final Context mCtx;
|
private final Context mCtx;
|
||||||
|
@ -6,8 +6,7 @@ import android.content.DialogInterface;
|
|||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.AsyncTask;
|
import android.os.AsyncTask;
|
||||||
//import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
import android.view.Gravity;
|
import android.view.Gravity;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.webkit.HttpAuthHandler;
|
import android.webkit.HttpAuthHandler;
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
package net.i2p.android.util;
|
package net.i2p.android.util;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
//import android.support.v7.widget.RecyclerView;
|
import android.support.v7.widget.RecyclerView;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
package net.i2p.android.util;
|
package net.i2p.android.util;
|
||||||
|
|
||||||
//import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
import androidx.fragment.app.Fragment;
|
import android.support.v4.app.FragmentActivity;
|
||||||
//import android.support.v4.app.FragmentActivity;
|
|
||||||
import androidx.fragment.app.FragmentActivity;
|
|
||||||
|
|
||||||
public class FragmentUtils {
|
public class FragmentUtils {
|
||||||
public interface TwoPaneProvider {
|
public interface TwoPaneProvider {
|
||||||
|
@ -1,11 +1,8 @@
|
|||||||
package net.i2p.android.util;
|
package net.i2p.android.util;
|
||||||
|
|
||||||
//import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
import androidx.fragment.app.Fragment;
|
import android.support.v4.app.FragmentManager;
|
||||||
//import android.support.v4.app.FragmentManager;
|
import android.support.v4.app.FragmentPagerAdapter;
|
||||||
import androidx.fragment.app.FragmentManager;
|
|
||||||
//import android.support.v4.app.FragmentPagerAdapter;
|
|
||||||
import androidx.fragment.app.FragmentPagerAdapter;
|
|
||||||
import android.util.SparseArray;
|
import android.util.SparseArray;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
|
||||||
|
@ -21,10 +21,8 @@ import android.content.res.TypedArray;
|
|||||||
import android.graphics.Canvas;
|
import android.graphics.Canvas;
|
||||||
import android.graphics.Rect;
|
import android.graphics.Rect;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
//import android.support.v7.widget.LinearLayoutManager;
|
import android.support.v7.widget.LinearLayoutManager;
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import android.support.v7.widget.RecyclerView;
|
||||||
//import android.support.v7.widget.RecyclerView;
|
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
|
||||||
public class DividerItemDecoration extends RecyclerView.ItemDecoration {
|
public class DividerItemDecoration extends RecyclerView.ItemDecoration {
|
||||||
|
@ -23,8 +23,7 @@ import android.content.res.TypedArray;
|
|||||||
import android.graphics.Canvas;
|
import android.graphics.Canvas;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.graphics.drawable.NinePatchDrawable;
|
import android.graphics.drawable.NinePatchDrawable;
|
||||||
//import android.support.v4.view.ViewCompat;
|
import android.support.v4.view.ViewCompat;
|
||||||
import androidx.core.view.ViewCompat;
|
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
import android.widget.FrameLayout;
|
import android.widget.FrameLayout;
|
||||||
|
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
package net.i2p.android.widget;
|
package net.i2p.android.widget;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
//import android.support.v7.widget.RecyclerView;
|
import android.support.v7.widget.RecyclerView;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
|
||||||
|
@ -19,10 +19,8 @@ package net.i2p.android.widget;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.graphics.Typeface;
|
import android.graphics.Typeface;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
//import android.support.v4.view.PagerAdapter;
|
import android.support.v4.view.PagerAdapter;
|
||||||
import androidx.viewpager.widget.PagerAdapter;
|
import android.support.v4.view.ViewPager;
|
||||||
//import android.support.v4.view.ViewPager;
|
|
||||||
import androidx.viewpager.widget.ViewPager;
|
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
import android.util.SparseArray;
|
import android.util.SparseArray;
|
||||||
import android.util.TypedValue;
|
import android.util.TypedValue;
|
||||||
|
@ -18,8 +18,7 @@ package net.i2p.android.wizard.model;
|
|||||||
|
|
||||||
import net.i2p.android.wizard.ui.SingleChoiceFragment;
|
import net.i2p.android.wizard.ui.SingleChoiceFragment;
|
||||||
|
|
||||||
//import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -2,8 +2,7 @@ package net.i2p.android.wizard.model;
|
|||||||
|
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
|
||||||
//import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
|
|
||||||
import net.i2p.I2PAppContext;
|
import net.i2p.I2PAppContext;
|
||||||
import net.i2p.android.wizard.ui.I2PDestinationFragment;
|
import net.i2p.android.wizard.ui.I2PDestinationFragment;
|
||||||
|
@ -18,8 +18,7 @@ package net.i2p.android.wizard.model;
|
|||||||
|
|
||||||
import net.i2p.android.wizard.ui.MultipleChoiceFragment;
|
import net.i2p.android.wizard.ui.MultipleChoiceFragment;
|
||||||
|
|
||||||
//import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
@ -18,8 +18,7 @@
|
|||||||
package net.i2p.android.wizard.model;
|
package net.i2p.android.wizard.model;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -20,8 +20,7 @@ import java.util.ArrayList;
|
|||||||
|
|
||||||
import net.i2p.android.wizard.ui.SingleBooleanFragment;
|
import net.i2p.android.wizard.ui.SingleBooleanFragment;
|
||||||
|
|
||||||
//import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
|
|
||||||
public class SingleFixedBooleanPage extends Page {
|
public class SingleFixedBooleanPage extends Page {
|
||||||
protected String mDesc = "";
|
protected String mDesc = "";
|
||||||
|
@ -18,8 +18,7 @@ package net.i2p.android.wizard.model;
|
|||||||
|
|
||||||
import net.i2p.android.wizard.ui.SingleChoiceFragment;
|
import net.i2p.android.wizard.ui.SingleChoiceFragment;
|
||||||
|
|
||||||
//import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -18,8 +18,7 @@ package net.i2p.android.wizard.model;
|
|||||||
|
|
||||||
import net.i2p.android.wizard.ui.SingleTextFieldFragment;
|
import net.i2p.android.wizard.ui.SingleTextFieldFragment;
|
||||||
|
|
||||||
//import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -1,18 +1,12 @@
|
|||||||
package net.i2p.android.wizard.ui;
|
package net.i2p.android.wizard.ui;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v4.app.DialogFragment;
|
import android.support.v4.app.DialogFragment;
|
||||||
import androidx.fragment.app.DialogFragment;
|
import android.support.v4.app.Fragment;
|
||||||
//import android.support.v4.app.Fragment;
|
import android.support.v4.app.FragmentActivity;
|
||||||
import androidx.fragment.app.Fragment;
|
import android.support.v4.app.FragmentManager;
|
||||||
//import android.support.v4.app.FragmentActivity;
|
import android.support.v4.app.FragmentStatePagerAdapter;
|
||||||
import androidx.fragment.app.FragmentActivity;
|
import android.support.v4.view.ViewPager;
|
||||||
//import android.support.v4.app.FragmentManager;
|
|
||||||
import androidx.fragment.app.FragmentManager;
|
|
||||||
//import android.support.v4.app.FragmentStatePagerAdapter;
|
|
||||||
import androidx.fragment.app.FragmentStatePagerAdapter;
|
|
||||||
//import android.support.v4.view.ViewPager;
|
|
||||||
import androidx.viewpager.widget.ViewPager;
|
|
||||||
import android.util.TypedValue;
|
import android.util.TypedValue;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
@ -21,8 +21,7 @@ import android.content.Context;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
import android.text.Editable;
|
import android.text.Editable;
|
||||||
import android.text.TextWatcher;
|
import android.text.TextWatcher;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
|
@ -20,8 +20,7 @@ package net.i2p.android.wizard.ui;
|
|||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
//import android.support.v4.app.ListFragment;
|
import android.support.v4.app.ListFragment;
|
||||||
import androidx.fragment.app.ListFragment;
|
|
||||||
import android.util.SparseBooleanArray;
|
import android.util.SparseBooleanArray;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
@ -25,10 +25,7 @@ import net.i2p.android.wizard.model.ReviewItem;
|
|||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
//import android.support.v4.app.ListFragment;
|
import android.support.v4.app.ListFragment;
|
||||||
import androidx.fragment.app.ListFragment;
|
|
||||||
//import android.support.v4.app.Fragment;
|
|
||||||
import androidx.fragment.app.Fragment;
|
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user