Compare commits
48 Commits
android-0.
...
android-0.
Author | SHA1 | Date | |
---|---|---|---|
bd0455c413 | |||
97f3d937ee | |||
ff102bfe73 | |||
e31a350398 | |||
43a8f29794 | |||
bbca783b20 | |||
6d4fe52f8e | |||
ecb08a54fb | |||
7bd4524fd8 | |||
40f08d56f6 | |||
fe61e35146 | |||
be3f74d71f | |||
8dcfa816e3 | |||
ae05e22670 | |||
79a4fa0407 | |||
bb958b969a | |||
02030454d1 | |||
e396b0b614 | |||
91cac6b743 | |||
2a6015d890 | |||
049b094627 | |||
077d062e19 | |||
4ad483db71 | |||
3edb8ad0c2 | |||
769f41afe6 | |||
5a9d943a6c | |||
44fb246288 | |||
3cc7498e66 | |||
84ce883285 | |||
f8dd9df285 | |||
860cf6a658 | |||
a24a50ce44 | |||
fc9187297b | |||
eb26df874d | |||
27cbb1e57b | |||
66aa79f90f | |||
8b9a70b386 | |||
872a2d15e2 | |||
7085567a08 | |||
19b07a8a8c | |||
0ed78a4806 | |||
ca8fb4663f | |||
ec34ce481e | |||
b0c4089e26 | |||
b23148c71d | |||
c9a336a0a5 | |||
0744426c15 | |||
e6f4bd5531 |
@ -24,6 +24,7 @@ _jsp\.java$
|
||||
/classes/
|
||||
|
||||
# Android-specific ignores
|
||||
^lib/client/libs
|
||||
^routerjars/libs
|
||||
local.properties
|
||||
signing.properties
|
||||
@ -35,7 +36,6 @@ signing.properties
|
||||
.*.iws
|
||||
|
||||
#Gradle
|
||||
^.gradle
|
||||
build
|
||||
|
||||
# I2P-specific ignores
|
||||
|
@ -1,6 +1,6 @@
|
||||
[main]
|
||||
host = https://www.transifex.com
|
||||
lang_map = he: iw, id: in, pt_BR: pt-rBR, ru_RU: ru, sv_SE: sv, tr_TR: tr, uk_UA: uk, yi: ji, zh_CN: zh
|
||||
lang_map = he: iw, id: in, pt_BR: pt-rBR, ru_RU: ru, sv_SE: sv, tr_TR: tr, uk_UA: uk, yi: ji, zh_CN: zh, zh_TW: zh-rTW
|
||||
|
||||
[I2P.android]
|
||||
file_filter = app/src/main/res/values-<lang>/strings.xml
|
||||
@ -9,9 +9,9 @@ source_lang = en
|
||||
type = ANDROID
|
||||
minimum_perc = 50
|
||||
|
||||
[I2P.android_lib_client]
|
||||
file_filter = client/src/main/res/values-<lang>/strings.xml
|
||||
source_file = client/src/main/res/values/strings.xml
|
||||
[I2P.android_lib_helper]
|
||||
file_filter = lib/helper/src/main/res/values-<lang>/strings.xml
|
||||
source_file = lib/helper/src/main/res/values/strings.xml
|
||||
source_lang = en
|
||||
type = ANDROID
|
||||
minimum_perc = 50
|
||||
|
11
CHANGELOG
11
CHANGELOG
@ -1,4 +1,13 @@
|
||||
0.9.22
|
||||
0.9.26
|
||||
* Fixed "I2CP already listening" bug
|
||||
* Fixed crash when adding tunnel to empty list
|
||||
|
||||
0.9.25 / 2016-04-17 / 46d45a878a2b73394b26ca27dbe6c696dedcf1c3
|
||||
* Fixed a bug on Samsung Android 4.2 devices
|
||||
* Dependency improvements
|
||||
* Translation updates
|
||||
|
||||
0.9.22 / 2015-10-10 / 0f73ef90b81e2cf3d55f0ea2b0a16e1f10da40ad
|
||||
* Updated browser config guide
|
||||
* Bug fixes and translation updates
|
||||
|
||||
|
10
README.md
10
README.md
@ -48,6 +48,12 @@ systemProp.socksProxyPort=9150
|
||||
|
||||
2. Check out the [`i2p.i2p`](https://github.com/i2p/i2p.i2p) repository.
|
||||
|
||||
3. Create a `local.properties` file in `i2p.android.base/lib/client` containing:
|
||||
|
||||
```
|
||||
ndk.dir=/path/to/ndk
|
||||
```
|
||||
|
||||
3. Create a `local.properties` file in `i2p.android.base/routerjars` containing:
|
||||
|
||||
```
|
||||
@ -107,8 +113,8 @@ systemProp.socksProxyPort=9150
|
||||
signing.keyId=
|
||||
signing.password=
|
||||
signing.secretKeyRingFile=/path/to/secring.gpg
|
||||
ossrhUsername=
|
||||
ossrhPassword=
|
||||
NEXUS_USERNAME=
|
||||
NEXUS_PASSWORD=
|
||||
```
|
||||
|
||||
2. `gradle :client:uploadArchives`
|
||||
|
@ -5,8 +5,8 @@ android {
|
||||
compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION as String)
|
||||
buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION as String
|
||||
defaultConfig {
|
||||
versionCode 4745231
|
||||
versionName '0.9.22'
|
||||
versionCode 4745233
|
||||
versionName '0.9.26'
|
||||
minSdkVersion 9
|
||||
targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION as String)
|
||||
|
||||
@ -19,8 +19,8 @@ android {
|
||||
buildTypes {
|
||||
release {
|
||||
signingConfig signingConfigs.release
|
||||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
|
||||
minifyEnabled true
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
debug {
|
||||
applicationIdSuffix '.debug'
|
||||
@ -52,26 +52,26 @@ android {
|
||||
|
||||
dependencies {
|
||||
// Local dependencies
|
||||
compile project(':lib:client')
|
||||
compile project(':routerjars')
|
||||
compile project(':client')
|
||||
|
||||
// Android Support Repository dependencies
|
||||
compile 'com.android.support:support-v4:23.0.1'
|
||||
compile 'com.android.support:appcompat-v7:23.0.1'
|
||||
compile 'com.android.support:recyclerview-v7:23.0.1'
|
||||
def supportVersion = '23.4.0'
|
||||
compile "com.android.support:support-v4:$supportVersion"
|
||||
compile "com.android.support:appcompat-v7:$supportVersion"
|
||||
compile "com.android.support:preference-v7:$supportVersion"
|
||||
compile "com.android.support:preference-v14:$supportVersion"
|
||||
compile "com.android.support:recyclerview-v7:$supportVersion"
|
||||
|
||||
// Remote dependencies
|
||||
compile 'net.i2p.android.ext:floatingactionbutton:1.10.0'
|
||||
compile files('libs/androidplot-core-0.6.1.jar')
|
||||
compile ('com.android.support:support-v4-preferencefragment:1.0.0@aar'){
|
||||
exclude module: 'support-v4'
|
||||
}
|
||||
compile 'com.pnikosis:materialish-progress:1.7'
|
||||
compile 'com.androidplot:androidplot-core:0.9.8'
|
||||
compile 'com.eowise:recyclerview-stickyheaders:0.5.2@aar'
|
||||
compile ('com.mcxiaoke.viewpagerindicator:library:2.4.1') {
|
||||
exclude group: 'com.android.support', module: 'support-v4'
|
||||
}
|
||||
compile 'org.sufficientlysecure:html-textview:1.2'
|
||||
compile 'com.pnikosis:materialish-progress:1.7'
|
||||
compile 'net.i2p.android.ext:floatingactionbutton:1.10.1'
|
||||
compile 'org.sufficientlysecure:html-textview:1.6'
|
||||
|
||||
// Testing-only dependencies
|
||||
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.0'
|
||||
@ -80,15 +80,17 @@ dependencies {
|
||||
|
||||
dependencyVerification {
|
||||
verify = [
|
||||
'com.android.support:support-v4:5ddf1feda096c164d0dd299cc6786fde18a845ce47dbfe484ff27cce27e19638',
|
||||
'com.android.support:appcompat-v7:db48e76616882b00e407b19027aae4e92d129456a65b9bb4e4bc5262e3ad9b76',
|
||||
'com.android.support:recyclerview-v7:9621f5790e47010e14196c3ecee168cc68659316d19b2ef6b5a843f35a81c3db',
|
||||
'net.i2p.android.ext:floatingactionbutton:32bd3a15680aee3fcd28a7be226ff986b3b025ae8d8977487c1df3e3bb029044',
|
||||
'com.android.support:support-v4-preferencefragment:5470f5872514a6226fa1fc6f4e000991f38805691c534cf0bd2778911fc773ad',
|
||||
'com.pnikosis:materialish-progress:da089a90d1dab61e9b50038c09081019398f81190d12b0b567ce94b83ef8cf93',
|
||||
'com.android.support:support-v4:a0d002465c0f611eedaaef2b2530707d2e9fb3a5c7ed66f53c556a12f714f43a',
|
||||
'com.android.support:appcompat-v7:d3d96637b0e8e61046567b8c87b667dcf3cd31c7447f651cb58d6e6e744adfba',
|
||||
'com.android.support:preference-v7:b834787ee64db6c7c53ed7490537eeef52245b7862d4069c06e12b24b77ebbc4',
|
||||
'com.android.support:preference-v14:21c55edf74928a96fa816e32c0c4d0c98e2280002e84d2b10b458b4a36be9615',
|
||||
'com.android.support:recyclerview-v7:24465b2ba90dc5ed7e2c05f1c87fe4256c27df6d3cd69b6177f3cb447b05c021',
|
||||
'com.androidplot:androidplot-core:e44d9e59e06f025330831f7d3c987d2778a3302025184cf0cef05714b5171212',
|
||||
'com.eowise:recyclerview-stickyheaders:7b236da49b33b840e9ba6e7e4182218d1a2d9047236fdbc3ca947352f9b0883b',
|
||||
'com.mcxiaoke.viewpagerindicator:library:1e8aad664137f68abdfee94889f6da3dc98be652a235176a403965a07a25de62',
|
||||
'org.sufficientlysecure:html-textview:1d3bed31ef837437154de8d2362a0e6b0e59b6c3535d87ee48c2fab12c84f9bb',
|
||||
'com.pnikosis:materialish-progress:da089a90d1dab61e9b50038c09081019398f81190d12b0b567ce94b83ef8cf93',
|
||||
'net.i2p.android.ext:floatingactionbutton:09d43e2d4ac04a91bf7a37e1ec48a8d220204e3a55dca72cd36cd9fa27461ade',
|
||||
'org.sufficientlysecure:html-textview:c409b471618b675e3d2a8588f883c5fe8f3369d00df61ec84b29f29c648370ae',
|
||||
]
|
||||
}
|
||||
|
||||
|
Binary file not shown.
28
app/proguard-rules.pro
vendored
Normal file
28
app/proguard-rules.pro
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
# Add project specific ProGuard rules here.
|
||||
# You can edit the include path and order by changing the proguardFiles
|
||||
# directive in build.gradle.
|
||||
#
|
||||
# For more details, see
|
||||
# http://developer.android.com/guide/developing/tools/proguard.html
|
||||
|
||||
# Add any project specific keep options here:
|
||||
|
||||
# If your project uses WebView with JS, uncomment the following
|
||||
# and specify the fully qualified class name to the JavaScript interface
|
||||
# class:
|
||||
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
||||
# public *;
|
||||
#}
|
||||
|
||||
|
||||
# Workaround for Samsung Android 4.2 bug
|
||||
# https://code.google.com/p/android/issues/detail?id=78377
|
||||
# https://code.google.com/p/android/issues/detail?id=78377#c188
|
||||
# https://code.google.com/p/android/issues/detail?id=78377#c302
|
||||
-keepattributes **
|
||||
-keep class !android.support.v7.view.menu.**,** {*;}
|
||||
-dontpreverify
|
||||
-dontoptimize
|
||||
-dontshrink
|
||||
-dontwarn **
|
||||
-dontnote **
|
@ -3,6 +3,9 @@
|
||||
package="net.i2p.android.router"
|
||||
android:installLocation="auto">
|
||||
|
||||
<uses-sdk xmlns:tools="http://schemas.android.com/tools"
|
||||
tools:overrideLibrary="android.support.v14.preference" />
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
||||
@ -51,6 +54,7 @@
|
||||
<action android:name="android.intent.action.PICK" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
</intent-filter>
|
||||
|
||||
<meta-data
|
||||
android:name="android.app.searchable"
|
||||
android:resource="@xml/searchable_addressbook" />
|
||||
|
@ -1,11 +1,10 @@
|
||||
package net.i2p.android.widget;
|
||||
package android.support.v4.view;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
import android.support.v4.os.ParcelableCompat;
|
||||
import android.support.v4.os.ParcelableCompatCreatorCallbacks;
|
||||
import android.support.v4.view.ViewPager;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.MotionEvent;
|
||||
import android.widget.Toast;
|
||||
@ -69,7 +68,7 @@ public class CustomViewPager extends ViewPager {
|
||||
setCurrentItem(0);
|
||||
}
|
||||
|
||||
public static class SavedState extends BaseSavedState {
|
||||
public static class SavedState extends ViewPager.SavedState {
|
||||
boolean enabled;
|
||||
int fixedPage;
|
||||
int fixedPageString;
|
||||
@ -107,10 +106,7 @@ public class CustomViewPager extends ViewPager {
|
||||
});
|
||||
|
||||
SavedState(Parcel in, ClassLoader loader) {
|
||||
super(in);
|
||||
if (loader == null) {
|
||||
loader = getClass().getClassLoader();
|
||||
}
|
||||
super(in, loader);
|
||||
enabled = in.readInt() != 0;
|
||||
fixedPage = in.readInt();
|
||||
fixedPageString = in.readInt();
|
@ -1,162 +0,0 @@
|
||||
/*
|
||||
* The following code was written by Matthew Wiggins
|
||||
* and is released under the APACHE 2.0 license
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Slight modifications and bugfixes by Sponge <sponge@mail.i2p>
|
||||
* These modifications are released under the WTFPL (any version)
|
||||
*
|
||||
* We don't need negative numbers yet, and may never need to.
|
||||
*
|
||||
* XML Usage example:
|
||||
*
|
||||
* <com.hlidskialf.android.preference.SeekBarPreference android:key="duration"
|
||||
* android:title="Duration of something"
|
||||
* android:summary="How long something will last"
|
||||
* android:dialogMessage="Something duration"
|
||||
* android:defaultValue="5"
|
||||
* android:text=" minutes"
|
||||
* android:max="60"
|
||||
* />
|
||||
*
|
||||
*/
|
||||
package com.hlidskialf.android.preference;
|
||||
|
||||
import android.content.Context;
|
||||
import android.preference.DialogPreference;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.Gravity;
|
||||
import android.view.View;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.SeekBar;
|
||||
import android.widget.TextView;
|
||||
|
||||
public class SeekBarPreference extends DialogPreference implements SeekBar.OnSeekBarChangeListener {
|
||||
|
||||
private static final String androidns = "http://schemas.android.com/apk/res/android";
|
||||
private SeekBar mSeekBar;
|
||||
private TextView mSplashText;
|
||||
private TextView mValueText;
|
||||
private Context mContext;
|
||||
private String mDialogMessage, mSuffix;
|
||||
private String mDefault = "0";
|
||||
private int mMax = 0;
|
||||
private int mValue = 0;
|
||||
private int mDirection = LinearLayout.HORIZONTAL;
|
||||
|
||||
|
||||
public SeekBarPreference(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
mContext = context;
|
||||
int dialogMessageR = attrs.getAttributeResourceValue(androidns, "dialogMessage", 0);
|
||||
mDialogMessage = (dialogMessageR == 0)
|
||||
? attrs.getAttributeValue(androidns, "dialogMessage")
|
||||
: context.getResources().getString(dialogMessageR);
|
||||
int textR = attrs.getAttributeResourceValue(androidns, "text", 0);
|
||||
mSuffix = (textR == 0)
|
||||
? attrs.getAttributeValue(androidns, "text")
|
||||
: context.getResources().getString(textR);
|
||||
mDefault = attrs.getAttributeValue(androidns, "defaultValue");
|
||||
mMax = Integer.parseInt(attrs.getAttributeValue(androidns, "max"));
|
||||
if (attrs.getAttributeValue(androidns, "direction") != null) {
|
||||
mDirection = Integer.parseInt(attrs.getAttributeValue(androidns, "direction"));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected View onCreateDialogView() {
|
||||
LinearLayout.LayoutParams params;
|
||||
LinearLayout layout = new LinearLayout(mContext);
|
||||
layout.setOrientation(LinearLayout.VERTICAL);
|
||||
layout.setPadding(6, 6, 6, 10);
|
||||
|
||||
// Set the width so that it is as usable as possible.
|
||||
// We multiplymMax so that the smaller ranges will get a bigger area.
|
||||
|
||||
if (mDirection == LinearLayout.HORIZONTAL) {
|
||||
layout.setMinimumWidth(mMax*5);
|
||||
} else {
|
||||
layout.setMinimumHeight(mMax*5);
|
||||
}
|
||||
|
||||
mSplashText = new TextView(mContext);
|
||||
if (mDialogMessage != null) {
|
||||
mSplashText.setText(mDialogMessage);
|
||||
}
|
||||
layout.addView(mSplashText);
|
||||
|
||||
mValueText = new TextView(mContext);
|
||||
mValueText.setGravity(Gravity.CENTER_HORIZONTAL);
|
||||
mValueText.setTextSize(32);
|
||||
params = new LinearLayout.LayoutParams(
|
||||
LinearLayout.LayoutParams.MATCH_PARENT,
|
||||
LinearLayout.LayoutParams.WRAP_CONTENT);
|
||||
layout.addView(mValueText, params);
|
||||
|
||||
mSeekBar = new SeekBar(mContext);
|
||||
mSeekBar.setOnSeekBarChangeListener(this);
|
||||
// Move the bar away from the changing text, so you can see it, and
|
||||
// move it away from the edges to improve usability for the end-ranges.
|
||||
mSeekBar.setPadding(6, 30, 6, 6);
|
||||
layout.addView(mSeekBar, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
|
||||
|
||||
if (shouldPersist()) {
|
||||
mValue = Integer.parseInt(getPersistedString(mDefault));
|
||||
}
|
||||
mSeekBar.setMax(mMax);
|
||||
mSeekBar.setProgress(mValue);
|
||||
return layout;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onBindDialogView(View v) {
|
||||
super.onBindDialogView(v);
|
||||
mSeekBar.setMax(mMax);
|
||||
mSeekBar.setProgress(mValue);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onSetInitialValue(boolean restore, Object defaultValue) {
|
||||
super.onSetInitialValue(restore, defaultValue);
|
||||
if (restore) {
|
||||
mValue = shouldPersist() ? Integer.parseInt(getPersistedString(mDefault)) : 0;
|
||||
} else {
|
||||
mValue = (Integer) defaultValue;
|
||||
}
|
||||
}
|
||||
|
||||
public void onProgressChanged(SeekBar seek, int value, boolean fromTouch) {
|
||||
String t = String.valueOf(value);
|
||||
mValueText.setText(mSuffix == null ? t : t.concat(mSuffix));
|
||||
if (shouldPersist()) {
|
||||
persistString(t);
|
||||
}
|
||||
callChangeListener(value);
|
||||
}
|
||||
|
||||
public void onStartTrackingTouch(SeekBar seek) {
|
||||
}
|
||||
|
||||
public void onStopTrackingTouch(SeekBar seek) {
|
||||
}
|
||||
|
||||
public void setMax(int max) {
|
||||
mMax = max;
|
||||
}
|
||||
|
||||
public int getMax() {
|
||||
return mMax;
|
||||
}
|
||||
|
||||
public void setProgress(int progress) {
|
||||
mValue = progress;
|
||||
if (mSeekBar != null) {
|
||||
mSeekBar.setProgress(progress);
|
||||
}
|
||||
}
|
||||
|
||||
public int getProgress() {
|
||||
return mValue;
|
||||
}
|
||||
}
|
@ -0,0 +1,161 @@
|
||||
package com.pavelsikun.seekbarpreference;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.TypedArray;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.widget.SeekBar;
|
||||
import android.widget.TextView;
|
||||
|
||||
import net.i2p.android.router.R;
|
||||
|
||||
/**
|
||||
* Based on MaterialSeekBarController created by mrbimc on 30.09.15.
|
||||
*/
|
||||
public class MaterialSeekBarController implements SeekBar.OnSeekBarChangeListener {
|
||||
|
||||
private final String TAG = getClass().getName();
|
||||
|
||||
public static final int DEFAULT_CURRENT_VALUE = 50;
|
||||
private static final int DEFAULT_MAX_VALUE = 100;
|
||||
private static final String DEFAULT_MEASUREMENT_UNIT = "";
|
||||
|
||||
private int mMaxValue;
|
||||
private int mMaxDigits;
|
||||
private int mCurrentValue;
|
||||
private String mMeasurementUnit;
|
||||
|
||||
private SeekBar mSeekBar;
|
||||
private TextView mSeekBarValue;
|
||||
private TextView mMeasurementUnitView;
|
||||
|
||||
private Context mContext;
|
||||
|
||||
private Persistable mPersistable;
|
||||
|
||||
public MaterialSeekBarController(Context context, AttributeSet attrs, Persistable persistable) {
|
||||
mContext = context;
|
||||
mPersistable = persistable;
|
||||
init(attrs, null);
|
||||
}
|
||||
|
||||
private void init(AttributeSet attrs, View view) {
|
||||
setValuesFromXml(attrs);
|
||||
if(view != null) onBindView(view);
|
||||
}
|
||||
private void setValuesFromXml(@Nullable AttributeSet attrs) {
|
||||
if (attrs == null) {
|
||||
mCurrentValue = DEFAULT_CURRENT_VALUE;
|
||||
mMaxValue = DEFAULT_MAX_VALUE;
|
||||
mMeasurementUnit = DEFAULT_MEASUREMENT_UNIT;
|
||||
} else {
|
||||
TypedArray a = mContext.obtainStyledAttributes(attrs, R.styleable.SeekBarPreference);
|
||||
try {
|
||||
mMaxValue = a.getInt(R.styleable.SeekBarPreference_msbp_maxValue, DEFAULT_MAX_VALUE);
|
||||
mCurrentValue = a.getInt(R.styleable.SeekBarPreference_msbp_defaultValue, DEFAULT_CURRENT_VALUE);
|
||||
|
||||
if(mCurrentValue > mMaxValue) mCurrentValue = mMaxValue / 2;
|
||||
mMeasurementUnit = a.getString(R.styleable.SeekBarPreference_msbp_measurementUnit);
|
||||
if (mMeasurementUnit == null)
|
||||
mMeasurementUnit = DEFAULT_MEASUREMENT_UNIT;
|
||||
} finally {
|
||||
a.recycle();
|
||||
}
|
||||
}
|
||||
mMaxDigits = (int) Math.log10(mMaxValue) + 1;
|
||||
}
|
||||
|
||||
public void onBindView(@NonNull View view) {
|
||||
|
||||
mSeekBar = (SeekBar) view.findViewById(R.id.seekbar);
|
||||
mSeekBar.setMax(mMaxValue);
|
||||
mSeekBar.setOnSeekBarChangeListener(this);
|
||||
|
||||
mSeekBarValue = (TextView) view.findViewById(R.id.seekbar_value);
|
||||
setPaddedValue(mCurrentValue);
|
||||
|
||||
mMeasurementUnitView = (TextView) view.findViewById(R.id.measurement_unit);
|
||||
mMeasurementUnitView.setText(mMeasurementUnit);
|
||||
|
||||
mSeekBar.setProgress(mCurrentValue);
|
||||
|
||||
if (!view.isEnabled()) {
|
||||
mSeekBar.setEnabled(false);
|
||||
mSeekBarValue.setEnabled(false);
|
||||
}
|
||||
}
|
||||
|
||||
protected void onSetInitialValue(boolean restoreValue, @NonNull Object defaultValue) {
|
||||
mCurrentValue = mMaxValue / 2;
|
||||
try {
|
||||
mCurrentValue = (Integer) defaultValue;
|
||||
} catch (Exception ex) {
|
||||
Log.e(TAG, "Invalid default value: " + defaultValue.toString());
|
||||
}
|
||||
}
|
||||
|
||||
public void setEnabled(boolean enabled) {
|
||||
if (mSeekBar != null) mSeekBar.setEnabled(enabled);
|
||||
if (mSeekBarValue != null) mSeekBarValue.setEnabled(enabled);
|
||||
}
|
||||
|
||||
public void onDependencyChanged(Preference dependency, boolean disableDependent) {
|
||||
if (mSeekBar != null) mSeekBar.setEnabled(!disableDependent);
|
||||
if (mSeekBarValue != null) mSeekBarValue.setEnabled(!disableDependent);
|
||||
}
|
||||
|
||||
//SeekBarListener:
|
||||
@Override
|
||||
public void onProgressChanged(@NonNull SeekBar seekBar, int progress, boolean fromUser) {
|
||||
mCurrentValue = progress;
|
||||
setPaddedValue(progress);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStartTrackingTouch(SeekBar seekBar) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStopTrackingTouch(@NonNull SeekBar seekBar) {
|
||||
setCurrentValue(mCurrentValue);
|
||||
}
|
||||
|
||||
private void setPaddedValue(int value) {
|
||||
mSeekBarValue.setText(String.format("%0" + mMaxDigits +"d", value));
|
||||
}
|
||||
|
||||
|
||||
//public methods for manipulating this widget from java:
|
||||
public void setCurrentValue(int value) {
|
||||
mCurrentValue = value;
|
||||
if (mPersistable != null) mPersistable.onPersist(value);
|
||||
}
|
||||
|
||||
public int getCurrentValue() {
|
||||
return mCurrentValue;
|
||||
}
|
||||
|
||||
|
||||
public void setMaxValue(int maxValue) {
|
||||
mMaxValue = maxValue;
|
||||
if (mSeekBar != null) mSeekBar.setMax(mMaxValue);
|
||||
}
|
||||
|
||||
public int getMaxValue() {
|
||||
return mMaxValue;
|
||||
}
|
||||
|
||||
|
||||
public void setMeasurementUnit(String measurementUnit) {
|
||||
mMeasurementUnit = measurementUnit;
|
||||
if (mMeasurementUnitView != null) mMeasurementUnitView.setText(mMeasurementUnit);
|
||||
}
|
||||
|
||||
public String getMeasurementUnit() {
|
||||
return mMeasurementUnit;
|
||||
}
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
package com.pavelsikun.seekbarpreference;
|
||||
|
||||
/**
|
||||
* Created by mrbimc on 04.10.15.
|
||||
*/
|
||||
public interface Persistable {
|
||||
void onPersist(int value);
|
||||
}
|
@ -0,0 +1,104 @@
|
||||
package com.pavelsikun.seekbarpreference;
|
||||
|
||||
import android.annotation.TargetApi;
|
||||
import android.content.Context;
|
||||
import android.content.res.TypedArray;
|
||||
import android.os.Build;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.support.v7.preference.PreferenceViewHolder;
|
||||
import android.util.AttributeSet;
|
||||
|
||||
import net.i2p.android.router.R;
|
||||
|
||||
public class SeekBarPreference extends Preference implements Persistable {
|
||||
|
||||
private MaterialSeekBarController mController;
|
||||
|
||||
public SeekBarPreference(Context context) {
|
||||
super(context);
|
||||
init(null);
|
||||
}
|
||||
|
||||
public SeekBarPreference(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
init(attrs);
|
||||
}
|
||||
|
||||
public SeekBarPreference(Context context, AttributeSet attrs, int defStyle) {
|
||||
super(context, attrs, defStyle);
|
||||
init(attrs);
|
||||
}
|
||||
|
||||
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
|
||||
public SeekBarPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
|
||||
super(context, attrs, defStyleAttr, defStyleRes);
|
||||
init(attrs);
|
||||
}
|
||||
|
||||
private void init(AttributeSet attrs) {
|
||||
setLayoutResource(R.layout.seekbar_preference);
|
||||
mController = new MaterialSeekBarController(getContext(), attrs, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull PreferenceViewHolder viewHolder) {
|
||||
super.onBindViewHolder(viewHolder);
|
||||
mController.onBindView(viewHolder.itemView);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Object onGetDefaultValue(@NonNull TypedArray ta, int index) {
|
||||
if(mController != null) return ta.getInt(index, mController.getCurrentValue());
|
||||
else return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onSetInitialValue(boolean restoreValue, @NonNull Object defaultValue) {
|
||||
int average = mController.getMaxValue() / 2;
|
||||
if(restoreValue) mController.setCurrentValue(getPersistedInt(average));
|
||||
else mController.onSetInitialValue(restoreValue, defaultValue);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setEnabled(boolean enabled) {
|
||||
super.setEnabled(enabled);
|
||||
mController.setEnabled(enabled);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDependencyChanged(Preference dependency, boolean disableDependent) {
|
||||
super.onDependencyChanged(dependency, disableDependent);
|
||||
mController.onDependencyChanged(dependency, disableDependent);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPersist(int value) {
|
||||
persistInt(value);
|
||||
notifyChanged();
|
||||
}
|
||||
|
||||
public String getMeasurementUnit() {
|
||||
return mController.getMeasurementUnit();
|
||||
}
|
||||
|
||||
public void setMeasurementUnit(String measurementUnit) {
|
||||
mController.setMeasurementUnit(measurementUnit);
|
||||
}
|
||||
|
||||
public int getMaxValue() {
|
||||
return mController.getMaxValue();
|
||||
}
|
||||
|
||||
public void setMaxValue(int maxValue) {
|
||||
mController.setMaxValue(maxValue);
|
||||
}
|
||||
|
||||
public int getCurrentValue() {
|
||||
return mController.getCurrentValue();
|
||||
}
|
||||
|
||||
public void setCurrentValue(int value) {
|
||||
mController.setCurrentValue(value);
|
||||
}
|
||||
}
|
@ -24,7 +24,7 @@ import net.i2p.android.router.service.State;
|
||||
import net.i2p.android.router.util.Connectivity;
|
||||
import net.i2p.android.router.util.Util;
|
||||
import net.i2p.android.util.MemoryFragmentPagerAdapter;
|
||||
import net.i2p.android.widget.CustomViewPager;
|
||||
import android.support.v4.view.CustomViewPager;
|
||||
import net.i2p.android.widget.SlidingTabLayout;
|
||||
import net.i2p.router.RouterContext;
|
||||
|
||||
|
@ -1,11 +1,14 @@
|
||||
package net.i2p.android.i2ptunnel;
|
||||
|
||||
import android.annotation.TargetApi;
|
||||
import android.app.Activity;
|
||||
import android.app.Dialog;
|
||||
import android.content.ActivityNotFoundException;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v4.app.DialogFragment;
|
||||
@ -117,8 +120,26 @@ public class TunnelDetailFragment extends Fragment {
|
||||
ViewCompat.setTransitionName(description,
|
||||
getActivity().getString(R.string.TUNNEL_DESCRIPTION) + mTunnel.getId());
|
||||
|
||||
TextView details = (TextView) v.findViewById(R.id.tunnel_details);
|
||||
details.setText(mTunnel.getDetails());
|
||||
if (!mTunnel.getDetails().isEmpty()) {
|
||||
v.findViewById(R.id.tunnel_details_container).setVisibility(View.VISIBLE);
|
||||
TextView details = (TextView) v.findViewById(R.id.tunnel_details);
|
||||
View copyDetails = v.findViewById(R.id.tunnel_details_copy);
|
||||
details.setText(mTunnel.getDetails());
|
||||
if (!mTunnel.isClient()) {
|
||||
copyDetails.setVisibility(View.VISIBLE);
|
||||
copyDetails.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB)
|
||||
copyToClipbardLegacy();
|
||||
else
|
||||
copyToClipboardHoneycomb();
|
||||
|
||||
Toast.makeText(getActivity(), R.string.address_copied_to_clipboard, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
View accessIfacePortItem = v.findViewById(R.id.tunnel_access_interface_port_item);
|
||||
TextView accessIfacePort = (TextView) v.findViewById(R.id.tunnel_access_interface_port);
|
||||
@ -279,4 +300,17 @@ public class TunnelDetailFragment extends Fragment {
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
}
|
||||
|
||||
private void copyToClipbardLegacy() {
|
||||
android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE);
|
||||
clipboard.setText(mTunnel.getDetails());
|
||||
}
|
||||
|
||||
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
|
||||
private void copyToClipboardHoneycomb() {
|
||||
android.content.ClipboardManager clipboard = (android.content.ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE);
|
||||
android.content.ClipData clip = android.content.ClipData.newPlainText(
|
||||
mTunnel.getName(), mTunnel.getDetails());
|
||||
clipboard.setPrimaryClip(clip);
|
||||
}
|
||||
}
|
||||
|
@ -252,7 +252,7 @@ public class TunnelEntry {
|
||||
if (isClient())
|
||||
details = getClientDestination();
|
||||
else
|
||||
details = "";
|
||||
details = getDestHashBase32();
|
||||
return details;
|
||||
}
|
||||
|
||||
|
@ -65,8 +65,13 @@ public class TunnelEntryAdapter extends RecyclerView.Adapter<RecyclerView.ViewHo
|
||||
}
|
||||
|
||||
public void addTunnel(TunnelEntry tunnel) {
|
||||
boolean wasEmpty = mTunnels.isEmpty();
|
||||
mTunnels.add(tunnel);
|
||||
notifyItemInserted(mTunnels.size()-1);
|
||||
if (wasEmpty) {
|
||||
notifyDataSetChanged();
|
||||
} else {
|
||||
notifyItemInserted(mTunnels.size() - 1);
|
||||
}
|
||||
}
|
||||
|
||||
public TunnelEntry getTunnel(int position) {
|
||||
|
@ -3,11 +3,11 @@ package net.i2p.android.i2ptunnel.preferences;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
import android.preference.CheckBoxPreference;
|
||||
import android.preference.Preference;
|
||||
import android.preference.PreferenceCategory;
|
||||
import android.preference.PreferenceScreen;
|
||||
import android.support.v7.app.AlertDialog;
|
||||
import android.support.v7.preference.CheckBoxPreference;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.support.v7.preference.PreferenceCategory;
|
||||
import android.support.v7.preference.PreferenceScreen;
|
||||
|
||||
import net.i2p.android.i2ptunnel.util.TunnelLogic;
|
||||
import net.i2p.android.i2ptunnel.util.TunnelUtil;
|
||||
|
@ -2,27 +2,25 @@ package net.i2p.android.i2ptunnel.preferences;
|
||||
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.preference.Preference;
|
||||
import android.preference.PreferenceGroup;
|
||||
import android.preference.PreferenceScreen;
|
||||
import android.support.v4.preference.PreferenceFragment;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.support.v7.preference.PreferenceGroup;
|
||||
import android.support.v7.preference.PreferenceScreen;
|
||||
|
||||
import net.i2p.I2PAppContext;
|
||||
import net.i2p.android.i2ptunnel.util.TunnelUtil;
|
||||
import net.i2p.android.preferences.util.CustomPreferenceFragment;
|
||||
import net.i2p.android.router.R;
|
||||
import net.i2p.i2ptunnel.TunnelControllerGroup;
|
||||
import net.i2p.i2ptunnel.ui.TunnelConfig;
|
||||
|
||||
public abstract class BaseTunnelPreferenceFragment extends PreferenceFragment {
|
||||
public abstract class BaseTunnelPreferenceFragment extends CustomPreferenceFragment {
|
||||
protected static final String ARG_TUNNEL_ID = "tunnelId";
|
||||
|
||||
protected TunnelControllerGroup mGroup;
|
||||
protected int mTunnelId;
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle paramBundle) {
|
||||
super.onCreate(paramBundle);
|
||||
|
||||
public void onCreatePreferences(Bundle paramBundle, String s) {
|
||||
String error;
|
||||
try {
|
||||
mGroup = TunnelControllerGroup.getInstance();
|
||||
|
@ -4,13 +4,13 @@ import android.content.DialogInterface;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Bundle;
|
||||
import android.preference.CheckBoxPreference;
|
||||
import android.preference.ListPreference;
|
||||
import android.preference.Preference;
|
||||
import android.preference.PreferenceCategory;
|
||||
import android.preference.PreferenceScreen;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v7.app.AlertDialog;
|
||||
import android.support.v7.preference.CheckBoxPreference;
|
||||
import android.support.v7.preference.ListPreference;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.support.v7.preference.PreferenceCategory;
|
||||
import android.support.v7.preference.PreferenceScreen;
|
||||
|
||||
import net.i2p.android.i2ptunnel.util.TunnelLogic;
|
||||
import net.i2p.android.i2ptunnel.util.TunnelUtil;
|
||||
|
@ -1,20 +1,19 @@
|
||||
package net.i2p.android.preferences;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.preference.Preference;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.preference.PreferenceFragment;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.support.v7.preference.PreferenceFragmentCompat;
|
||||
|
||||
import net.i2p.android.router.R;
|
||||
import net.i2p.android.router.SettingsActivity;
|
||||
|
||||
public class AdvancedPreferenceFragment extends PreferenceFragment {
|
||||
public class AdvancedPreferenceFragment extends PreferenceFragmentCompat {
|
||||
private static final String PREFERENCE_CATEGORY_TRANSPORTS = "preference_category_transports";
|
||||
private static final String PREFERENCE_CATEGORY_EXPL_TUNNELS = "preference_category_expl_tunnels";
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle paramBundle) {
|
||||
super.onCreate(paramBundle);
|
||||
public void onCreatePreferences(Bundle paramBundle, String s) {
|
||||
addPreferencesFromResource(R.xml.settings_advanced);
|
||||
|
||||
findPreference(PREFERENCE_CATEGORY_TRANSPORTS)
|
||||
|
@ -7,8 +7,7 @@ import net.i2p.android.router.SettingsActivity;
|
||||
|
||||
public class AppearancePreferenceFragment extends I2PreferenceFragment {
|
||||
@Override
|
||||
public void onCreate(Bundle paramBundle) {
|
||||
super.onCreate(paramBundle);
|
||||
public void onCreatePreferences(Bundle paramBundle, String s) {
|
||||
addPreferencesFromResource(R.xml.settings_appearance);
|
||||
}
|
||||
|
||||
|
@ -7,8 +7,7 @@ import net.i2p.android.router.SettingsActivity;
|
||||
|
||||
public class ExploratoryPoolPreferenceFragment extends I2PreferenceFragment {
|
||||
@Override
|
||||
public void onCreate(Bundle paramBundle) {
|
||||
super.onCreate(paramBundle);
|
||||
public void onCreatePreferences(Bundle paramBundle, String s) {
|
||||
addPreferencesFromResource(R.xml.settings_expl_tunnels);
|
||||
}
|
||||
|
||||
|
@ -2,10 +2,10 @@ package net.i2p.android.preferences;
|
||||
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
import android.preference.CheckBoxPreference;
|
||||
import android.preference.PreferenceCategory;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.preference.PreferenceScreen;
|
||||
import android.support.v7.preference.CheckBoxPreference;
|
||||
import android.support.v7.preference.PreferenceCategory;
|
||||
import android.support.v7.preference.PreferenceManager;
|
||||
import android.support.v7.preference.PreferenceScreen;
|
||||
|
||||
import net.i2p.android.router.R;
|
||||
import net.i2p.android.router.SettingsActivity;
|
||||
@ -24,8 +24,7 @@ public class GraphsPreferenceFragment extends I2PreferenceFragment {
|
||||
public static final String GRAPH_PREFERENCES_SEEN = "graphPreferencesSeen";
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle paramBundle) {
|
||||
super.onCreate(paramBundle);
|
||||
public void onCreatePreferences(Bundle paramBundle, String s) {
|
||||
addPreferencesFromResource(R.xml.settings_graphs);
|
||||
setupGraphSettings();
|
||||
}
|
||||
|
@ -1,9 +1,9 @@
|
||||
package net.i2p.android.preferences;
|
||||
|
||||
import android.support.v4.preference.PreferenceFragment;
|
||||
import android.widget.Toast;
|
||||
|
||||
import net.i2p.I2PAppContext;
|
||||
import net.i2p.android.preferences.util.CustomPreferenceFragment;
|
||||
import net.i2p.android.router.R;
|
||||
import net.i2p.android.router.util.Util;
|
||||
import net.i2p.router.RouterContext;
|
||||
@ -15,7 +15,7 @@ import java.util.Set;
|
||||
/**
|
||||
* A PreferenceFragment that handles saving router settings.
|
||||
*/
|
||||
public class I2PreferenceFragment extends PreferenceFragment {
|
||||
public abstract class I2PreferenceFragment extends CustomPreferenceFragment {
|
||||
@Override
|
||||
public void onPause() {
|
||||
List<Properties> lProps = Util.getPropertiesFromPreferences(getActivity());
|
||||
|
@ -1,7 +1,7 @@
|
||||
package net.i2p.android.preferences;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.preference.PreferenceScreen;
|
||||
import android.support.v7.preference.PreferenceScreen;
|
||||
|
||||
import net.i2p.android.router.R;
|
||||
import net.i2p.android.router.SettingsActivity;
|
||||
@ -11,8 +11,7 @@ import net.i2p.util.LogManager;
|
||||
|
||||
public class LoggingPreferenceFragment extends I2PreferenceFragment {
|
||||
@Override
|
||||
public void onCreate(Bundle paramBundle) {
|
||||
super.onCreate(paramBundle);
|
||||
public void onCreatePreferences(Bundle paramBundle, String s) {
|
||||
addPreferencesFromResource(R.xml.settings_logging);
|
||||
setupLoggingSettings();
|
||||
}
|
||||
|
@ -7,8 +7,7 @@ import net.i2p.android.router.SettingsActivity;
|
||||
|
||||
public class NetworkPreferenceFragment extends I2PreferenceFragment {
|
||||
@Override
|
||||
public void onCreate(Bundle paramBundle) {
|
||||
super.onCreate(paramBundle);
|
||||
public void onCreatePreferences(Bundle paramBundle, String s) {
|
||||
addPreferencesFromResource(R.xml.settings_net);
|
||||
}
|
||||
|
||||
|
@ -3,22 +3,21 @@ package net.i2p.android.preferences;
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
import android.preference.CheckBoxPreference;
|
||||
import android.preference.Preference;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.preference.PreferenceScreen;
|
||||
import android.support.v7.preference.CheckBoxPreference;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.support.v7.preference.PreferenceManager;
|
||||
import android.support.v7.preference.PreferenceScreen;
|
||||
import android.widget.Toast;
|
||||
|
||||
import net.i2p.android.router.R;
|
||||
import net.i2p.android.router.SettingsActivity;
|
||||
import net.i2p.android.router.util.PortPreference;
|
||||
import net.i2p.android.preferences.util.PortPreference;
|
||||
import net.i2p.android.router.util.Util;
|
||||
import net.i2p.router.RouterContext;
|
||||
|
||||
public class TransportsPreferenceFragment extends I2PreferenceFragment {
|
||||
@Override
|
||||
public void onCreate(Bundle paramBundle) {
|
||||
super.onCreate(paramBundle);
|
||||
public void onCreatePreferences(Bundle paramBundle, String s) {
|
||||
// Load any properties that the router might have changed on us.
|
||||
loadProperties();
|
||||
addPreferencesFromResource(R.xml.settings_transports);
|
||||
|
@ -1,9 +1,8 @@
|
||||
package net.i2p.android.router.util;
|
||||
package net.i2p.android.preferences.util;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.TypedArray;
|
||||
import android.preference.EditTextPreference;
|
||||
import android.text.InputType;
|
||||
import android.support.v7.preference.EditTextPreference;
|
||||
import android.util.AttributeSet;
|
||||
|
||||
import net.i2p.android.router.R;
|
||||
@ -26,7 +25,6 @@ public class ConnectionLimitPreference extends EditTextPreference {
|
||||
}
|
||||
|
||||
void init(Context context, AttributeSet attrs) {
|
||||
getEditText().setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_SIGNED);
|
||||
TypedArray attr = context.obtainStyledAttributes(attrs, R.styleable.ConnectionLimitPreference, 0, 0);
|
||||
mValueInTitle = attr.getBoolean(R.styleable.ConnectionLimitPreference_clp_valueInTitle, false);
|
||||
attr.recycle();
|
@ -0,0 +1,24 @@
|
||||
package net.i2p.android.preferences.util;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.preference.EditTextPreferenceDialogFragmentCompat;
|
||||
import android.text.InputType;
|
||||
import android.view.View;
|
||||
import android.widget.EditText;
|
||||
|
||||
public class ConnectionLimitPreferenceDialog extends EditTextPreferenceDialogFragmentCompat {
|
||||
public static ConnectionLimitPreferenceDialog newInstance(String key) {
|
||||
final ConnectionLimitPreferenceDialog fragment = new ConnectionLimitPreferenceDialog();
|
||||
final Bundle b = new Bundle(1);
|
||||
b.putString(ARG_KEY, key);
|
||||
fragment.setArguments(b);
|
||||
return fragment;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onBindDialogView(View view) {
|
||||
super.onBindDialogView(view);
|
||||
((EditText)view.findViewById(android.R.id.edit)).setInputType(
|
||||
InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_SIGNED);
|
||||
}
|
||||
}
|
@ -0,0 +1,36 @@
|
||||
package net.i2p.android.preferences.util;
|
||||
|
||||
import android.support.v4.app.DialogFragment;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.support.v7.preference.PreferenceFragmentCompat;
|
||||
|
||||
/**
|
||||
* Handles custom Preferences.
|
||||
*/
|
||||
public abstract class CustomPreferenceFragment extends PreferenceFragmentCompat {
|
||||
private static final String DIALOG_FRAGMENT_TAG =
|
||||
"android.support.v7.preference.PreferenceFragment.DIALOG";
|
||||
|
||||
@Override
|
||||
public void onDisplayPreferenceDialog(Preference preference) {
|
||||
// check if dialog is already showing
|
||||
if (getFragmentManager().findFragmentByTag(DIALOG_FRAGMENT_TAG) != null) {
|
||||
return;
|
||||
}
|
||||
|
||||
DialogFragment f = null;
|
||||
if (preference instanceof ConnectionLimitPreference) {
|
||||
f = ConnectionLimitPreferenceDialog.newInstance(preference.getKey());
|
||||
} else if (preference instanceof IntEditTextPreference) {
|
||||
f = IntEditTextPreferenceDialog.newInstance(preference.getKey());
|
||||
} else if (preference instanceof PortPreference) {
|
||||
f = PortPreferenceDialog.newInstance(preference.getKey());
|
||||
} else {
|
||||
super.onDisplayPreferenceDialog(preference);
|
||||
}
|
||||
if (f != null) {
|
||||
f.setTargetFragment(this, 0);
|
||||
f.show(getFragmentManager(), DIALOG_FRAGMENT_TAG);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,25 +1,21 @@
|
||||
package net.i2p.android.router.util;
|
||||
package net.i2p.android.preferences.util;
|
||||
|
||||
import android.content.Context;
|
||||
import android.preference.EditTextPreference;
|
||||
import android.text.InputType;
|
||||
import android.support.v7.preference.EditTextPreference;
|
||||
import android.util.AttributeSet;
|
||||
|
||||
public class IntEditTextPreference extends EditTextPreference {
|
||||
|
||||
public IntEditTextPreference(Context context) {
|
||||
super(context);
|
||||
getEditText().setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_SIGNED);
|
||||
}
|
||||
|
||||
public IntEditTextPreference(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
getEditText().setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_SIGNED);
|
||||
}
|
||||
|
||||
public IntEditTextPreference(Context context, AttributeSet attrs, int defStyle) {
|
||||
super(context, attrs, defStyle);
|
||||
getEditText().setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_SIGNED);
|
||||
}
|
||||
|
||||
@Override
|
@ -0,0 +1,24 @@
|
||||
package net.i2p.android.preferences.util;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.preference.EditTextPreferenceDialogFragmentCompat;
|
||||
import android.text.InputType;
|
||||
import android.view.View;
|
||||
import android.widget.EditText;
|
||||
|
||||
public class IntEditTextPreferenceDialog extends EditTextPreferenceDialogFragmentCompat {
|
||||
public static IntEditTextPreferenceDialog newInstance(String key) {
|
||||
final IntEditTextPreferenceDialog fragment = new IntEditTextPreferenceDialog();
|
||||
final Bundle b = new Bundle(1);
|
||||
b.putString(ARG_KEY, key);
|
||||
fragment.setArguments(b);
|
||||
return fragment;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onBindDialogView(View view) {
|
||||
super.onBindDialogView(view);
|
||||
((EditText)view.findViewById(android.R.id.edit)).setInputType(
|
||||
InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_SIGNED);
|
||||
}
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
package net.i2p.android.router.util;
|
||||
package net.i2p.android.preferences.util;
|
||||
|
||||
import android.content.Context;
|
||||
import android.preference.ListPreference;
|
||||
import android.support.v7.preference.ListPreference;
|
||||
import android.util.AttributeSet;
|
||||
|
||||
public class IntListPreference extends ListPreference {
|
@ -1,8 +1,7 @@
|
||||
package net.i2p.android.router.util;
|
||||
package net.i2p.android.preferences.util;
|
||||
|
||||
import android.content.Context;
|
||||
import android.preference.EditTextPreference;
|
||||
import android.text.InputType;
|
||||
import android.support.v7.preference.EditTextPreference;
|
||||
import android.util.AttributeSet;
|
||||
|
||||
import net.i2p.android.router.R;
|
||||
@ -10,17 +9,14 @@ import net.i2p.android.router.R;
|
||||
public class PortPreference extends EditTextPreference {
|
||||
public PortPreference(Context context) {
|
||||
super(context);
|
||||
getEditText().setInputType(InputType.TYPE_CLASS_NUMBER);
|
||||
}
|
||||
|
||||
public PortPreference(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
getEditText().setInputType(InputType.TYPE_CLASS_NUMBER);
|
||||
}
|
||||
|
||||
public PortPreference(Context context, AttributeSet attrs, int defStyle) {
|
||||
super(context, attrs, defStyle);
|
||||
getEditText().setInputType(InputType.TYPE_CLASS_NUMBER);
|
||||
}
|
||||
|
||||
@Override
|
@ -0,0 +1,23 @@
|
||||
package net.i2p.android.preferences.util;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.preference.EditTextPreferenceDialogFragmentCompat;
|
||||
import android.text.InputType;
|
||||
import android.view.View;
|
||||
import android.widget.EditText;
|
||||
|
||||
public class PortPreferenceDialog extends EditTextPreferenceDialogFragmentCompat {
|
||||
public static PortPreferenceDialog newInstance(String key) {
|
||||
final PortPreferenceDialog fragment = new PortPreferenceDialog();
|
||||
final Bundle b = new Bundle(1);
|
||||
b.putString(ARG_KEY, key);
|
||||
fragment.setArguments(b);
|
||||
return fragment;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onBindDialogView(View view) {
|
||||
super.onBindDialogView(view);
|
||||
((EditText)view.findViewById(android.R.id.edit)).setInputType(InputType.TYPE_CLASS_NUMBER);
|
||||
}
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
package net.i2p.android.router.util;
|
||||
package net.i2p.android.preferences.util;
|
||||
|
||||
import android.content.Context;
|
||||
import android.preference.EditTextPreference;
|
||||
import android.support.v7.preference.EditTextPreference;
|
||||
import android.util.AttributeSet;
|
||||
|
||||
public class SummaryEditTextPreference extends EditTextPreference {
|
@ -93,14 +93,18 @@ public class ConsoleContainer extends Fragment {
|
||||
}
|
||||
|
||||
private void setMenuVisibility() {
|
||||
boolean advanced = PreferenceManager.getDefaultSharedPreferences(getActivity()).getBoolean(
|
||||
"i2pandroid.main.showStats", false);
|
||||
boolean routerRunning = Util.getRouterContext() != null;
|
||||
|
||||
mConsoleMenu.findViewById(R.id.action_logs).setVisibility(routerRunning ? View.VISIBLE : View.GONE);
|
||||
mConsoleMenu.findViewById(R.id.action_graphs).setVisibility(routerRunning ? View.VISIBLE : View.GONE);
|
||||
mConsoleMenu.findViewById(R.id.action_peers).setVisibility(advanced && routerRunning ? View.VISIBLE : View.GONE);
|
||||
mConsoleMenu.findViewById(R.id.action_netdb).setVisibility(advanced && routerRunning ? View.VISIBLE : View.GONE);
|
||||
|
||||
if (getActivity() != null) {
|
||||
boolean advanced = PreferenceManager.getDefaultSharedPreferences(getActivity())
|
||||
.getBoolean("i2pandroid.main.showStats", false);
|
||||
mConsoleMenu.findViewById(R.id.action_peers).setVisibility(
|
||||
advanced && routerRunning ? View.VISIBLE : View.GONE);
|
||||
mConsoleMenu.findViewById(R.id.action_netdb).setVisibility(
|
||||
advanced && routerRunning ? View.VISIBLE : View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -428,9 +428,9 @@ public class MainFragment extends I2PFragmentBase {
|
||||
double outData = ctx.bandwidthLimiter().getTotalAllocatedOutboundBytes();
|
||||
|
||||
((TextView) getActivity().findViewById(R.id.console_download_stats)).setText(
|
||||
Util.formatSize(inBw) + "Bps / " + Util.formatSize(inData) + "B");
|
||||
Util.formatSpeed(inBw) + "Bps / " + Util.formatSize(inData) + "B");
|
||||
((TextView) getActivity().findViewById(R.id.console_upload_stats)).setText(
|
||||
Util.formatSize(outBw) + "Bps / " + Util.formatSize(outData) + "B");
|
||||
Util.formatSpeed(outBw) + "Bps / " + Util.formatSize(outData) + "B");
|
||||
|
||||
getActivity().findViewById(R.id.console_usage_stats).setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
|
@ -3,12 +3,12 @@ package net.i2p.android.router;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
import android.preference.Preference;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.app.FragmentManager;
|
||||
import android.support.v4.content.LocalBroadcastManager;
|
||||
import android.support.v4.preference.PreferenceFragment;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.support.v7.preference.PreferenceFragmentCompat;
|
||||
import android.support.v7.widget.Toolbar;
|
||||
|
||||
import net.i2p.android.I2PActivity;
|
||||
@ -84,10 +84,11 @@ public class SettingsActivity extends AppCompatActivity implements
|
||||
}
|
||||
}
|
||||
|
||||
public static class SettingsFragment extends PreferenceFragment {
|
||||
public static class SettingsFragment extends PreferenceFragmentCompat {
|
||||
@Override
|
||||
public void onCreate(Bundle paramBundle) {
|
||||
super.onCreate(paramBundle);
|
||||
public void onCreatePreferences(Bundle paramBundle, String s) {
|
||||
migrateOldSettings();
|
||||
|
||||
addPreferencesFromResource(R.xml.settings);
|
||||
|
||||
this.findPreference(PREFERENCE_CATEGORY_NETWORK)
|
||||
@ -104,6 +105,29 @@ public class SettingsActivity extends AppCompatActivity implements
|
||||
.setOnPreferenceClickListener(new CategoryClickListener(PREFERENCE_CATEGORY_ADVANCED));
|
||||
}
|
||||
|
||||
private void migrateOldSettings() {
|
||||
SharedPreferences prefs = getPreferenceManager().getSharedPreferences();
|
||||
try {
|
||||
prefs.getInt("i2np.bandwidth.inboundKBytesPerSecond", 0);
|
||||
} catch (ClassCastException e) {
|
||||
// Migrate pre-0.9.25 settings
|
||||
SharedPreferences.Editor editor = prefs.edit();
|
||||
editor.remove("i2np.bandwidth.inboundKBytesPerSecond");
|
||||
editor.putInt("i2np.bandwidth.inboundKBytesPerSecond", Integer.parseInt(
|
||||
prefs.getString("i2np.bandwidth.inboundKBytesPerSecond", "100")));
|
||||
editor.remove("i2np.bandwidth.outboundKBytesPerSecond");
|
||||
editor.putInt("i2np.bandwidth.outboundKBytesPerSecond", Integer.parseInt(
|
||||
prefs.getString("i2np.bandwidth.outboundKBytesPerSecond", "100")));
|
||||
editor.remove("i2np.ntcp.maxConnections");
|
||||
editor.putInt("i2np.ntcp.maxConnections", Integer.parseInt(
|
||||
prefs.getString("i2np.ntcp.maxConnections", "32")));
|
||||
editor.remove("i2np.udp.maxConnections");
|
||||
editor.putInt("i2np.udp.maxConnections", Integer.parseInt(
|
||||
prefs.getString("i2np.udp.maxConnections", "32")));
|
||||
editor.apply();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
|
@ -144,11 +144,14 @@ public class AddressbookContainer extends Fragment
|
||||
@Override
|
||||
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
|
||||
inflater.inflate(R.menu.container_addressbook_actions, menu);
|
||||
SearchManager searchManager = (SearchManager) getActivity().getSystemService(Context.SEARCH_SERVICE);
|
||||
MenuItem searchItem = menu.findItem(R.id.action_search_addressbook);
|
||||
SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
|
||||
searchView.setSearchableInfo(searchManager.getSearchableInfo(getActivity().getComponentName()));
|
||||
searchView.setOnQueryTextListener(this);
|
||||
Activity activity = getActivity();
|
||||
if (activity != null) {
|
||||
SearchManager searchManager = (SearchManager) activity.getSystemService(Context.SEARCH_SERVICE);
|
||||
MenuItem searchItem = menu.findItem(R.id.action_search_addressbook);
|
||||
SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
|
||||
searchView.setSearchableInfo(searchManager.getSearchableInfo(activity.getComponentName()));
|
||||
searchView.setOnQueryTextListener(this);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -264,11 +264,11 @@ public class RouterService extends Service {
|
||||
|
||||
String text =
|
||||
getResources().getString(R.string.notification_status_text,
|
||||
Util.formatSize(inBW), Util.formatSize(outBW));
|
||||
Util.formatSpeed(inBW), Util.formatSpeed(outBW));
|
||||
|
||||
String bigText =
|
||||
getResources().getString(R.string.notification_status_bw,
|
||||
Util.formatSize(inBW), Util.formatSize(outBW)) + '\n'
|
||||
Util.formatSpeed(inBW), Util.formatSpeed(outBW)) + '\n'
|
||||
+ getResources().getString(R.string.notification_status_peers,
|
||||
active, known) + '\n'
|
||||
+ getResources().getString(R.string.notification_status_expl,
|
||||
|
@ -1,6 +1,7 @@
|
||||
package net.i2p.android.router.util;
|
||||
|
||||
import net.i2p.android.router.R;
|
||||
|
||||
import android.app.NotificationManager;
|
||||
import android.app.PendingIntent;
|
||||
import android.content.Context;
|
||||
@ -18,7 +19,7 @@ public class Notifications {
|
||||
mNotificationManager = (NotificationManager) ctx.getSystemService(
|
||||
Context.NOTIFICATION_SERVICE);
|
||||
}
|
||||
|
||||
|
||||
public void notify(String title, String text) {
|
||||
notify(title, text, null);
|
||||
}
|
||||
@ -26,10 +27,11 @@ public class Notifications {
|
||||
public void notify(String title, String text, Class<?> c) {
|
||||
NotificationCompat.Builder b =
|
||||
new NotificationCompat.Builder(mCtx)
|
||||
.setContentTitle(title)
|
||||
.setContentText(text)
|
||||
.setSmallIcon(ICON)
|
||||
.setAutoCancel(true);
|
||||
.setContentTitle(title)
|
||||
.setContentText(text)
|
||||
.setSmallIcon(ICON)
|
||||
.setColor(mCtx.getResources().getColor(R.color.primary_light))
|
||||
.setAutoCancel(true);
|
||||
|
||||
if (c != null) {
|
||||
Intent intent = new Intent(mCtx, c);
|
||||
|
@ -553,8 +553,19 @@ public abstract class Util implements I2PConstants {
|
||||
}
|
||||
|
||||
public static String formatSize(double size) {
|
||||
return formatSize(size, 0);
|
||||
}
|
||||
|
||||
public static String formatSpeed(double size) {
|
||||
return formatSize(size, 1);
|
||||
}
|
||||
|
||||
public static String formatSize(double size, int baseScale) {
|
||||
int scale;
|
||||
for (scale = 0; size >= 1024.0D; size /= 1024.0D) {
|
||||
for (int i = 0; i < baseScale; i++) {
|
||||
size /= 1024.0D;
|
||||
}
|
||||
for (scale = baseScale; size >= 1024.0D; size /= 1024.0D) {
|
||||
++scale;
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,50 @@
|
||||
package net.i2p.router.client;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.ServerSocket;
|
||||
import java.net.Socket;
|
||||
|
||||
import net.i2p.client.DomainSocketFactory;
|
||||
import net.i2p.router.RouterContext;
|
||||
import net.i2p.util.Log;
|
||||
|
||||
/**
|
||||
* Unix domain socket version of ClientListenerRunner.
|
||||
*
|
||||
* @author str4d
|
||||
* @since 0.9.14
|
||||
*/
|
||||
public class DomainClientListenerRunner extends ClientListenerRunner {
|
||||
private final DomainSocketFactory factory;
|
||||
private final Log _log;
|
||||
|
||||
public DomainClientListenerRunner(RouterContext context, ClientManager manager) {
|
||||
super(context, manager, -1);
|
||||
factory = new DomainSocketFactory(_context);
|
||||
_log = context.logManager().getLog(getClass());
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws IOException
|
||||
*/
|
||||
@Override
|
||||
protected ServerSocket getServerSocket() throws IOException {
|
||||
return factory.createServerSocket(DomainSocketFactory.I2CP_SOCKET_ADDRESS);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stopListening() {
|
||||
_running = false;
|
||||
// LocalServerSocket.close() fails silently if the socket is blocking in accept(), so we
|
||||
// trick the socket by opening a new connection and then immediately closing it.
|
||||
// http://stackoverflow.com/questions/8007982/java-serversocket-and-android-localserversocket
|
||||
try {
|
||||
_log.debug("Connecting to domain socket to trigger close");
|
||||
Socket s = factory.createSocket(DomainSocketFactory.I2CP_SOCKET_ADDRESS);
|
||||
s.close();
|
||||
} catch (IOException e) {
|
||||
_log.error("Failed to connect to domain socket to trigger close", e);
|
||||
}
|
||||
// runServer() will close the LocalServerSocket.
|
||||
}
|
||||
}
|
@ -27,7 +27,7 @@
|
||||
android:clipChildren="false"
|
||||
app:shadowDrawable="@drawable/header_shadow">
|
||||
|
||||
<net.i2p.android.widget.CustomViewPager
|
||||
<android.support.v4.view.CustomViewPager
|
||||
android:id="@+id/pager"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
|
39
app/src/main/res/layout-v11/seekbar_preference.xml
Normal file
39
app/src/main/res/layout-v11/seekbar_preference.xml
Normal file
@ -0,0 +1,39 @@
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:minHeight="?android:attr/listPreferredItemHeight"
|
||||
android:gravity="center_vertical"
|
||||
android:paddingRight="?android:attr/scrollbarSize"
|
||||
android:orientation="vertical"
|
||||
android:background="?android:attr/selectableItemBackground" >
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="6dip"
|
||||
android:layout_marginBottom="6dip">
|
||||
|
||||
<TextView android:id="@android:id/title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="?android:attr/textAppearanceLarge"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:ellipsize="marquee"
|
||||
android:fadingEdge="horizontal" />
|
||||
|
||||
<TextView android:id="@android:id/summary"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@android:id/title"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:textColor="?android:attr/textColorSecondary"
|
||||
android:maxLines="4" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
|
||||
<include layout="@layout/seekbar_inner"/>
|
||||
|
||||
</LinearLayout>
|
39
app/src/main/res/layout-v14/seekbar_preference.xml
Normal file
39
app/src/main/res/layout-v14/seekbar_preference.xml
Normal file
@ -0,0 +1,39 @@
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?android:attr/selectableItemBackground"
|
||||
android:gravity="center_vertical"
|
||||
android:minHeight="?android:attr/listPreferredItemHeight"
|
||||
android:orientation="vertical"
|
||||
android:paddingLeft="?android:attr/listPreferredItemPaddingLeft"
|
||||
android:paddingRight="?android:attr/listPreferredItemPaddingRight">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:paddingTop="16dp"
|
||||
android:paddingBottom="16dp">
|
||||
|
||||
<TextView android:id="@android:id/title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="@style/Preference_TextAppearanceMaterialSubhead"
|
||||
android:ellipsize="marquee" />
|
||||
|
||||
<TextView android:id="@android:id/summary"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@android:id/title"
|
||||
android:layout_alignLeft="@android:id/title"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:textColor="?android:attr/textColorSecondary"
|
||||
android:maxLines="10" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<include layout="@layout/seekbar_inner"/>
|
||||
|
||||
</LinearLayout>
|
39
app/src/main/res/layout-v17/seekbar_preference.xml
Normal file
39
app/src/main/res/layout-v17/seekbar_preference.xml
Normal file
@ -0,0 +1,39 @@
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?android:attr/selectableItemBackground"
|
||||
android:gravity="center_vertical"
|
||||
android:minHeight="?android:attr/listPreferredItemHeight"
|
||||
android:orientation="vertical"
|
||||
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
|
||||
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:paddingTop="16dp"
|
||||
android:paddingBottom="16dp">
|
||||
|
||||
<TextView android:id="@android:id/title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="@style/Preference_TextAppearanceMaterialSubhead"
|
||||
android:ellipsize="marquee" />
|
||||
|
||||
<TextView android:id="@android:id/summary"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@android:id/title"
|
||||
android:layout_alignStart="@android:id/title"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:textColor="?android:attr/textColorSecondary"
|
||||
android:maxLines="10" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<include layout="@layout/seekbar_inner"/>
|
||||
|
||||
</LinearLayout>
|
39
app/src/main/res/layout-v21/seekbar_preference.xml
Normal file
39
app/src/main/res/layout-v21/seekbar_preference.xml
Normal file
@ -0,0 +1,39 @@
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?android:attr/selectableItemBackground"
|
||||
android:gravity="center_vertical"
|
||||
android:minHeight="?android:attr/listPreferredItemHeight"
|
||||
android:orientation="vertical"
|
||||
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
|
||||
android:paddingStart="?android:attr/listPreferredItemPaddingStart">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:paddingTop="16dp"
|
||||
android:paddingBottom="16dp">
|
||||
|
||||
<TextView android:id="@android:id/title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="?android:attr/textAppearanceListItem"
|
||||
android:ellipsize="marquee" />
|
||||
|
||||
<TextView android:id="@android:id/summary"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@android:id/title"
|
||||
android:layout_alignStart="@android:id/title"
|
||||
android:textAppearance="?android:attr/textAppearanceListItemSecondary"
|
||||
android:textColor="?android:attr/textColorSecondary"
|
||||
android:maxLines="10" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<include layout="@layout/seekbar_inner"/>
|
||||
|
||||
</LinearLayout>
|
@ -29,7 +29,7 @@
|
||||
android:clipChildren="false"
|
||||
app:shadowDrawable="@drawable/header_shadow">
|
||||
|
||||
<net.i2p.android.widget.CustomViewPager
|
||||
<android.support.v4.view.CustomViewPager
|
||||
android:id="@+id/pager"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
|
@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
@ -52,10 +53,31 @@
|
||||
style="@style/ListItem.TextOnly"
|
||||
android:text="Tunnel type" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tunnel_details"
|
||||
style="@style/ListItem.TextOnly"
|
||||
android:text="Tunnel details" />
|
||||
<RelativeLayout
|
||||
android:id="@+id/tunnel_details_container"
|
||||
style="@style/ListItem.OneLine"
|
||||
android:visibility="gone">
|
||||
|
||||
<!-- Open link -->
|
||||
<ImageView
|
||||
android:id="@+id/tunnel_details_copy"
|
||||
style="@style/ListItemContent.Action"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:contentDescription="Copy"
|
||||
android:src="@drawable/ic_content_copy_white_24dp"
|
||||
android:visibility="invisible" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tunnel_details"
|
||||
style="@style/ListItemContent.Text.Main"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_toLeftOf="@id/tunnel_details_copy"
|
||||
android:layout_toStartOf="@id/tunnel_details_copy"
|
||||
tools:text="Tunnel details" />
|
||||
</RelativeLayout>
|
||||
|
||||
<View
|
||||
style="@style/Divider.Horizontal"
|
||||
|
45
app/src/main/res/layout/seekbar_inner.xml
Normal file
45
app/src/main/res/layout/seekbar_inner.xml
Normal file
@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:paddingTop="10dp"
|
||||
android:paddingBottom="10dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
tools:showIn="@layout/seekbar_preference">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/value_holder"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="right"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/seekbar_value"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:inputType="numberDecimal"
|
||||
android:textSize="14sp"
|
||||
android:textColor="?android:attr/textColorSecondary"
|
||||
android:singleLine="true"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/measurement_unit"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="14sp"
|
||||
android:textColor="?android:attr/textColorSecondary"/>
|
||||
</LinearLayout>
|
||||
|
||||
<SeekBar
|
||||
android:id="@+id/seekbar"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_toLeftOf="@id/value_holder"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"/>
|
||||
</RelativeLayout>
|
39
app/src/main/res/layout/seekbar_preference.xml
Normal file
39
app/src/main/res/layout/seekbar_preference.xml
Normal file
@ -0,0 +1,39 @@
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:minHeight="?android:attr/listPreferredItemHeight"
|
||||
android:gravity="center_vertical"
|
||||
android:paddingRight="?android:attr/scrollbarSize"
|
||||
android:orientation="vertical"
|
||||
android:background="@android:drawable/list_selector_background" >
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="6dip"
|
||||
android:layout_marginBottom="6dip">
|
||||
|
||||
<TextView android:id="@android:id/title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"
|
||||
android:textAppearance="?android:attr/textAppearanceLarge"
|
||||
android:textColor="?android:attr/textColorPrimary"
|
||||
android:ellipsize="marquee"
|
||||
android:fadingEdge="horizontal" />
|
||||
|
||||
<TextView android:id="@android:id/summary"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@android:id/title"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:textColor="?android:attr/textColorSecondary"
|
||||
android:maxLines="4" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
|
||||
<include layout="@layout/seekbar_inner"/>
|
||||
|
||||
</LinearLayout>
|
@ -81,6 +81,7 @@
|
||||
<string name="router_not_running">Der Router läuft nicht.</string>
|
||||
<string name="router_shutting_down">Der Router fährt herunter.</string>
|
||||
<string name="stats_not_ready">Der Statistikmanager ist noch nicht bereit. Versuchen Sie es später noch einmal.</string>
|
||||
<string name="select_an_address">Eine Adresse auswählen</string>
|
||||
<string name="no_graphs_configured">Es wurden keine Graphen konfiguriert. Sie können die Statistiken zum Erstellen der Graphen im Einstellungsmenü auswählen. Jede Änderung wird nach 60 Sekunden aktiv werden.</string>
|
||||
<string name="configure_graphs">Graphen konfigurieren</string>
|
||||
<string name="graphs_not_ready">Graphen sind noch nicht bereit. Versuchen Sie es später erneut.</string>
|
||||
|
@ -76,11 +76,12 @@
|
||||
<string name="action_reload_subscriptions">Volver a cargar suscripciones</string>
|
||||
<string name="news_last_updated">Última actualización de las noticias hace %s</string>
|
||||
<string name="news_last_checked">Última comprobación de las noticias hace %s</string>
|
||||
<string name="news_updated">Noticias actualizadas</string>
|
||||
<string name="news_updated">Se han actualizado las noticias</string>
|
||||
<string name="view_news">Pulse para ver las últimas noticias de I2P</string>
|
||||
<string name="router_not_running">El router I2P no está en marcha.</string>
|
||||
<string name="router_shutting_down">El router I2P se está cerrando.</string>
|
||||
<string name="stats_not_ready">El administrador de estadísticas aún no está listo. Inténtelo de nuevo más tarde.</string>
|
||||
<string name="select_an_address">Seleccione una dirección.</string>
|
||||
<string name="no_graphs_configured">No se ha configurado ninguna gráfica. Puede escoger las estadísticas a graficar en el menú de configuración. Cualquier cambio tendrá efecto después de 60 segundos.</string>
|
||||
<string name="configure_graphs">Configurar gráficas</string>
|
||||
<string name="graphs_not_ready">Las gráficas aún no están listas. Inténtelo de nuevo más tarde.</string>
|
||||
|
@ -3,7 +3,7 @@
|
||||
<string name="app_name">I2P</string>
|
||||
<string name="desc_i2p_logo">I2P-logo</string>
|
||||
<string name="choose_language">Valitse kieli</string>
|
||||
<string name="welcome_new_install">Tervetuloa I2P-sovellukseen! Täsmä sovellus on ALFA-ohjelmisto ja se ei tarjoa vahvaa nimettömyyttä. Lue julkaisutiedot ja linsessitiedot.</string>
|
||||
<string name="welcome_new_install">Tervetuloa I2P-sovellukseen! Tämä sovellus on ALFA-ohjelmisto ja se ei tarjoa vahvaa nimettömyyttä. Lue julkaisutiedot ja lisenssitiedot.</string>
|
||||
<string name="welcome_new_version">Uusi versio asennettu. Lue julkaisutiedot. Versio:</string>
|
||||
<string name="label_tunnels">Tunnelit</string>
|
||||
<string name="label_status">Tila</string>
|
||||
@ -24,15 +24,20 @@
|
||||
<string name="button_router_graceful">I2P sulkeutuu %s</string>
|
||||
<string name="button_shutdown_now">Pitkä painallus nyt pysäyttämiseksi</string>
|
||||
<string name="button_cancel_graceful">Pitkä painallus sulkemisen perumiseksi</string>
|
||||
<string name="no_internet">Internet-yhteys ei ole käytettävissä</string>
|
||||
<string name="hidden">Piilotettu</string>
|
||||
<string name="testing">Testataan</string>
|
||||
<string name="firewalled">Palomuuritettu</string>
|
||||
<string name="symmetric_nat">Symmetrinen NAT</string>
|
||||
<string name="net_status_error_i2cp">Asiakasohjelmahallinnan I2CP-virhe - tarkista lokitiedostot</string>
|
||||
<!--Parameter is a time, e.g. 32s or 2m-->
|
||||
<string name="net_status_error_unresolved_tcp">Ratkaisematon TCP-osoite</string>
|
||||
<string name="net_status_error_private_tcp">Ykstyinen TCP-osoite</string>
|
||||
<string name="net_status_warn_firewalled_inbound_tcp">Palomuuritettu tuleva TCP otettu käyttöön</string>
|
||||
<string name="net_status_info_disconnected">Yhteys poikki - tarkista verkkoyhteys</string>
|
||||
<string name="net_status_error_udp_port">UDP-portti käytössä - vaihda asetukset ja käynnistä uudelleen</string>
|
||||
<string name="net_status_error_udp_disabled_tcp_not_set">UDP poissa käytöstä ja tuleva TCP-verkkotietokone/-portti ei ole asetettu</string>
|
||||
<string name="net_status_warn_firewalled_udp_disabled">Palomuuritettu UDP-poiskytkettynä</string>
|
||||
<string name="shared_clients">Jaetut asiakkaat</string>
|
||||
<!--Character to indicate a client tunnel. Usually first letter of the word "client".-->
|
||||
<string name="char_client_tunnel">A</string>
|
||||
@ -64,6 +69,7 @@
|
||||
<string name="news_updated">Uutiset päivitetty</string>
|
||||
<string name="router_not_running">Reititin ei ole käynnissä.</string>
|
||||
<string name="router_shutting_down">Reititin sulkeutuu.</string>
|
||||
<string name="select_an_address">Valitse osoite.</string>
|
||||
<string name="statistics">Tilastot</string>
|
||||
<string name="routers">Reitittimet</string>
|
||||
<string name="countries">Maat</string>
|
||||
|
@ -51,7 +51,7 @@
|
||||
<!--Character to indicate a server tunnel. Usually first letter of the word "server".-->
|
||||
<string name="char_server_tunnel">S</string>
|
||||
<string name="no_tunnels_running">Aucun tunnel n\'est encore actif.</string>
|
||||
<string name="download">Récéption</string>
|
||||
<string name="download">Réception</string>
|
||||
<string name="upload">Envoi</string>
|
||||
<string name="configure_browser_title">Configurer le navigateur ?</string>
|
||||
<string name="configure_browser_for_i2p">Voudriez-vous configurer un navigateur pour voir les sites d\'I2P ? (vous pouvez aussi faire cela plus tard depuis le menu d\'aide).</string>
|
||||
@ -81,6 +81,7 @@
|
||||
<string name="router_not_running">Le routeur ne fonctionne pas.</string>
|
||||
<string name="router_shutting_down">Le routeur s\'arrête.</string>
|
||||
<string name="stats_not_ready">Le gestionnaire de statistiques n\'est pas encore prêt. Réessayez plus tard.</string>
|
||||
<string name="select_an_address">Sélectionnez une adresse.</string>
|
||||
<string name="no_graphs_configured">Aucun graphique n\'a été configuré. Vous pouvez choisir les statistiques à afficher dans les paramètres. Tout changement prendra effet après 60 secondes.</string>
|
||||
<string name="configure_graphs">Configurer les graphiques</string>
|
||||
<string name="graphs_not_ready">Les graphiques ne sont pas encore prêts. Veuillez réessayer plus tard.</string>
|
||||
@ -114,7 +115,7 @@
|
||||
<string name="notification_status_client">Tunnels client : %1$d/%2$d</string>
|
||||
<string name="menu_settings">Paramètres</string>
|
||||
<string name="settings_enable">Activer</string>
|
||||
<string name="settings_desc_subscriptions">URLs d\'abonnement</string>
|
||||
<string name="settings_desc_subscriptions">URL d\'abonnement</string>
|
||||
<string name="settings_label_bandwidth_net">Bande passante et réseau</string>
|
||||
<string name="settings_label_startOnBoot">Démarrer I2P lors du boot</string>
|
||||
<string name="settings_desc_startOnBoot">Se connecter automatiquement à I2P lorsque Android démarre</string>
|
||||
@ -283,7 +284,7 @@
|
||||
<string name="reject_inproxies">Rejeter les inproxies</string>
|
||||
<string name="tunnel_summ_reject_inproxies">Permettre seulement aux utilisateurs I2P de se connecter</string>
|
||||
<string name="unique_local">Local unique</string>
|
||||
<string name="tunnel_summ_unique_local">Utiliser des IPs localhost uniques pour chaque client</string>
|
||||
<string name="tunnel_summ_unique_local">Utiliser des IP localhost uniques pour chaque client</string>
|
||||
<string name="multihome">Multi domicile</string>
|
||||
<string name="tunnel_summ_multihome">Permettre les optimisations multi domiciles</string>
|
||||
<string name="client_connection_limits">Limites de clients connectés</string>
|
||||
|
@ -81,6 +81,7 @@
|
||||
<string name="router_not_running">Il router non sta funzionando.</string>
|
||||
<string name="router_shutting_down">Il router si sta spegnendo.</string>
|
||||
<string name="stats_not_ready">Il gestore delle statistiche non è ancora pronto. Riprova più tardi.</string>
|
||||
<string name="select_an_address">Seleziona un indirizzo.</string>
|
||||
<string name="no_graphs_configured">Nessun grafico configurato. Puoi scegliere le statistiche da graficare nel menu impostazioni. Ogni cambiamento entrerà in azione dopo 60 secondi.</string>
|
||||
<string name="configure_graphs">Configura grafici</string>
|
||||
<string name="graphs_not_ready">I grafici non sono ancora pronti. Riprova più tardi.</string>
|
||||
|
@ -19,6 +19,7 @@
|
||||
<string name="label_graphs">グラフ</string>
|
||||
<string name="button_router_off">長押しして I2P を起動</string>
|
||||
<string name="button_router_on">I2P を起動中 (長押しで中止)</string>
|
||||
<string name="testing">テスト中</string>
|
||||
<!--Parameter is a time, e.g. 32s or 2m-->
|
||||
<!--Character to indicate a client tunnel. Usually first letter of the word "client".-->
|
||||
<string name="char_client_tunnel">C</string>
|
||||
@ -222,8 +223,12 @@
|
||||
<string name="set_zero_for_unlimited">0=無制限</string>
|
||||
<string name="post_limits">投稿制限</string>
|
||||
<string name="power_saving">パワーセーブ</string>
|
||||
<string name="tunnel_summ_delay_open">要求されるまでトンネルのオープンを遅らせる</string>
|
||||
<string name="tunnel_summ_reduce_quantity">アイドル時トンネルの数を減らす</string>
|
||||
<string name="num_minutes">%s /分</string>
|
||||
<string name="close_tunnels">アイドル時トンネルを閉じる</string>
|
||||
<string name="http_client">HTTPクライアント</string>
|
||||
<string name="tunnel_summ_allow_ssl">I2PアドレスにSSLを使用可能にする</string>
|
||||
<string name="jump_url_list">ジャンプURLリスト</string>
|
||||
<string name="proxy_auth">プロキシ認証</string>
|
||||
<string name="tunnel_summ_proxy_auth">このプロキシを使用するにはログインが必要です</string>
|
||||
|
@ -81,6 +81,7 @@
|
||||
<string name="router_not_running">라우터가 실행중이지 않습니다.</string>
|
||||
<string name="router_shutting_down">라우터가 종료 중입니다.</string>
|
||||
<string name="stats_not_ready">통계 관리자가 아직 준비되지 않았습니다. 나중에 다시 시도하세요.</string>
|
||||
<string name="select_an_address">주소를 선택하세요.</string>
|
||||
<string name="no_graphs_configured">설정된 그래프가 없습니다. 설정 메뉴에서 그래프로 표시할 통계를 고를 수 있습니다. 모든 변경은 60초 후에 적용됩니다.</string>
|
||||
<string name="configure_graphs">그래프 설정</string>
|
||||
<string name="graphs_not_ready">그래프가 아직 준비되지 않았습니다. 나중에 다시 시도하세요.</string>
|
||||
|
@ -19,7 +19,11 @@
|
||||
<string name="label_graphs">Grafer</string>
|
||||
<string name="button_router_off">Hold inne kappen for å starte I2P</string>
|
||||
<string name="button_router_on">I2P kjører (hold inne knappen for å stoppe)</string>
|
||||
<string name="testing">Tester</string>
|
||||
<string name="firewalled">Bak brannmur</string>
|
||||
<string name="symmetric_nat">Symmetrisk NAT</string>
|
||||
<!--Parameter is a time, e.g. 32s or 2m-->
|
||||
<string name="uptime">Oppetid</string>
|
||||
<!--Character to indicate a client tunnel. Usually first letter of the word "client".-->
|
||||
<string name="char_client_tunnel">K</string>
|
||||
<!--Character to indicate a server tunnel. Usually first letter of the word "server".-->
|
||||
|
@ -32,6 +32,7 @@
|
||||
<string name="symmetric_nat">Symmetrische NAT</string>
|
||||
<string name="net_status_error_i2cp">Cliëntbeheerder I2CP-fout - controleer logs</string>
|
||||
<!--Parameter is a time, e.g. 32s or 2m-->
|
||||
<string name="net_status_error_skew">Klok afwijking van %s</string>
|
||||
<string name="net_status_error_unresolved_tcp">Onopgelost TCP-adres</string>
|
||||
<string name="net_status_error_private_tcp">Privaat TCP-adres</string>
|
||||
<string name="net_status_warn_firewalled_inbound_tcp">Gefirewalld met inkomende TCP aangezet</string>
|
||||
@ -49,6 +50,7 @@
|
||||
<string name="char_client_tunnel">C</string>
|
||||
<!--Character to indicate a server tunnel. Usually first letter of the word "server".-->
|
||||
<string name="char_server_tunnel">S</string>
|
||||
<string name="no_tunnels_running">Er draaien nog geen tunnels</string>
|
||||
<string name="download">Download</string>
|
||||
<string name="upload">Upload</string>
|
||||
<string name="configure_browser_title">Browser instellen?</string>
|
||||
@ -79,6 +81,7 @@
|
||||
<string name="router_not_running">De router is uit.</string>
|
||||
<string name="router_shutting_down">De router is aan het afsluiten.</string>
|
||||
<string name="stats_not_ready">De statistiekenbeheerder is nog niet klaar. Probeer het later opnieuw.</string>
|
||||
<string name="select_an_address">Selecteer een adres</string>
|
||||
<string name="no_graphs_configured">Geen grafieken ingesteld. Je kan de statistieken om in grafieken weer te geven instellen in het instellingenmenu. Alle wijzigingen vinden plaats na 60 seconden.</string>
|
||||
<string name="configure_graphs">Grafieken instellen</string>
|
||||
<string name="graphs_not_ready">Grafieken zijn nog niet klaar, probeer later opnieuw.</string>
|
||||
@ -250,6 +253,8 @@
|
||||
<string name="target_destination">Doelbestemming</string>
|
||||
<string name="persistent_key">Blijvende sleutel</string>
|
||||
<string name="persistent_key_conflict_title">Nieuwe sleutels uitzetten bij herstarten?</string>
|
||||
<string name="persistent_key_conflict_msg">Je kunt vaste sleutels niet gebruiken wanneer de tunnel ingesteld is om bij herstart nieuwe sleutels aan te maken. Wil je deze functie uitzetten?</string>
|
||||
<string name="tunnel_summ_persistent_key">Bewaar deze tunnel\'s bestemming als hij opnieuw start</string>
|
||||
<string name="reachable_on">Bereikbaar op</string>
|
||||
<string name="listen_port">Luisterpoort</string>
|
||||
<string name="client_ssl">Cliënt-SSL</string>
|
||||
@ -266,13 +271,22 @@
|
||||
<string name="tunnel_summ_use_ssl">Gebruik SSL om met doel te verbinden</string>
|
||||
<string name="tunnel_parameters">Tunnelparameters</string>
|
||||
<string name="profile">Profiel</string>
|
||||
<string name="profile_bulk">Grote verbinding (downloads/websites/BT)</string>
|
||||
<string name="profile_interactive">Interactieve verbinding</string>
|
||||
<string name="delay_connect">Verbinden uitstellen</string>
|
||||
<string name="tunnel_summ_delay_connect">Zet dit aan voor request/response verbindigen</string>
|
||||
<string name="access_control">Toegangscontrole</string>
|
||||
<string name="restricted_access">Beperkte toegang</string>
|
||||
<string name="disabled">Uitgeschakeld</string>
|
||||
<string name="whitelist">Whitelist</string>
|
||||
<string name="blacklist">Blacklist</string>
|
||||
<string name="access_list">Toegangslijst</string>
|
||||
<string name="reject_inproxies">Inproxies weigeren</string>
|
||||
<string name="tunnel_summ_reject_inproxies">Enkel I2P-gebruikers toelaten te verbinden</string>
|
||||
<string name="unique_local">Unieke landinstelling</string>
|
||||
<string name="tunnel_summ_unique_local">Gebruik unieke localhost IP-adressen voor alle clients</string>
|
||||
<string name="multihome">Multihome</string>
|
||||
<string name="tunnel_summ_multihome">Zet multihoming optimalizaties aan</string>
|
||||
<string name="client_connection_limits">Cliënt-verbindingslimieten</string>
|
||||
<string name="connections_per_minute">Verbindingen per minuut</string>
|
||||
<string name="connections_per_hour">Verbindingen per uur</string>
|
||||
@ -295,6 +309,7 @@
|
||||
<string name="total_ban_length">Totale ban lengte</string>
|
||||
<string name="power_saving">Energiebesparing</string>
|
||||
<string name="delay_open">Openen uitstellen</string>
|
||||
<string name="tunnel_summ_delay_open">Vertraag het openen van een tunnel totdat dit nodig is</string>
|
||||
<string name="reduce_quantity">Hoeveelheid verminderen</string>
|
||||
<string name="tunnel_summ_reduce_quantity">Tunnel hoeveelheid verminderen bij inactiviteit</string>
|
||||
<string name="idle_time">Inactieve tijd</string>
|
||||
@ -302,15 +317,20 @@
|
||||
<string name="reduced_tunnel_quantity">Verlaagde tunnel hoeveelheid</string>
|
||||
<string name="close_tunnels">Tunnels sluiten bij inactiviteit</string>
|
||||
<string name="new_keys_on_reopen">Nieuwe sleutels bij herstarten</string>
|
||||
<string name="new_keys_on_reopen_conflict_title">Wil je vaste sleutesl uitzetten?</string>
|
||||
<string name="new_keys_on_reopen_conflict_msg">Wanneer de tunnel geconfigureerd is om vaste sleutels te gebruiken, kun je de functie van nieuwe sleutels bij herstart niet aanzetten. Wil je vaste sleutels uitzetten?</string>
|
||||
<string name="http_client">HTTP-cliënt</string>
|
||||
<string name="tunnel_summ_user_agent">Laar \'User-Agent\' header door</string>
|
||||
<string name="tunnel_summ_referer">Laat \'Referer\' header door</string>
|
||||
<string name="tunnel_summ_accept">laat \'Accept-*\' headers door</string>
|
||||
<string name="tunnel_summ_allow_ssl">SSL toestaan naar I2P adressen</string>
|
||||
<string name="jump_url_list">Lijst van Jump URLs</string>
|
||||
<string name="proxy_auth">Proxy toestemming</string>
|
||||
<string name="tunnel_summ_proxy_auth">Zorg ervoor dat inloggen nodig is voor deze proxy</string>
|
||||
<string name="username">Gebruikersnaam</string>
|
||||
<string name="password">Wachtwoord</string>
|
||||
<string name="outproxy_auth">Outproxy-authorisatie</string>
|
||||
<string name="tunnel_summ_outproxy_auth">De login die nodig is voor de proxy naar buiten</string>
|
||||
<string name="other">Overige</string>
|
||||
<string name="signature_type">Handtekeningstype</string>
|
||||
<string name="custom_options">Aangepaste opties</string>
|
||||
@ -325,6 +345,7 @@
|
||||
<item quantity="one">Een bericht</item>
|
||||
<item quantity="other">%d berichten, nieuwste eerst</item>
|
||||
</plurals>
|
||||
<string name="log_entry">Logboek Item</string>
|
||||
<string name="copy_logs">Kopieer logs</string>
|
||||
<string name="i2p_android_error_logs">I2P Android foutlogs</string>
|
||||
<string name="i2p_android_logs">I2P Android logs</string>
|
||||
|
@ -33,18 +33,21 @@
|
||||
<string name="net_status_error_i2cp">Błąd Menedżera Klienta I2CP - sprawdź logi</string>
|
||||
<!--Parameter is a time, e.g. 32s or 2m-->
|
||||
<string name="net_status_error_skew">Odchylenie zegara o %s</string>
|
||||
<string name="net_status_error_unresolved_tcp">Nierozwiązany adres TCP</string>
|
||||
<string name="net_status_error_private_tcp">Prywatny adres TCP</string>
|
||||
<string name="net_status_warn_firewalled_inbound_tcp">Włączona zapora akceptująca przychodzące pakiety TCP</string>
|
||||
<string name="net_status_warn_firewalled_floodfill">Za zaporą i floodfill</string>
|
||||
<string name="net_status_info_disconnected">Rozłączony - sprawdź połączenie z internetem.</string>
|
||||
<string name="net_status_error_udp_port">Port UDP w użyciu. Zmień ustawienia i zrestartuj.</string>
|
||||
<string name="net_status_error_no_active_peers">Brak aktywnych uczestników, sprawdź połączenie sieciowe i firewall</string>
|
||||
<string name="net_status_error_udp_disabled_tcp_not_set">UDP wyłączone i nazwa/port przychodzącego portu TCP nie ustawiona</string>
|
||||
<string name="net_status_warn_firewalled_udp_disabled">Włączona zapora z zablokowanym UDP</string>
|
||||
<string name="shared_clients">Współdzielone klienty</string>
|
||||
<string name="uptime">Czas działania</string>
|
||||
<string name="active_peers">Aktywni uczestnicy</string>
|
||||
<string name="known_peers">Znani uczestnicy</string>
|
||||
<!--Character to indicate a client tunnel. Usually first letter of the word "client".-->
|
||||
<string name="char_client_tunnel">C</string>
|
||||
<string name="char_client_tunnel">K</string>
|
||||
<!--Character to indicate a server tunnel. Usually first letter of the word "server".-->
|
||||
<string name="char_server_tunnel">S</string>
|
||||
<string name="no_tunnels_running">Brak aktywnych tuneli</string>
|
||||
@ -78,17 +81,20 @@
|
||||
<string name="router_not_running">Router nie jest włączony.</string>
|
||||
<string name="router_shutting_down">Trwa wyłączanie routera</string>
|
||||
<string name="stats_not_ready">Menadżer statystyk nie jest jeszcze gotowy. Spróbuj później.</string>
|
||||
<string name="select_an_address">Wybierz adres.</string>
|
||||
<string name="no_graphs_configured">Żadne wykresy nie zostały skonfigurowane. Możesz wybrać statystyki graficzne w menu ustawień. Wszelkie zmiany wejdą w życie po upływie 60 sekund.</string>
|
||||
<string name="configure_graphs">Konfiguruj wykresy</string>
|
||||
<string name="graphs_not_ready">Wykresy nie są jeszcze gotowe. Spróbuj później.</string>
|
||||
<string name="statistics">Statystyki</string>
|
||||
<string name="routers">Rutery</string>
|
||||
<string name="leasesets">LeaseSety</string>
|
||||
<string name="countries">Kraje</string>
|
||||
<string name="country">Kraj</string>
|
||||
<string name="transport">Transport</string>
|
||||
<string name="versions">Wersje</string>
|
||||
<string name="version">Wersja</string>
|
||||
<string name="count">Licznik</string>
|
||||
<string name="tname_0">Ukryty lub uruchamia się</string>
|
||||
<string name="netdb_routers_empty">Brak routerów w Twoim NetDB.</string>
|
||||
<string name="netdb_leases_empty">Brak LeaseSets w Twoim NetDB.</string>
|
||||
<string name="notification_status_starting">Uruchamianie I2P!</string>
|
||||
@ -224,6 +230,7 @@
|
||||
<string name="enabled">Włączony</string>
|
||||
<string name="i2ptunnel_wizard_desc_name">Nazwa tunelu dla identyfikacji w liście tuneli.</string>
|
||||
<string name="i2ptunnel_wizard_desc_desc">Opis tunelu. Ta opcja jest nieobowiązkowa i służąca wyłącznie do celów informacyjnych.</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">Wpisz adres Przeznaczenia I2P usługi z którą klient powinien się połączyć. To powinien być pełny adres Przeznaczenia w formacie Base64, lub adres z Twojej książki adresowej.</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">Jeśli znasz jakieś wychodzące proxy dla tego typu tunelów (HTTP lub SOCKS), to je wpisz. Serwery proxy oddziel przecinkami.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_host">To jest IP na którym Twój serwis jest uruchomiony, zazwyczaj jest to te same urządzenie więc 127.0.0.1 jest wpisane automatycznie.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_port">To jest port na którym Twój serwis akceptuje połączenia.</string>
|
||||
@ -239,11 +246,15 @@
|
||||
<string name="name">Nazwa</string>
|
||||
<string name="description">Opis</string>
|
||||
<string name="auto_start">Auto-start</string>
|
||||
<string name="tunnel_summ_auto_start">Uruchom tunel podczas startu węzła.</string>
|
||||
<string name="tunnel_cat_ports">Porty lokalne</string>
|
||||
<string name="shared_client">Klient współdzielony</string>
|
||||
<string name="tunnel_summ_shared_client">Użyj tego samego adresu Przeznaczenia i tuneli co inne współdzielone klienty.</string>
|
||||
<string name="target_destination">Adres docelowy</string>
|
||||
<string name="persistent_key">Trwały klucz</string>
|
||||
<string name="persistent_key_conflict_title">Zablokować nowe klucze przy ponownym otwarciu?</string>
|
||||
<string name="persistent_key_conflict_msg">Nie możesz aktywować trwałych kluczy gdy tunel jest skonfigurowany by generować klucze przy ponownym otwarciu. Czy chcesz zablokować generowanie nowych kluczy przy ponownym otwarciu?</string>
|
||||
<string name="tunnel_summ_persistent_key">Zachowaj adresy Przeznaczenia tuneli podczas restartu.</string>
|
||||
<string name="reachable_on">Dostępny na</string>
|
||||
<string name="listen_port">Port nasłuchu</string>
|
||||
<string name="client_ssl">Klient SSL</string>
|
||||
@ -257,10 +268,13 @@
|
||||
<string name="target_host">Host docelowy</string>
|
||||
<string name="target_port">Port docelowy</string>
|
||||
<string name="use_ssl">Użyj SSL</string>
|
||||
<string name="tunnel_summ_use_ssl">Wykorzystaj SSL, aby połączyć się ze wskazanym celem</string>
|
||||
<string name="tunnel_parameters">Parametry tuneli</string>
|
||||
<string name="profile">Profil</string>
|
||||
<string name="profile_bulk">Połączenia masowe (pobierania/strony/BT)</string>
|
||||
<string name="profile_interactive">Połączenie interaktywne</string>
|
||||
<string name="delay_connect">Opóźnij połączenie</string>
|
||||
<string name="tunnel_summ_delay_connect">Włącz dla połączeń żądań/odpowiedzi</string>
|
||||
<string name="access_control">Kontrola dostępu</string>
|
||||
<string name="restricted_access">Zastrzeżony dostęp</string>
|
||||
<string name="disabled">Wyłączony</string>
|
||||
@ -269,6 +283,10 @@
|
||||
<string name="access_list">Lista Dostępu</string>
|
||||
<string name="reject_inproxies">Odrzucaj wejściowe proxy</string>
|
||||
<string name="tunnel_summ_reject_inproxies">Pozwól na połączenia wyłącznie od użytkowników I2P</string>
|
||||
<string name="unique_local">Unikalny lokalny</string>
|
||||
<string name="tunnel_summ_unique_local">Użyj unikalnego lokalnego adresu IP dla każdego klienta</string>
|
||||
<string name="multihome">Wieloadresowość</string>
|
||||
<string name="tunnel_summ_multihome">Włącz optymalizacje wieloadresowe</string>
|
||||
<string name="client_connection_limits">Limit połączeń klienta</string>
|
||||
<string name="connections_per_minute">Połączenia na minutę</string>
|
||||
<string name="connections_per_hour">Połączenia na godzinę</string>
|
||||
@ -285,7 +303,9 @@
|
||||
<string name="set_zero_for_unlimited">Wpisz 0 dla nielimitowanych</string>
|
||||
<string name="post_limits">Limity zapytań POST</string>
|
||||
<string name="limit_period">Czas ograniczenia</string>
|
||||
<string name="client_posts_per_period">Zapytania POST klienta na okres</string>
|
||||
<string name="client_ban_length">Długość bana klienta</string>
|
||||
<string name="total_posts_per_period">Wszystkie zapytania POST na okres</string>
|
||||
<string name="total_ban_length">Całkowita długość bana</string>
|
||||
<string name="power_saving">Oszczędzanie energii</string>
|
||||
<string name="delay_open">Opóźnij otwarcie</string>
|
||||
@ -298,7 +318,10 @@
|
||||
<string name="close_tunnels">Zamknij tunele podczas bezczynności</string>
|
||||
<string name="new_keys_on_reopen">Nowe klucze przy ponownym otwarciu</string>
|
||||
<string name="new_keys_on_reopen_conflict_title">Zablokować trwałe klucze?</string>
|
||||
<string name="new_keys_on_reopen_conflict_msg">Nie możesz aktywować tworzenia nowych kluczy przy otwarciu jeżeli tunel jest skonfigurowany do używania trwałych kluczy. Czy chcesz wyłączyć trwałe klucze?</string>
|
||||
<string name="http_client">Klient HTTP</string>
|
||||
<string name="tunnel_summ_user_agent">Przepuszczaj nagłówek \'User-Agent\'</string>
|
||||
<string name="tunnel_summ_referer">Przepuszczaj nagłówek \'Referer\'</string>
|
||||
<string name="tunnel_summ_accept">Przekazuj nagłówek Accept</string>
|
||||
<string name="tunnel_summ_allow_ssl">Zezwalaj na SSL do adresów I2P</string>
|
||||
<string name="jump_url_list">Lista adresów usług Jump</string>
|
||||
@ -307,12 +330,18 @@
|
||||
<string name="username">Użytkownik</string>
|
||||
<string name="password">Hasło</string>
|
||||
<string name="outproxy_auth">Autoryzacja Proxy Wyjściowego</string>
|
||||
<string name="tunnel_summ_outproxy_auth">Login wymagany przez Proxy Wyjściowe</string>
|
||||
<string name="other">Inne</string>
|
||||
<string name="signature_type">Rodzaj podpisu</string>
|
||||
<string name="custom_options">Dodatkowe opcje</string>
|
||||
<string name="all">Wszystkie</string>
|
||||
<string name="no_messages">Brak wiadomości</string>
|
||||
<string name="no_error_messages">Brak wiadomości o błędach</string>
|
||||
<plurals name="log_error_messages">
|
||||
<item quantity="one">Jeden komunikat o błędzie</item>
|
||||
<item quantity="few">%d komunikaty o błędach, od najnowszych</item>
|
||||
<item quantity="other">%d komunikatów o błędach, od najnowszych</item>
|
||||
</plurals>
|
||||
<string name="log_entry">Wpis w logu</string>
|
||||
<string name="copy_logs">Kopiuj logi</string>
|
||||
<string name="i2p_android_error_logs">Logi Błędów I2P Android</string>
|
||||
|
@ -20,12 +20,17 @@
|
||||
<string name="label_licenses">Licenças</string>
|
||||
<string name="label_browse">Navegador</string>
|
||||
<string name="label_graphs">Gráficos</string>
|
||||
<string name="button_router_off">Mantenha pressionado para iniciar o I2P</string>
|
||||
<string name="button_router_on">I2P está funcionando (mantenha pressionado para parar)</string>
|
||||
<string name="button_router_graceful">O software I2P será encerrado em %s</string>
|
||||
<string name="button_shutdown_now">Mantenha pressionado para parar agora</string>
|
||||
<string name="button_cancel_graceful">Mantenha pressionado para cancelar o desligamento</string>
|
||||
<string name="no_internet">Não há conexões de internet disponíveis</string>
|
||||
<string name="hidden">Oculto</string>
|
||||
<string name="testing">Testando</string>
|
||||
<string name="firewalled">Sob firewall</string>
|
||||
<string name="symmetric_nat">NAT simétrico</string>
|
||||
<string name="net_status_error_i2cp">Erro no gerenciador de clientes I2CP - verificar logs</string>
|
||||
<!--Parameter is a time, e.g. 32s or 2m-->
|
||||
<string name="net_status_error_unresolved_tcp">Endereço TCP não resolvido</string>
|
||||
<string name="net_status_error_private_tcp">Endereço TCP privado</string>
|
||||
@ -65,10 +70,17 @@
|
||||
<string name="action_refresh">Atualizar</string>
|
||||
<string name="hint_search_addressbook">Procurar por livro de endereços</string>
|
||||
<string name="action_reload_subscriptions">Recarregar inscriçoes</string>
|
||||
<string name="news_last_updated">Última atualização das noticias a %s atrás</string>
|
||||
<string name="news_last_checked">Última verificação das noticias a %s atrás</string>
|
||||
<string name="news_updated">Novidades atualizadas</string>
|
||||
<string name="view_news">Toque para ver as últimas notícias do I2P</string>
|
||||
<string name="router_not_running">O roteador não está funcionando</string>
|
||||
<string name="router_shutting_down">O roteador está sendo desligado.</string>
|
||||
<string name="stats_not_ready">O configurador de estatística não está pronto. Tente de novo mais tarde.</string>
|
||||
<string name="select_an_address">Selecionar um endereço.</string>
|
||||
<string name="no_graphs_configured">Nenhum gráfico foi configurado. Você pode escolher estatísticas para gráficos no menu de configurações. Qualquer mudança ira ter efeito em 60 segundos.</string>
|
||||
<string name="configure_graphs">Configurar gráficos</string>
|
||||
<string name="graphs_not_ready">Gráficos não estão prontos ainda. Tente novamente.</string>
|
||||
<string name="statistics">Estatísticas</string>
|
||||
<string name="routers">Roteadores</string>
|
||||
<string name="countries">Países</string>
|
||||
@ -76,6 +88,7 @@
|
||||
<string name="transport">Transporte</string>
|
||||
<string name="versions">Versões</string>
|
||||
<string name="version">Versão</string>
|
||||
<string name="count">Contagem</string>
|
||||
<string name="tname_0">Oculto ou inicializando</string>
|
||||
<string name="netdb_routers_empty">Sem roteadores em seu NetDB.</string>
|
||||
<string name="notification_status_starting">O roteador I2P está inicializando</string>
|
||||
@ -174,7 +187,10 @@
|
||||
<string name="i2ptunnel_type_streamrclient">Cliente Streamr</string>
|
||||
<string name="i2ptunnel_type_streamrserver">Servidor Streamr</string>
|
||||
<string name="install_recommended_app">Instalar aplicativo recomendado?</string>
|
||||
<string name="app_needed_for_this_tunnel_type">Você deve instalar um aplicativo para usar este túnel. Gostaria de instalar o aplicativo recomendado?</string>
|
||||
<string name="i2ptunnel_not_initialized">Os túneis não foram iniciados ainda, por favor recarregue em dois minutos.</string>
|
||||
<string name="no_configured_client_tunnels">Nenhum cliente de tuneis configurado.</string>
|
||||
<string name="no_configured_server_tunnels">Nenhum servidor de tuneis configurado.</string>
|
||||
<string name="i2ptunnel_new_tunnel">Novo túnel</string>
|
||||
<string name="i2ptunnel_msg_config_saved">Mudanças nas configurações salvas</string>
|
||||
<string name="i2ptunnel_msg_config_save_failed">Falha ao salvar as configurações</string>
|
||||
@ -204,6 +220,7 @@
|
||||
<string name="i2ptunnel_wizard_desc_target_host">Esse é o IP no qual o serviço está rodando, isto está geralmente na mesma maquina então 127.0.0.1 é autopreenchido.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_port">Essa é a porta pela qual o serviço está aceitando conexões.</string>
|
||||
<string name="i2ptunnel_wizard_desc_reachable_on">Isso limita quais computadores ou smartphones podem acessar esse túnel</string>
|
||||
<string name="i2ptunnel_wizard_desc_binding_port">Esta é a porta para o túnel cliente ser acessado localmente. Esta também é a porta para o túnel servidor de HTTP.</string>
|
||||
<string name="i2ptunnel_wizard_desc_auto_start">O túnel deve iniciar automaticamente quando o roteador iniciar?</string>
|
||||
<string name="i2ptunnel_wizard_submit_confirm_message">Criar túnel?</string>
|
||||
<string name="i2ptunnel_wizard_submit_confirm_button">Criar túnel</string>
|
||||
@ -217,6 +234,7 @@
|
||||
<string name="tunnel_summ_auto_start">Iniciar o túnel na inicialização do roteador.</string>
|
||||
<string name="tunnel_cat_ports">Portas locais</string>
|
||||
<string name="shared_client">Cliente compartilhado</string>
|
||||
<string name="tunnel_summ_shared_client">Usar mesmo Destino e túneis para demais clientes compartilhados</string>
|
||||
<string name="target_destination">Destino alvo</string>
|
||||
<string name="persistent_key">Chave persistente</string>
|
||||
<string name="persistent_key_conflict_title">Desativar novas chaves na reabertura?</string>
|
||||
@ -224,6 +242,7 @@
|
||||
<string name="tunnel_summ_persistent_key">Manter o destino desse túnel quando ele reiniciar</string>
|
||||
<string name="reachable_on">Ao alcance em</string>
|
||||
<string name="listen_port">Porta de escuta</string>
|
||||
<string name="client_ssl">Cliente SSL</string>
|
||||
<string name="tunnel_summ_client_ssl">Os clientes devem usar SSL para se conectar</string>
|
||||
<string name="outproxies">Proxies de saída</string>
|
||||
<string name="ssl_outproxies">Proxies de saida com SSL</string>
|
||||
@ -239,6 +258,7 @@
|
||||
<string name="profile">Perfil</string>
|
||||
<string name="profile_bulk">Conexão em massa (downloads/websites/BT)</string>
|
||||
<string name="profile_interactive">Conexão interativa</string>
|
||||
<string name="delay_connect">Atrasar conexão</string>
|
||||
<string name="tunnel_summ_delay_connect">Ativar para conexões de pedidos/respostas</string>
|
||||
<string name="access_control">Controle de acesso</string>
|
||||
<string name="restricted_access">Acesso restrito</string>
|
||||
@ -252,9 +272,11 @@
|
||||
<string name="tunnel_summ_unique_local">Usar IPs de host locais únicos para cada cliente</string>
|
||||
<string name="multihome">Multihome</string>
|
||||
<string name="tunnel_summ_multihome">Ativar otimizações de multihoming</string>
|
||||
<string name="client_connection_limits">Limites de conexões de cliente</string>
|
||||
<string name="connections_per_minute">Conexões por minuto</string>
|
||||
<string name="connections_per_hour">Conexões por hora</string>
|
||||
<string name="connections_per_day">Conexões por dia</string>
|
||||
<string name="total_connection_limits">Limites totais de conexões</string>
|
||||
<string name="total_connections_per_minute">Total de conexões por minuto</string>
|
||||
<string name="total_connections_per_hour">Total de conexões por hora</string>
|
||||
<string name="total_connections_per_day">Total de conexões por dia</string>
|
||||
@ -264,6 +286,11 @@
|
||||
<string name="num_per_day">%s por dia</string>
|
||||
<string name="unlimited">Ilimitado</string>
|
||||
<string name="set_zero_for_unlimited">Especifique 0 para ilimitado</string>
|
||||
<string name="post_limits">Limites de POST</string>
|
||||
<string name="limit_period">Período limite</string>
|
||||
<string name="power_saving">Economia de energia</string>
|
||||
<string name="delay_open">Atrasar a abertura</string>
|
||||
<string name="tunnel_summ_delay_open">Atrasar a abertura do túnel até ser utilizado</string>
|
||||
<string name="reduce_quantity">Reduzir quantidade</string>
|
||||
<string name="tunnel_summ_reduce_quantity">Reduzir quantidade de túneis quando ocioso</string>
|
||||
<string name="idle_time">Tempo ocioso</string>
|
||||
@ -272,6 +299,11 @@
|
||||
<string name="close_tunnels">Fechar túneis quando ociosos</string>
|
||||
<string name="new_keys_on_reopen">Novas chaves na reabertura</string>
|
||||
<string name="new_keys_on_reopen_conflict_title">Desativar chaves persistentes?</string>
|
||||
<string name="new_keys_on_reopen_conflict_msg">Você não pode habilitar novas chaves enquanto o túnel estiver configurado para ter chaves permanentes. Deseja desabilitar as chaves permanentes?</string>
|
||||
<string name="http_client">Cliente HTTP</string>
|
||||
<string name="tunnel_summ_user_agent">Passar o cabeçalho original \'User-Agent\'</string>
|
||||
<string name="tunnel_summ_referer">Passar o cabeçalho original \'Referer\'</string>
|
||||
<string name="tunnel_summ_accept">Passar o cabeçalho original \'Accept-*\'</string>
|
||||
<string name="tunnel_summ_allow_ssl">Permitir SSL para endereços I2P</string>
|
||||
<string name="jump_url_list">Pular lista de URLs</string>
|
||||
<string name="proxy_auth">Autorização de proxy</string>
|
||||
@ -279,13 +311,21 @@
|
||||
<string name="username">Nome de usuário</string>
|
||||
<string name="password">Senha</string>
|
||||
<string name="outproxy_auth">Autorização de proxy de saída</string>
|
||||
<string name="tunnel_summ_outproxy_auth">Autenticação necessária para o proxy de saída</string>
|
||||
<string name="other">Outros</string>
|
||||
<string name="signature_type">Tipo de assinatura</string>
|
||||
<string name="custom_options">Opções personalizadas</string>
|
||||
<string name="all">Todos</string>
|
||||
<string name="no_messages">Sem mensagens</string>
|
||||
<string name="no_error_messages">Nenhuma mensagem de erro</string>
|
||||
<plurals name="log_messages">
|
||||
<item quantity="one">Uma mensagem</item>
|
||||
<item quantity="other">%d mensagens, mais novas primeiro</item>
|
||||
</plurals>
|
||||
<string name="log_entry">Entrada no log</string>
|
||||
<string name="copy_logs">Copiar logs</string>
|
||||
<string name="error_logs_copied_to_clipboard">Logs de erro copiados para a área de transferência</string>
|
||||
<string name="logs_copied_to_clipboard">Logs copiados para a área de transferência</string>
|
||||
<string name="label_browser_configuration">Configuração do navegador</string>
|
||||
<string name="unset">Desligado</string>
|
||||
</resources>
|
||||
|
@ -2,16 +2,16 @@
|
||||
<resources>
|
||||
<string name="app_name">I2P</string>
|
||||
<string name="desc_i2p_logo">Logótipo I2P</string>
|
||||
<string name="choose_language">Escolher língua</string>
|
||||
<string name="welcome_new_install">Bem-vindo à I2P! Esta app é um programa ALPHA e não proporciona um anonimato forte. Por favor, leia as notas de lançamento e a informação da licença.</string>
|
||||
<string name="choose_language">Escolha o idioma</string>
|
||||
<string name="welcome_new_install">Bem-vindo à I2P! Esta aplicação é um software ALPHA e não proporciona um anonimato forte. Por favor, leia as notas de lançamento e a informação da licença.</string>
|
||||
<string name="welcome_new_version">Nova versão instalada. Por favor, leia as notas de lançamento. Versão:</string>
|
||||
<string name="label_tunnels">Tuneis</string>
|
||||
<string name="label_status">Estado</string>
|
||||
<string name="label_console">Consola</string>
|
||||
<string name="label_addresses">Endereços</string>
|
||||
<string name="label_addressbook">Livro de Endereços</string>
|
||||
<string name="label_i2ptunnel_client">Tuneis cliente</string>
|
||||
<string name="label_i2ptunnel_server">Tuneis servidor</string>
|
||||
<string name="label_i2ptunnel_client">Túneis de cliente</string>
|
||||
<string name="label_i2ptunnel_server">Tuneis de servidor</string>
|
||||
<string name="label_logs">Registos</string>
|
||||
<string name="label_error_logs">Registos de Erros</string>
|
||||
<string name="label_news">Notícias</string>
|
||||
@ -26,11 +26,11 @@
|
||||
<string name="button_shutdown_now">Pressionar longo para parar imediatamente</string>
|
||||
<string name="button_cancel_graceful">Pressionar longo para não desligar</string>
|
||||
<string name="no_internet">Sem ligação à Internet</string>
|
||||
<string name="hidden">Escondido</string>
|
||||
<string name="testing">Em teste</string>
|
||||
<string name="hidden">Oculto</string>
|
||||
<string name="testing">A testar</string>
|
||||
<string name="firewalled">Atrás de uma firewall</string>
|
||||
<string name="symmetric_nat">NAT simétrico</string>
|
||||
<string name="net_status_error_i2cp">Erro no gestor de cliente I2CP - veja os registos</string>
|
||||
<string name="symmetric_nat">NAT Simétrico</string>
|
||||
<string name="net_status_error_i2cp">Erro no gestor de cliente I2CP - consulte os registos</string>
|
||||
<!--Parameter is a time, e.g. 32s or 2m-->
|
||||
<string name="net_status_error_skew">Deriva de relógio de %s</string>
|
||||
<string name="net_status_error_unresolved_tcp">Endereços TCP por resolver</string>
|
||||
@ -40,8 +40,8 @@
|
||||
<string name="net_status_info_disconnected">Desligado - verifique a sua ligação de rede</string>
|
||||
<string name="net_status_error_udp_port">Porta UDP em uso - mude as configurações e reinicie</string>
|
||||
<string name="net_status_error_no_active_peers">Não existem nós ativos - verifique a sua ligação de rede e firewall</string>
|
||||
<string name="net_status_error_udp_disabled_tcp_not_set">UDP desligado e máquina/porta TCP de entrada não definida</string>
|
||||
<string name="net_status_warn_firewalled_udp_disabled">Atrás de firewall com UDP desligado</string>
|
||||
<string name="net_status_error_udp_disabled_tcp_not_set">UDP desativado e hospedeiro/porta TCP de entrada não definida</string>
|
||||
<string name="net_status_warn_firewalled_udp_disabled">Atrás de firewall com UDP desativado</string>
|
||||
<string name="shared_clients">Cliente partilhados</string>
|
||||
<string name="uptime">Tempo de atividade</string>
|
||||
<string name="active_peers">Nós ativos</string>
|
||||
@ -50,10 +50,10 @@
|
||||
<string name="char_client_tunnel">C</string>
|
||||
<!--Character to indicate a server tunnel. Usually first letter of the word "server".-->
|
||||
<string name="char_server_tunnel">S</string>
|
||||
<string name="no_tunnels_running">Ainda não tem túneis ativos.</string>
|
||||
<string name="download">Download</string>
|
||||
<string name="upload">Upload</string>
|
||||
<string name="configure_browser_title">Configurar navegador?</string>
|
||||
<string name="no_tunnels_running">Ainda não tem túneis em execução.</string>
|
||||
<string name="download">Transferir</string>
|
||||
<string name="upload">Enviar</string>
|
||||
<string name="configure_browser_title">Configurar o navegador?</string>
|
||||
<string name="configure_browser_for_i2p">Gostaria de configurar um navegador para ver sites I2P? (Pode fazê-lo mais tarde através do menu de ajuda.)</string>
|
||||
<string name="first_start_title">Parabéns por ter instalado o I2P!</string>
|
||||
<string name="first_start_welcome"><b>Bem vindo ao I2P!</b> Por favor <b>tenha paciência</b> enquanto o I2P arranca e encontra outros nós na rede.</string>
|
||||
@ -64,12 +64,12 @@
|
||||
<string name="action_search">Procurar</string>
|
||||
<string name="action_add">Adicionar</string>
|
||||
<string name="action_edit">Editar</string>
|
||||
<string name="action_delete">Apagar</string>
|
||||
<string name="action_i2ptunnel_start">Começar túneis</string>
|
||||
<string name="action_delete">Eliminar</string>
|
||||
<string name="action_i2ptunnel_start">Iniciar túneis</string>
|
||||
<string name="action_i2ptunnel_stop">Parar túneis </string>
|
||||
<string name="action_i2ptunnel_start_all">Começar todos os túneis </string>
|
||||
<string name="action_i2ptunnel_start_all">Iniciar todos os túneis </string>
|
||||
<string name="action_i2ptunnel_stop_all">Parar todos os túneis</string>
|
||||
<string name="action_i2ptunnel_restart_all">Recomeçar todos os túneis </string>
|
||||
<string name="action_i2ptunnel_restart_all">Reiniciar todos os túneis </string>
|
||||
<string name="action_reload">Recarregar</string>
|
||||
<string name="action_refresh">Atualizar</string>
|
||||
<string name="hint_search_addressbook">Procurar no livro de endereços</string>
|
||||
@ -81,6 +81,7 @@
|
||||
<string name="router_not_running">O router não está em execução.</string>
|
||||
<string name="router_shutting_down">O router está a desligar.</string>
|
||||
<string name="stats_not_ready">O gestor de estatísticas ainda não está pronto. Tente de novo mais tarde.</string>
|
||||
<string name="select_an_address">Escolha um endereço</string>
|
||||
<string name="no_graphs_configured">Não foram configurados quaisquer gráficos. Pode escolher as estatísticas que deseja representar no menu de configuração. Qualquer mudança terá efeito após 60 segundos.</string>
|
||||
<string name="configure_graphs">Configurar gráficos</string>
|
||||
<string name="graphs_not_ready">Os gráficos não estão pronto. Tente de novo mais tarde.</string>
|
||||
@ -93,25 +94,25 @@
|
||||
<string name="versions">Versões</string>
|
||||
<string name="version">Versão</string>
|
||||
<string name="count">Contagem</string>
|
||||
<string name="tname_0">Escondido ao iniciar</string>
|
||||
<string name="tname_0">Oculto ou a iniciar</string>
|
||||
<string name="netdb_routers_empty">Não tem router na sua NetDB.</string>
|
||||
<string name="netdb_leases_empty">Não tem LeaseSets na sua NetDB.</string>
|
||||
<string name="notification_status_starting">O I2P está a ligar</string>
|
||||
<string name="notification_status_starting">O I2P está a iniciar</string>
|
||||
<string name="notification_status_restarting">O I2P está a reiniciar</string>
|
||||
<string name="notification_status_waiting">O I2P está à espera de uma ligação à rede</string>
|
||||
<string name="notification_status_starting_after_waiting">Deteta ligação à rede, o I2P está a ligar</string>
|
||||
<string name="notification_status_running">O I2P está ligado</string>
|
||||
<string name="notification_status_client_ready">Os túneis cliente estão prontos</string>
|
||||
<string name="notification_status_client_down">Os túneis clientes estão desligados</string>
|
||||
<string name="notification_status_waiting">O I2P está a aguardar por uma ligação à rede</string>
|
||||
<string name="notification_status_starting_after_waiting">Rede ligada, I2P está a iniciar</string>
|
||||
<string name="notification_status_running">O I2P está em execução</string>
|
||||
<string name="notification_status_client_ready">Os túneis de cliente estão prontos</string>
|
||||
<string name="notification_status_client_down">Os túneis de clientes estão desligados</string>
|
||||
<string name="notification_status_graceful">A parar I2P dentro de %s</string>
|
||||
<string name="notification_status_stopping">A parar o I2P</string>
|
||||
<string name="notification_status_stopping_after_net">Sem ligação à rede, a parar o I2P</string>
|
||||
<string name="notification_status_shutdown_cancelled">Cancelada a ordem para desligar</string>
|
||||
<string name="notification_status_shutting_down">O I2P está a desligar</string>
|
||||
<string name="notification_status_stopping_after_net">Ligação desligada, a parar o I2P</string>
|
||||
<string name="notification_status_shutdown_cancelled">Encerramento cancelado</string>
|
||||
<string name="notification_status_shutting_down">O I2P está a encerrar</string>
|
||||
<string name="notification_status_bw">Largura de banda: %1$sBps down / %2$sBps up</string>
|
||||
<string name="notification_status_peers">Nós: %1$d ativos, %2$d conhecidos</string>
|
||||
<string name="notification_status_expl">Túneis exploratórios: %1$d/%2$d</string>
|
||||
<string name="notification_status_client">Túneis cliente: %1$d/%2$d</string>
|
||||
<string name="notification_status_client">Túneis de cliente: %1$d/%2$d</string>
|
||||
<string name="menu_settings">Configurações</string>
|
||||
<string name="settings_enable">Ativar</string>
|
||||
<string name="settings_desc_subscriptions">URLs de Subscrição</string>
|
||||
|
@ -61,8 +61,11 @@
|
||||
<string name="action_refresh">Reâmprospătează</string>
|
||||
<string name="hint_search_addressbook">Caută agenda</string>
|
||||
<string name="action_reload_subscriptions">Reâncarcă abonamentele</string>
|
||||
<string name="news_updated">Știri actualizate</string>
|
||||
<string name="view_news">Atinge pentru a vizualiza ultimele știri I2P</string>
|
||||
<string name="router_not_running">Ruterul nu rulează.</string>
|
||||
<string name="router_shutting_down">Ruterul este închis.</string>
|
||||
<string name="select_an_address">Selectați o adresă.</string>
|
||||
<string name="configure_graphs">Configurează graficele</string>
|
||||
<string name="statistics">Statistici</string>
|
||||
<string name="routers">Rutere</string>
|
||||
@ -76,6 +79,7 @@
|
||||
<string name="notification_status_restarting">I2P repornește</string>
|
||||
<string name="notification_status_waiting">I2P așteaptă pentru o conexiune la rețea</string>
|
||||
<string name="notification_status_running">I2P rulează</string>
|
||||
<string name="notification_status_shutdown_cancelled">Oprirea anulată</string>
|
||||
<string name="notification_status_bw">Lățime de bandă: %1$sBps desc / %2$sBps în</string>
|
||||
<string name="notification_status_peers">Parteneri: %1$d activi, %2$d cunoscuți</string>
|
||||
<string name="menu_settings">Configurări</string>
|
||||
@ -132,6 +136,9 @@
|
||||
<string name="about_donate">Doriți să donați bani sau bitcoins pentru cumpărarea de mai multe dispozitive Android pentru dezvoltare și testare? Mergeți la:</string>
|
||||
<string name="menu_help">Ajutor</string>
|
||||
<string name="general">General</string>
|
||||
<string name="label_router">Adrese publice</string>
|
||||
<string name="label_private">Adrese private</string>
|
||||
<string name="addressbook_is_empty">Agenda este goală</string>
|
||||
<string name="addressbook_search_header">%s gasit</string>
|
||||
<string name="addressbook_add_wizard_k_name">Nume</string>
|
||||
<string name="addressbook_add_wizard_k_destination">Destinatie</string>
|
||||
@ -149,6 +156,7 @@
|
||||
<string name="i2ptunnel_type_sockstunnel">SOCKS 4/4a/5 proxy</string>
|
||||
<string name="i2ptunnel_type_socksirctunnel">SOCKS IRC proxy</string>
|
||||
<string name="i2ptunnel_type_ircserver">Server IRC</string>
|
||||
<string name="install_recommended_app">Se instalează aplicația recomandată?</string>
|
||||
<string name="i2ptunnel_new_tunnel">Tunel nou</string>
|
||||
<string name="i2ptunnel_msg_config_saved">Modificările configurării s-au salvat</string>
|
||||
<string name="i2ptunnel_msg_config_save_failed">A eșuat salvarea configurării</string>
|
||||
@ -175,28 +183,53 @@
|
||||
<string name="i2ptunnel_wizard_submit_confirm_message">Se creează tunelul?</string>
|
||||
<string name="i2ptunnel_wizard_submit_confirm_button">Creare tunel</string>
|
||||
<string name="i2ptunnel_view_target">Țintă</string>
|
||||
<string name="i2ptunnel_view_access_point">Punct de acces</string>
|
||||
<string name="i2ptunnel_view_autostart">Auto pornire</string>
|
||||
<string name="edit_tunnel">Editare tunel</string>
|
||||
<string name="name">Nume</string>
|
||||
<string name="description">Descriere</string>
|
||||
<string name="auto_start">Pornire automată</string>
|
||||
<string name="tunnel_summ_auto_start">Pornește tunelul când pornește ruterul.</string>
|
||||
<string name="tunnel_cat_ports">Porturi locale</string>
|
||||
<string name="shared_client">Client partajat</string>
|
||||
<string name="target_destination">Destinație țintă</string>
|
||||
<string name="persistent_key">Cheie permanentă</string>
|
||||
<string name="client_ssl">Client SSL</string>
|
||||
<string name="tunnel_summ_client_ssl">Clienții trebuie să utilizeze SSL pentru conectare</string>
|
||||
<string name="irc">IRC</string>
|
||||
<string name="enable_dcc">Activează DCC</string>
|
||||
<string name="tunnel_summ_enable_dcc">Permite clienților IRC să utilizeze DCC</string>
|
||||
<string name="use_ssl">Utilizează SSL</string>
|
||||
<string name="tunnel_summ_use_ssl">Utilizează SSL pentru conectarea la țintă</string>
|
||||
<string name="tunnel_parameters">Parametri tunel</string>
|
||||
<string name="profile">Profil</string>
|
||||
<string name="profile_interactive">Conexiune interactivă</string>
|
||||
<string name="delay_connect">Întârziere conectare</string>
|
||||
<string name="access_control">Control acces</string>
|
||||
<string name="restricted_access">Acces restricționat</string>
|
||||
<string name="disabled">Dezactivat</string>
|
||||
<string name="whitelist">Listă de excepții</string>
|
||||
<string name="blacklist">Listă de blocare</string>
|
||||
<string name="access_list">Listă de acces</string>
|
||||
<string name="connections_per_minute">Conexiuni pe minut</string>
|
||||
<string name="connections_per_hour">Conexiuni pe oră</string>
|
||||
<string name="connections_per_day">Conexiuni pe zi</string>
|
||||
<string name="num_per_minute">%s pe minut</string>
|
||||
<string name="num_per_hour">%s pe oră</string>
|
||||
<string name="num_per_day">%s pe zi</string>
|
||||
<string name="unlimited">Nelimitat</string>
|
||||
<string name="set_zero_for_unlimited">Configurați 0 pentru nelimitat</string>
|
||||
<string name="num_minutes">%s minute</string>
|
||||
<string name="http_client">Client HTTP</string>
|
||||
<string name="proxy_auth">Autorizare proxy</string>
|
||||
<string name="username">Nume utilizator</string>
|
||||
<string name="password">Parolă</string>
|
||||
<string name="other">Altceva</string>
|
||||
<string name="signature_type">Tip semnătură</string>
|
||||
<string name="custom_options">Opțiuni personalizate</string>
|
||||
<string name="all">Tot</string>
|
||||
<string name="no_messages">Fără mesaje</string>
|
||||
<string name="no_error_messages">Fără mesaje de eroare</string>
|
||||
<string name="copy_logs">Copiază jurnale</string>
|
||||
<string name="i2p_android_error_logs">Jurnale eroare I2P Android</string>
|
||||
<string name="i2p_android_logs">Jurnale I2P Android</string>
|
||||
|
@ -81,6 +81,7 @@
|
||||
<string name="router_not_running">Маршрутизатор не запущен.</string>
|
||||
<string name="router_shutting_down">Маршрутизатор выключается.</string>
|
||||
<string name="stats_not_ready">Менеджер статистики ещё не готов. Попробуйте позже.</string>
|
||||
<string name="select_an_address">Выбрать адрес.</string>
|
||||
<string name="no_graphs_configured">Графики не настроены. Вы можете выбрать статистику для отображения на графике в настройках меню. Любые изменения начнут действовать через 60 секунд.</string>
|
||||
<string name="configure_graphs">Настройки графиков</string>
|
||||
<string name="graphs_not_ready">Графики ещё не готовы. Попробуйте позже.</string>
|
||||
@ -110,7 +111,7 @@
|
||||
<string name="notification_status_shutting_down">I2P выключается</string>
|
||||
<string name="notification_status_bw">Пропускная способность: %1$sBps прием / %2$sBps отправка</string>
|
||||
<string name="notification_status_peers">Узлы: %1$d активны, %2$d известны</string>
|
||||
<string name="notification_status_expl">Исследовательские туннели: %1$d/%2$d</string>
|
||||
<string name="notification_status_expl">Поисковые туннели: %1$d/%2$d</string>
|
||||
<string name="notification_status_client">Туннели клиента: %1$d/%2$d</string>
|
||||
<string name="menu_settings">Настройки</string>
|
||||
<string name="settings_enable">Включить</string>
|
||||
@ -245,7 +246,7 @@
|
||||
<string name="name">Имя</string>
|
||||
<string name="description">Описание</string>
|
||||
<string name="auto_start">Автозапуск</string>
|
||||
<string name="tunnel_summ_auto_start">Запустить туннель с запуском маршрутизатора</string>
|
||||
<string name="tunnel_summ_auto_start">Запустить туннель с запуском маршрутизатора.</string>
|
||||
<string name="tunnel_cat_ports">Локальный порт</string>
|
||||
<string name="shared_client">Общий клиент</string>
|
||||
<string name="tunnel_summ_shared_client">Использовать то же назначение и туннели, что и общие клиенты</string>
|
||||
|
@ -16,7 +16,7 @@ Var god läs release kommentarerna och licens-information.</string>
|
||||
<string name="label_logs">Loggar</string>
|
||||
<string name="label_error_logs">Felloggar</string>
|
||||
<string name="label_news">Nyheter</string>
|
||||
<string name="label_peers_status">Peers</string>
|
||||
<string name="label_peers_status">Noder</string>
|
||||
<string name="label_release_notes">Releasekommentarer</string>
|
||||
<string name="label_licenses">Licenser</string>
|
||||
<string name="label_browse">Bläddra</string>
|
||||
@ -31,7 +31,7 @@ Var god läs release kommentarerna och licens-information.</string>
|
||||
<string name="testing">Testar</string>
|
||||
<string name="firewalled">Bakom brandvägg</string>
|
||||
<string name="symmetric_nat">Symmetrisk NAT</string>
|
||||
<string name="net_status_error_i2cp">Klienthanterare I2CP fel - kontrollera loggar</string>
|
||||
<string name="net_status_error_i2cp">Klienthanterare I2CP-fel - kontrollera loggar</string>
|
||||
<!--Parameter is a time, e.g. 32s or 2m-->
|
||||
<string name="net_status_error_skew">Klockförskjutning på %s</string>
|
||||
<string name="net_status_error_unresolved_tcp">Ej upplöst TCP-adress</string>
|
||||
@ -40,13 +40,13 @@ Var god läs release kommentarerna och licens-information.</string>
|
||||
<string name="net_status_warn_firewalled_floodfill">Bakom brandvägg och floodfill</string>
|
||||
<string name="net_status_info_disconnected">Frånkopplad - kontrollera nätverksanslutning</string>
|
||||
<string name="net_status_error_udp_port">UDP-porten används - ändra i inställningar och start om</string>
|
||||
<string name="net_status_error_no_active_peers">Inga aktiva peers - kontrollera nätverksanslutning och brandvägg</string>
|
||||
<string name="net_status_error_no_active_peers">Inga aktiva noder - kontrollera nätverksanslutning och brandvägg</string>
|
||||
<string name="net_status_error_udp_disabled_tcp_not_set">UDP deaktiverad och inåtgående TCP host/port inte angiven</string>
|
||||
<string name="net_status_warn_firewalled_udp_disabled">Bakom brandvägg med UDP avaktiverad</string>
|
||||
<string name="shared_clients">Delade klienter</string>
|
||||
<string name="uptime">Upptid</string>
|
||||
<string name="active_peers">Aktiva peers</string>
|
||||
<string name="known_peers">Kända peers</string>
|
||||
<string name="active_peers">Aktiva noder</string>
|
||||
<string name="known_peers">Kända noder</string>
|
||||
<!--Character to indicate a client tunnel. Usually first letter of the word "client".-->
|
||||
<string name="char_client_tunnel">C</string>
|
||||
<!--Character to indicate a server tunnel. Usually first letter of the word "server".-->
|
||||
@ -57,7 +57,7 @@ Var god läs release kommentarerna och licens-information.</string>
|
||||
<string name="configure_browser_title">Konfigurera browsern?</string>
|
||||
<string name="configure_browser_for_i2p">Vill du konfigurera en browser för att se på I2P sidor? (Du kan också göra detta senare från hjälpmenyn.)</string>
|
||||
<string name="first_start_title">Gratulerar till din I2P installation!</string>
|
||||
<string name="first_start_welcome"><b>Välkommen till I2P</b>Vänligen<b>ha tålamod</b> medan I2P bootar och letar upp peers.</string>
|
||||
<string name="first_start_welcome"><b>Välkommen till I2P!</b> Vänligen <b>ha tålamod</b> medan I2P startar och letar upp noder.</string>
|
||||
<string name="first_start_read">Medan du väntar, vänligen läs utgåvans meddelanden och välkomstsidan.</string>
|
||||
<string name="first_start_faq">När du har fått klienttunnlar, vänligen <b>kolla</b> vår FAQ:</string>
|
||||
<string name="first_start_faq_nonanon">Använd den här icke-anonyma länken om du inte vill vänta på tunnlar:</string>
|
||||
@ -82,6 +82,7 @@ Var god läs release kommentarerna och licens-information.</string>
|
||||
<string name="router_not_running">Routern kör inte</string>
|
||||
<string name="router_shutting_down">Routern stänger ner.</string>
|
||||
<string name="stats_not_ready">Statistikhanteraren är inte redo än. Försök igen senare.</string>
|
||||
<string name="select_an_address">Välj en adress.</string>
|
||||
<string name="no_graphs_configured">Inga grafer har ställts in. Du kan välja statistik till grafen i inställningsmenyn. Ändringar aktiveras efter 60 sekunder.</string>
|
||||
<string name="configure_graphs">Ställ in grafer</string>
|
||||
<string name="graphs_not_ready">Graferna är inte färdiga än. Försök igen senare.</string>
|
||||
@ -110,7 +111,7 @@ Var god läs release kommentarerna och licens-information.</string>
|
||||
<string name="notification_status_shutdown_cancelled">Avstängning avbruten</string>
|
||||
<string name="notification_status_shutting_down">I2P stänger ner</string>
|
||||
<string name="notification_status_bw">Bandbredd:%1$sBps ner / %2$sBps upp</string>
|
||||
<string name="notification_status_peers">Peers: %1$d aktiva, %2$d kända</string>
|
||||
<string name="notification_status_peers">Noder: %1$d aktiva, %2$d kända</string>
|
||||
<string name="notification_status_expl">Utforskande tunnlar: %1$d/%2$d</string>
|
||||
<string name="notification_status_client">Klienttunnlar:%1$d/%2$d</string>
|
||||
<string name="menu_settings">Inställningar</string>
|
||||
@ -169,8 +170,8 @@ Var god läs release kommentarerna och licens-information.</string>
|
||||
<string name="about_project">Projektets Hem:</string>
|
||||
<string name="about_bugs">Bugs och Support:</string>
|
||||
<string name="about_helpwanted">Hjälp Önskas!</string>
|
||||
<string name="about_volunteer">Vill du hjälpa till att göra appen bättre? Anmäl dig på Android forum:</string>
|
||||
<string name="about_donate">Vill du donera pengar eller bitcoins för inköp av fler Androidenheter till utveckling och testning? Gå till:</string>
|
||||
<string name="about_volunteer">Vill du hjälpa till att göra appen bättre? Anmäl dig på Android-forumet:</string>
|
||||
<string name="about_donate">Vill du donera pengar eller bitcoin för inköp av fler Androidenheter till utveckling och testning? Gå till:</string>
|
||||
<string name="menu_help">Hjälp</string>
|
||||
<string name="general">Generell</string>
|
||||
<string name="label_router">Offentliga adresser</string>
|
||||
|
@ -34,7 +34,7 @@
|
||||
<!--Parameter is a time, e.g. 32s or 2m-->
|
||||
<string name="net_status_error_skew">%s saat sapması</string>
|
||||
<string name="net_status_error_unresolved_tcp">Çözümlenmemiş TCP adresi</string>
|
||||
<string name="net_status_error_private_tcp">Özel TCP adresi</string>
|
||||
<string name="net_status_error_private_tcp">Kişisel TCP adresi</string>
|
||||
<string name="net_status_warn_firewalled_inbound_tcp">Gelen TCP güvenlik duvarı etkinleştirilmiş </string>
|
||||
<string name="net_status_warn_firewalled_floodfill">Güvenlik duvarlı ve akış korumalı</string>
|
||||
<string name="net_status_info_disconnected">Bağlantı kesildi - ağ bağlantısını denetleyin</string>
|
||||
@ -174,7 +174,7 @@
|
||||
<string name="menu_help">Yardım</string>
|
||||
<string name="general">Genel</string>
|
||||
<string name="label_router">Herkese açık adresler</string>
|
||||
<string name="label_private">Özel adresler</string>
|
||||
<string name="label_private">Kişisel adresler</string>
|
||||
<string name="addressbook_is_empty">Adres defteri boş</string>
|
||||
<string name="addressbook_search_header">%s bulundu</string>
|
||||
<string name="addressbook_add_wizard_k_name">Ad</string>
|
||||
@ -249,8 +249,106 @@
|
||||
<string name="tunnel_summ_auto_start">Yöneltici başlatıldığında tünel de başlatılsın.</string>
|
||||
<string name="tunnel_cat_ports">Yerel kapılar</string>
|
||||
<string name="shared_client">Paylaşılmış istemci</string>
|
||||
<string name="tunnel_summ_shared_client">Diğer paylaşılmış istemciler ile aynı hedef ve tüneller kullanılsın</string>
|
||||
<string name="target_destination">Hedef konum</string>
|
||||
<string name="persistent_key">Sürekli anahtar</string>
|
||||
<string name="persistent_key_conflict_title">Yeniden açıldığında yeni anahtarlar oluşturulmasın</string>
|
||||
<string name="persistent_key_conflict_msg">Tünel yeniden açıldığında yeni anahtarlar oluşturuluyorsa sürekli anahtarlar kullanılamaz. Yeniden açıldığından yeni anahtarların oluşturulması devre dışı bırakılsın mı?</string>
|
||||
<string name="tunnel_summ_persistent_key">Yeniden başlatıldığında bu tünelin hedefi korunsun</string>
|
||||
<string name="reachable_on">Şuradan erişilebilir</string>
|
||||
<string name="listen_port">Dinlenecek kapı</string>
|
||||
<string name="client_ssl">SSL İstemci</string>
|
||||
<string name="tunnel_summ_client_ssl">İstemci yalnız SSL üzerinden bağlanabilir</string>
|
||||
<string name="outproxies">Çıkış vekil sunucuları</string>
|
||||
<string name="ssl_outproxies">SSL çıkış vekil sunucuları</string>
|
||||
<string name="irc">IRC</string>
|
||||
<string name="enable_dcc">DCC Kullanılsın</string>
|
||||
<string name="tunnel_summ_enable_dcc">IRC istemcileri DCC kullanabilsin</string>
|
||||
<string name="website_domain_name">Web sitesinin etki alanı</string>
|
||||
<string name="target_host">Hedef sunucu</string>
|
||||
<string name="target_port">Hedef kapı</string>
|
||||
<string name="use_ssl">SSL Kullanılsın</string>
|
||||
<string name="tunnel_summ_use_ssl">Hedefe bağlanmak için SSL kullanılsın</string>
|
||||
<string name="tunnel_parameters">Tünel parametreleri</string>
|
||||
<string name="profile">Profil</string>
|
||||
<string name="profile_bulk">Toplu bağlantı (indirme/web siteleri/BT)</string>
|
||||
<string name="profile_interactive">Etkileşimli bağlantı</string>
|
||||
<string name="delay_connect">Bağlantı gecikmesi</string>
|
||||
<string name="tunnel_summ_delay_connect">Bağlantı yanıtları için etkinleştirin</string>
|
||||
<string name="access_control">Erişim denetimi</string>
|
||||
<string name="restricted_access">Kısıtlı erişim</string>
|
||||
<string name="disabled">Devre dışı</string>
|
||||
<string name="whitelist">Beyaz liste</string>
|
||||
<string name="blacklist">Kara liste</string>
|
||||
<string name="access_list">Erişim listesi</string>
|
||||
<string name="reject_inproxies">Geçen vekil sunucular reddedilsin</string>
|
||||
<string name="tunnel_summ_reject_inproxies">Yalnız I2P kullanıcıları bağlanabilsin</string>
|
||||
<string name="unique_local">Eşsiz yerel</string>
|
||||
<string name="tunnel_summ_unique_local">Her istemci için eşsiz yerel sunucu IP adresi kullanılsın</string>
|
||||
<string name="multihome">Çoklu ev</string>
|
||||
<string name="tunnel_summ_multihome">Çoklu ev iyileştirmeleri kullanılsın</string>
|
||||
<string name="client_connection_limits">İstemci bağlantı sınırları</string>
|
||||
<string name="connections_per_minute">Dakikalık bağlantı sayısı</string>
|
||||
<string name="connections_per_hour">Saatlik bağlantı sayısı</string>
|
||||
<string name="connections_per_day">Günlük bağlantı sayısı</string>
|
||||
<string name="total_connection_limits">Toplam bağlantı sınırları</string>
|
||||
<string name="total_connections_per_minute">Dakikalık toplam bağlantı sayısı</string>
|
||||
<string name="total_connections_per_hour">Saatlik toplam bağlantı sayısı</string>
|
||||
<string name="total_connections_per_day">Günlük toplam bağlantı sayısı</string>
|
||||
<string name="max_active_connections">En fazla etkin bağlantı sayısı</string>
|
||||
<string name="num_per_minute">Dakikalık %s</string>
|
||||
<string name="num_per_hour">Saatlik %s</string>
|
||||
<string name="num_per_day">Günlük %s</string>
|
||||
<string name="unlimited">Sınırsız</string>
|
||||
<string name="set_zero_for_unlimited">Sınırsız olması için 0 yazın</string>
|
||||
<string name="post_limits">POST sınırlaması</string>
|
||||
<string name="limit_period">Sınırlama süresi</string>
|
||||
<string name="client_posts_per_period">Aralıktaki istemci POST sayısı</string>
|
||||
<string name="client_ban_length">İstemci engelleme uzunluğu</string>
|
||||
<string name="total_posts_per_period">Aralıktaki toplam POST sayısı</string>
|
||||
<string name="total_ban_length">Toplam engelleme uzunluğu</string>
|
||||
<string name="power_saving">Güç tasarrufu</string>
|
||||
<string name="delay_open">Açılma geciktirilsin</string>
|
||||
<string name="tunnel_summ_delay_open">Gerekene kadar tünel açılması geciktirilir</string>
|
||||
<string name="reduce_quantity">Sayı azaltılsın</string>
|
||||
<string name="tunnel_summ_reduce_quantity">Boştayken tünel sayısı azaltılır</string>
|
||||
<string name="idle_time">Boşta bekleme süresi</string>
|
||||
<string name="num_minutes">%s dakika</string>
|
||||
<string name="reduced_tunnel_quantity">Azaltılacak tünel sayısı</string>
|
||||
<string name="close_tunnels">Boştayken tüneller kapatılsın</string>
|
||||
<string name="new_keys_on_reopen">Yeniden açıldığından yeni anahtarlar oluşturulsun</string>
|
||||
<string name="new_keys_on_reopen_conflict_title">Sürekli anahtarlar kullanılamasın</string>
|
||||
<string name="new_keys_on_reopen_conflict_msg">Tünel yeniden açıldığında yeni anahtarlar oluşturuluyorsa sürekli anahtarlar kullanılamaz. Sürekli anahtarlar devre dışı bırakılsın mı?</string>
|
||||
<string name="http_client">HTTP istemcisi</string>
|
||||
<string name="tunnel_summ_user_agent">\'User-Agent\' üstbilgisi geçirilsin</string>
|
||||
<string name="tunnel_summ_referer">\'Referer\' üstbilgisi geçirilsin</string>
|
||||
<string name="tunnel_summ_accept">\'Accept-*\' üstbilgisi geçirilsin</string>
|
||||
<string name="tunnel_summ_allow_ssl">I2P adreslerinde SSL kullanılabilsin</string>
|
||||
<string name="jump_url_list">İnternet adresi listesine sıçra</string>
|
||||
<string name="proxy_auth">Vekil sunucu kimlik doğrulaması</string>
|
||||
<string name="tunnel_summ_proxy_auth">Bu vekil sunucuda oturum açmak için kimlik doğrulaması istensin</string>
|
||||
<string name="username">Kullanıcı Adı</string>
|
||||
<string name="password">Parola</string>
|
||||
<string name="outproxy_auth">Giden vekil sunucu kimlik doğrulaması</string>
|
||||
<string name="tunnel_summ_outproxy_auth">Giden vekil sunucu için oturum açılması gerekiyor</string>
|
||||
<string name="other">Diğer</string>
|
||||
<string name="signature_type">İmza tipi</string>
|
||||
<string name="custom_options">Uyarlanmış seçenekler</string>
|
||||
<string name="all">Tümü</string>
|
||||
<string name="no_messages">Henüz bir ileti yok</string>
|
||||
<string name="no_error_messages">Henüz bir hata iletisi yok</string>
|
||||
<plurals name="log_error_messages">
|
||||
<item quantity="other">%d hata iletisi, yeniden eskiye</item>
|
||||
</plurals>
|
||||
<plurals name="log_messages">
|
||||
<item quantity="other">%d ileti, yeniden eskiye</item>
|
||||
</plurals>
|
||||
<string name="log_entry">Günlük Kaydı</string>
|
||||
<string name="copy_logs">Günlükleri kopyala</string>
|
||||
<string name="i2p_android_error_logs">I2P Android Hata Günlükleri</string>
|
||||
<string name="i2p_android_logs">I2P Android Günlükleri</string>
|
||||
<string name="error_logs_copied_to_clipboard">Hata günlükleri panoya kopyalandı</string>
|
||||
<string name="logs_copied_to_clipboard">Günlükler panoya kopyalandı</string>
|
||||
<string name="label_browser_configuration">Tarayıcı ayarları</string>
|
||||
<string name="unset">Ayarı Kaldır</string>
|
||||
</resources>
|
||||
|
@ -40,13 +40,15 @@
|
||||
<string name="net_status_error_udp_port">Використовується UDP порт - змініть в налаштуваннях та перезавантажте</string>
|
||||
<string name="net_status_error_no_active_peers">Немає активних пірів - перевірте мережеве з\'єднання і файрвол</string>
|
||||
<string name="net_status_error_udp_disabled_tcp_not_set">UDP вимкнено і вхідний TCP хост/порт не встановлено</string>
|
||||
<string name="net_status_warn_firewalled_udp_disabled">перевірено фаєрволом з виключеним UDP </string>
|
||||
<string name="net_status_warn_firewalled_udp_disabled">перевірено фаєрволом з вимкненим UDP </string>
|
||||
<string name="shared_clients">Колективні клієнти</string>
|
||||
<string name="uptime">Аптайм</string>
|
||||
<string name="active_peers">Активні піри</string>
|
||||
<string name="known_peers">Відомі піри</string>
|
||||
<!--Character to indicate a client tunnel. Usually first letter of the word "client".-->
|
||||
<string name="char_client_tunnel">К</string>
|
||||
<!--Character to indicate a server tunnel. Usually first letter of the word "server".-->
|
||||
<string name="char_server_tunnel">С</string>
|
||||
<string name="no_tunnels_running">Нема жодного працюючого клієнта</string>
|
||||
<string name="download">Завантажено</string>
|
||||
<string name="upload">Вивантажено</string>
|
||||
@ -78,6 +80,7 @@
|
||||
<string name="router_not_running">Маршрутизатор не працює.</string>
|
||||
<string name="router_shutting_down">Маршрутизатор вимикається.</string>
|
||||
<string name="stats_not_ready">Менеджер статистики ще не готовий. Спробуйте пізніше.</string>
|
||||
<string name="select_an_address">Оберіть адресу.</string>
|
||||
<string name="no_graphs_configured">Немає налаштованих графиків. Ви можете вибрати яку статистику показувати на графіках у меню налаштувань. Будь-які зміни набудуть чинності за 60 секунд.</string>
|
||||
<string name="configure_graphs">Налаштування графиків</string>
|
||||
<string name="graphs_not_ready">Графіки ще не готові. Спробуйте пізніше.</string>
|
||||
@ -225,8 +228,12 @@
|
||||
<string name="enabled">Увімкнено</string>
|
||||
<string name="i2ptunnel_wizard_desc_name">Назва тунелю для ідентифікації у списці тунелів.</string>
|
||||
<string name="i2ptunnel_wizard_desc_desc">Опис тунелю. Використовуйте це необов\'язкове поле задля більшої інформативності.</string>
|
||||
<string name="i2ptunnel_wizard_desc_dest">Тип призначення сервісу в мережі I2P, тобто куди клієнт має приєднатися. Це може бути повний BASE64 ключ призначення або імʼя вузла I2P з вашої адресної книги.</string>
|
||||
<string name="i2ptunnel_wizard_desc_outproxies">Якщо ви знаєте інші вихідні проксі для цього типу тунелю (або HTTP або SOCKS), то надрукуйте тут. Розділяйте проксі комами.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_host">Це IP-адреса, на якій сервіс працює. Зазвичай така сама, як у машини, тому 127.0.0.1 введено автоматично.</string>
|
||||
<string name="i2ptunnel_wizard_desc_target_port">Це порт, на який сервіс приймає з’єднання.</string>
|
||||
<string name="i2ptunnel_wizard_desc_reachable_on">Встановлює обмеження на доступ до цього тунелю через компʼютери чи смартфони.</string>
|
||||
<string name="i2ptunnel_wizard_desc_binding_port">Локальний порт доступу для клієнтського тунелю; клієнтський порт для тунелю для двонаправленого HTTP серверу.</string>
|
||||
<string name="i2ptunnel_wizard_desc_auto_start">Чи повинен тунель запускатись автоматично коли запускається маршрутизатор?</string>
|
||||
<string name="i2ptunnel_wizard_submit_confirm_message">Створити тунель?</string>
|
||||
<string name="i2ptunnel_wizard_submit_confirm_button">Створити тунель</string>
|
||||
@ -247,11 +254,15 @@
|
||||
<string name="persistent_key_conflict_msg">Ви не можете включити постійні ключі доки тунель налаштовується щоб згенерувати нові ключі після перезапуску. Чи хочете ви відключити нові ключі після перезапуску?</string>
|
||||
<string name="tunnel_summ_persistent_key">Залишити це Призначення тунелю після перезапуску</string>
|
||||
<string name="reachable_on">Доступний на</string>
|
||||
<string name="listen_port">Вхідний порт</string>
|
||||
<string name="client_ssl">Клієнт SSL</string>
|
||||
<string name="tunnel_summ_client_ssl">Клієнт має використовувати SSL для зʼєднання</string>
|
||||
<string name="outproxies">Вихідні проксі</string>
|
||||
<string name="ssl_outproxies">Вихідні проксі SSL</string>
|
||||
<string name="irc">IRC</string>
|
||||
<string name="enable_dcc">Увімкнути DCC</string>
|
||||
<string name="tunnel_summ_enable_dcc">Дозволити IRC клієнтам використовувати DCC</string>
|
||||
<string name="website_domain_name">Імʼя домену сайта</string>
|
||||
<string name="target_host">Цільовий хост</string>
|
||||
<string name="target_port">Цільовий порт</string>
|
||||
<string name="use_ssl">Використовувати SSL</string>
|
||||
@ -260,9 +271,17 @@
|
||||
<string name="profile">Профіль</string>
|
||||
<string name="profile_interactive">Інтерактивне з’єднання</string>
|
||||
<string name="delay_connect">Затримка з’єднання</string>
|
||||
<string name="tunnel_summ_delay_connect">Дозволити зʼєднання типу запит/відповідь</string>
|
||||
<string name="access_control">Контроль доступу</string>
|
||||
<string name="restricted_access">Обмежений доступ</string>
|
||||
<string name="disabled">Вимкнено</string>
|
||||
<string name="whitelist">Білий список</string>
|
||||
<string name="blacklist">Чорний список</string>
|
||||
<string name="access_list">Список дозволів</string>
|
||||
<string name="reject_inproxies">Відхилити вхідні проксі</string>
|
||||
<string name="tunnel_summ_reject_inproxies">Дозволити зʼєднання тільки користувачам I2P</string>
|
||||
<string name="unique_local">Унікальні локальні мережі</string>
|
||||
<string name="tunnel_summ_unique_local">Використовувати унікальні локальні адреси для кожного клієнту</string>
|
||||
<string name="connections_per_minute">З’єднань за хвилину</string>
|
||||
<string name="connections_per_hour">З’єднань за годину</string>
|
||||
<string name="connections_per_day">З’єднань за день</string>
|
||||
|
@ -1,5 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<style name="Theme.I2P" parent="Base.Theme.I2P">
|
||||
<!-- This fixes a UI bug in the support preference library -->
|
||||
<item name="preferenceTheme">@style/PreferenceThemeOverlay.v14.Material</item>
|
||||
</style>
|
||||
|
||||
<style name="WizardPageTitle" parent="WizardPageTitleBase">
|
||||
<item name="android:paddingLeft">?android:attr/listPreferredItemPaddingLeft</item>
|
||||
</style>
|
||||
|
@ -6,5 +6,7 @@
|
||||
<item name="android:windowAllowReturnTransitionOverlap">true</item>
|
||||
<item name="android:windowSharedElementEnterTransition">@android:transition/move</item>
|
||||
<item name="android:windowSharedElementExitTransition">@android:transition/move</item>
|
||||
<!-- This fixes a UI bug in the support preference library -->
|
||||
<item name="preferenceTheme">@style/PreferenceThemeOverlay.v14.Material</item>
|
||||
</style>
|
||||
</resources>
|
@ -81,6 +81,7 @@
|
||||
<string name="router_not_running">路由器未在运行。</string>
|
||||
<string name="router_shutting_down">路由器正在关闭。</string>
|
||||
<string name="stats_not_ready">统计管理器还没有准备好。请稍后再试。</string>
|
||||
<string name="select_an_address">选择一个地址。</string>
|
||||
<string name="no_graphs_configured">没有已配置的图表。您可以在设置菜单中选择统计信息以获得图表。任何更改将在60秒后生效。</string>
|
||||
<string name="configure_graphs">配置图表</string>
|
||||
<string name="graphs_not_ready">图表尚未就绪。请稍候再试。</string>
|
||||
|
@ -8,4 +8,10 @@
|
||||
<attr name="shadowDrawable" format="reference" />
|
||||
<attr name="shadowVisible" format="boolean" />
|
||||
</declare-styleable>
|
||||
|
||||
<declare-styleable name="SeekBarPreference">
|
||||
<attr name="msbp_maxValue" format="reference|integer"/>
|
||||
<attr name="msbp_defaultValue" format="reference|integer"/>
|
||||
<attr name="msbp_measurementUnit" format="reference|string"/>
|
||||
</declare-styleable>
|
||||
</resources>
|
@ -295,6 +295,7 @@
|
||||
<string name="i2ptunnel_view_target">Target</string>
|
||||
<string name="i2ptunnel_view_access_point">Access point</string>
|
||||
<string name="i2ptunnel_view_autostart">Auto-start</string>
|
||||
<string name="address_copied_to_clipboard">Address copied to clipboard</string>
|
||||
|
||||
<string name="edit_tunnel">Edit tunnel</string>
|
||||
<string name="name">Name</string>
|
||||
|
@ -22,7 +22,9 @@
|
||||
<!-- The rest of your attributes -->
|
||||
</style>
|
||||
|
||||
<style name="Theme.I2P" parent="Base.Theme.I2P" />
|
||||
<style name="Theme.I2P" parent="Base.Theme.I2P">
|
||||
<item name="preferenceTheme">@style/PreferenceThemeOverlay</item>
|
||||
</style>
|
||||
|
||||
<style name="TextAppearance.AppCompat.Primary" parent="TextAppearance.AppCompat.Body1">
|
||||
<item name="android:textColor">@color/primary_text_default_material_dark</item>
|
||||
|
@ -6,7 +6,7 @@
|
||||
<!--
|
||||
router.inboundPool.length=1
|
||||
-->
|
||||
<net.i2p.android.router.util.IntListPreference
|
||||
<net.i2p.android.preferences.util.IntListPreference
|
||||
android:defaultValue="2"
|
||||
android:dialogTitle="@string/settings_desc_expl_length"
|
||||
android:entries="@array/setting0to3"
|
||||
@ -18,7 +18,7 @@
|
||||
<!--
|
||||
router.inboundPool.lengthVariance=1
|
||||
-->
|
||||
<net.i2p.android.router.util.IntListPreference
|
||||
<net.i2p.android.preferences.util.IntListPreference
|
||||
android:defaultValue="0"
|
||||
android:dialogTitle="@string/settings_desc_expl_lengthVariance"
|
||||
android:entries="@array/setting2to2"
|
||||
@ -31,7 +31,7 @@
|
||||
<!--
|
||||
router.inboundPool.quantity=2
|
||||
-->
|
||||
<net.i2p.android.router.util.IntListPreference
|
||||
<net.i2p.android.preferences.util.IntListPreference
|
||||
android:defaultValue="2"
|
||||
android:dialogTitle="@string/settings_desc_expl_quantity"
|
||||
android:entries="@array/setting0to3"
|
||||
@ -43,7 +43,7 @@
|
||||
<!--
|
||||
router.inboundPool.backupQuantity=0
|
||||
-->
|
||||
<net.i2p.android.router.util.IntListPreference
|
||||
<net.i2p.android.preferences.util.IntListPreference
|
||||
android:defaultValue="0"
|
||||
android:dialogTitle="@string/settings_desc_expl_backupQuantity"
|
||||
android:entries="@array/setting0to3"
|
||||
@ -59,7 +59,7 @@
|
||||
<!--
|
||||
router.outboundPool.length=1
|
||||
-->
|
||||
<net.i2p.android.router.util.IntListPreference
|
||||
<net.i2p.android.preferences.util.IntListPreference
|
||||
android:defaultValue="2"
|
||||
android:dialogTitle="@string/settings_desc_expl_length"
|
||||
android:entries="@array/setting0to3"
|
||||
@ -71,7 +71,7 @@
|
||||
<!--
|
||||
router.outboundPool.lengthVariance=1
|
||||
-->
|
||||
<net.i2p.android.router.util.IntListPreference
|
||||
<net.i2p.android.preferences.util.IntListPreference
|
||||
android:defaultValue="0"
|
||||
android:dialogTitle="@string/settings_desc_expl_lengthVariance"
|
||||
android:entries="@array/setting2to2"
|
||||
@ -83,7 +83,7 @@
|
||||
<!--
|
||||
router.outboundPool.quantity=2
|
||||
-->
|
||||
<net.i2p.android.router.util.IntListPreference
|
||||
<net.i2p.android.preferences.util.IntListPreference
|
||||
android:defaultValue="2"
|
||||
android:dialogTitle="@string/settings_desc_expl_quantity"
|
||||
android:entries="@array/setting0to3"
|
||||
@ -95,7 +95,7 @@
|
||||
<!--
|
||||
router.outboundPool.backupQuantity=0
|
||||
-->
|
||||
<net.i2p.android.router.util.IntListPreference
|
||||
<net.i2p.android.preferences.util.IntListPreference
|
||||
android:defaultValue="0"
|
||||
android:dialogTitle="@string/settings_desc_expl_backupQuantity"
|
||||
android:entries="@array/setting0to3"
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
|
||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<!--
|
||||
Keys and the default values from current installation:
|
||||
-->
|
||||
@ -16,26 +17,22 @@
|
||||
<!--
|
||||
i2np.bandwidth.inboundKBytesPerSecond=100
|
||||
-->
|
||||
<com.hlidskialf.android.preference.SeekBarPreference
|
||||
<com.pavelsikun.seekbarpreference.SeekBarPreference
|
||||
android:key="@string/PROP_INBOUND_BANDWIDTH"
|
||||
android:defaultValue="100"
|
||||
android:max="1000"
|
||||
android:title="@string/settings_label_bw_inbound"
|
||||
android:summary="@string/settings_desc_bw_inbound"
|
||||
android:dialogMessage="Maximum inbound speed"
|
||||
android:text=" KBytes/sec"
|
||||
android:title="@string/settings_desc_bw_inbound"
|
||||
app:msbp_defaultValue="100"
|
||||
app:msbp_maxValue="1000"
|
||||
app:msbp_measurementUnit="KB/s"
|
||||
/>
|
||||
<!--
|
||||
i2np.bandwidth.outboundKBytesPerSecond=30
|
||||
-->
|
||||
<com.hlidskialf.android.preference.SeekBarPreference
|
||||
<com.pavelsikun.seekbarpreference.SeekBarPreference
|
||||
android:key="@string/PROP_OUTBOUND_BANDWIDTH"
|
||||
android:defaultValue="100"
|
||||
android:max="1000"
|
||||
android:title="@string/settings_label_bw_outbound"
|
||||
android:summary="@string/settings_desc_bw_outbound"
|
||||
android:dialogMessage="Maximum outbound speed"
|
||||
android:text=" KBytes/sec"
|
||||
android:title="@string/settings_desc_bw_outbound"
|
||||
app:msbp_defaultValue="100"
|
||||
app:msbp_maxValue="1000"
|
||||
app:msbp_measurementUnit="KB/s"
|
||||
/>
|
||||
</PreferenceCategory>
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<PreferenceCategory
|
||||
android:key="settings_udp"
|
||||
android:title="UDP">
|
||||
@ -13,7 +14,7 @@
|
||||
android:summary="DO NOT DISABLE THIS"
|
||||
android:title="@string/settings_enable" />
|
||||
|
||||
<net.i2p.android.router.util.PortPreference
|
||||
<net.i2p.android.preferences.util.PortPreference
|
||||
android:dependency="@string/PROP_ENABLE_UDP"
|
||||
android:key="@string/PROP_UDP_INTERNAL_PORT"
|
||||
android:title="UDP port" />
|
||||
@ -21,16 +22,13 @@
|
||||
<!--
|
||||
i2np.udp.maxConnections=12
|
||||
-->
|
||||
<com.hlidskialf.android.preference.SeekBarPreference
|
||||
android:defaultValue="32"
|
||||
<com.pavelsikun.seekbarpreference.SeekBarPreference
|
||||
android:dependency="@string/PROP_ENABLE_UDP"
|
||||
android:dialogMessage="Maximum UDP connections"
|
||||
android:key="@string/PROP_UDP_MAX_CONNECTIONS"
|
||||
android:max="500"
|
||||
android:shouldDisableView="true"
|
||||
android:summary="Maximum UDP connections allowed"
|
||||
android:text=" connections"
|
||||
android:title="@string/settings_label_maxConns" />
|
||||
android:title="@string/settings_label_maxConns"
|
||||
app:msbp_defaultValue="32"
|
||||
app:msbp_maxValue="500" />
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory
|
||||
@ -49,22 +47,19 @@
|
||||
android:summary="Use same port as UDP"
|
||||
android:title="Auto-set port" />
|
||||
|
||||
<net.i2p.android.router.util.PortPreference
|
||||
<net.i2p.android.preferences.util.PortPreference
|
||||
android:dependency="@string/PROP_I2NP_NTCP_AUTO_PORT"
|
||||
android:key="@string/PROP_I2NP_NTCP_PORT"
|
||||
android:title="NTCP port" />
|
||||
<!--
|
||||
i2np.ntcp.maxConnections=24
|
||||
-->
|
||||
<com.hlidskialf.android.preference.SeekBarPreference
|
||||
android:defaultValue="32"
|
||||
<com.pavelsikun.seekbarpreference.SeekBarPreference
|
||||
android:dependency="i2np.ntcp.enable"
|
||||
android:dialogMessage="Maximum NTCP connections"
|
||||
android:key="@string/PROP_NTCP_MAX_CONNECTIONS"
|
||||
android:max="250"
|
||||
android:shouldDisableView="true"
|
||||
android:summary="Maximum NTCP connections allowed (default=32)"
|
||||
android:text=" connections"
|
||||
android:title="@string/settings_label_maxConns" />
|
||||
android:title="@string/settings_label_maxConns"
|
||||
app:msbp_defaultValue="32"
|
||||
app:msbp_maxValue="250" />
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
@ -5,7 +5,7 @@
|
||||
android:key="@string/TUNNEL_CAT_TUNNEL_PARAMS"
|
||||
android:title="@string/tunnel_parameters">
|
||||
|
||||
<net.i2p.android.router.util.IntListPreference
|
||||
<net.i2p.android.preferences.util.IntListPreference
|
||||
android:defaultValue="@integer/DEFAULT_TUNNEL_LENGTH"
|
||||
android:dialogTitle="@string/settings_desc_expl_length"
|
||||
android:entries="@array/setting0to3"
|
||||
@ -14,7 +14,7 @@
|
||||
android:summary="@string/settings_summ_expl_length"
|
||||
android:title="@string/settings_label_expl_length" />
|
||||
|
||||
<net.i2p.android.router.util.IntListPreference
|
||||
<net.i2p.android.preferences.util.IntListPreference
|
||||
android:defaultValue="@integer/DEFAULT_TUNNEL_VARIANCE"
|
||||
android:dialogTitle="@string/settings_desc_expl_lengthVariance"
|
||||
android:entries="@array/setting2to2"
|
||||
@ -23,7 +23,7 @@
|
||||
android:summary="@string/settings_summ_expl_lengthVariance"
|
||||
android:title="@string/settings_label_expl_lengthVariance" />
|
||||
|
||||
<net.i2p.android.router.util.IntListPreference
|
||||
<net.i2p.android.preferences.util.IntListPreference
|
||||
android:defaultValue="@integer/DEFAULT_TUNNEL_QUANTITY"
|
||||
android:dialogTitle="@string/settings_desc_expl_quantity"
|
||||
android:entries="@array/setting0to3"
|
||||
@ -32,7 +32,7 @@
|
||||
android:summary="@string/settings_summ_expl_quantity"
|
||||
android:title="@string/settings_label_expl_quantity" />
|
||||
|
||||
<net.i2p.android.router.util.IntListPreference
|
||||
<net.i2p.android.preferences.util.IntListPreference
|
||||
android:defaultValue="@integer/DEFAULT_TUNNEL_BACKUP_QUANTITY"
|
||||
android:dialogTitle="@string/settings_desc_expl_backupQuantity"
|
||||
android:entries="@array/setting0to3"
|
||||
|
@ -8,7 +8,7 @@
|
||||
android:summary="@string/tunnel_summ_proxy_auth"
|
||||
android:title="@string/settings_enable" />
|
||||
|
||||
<net.i2p.android.router.util.SummaryEditTextPreference
|
||||
<net.i2p.android.preferences.util.SummaryEditTextPreference
|
||||
android:dependency="@string/TUNNEL_OPT_LOCAL_AUTH"
|
||||
android:key="@string/TUNNEL_OPT_LOCAL_USERNAME"
|
||||
android:title="@string/username" />
|
||||
@ -27,7 +27,7 @@
|
||||
android:summary="@string/tunnel_summ_outproxy_auth"
|
||||
android:title="@string/settings_enable" />
|
||||
|
||||
<net.i2p.android.router.util.SummaryEditTextPreference
|
||||
<net.i2p.android.preferences.util.SummaryEditTextPreference
|
||||
android:dependency="@string/TUNNEL_OPT_OUTPROXY_AUTH"
|
||||
android:key="@string/TUNNEL_OPT_OUTPROXY_USERNAME"
|
||||
android:title="@string/username" />
|
||||
|
@ -20,7 +20,7 @@
|
||||
android:summary="@string/tunnel_summ_reduce_quantity"
|
||||
android:title="@string/reduce_quantity" />
|
||||
|
||||
<net.i2p.android.router.util.IntEditTextPreference
|
||||
<net.i2p.android.preferences.util.IntEditTextPreference
|
||||
android:defaultValue="@integer/DEFAULT_REDUCE_TIME"
|
||||
android:dependency="@string/TUNNEL_OPT_REDUCE_IDLE"
|
||||
android:key="@string/TUNNEL_OPT_REDUCE_TIME"
|
||||
@ -28,7 +28,7 @@
|
||||
android:summary="@string/num_minutes"
|
||||
android:title="@string/idle_time" />
|
||||
|
||||
<net.i2p.android.router.util.IntEditTextPreference
|
||||
<net.i2p.android.preferences.util.IntEditTextPreference
|
||||
android:defaultValue="@integer/DEFAULT_REDUCE_COUNT"
|
||||
android:dependency="@string/TUNNEL_OPT_REDUCE_IDLE"
|
||||
android:key="@string/TUNNEL_OPT_REDUCE_QUANTITY"
|
||||
|
@ -7,7 +7,7 @@
|
||||
android:order="20"
|
||||
android:title="@string/close_tunnels" />
|
||||
|
||||
<net.i2p.android.router.util.IntEditTextPreference
|
||||
<net.i2p.android.preferences.util.IntEditTextPreference
|
||||
android:defaultValue="@integer/DEFAULT_CLOSE_TIME"
|
||||
android:dependency="@string/TUNNEL_OPT_CLOSE_IDLE"
|
||||
android:key="@string/TUNNEL_OPT_CLOSE_TIME"
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
<PreferenceCategory android:title="@string/other">
|
||||
|
||||
<net.i2p.android.router.util.IntListPreference
|
||||
<net.i2p.android.preferences.util.IntListPreference
|
||||
android:entries="@array/sigtype_names"
|
||||
android:entryValues="@array/sigtypes"
|
||||
android:key="@string/TUNNEL_OPT_SIGTYPE"
|
||||
|
@ -6,7 +6,7 @@
|
||||
android:key="@string/TUNNEL_CAT_ACCESS_CONTROL"
|
||||
android:title="@string/access_control">
|
||||
|
||||
<net.i2p.android.router.util.IntListPreference
|
||||
<net.i2p.android.preferences.util.IntListPreference
|
||||
android:entries="@array/access_mode_names"
|
||||
android:entryValues="@array/access_modes"
|
||||
android:key="@string/TUNNEL_OPT_ACCESS_MODE"
|
||||
@ -35,21 +35,21 @@
|
||||
|
||||
<PreferenceCategory android:title="@string/client_connection_limits">
|
||||
|
||||
<net.i2p.android.router.util.ConnectionLimitPreference
|
||||
<net.i2p.android.preferences.util.ConnectionLimitPreference
|
||||
android:dialogMessage="@string/set_zero_for_unlimited"
|
||||
android:dialogTitle="@string/connections_per_minute"
|
||||
android:key="@string/TUNNEL_OPT_LIMIT_MINUTE"
|
||||
android:title="@string/num_per_minute"
|
||||
app:clp_valueInTitle="true" />
|
||||
|
||||
<net.i2p.android.router.util.ConnectionLimitPreference
|
||||
<net.i2p.android.preferences.util.ConnectionLimitPreference
|
||||
android:dialogMessage="@string/set_zero_for_unlimited"
|
||||
android:dialogTitle="@string/connections_per_hour"
|
||||
android:key="@string/TUNNEL_OPT_LIMIT_HOUR"
|
||||
android:title="@string/num_per_hour"
|
||||
app:clp_valueInTitle="true" />
|
||||
|
||||
<net.i2p.android.router.util.ConnectionLimitPreference
|
||||
<net.i2p.android.preferences.util.ConnectionLimitPreference
|
||||
android:dialogMessage="@string/set_zero_for_unlimited"
|
||||
android:dialogTitle="@string/connections_per_day"
|
||||
android:key="@string/TUNNEL_OPT_LIMIT_DAY"
|
||||
@ -59,28 +59,28 @@
|
||||
|
||||
<PreferenceCategory android:title="@string/total_connection_limits">
|
||||
|
||||
<net.i2p.android.router.util.ConnectionLimitPreference
|
||||
<net.i2p.android.preferences.util.ConnectionLimitPreference
|
||||
android:dialogMessage="@string/set_zero_for_unlimited"
|
||||
android:dialogTitle="@string/total_connections_per_minute"
|
||||
android:key="@string/TUNNEL_OPT_TOTAL_MINUTE"
|
||||
android:title="@string/num_per_minute"
|
||||
app:clp_valueInTitle="true" />
|
||||
|
||||
<net.i2p.android.router.util.ConnectionLimitPreference
|
||||
<net.i2p.android.preferences.util.ConnectionLimitPreference
|
||||
android:dialogMessage="@string/set_zero_for_unlimited"
|
||||
android:dialogTitle="@string/total_connections_per_hour"
|
||||
android:key="@string/TUNNEL_OPT_TOTAL_HOUR"
|
||||
android:title="@string/num_per_hour"
|
||||
app:clp_valueInTitle="true" />
|
||||
|
||||
<net.i2p.android.router.util.ConnectionLimitPreference
|
||||
<net.i2p.android.preferences.util.ConnectionLimitPreference
|
||||
android:dialogMessage="@string/set_zero_for_unlimited"
|
||||
android:dialogTitle="@string/total_connections_per_day"
|
||||
android:key="@string/TUNNEL_OPT_TOTAL_DAY"
|
||||
android:title="@string/num_per_day"
|
||||
app:clp_valueInTitle="true" />
|
||||
|
||||
<net.i2p.android.router.util.ConnectionLimitPreference
|
||||
<net.i2p.android.preferences.util.ConnectionLimitPreference
|
||||
android:dialogMessage="@string/set_zero_for_unlimited"
|
||||
android:key="@string/TUNNEL_OPT_MAX_STREAMS"
|
||||
android:title="@string/max_active_connections" />
|
||||
|
@ -3,25 +3,25 @@
|
||||
|
||||
<PreferenceCategory android:title="@string/post_limits">
|
||||
|
||||
<net.i2p.android.router.util.IntEditTextPreference
|
||||
<net.i2p.android.preferences.util.IntEditTextPreference
|
||||
android:key="@string/TUNNEL_OPT_POST_CHECK_TIME"
|
||||
android:summary="%s minutes"
|
||||
android:title="@string/limit_period" />
|
||||
|
||||
<net.i2p.android.router.util.ConnectionLimitPreference
|
||||
<net.i2p.android.preferences.util.ConnectionLimitPreference
|
||||
android:key="@string/TUNNEL_OPT_POST_MAX"
|
||||
android:title="@string/client_posts_per_period" />
|
||||
|
||||
<net.i2p.android.router.util.IntEditTextPreference
|
||||
<net.i2p.android.preferences.util.IntEditTextPreference
|
||||
android:key="@string/TUNNEL_OPT_POST_BAN_TIME"
|
||||
android:summary="%s minutes"
|
||||
android:title="@string/client_ban_length" />
|
||||
|
||||
<net.i2p.android.router.util.ConnectionLimitPreference
|
||||
<net.i2p.android.preferences.util.ConnectionLimitPreference
|
||||
android:key="@string/TUNNEL_OPT_POST_TOTAL_MAX"
|
||||
android:title="@string/total_posts_per_period" />
|
||||
|
||||
<net.i2p.android.router.util.IntEditTextPreference
|
||||
<net.i2p.android.preferences.util.IntEditTextPreference
|
||||
android:key="@string/TUNNEL_OPT_POST_TOTAL_BAN_TIME"
|
||||
android:summary="%s minutes"
|
||||
android:title="@string/total_ban_length" />
|
||||
|
@ -1,11 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<net.i2p.android.router.util.SummaryEditTextPreference
|
||||
<net.i2p.android.preferences.util.SummaryEditTextPreference
|
||||
android:key="@string/TUNNEL_NAME"
|
||||
android:title="@string/name" />
|
||||
|
||||
<net.i2p.android.router.util.SummaryEditTextPreference
|
||||
<net.i2p.android.preferences.util.SummaryEditTextPreference
|
||||
android:key="@string/TUNNEL_DESCRIPTION"
|
||||
android:title="@string/description" />
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
android:summary="@string/tunnel_summ_shared_client"
|
||||
android:title="@string/shared_client" />
|
||||
|
||||
<net.i2p.android.router.util.SummaryEditTextPreference
|
||||
<net.i2p.android.preferences.util.SummaryEditTextPreference
|
||||
android:key="@string/TUNNEL_DEST"
|
||||
android:title="@string/target_destination" />
|
||||
|
||||
|
@ -6,7 +6,7 @@
|
||||
android:summary="%s"
|
||||
android:title="@string/reachable_on" />
|
||||
|
||||
<net.i2p.android.router.util.PortPreference
|
||||
<net.i2p.android.preferences.util.PortPreference
|
||||
android:key="@string/TUNNEL_LISTEN_PORT"
|
||||
android:title="@string/listen_port" />
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<net.i2p.android.router.util.SummaryEditTextPreference
|
||||
<net.i2p.android.preferences.util.SummaryEditTextPreference
|
||||
android:key="@string/TUNNEL_SPOOFED_HOST"
|
||||
android:title="@string/website_domain_name" />
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<net.i2p.android.router.util.SummaryEditTextPreference
|
||||
<net.i2p.android.preferences.util.SummaryEditTextPreference
|
||||
android:key="@string/TUNNEL_TARGET_HOST"
|
||||
android:title="@string/target_host" />
|
||||
|
||||
<net.i2p.android.router.util.PortPreference
|
||||
<net.i2p.android.preferences.util.PortPreference
|
||||
android:key="@string/TUNNEL_TARGET_PORT"
|
||||
android:title="@string/target_port" />
|
||||
|
||||
|
@ -3,7 +3,7 @@ buildscript {
|
||||
jcenter()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:1.3.0'
|
||||
classpath 'com.android.tools.build:gradle:2.1.0'
|
||||
classpath files('gradle/libs/gradle-witness.jar')
|
||||
}
|
||||
}
|
||||
@ -13,9 +13,6 @@ allprojects {
|
||||
group = GROUP
|
||||
|
||||
repositories {
|
||||
maven {
|
||||
url "https://raw.github.com/whispersystems/maven/master/preferencefragment/releases/"
|
||||
}
|
||||
jcenter()
|
||||
}
|
||||
}
|
||||
|
@ -1,66 +0,0 @@
|
||||
apply plugin: 'com.android.library'
|
||||
apply plugin: 'witness'
|
||||
|
||||
android {
|
||||
compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION as String)
|
||||
buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION as String
|
||||
|
||||
defaultConfig {
|
||||
minSdkVersion 9
|
||||
targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION as String)
|
||||
}
|
||||
buildTypes {
|
||||
release {
|
||||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
|
||||
}
|
||||
}
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_7
|
||||
targetCompatibility JavaVersion.VERSION_1_7
|
||||
}
|
||||
lintOptions {
|
||||
abortOnError false
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compile project(path: ':routerjars', configuration: 'client')
|
||||
compile 'com.android.support:support-v4:23.0.1'
|
||||
|
||||
testCompile 'junit:junit:4.12'
|
||||
testCompile 'org.mockito:mockito-core:1.9.5'
|
||||
}
|
||||
|
||||
dependencyVerification {
|
||||
verify = [
|
||||
'com.android.support:support-v4:5ddf1feda096c164d0dd299cc6786fde18a845ce47dbfe484ff27cce27e19638',
|
||||
]
|
||||
}
|
||||
|
||||
android.libraryVariants.all { variant ->
|
||||
// Copy I2P client JARs into AAR
|
||||
def copyClientLibsTask = tasks.create(name: "copy${variant.name.capitalize()}ClientLibs", type: Copy) {
|
||||
from project(':routerjars').configurations.client.allArtifacts.collect { artifact ->
|
||||
artifact.file
|
||||
}
|
||||
destinationDir file("${buildDir}/intermediates/bundles/${variant.dirName}/libs")
|
||||
}
|
||||
|
||||
// Hook the copy task into the build
|
||||
variant.processJavaResources.dependsOn copyClientLibsTask
|
||||
copyClientLibsTask.mustRunAfter ':routerjars:buildClient'
|
||||
}
|
||||
|
||||
apply from: "${project.rootDir}/gradle/maven-push.gradle"
|
||||
|
||||
// Remove routerjars from dependencies
|
||||
afterEvaluate { project ->
|
||||
def deployer = uploadArchives.repositories.mavenDeployer
|
||||
deployer*.pom*.whenConfigured { pom ->
|
||||
pom.setDependencies(pom.dependencies.collect { dep ->
|
||||
if (dep.groupId != 'i2p.android.base' && dep.artifactId != 'routerjars')
|
||||
dep
|
||||
})
|
||||
}
|
||||
}
|
@ -1,10 +1,10 @@
|
||||
VERSION_NAME=0.7
|
||||
VERSION_NAME=0.9
|
||||
GROUP=net.i2p.android
|
||||
|
||||
POM_URL=https://github.com/i2p/i2p.android.base
|
||||
POM_SCM_URL=https://github.com/i2p/i2p.android.base
|
||||
POM_SCM_CONNECTION=scm:git@github.com:i2p/i2p.android.base.git
|
||||
POM_SCM_DEV_CONNECTION=scm:git@github.com:i2p/i2p.android.base.git
|
||||
POM_SCM_CONNECTION=scm:git:git@github.com:i2p/i2p.android.base.git
|
||||
POM_SCM_DEV_CONNECTION=scm:git:git@github.com:i2p/i2p.android.base.git
|
||||
POM_LICENCE_NAME=The Apache Software License, Version 2.0
|
||||
POM_LICENCE_URL=http://www.apache.org/licenses/LICENSE-2.0.txt
|
||||
POM_LICENCE_DIST=repo
|
||||
|
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
Binary file not shown.
3
gradle/wrapper/gradle-wrapper.properties
vendored
3
gradle/wrapper/gradle-wrapper.properties
vendored
@ -1,5 +1,6 @@
|
||||
#Mon May 02 16:55:47 NZST 2016
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-2.12-all.zip
|
||||
|
10
gradlew
vendored
10
gradlew
vendored
@ -42,11 +42,6 @@ case "`uname`" in
|
||||
;;
|
||||
esac
|
||||
|
||||
# For Cygwin, ensure paths are in UNIX format before anything is touched.
|
||||
if $cygwin ; then
|
||||
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
|
||||
fi
|
||||
|
||||
# Attempt to set APP_HOME
|
||||
# Resolve links: $0 may be a link
|
||||
PRG="$0"
|
||||
@ -61,9 +56,9 @@ while [ -h "$PRG" ] ; do
|
||||
fi
|
||||
done
|
||||
SAVED="`pwd`"
|
||||
cd "`dirname \"$PRG\"`/" >&-
|
||||
cd "`dirname \"$PRG\"`/" >/dev/null
|
||||
APP_HOME="`pwd -P`"
|
||||
cd "$SAVED" >&-
|
||||
cd "$SAVED" >/dev/null
|
||||
|
||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||
|
||||
@ -114,6 +109,7 @@ fi
|
||||
if $cygwin ; then
|
||||
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
|
||||
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
|
||||
JAVACMD=`cygpath --unix "$JAVACMD"`
|
||||
|
||||
# We build the pattern for arguments to be converted via cygpath
|
||||
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
|
||||
|
2
gradlew.bat
vendored
2
gradlew.bat
vendored
@ -46,7 +46,7 @@ echo location of your Java installation.
|
||||
goto fail
|
||||
|
||||
:init
|
||||
@rem Get command-line arguments, handling Windowz variants
|
||||
@rem Get command-line arguments, handling Windows variants
|
||||
|
||||
if not "%OS%" == "Windows_NT" goto win9xME_args
|
||||
if "%@eval[2+2]" == "4" goto 4NT_args
|
||||
|
47
lib/client/build.gradle
Normal file
47
lib/client/build.gradle
Normal file
@ -0,0 +1,47 @@
|
||||
apply plugin: 'com.android.library'
|
||||
apply plugin: 'witness'
|
||||
|
||||
android {
|
||||
compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION as String)
|
||||
buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION as String
|
||||
|
||||
defaultConfig {
|
||||
minSdkVersion 9
|
||||
targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION as String)
|
||||
}
|
||||
buildTypes {
|
||||
release {
|
||||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
|
||||
}
|
||||
}
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_7
|
||||
targetCompatibility JavaVersion.VERSION_1_7
|
||||
}
|
||||
lintOptions {
|
||||
abortOnError false
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compile 'net.i2p:i2p:0.9.26'
|
||||
compile 'net.i2p.client:streaming:0.9.26'
|
||||
// No direct dependencies on the helper lib, but this ensures consistent library behavior
|
||||
compile project(':lib:helper')
|
||||
compile 'com.android.support:support-v4:23.4.0'
|
||||
|
||||
testCompile 'junit:junit:4.12'
|
||||
testCompile 'org.mockito:mockito-core:1.9.5'
|
||||
}
|
||||
|
||||
dependencyVerification {
|
||||
verify = [
|
||||
'com.android.support:support-v4:a0d002465c0f611eedaaef2b2530707d2e9fb3a5c7ed66f53c556a12f714f43a',
|
||||
'net.i2p:i2p:5e0f5efa8849e2abe72efaf1530bdf4a090717d49acfdfbe92911a14d4b4e511',
|
||||
'net.i2p.client:mstreaming:1f343a640f79707f6652bbf344f65b42215ae3f7a221a3ee8ddd70ff59e812ae',
|
||||
'net.i2p.client:streaming:5add7390de089f3c3c4f4005f0daa83014418416e890ed6c475e15cef51ba3c7',
|
||||
]
|
||||
}
|
||||
|
||||
apply from: "${project.rootDir}/gradle/maven-push.gradle"
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user