mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-12 10:49:06 +01:00
Compare commits
2 Commits
fix-screen
...
client-ver
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
72136cc627 | ||
|
|
411ace13aa |
6
.idea/codeStyles/Project.xml
generated
6
.idea/codeStyles/Project.xml
generated
@@ -28,11 +28,15 @@
|
|||||||
<option name="JD_ALIGN_EXCEPTION_COMMENTS" value="false" />
|
<option name="JD_ALIGN_EXCEPTION_COMMENTS" value="false" />
|
||||||
</JavaCodeStyleSettings>
|
</JavaCodeStyleSettings>
|
||||||
<JetCodeStyleSettings>
|
<JetCodeStyleSettings>
|
||||||
|
<option name="PACKAGES_TO_USE_STAR_IMPORTS">
|
||||||
|
<value />
|
||||||
|
</option>
|
||||||
|
<option name="NAME_COUNT_TO_USE_STAR_IMPORT" value="2147483647" />
|
||||||
|
<option name="NAME_COUNT_TO_USE_STAR_IMPORT_FOR_MEMBERS" value="2147483647" />
|
||||||
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
|
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
|
||||||
</JetCodeStyleSettings>
|
</JetCodeStyleSettings>
|
||||||
<codeStyleSettings language="Groovy">
|
<codeStyleSettings language="Groovy">
|
||||||
<indentOptions>
|
<indentOptions>
|
||||||
<option name="CONTINUATION_INDENT_SIZE" value="4" />
|
|
||||||
<option name="USE_TAB_CHARACTER" value="true" />
|
<option name="USE_TAB_CHARACTER" value="true" />
|
||||||
<option name="SMART_TABS" value="true" />
|
<option name="SMART_TABS" value="true" />
|
||||||
</indentOptions>
|
</indentOptions>
|
||||||
|
|||||||
10
README.md
10
README.md
@@ -1,7 +1,7 @@
|
|||||||
# Briar
|
# Briar
|
||||||
Briar is a messaging app designed for activists, journalists, and anyone else who needs a safe, easy and robust way to communicate.
|
Briar is a messaging app designed for activists, journalists, and anyone else who needs a safe, easy and robust way to communicate.
|
||||||
|
|
||||||
Unlike traditional messaging apps, Briar doesn't rely on a central server - messages are synchronized directly between the users' devices.
|
Unlike traditional messaging tools such as email, Twitter or Telegram, Briar doesn't rely on a central server - messages are synchronized directly between the users' devices.
|
||||||
|
|
||||||
If the Internet's down, Briar can sync via Bluetooth or Wi-Fi, keeping information flowing in a crisis. If the Internet's up, Briar can sync via the Tor network, protecting users and their relationships from surveillance.
|
If the Internet's down, Briar can sync via Bluetooth or Wi-Fi, keeping information flowing in a crisis. If the Internet's up, Briar can sync via the Tor network, protecting users and their relationships from surveillance.
|
||||||
|
|
||||||
@@ -14,16 +14,14 @@ You can also [download the APK file](https://briarproject.org/apk) directly from
|
|||||||
our site.
|
our site.
|
||||||
|
|
||||||
## Useful links
|
## Useful links
|
||||||
[Project website](https://briarproject.org/)
|
[briarproject.org](https://briarproject.org/)
|
||||||
|
|
||||||
[Source code](https://code.briarproject.org/briar/briar/tree/master)
|
[Source code](https://code.briarproject.org/briar/briar/tree/master)
|
||||||
|
|
||||||
[User manual](https://briarproject.org/manual/)
|
[Manual](https://briarproject.org/manual/)
|
||||||
|
|
||||||
[Wiki](https://code.briarproject.org/briar/briar/-/wikis/home)
|
[Wiki](https://code.briarproject.org/briar/briar/-/wikis/home)
|
||||||
|
|
||||||
[Privacy policy](https://briarproject.org/privacy)
|
|
||||||
|
|
||||||
## Reproducible builds
|
## Reproducible builds
|
||||||
|
|
||||||
We provide [docker images](https://code.briarproject.org/briar/briar-reproducer#briar-reproducer)
|
We provide [docker images](https://code.briarproject.org/briar/briar-reproducer#briar-reproducer)
|
||||||
@@ -35,5 +33,5 @@ for reproduction.
|
|||||||
|
|
||||||
## Donate
|
## Donate
|
||||||
|
|
||||||
[](https://liberapay.com/Briar/donate)
|
[](https://liberapay.com/Briar/donate) [](https://flattr.com/t/592836/)
|
||||||
Bitcoin and BCH: 1NZCKkUCtJV2U2Y9hDb9uq8S7ksFCFGR6K
|
Bitcoin and BCH: 1NZCKkUCtJV2U2Y9hDb9uq8S7ksFCFGR6K
|
||||||
|
|||||||
@@ -13,8 +13,8 @@ android {
|
|||||||
defaultConfig {
|
defaultConfig {
|
||||||
minSdkVersion 21
|
minSdkVersion 21
|
||||||
targetSdkVersion 33
|
targetSdkVersion 33
|
||||||
versionCode 10508
|
versionCode 10504
|
||||||
versionName "1.5.8"
|
versionName "1.5.4"
|
||||||
consumerProguardFiles 'proguard-rules.txt'
|
consumerProguardFiles 'proguard-rules.txt'
|
||||||
|
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
|
|||||||
@@ -201,7 +201,6 @@ class AndroidLanTcpPlugin extends LanTcpPlugin {
|
|||||||
@Nullable
|
@Nullable
|
||||||
private InetAddress getIpv6AddressForInterface(InetAddress ipv4) {
|
private InetAddress getIpv6AddressForInterface(InetAddress ipv4) {
|
||||||
try {
|
try {
|
||||||
// We may get an NPE from getByInetAddress() on Android 11
|
|
||||||
NetworkInterface iface = NetworkInterface.getByInetAddress(ipv4);
|
NetworkInterface iface = NetworkInterface.getByInetAddress(ipv4);
|
||||||
if (iface == null) return null;
|
if (iface == null) return null;
|
||||||
for (InetAddress addr : list(iface.getInetAddresses())) {
|
for (InetAddress addr : list(iface.getInetAddresses())) {
|
||||||
@@ -209,7 +208,7 @@ class AndroidLanTcpPlugin extends LanTcpPlugin {
|
|||||||
}
|
}
|
||||||
// No suitable address
|
// No suitable address
|
||||||
return null;
|
return null;
|
||||||
} catch (SocketException | NullPointerException e) {
|
} catch (SocketException e) {
|
||||||
logException(LOG, WARNING, e);
|
logException(LOG, WARNING, e);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -64,15 +64,10 @@ public class AndroidUtils {
|
|||||||
}
|
}
|
||||||
// Return the address from settings if it's valid and not fake
|
// Return the address from settings if it's valid and not fake
|
||||||
if (SDK_INT < 33) {
|
if (SDK_INT < 33) {
|
||||||
try {
|
address = Settings.Secure.getString(ctx.getContentResolver(),
|
||||||
address = Settings.Secure.getString(ctx.getContentResolver(),
|
"bluetooth_address");
|
||||||
"bluetooth_address");
|
if (isValidBluetoothAddress(address)) {
|
||||||
if (isValidBluetoothAddress(address)) {
|
return new Pair<>(address, "settings");
|
||||||
return new Pair<>(address, "settings");
|
|
||||||
}
|
|
||||||
} catch (SecurityException e) {
|
|
||||||
// Some custom ROMs throw this exception on SDK_INT < 33.
|
|
||||||
// Fall through
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Try to get the address via reflection
|
// Try to get the address via reflection
|
||||||
|
|||||||
@@ -1,67 +1,67 @@
|
|||||||
dependencyVerification {
|
dependencyVerification {
|
||||||
verify = [
|
verify = [
|
||||||
'androidx.annotation:annotation:1.5.0:annotation-1.5.0.jar:261fb7c0210858500bab66d34354972a75166ab4182add283780b05513d6ec4a',
|
'androidx.annotation:annotation:1.5.0:annotation-1.5.0.jar:261fb7c0210858500bab66d34354972a75166ab4182add283780b05513d6ec4a',
|
||||||
'cglib:cglib:3.2.8:cglib-3.2.8.jar:3f64de999ecc5595dc84ca8ff0879d8a34c8623f9ef3c517a53ed59023fcb9db',
|
'cglib:cglib:3.2.8:cglib-3.2.8.jar:3f64de999ecc5595dc84ca8ff0879d8a34c8623f9ef3c517a53ed59023fcb9db',
|
||||||
'com.google.code.findbugs:annotations:3.0.1:annotations-3.0.1.jar:6b47ff0a6de0ce17cbedc3abb0828ca5bce3009d53ea47b3723ff023c4742f79',
|
'com.google.code.findbugs:annotations:3.0.1:annotations-3.0.1.jar:6b47ff0a6de0ce17cbedc3abb0828ca5bce3009d53ea47b3723ff023c4742f79',
|
||||||
'com.google.code.findbugs:jsr305:3.0.2:jsr305-3.0.2.jar:766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7',
|
'com.google.code.findbugs:jsr305:3.0.2:jsr305-3.0.2.jar:766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7',
|
||||||
'com.google.dagger:dagger-compiler:2.45:dagger-compiler-2.45.jar:5617dfb994537dba5b41f3744a6dd13ec3cd99789c065e0d5c6fa9f21cf7ca25',
|
'com.google.dagger:dagger-compiler:2.45:dagger-compiler-2.45.jar:5617dfb994537dba5b41f3744a6dd13ec3cd99789c065e0d5c6fa9f21cf7ca25',
|
||||||
'com.google.dagger:dagger-producers:2.45:dagger-producers-2.45.jar:a05abb4c3ccf6bb0f056bdcb5ef973898ecf172952ab5948a824aeea6c86ecaa',
|
'com.google.dagger:dagger-producers:2.45:dagger-producers-2.45.jar:a05abb4c3ccf6bb0f056bdcb5ef973898ecf172952ab5948a824aeea6c86ecaa',
|
||||||
'com.google.dagger:dagger-spi:2.45:dagger-spi-2.45.jar:7cd6f0b09d88e64a9c97bc80e544ab8ac8fdee9301754413585a74cf64222b27',
|
'com.google.dagger:dagger-spi:2.45:dagger-spi-2.45.jar:7cd6f0b09d88e64a9c97bc80e544ab8ac8fdee9301754413585a74cf64222b27',
|
||||||
'com.google.dagger:dagger:2.45:dagger-2.45.jar:f011cae7d2c0fb7ea17c34e05bc10e768b1081a5892ad019cf1fdb0e125c49c1',
|
'com.google.dagger:dagger:2.45:dagger-2.45.jar:f011cae7d2c0fb7ea17c34e05bc10e768b1081a5892ad019cf1fdb0e125c49c1',
|
||||||
'com.google.devtools.ksp:symbol-processing-api:1.7.0-1.0.6:symbol-processing-api-1.7.0-1.0.6.jar:adc29417be5ca9ff42118105fea4e36d9ef44987abfc41432309371a60198941',
|
'com.google.devtools.ksp:symbol-processing-api:1.7.0-1.0.6:symbol-processing-api-1.7.0-1.0.6.jar:adc29417be5ca9ff42118105fea4e36d9ef44987abfc41432309371a60198941',
|
||||||
'com.google.errorprone:error_prone_annotations:2.7.1:error_prone_annotations-2.7.1.jar:cd5257c08a246cf8628817ae71cb822be192ef91f6881ca4a3fcff4f1de1cff3',
|
'com.google.errorprone:error_prone_annotations:2.7.1:error_prone_annotations-2.7.1.jar:cd5257c08a246cf8628817ae71cb822be192ef91f6881ca4a3fcff4f1de1cff3',
|
||||||
'com.google.errorprone:javac-shaded:9-dev-r4023-3:javac-shaded-9-dev-r4023-3.jar:65bfccf60986c47fbc17c9ebab0be626afc41741e0a6ec7109e0768817a36f30',
|
'com.google.errorprone:javac-shaded:9-dev-r4023-3:javac-shaded-9-dev-r4023-3.jar:65bfccf60986c47fbc17c9ebab0be626afc41741e0a6ec7109e0768817a36f30',
|
||||||
'com.google.googlejavaformat:google-java-format:1.5:google-java-format-1.5.jar:aa19ad7850fb85178aa22f2fddb163b84d6ce4d0035872f30d4408195ca1144e',
|
'com.google.googlejavaformat:google-java-format:1.5:google-java-format-1.5.jar:aa19ad7850fb85178aa22f2fddb163b84d6ce4d0035872f30d4408195ca1144e',
|
||||||
'com.google.guava:failureaccess:1.0.1:failureaccess-1.0.1.jar:a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26',
|
'com.google.guava:failureaccess:1.0.1:failureaccess-1.0.1.jar:a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26',
|
||||||
'com.google.guava:guava:31.0.1-jre:guava-31.0.1-jre.jar:d5be94d65e87bd219fb3193ad1517baa55a3b88fc91d21cf735826ab5af087b9',
|
'com.google.guava:guava:31.0.1-jre:guava-31.0.1-jre.jar:d5be94d65e87bd219fb3193ad1517baa55a3b88fc91d21cf735826ab5af087b9',
|
||||||
'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava:listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar:b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99',
|
'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava:listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar:b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99',
|
||||||
'com.google.j2objc:j2objc-annotations:1.3:j2objc-annotations-1.3.jar:21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b',
|
'com.google.j2objc:j2objc-annotations:1.3:j2objc-annotations-1.3.jar:21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b',
|
||||||
'com.squareup:javapoet:1.13.0:javapoet-1.13.0.jar:4c7517e848a71b36d069d12bb3bf46a70fd4cda3105d822b0ed2e19c00b69291',
|
'com.squareup:javapoet:1.13.0:javapoet-1.13.0.jar:4c7517e848a71b36d069d12bb3bf46a70fd4cda3105d822b0ed2e19c00b69291',
|
||||||
'com.squareup:kotlinpoet:1.11.0:kotlinpoet-1.11.0.jar:2887ada1ca03dd83baa2758640d87e840d1907564db0ef88d2289c868a980492',
|
'com.squareup:kotlinpoet:1.11.0:kotlinpoet-1.11.0.jar:2887ada1ca03dd83baa2758640d87e840d1907564db0ef88d2289c868a980492',
|
||||||
'javax.annotation:jsr250-api:1.0:jsr250-api-1.0.jar:a1a922d0d9b6d183ed3800dfac01d1e1eb159f0e8c6f94736931c1def54a941f',
|
'javax.annotation:jsr250-api:1.0:jsr250-api-1.0.jar:a1a922d0d9b6d183ed3800dfac01d1e1eb159f0e8c6f94736931c1def54a941f',
|
||||||
'javax.inject:javax.inject:1:javax.inject-1.jar:91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff',
|
'javax.inject:javax.inject:1:javax.inject-1.jar:91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff',
|
||||||
'junit:junit:4.13.2:junit-4.13.2.jar:8e495b634469d64fb8acfa3495a065cbacc8a0fff55ce1e31007be4c16dc57d3',
|
'junit:junit:4.13.2:junit-4.13.2.jar:8e495b634469d64fb8acfa3495a065cbacc8a0fff55ce1e31007be4c16dc57d3',
|
||||||
'net.bytebuddy:byte-buddy:1.9.12:byte-buddy-1.9.12.jar:3688c3d434bebc3edc5516296a2ed0f47b65e451071b4afecad84f902f0efc11',
|
'net.bytebuddy:byte-buddy:1.9.12:byte-buddy-1.9.12.jar:3688c3d434bebc3edc5516296a2ed0f47b65e451071b4afecad84f902f0efc11',
|
||||||
'net.jcip:jcip-annotations:1.0:jcip-annotations-1.0.jar:be5805392060c71474bf6c9a67a099471274d30b83eef84bfc4e0889a4f1dcc0',
|
'net.jcip:jcip-annotations:1.0:jcip-annotations-1.0.jar:be5805392060c71474bf6c9a67a099471274d30b83eef84bfc4e0889a4f1dcc0',
|
||||||
'net.ltgt.gradle.incap:incap:0.2:incap-0.2.jar:b625b9806b0f1e4bc7a2e3457119488de3cd57ea20feedd513db070a573a4ffd',
|
'net.ltgt.gradle.incap:incap:0.2:incap-0.2.jar:b625b9806b0f1e4bc7a2e3457119488de3cd57ea20feedd513db070a573a4ffd',
|
||||||
'org.apache-extras.beanshell:bsh:2.0b6:bsh-2.0b6.jar:a17955976070c0573235ee662f2794a78082758b61accffce8d3f8aedcd91047',
|
'org.apache-extras.beanshell:bsh:2.0b6:bsh-2.0b6.jar:a17955976070c0573235ee662f2794a78082758b61accffce8d3f8aedcd91047',
|
||||||
'org.briarproject:dont-kill-me-lib:0.2.7:dont-kill-me-lib-0.2.7.aar:8a9540941fd927e1c127096a7a9b4aa61ce2f2965d2e24f849be92f9e57213c4',
|
'org.briarproject:dont-kill-me-lib:0.2.7:dont-kill-me-lib-0.2.7.aar:8a9540941fd927e1c127096a7a9b4aa61ce2f2965d2e24f849be92f9e57213c4',
|
||||||
'org.briarproject:jtorctl:0.5:jtorctl-0.5.jar:43f8c7d390169772b9a2c82ab806c8414c136a2a8636c555e22754bb7260793b',
|
'org.briarproject:jtorctl:0.5:jtorctl-0.5.jar:43f8c7d390169772b9a2c82ab806c8414c136a2a8636c555e22754bb7260793b',
|
||||||
'org.briarproject:null-safety:0.1:null-safety-0.1.jar:161760de5e838cb982bafa973df820675d4397098e9a91637a36a306d43ba011',
|
'org.briarproject:null-safety:0.1:null-safety-0.1.jar:161760de5e838cb982bafa973df820675d4397098e9a91637a36a306d43ba011',
|
||||||
'org.briarproject:obfs4proxy-android:0.0.14-tor2:obfs4proxy-android-0.0.14-tor2.jar:a0a93770d6760ce57d9dbd31cc7177687374e00c3361dac22ab75e3b6e0f289e',
|
'org.briarproject:obfs4proxy-android:0.0.14-tor2:obfs4proxy-android-0.0.14-tor2.jar:a0a93770d6760ce57d9dbd31cc7177687374e00c3361dac22ab75e3b6e0f289e',
|
||||||
'org.briarproject:onionwrapper-android:0.0.6:onionwrapper-android-0.0.6.aar:d761854dac454616b3e0ca099b2cd17060365ce4316afe495cc7ae86b6c81d15',
|
'org.briarproject:onionwrapper-android:0.0.4:onionwrapper-android-0.0.4.aar:d761854dac454616b3e0ca099b2cd17060365ce4316afe495cc7ae86b6c81d15',
|
||||||
'org.briarproject:onionwrapper-core:0.0.6:onionwrapper-core-0.0.6.jar:ed316fa600b9efa21f5643447f2e21b4db607889a41d526c03d61dec8d059c16',
|
'org.briarproject:onionwrapper-core:0.0.4:onionwrapper-core-0.0.4.jar:28a01a62e96aa763989a8afc325abd3bee54f8021269f91aa48b247a6e717870',
|
||||||
'org.briarproject:snowflake-android:2.5.1:snowflake-android-2.5.1.jar:88ec81c17b1b6fa884d06839dec0330e328b45c89f88c970a213ce91ca8eac87',
|
'org.briarproject:snowflake-android:2.5.1:snowflake-android-2.5.1.jar:88ec81c17b1b6fa884d06839dec0330e328b45c89f88c970a213ce91ca8eac87',
|
||||||
'org.briarproject:tor-android:0.4.7.15:tor-android-0.4.7.15.jar:992877b28c1181cc10569cad5f84257218f510a4dbea99a455c476b29932dd68',
|
'org.briarproject:tor-android:0.4.7.13-2:tor-android-0.4.7.13-2.jar:453fd463b234a2104edd7f0d02d0649cbb5c5efbe47a76df3828f55a3f90f8b5',
|
||||||
'org.checkerframework:checker-compat-qual:2.5.5:checker-compat-qual-2.5.5.jar:11d134b245e9cacc474514d2d66b5b8618f8039a1465cdc55bbc0b34e0008b7a',
|
'org.checkerframework:checker-compat-qual:2.5.5:checker-compat-qual-2.5.5.jar:11d134b245e9cacc474514d2d66b5b8618f8039a1465cdc55bbc0b34e0008b7a',
|
||||||
'org.checkerframework:checker-qual:3.12.0:checker-qual-3.12.0.jar:ff10785ac2a357ec5de9c293cb982a2cbb605c0309ea4cc1cb9b9bc6dbe7f3cb',
|
'org.checkerframework:checker-qual:3.12.0:checker-qual-3.12.0.jar:ff10785ac2a357ec5de9c293cb982a2cbb605c0309ea4cc1cb9b9bc6dbe7f3cb',
|
||||||
'org.hamcrest:hamcrest-core:2.1:hamcrest-core-2.1.jar:e09109e54a289d88506b9bfec987ddd199f4217c9464132668351b9a4f00bee9',
|
'org.hamcrest:hamcrest-core:2.1:hamcrest-core-2.1.jar:e09109e54a289d88506b9bfec987ddd199f4217c9464132668351b9a4f00bee9',
|
||||||
'org.hamcrest:hamcrest-library:2.1:hamcrest-library-2.1.jar:b7e2b6895b3b679f0e47b6380fda391b225e9b78505db9d8bdde8d3cc8d52a21',
|
'org.hamcrest:hamcrest-library:2.1:hamcrest-library-2.1.jar:b7e2b6895b3b679f0e47b6380fda391b225e9b78505db9d8bdde8d3cc8d52a21',
|
||||||
'org.hamcrest:hamcrest:2.1:hamcrest-2.1.jar:ba93b2e3a562322ba432f0a1b53addcc55cb188253319a020ed77f824e692050',
|
'org.hamcrest:hamcrest:2.1:hamcrest-2.1.jar:ba93b2e3a562322ba432f0a1b53addcc55cb188253319a020ed77f824e692050',
|
||||||
'org.jacoco:org.jacoco.agent:0.8.7:org.jacoco.agent-0.8.7.jar:9cbcc986e0fbe821a78ff1f8f7d5216f200e5eb124e7f6837d1dc4a77b28b143',
|
'org.jacoco:org.jacoco.agent:0.8.7:org.jacoco.agent-0.8.7.jar:9cbcc986e0fbe821a78ff1f8f7d5216f200e5eb124e7f6837d1dc4a77b28b143',
|
||||||
'org.jacoco:org.jacoco.ant:0.8.7:org.jacoco.ant-0.8.7.jar:97ca96a382c3f23a44d8eb4c4e6c3742a30cb8005774a76ced0fc4806ce49605',
|
'org.jacoco:org.jacoco.ant:0.8.7:org.jacoco.ant-0.8.7.jar:97ca96a382c3f23a44d8eb4c4e6c3742a30cb8005774a76ced0fc4806ce49605',
|
||||||
'org.jacoco:org.jacoco.core:0.8.7:org.jacoco.core-0.8.7.jar:ad7739b5fb5969aa1a8aead3d74ed54dc82ed012f1f10f336bd1b96e71c1a13c',
|
'org.jacoco:org.jacoco.core:0.8.7:org.jacoco.core-0.8.7.jar:ad7739b5fb5969aa1a8aead3d74ed54dc82ed012f1f10f336bd1b96e71c1a13c',
|
||||||
'org.jacoco:org.jacoco.report:0.8.7:org.jacoco.report-0.8.7.jar:cc89258623700a6c932592153cb528785876b6da183d5431f97efbba6f020e5b',
|
'org.jacoco:org.jacoco.report:0.8.7:org.jacoco.report-0.8.7.jar:cc89258623700a6c932592153cb528785876b6da183d5431f97efbba6f020e5b',
|
||||||
'org.jetbrains.kotlin:kotlin-reflect:1.6.10:kotlin-reflect-1.6.10.jar:3277ac102ae17aad10a55abec75ff5696c8d109790396434b496e75087854203',
|
'org.jetbrains.kotlin:kotlin-reflect:1.6.10:kotlin-reflect-1.6.10.jar:3277ac102ae17aad10a55abec75ff5696c8d109790396434b496e75087854203',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-common:1.7.0:kotlin-stdlib-common-1.7.0.jar:59c6ff64fe9a6604afce03e8aaa75f83586c6030ac71fb0b34ee7cdefed3618f',
|
'org.jetbrains.kotlin:kotlin-stdlib-common:1.7.0:kotlin-stdlib-common-1.7.0.jar:59c6ff64fe9a6604afce03e8aaa75f83586c6030ac71fb0b34ee7cdefed3618f',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-common:1.8.0:kotlin-stdlib-common-1.8.0.jar:78ef93b59e603cc0fe51def9bd4c037b07cbace3b3b7806d1a490a42bc1f4cb2',
|
'org.jetbrains.kotlin:kotlin-stdlib-common:1.8.0:kotlin-stdlib-common-1.8.0.jar:78ef93b59e603cc0fe51def9bd4c037b07cbace3b3b7806d1a490a42bc1f4cb2',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.0:kotlin-stdlib-jdk7-1.7.0.jar:07e91be9b2ca20672d2bdb7e181b766e73453a2da13492b5ddaee8fa47aea239',
|
'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.0:kotlin-stdlib-jdk7-1.7.0.jar:07e91be9b2ca20672d2bdb7e181b766e73453a2da13492b5ddaee8fa47aea239',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0:kotlin-stdlib-jdk7-1.8.0.jar:4c889d1d9803f5f2eb6c1592a6b7e62369ac7660c9eee15aba16fec059163666',
|
'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0:kotlin-stdlib-jdk7-1.8.0.jar:4c889d1d9803f5f2eb6c1592a6b7e62369ac7660c9eee15aba16fec059163666',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.0:kotlin-stdlib-jdk8-1.7.0.jar:cf058e11db1dfc9944680c8c61b95ac689aaaa8a3eb30bced028100f038f030b',
|
'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.0:kotlin-stdlib-jdk8-1.7.0.jar:cf058e11db1dfc9944680c8c61b95ac689aaaa8a3eb30bced028100f038f030b',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib:1.7.0:kotlin-stdlib-1.7.0.jar:aa88e9625577957f3249a46cb6e166ee09b369e600f7a11d148d16b0a6d87f05',
|
'org.jetbrains.kotlin:kotlin-stdlib:1.7.0:kotlin-stdlib-1.7.0.jar:aa88e9625577957f3249a46cb6e166ee09b369e600f7a11d148d16b0a6d87f05',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib:1.8.0:kotlin-stdlib-1.8.0.jar:c77bef8774640b9fb9d6e217459ff220dae59878beb7d2e4b430506feffc654e',
|
'org.jetbrains.kotlin:kotlin-stdlib:1.8.0:kotlin-stdlib-1.8.0.jar:c77bef8774640b9fb9d6e217459ff220dae59878beb7d2e4b430506feffc654e',
|
||||||
'org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.5.0:kotlinx-metadata-jvm-0.5.0.jar:ca063a96639b08b9eaa0de4d65e899480740a6efbe28ab9a8681a2ced03055a4',
|
'org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.5.0:kotlinx-metadata-jvm-0.5.0.jar:ca063a96639b08b9eaa0de4d65e899480740a6efbe28ab9a8681a2ced03055a4',
|
||||||
'org.jetbrains:annotations:13.0:annotations-13.0.jar:ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478',
|
'org.jetbrains:annotations:13.0:annotations-13.0.jar:ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478',
|
||||||
'org.jmock:jmock-imposters:2.12.0:jmock-imposters-2.12.0.jar:3b836269745a137c9b2347e8d7c2104845b126ef04f012d6bfd94f1a7dea7b09',
|
'org.jmock:jmock-imposters:2.12.0:jmock-imposters-2.12.0.jar:3b836269745a137c9b2347e8d7c2104845b126ef04f012d6bfd94f1a7dea7b09',
|
||||||
'org.jmock:jmock-junit4:2.12.0:jmock-junit4-2.12.0.jar:3233062fc889637c151a24f1ee086bad04321ab7d8264fef279daff0fa27205b',
|
'org.jmock:jmock-junit4:2.12.0:jmock-junit4-2.12.0.jar:3233062fc889637c151a24f1ee086bad04321ab7d8264fef279daff0fa27205b',
|
||||||
'org.jmock:jmock-legacy:2.12.0:jmock-legacy-2.12.0.jar:dea3a9cca653d082e2fe7e40232e982fe03a9984c7d67ceff24f3e03fe580dcd',
|
'org.jmock:jmock-legacy:2.12.0:jmock-legacy-2.12.0.jar:dea3a9cca653d082e2fe7e40232e982fe03a9984c7d67ceff24f3e03fe580dcd',
|
||||||
'org.jmock:jmock-testjar:2.12.0:jmock-testjar-2.12.0.jar:efefbcf6cd294d0e29f0c46eb2a3380d4ca4e1763ff719c69e2f2ac62f564a04',
|
'org.jmock:jmock-testjar:2.12.0:jmock-testjar-2.12.0.jar:efefbcf6cd294d0e29f0c46eb2a3380d4ca4e1763ff719c69e2f2ac62f564a04',
|
||||||
'org.jmock:jmock:2.12.0:jmock-2.12.0.jar:266d07314c0cd343c46ff8a55601272de8cf406807caf55e6f313295f83d10be',
|
'org.jmock:jmock:2.12.0:jmock-2.12.0.jar:266d07314c0cd343c46ff8a55601272de8cf406807caf55e6f313295f83d10be',
|
||||||
'org.objenesis:objenesis:3.0.1:objenesis-3.0.1.jar:7a8ff780b9ff48415d7c705f60030b0acaa616e7f823c98eede3b63508d4e984',
|
'org.objenesis:objenesis:3.0.1:objenesis-3.0.1.jar:7a8ff780b9ff48415d7c705f60030b0acaa616e7f823c98eede3b63508d4e984',
|
||||||
'org.ow2.asm:asm-analysis:9.1:asm-analysis-9.1.jar:81a88041b1b8beda5a8a99646098046c48709538270c49def68abff25ac3be34',
|
'org.ow2.asm:asm-analysis:9.1:asm-analysis-9.1.jar:81a88041b1b8beda5a8a99646098046c48709538270c49def68abff25ac3be34',
|
||||||
'org.ow2.asm:asm-commons:9.1:asm-commons-9.1.jar:afcb26dc1fc12c0c4a99ada670908dd82e18dfc488caf5ee92546996b470c00c',
|
'org.ow2.asm:asm-commons:9.1:asm-commons-9.1.jar:afcb26dc1fc12c0c4a99ada670908dd82e18dfc488caf5ee92546996b470c00c',
|
||||||
'org.ow2.asm:asm-tree:9.1:asm-tree-9.1.jar:fd00afa49e9595d7646205b09cecb4a776a8ff0ba06f2d59b8f7bf9c704b4a73',
|
'org.ow2.asm:asm-tree:9.1:asm-tree-9.1.jar:fd00afa49e9595d7646205b09cecb4a776a8ff0ba06f2d59b8f7bf9c704b4a73',
|
||||||
'org.ow2.asm:asm:7.1:asm-7.1.jar:4ab2fa2b6d2cc9ccb1eaa05ea329c407b47b13ed2915f62f8c4b8cc96258d4de',
|
'org.ow2.asm:asm:7.1:asm-7.1.jar:4ab2fa2b6d2cc9ccb1eaa05ea329c407b47b13ed2915f62f8c4b8cc96258d4de',
|
||||||
'org.ow2.asm:asm:9.1:asm-9.1.jar:cda4de455fab48ff0bcb7c48b4639447d4de859a7afc30a094a986f0936beba2',
|
'org.ow2.asm:asm:9.1:asm-9.1.jar:cda4de455fab48ff0bcb7c48b4639447d4de859a7afc30a094a986f0936beba2',
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,12 +31,6 @@ public abstract class BdfMessageValidator implements MessageValidator {
|
|||||||
protected final Clock clock;
|
protected final Clock clock;
|
||||||
protected final boolean canonical;
|
protected final boolean canonical;
|
||||||
|
|
||||||
/**
|
|
||||||
* Transitional alternative to
|
|
||||||
* {@link #BdfMessageValidator(ClientHelper, MetadataEncoder, Clock)} that
|
|
||||||
* accepts messages in non-canonical form, for backward compatibility.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
protected BdfMessageValidator(ClientHelper clientHelper,
|
protected BdfMessageValidator(ClientHelper clientHelper,
|
||||||
MetadataEncoder metadataEncoder, Clock clock, boolean canonical) {
|
MetadataEncoder metadataEncoder, Clock clock, boolean canonical) {
|
||||||
this.clientHelper = clientHelper;
|
this.clientHelper = clientHelper;
|
||||||
|
|||||||
@@ -49,15 +49,6 @@ public interface ClientHelper {
|
|||||||
BdfList getMessageAsList(Transaction txn, MessageId m) throws DbException,
|
BdfList getMessageAsList(Transaction txn, MessageId m) throws DbException,
|
||||||
FormatException;
|
FormatException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Transitional alternative to
|
|
||||||
* {@link #getMessageAsList(Transaction, MessageId)} that allows the
|
|
||||||
* message to be in non-canonical form, for backward compatibility.
|
|
||||||
*
|
|
||||||
* @param canonical True if the message must be in canonical form (a
|
|
||||||
* {@link FormatException} will be thrown if it's not.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
BdfList getMessageAsList(Transaction txn, MessageId m, boolean canonical)
|
BdfList getMessageAsList(Transaction txn, MessageId m, boolean canonical)
|
||||||
throws DbException, FormatException;
|
throws DbException, FormatException;
|
||||||
|
|
||||||
@@ -118,14 +109,6 @@ public interface ClientHelper {
|
|||||||
|
|
||||||
BdfList toList(Message m) throws FormatException;
|
BdfList toList(Message m) throws FormatException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Transitional alternative to {@link #toList(Message)} that allows the
|
|
||||||
* message to be in non-canonical form, for backward compatibility.
|
|
||||||
*
|
|
||||||
* @param canonical True if the message must be in canonical form (a
|
|
||||||
* {@link FormatException} will be thrown if it's not.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
BdfList toList(Message m, boolean canonical) throws FormatException;
|
BdfList toList(Message m, boolean canonical) throws FormatException;
|
||||||
|
|
||||||
BdfList toList(Author a);
|
BdfList toList(Author a);
|
||||||
|
|||||||
@@ -10,27 +10,6 @@ import java.util.TreeMap;
|
|||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import javax.annotation.concurrent.NotThreadSafe;
|
import javax.annotation.concurrent.NotThreadSafe;
|
||||||
|
|
||||||
/**
|
|
||||||
* A BDF dictionary contains zero or more key-value pairs, where the keys
|
|
||||||
* are strings and the values are BDF objects, which may be primitive types
|
|
||||||
* (null, boolean, integer, float, string, raw) or nested containers (list,
|
|
||||||
* dictionary).
|
|
||||||
* <p>
|
|
||||||
* Note that a BDF integer has the same range as a Java long, while a BDF
|
|
||||||
* float has the same range as a Java double. Method names in this class
|
|
||||||
* correspond to the Java types.
|
|
||||||
* <p>
|
|
||||||
* The getX() methods throw {@link FormatException} if the specified key is
|
|
||||||
* absent, the value is null, or the value does not have the requested type.
|
|
||||||
* <p>
|
|
||||||
* The getOptionalX() methods return null if the specified key is absent or
|
|
||||||
* the value is null, or throw {@link FormatException} if the value does not
|
|
||||||
* have the requested type.
|
|
||||||
* <p>
|
|
||||||
* The getX() methods that take a default value return the default value if
|
|
||||||
* the specified key is absent or the value is null, or throw
|
|
||||||
* {@link FormatException} if the value does not have the requested type.
|
|
||||||
*/
|
|
||||||
@NotThreadSafe
|
@NotThreadSafe
|
||||||
public final class BdfDictionary extends TreeMap<String, Object> {
|
public final class BdfDictionary extends TreeMap<String, Object> {
|
||||||
|
|
||||||
@@ -101,33 +80,12 @@ public final class BdfDictionary extends TreeMap<String, Object> {
|
|||||||
return value == null ? defaultValue : value;
|
return value == null ? defaultValue : value;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the integer with the specified key.
|
|
||||||
* <p>
|
|
||||||
* This method should be used in preference to
|
|
||||||
* <code>getLong(key).intValue()</code> as it checks for
|
|
||||||
* overflow/underflow.
|
|
||||||
*
|
|
||||||
* @throws FormatException if there is no value at the specified key,
|
|
||||||
* or if the value is null or cannot be represented as a Java int.
|
|
||||||
*/
|
|
||||||
public Integer getInt(String key) throws FormatException {
|
public Integer getInt(String key) throws FormatException {
|
||||||
Integer value = getOptionalInt(key);
|
Integer value = getOptionalInt(key);
|
||||||
if (value == null) throw new FormatException();
|
if (value == null) throw new FormatException();
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the integer with the specified key, or null if the key is
|
|
||||||
* absent or the value is null.
|
|
||||||
* <p>
|
|
||||||
* This method should be used in preference to
|
|
||||||
* <code>getOptionalLong(key).intValue()</code> as it checks for
|
|
||||||
* overflow/underflow.
|
|
||||||
*
|
|
||||||
* @throws FormatException if the value at the specified key is not null
|
|
||||||
* and cannot be represented as a Java int.
|
|
||||||
*/
|
|
||||||
@Nullable
|
@Nullable
|
||||||
public Integer getOptionalInt(String key) throws FormatException {
|
public Integer getOptionalInt(String key) throws FormatException {
|
||||||
Long value = getOptionalLong(key);
|
Long value = getOptionalLong(key);
|
||||||
@@ -138,17 +96,6 @@ public final class BdfDictionary extends TreeMap<String, Object> {
|
|||||||
return value.intValue();
|
return value.intValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the integer with the specified key, or the given default
|
|
||||||
* value if the key is absent or the value is null.
|
|
||||||
* <p>
|
|
||||||
* This method should be used in preference to
|
|
||||||
* <code>getLong(key, defaultValue).intValue()</code> as it checks for
|
|
||||||
* overflow/underflow.
|
|
||||||
*
|
|
||||||
* @throws FormatException if the value at the specified key is not null
|
|
||||||
* and cannot be represented as a Java int.
|
|
||||||
*/
|
|
||||||
public Integer getInt(String key, Integer defaultValue)
|
public Integer getInt(String key, Integer defaultValue)
|
||||||
throws FormatException {
|
throws FormatException {
|
||||||
Integer value = getOptionalInt(key);
|
Integer value = getOptionalInt(key);
|
||||||
|
|||||||
@@ -6,11 +6,6 @@ import java.util.Map.Entry;
|
|||||||
|
|
||||||
import javax.annotation.concurrent.Immutable;
|
import javax.annotation.concurrent.Immutable;
|
||||||
|
|
||||||
/**
|
|
||||||
* A convenience class for building {@link BdfDictionary BdfDictionaries}
|
|
||||||
* via the {@link BdfDictionary#of(Entry[]) factory method}. Entries in
|
|
||||||
* BdfDictionaries do not have to be BdfEntries.
|
|
||||||
*/
|
|
||||||
@Immutable
|
@Immutable
|
||||||
@NotNullByDefault
|
@NotNullByDefault
|
||||||
public class BdfEntry implements Entry<String, Object>, Comparable<BdfEntry> {
|
public class BdfEntry implements Entry<String, Object>, Comparable<BdfEntry> {
|
||||||
|
|||||||
@@ -12,29 +12,6 @@ import javax.annotation.concurrent.NotThreadSafe;
|
|||||||
|
|
||||||
import static org.briarproject.bramble.api.data.BdfDictionary.NULL_VALUE;
|
import static org.briarproject.bramble.api.data.BdfDictionary.NULL_VALUE;
|
||||||
|
|
||||||
/**
|
|
||||||
* A BDF list contains zero or more BDF objects, which may be primitive types
|
|
||||||
* (null, boolean, integer, float, string, raw) or nested containers (list,
|
|
||||||
* dictionary).
|
|
||||||
* <p>
|
|
||||||
* Note that a BDF integer has the same range as a Java long, while a BDF
|
|
||||||
* float has the same range as a Java double. Method names in this class
|
|
||||||
* correspond to the Java types.
|
|
||||||
* <p>
|
|
||||||
* The getX() methods throw {@link FormatException} if the object at the
|
|
||||||
* specified index is null or does not have the requested type.
|
|
||||||
* <p>
|
|
||||||
* The getOptionalX() methods return null if the object at the specified
|
|
||||||
* index is null, or throw {@link FormatException} if the object does not
|
|
||||||
* have the requested type.
|
|
||||||
* <p>
|
|
||||||
* The getX() methods that take a default value return the default value if
|
|
||||||
* the object at the specified index is null, or throw
|
|
||||||
* {@link FormatException} if the object does not have the requested type.
|
|
||||||
* <p>
|
|
||||||
* All of the getters throw {@link FormatException} if the specified index is
|
|
||||||
* out of range.
|
|
||||||
*/
|
|
||||||
@NotThreadSafe
|
@NotThreadSafe
|
||||||
public final class BdfList extends ArrayList<Object> {
|
public final class BdfList extends ArrayList<Object> {
|
||||||
|
|
||||||
@@ -105,34 +82,12 @@ public final class BdfList extends ArrayList<Object> {
|
|||||||
return value == null ? defaultValue : value;
|
return value == null ? defaultValue : value;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the integer at the specified index.
|
|
||||||
* <p>
|
|
||||||
* This method should be used in preference to
|
|
||||||
* <code>getLong(index).intValue()</code> as it checks for
|
|
||||||
* overflow/underflow.
|
|
||||||
*
|
|
||||||
* @throws FormatException if the index is out of range, or if the
|
|
||||||
* value at the specified index is null or cannot be represented as a
|
|
||||||
* Java int.
|
|
||||||
*/
|
|
||||||
public Integer getInt(int index) throws FormatException {
|
public Integer getInt(int index) throws FormatException {
|
||||||
Integer value = getOptionalInt(index);
|
Integer value = getOptionalInt(index);
|
||||||
if (value == null) throw new FormatException();
|
if (value == null) throw new FormatException();
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the integer at the specified index, or null if the object at
|
|
||||||
* the specified index is null.
|
|
||||||
* <p>
|
|
||||||
* This method should be used in preference to
|
|
||||||
* <code>getOptionalLong(index).intValue()</code> as it checks for
|
|
||||||
* overflow/underflow.
|
|
||||||
*
|
|
||||||
* @throws FormatException if the index is out of range, or if the value
|
|
||||||
* at the specified index cannot be represented as a Java int.
|
|
||||||
*/
|
|
||||||
@Nullable
|
@Nullable
|
||||||
public Integer getOptionalInt(int index) throws FormatException {
|
public Integer getOptionalInt(int index) throws FormatException {
|
||||||
Long value = getOptionalLong(index);
|
Long value = getOptionalLong(index);
|
||||||
@@ -143,17 +98,6 @@ public final class BdfList extends ArrayList<Object> {
|
|||||||
return value.intValue();
|
return value.intValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the integer at the specified index, or the given default value
|
|
||||||
* if the object at the specified index is null.
|
|
||||||
* <p>
|
|
||||||
* This method should be used in preference to
|
|
||||||
* <code>getLong(index, defaultValue).intValue()</code> as it checks for
|
|
||||||
* overflow/underflow.
|
|
||||||
*
|
|
||||||
* @throws FormatException if the index is out of range, or if the value
|
|
||||||
* at the specified index cannot be represented as a Java int.
|
|
||||||
*/
|
|
||||||
public Integer getInt(int index, Integer defaultValue)
|
public Integer getInt(int index, Integer defaultValue)
|
||||||
throws FormatException {
|
throws FormatException {
|
||||||
Integer value = getOptionalInt(index);
|
Integer value = getOptionalInt(index);
|
||||||
|
|||||||
@@ -1,178 +1,70 @@
|
|||||||
package org.briarproject.bramble.api.data;
|
package org.briarproject.bramble.api.data;
|
||||||
|
|
||||||
import org.briarproject.bramble.api.FormatException;
|
|
||||||
import org.briarproject.nullsafety.NotNullByDefault;
|
import org.briarproject.nullsafety.NotNullByDefault;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* An interface for reading BDF objects from an input stream.
|
|
||||||
* <p>
|
|
||||||
* The readX() methods throw {@link FormatException} if the data is not in
|
|
||||||
* canonical form, but the hasX() and skipX() methods do not check for
|
|
||||||
* canonical form.
|
|
||||||
*/
|
|
||||||
@NotNullByDefault
|
@NotNullByDefault
|
||||||
public interface BdfReader {
|
public interface BdfReader {
|
||||||
|
|
||||||
int DEFAULT_NESTED_LIMIT = 5;
|
int DEFAULT_NESTED_LIMIT = 5;
|
||||||
int DEFAULT_MAX_BUFFER_SIZE = 64 * 1024;
|
int DEFAULT_MAX_BUFFER_SIZE = 64 * 1024;
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns true if the reader has reached the end of its input stream.
|
|
||||||
*/
|
|
||||||
boolean eof() throws IOException;
|
boolean eof() throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Closes the reader's input stream.
|
|
||||||
*/
|
|
||||||
void close() throws IOException;
|
void close() throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns true if the next object in the input is a BDF null.
|
|
||||||
*/
|
|
||||||
boolean hasNull() throws IOException;
|
boolean hasNull() throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Reads a BDF null from the input.
|
|
||||||
*/
|
|
||||||
void readNull() throws IOException;
|
void readNull() throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Skips over a BDF null.
|
|
||||||
*/
|
|
||||||
void skipNull() throws IOException;
|
void skipNull() throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns true if the next object in the input is a BDF boolean.
|
|
||||||
*/
|
|
||||||
boolean hasBoolean() throws IOException;
|
boolean hasBoolean() throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Reads a BDF boolean from the input and returns it.
|
|
||||||
*/
|
|
||||||
boolean readBoolean() throws IOException;
|
boolean readBoolean() throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Skips over a BDF boolean.
|
|
||||||
*/
|
|
||||||
void skipBoolean() throws IOException;
|
void skipBoolean() throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns true if the next object in the input is a BDF integer, which
|
|
||||||
* has the same range as a Java long.
|
|
||||||
*/
|
|
||||||
boolean hasLong() throws IOException;
|
boolean hasLong() throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Reads a BDF integer from the input and returns it as a Java long.
|
|
||||||
*/
|
|
||||||
long readLong() throws IOException;
|
long readLong() throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Skips over a BDF integer.
|
|
||||||
*/
|
|
||||||
void skipLong() throws IOException;
|
void skipLong() throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns true if the next object in the input is a BDF integer and the
|
|
||||||
* value would fit within the range of a Java int.
|
|
||||||
*/
|
|
||||||
boolean hasInt() throws IOException;
|
boolean hasInt() throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Reads a BDF integer from the input and returns it as a Java int.
|
|
||||||
*
|
|
||||||
* @throws FormatException if the value exceeds the range of a Java int.
|
|
||||||
*/
|
|
||||||
int readInt() throws IOException;
|
int readInt() throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Skips over a BDF integer.
|
|
||||||
*
|
|
||||||
* @throws FormatException if the value exceeds the range of a Java int.
|
|
||||||
*/
|
|
||||||
void skipInt() throws IOException;
|
void skipInt() throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns true if the next object in the input is a BDF float, which has
|
|
||||||
* the same range as a Java double.
|
|
||||||
*/
|
|
||||||
boolean hasDouble() throws IOException;
|
boolean hasDouble() throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Reads a BDF float from the input and returns it as a Java double.
|
|
||||||
*/
|
|
||||||
double readDouble() throws IOException;
|
double readDouble() throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Skips over a BDF float.
|
|
||||||
*/
|
|
||||||
void skipDouble() throws IOException;
|
void skipDouble() throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns true if the next object in the input is a BDF string.
|
|
||||||
*/
|
|
||||||
boolean hasString() throws IOException;
|
boolean hasString() throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Reads a BDF string from the input.
|
|
||||||
*
|
|
||||||
* @throws IOException If the string is not valid UTF-8.
|
|
||||||
*/
|
|
||||||
String readString() throws IOException;
|
String readString() throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Skips over a BDF string without checking whether it is valid UTF-8.
|
|
||||||
*/
|
|
||||||
void skipString() throws IOException;
|
void skipString() throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns true if the next object in the input is a BDF raw.
|
|
||||||
*/
|
|
||||||
boolean hasRaw() throws IOException;
|
boolean hasRaw() throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Reads a BDF raw from the input and returns it as a byte array.
|
|
||||||
*/
|
|
||||||
byte[] readRaw() throws IOException;
|
byte[] readRaw() throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Skips over a BDF raw.
|
|
||||||
*/
|
|
||||||
void skipRaw() throws IOException;
|
void skipRaw() throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns true if the next object in the input is a BDF list.
|
|
||||||
*/
|
|
||||||
boolean hasList() throws IOException;
|
boolean hasList() throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Reads a BDF list from the input and returns it. The list's contents
|
|
||||||
* are parsed and validated.
|
|
||||||
*/
|
|
||||||
BdfList readList() throws IOException;
|
BdfList readList() throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Skips over a BDF list. The list's contents are parsed (to determine
|
|
||||||
* their length) but not validated.
|
|
||||||
*/
|
|
||||||
void skipList() throws IOException;
|
void skipList() throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns true if the next object in the input is a BDF dictionary.
|
|
||||||
*/
|
|
||||||
boolean hasDictionary() throws IOException;
|
boolean hasDictionary() throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Reads a BDF dictionary from the input and returns it. The dictionary's
|
|
||||||
* contents are parsed and validated.
|
|
||||||
*/
|
|
||||||
BdfDictionary readDictionary() throws IOException;
|
BdfDictionary readDictionary() throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Skips over a BDF dictionary. The dictionary's contents are parsed
|
|
||||||
* (to determine their length) but not validated.
|
|
||||||
*/
|
|
||||||
void skipDictionary() throws IOException;
|
void skipDictionary() throws IOException;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,12 +9,6 @@ public interface BdfReaderFactory {
|
|||||||
|
|
||||||
BdfReader createReader(InputStream in);
|
BdfReader createReader(InputStream in);
|
||||||
|
|
||||||
/**
|
|
||||||
* Transitional alternative to {@link #createReader(InputStream)} that
|
|
||||||
* can create a reader that accepts non-canonical input, for backward
|
|
||||||
* compatibility.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
BdfReader createReader(InputStream in, boolean canonical);
|
BdfReader createReader(InputStream in, boolean canonical);
|
||||||
|
|
||||||
BdfReader createReader(InputStream in, int nestedLimit,
|
BdfReader createReader(InputStream in, int nestedLimit,
|
||||||
|
|||||||
@@ -1,74 +1,28 @@
|
|||||||
package org.briarproject.bramble.api.data;
|
package org.briarproject.bramble.api.data;
|
||||||
|
|
||||||
import org.briarproject.bramble.api.FormatException;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
|
||||||
* An interface for writing BDF objects to an output stream. The BDF output
|
|
||||||
* is in canonical form, ie integers and length fields are represented using
|
|
||||||
* the minimum number of bytes and dictionary keys are unique and sorted in
|
|
||||||
* lexicographic order.
|
|
||||||
*/
|
|
||||||
public interface BdfWriter {
|
public interface BdfWriter {
|
||||||
|
|
||||||
/**
|
|
||||||
* Flushes the writer's output stream.
|
|
||||||
*/
|
|
||||||
void flush() throws IOException;
|
void flush() throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Closes the writer's output stream.
|
|
||||||
*/
|
|
||||||
void close() throws IOException;
|
void close() throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Writes a BDF null to the output stream.
|
|
||||||
*/
|
|
||||||
void writeNull() throws IOException;
|
void writeNull() throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Writes a BDF boolean to the output stream.
|
|
||||||
*/
|
|
||||||
void writeBoolean(boolean b) throws IOException;
|
void writeBoolean(boolean b) throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Writes a BDF integer (which has the same range as a Java long) to the
|
|
||||||
* output stream.
|
|
||||||
*/
|
|
||||||
void writeLong(long l) throws IOException;
|
void writeLong(long l) throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Writes a BDF float (which has the same range as a Java double) to the
|
|
||||||
* output stream.
|
|
||||||
*/
|
|
||||||
void writeDouble(double d) throws IOException;
|
void writeDouble(double d) throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Writes a BDF string (which uses UTF-8 encoding) to the output stream.
|
|
||||||
*/
|
|
||||||
void writeString(String s) throws IOException;
|
void writeString(String s) throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Writes a BDF raw to the output stream.
|
|
||||||
*/
|
|
||||||
void writeRaw(byte[] b) throws IOException;
|
void writeRaw(byte[] b) throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Writes a BDF list to the output stream.
|
|
||||||
*
|
|
||||||
* @throws FormatException if the contents of the given collection cannot
|
|
||||||
* be represented as (nested) BDF objects.
|
|
||||||
*/
|
|
||||||
void writeList(Collection<?> c) throws IOException;
|
void writeList(Collection<?> c) throws IOException;
|
||||||
|
|
||||||
/**
|
|
||||||
* Writes a BDF dictionary to the output stream.
|
|
||||||
*
|
|
||||||
* @throws FormatException if the contents of the given map cannot be
|
|
||||||
* represented as (nested) BDF objects.
|
|
||||||
*/
|
|
||||||
void writeDictionary(Map<?, ?> m) throws IOException;
|
void writeDictionary(Map<?, ?> m) throws IOException;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,29 +1,29 @@
|
|||||||
dependencyVerification {
|
dependencyVerification {
|
||||||
verify = [
|
verify = [
|
||||||
'cglib:cglib:3.2.8:cglib-3.2.8.jar:3f64de999ecc5595dc84ca8ff0879d8a34c8623f9ef3c517a53ed59023fcb9db',
|
'cglib:cglib:3.2.8:cglib-3.2.8.jar:3f64de999ecc5595dc84ca8ff0879d8a34c8623f9ef3c517a53ed59023fcb9db',
|
||||||
'com.fasterxml.jackson.core:jackson-annotations:2.13.4:jackson-annotations-2.13.4.jar:ac5b27a634942391ca113850ee7db01df1499a240174021263501c05fc653b44',
|
'com.fasterxml.jackson.core:jackson-annotations:2.13.4:jackson-annotations-2.13.4.jar:ac5b27a634942391ca113850ee7db01df1499a240174021263501c05fc653b44',
|
||||||
'com.google.code.findbugs:annotations:3.0.1:annotations-3.0.1.jar:6b47ff0a6de0ce17cbedc3abb0828ca5bce3009d53ea47b3723ff023c4742f79',
|
'com.google.code.findbugs:annotations:3.0.1:annotations-3.0.1.jar:6b47ff0a6de0ce17cbedc3abb0828ca5bce3009d53ea47b3723ff023c4742f79',
|
||||||
'com.google.code.findbugs:jsr305:3.0.2:jsr305-3.0.2.jar:766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7',
|
'com.google.code.findbugs:jsr305:3.0.2:jsr305-3.0.2.jar:766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7',
|
||||||
'com.google.dagger:dagger:2.45:dagger-2.45.jar:f011cae7d2c0fb7ea17c34e05bc10e768b1081a5892ad019cf1fdb0e125c49c1',
|
'com.google.dagger:dagger:2.45:dagger-2.45.jar:f011cae7d2c0fb7ea17c34e05bc10e768b1081a5892ad019cf1fdb0e125c49c1',
|
||||||
'javax.inject:javax.inject:1:javax.inject-1.jar:91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff',
|
'javax.inject:javax.inject:1:javax.inject-1.jar:91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff',
|
||||||
'junit:junit:4.13.2:junit-4.13.2.jar:8e495b634469d64fb8acfa3495a065cbacc8a0fff55ce1e31007be4c16dc57d3',
|
'junit:junit:4.13.2:junit-4.13.2.jar:8e495b634469d64fb8acfa3495a065cbacc8a0fff55ce1e31007be4c16dc57d3',
|
||||||
'net.bytebuddy:byte-buddy:1.9.12:byte-buddy-1.9.12.jar:3688c3d434bebc3edc5516296a2ed0f47b65e451071b4afecad84f902f0efc11',
|
'net.bytebuddy:byte-buddy:1.9.12:byte-buddy-1.9.12.jar:3688c3d434bebc3edc5516296a2ed0f47b65e451071b4afecad84f902f0efc11',
|
||||||
'net.jcip:jcip-annotations:1.0:jcip-annotations-1.0.jar:be5805392060c71474bf6c9a67a099471274d30b83eef84bfc4e0889a4f1dcc0',
|
'net.jcip:jcip-annotations:1.0:jcip-annotations-1.0.jar:be5805392060c71474bf6c9a67a099471274d30b83eef84bfc4e0889a4f1dcc0',
|
||||||
'org.apache-extras.beanshell:bsh:2.0b6:bsh-2.0b6.jar:a17955976070c0573235ee662f2794a78082758b61accffce8d3f8aedcd91047',
|
'org.apache-extras.beanshell:bsh:2.0b6:bsh-2.0b6.jar:a17955976070c0573235ee662f2794a78082758b61accffce8d3f8aedcd91047',
|
||||||
'org.briarproject:null-safety:0.1:null-safety-0.1.jar:161760de5e838cb982bafa973df820675d4397098e9a91637a36a306d43ba011',
|
'org.briarproject:null-safety:0.1:null-safety-0.1.jar:161760de5e838cb982bafa973df820675d4397098e9a91637a36a306d43ba011',
|
||||||
'org.codehaus.mojo.signature:java16:1.1:java16-1.1.signature:53799223a2c98dba2d0add810bed76315460df285c69e4f397ae6098f87dd619',
|
'org.codehaus.mojo.signature:java16:1.1:java16-1.1.signature:53799223a2c98dba2d0add810bed76315460df285c69e4f397ae6098f87dd619',
|
||||||
'org.codehaus.mojo:animal-sniffer-ant-tasks:1.22:animal-sniffer-ant-tasks-1.22.jar:3f6afeb3e09301d2d7179ed1db21e3ad8846c1e38415ad832a395138ae3f4218',
|
'org.codehaus.mojo:animal-sniffer-ant-tasks:1.22:animal-sniffer-ant-tasks-1.22.jar:3f6afeb3e09301d2d7179ed1db21e3ad8846c1e38415ad832a395138ae3f4218',
|
||||||
'org.codehaus.mojo:animal-sniffer:1.22:animal-sniffer-1.22.jar:f18c11a25bdd8b520b9c6a28cbb6f33007c812ab0051b6be3f0778e660aa501c',
|
'org.codehaus.mojo:animal-sniffer:1.22:animal-sniffer-1.22.jar:f18c11a25bdd8b520b9c6a28cbb6f33007c812ab0051b6be3f0778e660aa501c',
|
||||||
'org.hamcrest:hamcrest-core:2.1:hamcrest-core-2.1.jar:e09109e54a289d88506b9bfec987ddd199f4217c9464132668351b9a4f00bee9',
|
'org.hamcrest:hamcrest-core:2.1:hamcrest-core-2.1.jar:e09109e54a289d88506b9bfec987ddd199f4217c9464132668351b9a4f00bee9',
|
||||||
'org.hamcrest:hamcrest-library:2.1:hamcrest-library-2.1.jar:b7e2b6895b3b679f0e47b6380fda391b225e9b78505db9d8bdde8d3cc8d52a21',
|
'org.hamcrest:hamcrest-library:2.1:hamcrest-library-2.1.jar:b7e2b6895b3b679f0e47b6380fda391b225e9b78505db9d8bdde8d3cc8d52a21',
|
||||||
'org.hamcrest:hamcrest:2.1:hamcrest-2.1.jar:ba93b2e3a562322ba432f0a1b53addcc55cb188253319a020ed77f824e692050',
|
'org.hamcrest:hamcrest:2.1:hamcrest-2.1.jar:ba93b2e3a562322ba432f0a1b53addcc55cb188253319a020ed77f824e692050',
|
||||||
'org.jmock:jmock-imposters:2.12.0:jmock-imposters-2.12.0.jar:3b836269745a137c9b2347e8d7c2104845b126ef04f012d6bfd94f1a7dea7b09',
|
'org.jmock:jmock-imposters:2.12.0:jmock-imposters-2.12.0.jar:3b836269745a137c9b2347e8d7c2104845b126ef04f012d6bfd94f1a7dea7b09',
|
||||||
'org.jmock:jmock-junit4:2.12.0:jmock-junit4-2.12.0.jar:3233062fc889637c151a24f1ee086bad04321ab7d8264fef279daff0fa27205b',
|
'org.jmock:jmock-junit4:2.12.0:jmock-junit4-2.12.0.jar:3233062fc889637c151a24f1ee086bad04321ab7d8264fef279daff0fa27205b',
|
||||||
'org.jmock:jmock-legacy:2.12.0:jmock-legacy-2.12.0.jar:dea3a9cca653d082e2fe7e40232e982fe03a9984c7d67ceff24f3e03fe580dcd',
|
'org.jmock:jmock-legacy:2.12.0:jmock-legacy-2.12.0.jar:dea3a9cca653d082e2fe7e40232e982fe03a9984c7d67ceff24f3e03fe580dcd',
|
||||||
'org.jmock:jmock-testjar:2.12.0:jmock-testjar-2.12.0.jar:efefbcf6cd294d0e29f0c46eb2a3380d4ca4e1763ff719c69e2f2ac62f564a04',
|
'org.jmock:jmock-testjar:2.12.0:jmock-testjar-2.12.0.jar:efefbcf6cd294d0e29f0c46eb2a3380d4ca4e1763ff719c69e2f2ac62f564a04',
|
||||||
'org.jmock:jmock:2.12.0:jmock-2.12.0.jar:266d07314c0cd343c46ff8a55601272de8cf406807caf55e6f313295f83d10be',
|
'org.jmock:jmock:2.12.0:jmock-2.12.0.jar:266d07314c0cd343c46ff8a55601272de8cf406807caf55e6f313295f83d10be',
|
||||||
'org.objenesis:objenesis:3.0.1:objenesis-3.0.1.jar:7a8ff780b9ff48415d7c705f60030b0acaa616e7f823c98eede3b63508d4e984',
|
'org.objenesis:objenesis:3.0.1:objenesis-3.0.1.jar:7a8ff780b9ff48415d7c705f60030b0acaa616e7f823c98eede3b63508d4e984',
|
||||||
'org.ow2.asm:asm:7.1:asm-7.1.jar:4ab2fa2b6d2cc9ccb1eaa05ea329c407b47b13ed2915f62f8c4b8cc96258d4de',
|
'org.ow2.asm:asm:7.1:asm-7.1.jar:4ab2fa2b6d2cc9ccb1eaa05ea329c407b47b13ed2915f62f8c4b8cc96258d4de',
|
||||||
'org.ow2.asm:asm:9.3:asm-9.3.jar:1263369b59e29c943918de11d6d6152e2ec6085ce63e5710516f8c67d368e4bc',
|
'org.ow2.asm:asm:9.3:asm-9.3.jar:1263369b59e29c943918de11d6d6152e2ec6085ce63e5710516f8c67d368e4bc',
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -311,7 +311,6 @@ class TransportPropertyManagerImpl implements TransportPropertyManager,
|
|||||||
if (latest == null) {
|
if (latest == null) {
|
||||||
merged = new TransportProperties(p);
|
merged = new TransportProperties(p);
|
||||||
Iterator<String> it = merged.values().iterator();
|
Iterator<String> it = merged.values().iterator();
|
||||||
//noinspection Java8CollectionRemoveIf
|
|
||||||
while (it.hasNext()) {
|
while (it.hasNext()) {
|
||||||
if (isNullOrEmpty(it.next())) it.remove();
|
if (isNullOrEmpty(it.next())) it.remove();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import org.briarproject.bramble.api.sync.GroupId;
|
|||||||
import org.briarproject.bramble.api.sync.InvalidMessageException;
|
import org.briarproject.bramble.api.sync.InvalidMessageException;
|
||||||
import org.briarproject.bramble.api.sync.Message;
|
import org.briarproject.bramble.api.sync.Message;
|
||||||
import org.briarproject.bramble.api.sync.MessageId;
|
import org.briarproject.bramble.api.sync.MessageId;
|
||||||
|
import org.briarproject.bramble.api.sync.MessageStatus;
|
||||||
import org.briarproject.bramble.api.sync.validation.IncomingMessageHook;
|
import org.briarproject.bramble.api.sync.validation.IncomingMessageHook;
|
||||||
import org.briarproject.bramble.api.system.Clock;
|
import org.briarproject.bramble.api.system.Clock;
|
||||||
import org.briarproject.bramble.api.versioning.ClientMajorVersion;
|
import org.briarproject.bramble.api.versioning.ClientMajorVersion;
|
||||||
@@ -36,17 +37,20 @@ import java.util.Collections;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Locale;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.TreeSet;
|
import java.util.TreeSet;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.concurrent.CopyOnWriteArrayList;
|
import java.util.concurrent.CopyOnWriteArrayList;
|
||||||
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
import static java.util.Collections.emptyList;
|
import static java.util.Collections.emptyList;
|
||||||
|
import static java.util.logging.Logger.getLogger;
|
||||||
import static org.briarproject.bramble.api.sync.Group.Visibility.INVISIBLE;
|
import static org.briarproject.bramble.api.sync.Group.Visibility.INVISIBLE;
|
||||||
import static org.briarproject.bramble.api.sync.Group.Visibility.SHARED;
|
import static org.briarproject.bramble.api.sync.Group.Visibility.SHARED;
|
||||||
import static org.briarproject.bramble.api.sync.Group.Visibility.VISIBLE;
|
import static org.briarproject.bramble.api.sync.Group.Visibility.VISIBLE;
|
||||||
@@ -58,6 +62,9 @@ import static org.briarproject.bramble.versioning.ClientVersioningConstants.MSG_
|
|||||||
class ClientVersioningManagerImpl implements ClientVersioningManager,
|
class ClientVersioningManagerImpl implements ClientVersioningManager,
|
||||||
Service, OpenDatabaseHook, ContactHook, IncomingMessageHook {
|
Service, OpenDatabaseHook, ContactHook, IncomingMessageHook {
|
||||||
|
|
||||||
|
private static final Logger LOG =
|
||||||
|
getLogger(ClientVersioningManagerImpl.class.getName());
|
||||||
|
|
||||||
private final DatabaseComponent db;
|
private final DatabaseComponent db;
|
||||||
private final ClientHelper clientHelper;
|
private final ClientHelper clientHelper;
|
||||||
private final ContactGroupFactory contactGroupFactory;
|
private final ContactGroupFactory contactGroupFactory;
|
||||||
@@ -128,12 +135,68 @@ class ClientVersioningManagerImpl implements ClientVersioningManager,
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDatabaseOpened(Transaction txn) throws DbException {
|
public void onDatabaseOpened(Transaction txn) throws DbException {
|
||||||
|
LOG.info("onDatabaseOpened " + localGroup.getId());
|
||||||
|
for (Contact c : db.getContacts(txn)) {
|
||||||
|
try {
|
||||||
|
// FIXME: DO NOT MERGE, this logs the contact name and alias
|
||||||
|
LOG.info(String.format(Locale.US,
|
||||||
|
"find latest updates for %d: %s (%s)",
|
||||||
|
c.getId().getInt(),
|
||||||
|
c.getAuthor().getName(),
|
||||||
|
c.getAlias()));
|
||||||
|
LatestUpdates latestUpdates = findLatestUpdates(txn, c.getId());
|
||||||
|
if (latestUpdates == null) {
|
||||||
|
LOG.info("none found");
|
||||||
|
} else {
|
||||||
|
if (latestUpdates.local != null) {
|
||||||
|
MessageStatus status = db.getMessageStatus(txn,
|
||||||
|
c.getId(), latestUpdates.local.messageId);
|
||||||
|
LOG.info(String.format(Locale.US,
|
||||||
|
"local: %s; sent: %b; seen: %b%n",
|
||||||
|
latestUpdates.local.messageId,
|
||||||
|
status.isSent(),
|
||||||
|
status.isSeen()));
|
||||||
|
Update update =
|
||||||
|
loadUpdate(txn, latestUpdates.local.messageId);
|
||||||
|
printUpdate(update);
|
||||||
|
}
|
||||||
|
if (latestUpdates.remote != null) {
|
||||||
|
MessageStatus status = db.getMessageStatus(txn,
|
||||||
|
c.getId(), latestUpdates.remote.messageId);
|
||||||
|
LOG.info(String.format(Locale.US,
|
||||||
|
"remote: %s; sent: %b; seen: %b%n",
|
||||||
|
latestUpdates.remote.messageId,
|
||||||
|
status.isSent(),
|
||||||
|
status.isSeen()));
|
||||||
|
Update update =
|
||||||
|
loadUpdate(txn, latestUpdates.remote.messageId);
|
||||||
|
printUpdate(update);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (FormatException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
if (db.containsGroup(txn, localGroup.getId())) return;
|
if (db.containsGroup(txn, localGroup.getId())) return;
|
||||||
db.addGroup(txn, localGroup);
|
db.addGroup(txn, localGroup);
|
||||||
// Set things up for any pre-existing contacts
|
// Set things up for any pre-existing contacts
|
||||||
for (Contact c : db.getContacts(txn)) addingContact(txn, c);
|
for (Contact c : db.getContacts(txn)) addingContact(txn, c);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void printUpdate(Update update) {
|
||||||
|
LOG.info(String.format(Locale.US, "update version: %d%n",
|
||||||
|
update.updateVersion));
|
||||||
|
for (ClientState state : update.states) {
|
||||||
|
LOG.info(String.format(Locale.US,
|
||||||
|
"id: %s, major: %d, minor: %d, active: %b, %n",
|
||||||
|
state.clientVersion.getClientId().getString(),
|
||||||
|
state.clientVersion.getClientMajorVersion()
|
||||||
|
.getMajorVersion(),
|
||||||
|
state.clientVersion.getMinorVersion(),
|
||||||
|
state.active));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void startService() throws ServiceException {
|
public void startService() throws ServiceException {
|
||||||
List<ClientVersion> versions = new ArrayList<>(clients);
|
List<ClientVersion> versions = new ArrayList<>(clients);
|
||||||
|
|||||||
@@ -1,73 +1,73 @@
|
|||||||
dependencyVerification {
|
dependencyVerification {
|
||||||
verify = [
|
verify = [
|
||||||
'cglib:cglib:3.2.8:cglib-3.2.8.jar:3f64de999ecc5595dc84ca8ff0879d8a34c8623f9ef3c517a53ed59023fcb9db',
|
'cglib:cglib:3.2.8:cglib-3.2.8.jar:3f64de999ecc5595dc84ca8ff0879d8a34c8623f9ef3c517a53ed59023fcb9db',
|
||||||
'com.fasterxml.jackson.core:jackson-annotations:2.13.4:jackson-annotations-2.13.4.jar:ac5b27a634942391ca113850ee7db01df1499a240174021263501c05fc653b44',
|
'com.fasterxml.jackson.core:jackson-annotations:2.13.4:jackson-annotations-2.13.4.jar:ac5b27a634942391ca113850ee7db01df1499a240174021263501c05fc653b44',
|
||||||
'com.fasterxml.jackson.core:jackson-core:2.13.4:jackson-core-2.13.4.jar:4c2e043200edd9ee7ba6fc378bd5c17784a5bf2388e152d208068b51fd0839cf',
|
'com.fasterxml.jackson.core:jackson-core:2.13.4:jackson-core-2.13.4.jar:4c2e043200edd9ee7ba6fc378bd5c17784a5bf2388e152d208068b51fd0839cf',
|
||||||
'com.fasterxml.jackson.core:jackson-databind:2.13.4:jackson-databind-2.13.4.jar:c9faff420d9e2c7e1e4711dbeebec2506a32c9942027211c5c293d8d87807eb6',
|
'com.fasterxml.jackson.core:jackson-databind:2.13.4:jackson-databind-2.13.4.jar:c9faff420d9e2c7e1e4711dbeebec2506a32c9942027211c5c293d8d87807eb6',
|
||||||
'com.google.code.findbugs:annotations:3.0.1:annotations-3.0.1.jar:6b47ff0a6de0ce17cbedc3abb0828ca5bce3009d53ea47b3723ff023c4742f79',
|
'com.google.code.findbugs:annotations:3.0.1:annotations-3.0.1.jar:6b47ff0a6de0ce17cbedc3abb0828ca5bce3009d53ea47b3723ff023c4742f79',
|
||||||
'com.google.code.findbugs:jsr305:3.0.2:jsr305-3.0.2.jar:766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7',
|
'com.google.code.findbugs:jsr305:3.0.2:jsr305-3.0.2.jar:766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7',
|
||||||
'com.google.dagger:dagger-compiler:2.45:dagger-compiler-2.45.jar:5617dfb994537dba5b41f3744a6dd13ec3cd99789c065e0d5c6fa9f21cf7ca25',
|
'com.google.dagger:dagger-compiler:2.45:dagger-compiler-2.45.jar:5617dfb994537dba5b41f3744a6dd13ec3cd99789c065e0d5c6fa9f21cf7ca25',
|
||||||
'com.google.dagger:dagger-producers:2.45:dagger-producers-2.45.jar:a05abb4c3ccf6bb0f056bdcb5ef973898ecf172952ab5948a824aeea6c86ecaa',
|
'com.google.dagger:dagger-producers:2.45:dagger-producers-2.45.jar:a05abb4c3ccf6bb0f056bdcb5ef973898ecf172952ab5948a824aeea6c86ecaa',
|
||||||
'com.google.dagger:dagger-spi:2.45:dagger-spi-2.45.jar:7cd6f0b09d88e64a9c97bc80e544ab8ac8fdee9301754413585a74cf64222b27',
|
'com.google.dagger:dagger-spi:2.45:dagger-spi-2.45.jar:7cd6f0b09d88e64a9c97bc80e544ab8ac8fdee9301754413585a74cf64222b27',
|
||||||
'com.google.dagger:dagger:2.45:dagger-2.45.jar:f011cae7d2c0fb7ea17c34e05bc10e768b1081a5892ad019cf1fdb0e125c49c1',
|
'com.google.dagger:dagger:2.45:dagger-2.45.jar:f011cae7d2c0fb7ea17c34e05bc10e768b1081a5892ad019cf1fdb0e125c49c1',
|
||||||
'com.google.devtools.ksp:symbol-processing-api:1.7.0-1.0.6:symbol-processing-api-1.7.0-1.0.6.jar:adc29417be5ca9ff42118105fea4e36d9ef44987abfc41432309371a60198941',
|
'com.google.devtools.ksp:symbol-processing-api:1.7.0-1.0.6:symbol-processing-api-1.7.0-1.0.6.jar:adc29417be5ca9ff42118105fea4e36d9ef44987abfc41432309371a60198941',
|
||||||
'com.google.errorprone:error_prone_annotations:2.7.1:error_prone_annotations-2.7.1.jar:cd5257c08a246cf8628817ae71cb822be192ef91f6881ca4a3fcff4f1de1cff3',
|
'com.google.errorprone:error_prone_annotations:2.7.1:error_prone_annotations-2.7.1.jar:cd5257c08a246cf8628817ae71cb822be192ef91f6881ca4a3fcff4f1de1cff3',
|
||||||
'com.google.errorprone:javac-shaded:9-dev-r4023-3:javac-shaded-9-dev-r4023-3.jar:65bfccf60986c47fbc17c9ebab0be626afc41741e0a6ec7109e0768817a36f30',
|
'com.google.errorprone:javac-shaded:9-dev-r4023-3:javac-shaded-9-dev-r4023-3.jar:65bfccf60986c47fbc17c9ebab0be626afc41741e0a6ec7109e0768817a36f30',
|
||||||
'com.google.googlejavaformat:google-java-format:1.5:google-java-format-1.5.jar:aa19ad7850fb85178aa22f2fddb163b84d6ce4d0035872f30d4408195ca1144e',
|
'com.google.googlejavaformat:google-java-format:1.5:google-java-format-1.5.jar:aa19ad7850fb85178aa22f2fddb163b84d6ce4d0035872f30d4408195ca1144e',
|
||||||
'com.google.guava:failureaccess:1.0.1:failureaccess-1.0.1.jar:a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26',
|
'com.google.guava:failureaccess:1.0.1:failureaccess-1.0.1.jar:a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26',
|
||||||
'com.google.guava:guava:31.0.1-jre:guava-31.0.1-jre.jar:d5be94d65e87bd219fb3193ad1517baa55a3b88fc91d21cf735826ab5af087b9',
|
'com.google.guava:guava:31.0.1-jre:guava-31.0.1-jre.jar:d5be94d65e87bd219fb3193ad1517baa55a3b88fc91d21cf735826ab5af087b9',
|
||||||
'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava:listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar:b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99',
|
'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava:listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar:b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99',
|
||||||
'com.google.j2objc:j2objc-annotations:1.3:j2objc-annotations-1.3.jar:21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b',
|
'com.google.j2objc:j2objc-annotations:1.3:j2objc-annotations-1.3.jar:21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b',
|
||||||
'com.h2database:h2:1.4.192:h2-1.4.192.jar:225b22e9857235c46c93861410b60b8c81c10dc8985f4faf188985ba5445126c',
|
'com.h2database:h2:1.4.192:h2-1.4.192.jar:225b22e9857235c46c93861410b60b8c81c10dc8985f4faf188985ba5445126c',
|
||||||
'com.squareup.okhttp3:mockwebserver:4.10.0:mockwebserver-4.10.0.jar:af29da234e63159d6e0dea43bf8288eea97d71cdf1651a5ee2d6c0d0d4adbf8f',
|
'com.squareup.okhttp3:mockwebserver:4.10.0:mockwebserver-4.10.0.jar:af29da234e63159d6e0dea43bf8288eea97d71cdf1651a5ee2d6c0d0d4adbf8f',
|
||||||
'com.squareup.okhttp3:okhttp:4.10.0:okhttp-4.10.0.jar:7580f14fa1691206e37081ad3f92063b1603b328da0bb316f2fef02e0562e7ec',
|
'com.squareup.okhttp3:okhttp:4.10.0:okhttp-4.10.0.jar:7580f14fa1691206e37081ad3f92063b1603b328da0bb316f2fef02e0562e7ec',
|
||||||
'com.squareup.okio:okio-jvm:3.0.0:okio-jvm-3.0.0.jar:be64a0cc1f28ea9cd5c970dd7e7557af72c808d738c495b397bf897c9921e907',
|
'com.squareup.okio:okio-jvm:3.0.0:okio-jvm-3.0.0.jar:be64a0cc1f28ea9cd5c970dd7e7557af72c808d738c495b397bf897c9921e907',
|
||||||
'com.squareup:javapoet:1.13.0:javapoet-1.13.0.jar:4c7517e848a71b36d069d12bb3bf46a70fd4cda3105d822b0ed2e19c00b69291',
|
'com.squareup:javapoet:1.13.0:javapoet-1.13.0.jar:4c7517e848a71b36d069d12bb3bf46a70fd4cda3105d822b0ed2e19c00b69291',
|
||||||
'com.squareup:kotlinpoet:1.11.0:kotlinpoet-1.11.0.jar:2887ada1ca03dd83baa2758640d87e840d1907564db0ef88d2289c868a980492',
|
'com.squareup:kotlinpoet:1.11.0:kotlinpoet-1.11.0.jar:2887ada1ca03dd83baa2758640d87e840d1907564db0ef88d2289c868a980492',
|
||||||
'javax.inject:javax.inject:1:javax.inject-1.jar:91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff',
|
'javax.inject:javax.inject:1:javax.inject-1.jar:91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff',
|
||||||
'junit:junit:4.13.2:junit-4.13.2.jar:8e495b634469d64fb8acfa3495a065cbacc8a0fff55ce1e31007be4c16dc57d3',
|
'junit:junit:4.13.2:junit-4.13.2.jar:8e495b634469d64fb8acfa3495a065cbacc8a0fff55ce1e31007be4c16dc57d3',
|
||||||
'net.bytebuddy:byte-buddy:1.9.12:byte-buddy-1.9.12.jar:3688c3d434bebc3edc5516296a2ed0f47b65e451071b4afecad84f902f0efc11',
|
'net.bytebuddy:byte-buddy:1.9.12:byte-buddy-1.9.12.jar:3688c3d434bebc3edc5516296a2ed0f47b65e451071b4afecad84f902f0efc11',
|
||||||
'net.i2p.crypto:eddsa:0.2.0:eddsa-0.2.0.jar:a7cb1b85c16e2f0730b9204106929a1d9aaae1df728adc7041a8b8b605692140',
|
'net.i2p.crypto:eddsa:0.2.0:eddsa-0.2.0.jar:a7cb1b85c16e2f0730b9204106929a1d9aaae1df728adc7041a8b8b605692140',
|
||||||
'net.jcip:jcip-annotations:1.0:jcip-annotations-1.0.jar:be5805392060c71474bf6c9a67a099471274d30b83eef84bfc4e0889a4f1dcc0',
|
'net.jcip:jcip-annotations:1.0:jcip-annotations-1.0.jar:be5805392060c71474bf6c9a67a099471274d30b83eef84bfc4e0889a4f1dcc0',
|
||||||
'net.jodah:concurrentunit:0.4.6:concurrentunit-0.4.6.jar:760e6d4ab7801484de09da621b61141f3b2c2432949da9eb13f076e5d9a5e0a5',
|
'net.jodah:concurrentunit:0.4.6:concurrentunit-0.4.6.jar:760e6d4ab7801484de09da621b61141f3b2c2432949da9eb13f076e5d9a5e0a5',
|
||||||
'net.ltgt.gradle.incap:incap:0.2:incap-0.2.jar:b625b9806b0f1e4bc7a2e3457119488de3cd57ea20feedd513db070a573a4ffd',
|
'net.ltgt.gradle.incap:incap:0.2:incap-0.2.jar:b625b9806b0f1e4bc7a2e3457119488de3cd57ea20feedd513db070a573a4ffd',
|
||||||
'org.apache-extras.beanshell:bsh:2.0b6:bsh-2.0b6.jar:a17955976070c0573235ee662f2794a78082758b61accffce8d3f8aedcd91047',
|
'org.apache-extras.beanshell:bsh:2.0b6:bsh-2.0b6.jar:a17955976070c0573235ee662f2794a78082758b61accffce8d3f8aedcd91047',
|
||||||
'org.bitlet:weupnp:0.1.4:weupnp-0.1.4.jar:88df7e6504929d00bdb832863761385c68ab92af945b04f0770b126270a444fb',
|
'org.bitlet:weupnp:0.1.4:weupnp-0.1.4.jar:88df7e6504929d00bdb832863761385c68ab92af945b04f0770b126270a444fb',
|
||||||
'org.bouncycastle:bcprov-jdk15to18:1.71:bcprov-jdk15to18-1.71.jar:143aaa4a40edd5fc2a18db7900059f6c16f4d931b94b94b20f7e2238e6662886',
|
'org.bouncycastle:bcprov-jdk15to18:1.71:bcprov-jdk15to18-1.71.jar:143aaa4a40edd5fc2a18db7900059f6c16f4d931b94b94b20f7e2238e6662886',
|
||||||
'org.briarproject:jtorctl:0.5:jtorctl-0.5.jar:43f8c7d390169772b9a2c82ab806c8414c136a2a8636c555e22754bb7260793b',
|
'org.briarproject:jtorctl:0.5:jtorctl-0.5.jar:43f8c7d390169772b9a2c82ab806c8414c136a2a8636c555e22754bb7260793b',
|
||||||
'org.briarproject:null-safety:0.1:null-safety-0.1.jar:161760de5e838cb982bafa973df820675d4397098e9a91637a36a306d43ba011',
|
'org.briarproject:null-safety:0.1:null-safety-0.1.jar:161760de5e838cb982bafa973df820675d4397098e9a91637a36a306d43ba011',
|
||||||
'org.briarproject:onionwrapper-core:0.0.6:onionwrapper-core-0.0.6.jar:ed316fa600b9efa21f5643447f2e21b4db607889a41d526c03d61dec8d059c16',
|
'org.briarproject:onionwrapper-core:0.0.4:onionwrapper-core-0.0.4.jar:28a01a62e96aa763989a8afc325abd3bee54f8021269f91aa48b247a6e717870',
|
||||||
'org.briarproject:socks-socket:0.1:socks-socket-0.1.jar:e5898822d10f5390363c5dddb945891648c92cf93ba50709e07f0d173ec0eb4b',
|
'org.briarproject:socks-socket:0.1:socks-socket-0.1.jar:e5898822d10f5390363c5dddb945891648c92cf93ba50709e07f0d173ec0eb4b',
|
||||||
'org.checkerframework:checker-compat-qual:2.5.5:checker-compat-qual-2.5.5.jar:11d134b245e9cacc474514d2d66b5b8618f8039a1465cdc55bbc0b34e0008b7a',
|
'org.checkerframework:checker-compat-qual:2.5.5:checker-compat-qual-2.5.5.jar:11d134b245e9cacc474514d2d66b5b8618f8039a1465cdc55bbc0b34e0008b7a',
|
||||||
'org.checkerframework:checker-qual:3.12.0:checker-qual-3.12.0.jar:ff10785ac2a357ec5de9c293cb982a2cbb605c0309ea4cc1cb9b9bc6dbe7f3cb',
|
'org.checkerframework:checker-qual:3.12.0:checker-qual-3.12.0.jar:ff10785ac2a357ec5de9c293cb982a2cbb605c0309ea4cc1cb9b9bc6dbe7f3cb',
|
||||||
'org.codehaus.mojo.signature:java16:1.1:java16-1.1.signature:53799223a2c98dba2d0add810bed76315460df285c69e4f397ae6098f87dd619',
|
'org.codehaus.mojo.signature:java16:1.1:java16-1.1.signature:53799223a2c98dba2d0add810bed76315460df285c69e4f397ae6098f87dd619',
|
||||||
'org.codehaus.mojo:animal-sniffer-ant-tasks:1.22:animal-sniffer-ant-tasks-1.22.jar:3f6afeb3e09301d2d7179ed1db21e3ad8846c1e38415ad832a395138ae3f4218',
|
'org.codehaus.mojo:animal-sniffer-ant-tasks:1.22:animal-sniffer-ant-tasks-1.22.jar:3f6afeb3e09301d2d7179ed1db21e3ad8846c1e38415ad832a395138ae3f4218',
|
||||||
'org.codehaus.mojo:animal-sniffer:1.22:animal-sniffer-1.22.jar:f18c11a25bdd8b520b9c6a28cbb6f33007c812ab0051b6be3f0778e660aa501c',
|
'org.codehaus.mojo:animal-sniffer:1.22:animal-sniffer-1.22.jar:f18c11a25bdd8b520b9c6a28cbb6f33007c812ab0051b6be3f0778e660aa501c',
|
||||||
'org.hamcrest:hamcrest-core:2.1:hamcrest-core-2.1.jar:e09109e54a289d88506b9bfec987ddd199f4217c9464132668351b9a4f00bee9',
|
'org.hamcrest:hamcrest-core:2.1:hamcrest-core-2.1.jar:e09109e54a289d88506b9bfec987ddd199f4217c9464132668351b9a4f00bee9',
|
||||||
'org.hamcrest:hamcrest-library:2.1:hamcrest-library-2.1.jar:b7e2b6895b3b679f0e47b6380fda391b225e9b78505db9d8bdde8d3cc8d52a21',
|
'org.hamcrest:hamcrest-library:2.1:hamcrest-library-2.1.jar:b7e2b6895b3b679f0e47b6380fda391b225e9b78505db9d8bdde8d3cc8d52a21',
|
||||||
'org.hamcrest:hamcrest:2.1:hamcrest-2.1.jar:ba93b2e3a562322ba432f0a1b53addcc55cb188253319a020ed77f824e692050',
|
'org.hamcrest:hamcrest:2.1:hamcrest-2.1.jar:ba93b2e3a562322ba432f0a1b53addcc55cb188253319a020ed77f824e692050',
|
||||||
'org.hsqldb:hsqldb:2.3.5:hsqldb-2.3.5.jar:6676a6977ac98997a80f827ddbd3fe8ca1e0853dad1492512135fd1a222ccfad',
|
'org.hsqldb:hsqldb:2.3.5:hsqldb-2.3.5.jar:6676a6977ac98997a80f827ddbd3fe8ca1e0853dad1492512135fd1a222ccfad',
|
||||||
'org.jetbrains.kotlin:kotlin-reflect:1.6.10:kotlin-reflect-1.6.10.jar:3277ac102ae17aad10a55abec75ff5696c8d109790396434b496e75087854203',
|
'org.jetbrains.kotlin:kotlin-reflect:1.6.10:kotlin-reflect-1.6.10.jar:3277ac102ae17aad10a55abec75ff5696c8d109790396434b496e75087854203',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-common:1.6.20:kotlin-stdlib-common-1.6.20.jar:8da40a2520d30dcb1012176fe93d24e82d08a3e346c37e0343b0fb6f64f6be01',
|
'org.jetbrains.kotlin:kotlin-stdlib-common:1.6.20:kotlin-stdlib-common-1.6.20.jar:8da40a2520d30dcb1012176fe93d24e82d08a3e346c37e0343b0fb6f64f6be01',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-common:1.7.0:kotlin-stdlib-common-1.7.0.jar:59c6ff64fe9a6604afce03e8aaa75f83586c6030ac71fb0b34ee7cdefed3618f',
|
'org.jetbrains.kotlin:kotlin-stdlib-common:1.7.0:kotlin-stdlib-common-1.7.0.jar:59c6ff64fe9a6604afce03e8aaa75f83586c6030ac71fb0b34ee7cdefed3618f',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.5.31:kotlin-stdlib-jdk7-1.5.31.jar:a25bf47353ce899d843cbddee516d621a73473e7fba97f8d0301e7b4aed7c15f',
|
'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.5.31:kotlin-stdlib-jdk7-1.5.31.jar:a25bf47353ce899d843cbddee516d621a73473e7fba97f8d0301e7b4aed7c15f',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.10:kotlin-stdlib-jdk7-1.6.10.jar:2aedcdc6b69b33bdf5cc235bcea88e7cf6601146bb6bcdffdb312bbacd7be261',
|
'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.10:kotlin-stdlib-jdk7-1.6.10.jar:2aedcdc6b69b33bdf5cc235bcea88e7cf6601146bb6bcdffdb312bbacd7be261',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.0:kotlin-stdlib-jdk7-1.7.0.jar:07e91be9b2ca20672d2bdb7e181b766e73453a2da13492b5ddaee8fa47aea239',
|
'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.0:kotlin-stdlib-jdk7-1.7.0.jar:07e91be9b2ca20672d2bdb7e181b766e73453a2da13492b5ddaee8fa47aea239',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.31:kotlin-stdlib-jdk8-1.5.31.jar:b548f7767aacf029d2417e47440742bd6d3ebede19b60386e23554ce5c4c5fdc',
|
'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.31:kotlin-stdlib-jdk8-1.5.31.jar:b548f7767aacf029d2417e47440742bd6d3ebede19b60386e23554ce5c4c5fdc',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10:kotlin-stdlib-jdk8-1.6.10.jar:1456d82d039ea30d8485b032901f52bbf07e7cdbe8bb1f8708ad32a8574c41ce',
|
'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10:kotlin-stdlib-jdk8-1.6.10.jar:1456d82d039ea30d8485b032901f52bbf07e7cdbe8bb1f8708ad32a8574c41ce',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.0:kotlin-stdlib-jdk8-1.7.0.jar:cf058e11db1dfc9944680c8c61b95ac689aaaa8a3eb30bced028100f038f030b',
|
'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.0:kotlin-stdlib-jdk8-1.7.0.jar:cf058e11db1dfc9944680c8c61b95ac689aaaa8a3eb30bced028100f038f030b',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib:1.6.20:kotlin-stdlib-1.6.20.jar:eeb51c2b67b26233fd81d0bc4f8044ec849718890905763ceffd84a31e2cb799',
|
'org.jetbrains.kotlin:kotlin-stdlib:1.6.20:kotlin-stdlib-1.6.20.jar:eeb51c2b67b26233fd81d0bc4f8044ec849718890905763ceffd84a31e2cb799',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib:1.7.0:kotlin-stdlib-1.7.0.jar:aa88e9625577957f3249a46cb6e166ee09b369e600f7a11d148d16b0a6d87f05',
|
'org.jetbrains.kotlin:kotlin-stdlib:1.7.0:kotlin-stdlib-1.7.0.jar:aa88e9625577957f3249a46cb6e166ee09b369e600f7a11d148d16b0a6d87f05',
|
||||||
'org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.5.0:kotlinx-metadata-jvm-0.5.0.jar:ca063a96639b08b9eaa0de4d65e899480740a6efbe28ab9a8681a2ced03055a4',
|
'org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.5.0:kotlinx-metadata-jvm-0.5.0.jar:ca063a96639b08b9eaa0de4d65e899480740a6efbe28ab9a8681a2ced03055a4',
|
||||||
'org.jetbrains:annotations:13.0:annotations-13.0.jar:ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478',
|
'org.jetbrains:annotations:13.0:annotations-13.0.jar:ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478',
|
||||||
'org.jmock:jmock-imposters:2.12.0:jmock-imposters-2.12.0.jar:3b836269745a137c9b2347e8d7c2104845b126ef04f012d6bfd94f1a7dea7b09',
|
'org.jmock:jmock-imposters:2.12.0:jmock-imposters-2.12.0.jar:3b836269745a137c9b2347e8d7c2104845b126ef04f012d6bfd94f1a7dea7b09',
|
||||||
'org.jmock:jmock-junit4:2.12.0:jmock-junit4-2.12.0.jar:3233062fc889637c151a24f1ee086bad04321ab7d8264fef279daff0fa27205b',
|
'org.jmock:jmock-junit4:2.12.0:jmock-junit4-2.12.0.jar:3233062fc889637c151a24f1ee086bad04321ab7d8264fef279daff0fa27205b',
|
||||||
'org.jmock:jmock-legacy:2.12.0:jmock-legacy-2.12.0.jar:dea3a9cca653d082e2fe7e40232e982fe03a9984c7d67ceff24f3e03fe580dcd',
|
'org.jmock:jmock-legacy:2.12.0:jmock-legacy-2.12.0.jar:dea3a9cca653d082e2fe7e40232e982fe03a9984c7d67ceff24f3e03fe580dcd',
|
||||||
'org.jmock:jmock-testjar:2.12.0:jmock-testjar-2.12.0.jar:efefbcf6cd294d0e29f0c46eb2a3380d4ca4e1763ff719c69e2f2ac62f564a04',
|
'org.jmock:jmock-testjar:2.12.0:jmock-testjar-2.12.0.jar:efefbcf6cd294d0e29f0c46eb2a3380d4ca4e1763ff719c69e2f2ac62f564a04',
|
||||||
'org.jmock:jmock:2.12.0:jmock-2.12.0.jar:266d07314c0cd343c46ff8a55601272de8cf406807caf55e6f313295f83d10be',
|
'org.jmock:jmock:2.12.0:jmock-2.12.0.jar:266d07314c0cd343c46ff8a55601272de8cf406807caf55e6f313295f83d10be',
|
||||||
'org.objenesis:objenesis:3.0.1:objenesis-3.0.1.jar:7a8ff780b9ff48415d7c705f60030b0acaa616e7f823c98eede3b63508d4e984',
|
'org.objenesis:objenesis:3.0.1:objenesis-3.0.1.jar:7a8ff780b9ff48415d7c705f60030b0acaa616e7f823c98eede3b63508d4e984',
|
||||||
'org.ow2.asm:asm:7.1:asm-7.1.jar:4ab2fa2b6d2cc9ccb1eaa05ea329c407b47b13ed2915f62f8c4b8cc96258d4de',
|
'org.ow2.asm:asm:7.1:asm-7.1.jar:4ab2fa2b6d2cc9ccb1eaa05ea329c407b47b13ed2915f62f8c4b8cc96258d4de',
|
||||||
'org.ow2.asm:asm:9.3:asm-9.3.jar:1263369b59e29c943918de11d6d6152e2ec6085ce63e5710516f8c67d368e4bc',
|
'org.ow2.asm:asm:9.3:asm-9.3.jar:1263369b59e29c943918de11d6d6152e2ec6085ce63e5710516f8c67d368e4bc',
|
||||||
'org.whispersystems:curve25519-java:0.5.0:curve25519-java-0.5.0.jar:0aadd43cf01d11e9b58f867b3c4f25c3194e8b0623d1953d32dfbfbee009e38d',
|
'org.whispersystems:curve25519-java:0.5.0:curve25519-java-0.5.0.jar:0aadd43cf01d11e9b58f867b3c4f25c3194e8b0623d1953d32dfbfbee009e38d',
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,52 +1,52 @@
|
|||||||
dependencyVerification {
|
dependencyVerification {
|
||||||
verify = [
|
verify = [
|
||||||
'cglib:cglib:3.2.8:cglib-3.2.8.jar:3f64de999ecc5595dc84ca8ff0879d8a34c8623f9ef3c517a53ed59023fcb9db',
|
'cglib:cglib:3.2.8:cglib-3.2.8.jar:3f64de999ecc5595dc84ca8ff0879d8a34c8623f9ef3c517a53ed59023fcb9db',
|
||||||
'com.google.code.findbugs:annotations:3.0.1:annotations-3.0.1.jar:6b47ff0a6de0ce17cbedc3abb0828ca5bce3009d53ea47b3723ff023c4742f79',
|
'com.google.code.findbugs:annotations:3.0.1:annotations-3.0.1.jar:6b47ff0a6de0ce17cbedc3abb0828ca5bce3009d53ea47b3723ff023c4742f79',
|
||||||
'com.google.code.findbugs:jsr305:3.0.2:jsr305-3.0.2.jar:766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7',
|
'com.google.code.findbugs:jsr305:3.0.2:jsr305-3.0.2.jar:766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7',
|
||||||
'com.google.dagger:dagger-compiler:2.45:dagger-compiler-2.45.jar:5617dfb994537dba5b41f3744a6dd13ec3cd99789c065e0d5c6fa9f21cf7ca25',
|
'com.google.dagger:dagger-compiler:2.45:dagger-compiler-2.45.jar:5617dfb994537dba5b41f3744a6dd13ec3cd99789c065e0d5c6fa9f21cf7ca25',
|
||||||
'com.google.dagger:dagger-producers:2.45:dagger-producers-2.45.jar:a05abb4c3ccf6bb0f056bdcb5ef973898ecf172952ab5948a824aeea6c86ecaa',
|
'com.google.dagger:dagger-producers:2.45:dagger-producers-2.45.jar:a05abb4c3ccf6bb0f056bdcb5ef973898ecf172952ab5948a824aeea6c86ecaa',
|
||||||
'com.google.dagger:dagger-spi:2.45:dagger-spi-2.45.jar:7cd6f0b09d88e64a9c97bc80e544ab8ac8fdee9301754413585a74cf64222b27',
|
'com.google.dagger:dagger-spi:2.45:dagger-spi-2.45.jar:7cd6f0b09d88e64a9c97bc80e544ab8ac8fdee9301754413585a74cf64222b27',
|
||||||
'com.google.dagger:dagger:2.45:dagger-2.45.jar:f011cae7d2c0fb7ea17c34e05bc10e768b1081a5892ad019cf1fdb0e125c49c1',
|
'com.google.dagger:dagger:2.45:dagger-2.45.jar:f011cae7d2c0fb7ea17c34e05bc10e768b1081a5892ad019cf1fdb0e125c49c1',
|
||||||
'com.google.devtools.ksp:symbol-processing-api:1.7.0-1.0.6:symbol-processing-api-1.7.0-1.0.6.jar:adc29417be5ca9ff42118105fea4e36d9ef44987abfc41432309371a60198941',
|
'com.google.devtools.ksp:symbol-processing-api:1.7.0-1.0.6:symbol-processing-api-1.7.0-1.0.6.jar:adc29417be5ca9ff42118105fea4e36d9ef44987abfc41432309371a60198941',
|
||||||
'com.google.errorprone:error_prone_annotations:2.7.1:error_prone_annotations-2.7.1.jar:cd5257c08a246cf8628817ae71cb822be192ef91f6881ca4a3fcff4f1de1cff3',
|
'com.google.errorprone:error_prone_annotations:2.7.1:error_prone_annotations-2.7.1.jar:cd5257c08a246cf8628817ae71cb822be192ef91f6881ca4a3fcff4f1de1cff3',
|
||||||
'com.google.errorprone:javac-shaded:9-dev-r4023-3:javac-shaded-9-dev-r4023-3.jar:65bfccf60986c47fbc17c9ebab0be626afc41741e0a6ec7109e0768817a36f30',
|
'com.google.errorprone:javac-shaded:9-dev-r4023-3:javac-shaded-9-dev-r4023-3.jar:65bfccf60986c47fbc17c9ebab0be626afc41741e0a6ec7109e0768817a36f30',
|
||||||
'com.google.googlejavaformat:google-java-format:1.5:google-java-format-1.5.jar:aa19ad7850fb85178aa22f2fddb163b84d6ce4d0035872f30d4408195ca1144e',
|
'com.google.googlejavaformat:google-java-format:1.5:google-java-format-1.5.jar:aa19ad7850fb85178aa22f2fddb163b84d6ce4d0035872f30d4408195ca1144e',
|
||||||
'com.google.guava:failureaccess:1.0.1:failureaccess-1.0.1.jar:a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26',
|
'com.google.guava:failureaccess:1.0.1:failureaccess-1.0.1.jar:a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26',
|
||||||
'com.google.guava:guava:31.0.1-jre:guava-31.0.1-jre.jar:d5be94d65e87bd219fb3193ad1517baa55a3b88fc91d21cf735826ab5af087b9',
|
'com.google.guava:guava:31.0.1-jre:guava-31.0.1-jre.jar:d5be94d65e87bd219fb3193ad1517baa55a3b88fc91d21cf735826ab5af087b9',
|
||||||
'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava:listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar:b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99',
|
'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava:listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar:b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99',
|
||||||
'com.google.j2objc:j2objc-annotations:1.3:j2objc-annotations-1.3.jar:21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b',
|
'com.google.j2objc:j2objc-annotations:1.3:j2objc-annotations-1.3.jar:21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b',
|
||||||
'com.squareup:javapoet:1.13.0:javapoet-1.13.0.jar:4c7517e848a71b36d069d12bb3bf46a70fd4cda3105d822b0ed2e19c00b69291',
|
'com.squareup:javapoet:1.13.0:javapoet-1.13.0.jar:4c7517e848a71b36d069d12bb3bf46a70fd4cda3105d822b0ed2e19c00b69291',
|
||||||
'com.squareup:kotlinpoet:1.11.0:kotlinpoet-1.11.0.jar:2887ada1ca03dd83baa2758640d87e840d1907564db0ef88d2289c868a980492',
|
'com.squareup:kotlinpoet:1.11.0:kotlinpoet-1.11.0.jar:2887ada1ca03dd83baa2758640d87e840d1907564db0ef88d2289c868a980492',
|
||||||
'javax.inject:javax.inject:1:javax.inject-1.jar:91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff',
|
'javax.inject:javax.inject:1:javax.inject-1.jar:91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff',
|
||||||
'junit:junit:4.13.2:junit-4.13.2.jar:8e495b634469d64fb8acfa3495a065cbacc8a0fff55ce1e31007be4c16dc57d3',
|
'junit:junit:4.13.2:junit-4.13.2.jar:8e495b634469d64fb8acfa3495a065cbacc8a0fff55ce1e31007be4c16dc57d3',
|
||||||
'net.bytebuddy:byte-buddy:1.9.12:byte-buddy-1.9.12.jar:3688c3d434bebc3edc5516296a2ed0f47b65e451071b4afecad84f902f0efc11',
|
'net.bytebuddy:byte-buddy:1.9.12:byte-buddy-1.9.12.jar:3688c3d434bebc3edc5516296a2ed0f47b65e451071b4afecad84f902f0efc11',
|
||||||
'net.java.dev.jna:jna-platform:5.13.0:jna-platform-5.13.0.jar:474d7b88f6e97009b6ec1d98c3024dd95c23187c65dabfbc35331bcac3d173dd',
|
'net.java.dev.jna:jna-platform:5.13.0:jna-platform-5.13.0.jar:474d7b88f6e97009b6ec1d98c3024dd95c23187c65dabfbc35331bcac3d173dd',
|
||||||
'net.java.dev.jna:jna:5.13.0:jna-5.13.0.jar:66d4f819a062a51a1d5627bffc23fac55d1677f0e0a1feba144aabdd670a64bb',
|
'net.java.dev.jna:jna:5.13.0:jna-5.13.0.jar:66d4f819a062a51a1d5627bffc23fac55d1677f0e0a1feba144aabdd670a64bb',
|
||||||
'net.jcip:jcip-annotations:1.0:jcip-annotations-1.0.jar:be5805392060c71474bf6c9a67a099471274d30b83eef84bfc4e0889a4f1dcc0',
|
'net.jcip:jcip-annotations:1.0:jcip-annotations-1.0.jar:be5805392060c71474bf6c9a67a099471274d30b83eef84bfc4e0889a4f1dcc0',
|
||||||
'net.ltgt.gradle.incap:incap:0.2:incap-0.2.jar:b625b9806b0f1e4bc7a2e3457119488de3cd57ea20feedd513db070a573a4ffd',
|
'net.ltgt.gradle.incap:incap:0.2:incap-0.2.jar:b625b9806b0f1e4bc7a2e3457119488de3cd57ea20feedd513db070a573a4ffd',
|
||||||
'org.apache-extras.beanshell:bsh:2.0b6:bsh-2.0b6.jar:a17955976070c0573235ee662f2794a78082758b61accffce8d3f8aedcd91047',
|
'org.apache-extras.beanshell:bsh:2.0b6:bsh-2.0b6.jar:a17955976070c0573235ee662f2794a78082758b61accffce8d3f8aedcd91047',
|
||||||
'org.briarproject:jtorctl:0.5:jtorctl-0.5.jar:43f8c7d390169772b9a2c82ab806c8414c136a2a8636c555e22754bb7260793b',
|
'org.briarproject:jtorctl:0.5:jtorctl-0.5.jar:43f8c7d390169772b9a2c82ab806c8414c136a2a8636c555e22754bb7260793b',
|
||||||
'org.briarproject:null-safety:0.1:null-safety-0.1.jar:161760de5e838cb982bafa973df820675d4397098e9a91637a36a306d43ba011',
|
'org.briarproject:null-safety:0.1:null-safety-0.1.jar:161760de5e838cb982bafa973df820675d4397098e9a91637a36a306d43ba011',
|
||||||
'org.briarproject:onionwrapper-core:0.0.6:onionwrapper-core-0.0.6.jar:ed316fa600b9efa21f5643447f2e21b4db607889a41d526c03d61dec8d059c16',
|
'org.briarproject:onionwrapper-core:0.0.4:onionwrapper-core-0.0.4.jar:28a01a62e96aa763989a8afc325abd3bee54f8021269f91aa48b247a6e717870',
|
||||||
'org.briarproject:onionwrapper-java:0.0.6:onionwrapper-java-0.0.6.jar:e76e043b8c72d39e48508da79c9e2db2279b3c824f9c26cb0622d56a4a43a822',
|
'org.briarproject:onionwrapper-java:0.0.4:onionwrapper-java-0.0.4.jar:7806ef878074498653b557e26eb70e6007df3450d6a910a2e9a322f7eb4df442',
|
||||||
'org.checkerframework:checker-compat-qual:2.5.5:checker-compat-qual-2.5.5.jar:11d134b245e9cacc474514d2d66b5b8618f8039a1465cdc55bbc0b34e0008b7a',
|
'org.checkerframework:checker-compat-qual:2.5.5:checker-compat-qual-2.5.5.jar:11d134b245e9cacc474514d2d66b5b8618f8039a1465cdc55bbc0b34e0008b7a',
|
||||||
'org.checkerframework:checker-qual:3.12.0:checker-qual-3.12.0.jar:ff10785ac2a357ec5de9c293cb982a2cbb605c0309ea4cc1cb9b9bc6dbe7f3cb',
|
'org.checkerframework:checker-qual:3.12.0:checker-qual-3.12.0.jar:ff10785ac2a357ec5de9c293cb982a2cbb605c0309ea4cc1cb9b9bc6dbe7f3cb',
|
||||||
'org.hamcrest:hamcrest-core:2.1:hamcrest-core-2.1.jar:e09109e54a289d88506b9bfec987ddd199f4217c9464132668351b9a4f00bee9',
|
'org.hamcrest:hamcrest-core:2.1:hamcrest-core-2.1.jar:e09109e54a289d88506b9bfec987ddd199f4217c9464132668351b9a4f00bee9',
|
||||||
'org.hamcrest:hamcrest-library:2.1:hamcrest-library-2.1.jar:b7e2b6895b3b679f0e47b6380fda391b225e9b78505db9d8bdde8d3cc8d52a21',
|
'org.hamcrest:hamcrest-library:2.1:hamcrest-library-2.1.jar:b7e2b6895b3b679f0e47b6380fda391b225e9b78505db9d8bdde8d3cc8d52a21',
|
||||||
'org.hamcrest:hamcrest:2.1:hamcrest-2.1.jar:ba93b2e3a562322ba432f0a1b53addcc55cb188253319a020ed77f824e692050',
|
'org.hamcrest:hamcrest:2.1:hamcrest-2.1.jar:ba93b2e3a562322ba432f0a1b53addcc55cb188253319a020ed77f824e692050',
|
||||||
'org.jetbrains.kotlin:kotlin-reflect:1.6.10:kotlin-reflect-1.6.10.jar:3277ac102ae17aad10a55abec75ff5696c8d109790396434b496e75087854203',
|
'org.jetbrains.kotlin:kotlin-reflect:1.6.10:kotlin-reflect-1.6.10.jar:3277ac102ae17aad10a55abec75ff5696c8d109790396434b496e75087854203',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-common:1.7.0:kotlin-stdlib-common-1.7.0.jar:59c6ff64fe9a6604afce03e8aaa75f83586c6030ac71fb0b34ee7cdefed3618f',
|
'org.jetbrains.kotlin:kotlin-stdlib-common:1.7.0:kotlin-stdlib-common-1.7.0.jar:59c6ff64fe9a6604afce03e8aaa75f83586c6030ac71fb0b34ee7cdefed3618f',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.0:kotlin-stdlib-jdk7-1.7.0.jar:07e91be9b2ca20672d2bdb7e181b766e73453a2da13492b5ddaee8fa47aea239',
|
'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.0:kotlin-stdlib-jdk7-1.7.0.jar:07e91be9b2ca20672d2bdb7e181b766e73453a2da13492b5ddaee8fa47aea239',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.0:kotlin-stdlib-jdk8-1.7.0.jar:cf058e11db1dfc9944680c8c61b95ac689aaaa8a3eb30bced028100f038f030b',
|
'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.0:kotlin-stdlib-jdk8-1.7.0.jar:cf058e11db1dfc9944680c8c61b95ac689aaaa8a3eb30bced028100f038f030b',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib:1.7.0:kotlin-stdlib-1.7.0.jar:aa88e9625577957f3249a46cb6e166ee09b369e600f7a11d148d16b0a6d87f05',
|
'org.jetbrains.kotlin:kotlin-stdlib:1.7.0:kotlin-stdlib-1.7.0.jar:aa88e9625577957f3249a46cb6e166ee09b369e600f7a11d148d16b0a6d87f05',
|
||||||
'org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.5.0:kotlinx-metadata-jvm-0.5.0.jar:ca063a96639b08b9eaa0de4d65e899480740a6efbe28ab9a8681a2ced03055a4',
|
'org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.5.0:kotlinx-metadata-jvm-0.5.0.jar:ca063a96639b08b9eaa0de4d65e899480740a6efbe28ab9a8681a2ced03055a4',
|
||||||
'org.jetbrains:annotations:13.0:annotations-13.0.jar:ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478',
|
'org.jetbrains:annotations:13.0:annotations-13.0.jar:ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478',
|
||||||
'org.jmock:jmock-imposters:2.12.0:jmock-imposters-2.12.0.jar:3b836269745a137c9b2347e8d7c2104845b126ef04f012d6bfd94f1a7dea7b09',
|
'org.jmock:jmock-imposters:2.12.0:jmock-imposters-2.12.0.jar:3b836269745a137c9b2347e8d7c2104845b126ef04f012d6bfd94f1a7dea7b09',
|
||||||
'org.jmock:jmock-junit4:2.12.0:jmock-junit4-2.12.0.jar:3233062fc889637c151a24f1ee086bad04321ab7d8264fef279daff0fa27205b',
|
'org.jmock:jmock-junit4:2.12.0:jmock-junit4-2.12.0.jar:3233062fc889637c151a24f1ee086bad04321ab7d8264fef279daff0fa27205b',
|
||||||
'org.jmock:jmock-legacy:2.12.0:jmock-legacy-2.12.0.jar:dea3a9cca653d082e2fe7e40232e982fe03a9984c7d67ceff24f3e03fe580dcd',
|
'org.jmock:jmock-legacy:2.12.0:jmock-legacy-2.12.0.jar:dea3a9cca653d082e2fe7e40232e982fe03a9984c7d67ceff24f3e03fe580dcd',
|
||||||
'org.jmock:jmock-testjar:2.12.0:jmock-testjar-2.12.0.jar:efefbcf6cd294d0e29f0c46eb2a3380d4ca4e1763ff719c69e2f2ac62f564a04',
|
'org.jmock:jmock-testjar:2.12.0:jmock-testjar-2.12.0.jar:efefbcf6cd294d0e29f0c46eb2a3380d4ca4e1763ff719c69e2f2ac62f564a04',
|
||||||
'org.jmock:jmock:2.12.0:jmock-2.12.0.jar:266d07314c0cd343c46ff8a55601272de8cf406807caf55e6f313295f83d10be',
|
'org.jmock:jmock:2.12.0:jmock-2.12.0.jar:266d07314c0cd343c46ff8a55601272de8cf406807caf55e6f313295f83d10be',
|
||||||
'org.objenesis:objenesis:3.0.1:objenesis-3.0.1.jar:7a8ff780b9ff48415d7c705f60030b0acaa616e7f823c98eede3b63508d4e984',
|
'org.objenesis:objenesis:3.0.1:objenesis-3.0.1.jar:7a8ff780b9ff48415d7c705f60030b0acaa616e7f823c98eede3b63508d4e984',
|
||||||
'org.ow2.asm:asm:7.1:asm-7.1.jar:4ab2fa2b6d2cc9ccb1eaa05ea329c407b47b13ed2915f62f8c4b8cc96258d4de',
|
'org.ow2.asm:asm:7.1:asm-7.1.jar:4ab2fa2b6d2cc9ccb1eaa05ea329c407b47b13ed2915f62f8c4b8cc96258d4de',
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,123 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
version="1.1"
|
||||||
|
id="Ebene_1"
|
||||||
|
x="0px"
|
||||||
|
y="0px"
|
||||||
|
viewBox="0 0 320 179.99999"
|
||||||
|
xml:space="preserve"
|
||||||
|
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
|
||||||
|
sodipodi:docname="briar-android_tv_artwork_logo_horizontal_black.svg"
|
||||||
|
width="320"
|
||||||
|
height="180"
|
||||||
|
inkscape:export-filename="C:\Users\hughi\Downloads\briar-android_tv_artwork_logo_horizontal_black.png"
|
||||||
|
inkscape:export-xdpi="95.967941"
|
||||||
|
inkscape:export-ydpi="95.967941"><metadata
|
||||||
|
id="metadata71"><rdf:RDF><cc:Work
|
||||||
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||||
|
id="defs69" /><sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1366"
|
||||||
|
inkscape:window-height="705"
|
||||||
|
id="namedview67"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="2"
|
||||||
|
inkscape:cx="215.47343"
|
||||||
|
inkscape:cy="62.929329"
|
||||||
|
inkscape:window-x="-8"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="Ebene_1" /><style
|
||||||
|
type="text/css"
|
||||||
|
id="style3">
|
||||||
|
.st0{display:none;fill:#87C214;}
|
||||||
|
.st1{fill:#87C214;}
|
||||||
|
.st2{display:none;fill:#FFFFFF;}
|
||||||
|
.st3{fill:#95D220;}
|
||||||
|
.st4{display:none;fill:#95D220;}
|
||||||
|
</style><rect
|
||||||
|
style="opacity:1;fill:#ffffff;fill-opacity:0.98492461;stroke:none;stroke-width:0;stroke-miterlimit:1.41420996;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect3747"
|
||||||
|
width="320"
|
||||||
|
height="180"
|
||||||
|
x="0"
|
||||||
|
y="0" /><rect
|
||||||
|
style="display:none;fill:#87c214"
|
||||||
|
id="rect11"
|
||||||
|
height="43.700001"
|
||||||
|
width="43.700001"
|
||||||
|
class="st0"
|
||||||
|
y="-82.800049"
|
||||||
|
x="47.200001" /><path
|
||||||
|
class="st2"
|
||||||
|
d="m 73.2,-130 c 9.7,0 17.7,8 17.7,17.7 V 87.4 c 0,9.7 -8,17.7 -17.7,17.7 h -8.3 c -9.7,0 -17.7,-8 -17.7,-17.7 v -199.7 c 0,-9.7 7.9,-17.7 17.6,-17.7 h 8.4 m 0,-7 h -8.3 c -13.7,0 -24.7,11.1 -24.7,24.7 V 87.4 c 0,13.6 11.1,24.7 24.7,24.7 h 8.3 c 13.6,0 24.7,-11.1 24.7,-24.7 V -112.3 C 97.8,-125.9 86.8,-137 73.2,-137 Z"
|
||||||
|
id="path17"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="display:none;fill:#ffffff" /><rect
|
||||||
|
style="display:none;fill:#87c214"
|
||||||
|
id="rect25"
|
||||||
|
height="43.700001"
|
||||||
|
width="43.700001"
|
||||||
|
class="st0"
|
||||||
|
y="14.199951"
|
||||||
|
x="144.2" /><path
|
||||||
|
class="st2"
|
||||||
|
d="m 170.2,-130 c 9.7,0 17.7,8 17.7,17.7 V 87.4 c 0,9.7 -7.9,17.7 -17.7,17.7 h -8.3 c -9.7,0 -17.7,-8 -17.7,-17.7 v -199.7 c 0,-9.7 8,-17.7 17.7,-17.7 h 8.3 m 0,-7 h -8.3 c -13.6,0 -24.7,11.1 -24.7,24.7 V 87.4 c 0,13.6 11.1,24.7 24.7,24.7 h 8.3 c 13.6,0 24.7,-11.1 24.7,-24.7 v -199.7 c -0.1,-13.6 -11.1,-24.7 -24.7,-24.7 z"
|
||||||
|
id="path29"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="display:none;fill:#ffffff" /><g
|
||||||
|
id="g3745"
|
||||||
|
transform="matrix(0.65979376,0,0,0.65979376,0,-1020.103)"><path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path13"
|
||||||
|
d="m 64.900391,1565 c -9.7,0 -17.701172,7.9992 -17.701172,17.6992 v 22.5 h 43.601562 v -22.5 c 0,-9.7 -7.901562,-17.6992 -17.601562,-17.6992 z m 96.999999,0 c -9.7,0 -17.70117,7.9992 -17.70117,17.6992 v 119.5 h 43.60156 v -119.5 c 0,-9.7 -7.90156,-17.6992 -17.60156,-17.6992 z m -114.701171,97.8008 v 119.5 c 0,9.7 7.901172,17.6992 17.701172,17.6992 h 8.298828 c 9.7,0 17.701172,-7.9992 17.701172,-17.6992 v -119.5 z m 97.000001,97 v 22.5 c 0,9.7 8.00117,17.6992 17.70117,17.6992 h 8.29883 c 9.7,0 17.70117,-7.9992 17.70117,-17.6992 v -22.5 z"
|
||||||
|
style="fill:#87c214" /><path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path35"
|
||||||
|
d="M 17.699219,1612.1992 C 7.9992186,1612.1992 0,1620.1004 0,1629.9004 v 8.2988 c 0,9.7 7.8992186,17.7012 17.699219,17.7012 H 137.19922 v -43.7012 z m 177.101561,0 v 43.7012 h 22.5 c 9.7,0 17.69922,-7.9012 17.69922,-17.7012 v -8.2988 c 0,-9.8 -7.99922,-17.7012 -17.69922,-17.7012 z m -177.101561,97 C 7.9992186,1709.1992 0,1717.1004 0,1726.9004 v 8.2988 c 0,9.7 7.8992186,17.7012 17.699219,17.7012 h 22.5 v -43.7012 z m 80.101562,0 v 43.7012 H 217.30078 c 9.7,0 17.69922,-8.0012 17.69922,-17.7012 v -8.2988 c 0,-9.8 -7.99922,-17.7012 -17.69922,-17.7012 z"
|
||||||
|
style="fill:#95d220" /></g><rect
|
||||||
|
style="display:none;fill:#95d220"
|
||||||
|
id="rect37"
|
||||||
|
height="43.700001"
|
||||||
|
width="43.700001"
|
||||||
|
class="st4"
|
||||||
|
y="14.199951"
|
||||||
|
x="47.200001" /><path
|
||||||
|
class="st2"
|
||||||
|
d="m 217.3,14.2 c 9.7,0 17.7,7.9 17.7,17.7 v 8.3 c 0,9.7 -8,17.7 -17.7,17.7 H 17.7 C 8,57.9 0,49.9 0,40.2 V 31.9 C 0,22.2 7.9,14.2 17.7,14.2 h 199.6 m 0,-7 H 17.7 C 4.1,7.2 -7,18.3 -7,31.9 v 8.3 c 0,13.6 11.1,24.7 24.7,24.7 h 199.7 c 13.6,0 24.7,-11.1 24.7,-24.7 V 31.9 C 242,18.2 230.9,7.2 217.3,7.2 Z"
|
||||||
|
id="path41"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="display:none;fill:#ffffff" /><rect
|
||||||
|
style="display:none;fill:#95d220"
|
||||||
|
id="rect47"
|
||||||
|
height="43.700001"
|
||||||
|
width="43.700001"
|
||||||
|
class="st4"
|
||||||
|
y="-82.800049"
|
||||||
|
x="144.2" /><path
|
||||||
|
class="st2"
|
||||||
|
d="m 217.3,-82.8 c 9.7,0 17.7,7.9 17.7,17.7 v 8.3 c 0,9.7 -8,17.7 -17.7,17.7 H 17.7 C 8,-39.1 0,-47 0,-56.8 v -8.3 c 0,-9.7 7.9,-17.7 17.7,-17.7 h 199.6 m 0,-7 H 17.7 c -13.6,0 -24.7,11 -24.7,24.6 v 8.3 c 0,13.6 11.1,24.7 24.7,24.7 h 199.7 c 13.6,0 24.7,-11.1 24.7,-24.7 v -8.3 C 242,-78.8 230.9,-89.8 217.3,-89.8 Z"
|
||||||
|
id="path53"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="display:none;fill:#ffffff" /><path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
d="m 164.94845,130.5118 v 37.0142 h 17.3299 c 8.17094,0 12.45497,-4.0911 12.45497,-10.4911 0,-4.156 -1.91138,-7.2578 -5.73332,-8.9728 v -0.083 c 2.89934,-1.7808 4.15207,-4.0233 4.15207,-7.521 0,-5.2791 -3.62408,-9.9627 -11.26806,-9.9627 z m 35.97934,0 v 37.0142 h 4.34796 v -14.8454 l -0.45977,-0.4615 h 8.76264 c 4.87623,0 7.64484,1.7133 9.424,5.5433 l 4.61191,9.7636 h 4.87655 l -5.46909,-11.5461 c -1.18614,-2.5738 -3.0974,-4.2227 -4.81061,-4.9483 v -0.083 c 4.0196,-1.0565 7.38013,-4.6856 7.38013,-9.5024 0,-7.3236 -5.66649,-10.9515 -12.45366,-10.9515 z m 36.10959,0 v 37.0142 h 4.34922 v -37.0142 z m 25.56832,0 -16.27714,37.0142 h 4.74504 l 3.95341,-8.9069 -0.19703,-0.4619 h 20.2293 l -0.19713,0.4619 3.9535,8.9069 h 4.74491 l -16.34284,-37.0142 z m 25.82985,0 v 37.0142 h 4.34912 v -14.8454 l -0.4612,-0.4615 h 8.76406 c 4.87643,0 7.64485,1.7133 9.42429,5.5433 l 4.61186,9.7636 H 320 l -5.46903,-11.5461 c -1.18594,-2.5738 -3.09737,-4.2227 -4.81072,-4.9483 v -0.083 c 4.01975,-1.0565 7.38026,-4.6856 7.38026,-9.5024 0,-7.3236 -5.6664,-10.9515 -12.45361,-10.9515 z m -119.59919,4.0908 h 12.58636 c 4.7444,0 7.24733,1.9136 7.24733,5.8723 0,3.2982 -1.97576,5.9394 -7.24733,5.9394 h -12.58636 l 0.46124,-0.4633 v -10.8868 z m 35.97962,0 h 12.32187 c 4.48085,0 7.907,1.8468 7.97296,6.7961 0,3.9585 -3.09676,6.7292 -8.43423,6.7292 h -11.8606 l 0.45977,-0.4614 v -12.6023 z m 87.44177,0 h 12.32223 c 4.54673,0 7.97414,1.8468 7.97414,6.7961 0,3.9585 -3.09683,6.7292 -8.43417,6.7292 h -11.8622 l 0.46141,-0.4614 v -12.6023 z m -27.28106,0.4616 h 0.0674 l 1.11984,3.6954 6.52328,14.8464 0.46124,0.46 h -16.27578 l 0.46131,-0.46 6.52318,-14.8464 z m -96.14033,15.4387 h 13.44199 c 5.46934,0 7.97421,2.5073 7.97421,6.532 0,4.0908 -2.30722,6.401 -7.97421,6.401 h -13.44199 l 0.46124,-0.463 V 150.966 Z"
|
||||||
|
id="path57"
|
||||||
|
style="stroke-width:0.65979397" /></svg>
|
||||||
|
After Width: | Height: | Size: 7.8 KiB |
@@ -26,17 +26,17 @@ android {
|
|||||||
defaultConfig {
|
defaultConfig {
|
||||||
minSdkVersion 21
|
minSdkVersion 21
|
||||||
targetSdkVersion 33
|
targetSdkVersion 33
|
||||||
versionCode 10508
|
versionCode 10504
|
||||||
versionName "1.5.8"
|
versionName "1.5.4"
|
||||||
applicationId "org.briarproject.briar.android"
|
applicationId "org.briarproject.briar.android"
|
||||||
buildConfigField "String", "TorVersion", "\"$tor_version\""
|
buildConfigField "String", "TorVersion", "\"$tor_version\""
|
||||||
|
|
||||||
vectorDrawables.useSupportLibrary = true
|
vectorDrawables.useSupportLibrary = true
|
||||||
buildConfigField "String", "GitHash",
|
buildConfigField "String", "GitHash",
|
||||||
"\"${getStdout(['git', 'rev-parse', '--short=7', 'HEAD'], 'No commit hash')}\""
|
"\"${getStdout(['git', 'rev-parse', '--short=7', 'HEAD'], 'No commit hash')}\""
|
||||||
def now = (long) (System.currentTimeMillis() / 1000)
|
def now = (long) (System.currentTimeMillis() / 1000)
|
||||||
buildConfigField "Long", "BuildTimestamp",
|
buildConfigField "Long", "BuildTimestamp",
|
||||||
"${getStdout(['git', 'log', '-n', '1', '--format=%ct'], now)}000L"
|
"${getStdout(['git', 'log', '-n', '1', '--format=%ct'], now)}000L"
|
||||||
testInstrumentationRunner 'org.briarproject.briar.android.BriarTestRunner'
|
testInstrumentationRunner 'org.briarproject.briar.android.BriarTestRunner'
|
||||||
testInstrumentationRunnerArguments disableAnalytics: 'true'
|
testInstrumentationRunnerArguments disableAnalytics: 'true'
|
||||||
}
|
}
|
||||||
@@ -203,7 +203,7 @@ task verifyTranslations {
|
|||||||
}
|
}
|
||||||
if (translations.size() != 0)
|
if (translations.size() != 0)
|
||||||
throw new GradleException("Translations\n" + translations.join("\n")
|
throw new GradleException("Translations\n" + translations.join("\n")
|
||||||
+ "\nhave no matching value folder")
|
+ "\nhave no matching value folder")
|
||||||
|
|
||||||
// Some devices use iw instead of he for hebrew
|
// Some devices use iw instead of he for hebrew
|
||||||
def hebrew_legacy = project.file("src/main/res/values-iw")
|
def hebrew_legacy = project.file("src/main/res/values-iw")
|
||||||
|
|||||||
@@ -1,11 +1,5 @@
|
|||||||
Briar е приложение за обменяне на съобщения, предназначено за активисти, журналисти и всички други, които имат нужда от безопасен, лесен и стабилен начин за общуване. За разлика от другите подобни приложения, Briar не използва централен сървър - съобщенията се обменят между устройствата не потребителите. За да поддържа потока на информация по време на криза Briar използва Bluetooth, Wi-Fi или карти с памет. При наличие на интернет, Briar използва мрежата на Tor и така предпазва потребителите и техните взаимоотношения от наблюдение.
|
Briar е приложение за обменяне на съобщения, предназначено за активисти, журналисти и всички други, които имат нужда от безопасен, лесен и стабилен начин за общуване. За разлика от другите подобни приложения, Briar може да използва Bluetooth или Wi-Fi, за да поддържа потока на информация по време на криза. При наличие на интернет, Briar използва мрежата на Tor и така предпазва потребителите и техните взаимоотношения от наблюдение.
|
||||||
|
|
||||||
Приложението предлага лични съобщения, групи, форуми, а също и блогове. Вградена поддръжка на мрежата на Tor. Всичко, което правите в Briar се съхранява само на устройството ви, освен ако не решите да го споделите с други потребители.
|
Приложението предлага лични съобщения, групи, форуми, а също и блогове. Вградена поддръжка на мрежата на Tor. Всичко, което правите в Briar се съхранява само на устройството ви, освен ако не решите да го споделите с други потребители.
|
||||||
|
|
||||||
Няма реклами и проследяване. Изходният код на приложението е достъпен за преглед от всеки и е преминал професионален одит. Всички издания на Briar могат да бъдат пресъздадени и така може да бъде проверено, че публикувания изходен код точно отговаря на публикуваното тук приложение. Разработката се извършва от малък екип с нестопанска цел.
|
Няма реклами и проследяване. Изходният код на приложението е достъпен за преглед от всеки и е преминал професионален одит. Всички издания на Briar могат да бъдат пресъздадени и така може да бъде проверено, че публикувания изходен код отговаря на публикуваното тук приложение. Разработката се извършва от малък екип с нестопанска цел.
|
||||||
|
|
||||||
Политика за лични данни: https://briarproject.org/privacy
|
|
||||||
|
|
||||||
Ръководство: https://briarproject.org/manual
|
|
||||||
|
|
||||||
Изходен код: https://code.briarproject.org/briar/briar
|
|
||||||
@@ -1,11 +1,5 @@
|
|||||||
Briar ist eine Messaging-App, die für Aktivisten, Journalisten und alle anderen entwickelt wurde, die eine sichere, einfache und robuste Möglichkeit zur Kommunikation benötigen. Im Gegensatz zu herkömmlichen Messaging-Apps verlässt sich Briar nicht auf einen zentralen Server - Nachrichten werden direkt zwischen den Geräten der Benutzer synchronisiert. Wenn das Internet nicht funktioniert, kann Briar über Bluetooth, WLAN oder Speicherkarten synchronisieren und so den Informationsaustausch in Krisenzeiten aufrechterhalten. Wenn das Internet verfügbar ist, kann Briar über das Tor-Netzwerk synchronisieren und Nutzer sowie ihre Kontakte vor Überwachung schützen.
|
Briar ist eine Messaging-App für Aktivisten, Journalisten und jeden, der eine sichere, einfache und robuste Art der Kommunikation benötigt. Im Gegensatz zu herkömmlichen Messaging-Apps benötigt Briar keinen zentralen Server. Nachrichten werden direkt zwischen den Geräten der Benutzer ausgetauscht. Wenn das Internet ausfällt, kann Briar diese auch über Bluetooth oder WLAN austauschen, um den Informationsaustausch in einer Krise aufrecht zu erhalten. Mit einer Internetverbindung kann Briar sich über das Tor-Netzwerk synchronisieren und schützt so die Nutzer und ihre Kontakte vor Überwachung.
|
||||||
|
|
||||||
Die App bietet private Nachrichten, Gruppen und Foren sowie Blogs. Unterstützung für das Tor-Netzwerk ist in die App eingebaut. Alles, was du in Briar tust, wird nur auf deinem Gerät gespeichert, es sei denn, du entscheidest dich, es mit anderen Nutzern zu teilen.
|
Die App bietet private Nachrichten, Gruppen und Foren sowie Blogs. Die Unterstützung für das Tor-Netzwerk ist in die App integriert. Alles, was du in Briar machst, wird nur auf deinem Gerät gespeichert, es sei denn, du entscheidest dich, es mit anderen Benutzern zu teilen.
|
||||||
|
|
||||||
Es gibt keine Werbung und kein Tracking. Der Quellcode der App ist vollständig offen und für jeden zur Inspektion zugänglich und wurde bereits professionell überprüft. Alle Versionen von Briar sind reproduzierbar, was es möglich macht, zu überprüfen, dass der veröffentlichte Quellcode genau mit der hier veröffentlichten App übereinstimmt. Die Entwicklung erfolgt durch ein kleines gemeinnütziges Team.
|
Es gibt keine Werbung und kein Tracking. Der Quellcode der App ist komplett offen für jeden einsehbar und wurde bereits professionell auditiert. Alle Versionen von Briar sind reproduzierbar, so dass überprüft werden kann, ob der veröffentlichte Quellcode genau mit der hier veröffentlichten App übereinstimmt. Die Entwicklung wird von einem kleinen Non-Profit-Team durchgeführt.
|
||||||
|
|
||||||
Datenschutzrichtlinien: https://briarproject.org/privacy
|
|
||||||
|
|
||||||
Benutzeranleitung: https://briarproject.org/manual
|
|
||||||
|
|
||||||
Quellcode: https://code.briarproject.org/briar/briar
|
|
||||||
@@ -1,11 +1,5 @@
|
|||||||
Briar is a messaging app designed for activists, journalists, and anyone else who needs a safe, easy and robust way to communicate. Unlike traditional messaging apps, Briar doesn't rely on a central server - messages are synchronized directly between the users' devices. If the Internet's down, Briar can sync via Bluetooth, Wi-Fi or memory cards, keeping the information flowing in a crisis. If the Internet's up, Briar can sync via the Tor network, protecting users and their relationships from surveillance.
|
Briar is a messaging app designed for activists, journalists, and anyone else who needs a safe, easy and robust way to communicate. Unlike traditional messaging apps, Briar doesn't rely on a central server - messages are synchronized directly between the users' devices. If the internet's down, Briar can sync via Bluetooth or Wi-Fi, keeping the information flowing in a crisis. If the internet's up, Briar can sync via the Tor network, protecting users and their relationships from surveillance.
|
||||||
|
|
||||||
The app features private messages, groups and forums as well as blogs. Support for the Tor network is built into the app. Everything you do in Briar is only stored on your device unless you decide to share it with other users.
|
The app features private messages, groups and forums as well as blogs. Support for Tor network is built into the app. Everything you do in Briar is only stored on your device unless you decide to share it with other users.
|
||||||
|
|
||||||
There are no advertisements and no tracking. The source code of the app is completely open for anyone to inspect and has already been professionally audited. All releases of Briar are reproducible, making it possible to verify that the published source code exactly matches the app published here. Development is done by a small non-profit team.
|
There are no advertisements and no tracking. The source code of the app is completely open for anyone to inspect and has already been professionally audited. All releases of Briar are reproducible, making it possible to verify that the published source code matches exactly the app published here. Development is done by a small non-profit team.
|
||||||
|
|
||||||
Privacy policy: https://briarproject.org/privacy
|
|
||||||
|
|
||||||
User manual: https://briarproject.org/manual
|
|
||||||
|
|
||||||
Source code: https://code.briarproject.org/briar/briar
|
|
||||||
@@ -1,11 +1,5 @@
|
|||||||
Briar este o aplicație de mesagerie concepută pentru activiști, jurnaliști și oricine altcineva care are nevoie de o modalitate sigură, ușoară și robustă de a comunica. Spre deosebire de aplicațiile de mesagerie tradiționale, Briar nu se bazează pe un server central, ci mesajele sunt sincronizate direct între dispozitivele utilizatorilor. Dacă nu este disponibilă o conexiune la internet, Briar poate realiza sincronizarea mesajelor prin Bluetooth, Wi-Fi sau carduri de memorie, permițând schimbul de informații într-o situație de criză. Când se reface conexiunea la internet, Briar poate realiza sincronizarea prin intermediul rețelei Tor, asigurând protecția utilizatorilor și a relațiilor lor împotriva supravegherii.
|
Briar este o aplicație de mesagerie concepută pentru activiști, jurnaliști și oricine altcineva care are nevoie de o modalitate sigură, ușoară și robustă de a comunica. Spre deosebire de aplicațiile de mesagerie tradiționale, Briar nu se bazează pe un server central, ci mesajele sunt sincronizate direct între dispozitivele utilizatorilor. Dacă nu este disponibilă o conexiune la internet, Briar poate realiza sincronizarea mesajelor prin Bluetooth sau Wi-Fi, permițând schimbul de informații într-o situație de criză. Când se reface conexiunea la internet, Briar poate realiza sincronizarea prin intermediul rețelei Tor, asigurând protecția utilizatorilor și a relațiilor lor împotriva supravegherii.
|
||||||
|
|
||||||
Aplicația oferă mesaje private, grupuri și forumuri, precum și bloguri. Suportul pentru rețeaua Tor este integrat în aplicație. Tot ceea ce faceți în Briar se stochează doar pe dispozitivul dvs., cu excepția cazului în care decideți partajarea cu alți utilizatori.
|
Aplicația oferă mesaje private, grupuri și forumuri, precum și bloguri. Suportul pentru rețeaua Tor este integrat în aplicație. Tot ceea ce faceți în Briar se stochează doar pe dispozitivul dvs., cu excepția cazului în care decideți partajarea cu alți utilizatori.
|
||||||
|
|
||||||
Nu există reclame și nici urmărire. Codul sursă al aplicației este complet deschis pentru a fi inspectat de oricine și a fost deja auditat de specialiști. Toate versiunile Briar sunt reproductibile, ceea ce face posibilă verificarea potrivirii exacte a codului sursă publicat cu aplicația publicată aici. Dezvoltarea este realizată de o mică echipă non-profit.
|
Nu există reclame și nici urmărire. Codul sursă al aplicației este complet deschis pentru a fi inspectat de oricine și a fost deja auditat de specialiști. Toate versiunile Briar sunt reproductibile, ceea ce face posibilă verificarea potrivirii exacte a codului sursă publicat cu aplicația publicată aici. Dezvoltarea este realizată de o mică echipă non-profit.
|
||||||
|
|
||||||
Politica de intimitate: https://briarproject.org/privacy
|
|
||||||
|
|
||||||
Manualul de utilizare: https://briarproject.org/manual
|
|
||||||
|
|
||||||
Codul sursă: https://code.briarproject.org/briar/briar
|
|
||||||
@@ -1,11 +1,5 @@
|
|||||||
Briar je aplikácia na zasielanie správ určená pre aktivistov, novinárov a všetkých, ktorí potrebujú bezpečný, jednoduchý a spoľahlivý spôsob komunikácie. Na rozdiel od tradičných aplikácií na zasielanie správ, Briar sa nespolieha na centrálny server - správy sa synchronizujú priamo medzi zariadeniami používateľov. V prípade výpadku internetu sa Briar dokáže synchronizovať cez Bluetooth, Wi-Fi alebo pamäťové karty, čím udržiava tok informácií aj v krízových situáciách. Ak je internet v prevádzke, Briar sa môže synchronizovať prostredníctvom siete Tor, čím chráni používateľov a ich vzťahy pred sledovaním.
|
Briar je aplikácia na zasielanie správ určená pre aktivistov, novinárov a všetkých, ktorí potrebujú bezpečný, jednoduchý a spoľahlivý spôsob komunikácie. Na rozdiel od tradičných aplikácií na zasielanie správ, Briar sa nespolieha na centrálny server - správy sa synchronizujú priamo medzi zariadeniami používateľov. Ak vypadne internet, Briar sa dokáže synchronizovať cez Bluetooth alebo Wi-Fi, čím udržiava tok informácií aj v krízových situáciách. Ak internet funguje, Briar sa môže synchronizovať cez sieť Tor, čím chráni používateľov a ich vzťahy pred sledovaním.
|
||||||
|
|
||||||
Aplikácia poskytuje súkromné správy, skupiny a fóra, ako aj blogy. V aplikácii je zabudovaná podpora siete Tor. Všetko, čo robíte v aplikácii Briar, sa ukladá len vo vašom zariadení, pokiaľ sa to nerozhodnete zdieľať s ostatnými používateľmi.
|
Aplikácia poskytuje súkromné správy, skupiny a fóra, ako aj blogy. V aplikácii je zabudovaná podpora siete Tor. Všetko, čo robíte v aplikácii Briar, sa ukladá len vo vašom zariadení, pokiaľ sa to nerozhodnete zdieľať s ostatnými používateľmi.
|
||||||
|
|
||||||
Nie sú tu žiadne reklamy ani sledovanie. Zdrojový kód aplikácie je úplne otvorený, aby si ho mohol ktokoľvek pozrieť, a už bol profesionálne skontrolovaný. Všetky vydania aplikácie Briar sú reprodukovateľné, čo umožňuje overiť, či sa zverejnený zdrojový kód presne zhoduje s touto zverejnenou aplikáciou. Vývoj vykonáva malý neziskový tím.
|
Nie sú tu žiadne reklamy ani sledovanie. Zdrojový kód aplikácie je úplne otvorený, aby si ho mohol ktokoľvek pozrieť a už bol profesionálne skontrolovaný. Všetky vydania aplikácie Briar sú reprodukovateľné, čo umožňuje overiť, či sa zverejnený zdrojový kód presne zhoduje s tu zverejnenou aplikáciou. Vývoj aplikácie vykonáva malý neziskový tím.
|
||||||
|
|
||||||
Zásady ochrany osobných údajov: https://briarproject.org/privacy
|
|
||||||
|
|
||||||
Používateľská príručka: https://briarproject.org/manual
|
|
||||||
|
|
||||||
Zdrojový kód: https://code.briarproject.org/briar/briar
|
|
||||||
@@ -1,11 +1,5 @@
|
|||||||
Briar është një aplikacion për shkëmbim mesazhesh, i konceptuar për veprimtarë, gazetarë, dhe cilido tjetër që ka nevojë për një mënyrë të sigurt, të lehtë dhe të fuqishme komunikimi. Ndryshe nga aplikacionet tradicionale, Briar-i nuk bazohet në një shërbyes qendror - mesazhet njëkohësohen drejtpërdrejt mes pajisjeve të përdoruesve. Nëse s’ka Internet, Briar-i mund të bëjë njëkohësimin me Bluetooth, Wi-Fi, ose karta kujtese, duke mbajtur kështu rrjedhën e informacioneve në rast krizash. Nëse ka Internet, Briar-i mund të bëjë njëkohësimet përmes rrjetit Tor, duke i mbrojtur përdoruesit dhe marrëdhëniet e tyre nga survejimi.
|
Briar është një aplikacion për shkëmbim mesazhesh, i konceptuar për veprimtarë, gazetarë, dhe cilido tjetër që ka nevojë për një mënyrë të sigurt, të lehtë dhe të fuqishme komunikimi. Ndryshe nga aplikacionet tradicionale, Briar-i nuk bazohet në një shërbyes qendror - mesazhet njëkohësohen drejtpërdrejt mes pajisjeve të përdoruesve. Nëse s’ka internet, Briar-i mund të bëjë njëkohësimin me Bluetooth ose Wi-Fi, duke mbajtur kështu rrjedhën e informacioneve në rast krizash. Nëse ka Internet, Briar-i mund të bëjë njëkohësimet përmes rrjetit Tor, duke i mbrojtur përdoruesit dhe marrëdhëniet e tyre nga survejimi.
|
||||||
|
|
||||||
Aplikacioni lejon mesazhe, grupe dhe forume private, si edhe blogje. Rrjeti Tor mbulohet së brendshmi nga aplikacioni. Gjithçka që bëni në Briar depozitohet vetëm në pajisjen tuaj, veç në vendosshi ta ndani me përdorues të tjerë.
|
Aplikacioni lejon mesazhe, grupe dhe forume private, si edhe blogje. Rrjeti Tor mbulohet së brendshmi nga aplikacioni. Gjithçka që bëni në Briar depozitohet vetëm në pajisjen tuaj, veç në vendosshi ta ndani me përdorues të tjerë.
|
||||||
|
|
||||||
S’ka reklama dhe as gjurmim. Kodi burim i aplikacionit është plotësisht i lirë që ta inspektojë cilido dhe është shqyrtuar tashmë profesionalisht. Krejt hedhjet në qarkullim të Briar-it janë të riprodhueshme, duke bërë të mundur të verifikohet se kodi burim i bërë publik përputhet saktësisht me aplikacionin e publikuar këtu. Zhvillimi bëhet nga një ekip i vogël jofitimprurës.
|
S’ka reklama dhe as gjurmim. Kodi burim i aplikacionit është plotësisht i lirë që ta inspektojë cilido dhe është shqyrtuar tashmë profesionalisht. Krejt hedhjet në qarkullim të Briar-it janë të riprodhueshme, duke bërë të mundur të verifikohet se kodi burim i bërë publik përputhet plotësisht me aplikacionin e publikuar këtu. Zhvillimi bëhet nga një ekip i vogël jofitimprurës.
|
||||||
|
|
||||||
Rregulla privatësie: https://briarproject.org/privacy
|
|
||||||
|
|
||||||
Doracak përdoruesi: https://briarproject.org/manual
|
|
||||||
|
|
||||||
Kod burim: https://code.briarproject.org/briar/briar
|
|
||||||
@@ -1,11 +1,5 @@
|
|||||||
Briar aktivistler ve gazeteciler başta olmak üzere güvenli, kolay ve sağlam bir iletişim isteyen herkes için tasarlanmış bir ileti aktarımı sistemidir. Geleneksel ileti aktarımı sistemlerinin aksine Briar merkezi bir sunucu kullanmaz. İletiler doğrudan kullanıcıların aygıtları arasında eşleştirilir. İnternet erişimi yoksa Briar iletileri Bluetooth veya Wi-Fi üzerinden de aktarabilir ve kriz durumlarında bilgi akışını sürdürür. İnternet erişimi varken Briar iletileri Tor ağı üzerinden aktarır. Böylece kullanıcılar ve yazıştıkları kişiler izlenmekten korunmuş olur.
|
Briar aktivistler ve gazeteciler başta olmak üzere güvenli, kolay ve sağlam bir iletişim isteyen herkes için tasarlanmış bir ileti sistemidir. Geleneksel ileti sistemlerinin aksine Briar merkezi bir sunucu kullanmaz, iletiler doğrudan kullanıcıların aygıtları arasında eşleştirilir. Briar, eğer İnternet yoksa Bluetooth veya Wi-Fi aracılığıyla da iletileri iletebilir, böylece kriz durumlarında bilgi akışını sürdürür. İnternet varken Briar Tor ağı aracılığıyla iletim sağlar, böylece kullanıcıları ve ilişkilerini gözetimden korumuş olur.
|
||||||
|
|
||||||
Bu uygulamada özel iletiler, gruplar, forumlar ve günlük özellikleri bulunur. Tor ağı desteği uygulama ile bütünleştirilmiştir. Briar üzerinde yaptığınız her şey, siz başka kullanıcılarla paylaşmayı seçmediğiniz sürece, yalnızca kendi aygıtınızda tutulur.
|
Bu uygulama özel iletiler, gruplar ve forumlarla birlikte blog özelliklerine sahiptir. Tor ağı desteği uygulamada gömülüdür. Briar üzerinde yaptığınız her şey, siz başka kullanıcılarla paylaşmayı seçmediğiniz sürece, sadece kendi aygıtınızda saklanır.
|
||||||
|
|
||||||
Reklam yok, izleme yok. Uygulamanın kaynak kodu, incelemek isteyen herkese açıktır ve profesyonel uzmanlar tarafından da denetlenmiştir. Tüm Briar sürümleri yeniden üretilebilir. Böylece yayınlanmış kaynak kodunun, burada yayınlanan uygulamayla bire bir aynı olduğu doğrulanabilir. Uygulama kâr amacı gütmeyen küçük bir ekip tarafından geliştirilmektedir.
|
Ne reklam var, ne de sizi izleme. Uygulamanın kaynak kodu, incelemek isteyen herkese tamamen açıktır ve zaten profesyonel olarak da denetlenmiştir. Briar'ın tüm sürümleri yeniden üretilebilir, böylece yayınlanan kaynak kodun, burada yayınlanan uygulamayla tam olarak eşlendiğini doğrulamak mümkündür. Uygulama kâr amacı gütmeyen küçük bir ekip tarafından geliştirilmektedir.
|
||||||
|
|
||||||
Gizlilik ilkesi: https://briarproject.org/privacy
|
|
||||||
|
|
||||||
Kullanım rehberi: https://briarproject.org/manual
|
|
||||||
|
|
||||||
Kaynak kodu: https://code.briarproject.org/briar/briar
|
|
||||||
@@ -1 +1 @@
|
|||||||
Güvenli ileti gönderimi, her yerde.
|
Güvenli mesajlaşma, nerede olursa olsun.
|
||||||
@@ -15,7 +15,4 @@
|
|||||||
-keep class junit.** { *; }
|
-keep class junit.** { *; }
|
||||||
-dontwarn junit.**
|
-dontwarn junit.**
|
||||||
|
|
||||||
-keep class org.jmock.** { *; }
|
|
||||||
-dontwarn org.jmock.**
|
|
||||||
|
|
||||||
-dontwarn org.briarproject.briar.android.**
|
-dontwarn org.briarproject.briar.android.**
|
||||||
|
|||||||
@@ -4,9 +4,7 @@ import android.app.Activity;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
|
||||||
import org.briarproject.bramble.api.account.AccountManager;
|
import org.briarproject.bramble.api.account.AccountManager;
|
||||||
import org.briarproject.bramble.api.db.DbException;
|
|
||||||
import org.briarproject.bramble.api.lifecycle.LifecycleManager;
|
import org.briarproject.bramble.api.lifecycle.LifecycleManager;
|
||||||
import org.briarproject.bramble.api.settings.Settings;
|
|
||||||
import org.briarproject.bramble.api.settings.SettingsManager;
|
import org.briarproject.bramble.api.settings.SettingsManager;
|
||||||
import org.briarproject.briar.R;
|
import org.briarproject.briar.R;
|
||||||
import org.briarproject.nullsafety.NotNullByDefault;
|
import org.briarproject.nullsafety.NotNullByDefault;
|
||||||
@@ -18,11 +16,6 @@ import androidx.test.espresso.intent.rule.IntentsTestRule;
|
|||||||
|
|
||||||
import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
|
import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
|
||||||
import static androidx.test.core.app.ApplicationProvider.getApplicationContext;
|
import static androidx.test.core.app.ApplicationProvider.getApplicationContext;
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.SETTINGS_NAMESPACE;
|
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.SHOW_ONBOARDING_IMAGE;
|
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.SHOW_ONBOARDING_INTRODUCTION;
|
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.SHOW_ONBOARDING_REVEAL_CONTACTS;
|
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.SHOW_ONBOARDING_TRANSPORTS;
|
|
||||||
|
|
||||||
|
|
||||||
@SuppressWarnings("WeakerAccess")
|
@SuppressWarnings("WeakerAccess")
|
||||||
@@ -56,19 +49,6 @@ public abstract class UiTest {
|
|||||||
getApplicationContext().startActivity(i);
|
getApplicationContext().startActivity(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void disableOnboarding() {
|
|
||||||
try {
|
|
||||||
Settings settings = new Settings();
|
|
||||||
settings.putBoolean(SHOW_ONBOARDING_TRANSPORTS, false);
|
|
||||||
settings.putBoolean(SHOW_ONBOARDING_IMAGE, false);
|
|
||||||
settings.putBoolean(SHOW_ONBOARDING_INTRODUCTION, false);
|
|
||||||
settings.putBoolean(SHOW_ONBOARDING_REVEAL_CONTACTS, false);
|
|
||||||
settingsManager.mergeSettings(settings, SETTINGS_NAMESPACE);
|
|
||||||
} catch (DbException e) {
|
|
||||||
throw new AssertionError(e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@NotNullByDefault
|
@NotNullByDefault
|
||||||
protected class CleanAccountTestRule<A extends Activity>
|
protected class CleanAccountTestRule<A extends Activity>
|
||||||
extends IntentsTestRule<A> {
|
extends IntentsTestRule<A> {
|
||||||
@@ -90,7 +70,7 @@ public abstract class UiTest {
|
|||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException e) {
|
||||||
throw new AssertionError(e);
|
throw new AssertionError(e);
|
||||||
}
|
}
|
||||||
disableOnboarding();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ import static androidx.test.espresso.Espresso.onView;
|
|||||||
import static androidx.test.espresso.action.ViewActions.click;
|
import static androidx.test.espresso.action.ViewActions.click;
|
||||||
import static androidx.test.espresso.action.ViewActions.closeSoftKeyboard;
|
import static androidx.test.espresso.action.ViewActions.closeSoftKeyboard;
|
||||||
import static androidx.test.espresso.action.ViewActions.replaceText;
|
import static androidx.test.espresso.action.ViewActions.replaceText;
|
||||||
|
import static androidx.test.espresso.action.ViewActions.scrollTo;
|
||||||
import static androidx.test.espresso.assertion.ViewAssertions.matches;
|
import static androidx.test.espresso.assertion.ViewAssertions.matches;
|
||||||
import static androidx.test.espresso.contrib.RecyclerViewActions.actionOnItemAtPosition;
|
import static androidx.test.espresso.contrib.RecyclerViewActions.actionOnItemAtPosition;
|
||||||
import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
|
import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
|
||||||
@@ -62,7 +63,7 @@ public class PromoVideoTest extends ScreenshotTest {
|
|||||||
new ActivityScenarioRule<>(SplashScreenActivity.class);
|
new ActivityScenarioRule<>(SplashScreenActivity.class);
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
ContactManager contactManager;
|
protected ContactManager contactManager;
|
||||||
|
|
||||||
private OverlayView overlayView;
|
private OverlayView overlayView;
|
||||||
|
|
||||||
@@ -180,6 +181,7 @@ public class PromoVideoTest extends ScreenshotTest {
|
|||||||
sleep(DELAY_SMALL);
|
sleep(DELAY_SMALL);
|
||||||
|
|
||||||
// add pending contact
|
// add pending contact
|
||||||
|
onView(withId(R.id.addButton)).perform(scrollTo());
|
||||||
doClick(withId(R.id.addButton));
|
doClick(withId(R.id.addButton));
|
||||||
sleep(DELAY_LONG);
|
sleep(DELAY_LONG);
|
||||||
|
|
||||||
@@ -212,7 +214,7 @@ public class PromoVideoTest extends ScreenshotTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// click on new contact
|
// click on new contact
|
||||||
doItemClick(withId(R.id.recyclerView));
|
doItemClick(withId(R.id.recyclerView), 0);
|
||||||
|
|
||||||
sleep(DELAY_MEDIUM);
|
sleep(DELAY_MEDIUM);
|
||||||
|
|
||||||
@@ -263,14 +265,15 @@ public class PromoVideoTest extends ScreenshotTest {
|
|||||||
.perform(click());
|
.perform(click());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void doItemClick(final Matcher<View> viewMatcher)
|
private void doItemClick(final Matcher<View> viewMatcher, int pos)
|
||||||
throws InterruptedException {
|
throws InterruptedException {
|
||||||
if (isFilming) {
|
if (isFilming) {
|
||||||
onView(viewMatcher).perform(
|
onView(viewMatcher).perform(
|
||||||
actionOnItemAtPosition(0, visualClick(overlayView)));
|
actionOnItemAtPosition(pos, visualClick(overlayView)));
|
||||||
sleep(500);
|
sleep(500);
|
||||||
}
|
}
|
||||||
onView(viewMatcher).perform(actionOnItemAtPosition(0, click()));
|
onView(viewMatcher).perform(
|
||||||
|
actionOnItemAtPosition(pos, click()));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void closeKeyboard(final Matcher<View> viewMatcher)
|
private void closeKeyboard(final Matcher<View> viewMatcher)
|
||||||
|
|||||||
@@ -23,13 +23,13 @@ public abstract class ScreenshotTest extends UiTest {
|
|||||||
public static final LocaleTestRule localeTestRule = new LocaleTestRule();
|
public static final LocaleTestRule localeTestRule = new LocaleTestRule();
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
TestDataCreator testDataCreator;
|
protected TestDataCreator testDataCreator;
|
||||||
@Inject
|
@Inject
|
||||||
ConnectionRegistry connectionRegistry;
|
protected ConnectionRegistry connectionRegistry;
|
||||||
@Inject
|
@Inject
|
||||||
Clock clock;
|
protected Clock clock;
|
||||||
|
|
||||||
void screenshot(String name, ActivityScenarioRule<?> rule) {
|
protected void screenshot(String name, ActivityScenarioRule<?> rule) {
|
||||||
rule.getScenario().onActivity(activity -> screenshot(name, activity));
|
rule.getScenario().onActivity(activity -> screenshot(name, activity));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -47,4 +47,9 @@ public abstract class ScreenshotTest extends UiTest {
|
|||||||
Log.w("Screengrab", "Permission to write screenshot is missing.");
|
Log.w("Screengrab", "Permission to write screenshot is missing.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected long getMinutesAgo(int minutes) {
|
||||||
|
return clock.currentTimeMillis() - minutes * 60 * 1000;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package org.briarproject.briar.android.settings;
|
package org.briarproject.briar.android.settings;
|
||||||
|
|
||||||
|
import android.content.Intent;
|
||||||
import android.view.Gravity;
|
import android.view.Gravity;
|
||||||
|
|
||||||
import org.briarproject.briar.R;
|
import org.briarproject.briar.R;
|
||||||
@@ -15,7 +16,6 @@ import androidx.test.ext.junit.runners.AndroidJUnit4;
|
|||||||
|
|
||||||
import static androidx.test.core.app.ApplicationProvider.getApplicationContext;
|
import static androidx.test.core.app.ApplicationProvider.getApplicationContext;
|
||||||
import static androidx.test.espresso.Espresso.onView;
|
import static androidx.test.espresso.Espresso.onView;
|
||||||
import static androidx.test.espresso.Espresso.pressBack;
|
|
||||||
import static androidx.test.espresso.action.ViewActions.click;
|
import static androidx.test.espresso.action.ViewActions.click;
|
||||||
import static androidx.test.espresso.assertion.ViewAssertions.matches;
|
import static androidx.test.espresso.assertion.ViewAssertions.matches;
|
||||||
import static androidx.test.espresso.contrib.DrawerMatchers.isClosed;
|
import static androidx.test.espresso.contrib.DrawerMatchers.isClosed;
|
||||||
@@ -31,11 +31,9 @@ import static org.junit.Assume.assumeTrue;
|
|||||||
@RunWith(AndroidJUnit4.class)
|
@RunWith(AndroidJUnit4.class)
|
||||||
public class SettingsActivityScreenshotTest extends ScreenshotTest {
|
public class SettingsActivityScreenshotTest extends ScreenshotTest {
|
||||||
|
|
||||||
// Start from the nav drawer activity so we can go back to it and take
|
|
||||||
// screenshots showing the effects of changing settings
|
|
||||||
@Rule
|
@Rule
|
||||||
public CleanAccountTestRule<NavDrawerActivity> testRule =
|
public CleanAccountTestRule<SettingsActivity> testRule =
|
||||||
new CleanAccountTestRule<>(NavDrawerActivity.class);
|
new CleanAccountTestRule<>(SettingsActivity.class);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void inject(BriarUiTestComponent component) {
|
protected void inject(BriarUiTestComponent component) {
|
||||||
@@ -44,10 +42,8 @@ public class SettingsActivityScreenshotTest extends ScreenshotTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void changeTheme() {
|
public void changeTheme() {
|
||||||
openNavDrawer();
|
|
||||||
onView(withText(R.string.settings_button))
|
onView(withText(R.string.settings_button))
|
||||||
.check(matches(isDisplayed()))
|
.check(matches(isDisplayed()));
|
||||||
.perform(click());
|
|
||||||
|
|
||||||
onView(withText(R.string.display_settings_title))
|
onView(withText(R.string.display_settings_title))
|
||||||
.perform(waitUntilMatches(isDisplayed()))
|
.perform(waitUntilMatches(isDisplayed()))
|
||||||
@@ -63,8 +59,6 @@ public class SettingsActivityScreenshotTest extends ScreenshotTest {
|
|||||||
.check(matches(isDisplayed()))
|
.check(matches(isDisplayed()))
|
||||||
.perform(click());
|
.perform(click());
|
||||||
|
|
||||||
pressBack();
|
|
||||||
pressBack();
|
|
||||||
openNavDrawer();
|
openNavDrawer();
|
||||||
|
|
||||||
screenshot("manual_dark_theme_nav_drawer", testRule.getActivity());
|
screenshot("manual_dark_theme_nav_drawer", testRule.getActivity());
|
||||||
@@ -74,8 +68,8 @@ public class SettingsActivityScreenshotTest extends ScreenshotTest {
|
|||||||
.check(matches(isDisplayed()))
|
.check(matches(isDisplayed()))
|
||||||
.perform(click());
|
.perform(click());
|
||||||
onView(withText(R.string.display_settings_title))
|
onView(withText(R.string.display_settings_title))
|
||||||
.perform(waitUntilMatches(isDisplayed()))
|
.check(matches(isDisplayed()))
|
||||||
.perform(click(), click());
|
.perform(click());
|
||||||
onView(withText(R.string.pref_theme_title))
|
onView(withText(R.string.pref_theme_title))
|
||||||
.check(matches(isDisplayed()))
|
.check(matches(isDisplayed()))
|
||||||
.perform(click());
|
.perform(click());
|
||||||
@@ -89,11 +83,6 @@ public class SettingsActivityScreenshotTest extends ScreenshotTest {
|
|||||||
assumeTrue("device has no screen lock",
|
assumeTrue("device has no screen lock",
|
||||||
hasScreenLock(getApplicationContext()));
|
hasScreenLock(getApplicationContext()));
|
||||||
|
|
||||||
openNavDrawer();
|
|
||||||
onView(withText(R.string.settings_button))
|
|
||||||
.check(matches(isDisplayed()))
|
|
||||||
.perform(click());
|
|
||||||
|
|
||||||
onView(withText(R.string.security_settings_title))
|
onView(withText(R.string.security_settings_title))
|
||||||
.perform(waitUntilMatches(isDisplayed()))
|
.perform(waitUntilMatches(isDisplayed()))
|
||||||
.perform(click(), click());
|
.perform(click(), click());
|
||||||
@@ -109,8 +98,6 @@ public class SettingsActivityScreenshotTest extends ScreenshotTest {
|
|||||||
|
|
||||||
screenshot("manual_app_lock", testRule.getActivity());
|
screenshot("manual_app_lock", testRule.getActivity());
|
||||||
|
|
||||||
pressBack();
|
|
||||||
pressBack();
|
|
||||||
openNavDrawer();
|
openNavDrawer();
|
||||||
|
|
||||||
screenshot("manual_app_lock_nav_drawer", testRule.getActivity());
|
screenshot("manual_app_lock_nav_drawer", testRule.getActivity());
|
||||||
@@ -118,11 +105,6 @@ public class SettingsActivityScreenshotTest extends ScreenshotTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void torSettings() {
|
public void torSettings() {
|
||||||
openNavDrawer();
|
|
||||||
onView(withText(R.string.settings_button))
|
|
||||||
.check(matches(isDisplayed()))
|
|
||||||
.perform(click());
|
|
||||||
|
|
||||||
// click network/connections settings
|
// click network/connections settings
|
||||||
onView(withText(R.string.network_settings_title))
|
onView(withText(R.string.network_settings_title))
|
||||||
.perform(waitUntilMatches(isDisplayed()))
|
.perform(waitUntilMatches(isDisplayed()))
|
||||||
@@ -137,8 +119,15 @@ public class SettingsActivityScreenshotTest extends ScreenshotTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void openNavDrawer() {
|
private void openNavDrawer() {
|
||||||
|
// start main activity
|
||||||
|
Intent i =
|
||||||
|
new Intent(testRule.getActivity(), NavDrawerActivity.class);
|
||||||
|
testRule.getActivity().startActivity(i);
|
||||||
|
|
||||||
|
// open navigation drawer
|
||||||
onView(withId(R.id.drawer_layout))
|
onView(withId(R.id.drawer_layout))
|
||||||
.check(matches(isClosed(Gravity.START)))
|
.check(matches(isClosed(Gravity.START)))
|
||||||
.perform(DrawerActions.open());
|
.perform(DrawerActions.open());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,9 @@
|
|||||||
<uses-feature
|
<uses-feature
|
||||||
android:name="android.hardware.touchscreen"
|
android:name="android.hardware.touchscreen"
|
||||||
android:required="false" />
|
android:required="false" />
|
||||||
|
<uses-feature
|
||||||
|
android:name="android.software.leanback"
|
||||||
|
android:required="false" />
|
||||||
|
|
||||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||||||
@@ -42,6 +45,7 @@
|
|||||||
<application
|
<application
|
||||||
android:name="org.briarproject.briar.android.BriarApplicationImpl"
|
android:name="org.briarproject.briar.android.BriarApplicationImpl"
|
||||||
android:allowBackup="false"
|
android:allowBackup="false"
|
||||||
|
android:banner="@mipmap/tv_banner"
|
||||||
android:dataExtractionRules="@xml/backup_extraction_rules"
|
android:dataExtractionRules="@xml/backup_extraction_rules"
|
||||||
android:fullBackupContent="@xml/backup_rules"
|
android:fullBackupContent="@xml/backup_rules"
|
||||||
android:icon="@mipmap/ic_launcher_round"
|
android:icon="@mipmap/ic_launcher_round"
|
||||||
@@ -120,6 +124,7 @@
|
|||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
|
|
||||||
<category android:name="android.intent.category.LAUNCHER" />
|
<category android:name="android.intent.category.LAUNCHER" />
|
||||||
|
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
|
|||||||
@@ -92,14 +92,7 @@ import static org.briarproject.briar.android.navdrawer.NavDrawerActivity.CONTACT
|
|||||||
import static org.briarproject.briar.android.navdrawer.NavDrawerActivity.CONTACT_URI;
|
import static org.briarproject.briar.android.navdrawer.NavDrawerActivity.CONTACT_URI;
|
||||||
import static org.briarproject.briar.android.navdrawer.NavDrawerActivity.FORUM_URI;
|
import static org.briarproject.briar.android.navdrawer.NavDrawerActivity.FORUM_URI;
|
||||||
import static org.briarproject.briar.android.navdrawer.NavDrawerActivity.GROUP_URI;
|
import static org.briarproject.briar.android.navdrawer.NavDrawerActivity.GROUP_URI;
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.PREF_NOTIFY_BLOG;
|
import static org.briarproject.briar.android.settings.SettingsFragment.SETTINGS_NAMESPACE;
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.PREF_NOTIFY_FORUM;
|
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.PREF_NOTIFY_GROUP;
|
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.PREF_NOTIFY_PRIVATE;
|
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.PREF_NOTIFY_RINGTONE_URI;
|
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.PREF_NOTIFY_SOUND;
|
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.PREF_NOTIFY_VIBRATION;
|
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.SETTINGS_NAMESPACE;
|
|
||||||
|
|
||||||
@ThreadSafe
|
@ThreadSafe
|
||||||
@MethodsNotNullByDefault
|
@MethodsNotNullByDefault
|
||||||
|
|||||||
@@ -26,8 +26,7 @@ import javax.inject.Inject;
|
|||||||
|
|
||||||
import static java.util.logging.Level.WARNING;
|
import static java.util.logging.Level.WARNING;
|
||||||
import static org.briarproject.bramble.util.LogUtils.logException;
|
import static org.briarproject.bramble.util.LogUtils.logException;
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.EMOJI_LRU_PREFERENCE;
|
import static org.briarproject.briar.android.settings.SettingsFragment.SETTINGS_NAMESPACE;
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.SETTINGS_NAMESPACE;
|
|
||||||
|
|
||||||
@MethodsNotNullByDefault
|
@MethodsNotNullByDefault
|
||||||
@ParametersNotNullByDefault
|
@ParametersNotNullByDefault
|
||||||
@@ -36,6 +35,7 @@ class RecentEmojiImpl implements RecentEmoji, OpenDatabaseHook {
|
|||||||
private static final Logger LOG =
|
private static final Logger LOG =
|
||||||
Logger.getLogger(RecentEmojiImpl.class.getName());
|
Logger.getLogger(RecentEmojiImpl.class.getName());
|
||||||
|
|
||||||
|
private static final String EMOJI_LRU_PREFERENCE = "pref_emoji_recent2";
|
||||||
private static final int EMOJI_LRU_SIZE = 50;
|
private static final int EMOJI_LRU_SIZE = 50;
|
||||||
|
|
||||||
// UI thread
|
// UI thread
|
||||||
|
|||||||
@@ -41,10 +41,10 @@ import static java.util.concurrent.TimeUnit.MINUTES;
|
|||||||
import static java.util.logging.Level.WARNING;
|
import static java.util.logging.Level.WARNING;
|
||||||
import static org.briarproject.bramble.util.AndroidUtils.getImmutableFlags;
|
import static org.briarproject.bramble.util.AndroidUtils.getImmutableFlags;
|
||||||
import static org.briarproject.bramble.util.LogUtils.logException;
|
import static org.briarproject.bramble.util.LogUtils.logException;
|
||||||
|
import static org.briarproject.briar.android.settings.SecurityFragment.PREF_SCREEN_LOCK;
|
||||||
|
import static org.briarproject.briar.android.settings.SecurityFragment.PREF_SCREEN_LOCK_TIMEOUT;
|
||||||
|
import static org.briarproject.briar.android.settings.SettingsFragment.SETTINGS_NAMESPACE;
|
||||||
import static org.briarproject.briar.android.util.UiUtils.hasScreenLock;
|
import static org.briarproject.briar.android.util.UiUtils.hasScreenLock;
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.PREF_SCREEN_LOCK;
|
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.PREF_SCREEN_LOCK_TIMEOUT;
|
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.SETTINGS_NAMESPACE;
|
|
||||||
|
|
||||||
@ThreadSafe
|
@ThreadSafe
|
||||||
@MethodsNotNullByDefault
|
@MethodsNotNullByDefault
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package org.briarproject.briar.android.contact.add.remote;
|
package org.briarproject.briar.android.contact.add.remote;
|
||||||
|
|
||||||
import android.content.ActivityNotFoundException;
|
|
||||||
import android.content.ClipData;
|
import android.content.ClipData;
|
||||||
import android.content.ClipboardManager;
|
import android.content.ClipboardManager;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
@@ -21,7 +20,6 @@ import org.briarproject.briar.android.view.InfoView;
|
|||||||
import org.briarproject.nullsafety.MethodsNotNullByDefault;
|
import org.briarproject.nullsafety.MethodsNotNullByDefault;
|
||||||
import org.briarproject.nullsafety.ParametersNotNullByDefault;
|
import org.briarproject.nullsafety.ParametersNotNullByDefault;
|
||||||
|
|
||||||
import java.util.logging.Logger;
|
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
@@ -31,12 +29,8 @@ import androidx.core.app.ShareCompat.IntentBuilder;
|
|||||||
import androidx.lifecycle.ViewModelProvider;
|
import androidx.lifecycle.ViewModelProvider;
|
||||||
|
|
||||||
import static android.content.Context.CLIPBOARD_SERVICE;
|
import static android.content.Context.CLIPBOARD_SERVICE;
|
||||||
import static android.widget.Toast.LENGTH_LONG;
|
|
||||||
import static android.widget.Toast.LENGTH_SHORT;
|
import static android.widget.Toast.LENGTH_SHORT;
|
||||||
import static java.util.logging.Level.WARNING;
|
|
||||||
import static java.util.logging.Logger.getLogger;
|
|
||||||
import static org.briarproject.bramble.api.contact.HandshakeLinkConstants.LINK_REGEX;
|
import static org.briarproject.bramble.api.contact.HandshakeLinkConstants.LINK_REGEX;
|
||||||
import static org.briarproject.bramble.util.LogUtils.logException;
|
|
||||||
import static org.briarproject.briar.android.util.UiUtils.hideViewOnSmallScreen;
|
import static org.briarproject.briar.android.util.UiUtils.hideViewOnSmallScreen;
|
||||||
import static org.briarproject.briar.android.util.UiUtils.observeOnce;
|
import static org.briarproject.briar.android.util.UiUtils.observeOnce;
|
||||||
|
|
||||||
@@ -45,7 +39,6 @@ import static org.briarproject.briar.android.util.UiUtils.observeOnce;
|
|||||||
public class LinkExchangeFragment extends BaseFragment {
|
public class LinkExchangeFragment extends BaseFragment {
|
||||||
|
|
||||||
private static final String TAG = LinkExchangeFragment.class.getName();
|
private static final String TAG = LinkExchangeFragment.class.getName();
|
||||||
private static final Logger LOG = getLogger(TAG);
|
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
ViewModelProvider.Factory viewModelFactory;
|
ViewModelProvider.Factory viewModelFactory;
|
||||||
@@ -123,18 +116,11 @@ public class LinkExchangeFragment extends BaseFragment {
|
|||||||
copyButton.setEnabled(true);
|
copyButton.setEnabled(true);
|
||||||
|
|
||||||
Button shareButton = v.findViewById(R.id.shareButton);
|
Button shareButton = v.findViewById(R.id.shareButton);
|
||||||
shareButton.setOnClickListener(view -> {
|
shareButton.setOnClickListener(view ->
|
||||||
try {
|
|
||||||
IntentBuilder.from(requireActivity())
|
IntentBuilder.from(requireActivity())
|
||||||
.setText(link)
|
.setText(link)
|
||||||
.setType("text/plain")
|
.setType("text/plain")
|
||||||
.startChooser();
|
.startChooser());
|
||||||
} catch (ActivityNotFoundException e) {
|
|
||||||
logException(LOG, WARNING, e);
|
|
||||||
Toast.makeText(requireContext(),
|
|
||||||
R.string.error_start_activity, LENGTH_LONG).show();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
shareButton.setEnabled(true);
|
shareButton.setEnabled(true);
|
||||||
|
|
||||||
InfoView infoText = v.findViewById(R.id.infoView);
|
InfoView infoText = v.findViewById(R.id.infoView);
|
||||||
|
|||||||
@@ -30,8 +30,7 @@ import static java.util.logging.Logger.getLogger;
|
|||||||
import static org.briarproject.android.dontkillmelib.DozeUtils.needsDozeWhitelisting;
|
import static org.briarproject.android.dontkillmelib.DozeUtils.needsDozeWhitelisting;
|
||||||
import static org.briarproject.bramble.api.lifecycle.LifecycleManager.LifecycleState.STARTING_SERVICES;
|
import static org.briarproject.bramble.api.lifecycle.LifecycleManager.LifecycleState.STARTING_SERVICES;
|
||||||
import static org.briarproject.bramble.util.LogUtils.logException;
|
import static org.briarproject.bramble.util.LogUtils.logException;
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.DOZE_ASK_AGAIN;
|
import static org.briarproject.briar.android.settings.SettingsFragment.SETTINGS_NAMESPACE;
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.SETTINGS_NAMESPACE;
|
|
||||||
|
|
||||||
@NotNullByDefault
|
@NotNullByDefault
|
||||||
public class BriarControllerImpl implements BriarController {
|
public class BriarControllerImpl implements BriarController {
|
||||||
@@ -39,6 +38,8 @@ public class BriarControllerImpl implements BriarController {
|
|||||||
private static final Logger LOG =
|
private static final Logger LOG =
|
||||||
getLogger(BriarControllerImpl.class.getName());
|
getLogger(BriarControllerImpl.class.getName());
|
||||||
|
|
||||||
|
public static final String DOZE_ASK_AGAIN = "dozeAskAgain";
|
||||||
|
|
||||||
private final BriarServiceConnection serviceConnection;
|
private final BriarServiceConnection serviceConnection;
|
||||||
private final AccountManager accountManager;
|
private final AccountManager accountManager;
|
||||||
private final LifecycleManager lifecycleManager;
|
private final LifecycleManager lifecycleManager;
|
||||||
|
|||||||
@@ -68,13 +68,11 @@ import static java.util.logging.Logger.getLogger;
|
|||||||
import static org.briarproject.bramble.util.LogUtils.logDuration;
|
import static org.briarproject.bramble.util.LogUtils.logDuration;
|
||||||
import static org.briarproject.bramble.util.LogUtils.logException;
|
import static org.briarproject.bramble.util.LogUtils.logException;
|
||||||
import static org.briarproject.bramble.util.LogUtils.now;
|
import static org.briarproject.bramble.util.LogUtils.now;
|
||||||
|
import static org.briarproject.briar.android.settings.SettingsFragment.SETTINGS_NAMESPACE;
|
||||||
import static org.briarproject.briar.android.util.UiUtils.observeForeverOnce;
|
import static org.briarproject.briar.android.util.UiUtils.observeForeverOnce;
|
||||||
import static org.briarproject.briar.android.view.TextSendController.SendState.ERROR;
|
import static org.briarproject.briar.android.view.TextSendController.SendState.ERROR;
|
||||||
import static org.briarproject.briar.android.view.TextSendController.SendState.SENT;
|
import static org.briarproject.briar.android.view.TextSendController.SendState.SENT;
|
||||||
import static org.briarproject.briar.android.view.TextSendController.SendState.UNEXPECTED_TIMER;
|
import static org.briarproject.briar.android.view.TextSendController.SendState.UNEXPECTED_TIMER;
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.SETTINGS_NAMESPACE;
|
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.SHOW_ONBOARDING_IMAGE;
|
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.SHOW_ONBOARDING_INTRODUCTION;
|
|
||||||
import static org.briarproject.briar.api.autodelete.AutoDeleteConstants.NO_AUTO_DELETE_TIMER;
|
import static org.briarproject.briar.api.autodelete.AutoDeleteConstants.NO_AUTO_DELETE_TIMER;
|
||||||
import static org.briarproject.briar.api.autodelete.AutoDeleteManager.DEFAULT_TIMER_DURATION;
|
import static org.briarproject.briar.api.autodelete.AutoDeleteManager.DEFAULT_TIMER_DURATION;
|
||||||
import static org.briarproject.briar.api.messaging.PrivateMessageFormat.TEXT_IMAGES;
|
import static org.briarproject.briar.api.messaging.PrivateMessageFormat.TEXT_IMAGES;
|
||||||
@@ -87,6 +85,11 @@ public class ConversationViewModel extends DbViewModel
|
|||||||
private static final Logger LOG =
|
private static final Logger LOG =
|
||||||
getLogger(ConversationViewModel.class.getName());
|
getLogger(ConversationViewModel.class.getName());
|
||||||
|
|
||||||
|
private static final String SHOW_ONBOARDING_IMAGE =
|
||||||
|
"showOnboardingImage";
|
||||||
|
private static final String SHOW_ONBOARDING_INTRODUCTION =
|
||||||
|
"showOnboardingIntroduction";
|
||||||
|
|
||||||
private final TransactionManager db;
|
private final TransactionManager db;
|
||||||
private final EventBus eventBus;
|
private final EventBus eventBus;
|
||||||
private final MessagingManager messagingManager;
|
private final MessagingManager messagingManager;
|
||||||
|
|||||||
@@ -28,10 +28,8 @@ import static java.util.logging.Logger.getLogger;
|
|||||||
import static org.briarproject.android.dontkillmelib.DozeUtils.needsDozeWhitelisting;
|
import static org.briarproject.android.dontkillmelib.DozeUtils.needsDozeWhitelisting;
|
||||||
import static org.briarproject.bramble.util.LogUtils.logException;
|
import static org.briarproject.bramble.util.LogUtils.logException;
|
||||||
import static org.briarproject.briar.android.TestingConstants.EXPIRY_DATE;
|
import static org.briarproject.briar.android.TestingConstants.EXPIRY_DATE;
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.DOZE_ASK_AGAIN;
|
import static org.briarproject.briar.android.controller.BriarControllerImpl.DOZE_ASK_AGAIN;
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.EXPIRY_DATE_WARNING;
|
import static org.briarproject.briar.android.settings.SettingsFragment.SETTINGS_NAMESPACE;
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.SETTINGS_NAMESPACE;
|
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.SHOW_ONBOARDING_TRANSPORTS;
|
|
||||||
|
|
||||||
@NotNullByDefault
|
@NotNullByDefault
|
||||||
public class NavDrawerViewModel extends DbViewModel {
|
public class NavDrawerViewModel extends DbViewModel {
|
||||||
@@ -39,6 +37,10 @@ public class NavDrawerViewModel extends DbViewModel {
|
|||||||
private static final Logger LOG =
|
private static final Logger LOG =
|
||||||
getLogger(NavDrawerViewModel.class.getName());
|
getLogger(NavDrawerViewModel.class.getName());
|
||||||
|
|
||||||
|
private static final String EXPIRY_DATE_WARNING = "expiryDateWarning";
|
||||||
|
private static final String SHOW_TRANSPORTS_ONBOARDING =
|
||||||
|
"showTransportsOnboarding";
|
||||||
|
|
||||||
private final SettingsManager settingsManager;
|
private final SettingsManager settingsManager;
|
||||||
|
|
||||||
private final MutableLiveData<Boolean> showExpiryWarning =
|
private final MutableLiveData<Boolean> showExpiryWarning =
|
||||||
@@ -151,7 +153,7 @@ public class NavDrawerViewModel extends DbViewModel {
|
|||||||
Settings settings =
|
Settings settings =
|
||||||
settingsManager.getSettings(SETTINGS_NAMESPACE);
|
settingsManager.getSettings(SETTINGS_NAMESPACE);
|
||||||
boolean show =
|
boolean show =
|
||||||
settings.getBoolean(SHOW_ONBOARDING_TRANSPORTS, true);
|
settings.getBoolean(SHOW_TRANSPORTS_ONBOARDING, true);
|
||||||
showTransportsOnboarding.postValue(show);
|
showTransportsOnboarding.postValue(show);
|
||||||
} catch (DbException e) {
|
} catch (DbException e) {
|
||||||
handleException(e);
|
handleException(e);
|
||||||
@@ -165,7 +167,7 @@ public class NavDrawerViewModel extends DbViewModel {
|
|||||||
runOnDbThread(() -> {
|
runOnDbThread(() -> {
|
||||||
try {
|
try {
|
||||||
Settings settings = new Settings();
|
Settings settings = new Settings();
|
||||||
settings.putBoolean(SHOW_ONBOARDING_TRANSPORTS, false);
|
settings.putBoolean(SHOW_TRANSPORTS_ONBOARDING, false);
|
||||||
settingsManager.mergeSettings(settings, SETTINGS_NAMESPACE);
|
settingsManager.mergeSettings(settings, SETTINGS_NAMESPACE);
|
||||||
} catch (DbException e) {
|
} catch (DbException e) {
|
||||||
handleException(e);
|
handleException(e);
|
||||||
|
|||||||
@@ -219,8 +219,7 @@ public class TransportsActivity extends BriarActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void onClicked(TransportId transportId, boolean enable) {
|
private void onClicked(TransportId transportId, boolean enable) {
|
||||||
if (transportId.equals(BluetoothConstants.ID) && enable
|
if (enable && SDK_INT >= 31 && !areBluetoothPermissionsGranted(this)) {
|
||||||
&& SDK_INT >= 31 && !areBluetoothPermissionsGranted(this)) {
|
|
||||||
if (shouldShowRequestPermissionRationale(BLUETOOTH_CONNECT)) {
|
if (shouldShowRequestPermissionRationale(BLUETOOTH_CONNECT)) {
|
||||||
showRationale(this, R.string.permission_bluetooth_title,
|
showRationale(this, R.string.permission_bluetooth_title,
|
||||||
R.string.permission_bluetooth_body,
|
R.string.permission_bluetooth_body,
|
||||||
|
|||||||
@@ -31,8 +31,7 @@ import javax.inject.Inject;
|
|||||||
import static java.util.logging.Level.INFO;
|
import static java.util.logging.Level.INFO;
|
||||||
import static java.util.logging.Level.WARNING;
|
import static java.util.logging.Level.WARNING;
|
||||||
import static org.briarproject.bramble.util.LogUtils.logException;
|
import static org.briarproject.bramble.util.LogUtils.logException;
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.SETTINGS_NAMESPACE;
|
import static org.briarproject.briar.android.settings.SettingsFragment.SETTINGS_NAMESPACE;
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.SHOW_ONBOARDING_REVEAL_CONTACTS;
|
|
||||||
import static org.briarproject.briar.api.privategroup.Visibility.INVISIBLE;
|
import static org.briarproject.briar.api.privategroup.Visibility.INVISIBLE;
|
||||||
|
|
||||||
@Immutable
|
@Immutable
|
||||||
@@ -42,6 +41,8 @@ class RevealContactsControllerImpl extends DbControllerImpl
|
|||||||
|
|
||||||
private static final Logger LOG =
|
private static final Logger LOG =
|
||||||
Logger.getLogger(RevealContactsControllerImpl.class.getName());
|
Logger.getLogger(RevealContactsControllerImpl.class.getName());
|
||||||
|
private static final String SHOW_ONBOARDING_REVEAL_CONTACTS =
|
||||||
|
"showOnboardingRevealContacts";
|
||||||
|
|
||||||
private final PrivateGroupManager groupManager;
|
private final PrivateGroupManager groupManager;
|
||||||
private final GroupInvitationManager groupInvitationManager;
|
private final GroupInvitationManager groupInvitationManager;
|
||||||
|
|||||||
@@ -47,12 +47,12 @@ import static org.briarproject.briar.api.android.AndroidNotificationManager.BLOG
|
|||||||
import static org.briarproject.briar.api.android.AndroidNotificationManager.CONTACT_CHANNEL_ID;
|
import static org.briarproject.briar.api.android.AndroidNotificationManager.CONTACT_CHANNEL_ID;
|
||||||
import static org.briarproject.briar.api.android.AndroidNotificationManager.FORUM_CHANNEL_ID;
|
import static org.briarproject.briar.api.android.AndroidNotificationManager.FORUM_CHANNEL_ID;
|
||||||
import static org.briarproject.briar.api.android.AndroidNotificationManager.GROUP_CHANNEL_ID;
|
import static org.briarproject.briar.api.android.AndroidNotificationManager.GROUP_CHANNEL_ID;
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.PREF_NOTIFY_BLOG;
|
import static org.briarproject.briar.api.android.AndroidNotificationManager.PREF_NOTIFY_BLOG;
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.PREF_NOTIFY_FORUM;
|
import static org.briarproject.briar.api.android.AndroidNotificationManager.PREF_NOTIFY_FORUM;
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.PREF_NOTIFY_GROUP;
|
import static org.briarproject.briar.api.android.AndroidNotificationManager.PREF_NOTIFY_GROUP;
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.PREF_NOTIFY_PRIVATE;
|
import static org.briarproject.briar.api.android.AndroidNotificationManager.PREF_NOTIFY_PRIVATE;
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.PREF_NOTIFY_SOUND;
|
import static org.briarproject.briar.api.android.AndroidNotificationManager.PREF_NOTIFY_SOUND;
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.PREF_NOTIFY_VIBRATION;
|
import static org.briarproject.briar.api.android.AndroidNotificationManager.PREF_NOTIFY_VIBRATION;
|
||||||
|
|
||||||
@MethodsNotNullByDefault
|
@MethodsNotNullByDefault
|
||||||
@ParametersNotNullByDefault
|
@ParametersNotNullByDefault
|
||||||
|
|||||||
@@ -27,15 +27,15 @@ import static java.util.logging.Logger.getLogger;
|
|||||||
import static org.briarproject.bramble.util.LogUtils.logDuration;
|
import static org.briarproject.bramble.util.LogUtils.logDuration;
|
||||||
import static org.briarproject.bramble.util.LogUtils.logException;
|
import static org.briarproject.bramble.util.LogUtils.logException;
|
||||||
import static org.briarproject.bramble.util.LogUtils.now;
|
import static org.briarproject.bramble.util.LogUtils.now;
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.PREF_NOTIFY_BLOG;
|
import static org.briarproject.briar.android.settings.SettingsFragment.SETTINGS_NAMESPACE;
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.PREF_NOTIFY_FORUM;
|
import static org.briarproject.briar.api.android.AndroidNotificationManager.PREF_NOTIFY_BLOG;
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.PREF_NOTIFY_GROUP;
|
import static org.briarproject.briar.api.android.AndroidNotificationManager.PREF_NOTIFY_FORUM;
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.PREF_NOTIFY_PRIVATE;
|
import static org.briarproject.briar.api.android.AndroidNotificationManager.PREF_NOTIFY_GROUP;
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.PREF_NOTIFY_RINGTONE_NAME;
|
import static org.briarproject.briar.api.android.AndroidNotificationManager.PREF_NOTIFY_PRIVATE;
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.PREF_NOTIFY_RINGTONE_URI;
|
import static org.briarproject.briar.api.android.AndroidNotificationManager.PREF_NOTIFY_RINGTONE_NAME;
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.PREF_NOTIFY_SOUND;
|
import static org.briarproject.briar.api.android.AndroidNotificationManager.PREF_NOTIFY_RINGTONE_URI;
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.PREF_NOTIFY_VIBRATION;
|
import static org.briarproject.briar.api.android.AndroidNotificationManager.PREF_NOTIFY_SOUND;
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.SETTINGS_NAMESPACE;
|
import static org.briarproject.briar.api.android.AndroidNotificationManager.PREF_NOTIFY_VIBRATION;
|
||||||
|
|
||||||
@MethodsNotNullByDefault
|
@MethodsNotNullByDefault
|
||||||
@ParametersNotNullByDefault
|
@ParametersNotNullByDefault
|
||||||
|
|||||||
@@ -22,13 +22,15 @@ import static java.util.Objects.requireNonNull;
|
|||||||
import static org.briarproject.briar.android.AppModule.getAndroidComponent;
|
import static org.briarproject.briar.android.AppModule.getAndroidComponent;
|
||||||
import static org.briarproject.briar.android.settings.SettingsActivity.enableAndPersist;
|
import static org.briarproject.briar.android.settings.SettingsActivity.enableAndPersist;
|
||||||
import static org.briarproject.briar.android.util.UiUtils.hasScreenLock;
|
import static org.briarproject.briar.android.util.UiUtils.hasScreenLock;
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.PREF_SCREEN_LOCK;
|
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.PREF_SCREEN_LOCK_TIMEOUT;
|
|
||||||
|
|
||||||
@MethodsNotNullByDefault
|
@MethodsNotNullByDefault
|
||||||
@ParametersNotNullByDefault
|
@ParametersNotNullByDefault
|
||||||
public class SecurityFragment extends PreferenceFragmentCompat {
|
public class SecurityFragment extends PreferenceFragmentCompat {
|
||||||
|
|
||||||
|
public static final String PREF_SCREEN_LOCK = "pref_key_lock";
|
||||||
|
public static final String PREF_SCREEN_LOCK_TIMEOUT =
|
||||||
|
"pref_key_lock_timeout";
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
ViewModelProvider.Factory viewModelFactory;
|
ViewModelProvider.Factory viewModelFactory;
|
||||||
|
|
||||||
|
|||||||
@@ -37,6 +37,8 @@ import static org.briarproject.briar.android.util.UiUtils.tryToStartActivity;
|
|||||||
@ParametersNotNullByDefault
|
@ParametersNotNullByDefault
|
||||||
public class SettingsFragment extends PreferenceFragmentCompat {
|
public class SettingsFragment extends PreferenceFragmentCompat {
|
||||||
|
|
||||||
|
public static final String SETTINGS_NAMESPACE = "android-ui";
|
||||||
|
|
||||||
private static final String PREF_KEY_AVATAR = "pref_key_avatar";
|
private static final String PREF_KEY_AVATAR = "pref_key_avatar";
|
||||||
private static final String PREF_KEY_SHARE_LINK = "pref_key_share_app_link";
|
private static final String PREF_KEY_SHARE_LINK = "pref_key_share_app_link";
|
||||||
private static final String PREF_KEY_FEEDBACK = "pref_key_send_feedback";
|
private static final String PREF_KEY_FEEDBACK = "pref_key_send_feedback";
|
||||||
|
|||||||
@@ -54,9 +54,9 @@ import static org.briarproject.bramble.util.AndroidUtils.getSupportedImageConten
|
|||||||
import static org.briarproject.bramble.util.LogUtils.logDuration;
|
import static org.briarproject.bramble.util.LogUtils.logDuration;
|
||||||
import static org.briarproject.bramble.util.LogUtils.logException;
|
import static org.briarproject.bramble.util.LogUtils.logException;
|
||||||
import static org.briarproject.bramble.util.LogUtils.now;
|
import static org.briarproject.bramble.util.LogUtils.now;
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.PREF_SCREEN_LOCK;
|
import static org.briarproject.briar.android.settings.SecurityFragment.PREF_SCREEN_LOCK;
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.PREF_SCREEN_LOCK_TIMEOUT;
|
import static org.briarproject.briar.android.settings.SecurityFragment.PREF_SCREEN_LOCK_TIMEOUT;
|
||||||
import static org.briarproject.briar.api.android.SettingsConstants.SETTINGS_NAMESPACE;
|
import static org.briarproject.briar.android.settings.SettingsFragment.SETTINGS_NAMESPACE;
|
||||||
|
|
||||||
@MethodsNotNullByDefault
|
@MethodsNotNullByDefault
|
||||||
@ParametersNotNullByDefault
|
@ParametersNotNullByDefault
|
||||||
|
|||||||
@@ -11,6 +11,17 @@ import org.briarproject.bramble.api.sync.GroupId;
|
|||||||
*/
|
*/
|
||||||
public interface AndroidNotificationManager {
|
public interface AndroidNotificationManager {
|
||||||
|
|
||||||
|
// Keys for notification preferences
|
||||||
|
String PREF_NOTIFY_PRIVATE = "notifyPrivateMessages";
|
||||||
|
String PREF_NOTIFY_GROUP = "notifyGroupMessages";
|
||||||
|
String PREF_NOTIFY_FORUM = "notifyForumPosts";
|
||||||
|
String PREF_NOTIFY_BLOG = "notifyBlogPosts";
|
||||||
|
|
||||||
|
String PREF_NOTIFY_SOUND = "notifySound";
|
||||||
|
String PREF_NOTIFY_RINGTONE_NAME = "notifyRingtoneName";
|
||||||
|
String PREF_NOTIFY_RINGTONE_URI = "notifyRingtoneUri";
|
||||||
|
String PREF_NOTIFY_VIBRATION = "notifyVibration";
|
||||||
|
|
||||||
// Notification IDs
|
// Notification IDs
|
||||||
int ONGOING_NOTIFICATION_ID = 1;
|
int ONGOING_NOTIFICATION_ID = 1;
|
||||||
int REMINDER_NOTIFICATION_ID = 3;
|
int REMINDER_NOTIFICATION_ID = 3;
|
||||||
|
|||||||
@@ -1,39 +0,0 @@
|
|||||||
package org.briarproject.briar.api.android;
|
|
||||||
|
|
||||||
import org.briarproject.nullsafety.NotNullByDefault;
|
|
||||||
|
|
||||||
@NotNullByDefault
|
|
||||||
public interface SettingsConstants {
|
|
||||||
|
|
||||||
// Namespace for Android-specific settings
|
|
||||||
String SETTINGS_NAMESPACE = "android-ui";
|
|
||||||
|
|
||||||
// Key for time when expiry warning was last shown
|
|
||||||
String EXPIRY_DATE_WARNING = "expiryDateWarning";
|
|
||||||
|
|
||||||
// Key for doze mode exemption warning
|
|
||||||
String DOZE_ASK_AGAIN = "dozeAskAgain";
|
|
||||||
|
|
||||||
// Keys for onboarding
|
|
||||||
String SHOW_ONBOARDING_TRANSPORTS = "showTransportsOnboarding";
|
|
||||||
String SHOW_ONBOARDING_IMAGE = "showOnboardingImage";
|
|
||||||
String SHOW_ONBOARDING_INTRODUCTION = "showOnboardingIntroduction";
|
|
||||||
String SHOW_ONBOARDING_REVEAL_CONTACTS = "showOnboardingRevealContacts";
|
|
||||||
|
|
||||||
// Keys for notification preferences
|
|
||||||
String PREF_NOTIFY_PRIVATE = "notifyPrivateMessages";
|
|
||||||
String PREF_NOTIFY_GROUP = "notifyGroupMessages";
|
|
||||||
String PREF_NOTIFY_FORUM = "notifyForumPosts";
|
|
||||||
String PREF_NOTIFY_BLOG = "notifyBlogPosts";
|
|
||||||
String PREF_NOTIFY_SOUND = "notifySound";
|
|
||||||
String PREF_NOTIFY_RINGTONE_NAME = "notifyRingtoneName";
|
|
||||||
String PREF_NOTIFY_RINGTONE_URI = "notifyRingtoneUri";
|
|
||||||
String PREF_NOTIFY_VIBRATION = "notifyVibration";
|
|
||||||
|
|
||||||
// Key for recently used emoji
|
|
||||||
String EMOJI_LRU_PREFERENCE = "pref_emoji_recent2";
|
|
||||||
|
|
||||||
// Keys for screen lock
|
|
||||||
String PREF_SCREEN_LOCK = "pref_key_lock";
|
|
||||||
String PREF_SCREEN_LOCK_TIMEOUT = "pref_key_lock_timeout";
|
|
||||||
}
|
|
||||||
BIN
briar-android/src/main/res/mipmap-xhdpi/tv_banner.png
Normal file
BIN
briar-android/src/main/res/mipmap-xhdpi/tv_banner.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.0 KiB |
@@ -1,13 +1,15 @@
|
|||||||
<?xml version='1.0' encoding='UTF-8'?>
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
<resources>
|
||||||
<!--Setup-->
|
<!--Setup-->
|
||||||
<string name="setup_title">مرحبًا بك في Briar (براير)</string>
|
<string name="setup_title">مرحبًا بك في Briar (براير)</string>
|
||||||
<string name="setup_name_explanation">سيتم إظهار اسمك المستعار بجانب كل ما تنشره من محتوى. لا يمكنك تغيير الاسم بعد إنشاء حسابك.</string>
|
<string name="setup_name_explanation">سيتم إظهار اسمك المستعار بجانب كل ما تنشره من محتوى. لا يمكنك تغيير الاسم بعد إنشاء حسابك.</string>
|
||||||
<string name="setup_next">التالي</string>
|
<string name="setup_next">التالي</string>
|
||||||
<string name="setup_password_intro">اختيار كلمة السر</string>
|
<string name="setup_password_intro">اختيار كلمة السر</string>
|
||||||
<string name="setup_password_explanation">سيتم تخزين حسابك على Briar (براير) مشفرا على جهازك، وليس على الإنترنت. لذا في حالة نسيان كلمة السر الخاصة بك أو إلغاء تثبيت Briar (براير) لا توجد طريقه لاسترجاع حسابك.\n\nالرجاء اختيار كلمة سر طويلة يصعب تخمينها مثل أربع كلمات عشوائية أو عشرة حروف عشوائية مع أرقام ورموز.</string>
|
<string name="setup_password_explanation">سيتم تخزين حسابك على Briar (براير) مشفرا على جهازك، وليس على الإنترنت. لذا في حالة نسيان كلمة السر الخاصة بك أو إلغاء تثبيت Briar (براير) لا توجد طريقه لاسترجاع حسابك.\n\nالرجاء اختيار كلمة سر طويلة يصعب تخمينها مثل أربع كلمات عشوائية أو عشرة حروف عشوائية مع أرقام ورموز.</string>
|
||||||
<string name="dnkm_doze_intro">لاستقبال الرسائل، يحتاج براير أن يبقى متصلاً في الخلفية.</string>
|
<string name="dnkm_doze_title">الاتصالات الخلفية</string>
|
||||||
<string name="dnkm_doze_explanation">لاستقبال الرسائل، يحتاج براير أن يبقى متصلاً في الخلفية. الرجاء تعطيل تحسين البطارية حتى يتمكن براير من البقاء متصلاً.</string>
|
<string name="dnkm_doze_intro">لاستقبال الرسائل، يحتاج Briar (براير) أن يبقى متصلا في الخلفية.</string>
|
||||||
|
<string name="dnkm_doze_explanation">لاستقبال الرسائل، يحتاج Briar (براير) أن يبقى متصلا في الخلفية. الرجاء تعطيل تحسين البطارية حتى يتمكن Briar (براير) من البقاء متصلا.</string>
|
||||||
|
<string name="dnkm_doze_button">السماح بالاتصالات</string>
|
||||||
<string name="choose_nickname">اختيار اسمك المستعار</string>
|
<string name="choose_nickname">اختيار اسمك المستعار</string>
|
||||||
<string name="choose_password">اختيار كلمة السر</string>
|
<string name="choose_password">اختيار كلمة السر</string>
|
||||||
<string name="confirm_password">تأكيد كلمة السر</string>
|
<string name="confirm_password">تأكيد كلمة السر</string>
|
||||||
@@ -17,34 +19,27 @@
|
|||||||
<string name="create_account_button">إنشاء الحساب</string>
|
<string name="create_account_button">إنشاء الحساب</string>
|
||||||
<string name="more_info">معلومات أكثر</string>
|
<string name="more_info">معلومات أكثر</string>
|
||||||
<string name="don_t_ask_again">عدم الطلب مرة أخرى</string>
|
<string name="don_t_ask_again">عدم الطلب مرة أخرى</string>
|
||||||
<string name="dnkm_huawei_protected_text">الرجاء النقر على الزر في الأسفل والتأكد من أن براير محمي في شاشة \"التطبيقات المحمية\".</string>
|
<string name="dnkm_huawei_protected_text">الرجاء الضغط على الزر في الأسفل والتأكد من أن Briar (براير) محمى في شاشة \"التطبيقات المحمية\".</string>
|
||||||
<string name="dnkm_huawei_protected_button">احمِ براير</string>
|
<string name="dnkm_huawei_protected_button">حماية Briar (براير)</string>
|
||||||
<string name="dnkm_huawei_protected_help">إذا لم يتم إضافة براير في قائمة التطبيقات المحمية، فلن يتمكن من العمل في الخلفية.</string>
|
<string name="dnkm_huawei_protected_help">إذا لم يتم إضافة Briar (براير) في قائمة التطبيقات المحمية، فلن يتمكن من العمل في الخلفية.</string>
|
||||||
<string name="dnkm_huawei_app_launch_text">يُرجى النقر على الزر أدناه، وفتح شاشة \"تشغيل التطبيق\" والتأكد من ضبط براير على \"الإدارة يدويًا\".</string>
|
<string name="dnkm_xiaomi_button">حماية Briar (براير)</string>
|
||||||
<string name="dnkm_huawei_app_launch_help">إذا لم يتم ضبط براير على \"الإدارة يدويًا\" في شاشة \"تشغيل التطبيق\"، فلن يتمكن من العمل في الخلفية.</string>
|
<string name="dnkm_warning_dozed">%s لم يتمكن من الاشتغال في الخلفية</string>
|
||||||
<string name="dnkm_xiaomi_text">للتشغيل في الخلفية، يجب أن يكون براير مقفلاً بقائمة التطبيقات الحديثة.</string>
|
|
||||||
<string name="dnkm_xiaomi_button">احمِ براير</string>
|
|
||||||
<string name="dnkm_xiaomi_help">إذا لم يكن براير مقفلاً لقائمة التطبيقات الحديثة، فلن يتمكن من العمل في الخلفية.</string>
|
|
||||||
<string name="dnkm_xiaomi_dialog_body_old">1. افتح قائمة التطبيقات الحديثة (وتسمى أيضًا مبدل التطبيقات)\n\n2. مرّر سريعًا للأسفل على صورة براير لإظهار رمز القفل\n\n3. إذا لم يكن القفل مقفلاً، فانقر فوق لقفله</string>
|
|
||||||
<string name="dnkm_xiaomi_dialog_body_new">1. افتح قائمة التطبيقات الحديثة (وتسمى أيضًا مبدل التطبيقات)\n\n2. إذا كان لدى براير صورة صغيرة لقفل بجوار اسمه، فلن تحتاج إلى القيام بأي شيء\n\n3. إذا لم يكن هناك قفل، فاضغط مطولاً على صورة براير حتى يظهر زر القفل، ثم انقر عليه</string>
|
|
||||||
<string name="dnkm_xiaomi_lock_apps_text">الرجاء النقر على الزر أدناه لفتح إعدادات الأمان. انقر على \"تعزيز السرعة\"، ثم انقر على \"قفل التطبيقات\"، وتأكد من ضبط براير على \"مقفل\".</string>
|
|
||||||
<string name="dnkm_xiaomi_lock_apps_help">إذا لم يُضبط براير على \"مقفل\" في شاشة \"قفل التطبيقات\"، فلن يتمكن من العمل في الخلفية.</string>
|
|
||||||
<string name="dnkm_warning_dozed_1">لم يتمكن براير من العمل في الخلفية</string>
|
|
||||||
<!--Login-->
|
<!--Login-->
|
||||||
<string name="enter_password">كلمة السّر</string>
|
<string name="enter_password">كلمة السّر</string>
|
||||||
<string name="try_again">كلمة السرّ خاطئة, الرجاء المحاولة مجدّدا</string>
|
<string name="try_again">كلمة السرّ خاطئة, الرجاء المحاولة مجدّدا</string>
|
||||||
<string name="dialog_title_cannot_check_password">لا يمكن التحقق من كلمة السر</string>
|
<string name="dialog_title_cannot_check_password">لا يمكن التحقق من كلمة السر</string>
|
||||||
<string name="dialog_message_cannot_check_password">لم يتمكن براير من التحقق من كلمة اسرّ. الرجاء إعادة تشغيل جهازك لحل المشكلة.</string>
|
<string name="dialog_message_cannot_check_password">Briar لم يتمكن من التحقق من كلمة المرور. الرجاء إعادة تشغيل جهازك من أجل جل المشكلة</string>
|
||||||
<string name="sign_in_button">تسجيل الدخول</string>
|
<string name="sign_in_button">تسجيل الدخول</string>
|
||||||
<string name="forgotten_password">نسيتُ كلمة السر</string>
|
<string name="forgotten_password">نسيتُ كلمة السر</string>
|
||||||
<string name="dialog_title_lost_password">فقدت كلمة السر</string>
|
<string name="dialog_title_lost_password">فقدت كلمة السر</string>
|
||||||
<string name="dialog_message_lost_password">حسابك على Briar (براير) سيتم تخزينه مشفرا على جهازك، وليس على الإنترنت. لذا فلا يمكننا إعادة تعيين كلمة السر الخاصة بك. فهل تودّ/ين حذف حسابك والبدء من جديد؟\n\nتحذير: سيتمّ حذف هويّاتك وجهات اتصالك ورسائلك الى الأبد.</string>
|
<string name="dialog_message_lost_password">حسابك على Briar (براير) سيتم تخزينه مشفرا على جهازك، وليس على الإنترنت. لذا فلا يمكننا إعادة تعيين كلمة السر الخاصة بك. فهل تودّ/ين حذف حسابك والبدء من جديد؟\n\nتحذير: سيتمّ حذف هويّاتك وجهات اتصالك ورسائلك الى الأبد.</string>
|
||||||
|
<string name="startup_failed_notification_title">Briar (براير) لم يمكنه البدء</string>
|
||||||
|
<string name="startup_failed_notification_text">المس/ي لمزيد من المعلومات</string>
|
||||||
<string name="startup_failed_activity_title">فشل تشغيل Briar (براير)</string>
|
<string name="startup_failed_activity_title">فشل تشغيل Briar (براير)</string>
|
||||||
<string name="startup_failed_clock_error">تعذر بدء تشغيل تطبيق براير لأن ساعة جهازك خاطئة.\n\nيُرجى ضبط ساعة جهازك على الوقت الصحيح والمحاولة مرة أخرى.</string>
|
<string name="startup_failed_db_error">لسبب ما، فإن قاعدة بيانات Briar (براير) قد تلفت ولم يعد من الممكن إصلاحها. حسابك وبياناتك وكل جهات اتصالك قد فقدت. للأسف، يلزم إعادة تثبيت Briar (براير) أو إنشاء حساب جديد عن طريق خيار \"نسيت كلمة السر\" عند سؤالك عنها.</string>
|
||||||
<string name="startup_failed_db_error">لم يتمكن براير من فتح قاعدة البيانات التي تحتوي على حسابك وجهات اتصالك ورسائلك.\n\nيُرجى الترقية إلى أحدث إصدار من التطبيق والمحاولة مرة أخرى، أو إعداد حساب جديد عن طريق اختيار \"نسيتُ كلمة السر\" في مطالبة كلمة السر.</string>
|
<string name="startup_failed_data_too_old_error">حسابك تم إنشاؤه بواسطة إصدار قديم من هذا التطبيق ولا يمكن فتحه بهذا الإصدار. يتوجب إعادة تثبيت الإصدار القديم أو أن تنشئ حسابا جديدًا باختيار \"نسيت كلمة السر\" عند سؤالك عنها.</string>
|
||||||
<string name="startup_failed_data_too_old_error">أُنشئ حسابك باستخدام إصدار قديم من هذا التطبيق ولا يمكن فتحه باستخدام هذا الإصدار.\n\nيجب عليك إما إعادة تثبيت الإصدار القديم أو إعداد حساب جديد عن طريق اختيار \"نسيتُ كلمة السر\" في مطالبة كلمة السر.</string>
|
<string name="startup_failed_data_too_new_error">هذا الإصدار من التطبيق قديم جدًا. الرجاء التحديث لآخر إصدار ثم المحاولة مجددًا.</string>
|
||||||
<string name="startup_failed_data_too_new_error">أُنشئ حسابك باستخدام إصدار أحدث من هذا التطبيق ولا يمكن فتحه باستخدام هذا الإصدار.\n\nيُرجى الترقية إلى احدث إصدار والمحاولة مرة أخرى.</string>
|
<string name="startup_failed_service_error">Briar (براير) لم يستطع تشغيل إضافة لازمة. إعادة تشغيل Briar (براير) يحل مثل هذه المشكلة عادة. لكن ذلك يعني أنك فقدان حسابك وكل بياناتك عليه حيث أن Briar (براير) لا يستعمل خوادم مركزية لتخزين بياناتك.</string>
|
||||||
<string name="startup_failed_service_error">تعذر على براير بدء تشغيل المكون المطلوب.\n\nيُرجى الترقية إلى أحدث إصدار من التطبيق والمحاولة مرة أخرى.</string>
|
|
||||||
<plurals name="expiry_warning">
|
<plurals name="expiry_warning">
|
||||||
<item quantity="zero">هذا إصدار تجريبي من Briar (براير). حسابك سينتهي اليوم ولن يمكن تجديده.</item>
|
<item quantity="zero">هذا إصدار تجريبي من Briar (براير). حسابك سينتهي اليوم ولن يمكن تجديده.</item>
|
||||||
<item quantity="one">هذا إصدار تجريبي من Briar (براير). حسابك سينتهي خلال يوم ولن يمكن تجديده.</item>
|
<item quantity="one">هذا إصدار تجريبي من Briar (براير). حسابك سينتهي خلال يوم ولن يمكن تجديده.</item>
|
||||||
@@ -57,9 +52,6 @@
|
|||||||
<string name="download_briar">لمتابعة استخدام Briar (براير)، يرجى تنزيل آخر إصدار. </string>
|
<string name="download_briar">لمتابعة استخدام Briar (براير)، يرجى تنزيل آخر إصدار. </string>
|
||||||
<string name="create_new_account">انت في حاجة لانشاء حساب جديد، لكن يمكنك استعمال نفس الاسم المستعار.</string>
|
<string name="create_new_account">انت في حاجة لانشاء حساب جديد، لكن يمكنك استعمال نفس الاسم المستعار.</string>
|
||||||
<string name="download_briar_button">تنزيل آخر أصدار</string>
|
<string name="download_briar_button">تنزيل آخر أصدار</string>
|
||||||
<string name="old_android_expiry_date_reached">لم يعد براير يعمل على نظام التشغيل Android 4.\nيُرجى تثبيت براير على جهاز أحدث.</string>
|
|
||||||
<string name="old_android_delete_account">يمكنك النقر على الزر أدناه لحذف حسابك من هذا الجهاز.</string>
|
|
||||||
<string name="delete_account_button">حذف الحساب</string>
|
|
||||||
<string name="startup_open_database">جارِ فك تشفير قاعدة البيانات...</string>
|
<string name="startup_open_database">جارِ فك تشفير قاعدة البيانات...</string>
|
||||||
<string name="startup_migrate_database">جارِ ترقية قاعدة البيانات...</string>
|
<string name="startup_migrate_database">جارِ ترقية قاعدة البيانات...</string>
|
||||||
<string name="startup_compact_database">جارِ ضغظ قاعدة البيانات…</string>
|
<string name="startup_compact_database">جارِ ضغظ قاعدة البيانات…</string>
|
||||||
@@ -74,7 +66,7 @@
|
|||||||
<string name="lock_button">قفل التطبيق</string>
|
<string name="lock_button">قفل التطبيق</string>
|
||||||
<string name="settings_button">الإعدادات</string>
|
<string name="settings_button">الإعدادات</string>
|
||||||
<string name="sign_out_button">تسجيل الخروج</string>
|
<string name="sign_out_button">تسجيل الخروج</string>
|
||||||
<string name="transports_onboarding_text">انقر هنا للتحكم في كيفية اتصال براير بجهات اتصالك.</string>
|
<string name="transports_onboarding_text">إلمس هنا من أجل التحكم بطريقةالربط مع جهات الاتصال.</string>
|
||||||
<!--Transports: Tor-->
|
<!--Transports: Tor-->
|
||||||
<string name="transport_tor">إنترنت</string>
|
<string name="transport_tor">إنترنت</string>
|
||||||
<string name="tor_device_status_online_wifi">جهازك لديه ولوج لشبكة الانترنت عبر ال Wi-Fi </string>
|
<string name="tor_device_status_online_wifi">جهازك لديه ولوج لشبكة الانترنت عبر ال Wi-Fi </string>
|
||||||
@@ -82,11 +74,11 @@
|
|||||||
<string name="tor_device_status_offline">جهازك ليس متصل بالانترنت</string>
|
<string name="tor_device_status_offline">جهازك ليس متصل بالانترنت</string>
|
||||||
<string name="tor_plugin_status_enabling">جاري اتصال Briar بالانترنت</string>
|
<string name="tor_plugin_status_enabling">جاري اتصال Briar بالانترنت</string>
|
||||||
<string name="tor_plugin_status_active">Briar متصل بالانترنت</string>
|
<string name="tor_plugin_status_active">Briar متصل بالانترنت</string>
|
||||||
<string name="tor_plugin_status_inactive">لم يتمكن براير من الاتصال بالانترنت </string>
|
<string name="tor_plugin_status_inactive">Briar لم يتمكن من الاتصال بالانترنت </string>
|
||||||
<string name="tor_plugin_status_disabled">ضُبط Briar على عدم استخدام الإنترنت</string>
|
<string name="tor_plugin_status_disabled">إعدادات Briar لاتسمح بالاتصال بالانترنت</string>
|
||||||
<string name="tor_plugin_status_disabled_mobile_data">ضُبط Briar على عدم استخدام بيانات الهاتف المحمول</string>
|
<string name="tor_plugin_status_disabled_mobile_data">إعدادات Briar لاتسمح بالاتصال عن طريق بيانات الهاتف</string>
|
||||||
<string name="tor_plugin_status_disabled_battery">ضُبط براير على عدم استخدام الإنترنت عند التشغيل على البطارية</string>
|
<string name="tor_plugin_status_disabled_battery">إعدادات Briar لاتسمح بالاتصال بالانترنت عند استخدام بطارية الهاتف</string>
|
||||||
<string name="tor_plugin_status_disabled_country_blocked">ضُبط براير على عدم استخدام الإنترنت في هذا البلد</string>
|
<string name="tor_plugin_status_disabled_country_blocked">لايمكن استخدام Briar في هذا البلد</string>
|
||||||
<!--Transports: Wi-Fi-->
|
<!--Transports: Wi-Fi-->
|
||||||
<string name="transport_lan">واي-فاي</string>
|
<string name="transport_lan">واي-فاي</string>
|
||||||
<string name="transport_lan_long">نفس شبكة الWi-Fi </string>
|
<string name="transport_lan_long">نفس شبكة الWi-Fi </string>
|
||||||
@@ -100,9 +92,9 @@
|
|||||||
<string name="transport_bt">بلوتوث</string>
|
<string name="transport_bt">بلوتوث</string>
|
||||||
<string name="bt_device_status_on"> البلوتوث مفعّل </string>
|
<string name="bt_device_status_on"> البلوتوث مفعّل </string>
|
||||||
<string name="bt_device_status_off">البلوتوث مفعّل</string>
|
<string name="bt_device_status_off">البلوتوث مفعّل</string>
|
||||||
<string name="bt_plugin_status_enabling">جارِ اتصال براير بالبلوتوث</string>
|
<string name="bt_plugin_status_enabling">جاري اتصال Briar بالبلوتوث</string>
|
||||||
<string name="bt_plugin_status_active">Briar متصل بالبلوتوث</string>
|
<string name="bt_plugin_status_active">Briar متصل بالبلوتوث</string>
|
||||||
<string name="bt_plugin_status_inactive">لم يتمكن Briar من الاتصال بالبلوتوث</string>
|
<string name="bt_plugin_status_inactive">لم يتمكن Briar من الاتصال بالانترنت</string>
|
||||||
<string name="bt_plugin_status_disabled">إعدادات Briar لاتسمح بالاتصال بالبلوتوث</string>
|
<string name="bt_plugin_status_disabled">إعدادات Briar لاتسمح بالاتصال بالبلوتوث</string>
|
||||||
<!--Notifications-->
|
<!--Notifications-->
|
||||||
<string name="reminder_notification_title">تم تسجيل الخروج من Briar (براير)</string>
|
<string name="reminder_notification_title">تم تسجيل الخروج من Briar (براير)</string>
|
||||||
@@ -160,7 +152,6 @@
|
|||||||
<string name="open">فتح</string>
|
<string name="open">فتح</string>
|
||||||
<string name="change">تعديل</string>
|
<string name="change">تعديل</string>
|
||||||
<string name="start">ابدأ</string>
|
<string name="start">ابدأ</string>
|
||||||
<string name="finish">إنهاء</string>
|
|
||||||
<string name="no_data">لا يوجد بيانات</string>
|
<string name="no_data">لا يوجد بيانات</string>
|
||||||
<string name="ellipsis">...</string>
|
<string name="ellipsis">...</string>
|
||||||
<string name="text_too_long">النص المُدخل طويل جدًا</string>
|
<string name="text_too_long">النص المُدخل طويل جدًا</string>
|
||||||
@@ -170,16 +161,12 @@
|
|||||||
<string name="sorry">معذرة</string>
|
<string name="sorry">معذرة</string>
|
||||||
<string name="error_start_activity">غير متوفّر على نظامكم </string>
|
<string name="error_start_activity">غير متوفّر على نظامكم </string>
|
||||||
<string name="status_heading">الحالة:</string>
|
<string name="status_heading">الحالة:</string>
|
||||||
<string name="error">هناك خطأ</string>
|
|
||||||
<string name="info">المعلومات</string>
|
|
||||||
<!--Contacts and Private Conversations-->
|
<!--Contacts and Private Conversations-->
|
||||||
<string name="no_contacts">لا جهات اتصال للعرض</string>
|
<string name="no_contacts">لا جهات اتصال للعرض</string>
|
||||||
<string name="no_contacts_action">لمس علامة + لإضافة جهة إتصال</string>
|
<string name="no_contacts_action">لمس علامة + لإضافة جهة إتصال</string>
|
||||||
<string name="date_no_private_messages">لا رسائل.</string>
|
<string name="date_no_private_messages">لا رسائل.</string>
|
||||||
<string name="no_private_messages">لا رسائل للعرض.</string>
|
<string name="no_private_messages">لا رسائل للعرض.</string>
|
||||||
<string name="message_hint">رسالة جديدة</string>
|
<string name="message_hint">رسالة جديدة</string>
|
||||||
<string name="message_hint_auto_delete">رسالة اختفاء جديدة</string>
|
|
||||||
<string name="message_error">حدث خطأ أثناء إرسال الرسالة</string>
|
|
||||||
<string name="image_caption_hint">إضافة تعليق (اختياري) </string>
|
<string name="image_caption_hint">إضافة تعليق (اختياري) </string>
|
||||||
<string name="image_attach">إرفاق صورة</string>
|
<string name="image_attach">إرفاق صورة</string>
|
||||||
<string name="image_attach_error">لم نتمكّن من إرفاق الصّور(ة)</string>
|
<string name="image_attach_error">لم نتمكّن من إرفاق الصّور(ة)</string>
|
||||||
@@ -187,44 +174,12 @@
|
|||||||
<string name="image_attach_error_invalid_mime_type">نوع ملف الصورة غير مدعوم : %s</string>
|
<string name="image_attach_error_invalid_mime_type">نوع ملف الصورة غير مدعوم : %s</string>
|
||||||
<string name="set_contact_alias">تعديل إسم جهة الاتصال</string>
|
<string name="set_contact_alias">تعديل إسم جهة الاتصال</string>
|
||||||
<string name="set_contact_alias_hint">اسم جهة الاتصال</string>
|
<string name="set_contact_alias_hint">اسم جهة الاتصال</string>
|
||||||
<string name="menu_item_disappearing_messages">الرسائل المختفية</string>
|
<string name="menu_item_connect_via_bluetooth">الإتصال عبر بلوتوث</string>
|
||||||
|
<string name="connect_via_bluetooth_title">الإتصال عبر بلوتوث</string>
|
||||||
<!--The first placeholder will show a duration like "7 days". The second placeholder at the end will add "Tap to learn more."-->
|
<!--The first placeholder will show a duration like "7 days". The second placeholder at the end will add "Tap to learn more."-->
|
||||||
<string name="auto_delete_msg_you_enabled">رسالتك ستختفي بعد%1$s. %2$s</string>
|
|
||||||
<!--The placeholder at the end will add "Tap to learn more."-->
|
<!--The placeholder at the end will add "Tap to learn more."-->
|
||||||
<string name="auto_delete_msg_you_disabled">رسالاتك لن تختفي. %1$s</string>
|
|
||||||
<!--The first placeholder will show a contact's name. The second placeholder will show a duration like "7 days". The third placeholder at the end will add "Tap to learn more."-->
|
<!--The first placeholder will show a contact's name. The second placeholder will show a duration like "7 days". The third placeholder at the end will add "Tap to learn more."-->
|
||||||
<string name="auto_delete_msg_contact_enabled">ستختفي رسالة %1$s بعد %2$s. %3$s</string>
|
|
||||||
<plurals name="duration_minutes">
|
|
||||||
<item quantity="zero">%d دقيقة</item>
|
|
||||||
<item quantity="one">دقيقة</item>
|
|
||||||
<item quantity="two">دقيقتين</item>
|
|
||||||
<item quantity="few">%d دقائق</item>
|
|
||||||
<item quantity="many">%d دقائق</item>
|
|
||||||
<item quantity="other">%d دقائق</item>
|
|
||||||
</plurals>
|
|
||||||
<plurals name="duration_hours">
|
|
||||||
<item quantity="zero">%d ساعة</item>
|
|
||||||
<item quantity="one">ساعة </item>
|
|
||||||
<item quantity="two">ساعتين</item>
|
|
||||||
<item quantity="few">%d ساعات</item>
|
|
||||||
<item quantity="many">%d ساعات</item>
|
|
||||||
<item quantity="other">%d ساعات</item>
|
|
||||||
</plurals>
|
|
||||||
<plurals name="duration_days">
|
|
||||||
<item quantity="zero">%d يوم</item>
|
|
||||||
<item quantity="one">يوم</item>
|
|
||||||
<item quantity="two">يومين</item>
|
|
||||||
<item quantity="few">%d أيام</item>
|
|
||||||
<item quantity="many">%d أيام</item>
|
|
||||||
<item quantity="other">%d أيام</item>
|
|
||||||
</plurals>
|
|
||||||
<!--The first placeholder will show a contact's name. The second placeholder at the end will add "Tap to learn more."-->
|
<!--The first placeholder will show a contact's name. The second placeholder at the end will add "Tap to learn more."-->
|
||||||
<string name="auto_delete_msg_contact_disabled">رسائل %1$s لن تختفي. %2$s</string>
|
|
||||||
<string name="tap_to_learn_more">انقر لمعرفة المزيد.</string>
|
|
||||||
<string name="auto_delete_changed_warning_title">تغيرت الرسائل المختفية</string>
|
|
||||||
<string name="auto_delete_changed_warning_message_enabled">منذ أن بدأت في إنشاء رسالتك، فعلت اختفاء الرسائل.</string>
|
|
||||||
<string name="auto_delete_changed_warning_message_disabled">منذ أن بدأت في إنشاء رسالتك، تم تعطيل الرسائل المختفية.</string>
|
|
||||||
<string name="auto_delete_changed_warning_send">أرسل على كل حال</string>
|
|
||||||
<string name="delete_all_messages">حذف جميع الرّسائل </string>
|
<string name="delete_all_messages">حذف جميع الرّسائل </string>
|
||||||
<string name="dialog_title_delete_all_messages">تأكيد حذف الرّسالة</string>
|
<string name="dialog_title_delete_all_messages">تأكيد حذف الرّسالة</string>
|
||||||
<string name="dialog_message_delete_all_messages">هل أنتم متأكّدون من حذف جميع الرّسائل؟ </string>
|
<string name="dialog_message_delete_all_messages">هل أنتم متأكّدون من حذف جميع الرّسائل؟ </string>
|
||||||
@@ -251,10 +206,8 @@
|
|||||||
<string name="dialog_title_image_support">يمكنم الآن إرسال الصور لجهة الاتصال هذه</string>
|
<string name="dialog_title_image_support">يمكنم الآن إرسال الصور لجهة الاتصال هذه</string>
|
||||||
<string name="dialog_message_image_support">الضغط على هذه الأيقونة لإرفاق الصور.</string>
|
<string name="dialog_message_image_support">الضغط على هذه الأيقونة لإرفاق الصور.</string>
|
||||||
<string name="messaging_too_many_attachments_toast">تمكّنا من إرسال %d من الصورة فقط</string>
|
<string name="messaging_too_many_attachments_toast">تمكّنا من إرسال %d من الصورة فقط</string>
|
||||||
<string name="menu_contact">تواصل</string>
|
|
||||||
<!--Adding Contacts-->
|
<!--Adding Contacts-->
|
||||||
<string name="add_contact_title">إضافة جهة اتصال قريبة </string>
|
<string name="add_contact_title">إضافة جهة اتصال قريبة </string>
|
||||||
<string name="add_contact_error_two_way">هل قمتما بمسح رموز QR الخاصة ببعضكما البعض؟</string>
|
|
||||||
<string name="face_to_face">لا بد من مقابلة الشخص الذي تريد/ين إضافته كجهة اتصال.\n\nهذا سيمنع أي شخص من انتحال شخصيتك أو قراءة رسائلك في المستقبل.</string>
|
<string name="face_to_face">لا بد من مقابلة الشخص الذي تريد/ين إضافته كجهة اتصال.\n\nهذا سيمنع أي شخص من انتحال شخصيتك أو قراءة رسائلك في المستقبل.</string>
|
||||||
<string name="continue_button">إستمرار</string>
|
<string name="continue_button">إستمرار</string>
|
||||||
<string name="try_again_button">الرجاء المحاولة مجددًا</string>
|
<string name="try_again_button">الرجاء المحاولة مجددًا</string>
|
||||||
@@ -262,18 +215,14 @@
|
|||||||
<string name="exchanging_contact_details">يتم تبادل معلومات جهة الإتصال\u2026</string>
|
<string name="exchanging_contact_details">يتم تبادل معلومات جهة الإتصال\u2026</string>
|
||||||
<string name="contact_added_toast">تم إضافة جهة إتصال: %s</string>
|
<string name="contact_added_toast">تم إضافة جهة إتصال: %s</string>
|
||||||
<string name="contact_already_exists">جهة الإتصال %s بالفعل موجودة</string>
|
<string name="contact_already_exists">جهة الإتصال %s بالفعل موجودة</string>
|
||||||
<string name="contact_already_exists_general">جهة الاتصال موجودة بالفعل</string>
|
|
||||||
<string name="qr_code_invalid">رمز QR غير صالح</string>
|
<string name="qr_code_invalid">رمز QR غير صالح</string>
|
||||||
<string name="qr_code_too_old_1">رمز QR الذي قمت بمسحه ضوئيًا يأتي من إصدار أقدم من براير.\n\nيُرجى مطالبة جهة الاتصال اتصالك بالترقية إلى أحدث إصدار ثم حاول مجددًا.</string>
|
<string name="qr_code_too_old">رمز الاستجابة السّريع أو QR الذي قمتم بمسحه يعود لإصدار قديم من %s. \n\n اطلبوا من جهة الاتصال التحديث لآخر نسخة ومن ثمّ حاولوا مرّة أخرى. </string>
|
||||||
<string name="qr_code_too_new_1">رمز QR الذي قمت بمسحه ضوئيًا يأتي من إصدار أحدث من براير.\n\nيُرجى مطالبة جهة الاتصال اتصالك بالترقية إلى أحدث إصدار ثم حاول مجددًا.</string>
|
<string name="qr_code_too_new">رمز الاستجابة السّريع أو QR الذي قمتم بمسحه يعود لإصدار أحدث من %s. \n\n يرجى التحديث لآخر إصدار ومن ثمّ المحاولة مرّة أخرى. </string>
|
||||||
<string name="mailbox_qr_code_for_contact">يأتي رمز QR الذي مسحته ضوئيًا من صندوق بريد براير Briar Mailbox.\n\nإذا كنت تريد ربط صندوق بريد، فيرجى اختيار الإعدادات > صندوق البريد من قائمة براير.</string>
|
|
||||||
<string name="qr_code_format_unknown">رمز QR الذي مسحته ضوئيًا ليس مخصصًا لإضافة جهة اتصال لـبراير.\n\nيُرجى مسح رمز QR الظاهر على شاشة جهة اتصالك.</string>
|
|
||||||
<string name="camera_error">خطأ بالكاميرا</string>
|
<string name="camera_error">خطأ بالكاميرا</string>
|
||||||
<string name="connecting_to_device">يتم الإتصال بالجهاز\u2026</string>
|
<string name="connecting_to_device">يتم الإتصال بالجهاز\u2026</string>
|
||||||
<string name="authenticating_with_device">يتم التوثيق مع الجهاز\u2026</string>
|
<string name="authenticating_with_device">يتم التوثيق مع الجهاز\u2026</string>
|
||||||
<string name="connection_error_title">لم يمكن الإتصال بجهة إتصالك</string>
|
<string name="connection_error_title">لم يمكن الإتصال بجهة إتصالك</string>
|
||||||
<string name="connection_error_feedback">إذا إستمرت المشكلة، رجاءًا <a href="feedback">أرسل تقرير </a> لمساعدتنا على تحسين التطبيق.</string>
|
<string name="connection_error_feedback">إذا إستمرت المشكلة، رجاءًا <a href="feedback">أرسل تقرير </a> لمساعدتنا على تحسين التطبيق.</string>
|
||||||
<string name="info_both_must_scan">يجب عليكما مسح رموز QR الخاصة ببعضكما البعض</string>
|
|
||||||
<!--Adding Contacts Remotely-->
|
<!--Adding Contacts Remotely-->
|
||||||
<string name="add_contact_remotely_title_case">إضافة جهة اتصال عن بعد </string>
|
<string name="add_contact_remotely_title_case">إضافة جهة اتصال عن بعد </string>
|
||||||
<string name="add_contact_nearby_title">إضافة جهة اتصال قريبة</string>
|
<string name="add_contact_nearby_title">إضافة جهة اتصال قريبة</string>
|
||||||
@@ -324,7 +273,7 @@
|
|||||||
<string name="duplicate_link_dialog_text_1">لديكم جهة اتصال معلّقة تحمل نفس هذا الرّابط: %s</string>
|
<string name="duplicate_link_dialog_text_1">لديكم جهة اتصال معلّقة تحمل نفس هذا الرّابط: %s</string>
|
||||||
<string name="duplicate_link_dialog_text_1_contact">لديكم جهة اتصال تحمل نفس هذا الرّابط: %s</string>
|
<string name="duplicate_link_dialog_text_1_contact">لديكم جهة اتصال تحمل نفس هذا الرّابط: %s</string>
|
||||||
<!--This is a question asking whether two nicknames refer to the same person-->
|
<!--This is a question asking whether two nicknames refer to the same person-->
|
||||||
<string name="duplicate_link_dialog_text_2">هل %1$s و %2$s نفس الشخص؟</string>
|
<string name="duplicate_link_dialog_text_2">هل %s و%s هما الشّخص ذاته؟ </string>
|
||||||
<!--This is a button for answering that two nicknames do indeed refer to the same person. This
|
<!--This is a button for answering that two nicknames do indeed refer to the same person. This
|
||||||
string will be used in a dialog button, so if the translation of this string is longer than 20
|
string will be used in a dialog button, so if the translation of this string is longer than 20
|
||||||
characters, please use "Yes" instead, and use "No" for the "Different Person" button-->
|
characters, please use "Yes" instead, and use "No" for the "Different Person" button-->
|
||||||
@@ -333,17 +282,11 @@
|
|||||||
will be used in a dialog button, so if the translation of this string longer than 20 characters,
|
will be used in a dialog button, so if the translation of this string longer than 20 characters,
|
||||||
please use "No" instead, and use "Yes" for the "Same Person" button-->
|
please use "No" instead, and use "Yes" for the "Same Person" button-->
|
||||||
<string name="different_person_button">شخص مختلف</string>
|
<string name="different_person_button">شخص مختلف</string>
|
||||||
<string name="duplicate_link_dialog_text_3">%1$s و %2$s أرسلوا إليك نفس الرابط.\n\nربما يحاول أحدهم اكتشاف جهات اتصالك.\n\nلا تخبرهم أنك تلقيت نفس الرابط من شخص آخر.</string>
|
<string name="duplicate_link_dialog_text_3">قام كل من %s و%s بإرسال ذات الرّابط إليكم. \n\n أحدهما قد يكون يحاول ان يكتشف من هم جهات اتصالكم. \n\n لا تقولوا لهم بأنّكم حصلتم على ذات الرّابط من شخص آخر. </string>
|
||||||
<string name="pending_contact_updated_toast">تمّ تحديث طلب جهة الاتصال العالق</string>
|
<string name="pending_contact_updated_toast">تمّ تحديث طلب جهة الاتصال العالق</string>
|
||||||
<string name="info_both_must_enter_links">يجب عليكما إضافة روابط بعضكما البعض</string>
|
|
||||||
<!--Peer trust levels-->
|
|
||||||
<string name="peer_trust_level_unverified">جهة اتصال لم يتم التحقق منها</string>
|
|
||||||
<string name="peer_trust_level_verified">جهة اتصال تم التحقق منها</string>
|
|
||||||
<string name="peer_trust_level_ourselves">أنا</string>
|
|
||||||
<string name="peer_trust_level_stranger">غريب</string>
|
|
||||||
<!--Introductions-->
|
<!--Introductions-->
|
||||||
<string name="introduction_onboarding_title">قم بتقديم جهات إتصالك</string>
|
<string name="introduction_onboarding_title">قم بتقديم جهات إتصالك</string>
|
||||||
<string name="introduction_onboarding_text">قم بتقديم جهات اتصالك لبعضها البعض حتى يتمكنوا من الاتصال على Briar.</string>
|
<string name="introduction_onboarding_text">يمكنك أن تقدم جهات إتصالك لبعضها البعض، فلا يحتاجون للمقابلة الشخصية ليتواصلوا عبر Briar (براير).</string>
|
||||||
<string name="introduction_menu_item">إعمل تقديم</string>
|
<string name="introduction_menu_item">إعمل تقديم</string>
|
||||||
<string name="introduction_activity_title">إختر جهة إتصال</string>
|
<string name="introduction_activity_title">إختر جهة إتصال</string>
|
||||||
<string name="introduction_not_possible">بالفعل لديك تقديم مع جهات الإتصال هذه. من فضلك إسمح لذلك بالإنتهاء أولاً. إذا كنت أنت أو جهات اتصالك نادرًا ما تكونوا متصلين فإن ذلك يمكن أن يستغرق بعض الوقت.</string>
|
<string name="introduction_not_possible">بالفعل لديك تقديم مع جهات الإتصال هذه. من فضلك إسمح لذلك بالإنتهاء أولاً. إذا كنت أنت أو جهات اتصالك نادرًا ما تكونوا متصلين فإن ذلك يمكن أن يستغرق بعض الوقت.</string>
|
||||||
@@ -359,21 +302,9 @@
|
|||||||
<string name="introduction_response_accepted_sent">لقد قبلت التقديم إلى %1$s.</string>
|
<string name="introduction_response_accepted_sent">لقد قبلت التقديم إلى %1$s.</string>
|
||||||
<string name="introduction_response_accepted_sent_info">قبل أن يتم إضافة %1$s إلى جهات اتصالك، يحتاج أن ي/تقبل هو/هي أيضًا التقديم. هذا يمكن أن يستغرق بعض الوقت.</string>
|
<string name="introduction_response_accepted_sent_info">قبل أن يتم إضافة %1$s إلى جهات اتصالك، يحتاج أن ي/تقبل هو/هي أيضًا التقديم. هذا يمكن أن يستغرق بعض الوقت.</string>
|
||||||
<string name="introduction_response_declined_sent">لقد رفضت التقديم إلى %1$s.</string>
|
<string name="introduction_response_declined_sent">لقد رفضت التقديم إلى %1$s.</string>
|
||||||
<string name="introduction_response_declined_auto">تم رفض المقدمة ل%1$s تلقائيًا.</string>
|
|
||||||
<string name="introduction_response_accepted_received">لقد وافق/ت %1$s على تقديمه/ها إلى %2$s.</string>
|
<string name="introduction_response_accepted_received">لقد وافق/ت %1$s على تقديمه/ها إلى %2$s.</string>
|
||||||
<string name="introduction_response_declined_received">لقد رفض/ت %1$sتقديمه/ا إلى %2$s.</string>
|
<string name="introduction_response_declined_received">لقد رفض/ت %1$sتقديمه/ا إلى %2$s.</string>
|
||||||
<string name="introduction_response_declined_received_by_introducee">ي/تقول %1$sأن %2$s قد رفض/ت التقدمة.</string>
|
<string name="introduction_response_declined_received_by_introducee">ي/تقول %1$sأن %2$s قد رفض/ت التقدمة.</string>
|
||||||
<!--Connect via Bluetooth-->
|
|
||||||
<string name="menu_item_connect_via_bluetooth">الإتصال عبر بلوتوث</string>
|
|
||||||
<string name="connect_via_bluetooth_title">الإتصال عبر البلوتوث</string>
|
|
||||||
<string name="connect_via_bluetooth_intro">في حالة عدم عمل اتصالات البلوتوث تلقائيًا، يمكنك استخدام هذه الشاشة للاتصال يدويًا.\n\nيجب أن تكون جهة اتصالك قريبة حتى تعمل هذه الميزة.\n\nيجب عليك أنت وجهة اتصالك النقر على \"ابدأ\" في نفس الوقت.</string>
|
|
||||||
<string name="connect_via_bluetooth_already_discovering">تحاول بالفعل الاتصال عبر البلوتوث. يُرجى المحاول مجددًا قريبا.</string>
|
|
||||||
<string name="connect_via_bluetooth_no_location_permission">لا يمكن المتابعة بدون إذن الموقع</string>
|
|
||||||
<string name="connect_via_bluetooth_no_bluetooth_permission">لا يمكن المتابعة بدون إذن الأجهزة القريبة</string>
|
|
||||||
<string name="connect_via_bluetooth_start">جارِ الاتصال عبر البلوتوث</string>
|
|
||||||
<string name="connect_via_bluetooth_success">اتصلت بنجاح عبر البلوتوث</string>
|
|
||||||
<string name="connect_via_bluetooth_error">لا يمكن الاتصال عبر البلوتوث.</string>
|
|
||||||
<string name="connect_via_bluetooth_error_not_supported">البلوتوث غير مدعوم من الجهاز.</string>
|
|
||||||
<!--Private Groups-->
|
<!--Private Groups-->
|
||||||
<string name="groups_list_empty">لا مجموعات للعرض</string>
|
<string name="groups_list_empty">لا مجموعات للعرض</string>
|
||||||
<string name="groups_list_empty_action">الرجاء لمس علامة + لإنشاء مجموعة، أو اطلب من جهات إتصالك مشاركتك في مجموعاتهم</string>
|
<string name="groups_list_empty_action">الرجاء لمس علامة + لإنشاء مجموعة، أو اطلب من جهات إتصالك مشاركتك في مجموعاتهم</string>
|
||||||
@@ -426,7 +357,6 @@
|
|||||||
</plurals>
|
</plurals>
|
||||||
<string name="groups_invitations_response_accepted_sent">قد قبلت دعوة الانضمام للمجموعة من %s.</string>
|
<string name="groups_invitations_response_accepted_sent">قد قبلت دعوة الانضمام للمجموعة من %s.</string>
|
||||||
<string name="groups_invitations_response_declined_sent">قد رفضت دعوة الانضمام للمجموعة من %s.</string>
|
<string name="groups_invitations_response_declined_sent">قد رفضت دعوة الانضمام للمجموعة من %s.</string>
|
||||||
<string name="groups_invitations_response_declined_auto">تم رفض دعوة المجموعة %s تلقائيًا.</string>
|
|
||||||
<string name="groups_invitations_response_accepted_received">قبل/ت %s دعوة الانضمام للمجموعة.</string>
|
<string name="groups_invitations_response_accepted_received">قبل/ت %s دعوة الانضمام للمجموعة.</string>
|
||||||
<string name="groups_invitations_response_declined_received">رفض/ت %s دعوة الانضمام للمجموعة.</string>
|
<string name="groups_invitations_response_declined_received">رفض/ت %s دعوة الانضمام للمجموعة.</string>
|
||||||
<string name="sharing_status_groups">فقط مُنشئ/ة المجموعة يمكنه/ها دعوة أعضاء جدد. في الأسفل جميع الأعضاء الحاليين بالمجموعة.</string>
|
<string name="sharing_status_groups">فقط مُنشئ/ة المجموعة يمكنه/ها دعوة أعضاء جدد. في الأسفل جميع الأعضاء الحاليين بالمجموعة.</string>
|
||||||
@@ -479,13 +409,8 @@
|
|||||||
<string name="forum_declined_toast">تم رفض الدعوة</string>
|
<string name="forum_declined_toast">تم رفض الدعوة</string>
|
||||||
<string name="shared_by_format">تمت المشاركة بواسطة %s</string>
|
<string name="shared_by_format">تمت المشاركة بواسطة %s</string>
|
||||||
<string name="forum_invitation_already_sharing">في طور المشاركة</string>
|
<string name="forum_invitation_already_sharing">في طور المشاركة</string>
|
||||||
<string name="forum_invitation_already_invited">تم إرسال الدعوة بالفعل</string>
|
|
||||||
<string name="forum_invitation_invite_received">تم استلام الدعوة بالفعل</string>
|
|
||||||
<string name="forum_invitation_not_supported">غير مدعوم من قبل جهة الاتصال هذه</string>
|
|
||||||
<string name="forum_invitation_error">خطأ. هذا خطأ فني وليس خطأك</string>
|
|
||||||
<string name="forum_invitation_response_accepted_sent">لقد قبلت دعوة المنتدى من %s.</string>
|
<string name="forum_invitation_response_accepted_sent">لقد قبلت دعوة المنتدى من %s.</string>
|
||||||
<string name="forum_invitation_response_declined_sent">لقد رفضت دعوة المنتدى من %s.</string>
|
<string name="forum_invitation_response_declined_sent">لقد رفضت دعوة المنتدى من %s.</string>
|
||||||
<string name="forum_invitation_response_declined_auto">رُفضت الدعوة المنتدى من %s تلقائيًا.</string>
|
|
||||||
<string name="forum_invitation_response_accepted_received">قبل/ت %s دعوة المنتدى.</string>
|
<string name="forum_invitation_response_accepted_received">قبل/ت %s دعوة المنتدى.</string>
|
||||||
<string name="forum_invitation_response_declined_received">رفض/ت %s دعوة المنتدى.</string>
|
<string name="forum_invitation_response_declined_received">رفض/ت %s دعوة المنتدى.</string>
|
||||||
<string name="sharing_status">حالة المشاركة</string>
|
<string name="sharing_status">حالة المشاركة</string>
|
||||||
@@ -524,7 +449,6 @@
|
|||||||
<string name="blogs_sharing_snackbar">تم مشاركة المدونة مع جهات الاتصال المختارة</string>
|
<string name="blogs_sharing_snackbar">تم مشاركة المدونة مع جهات الاتصال المختارة</string>
|
||||||
<string name="blogs_sharing_response_accepted_sent">لقد قبلت دعوة المدونة من %s.</string>
|
<string name="blogs_sharing_response_accepted_sent">لقد قبلت دعوة المدونة من %s.</string>
|
||||||
<string name="blogs_sharing_response_declined_sent">لقد رفضت دعوة المدونة من %s.</string>
|
<string name="blogs_sharing_response_declined_sent">لقد رفضت دعوة المدونة من %s.</string>
|
||||||
<string name="blogs_sharing_response_declined_auto">رُفضت الدعوة المدونة من %s تلقائيًا.</string>
|
|
||||||
<string name="blogs_sharing_response_accepted_received">قبل/ت %s دعوة المدونة.</string>
|
<string name="blogs_sharing_response_accepted_received">قبل/ت %s دعوة المدونة.</string>
|
||||||
<string name="blogs_sharing_response_declined_received">رفض/ت %s دعوة المدونة.</string>
|
<string name="blogs_sharing_response_declined_received">رفض/ت %s دعوة المدونة.</string>
|
||||||
<string name="blogs_sharing_invitation_received">قام/ت %1$s بمشاركة المدونة \"%2$s\" معك.</string>
|
<string name="blogs_sharing_invitation_received">قام/ت %1$s بمشاركة المدونة \"%2$s\" معك.</string>
|
||||||
@@ -537,10 +461,7 @@
|
|||||||
<string name="blogs_rss_feeds_import">إستيراد تحديثات RSS</string>
|
<string name="blogs_rss_feeds_import">إستيراد تحديثات RSS</string>
|
||||||
<string name="blogs_rss_feeds_import_button">إستيراد</string>
|
<string name="blogs_rss_feeds_import_button">إستيراد</string>
|
||||||
<string name="blogs_rss_feeds_import_hint">ادخال رابط تحديثات RSS</string>
|
<string name="blogs_rss_feeds_import_hint">ادخال رابط تحديثات RSS</string>
|
||||||
<string name="blogs_rss_feeds_import_progress">جارٍ استيراد موجز RSS...</string>
|
|
||||||
<string name="blogs_rss_feeds_import_error">معذرة! حدث خطأ في استيراد التحديثات.</string>
|
<string name="blogs_rss_feeds_import_error">معذرة! حدث خطأ في استيراد التحديثات.</string>
|
||||||
<string name="blogs_rss_feeds_import_title">استيراد الموجز من الملف</string>
|
|
||||||
<string name="blogs_rss_feeds">مواجز RSS</string>
|
|
||||||
<string name="blogs_rss_feeds_manage_imported">تم استيراد:</string>
|
<string name="blogs_rss_feeds_manage_imported">تم استيراد:</string>
|
||||||
<string name="blogs_rss_feeds_manage_author">المؤلف/ة:</string>
|
<string name="blogs_rss_feeds_manage_author">المؤلف/ة:</string>
|
||||||
<string name="blogs_rss_feeds_manage_updated">آخر تحديث:</string>
|
<string name="blogs_rss_feeds_manage_updated">آخر تحديث:</string>
|
||||||
@@ -550,10 +471,6 @@
|
|||||||
<string name="blogs_rss_feeds_manage_empty_state">لا خلاصات RSS للعرض\n\nالرجاء لمس علامة + لإستيراد خلاصة.</string>
|
<string name="blogs_rss_feeds_manage_empty_state">لا خلاصات RSS للعرض\n\nالرجاء لمس علامة + لإستيراد خلاصة.</string>
|
||||||
<string name="blogs_rss_feeds_manage_error">حدث خطأ في جلب خلاصاتك. الرجاء المحاولة لاحقًا.</string>
|
<string name="blogs_rss_feeds_manage_error">حدث خطأ في جلب خلاصاتك. الرجاء المحاولة لاحقًا.</string>
|
||||||
<!--Settings Profile Picture-->
|
<!--Settings Profile Picture-->
|
||||||
<string name="change_profile_picture">انقر لتغيير صورة ملفك الشخصي</string>
|
|
||||||
<string name="dialog_confirm_profile_picture_title">تغيير الصورة الشخصية</string>
|
|
||||||
<string name="dialog_confirm_profile_picture_remark">جهات اتصالك فقط يمكنها رؤية هذه الصورة</string>
|
|
||||||
<string name="change_profile_picture_failed_message">عذرًا، ولكن حدث خطأ ما أثناء تحديث صورة ملفك الشخصي</string>
|
|
||||||
<!--Settings Display-->
|
<!--Settings Display-->
|
||||||
<string name="pref_language_title">اللغة & المنطقة</string>
|
<string name="pref_language_title">اللغة & المنطقة</string>
|
||||||
<string name="pref_language_changed">هذا الإعداد سيتفعل بعد إعادة تشغيل Briar (براير). الرجاء تسجيل الخروج ثم اعادة تشغيل Briar (براير).</string>
|
<string name="pref_language_changed">هذا الإعداد سيتفعل بعد إعادة تشغيل Briar (براير). الرجاء تسجيل الخروج ثم اعادة تشغيل Briar (براير).</string>
|
||||||
@@ -572,7 +489,7 @@
|
|||||||
<string name="tor_enable_summary">كل جهات الاتصال تمر عبر شبكة تور من أجل الخصوصية</string>
|
<string name="tor_enable_summary">كل جهات الاتصال تمر عبر شبكة تور من أجل الخصوصية</string>
|
||||||
<string name="tor_network_setting">وسيلة الاتصال لشبكة تور</string>
|
<string name="tor_network_setting">وسيلة الاتصال لشبكة تور</string>
|
||||||
<string name="tor_network_setting_automatic">تلقائيًا حسب الموقع</string>
|
<string name="tor_network_setting_automatic">تلقائيًا حسب الموقع</string>
|
||||||
<string name="tor_network_setting_without_bridges">استخدام شبكة تور بدون جسور</string>
|
<string name="tor_network_setting_without_bridges">استخدام شبكة تور من دون جسور</string>
|
||||||
<string name="tor_network_setting_with_bridges">استخدام شبكة تور مع جسور</string>
|
<string name="tor_network_setting_with_bridges">استخدام شبكة تور مع جسور</string>
|
||||||
<string name="tor_network_setting_never">لا يمكن الاتصال بالإنترنت</string>
|
<string name="tor_network_setting_never">لا يمكن الاتصال بالإنترنت</string>
|
||||||
<!--How and when Briar will connect to Tor: E.g. "Don't connect to the Internet (in China)" or "Use Tor network with bridges (in Belarus)"-->
|
<!--How and when Briar will connect to Tor: E.g. "Don't connect to the Internet (in China)" or "Use Tor network with bridges (in Belarus)"-->
|
||||||
@@ -641,108 +558,9 @@
|
|||||||
<string name="notify_sound_setting_disabled">لا شيء</string>
|
<string name="notify_sound_setting_disabled">لا شيء</string>
|
||||||
<string name="choose_ringtone_title">اختر نغمة</string>
|
<string name="choose_ringtone_title">اختر نغمة</string>
|
||||||
<string name="cannot_load_ringtone">لا يمكن تشغيل النغمة</string>
|
<string name="cannot_load_ringtone">لا يمكن تشغيل النغمة</string>
|
||||||
<!--Mailbox-->
|
|
||||||
<string name="mailbox_settings_title">صندوق البريد</string>
|
|
||||||
<string name="mailbox_setup_title">إعداد صندوق البريد</string>
|
|
||||||
<string name="mailbox_setup_intro">يتيح صندوق البريد (Mailbox) لجهات اتصالك إرسال رسائل إليك أثناء عدم الاتصال بالإنترنت. سيتلقى صندوق البريد رسائلك ويخزنها حتى تتصل بالإنترنت.\n
|
|
||||||
\nيمكنك تثبيت تطبيق Briar Mailbox على جهاز احتياطي. أبقِ جهازك متصلاً بمصدر الطاقة وشبكة Wi-Fi حتى يكون متصلاً بالإنترنت دائمًا.</string>
|
|
||||||
<string name="mailbox_setup_download">أولاً، ثبّت تطبيق Mailbox على جهاز آخر من خلال البحث عن \"Briar Mailbox\" على متجر Google أو في أي مكان قمت فيه بتنزيل براير.\n
|
|
||||||
\nثم اربط صندوق البريد (Mailbox) الخاص بك مع Briar عن طريق مسح رمز QR الذي يظهر في تطبيق Mailbox.</string>
|
|
||||||
<string name="mailbox_setup_download_link">مشاركة رابط التنزيل</string>
|
|
||||||
<string name="mailbox_setup_button_scan">امسح رمز QR صندوق البريد</string>
|
|
||||||
<string name="permission_camera_qr_denied_body">لقد رفضت الوصول إلى الكاميرا، ولكن مسح رمز QR يتطلب استخدام الكاميرا.\n\nيُرجى مراعاة منح حق الوصول.</string>
|
|
||||||
<string name="mailbox_setup_connecting">جارِ الاتصال بصندوق البريد…</string>
|
|
||||||
<!--This string is shown when connecting to a Mailbox for the first time. The placeholder will be replaced with a duration, e.g. "2 minutes".-->
|
|
||||||
<string name="mailbox_setup_connecting_info">قد يستغرق هذا ما يصل إلى %1s</string>
|
|
||||||
<string name="mailbox_qr_code_too_old">يأتي رمز QR الذي مسحته ضوئيًا من إصدار أقدم من Briar Mailbox.\n\nيُرجى ترقية Briar Mailbox إلى احدث إصدار ثم حاول مرة أخرى.</string>
|
|
||||||
<string name="mailbox_qr_code_too_new">يأتي رمز QR الذي مسحته ضوئيًا من إصدار أحدث من Briar Mailbox.\n\nيُرجى ترقية براير إلى احدث إصدار ثم حاول مرة أخرى.</string>
|
|
||||||
<string name="contact_qr_code_for_mailbox">رمز QR الذي مسحته ضوئيًا مخصص لإضافة جهة اتصال لـبراير.\n\nإذا كنت تريد إضافة جهة اتصال، فيُرجى الانتقال إلى قائمة جهات الاتصال والنقر على أيقونة +.</string>
|
|
||||||
<string name="mailbox_setup_qr_code_wrong_description">رمز QR الذي مسحته ضوئيًا لا يأتي من Briar Mailbox.\n\nيُرجى فتح تطبيق Briar Mailbox على جهاز Mailbox الخاص بك ومسح رمز QR الذي يقدمه ضوئيًا.</string>
|
|
||||||
<string name="mailbox_setup_already_paired_title">صندوق البريد مرتبط بالفعل</string>
|
|
||||||
<string name="mailbox_setup_already_paired_description">قم بإلغاء ربط صندوق البريد على جهازك الآخر وحاول مرة أخرى.</string>
|
|
||||||
<string name="mailbox_setup_io_error_title">تعذر الاتصال</string>
|
|
||||||
<string name="mailbox_setup_io_error_description">تأكد من أن كلا الجهازين متصلان بالإنترنت وحاول مرة أخرى.</string>
|
|
||||||
<string name="mailbox_setup_assertion_error_title">خطأ في صندوق البريد</string>
|
|
||||||
<string name="mailbox_setup_assertion_error_description">يُرجى إرسال الملاحظات (مع بيانات مجهولة المصدر) عبر تطبيق براير إذا استمرت المشكلة.</string>
|
|
||||||
<string name="mailbox_setup_camera_error_description">تعذر الوصول إلى الكاميرا. حاول مرة أخرى، ربما بعد إعادة تشغيل الجهاز.</string>
|
|
||||||
<string name="mailbox_setup_paired_title">متصل</string>
|
|
||||||
<string name="mailbox_setup_paired_description">لقد ربطت صندوق بريدك بـبراير بنجاح.\n
|
|
||||||
\nحافظ على اتصال صندوق بريدك بمصدر الطاقة وشبكة Wi-Fi حتى يكون متصلاً بالإنترنت دائمًا.</string>
|
|
||||||
<string name="tor_offline_title">غير متصل</string>
|
|
||||||
<string name="tor_offline_description">\nبعد ذلك، انتظر حتى يتحول لون رمز الكرة الأرضية في شاشة إعدادات الاتصال إلى اللون الأخضر.</string>
|
|
||||||
<string name="tor_offline_button_check">تحقق من إعدادات الاتصال</string>
|
|
||||||
<string name="mailbox_status_title">حالة صندوق البريد</string>
|
|
||||||
<string name="mailbox_status_connected_title">صندوق البريد قيد التشغيل</string>
|
|
||||||
<string name="mailbox_status_problem_title">يواجه براير مشكلة في الاتصال بصندوق البريد</string>
|
|
||||||
<string name="mailbox_status_failure_title">صندوق البريد غير متاح</string>
|
|
||||||
<string name="mailbox_status_app_too_old_title">براير قديم جداً</string>
|
|
||||||
<string name="mailbox_status_app_too_old_message">حدّث بريار إلى أحدث إصدار من التطبيق وحاول مرة أخرى.</string>
|
|
||||||
<string name="mailbox_status_mailbox_too_old_title">صندوق البريد قديم جدًا</string>
|
|
||||||
<string name="mailbox_status_mailbox_too_old_message">قم بتحديث صندوق البريد Mailbox الخاص بك إلى أحدث إصدار من التطبيق وحاول مرة أخرى.</string>
|
|
||||||
<string name="mailbox_status_check_button">تحقق من اتصال</string>
|
|
||||||
<!--Example for string substitution: Last connection: 3min ago-->
|
|
||||||
<string name="mailbox_status_connected_info">آخر اتصال: %s</string>
|
|
||||||
<!--Indicates that there never was a connection to the mailbox. Last connection: Never-->
|
|
||||||
<string name="mailbox_status_connected_never">أبداً</string>
|
|
||||||
<string name="mailbox_status_unlink_button">فك الارتباط</string>
|
|
||||||
<string name="mailbox_status_unlink_dialog_title">هل تريد إلغاء ارتباط صندوق البريد؟</string>
|
|
||||||
<string name="mailbox_status_unlink_dialog_question">هل أنت متأكد أنك تريد إلغاء ربط صندوق بريدك؟</string>
|
|
||||||
<string name="mailbox_status_unlink_dialog_warning">إذا قمت بإلغاء ربط صندوق بريدك، فلن تتمكن من تلقي الرسائل عندما يكون براير غير متصل.</string>
|
|
||||||
<string name="mailbox_status_unlink_no_wipe_title">ألغيت ربط صندوق بريدك</string>
|
|
||||||
<string name="mailbox_status_unlink_no_wipe_message">في المرة القادمة التي يمكنك فيها الوصول إلى جهاز Mailbox الخاص بك، يُرجى فتح تطبيق Mailbox والنقر على الزر \"Unlink\" لإكمال العملية.\n\nإذا لم يعد بإمكانك الوصول إلى جهاز Mailbox الخاص بك، فلا تقلق. يتم تعمية بياناتك بحيث تظل آمنة حتى لو لم تكمل العملية.</string>
|
|
||||||
<string name="mailbox_status_unlink_success">ألغيت ربط صندوق بريدك</string>
|
|
||||||
<string name="mailbox_error_notification_channel_title">مشكلة صندوق بريد براير</string>
|
|
||||||
<string name="mailbox_error_notification_title">صندوق بريد براير غير متوفر</string>
|
|
||||||
<string name="mailbox_error_notification_text">انقر لإصلاح المشكلة.</string>
|
|
||||||
<string name="mailbox_error_wizard_button">اصلح المشكلة</string>
|
|
||||||
<string name="mailbox_error_wizard_title">معالج استكشاف أخطاء صندوق البريد وإصلاحها</string>
|
|
||||||
<string name="mailbox_error_wizard_question1">هل لديك حق الوصول إلى جهاز صندوق بريدك؟</string>
|
|
||||||
<string name="mailbox_error_wizard_answer1">نعم ، يمكنني الوصول إليه الآن.</string>
|
|
||||||
<string name="mailbox_error_wizard_answer2">ليس الآن ، لكن يمكنني الوصول إليه لاحقًا.</string>
|
|
||||||
<string name="mailbox_error_wizard_answer3">لا ، لم يعد بإمكاني الوصول إليه.</string>
|
|
||||||
<string name="mailbox_error_wizard_info1_1">تأكد من أن جهاز صندوق البريد قيد التشغيل ومتصل بالإنترنت.</string>
|
|
||||||
<string name="mailbox_error_wizard_question1_1">افتح تطبيق صندوق البريد Mailbox. ماذا ترى؟</string>
|
|
||||||
<string name="mailbox_error_wizard_answer1_1">أرى إرشادات حول إعداد صندوق البريد Mailbox</string>
|
|
||||||
<string name="mailbox_error_wizard_answer1_2">أرى رمز QR</string>
|
|
||||||
<string name="mailbox_error_wizard_answer1_3">أرى \"صندوق البريد قيد التشغيل\"</string>
|
|
||||||
<string name="mailbox_error_wizard_answer1_4">أرى \"الجهاز غير متصل بالإنترنت\"</string>
|
|
||||||
<string name="mailbox_error_wizard_info1_1_1">يُرجى إلغاء ربط صندوق البريد Mailbox الخاص بك باستخدام الزر أدناه، ثم اتباع الإرشادات الموجودة على جهاز Mailbox لربطه مرة أخرى.</string>
|
|
||||||
<string name="mailbox_error_wizard_info_1_1_2">يُرجى إلغاء ربط صندوق البريد Mailbox الخاص بك باستخدام الزر أدناه، ثم مسح رمز الاستجابة السريعة QR للربط مرة أخرى</string>
|
|
||||||
<string name="mailbox_error_wizard_info1_1_3">الرجاء استخدام الزر أدناه للتحقق من الاتصال بين براير وصندوق البريد.\n\n
|
|
||||||
إذا فشل الاتصال مرة أخرى:\n
|
|
||||||
\u2022 تأكد من تحديث تطبيقي Mailbox وبراير إلى الإصدار الأحدث.\n
|
|
||||||
\u2022 أعد تشغيل أجهزة Mailbox وبراير وحاول مرة أخرى.</string>
|
|
||||||
<string name="mailbox_error_wizard_info1_1_4">تأكد من أن جهاز صندوق البريد متصل بالإنترنت بشكل صحيح.\n\nتأكد من أن الساعة الموجودة على جهاز صندوق البريد تعرض الوقت والتاريخ والمنطقة الزمنية الصحيحة.\n\nتأكد من تحديث تطبيقات صندوق البريد و براير إلى الإصدار الأحدث.\ n\nأعِد تشغيل أجهزة صندوق البريد و براير وحاول مرة أخرى.</string>
|
|
||||||
<string name="mailbox_error_wizard_info2">يرجى العودة إلى هذه الشاشة عندما يكون لديك حق الوصول إلى الجهاز.</string>
|
|
||||||
<string name="mailbox_error_wizard_info3">الرجاء إلغاء ربط صندوق بريك باستخدام الزر أدناه.\n\nبعد إلغاء ربط صندوق البريد القديم، يمكنك إعداد صندوق بريد جديد في أي وقت.</string>
|
|
||||||
<!--About-->
|
|
||||||
<string name="about_title">عن </string>
|
|
||||||
<string name="briar_version">إصدار براير: %s</string>
|
|
||||||
<string name="tor_version">إصدار تور: %s</string>
|
|
||||||
<string name="links">روابط</string>
|
|
||||||
<string name="briar_website">\u2022 <a href="">الموقع إلكتروني</a></string>
|
|
||||||
<string name="briar_source_code">\u2022 <a href="">الشيفرة المصدرية</a></string>
|
|
||||||
<string name="briar_changelog">\u2022 <a href="">سجل التغييرات</a></string>
|
|
||||||
<string name="briar_privacy_policy">\u2022 <a href="">سياسة الخصوصية</a></string>
|
|
||||||
<!--Here translators can add their names or Transifex usernames(eg "Thanks to all the contributors at the Localization Lab, especially Tom, Matthew and Jerry")-->
|
|
||||||
<string name="translator_thanks">شكرا لجميع المساهمين في Localization Lab</string>
|
|
||||||
<!--Conversation Settings-->
|
<!--Conversation Settings-->
|
||||||
<string name="disappearing_messages_title">الرسائل المختفية</string>
|
|
||||||
<string name="disappearing_messages_explanation_long">سيؤدي تشغيل هذا الإعداد إلى إنشاء جديد
|
|
||||||
تختفي الرسائل في هذه المحادثة تلقائيًا بعد 7\u00A0أيام.
|
|
||||||
\n\nيبدأ العد التنازلي لنسخة المرسل من الرسالة بعد تسليمها.
|
|
||||||
يبدأ العد التنازلي للمستلم بعد قراءة الرسالة.
|
|
||||||
\n\nيتم تمييز الرسائل التي ستختفي برمز القنبلة.
|
|
||||||
\n\nتذكر أنه لا يزال بإمكان المستلمين عمل نسخ من الرسائل التي ترسلها.
|
|
||||||
\n\nإذا قمت بتغيير هذا الإعداد، فسيتم تطبيقه على رسائلك الجديدة فورًا وعلى رسائلك
|
|
||||||
رسائل جهة الاتصال بمجرد تلقي رسالتك التالية.
|
|
||||||
يمكن لجهة الاتصال الخاصة بك أيضًا تغيير هذا الإعداد لكما.</string>
|
|
||||||
<string name="learn_more">تعرف على المزيد</string>
|
<string name="learn_more">تعرف على المزيد</string>
|
||||||
<string name="disappearing_messages_summary">جعل الرسائل المستقبلية في هذه المحادثة تختفي تلقائيًا بعد 7\u00A0 أيام.</string>
|
<!--Settings Feedback-->
|
||||||
<!--Settings Actions-->
|
|
||||||
<string name="pref_category_actions">الإجراءات</string>
|
|
||||||
<string name="share_app_link">مشاركة رابط التنزيل</string>
|
|
||||||
<string name="share_app_link_text">نزّل براير في %s</string>
|
|
||||||
<string name="send_feedback">أرسل ملاحظاتك</string>
|
<string name="send_feedback">أرسل ملاحظاتك</string>
|
||||||
<!--Link Warning-->
|
<!--Link Warning-->
|
||||||
<string name="link_warning_title">تنبيه بوجود رابط</string>
|
<string name="link_warning_title">تنبيه بوجود رابط</string>
|
||||||
@@ -751,7 +569,7 @@
|
|||||||
<string name="link_warning_open_link">افتح الرابط</string>
|
<string name="link_warning_open_link">افتح الرابط</string>
|
||||||
<!--Crash Reporter-->
|
<!--Crash Reporter-->
|
||||||
<string name="crash_report_title">تقرير إنهيار Briar (براير)</string>
|
<string name="crash_report_title">تقرير إنهيار Briar (براير)</string>
|
||||||
<string name="briar_crashed">آسف، لقد تحطم براير</string>
|
<string name="briar_crashed">معذرة، لقد انهار Briar (براير).</string>
|
||||||
<string name="not_your_fault">هذا ليس خطؤك.</string>
|
<string name="not_your_fault">هذا ليس خطؤك.</string>
|
||||||
<string name="please_send_report">الرجاء مساعدتنا في تحسين Briar (براير) عبر إرسال تقرير الإنهيار.</string>
|
<string name="please_send_report">الرجاء مساعدتنا في تحسين Briar (براير) عبر إرسال تقرير الإنهيار.</string>
|
||||||
<string name="report_is_encrypted">نعدك بأن التقرير سيرسل مشفرًا وبشكل آمن.</string>
|
<string name="report_is_encrypted">نعدك بأن التقرير سيرسل مشفرًا وبشكل آمن.</string>
|
||||||
@@ -759,54 +577,29 @@
|
|||||||
<string name="describe_crash">وصف ما حدث (إختياري)</string>
|
<string name="describe_crash">وصف ما حدث (إختياري)</string>
|
||||||
<string name="enter_feedback">ادخال ملاحظاتك</string>
|
<string name="enter_feedback">ادخال ملاحظاتك</string>
|
||||||
<string name="optional_contact_email">بريدك الالكتروني (إختياري)</string>
|
<string name="optional_contact_email">بريدك الالكتروني (إختياري)</string>
|
||||||
<string name="privacy_policy">بإرسال البيانات إلينا فإنك توافق على <a href="">سياسة الخصوصية</a></string>
|
|
||||||
<string name="include_debug_report_crash">تضمين بيانات مجهولة عن الإنهيار</string>
|
<string name="include_debug_report_crash">تضمين بيانات مجهولة عن الإنهيار</string>
|
||||||
<string name="include_debug_report_feedback">تضمين بيانات مجهولة عن هذا الجهاز</string>
|
<string name="include_debug_report_feedback">تضمين بيانات مجهولة عن هذا الجهاز</string>
|
||||||
<string name="dev_report_user_info">معلومات المستخدم</string>
|
|
||||||
<string name="dev_report_basic_info">المعلومات الأساسية</string>
|
<string name="dev_report_basic_info">المعلومات الأساسية</string>
|
||||||
<string name="dev_report_device_info">معلومات الجهاز</string>
|
<string name="dev_report_storage">تخزين</string>
|
||||||
<string name="dev_report_stacktrace">Stacktrace</string>
|
|
||||||
<string name="dev_report_time_info">معلومات الوقت</string>
|
|
||||||
<string name="dev_report_memory">الذاكرة</string>
|
|
||||||
<string name="dev_report_storage">التخزين</string>
|
|
||||||
<string name="dev_report_connectivity">الاتصال</string>
|
<string name="dev_report_connectivity">الاتصال</string>
|
||||||
<string name="dev_report_network_usage">استهلاك الشبكة</string>
|
|
||||||
<string name="dev_report_build_config">تهيئة البناء</string>
|
|
||||||
<string name="dev_report_logcat">سجل التطبيق</string>
|
|
||||||
<string name="dev_report_device_features">مميزات الجهاز</string>
|
|
||||||
<string name="send_report">ارسال التقرير</string>
|
<string name="send_report">ارسال التقرير</string>
|
||||||
<string name="close">إغلاق</string>
|
<string name="close">إغلاق</string>
|
||||||
<string name="dev_report_sending">ارسال التعليقات</string>
|
<string name="dev_report_sending">ارسال التعليقات</string>
|
||||||
<string name="dev_report_sent">أرسلت ملاحظات</string>
|
|
||||||
<string name="dev_report_saved">تم حفظ التقرير. سيتم إرساله عند تسجيل الدخول إلى Briar (براير) في المرة القادمة.</string>
|
<string name="dev_report_saved">تم حفظ التقرير. سيتم إرساله عند تسجيل الدخول إلى Briar (براير) في المرة القادمة.</string>
|
||||||
<string name="dev_report_error">خطأ: فشل إرسال التقرير</string>
|
|
||||||
<!--Sign Out-->
|
<!--Sign Out-->
|
||||||
<string name="progress_title_logout">تسجيل الخروج من Briar (براير)...</string>
|
<string name="progress_title_logout">تسجيل الخروج من Briar (براير)...</string>
|
||||||
<!--Screen Filters & Tapjacking-->
|
<!--Screen Filters & Tapjacking-->
|
||||||
<string name="screen_filter_title">تم إكتشاف غلاف شاشة</string>
|
<string name="screen_filter_title">تم إكتشاف غلاف شاشة</string>
|
||||||
<string name="screen_filter_body">تطبيق آخر يعمل كغلاف فوق Briar (براير). لحماية أمنك فإن Briar (براير) لن يستجيب للمس طالما كان تطبيق آخر فوقه.\n\nيحتمل أن تكون أحد هذه التطبيقات التي تعمل بالفوق:\n\n %1$s</string>
|
<string name="screen_filter_body">تطبيق آخر يعمل كغلاف فوق Briar (براير). لحماية أمنك فإن Briar (براير) لن يستجيب للمس طالما كان تطبيق آخر فوقه.\n\nيحتمل أن تكون أحد هذه التطبيقات التي تعمل بالفوق:\n\n %1$s</string>
|
||||||
<string name="screen_filter_body_api_30">تطبيق آخر يعمل كغلاف فوق براير. لحماية أمنك فإن براير لن يستجيب للمس طالما كان تطبيق آخر فوقه.\n\nراجع التطبيقات أدناه للعثور على التطبيق المسؤول.</string>
|
|
||||||
<string name="screen_filter_allow">السماح لهذه التطبيقات بالعمل فوق غيرها</string>
|
<string name="screen_filter_allow">السماح لهذه التطبيقات بالعمل فوق غيرها</string>
|
||||||
<string name="screen_filter_review_apps">راجعْ التطبيقات</string>
|
|
||||||
<!--Permission Requests-->
|
<!--Permission Requests-->
|
||||||
<string name="permission_camera_title">إذن الكاميرا</string>
|
<string name="permission_camera_title">إذن الكاميرا</string>
|
||||||
<string name="permission_camera_request_body">للتمكن من مسح رمز QR، يحتاج Briar (براير) إلى إستعمال الكاميرا.</string>
|
<string name="permission_camera_request_body">للتمكن من مسح رمز QR، يحتاج Briar (براير) إلى إستعمال الكاميرا.</string>
|
||||||
<string name="permission_location_title">إذن معرفة الموقع </string>
|
<string name="permission_location_title">إذن معرفة الموقع </string>
|
||||||
<string name="permission_nearby_devices_title">إذن الأجهزة القريبة</string>
|
|
||||||
<string name="permission_location_request_body">لاكتشاف أجهزة بلوتوث، يحتاج Briar (براير) لإذن بالوصول إلى موقعكم.\n\n لا يخزّن Briar (براير) موقعكم ولا يشاركه مع أي شخص. </string>
|
<string name="permission_location_request_body">لاكتشاف أجهزة بلوتوث، يحتاج Briar (براير) لإذن بالوصول إلى موقعكم.\n\n لا يخزّن Briar (براير) موقعكم ولا يشاركه مع أي شخص. </string>
|
||||||
<string name="permission_camera_location_title">الكاميرا والموقع</string>
|
<string name="permission_camera_location_title">الكاميرا والموقع</string>
|
||||||
<string name="permission_camera_location_request_body">لمسح رمز الاستجابة السّريعة أو QR، يحتاج Briar (براير) للوصول إلى الكاميرا. \n\n لاكتشاف أجهزة بلوتوث، يحتاج Briar (براير) لإذن بالوصول إلى موقعكم. \n\n لا يخزّن Briar (براير) موقعكم ولا يشاركه مع أي شخص. </string>
|
<string name="permission_camera_location_request_body">لمسح رمز الاستجابة السّريعة أو QR، يحتاج Briar (براير) للوصول إلى الكاميرا. \n\n لاكتشاف أجهزة بلوتوث، يحتاج Briar (براير) لإذن بالوصول إلى موقعكم. \n\n لا يخزّن Briar (براير) موقعكم ولا يشاركه مع أي شخص. </string>
|
||||||
<string name="permission_camera_bluetooth_title">الكاميرا والأجهزة القريبة</string>
|
|
||||||
<string name="permission_camera_bluetooth_request_body">لمسح رمز QR ضوئيًا، يحتاج براير إلى الوصول إلى الكاميرا.\n\nلاكتشاف أجهزة البلوتوث، يحتاج براير إلى إذن للعثور على الأجهزة القريبة والاتصال بها.</string>
|
|
||||||
<string name="permission_camera_denied_body">قد رفضت إعطاء إذن الكاميرا، لكن إضافة جهات إتصال يتطلب إستعمال الكاميرا.\n\nالرجاء منح الإذن.</string>
|
<string name="permission_camera_denied_body">قد رفضت إعطاء إذن الكاميرا، لكن إضافة جهات إتصال يتطلب إستعمال الكاميرا.\n\nالرجاء منح الإذن.</string>
|
||||||
<string name="permission_location_denied_body">لقد رفضت الوصول إلى موقعك، لكن براير يحتاج إلى هذا الإذن لاكتشاف أجهزة البلوتوث.\n\nالرجاء التفكير في منح حق الوصول.</string>
|
|
||||||
<string name="permission_location_setting_title">إعداد الموقع</string>
|
|
||||||
<string name="permission_location_setting_body">يجب تشغيل إعداد الموقع بجهازك للعثور على أجهزة أخرى عبر البلوتوث. الرجاء تفعيل الموقع للمتابعة. ويمكنك تعطيله مرة أخرى بعد ذلك.</string>
|
|
||||||
<string name="permission_location_setting_hotspot_body">يجب تشغيل إعداد الموقع بجهازك لإنشاء نقطة اتصال Wi-Fi. الرجاء تفعيل الموقع للمتابعة. ويمكنك تعطيله مرة أخرى بعد ذلك.</string>
|
|
||||||
<string name="permission_location_setting_button">تفعيل الموقع</string>
|
|
||||||
<string name="permission_bluetooth_title">إذن الأجهزة القريبة</string>
|
|
||||||
<string name="permission_bluetooth_body">لاستخدام اتصال البلوتوث، يحتاج براير إلى إذن للعثور على الأجهزة القريبة والاتصال بها.</string>
|
|
||||||
<string name="permission_bluetooth_denied_body">لقد رفضت الوصول إلى الأجهزة القريبة، ولكن براير يحتاج إلى هذا الإذن لاستخدام البلوتوث.\n\nيُرجى التفكير في منح حق الوصول.</string>
|
|
||||||
<string name="qr_code">رمز QR</string>
|
<string name="qr_code">رمز QR</string>
|
||||||
<string name="show_qr_code_fullscreen">اظهار رمز QR بوضع ملء الشاشة</string>
|
<string name="show_qr_code_fullscreen">اظهار رمز QR بوضع ملء الشاشة</string>
|
||||||
<!--App Locking-->
|
<!--App Locking-->
|
||||||
@@ -818,99 +611,6 @@
|
|||||||
<string name="lock_tap_to_unlock">الرجاء اللمس لفك القفل</string>
|
<string name="lock_tap_to_unlock">الرجاء اللمس لفك القفل</string>
|
||||||
<!--Connections Screen-->
|
<!--Connections Screen-->
|
||||||
<string name="transports_help_text">يمكن ل Briar التواصل مع جهات الاتصال عن طريق الانترنت, شكبة ال Wi-Fi أو البلوتوث.n\n\كل وسائل الاتصال عن طريق الانترنت تمر عبر شبكة تور من أجل الخصوصية.n\n\إذا كان من الممكن الوصول إلى شبكة إتصال بعدة طرق فإن Briar سوف يستعملهم جميعاً بالتوازي.</string>
|
<string name="transports_help_text">يمكن ل Briar التواصل مع جهات الاتصال عن طريق الانترنت, شكبة ال Wi-Fi أو البلوتوث.n\n\كل وسائل الاتصال عن طريق الانترنت تمر عبر شبكة تور من أجل الخصوصية.n\n\إذا كان من الممكن الوصول إلى شبكة إتصال بعدة طرق فإن Briar سوف يستعملهم جميعاً بالتوازي.</string>
|
||||||
<!--Share app offline-->
|
|
||||||
<string name="hotspot_title">مشاركة هذا التطبيق بدون اتصال</string>
|
|
||||||
<string name="hotspot_intro">شارك هذا التطبيق مع شخص قريب منك دون اتصال بالإنترنت باستخدام شبكة Wi-Fi بهاتفك.
|
|
||||||
\n\nسيبدأ هاتفك في تشغيل نقطة اتصال Wi-Fi. يمكن للأشخاص القريبين الاتصال بنقطة الاتصال وتنزيل تطبيق براير من هاتفك.</string>
|
|
||||||
<string name="hotspot_button_start_sharing">ابدأ نقطة الاتصال</string>
|
|
||||||
<string name="hotspot_button_stop_sharing">إيقاف نقطة الاتصال</string>
|
|
||||||
<string name="hotspot_progress_text_start">جارِ إعداد نقطة الاتصال…</string>
|
|
||||||
<string name="hotspot_notification_channel_title">نقطة اتصال واي فاي</string>
|
|
||||||
<string name="hotspot_notification_title">جارِ مشاركة براير بدون اتصال</string>
|
|
||||||
<string name="hotspot_button_connected">التالي</string>
|
|
||||||
<string name="permission_hotspot_location_request_body">لإنشاء نقطة اتصال Wi-Fi، يحتاج براير إلى إذن للوصول إلى موقعك.\n\nلا يُخزن براير موقعك أو يشاركه مع أي شخص.</string>
|
|
||||||
<string name="permission_hotspot_location_request_precise_body">لإنشاء نقطة اتصال Wi-Fi، يحتاج براير إلى إذن للوصول إلى موقعك الدقيق.\n\nلا يُخزن براير موقعك أو يشاركه مع أي شخص.</string>
|
|
||||||
<string name="permission_hotspot_location_denied_body">لقد رفضت الوصول إلى موقعك، لكن براير يحتاج إلى هذا الإذن لإنشاء نقطة اتصال Wi-Fi.\n\nيُرجى التفكير في منح حق الوصول.</string>
|
|
||||||
<string name="permission_hotspot_location_denied_precise_body">لقد رفضت الوصول إلى موقعك الدقيق، لكن براير يحتاج إلى هذا الإذن لإنشاء نقطة اتصال Wi-Fi.\n\nيُرجى التفكير في منح حق الوصول.</string>
|
|
||||||
<string name="permission_hotspot_nearby_wifi_request_body">لإنشاء نقطة اتصال Wi-Fi، يحتاج براير إلى إذن للوصول إلى الأجهزة القريبة.</string>
|
|
||||||
<string name="permission_hotspot_nearby_wifi_denied_body">لقد رفضت الوصول إلى الأجهزة القريبة، لكن براير يحتاج إلى هذا الإذن لإنشاء نقطة اتصال Wi-Fi.\n\nيُرجى التفكير في منح حق الوصول.</string>
|
|
||||||
<string name="wifi_settings_title">إعداد Wi-Fi</string>
|
|
||||||
<string name="wifi_settings_request_enable_body">لإنشاء نقطة اتصال Wi-Fi، يحتاج براير إلى استخدام Wi-Fi. يُرجى تفعيله.</string>
|
|
||||||
<string name="hotspot_tab_manual">يدويا</string>
|
|
||||||
<!--The placeholder to be inserted into the string 'hotspot_manual_wifi': People can connect by %s-->
|
|
||||||
<string name="hotspot_scanning_a_qr_code">مسح ضوئي رمز QR</string>
|
|
||||||
<!--Wi-Fi setup-->
|
|
||||||
<!--The %s placeholder will be replaced with the translation of 'hotspot_scanning_a_qr_code'-->
|
|
||||||
<string name="hotspot_manual_wifi">يوفر هاتفك نقطة اتصال Wi-Fi. يمكن للأشخاص الذين يرغبون في تنزيل براير الاتصال بنقطة الاتصال عن طريق إضافتها في إعدادات Wi-Fi على أجهزتهم باستخدام التفاصيل أدناه أو من خلال %s. عندما يتصلون بنقطة الاتصال، اضغط على \"التالي\".</string>
|
|
||||||
<string name="hotspot_manual_wifi_ssid">اسم الشبكة</string>
|
|
||||||
<string name="hotspot_qr_wifi">يوفر هاتفك نقطة اتصال Wi-Fi. يمكن للأشخاص الذين يرغبون في تنزيل براير الاتصال بنقطة الاتصال عن طريق مسح رمز QR هذا. عندما يتصلون بنقطة الاتصال، اضغط على \"التالي\".</string>
|
|
||||||
<string name="hotspot_no_peers_connected">لا توجد أجهزة متصلة</string>
|
|
||||||
<plurals name="hotspot_peers_connected">
|
|
||||||
<item quantity="zero">%s اجهزة متصلة</item>
|
|
||||||
<item quantity="one">جهاز متصل</item>
|
|
||||||
<item quantity="two">جهازين متصلين</item>
|
|
||||||
<item quantity="few">%s اجهزة متصلة</item>
|
|
||||||
<item quantity="many">%s اجهزة متصلة</item>
|
|
||||||
<item quantity="other">%s اجهزة متصلة</item>
|
|
||||||
</plurals>
|
|
||||||
<!--Download link-->
|
|
||||||
<!--The %s placeholder will be replaced with the translation of 'hotspot_scanning_a_qr_code'-->
|
|
||||||
<string name="hotspot_manual_site">يوفر هاتفك نقطة اتصال Wi-Fi. يمكن للأشخاص المتصلين بنقطة الاتصال تنزيل براير عن طريق كتابة الرابط التالي في متصفح الويب أو%s.</string>
|
|
||||||
<string name="hotspot_manual_site_address">عنوان (URL)</string>
|
|
||||||
<string name="hotspot_qr_site">يوفر هاتفك نقطة اتصال Wi-Fi. يمكن للأشخاص المتصلين بنقطة الاتصال تنزيل براير عن طريق مسح رمز QR هذا.</string>
|
|
||||||
<!--e.g. Download Briar 1.2.20-->
|
|
||||||
<string name="website_download_title_1">نزّل براير %s</string>
|
|
||||||
<string name="website_download_intro_1">قام أحد الأشخاص القريبين بمشاركة براير معك.</string>
|
|
||||||
<string name="website_download_button">نزّل براير</string>
|
|
||||||
<string name="website_download_outro">بعد اكتمال التنزيل، افتح الملف الذي نزلته و ثبته.</string>
|
|
||||||
<string name="website_troubleshooting_title">تحرّي المشكلات</string>
|
|
||||||
<string name="website_troubleshooting_1">إذا لم تتمكن من تنزيل التطبيق، فجربه باستخدام تطبيق متصفح ويب مختلف.</string>
|
|
||||||
<string name="website_troubleshooting_2_old">لتثبيت التطبيق الذي نزلته، قد تحتاج إلى السماح بتثبيت التطبيقات من \"مصادر غير معروفة\" في إعدادات النظام. وبعد ذلك، قد تحتاج إلى تنزيل التطبيق مرة أخرى. نوصي بتعطيل إعداد \"مصادر غير معروفة\" بعد تثبيت التطبيق.</string>
|
|
||||||
<string name="website_troubleshooting_2_new">لتثبيت التطبيق الذي نزلته، قد تحتاج إلى السماح لمتصفحك بتثبيت تطبيقات غير معروفة. بعد تثبيت التطبيق، نوصي بإزالة إذن المتصفح لتثبيت التطبيقات غير المعروفة.</string>
|
|
||||||
<string name="hotspot_help_wifi_title">مشاكل في الاتصال بشبكة Wi-Fi:</string>
|
|
||||||
<string name="hotspot_help_wifi_1">حاول تعطيل شبكة Wi-Fi وإعادة تفعيلهل على كلا الهاتفين ثم حاول مرة أخرى.</string>
|
|
||||||
<string name="hotspot_help_wifi_2">إذا اشتكى هاتفك من عدم اتصال شبكة Wi-Fi بالإنترنت، فأخبره أنك تريد البقاء على اتصال على أي حال.</string>
|
|
||||||
<string name="hotspot_help_wifi_3">أعِد تشغيل الهاتف الذي يقوم بتشغيل نقطة اتصال Wi-Fi، ثم شغيل براير وحاول المشاركة مرة أخرى.</string>
|
|
||||||
<string name="hotspot_help_site_title">مشاكل زيارة الموقع المحلي:</string>
|
|
||||||
<string name="hotspot_help_site_1">تأكد من أنك أدخلت العنوان تمامًا كما هو موضح. خطأ صغير يمكن أن يؤدي إلى الفشل.</string>
|
|
||||||
<string name="hotspot_help_site_2">تأكد من أن هاتفك لا يزال متصلاً بشبكة Wi-Fi الصحيحة (انظر أعلاه) عند محاولة الوصول إلى الموقع.</string>
|
|
||||||
<string name="hotspot_help_site_3">إذا كان لديك تطبيق جدار حماية (firewall)، فتأكد من أنه لا يمنع الوصول.</string>
|
|
||||||
<string name="hotspot_help_site_4">إذا كان بإمكانك زيارة الموقع، ولكن لا يمكنك تنزيل تطبيق براير، فجرب ذلك باستخدام تطبيق متصفح ويب مختلف.</string>
|
|
||||||
<string name="hotspot_help_fallback_title">لا شيء يعمل؟</string>
|
|
||||||
<string name="hotspot_help_fallback_intro">يمكنك محاولة حفظ التطبيق كملف apk. لمشاركته بطريقة أخرى. بمجرد نقل الملف إلى الجهاز الآخر، يمكن استخدامه لتثبيت براير.
|
|
||||||
\n\nنصيحة: للمشاركة عبر البلوتوث، قد تحتاج إلى إعادة تسمية الملف لينتهي بـ .zip أولاً.</string>
|
|
||||||
<string name="hotspot_help_fallback_button">حفظ التطبيق</string>
|
|
||||||
<!--error handling-->
|
|
||||||
<string name="hotspot_error_intro">حدث خطأ ما أثناء محاولة مشاركة التطبيق عبر شبكة Wi-Fi:</string>
|
|
||||||
<string name="hotspot_error_no_wifi_direct">الجهاز لا يدعم خاصية Wi-Fi المباشر</string>
|
|
||||||
<string name="hotspot_error_start_callback_failed">فشلت نقطة الاتصال في البدء: الخطأ %s</string>
|
|
||||||
<string name="hotspot_error_start_callback_failed_unknown">فشلت نقطة الاتصال في البدء بسبب خطأ غير معروف، السبب %d</string>
|
|
||||||
<string name="hotspot_error_start_callback_no_group_info">فشل بدء تشغيل نقطة الاتصال: لا توجد معلومات المجموعة</string>
|
|
||||||
<string name="hotspot_error_web_server_start">خطأ في بدء خادم الويب</string>
|
|
||||||
<string name="hotspot_error_web_server_serve">حدث خطأ أثناء عرض موقع الويب.\n\nيُرجى إرسال التعليقات (مع بيانات مجهولة المصدر) عبر تطبيق براير إذا استمرت المشكلة.</string>
|
|
||||||
<string name="hotspot_flag_test">تحذير: ثُبّت هذا التطبيق مع Android Studio ولا يمكن تثبيته على جهاز آخر.</string>
|
|
||||||
<string name="hotspot_error_framework_busy">غير قادر على بدء نقطة الاتصال.\n\nإذا كانت لديك نقطة اتصال أخرى قيد التشغيل أو كنت تشارك اتصال الإنترنت الخاص بك عبر Wi-Fi، فحاول إيقاف ذلك وحاول مرة أخرى بعد ذلك.</string>
|
|
||||||
<!--Transfer Data via Removable Drives-->
|
|
||||||
<string name="removable_drive_menu_title">قم بالتوصيل عبر محرك أقراص قابل للإزالة</string>
|
|
||||||
<string name="removable_drive_intro">إذا لم تتمكن من الاتصال بجهة اتصالك عبر الإنترنت أو Wi-Fi أو Bluetooth، فيمكن لـبراير أيضًا نقل الرسائل على محرك أقراص قابل للإزالة مثل محرك أقراص USB أو بطاقة SD.</string>
|
|
||||||
<string name="removable_drive_explanation">إذا لم تتمكن من الاتصال بجهة اتصالك عبر الإنترنت أو Wi-Fi أو البلوتوث، فيمكن لـبراير أيضًا نقل الرسائل على محرك أقراص قابل للإزالة مثل محرك أقراص USB أو بطاقة SD.\n\nعند استخدام الزر \"إرسال البيانات\" ، سيتم كتابة أي بيانات تنتظر إرسالها إلى جهة الاتصال على محرك الأقراص القابل للإزالة. يتضمن ذلك الرسائل الخاصة والمرفقات والمدونات والمنتديات والمجموعات الخاصة.\n\nسيتم تعمية كل شيء قبل كتابته على محرك الأقراص القابل للإزالة.\n\nعندما تتلقى جهة اتصالك محرك الأقراص القابل للإزالة، يمكنهم استخدام الزر \"استلام البيانات\" لاستيراد الرسائل إلى براير.</string>
|
|
||||||
<string name="removable_drive_title_send">إرسال البيانات</string>
|
|
||||||
<string name="removable_drive_title_receive">استلام البيانات</string>
|
|
||||||
<string name="removable_drive_send_intro">انقر على الزر أدناه لإنشاء ملف جديد يحتوي على الرسائل مُعمَّى. يمكنك اختيار المكان الذي سيُحفظ الملف فيه.\n\nإذا كنت تريد حفظ الملف على محرك أقراص قابل للإزالة، فأدخل محرك الأقراص الآن</string>
|
|
||||||
<string name="removable_drive_send_no_data">لا توجد حاليًا أية رسائل في انتظار إرسالها إلى جهة الاتصال هذه.</string>
|
|
||||||
<string name="removable_drive_send_not_supported">تستخدم جهة الاتصال هذه إصدارًا قديمًا من براير أو جهازًا قديمًا لا يدعم هذه الميزة.</string>
|
|
||||||
<string name="removable_drive_send_button">اختر ملفًا للتصدير</string>
|
|
||||||
<string name="removable_drive_ongoing">يُرجى الانتظار حتى تكتمل المهمة الجارية</string>
|
|
||||||
<string name="removable_drive_receive_intro">انقر فوق الزر أدناه لاختيار الملف الذي أرسلته جهة الاتصال إليك.\n\nإذا كان الملف موجودًا على محرك أقراص قابل للإزالة، فأدخل محرك الأقراص الآن.</string>
|
|
||||||
<string name="removable_drive_receive_button">اختر ملفًا للاستيراد</string>
|
|
||||||
<string name="removable_drive_success_send_title">صُدير بنجاح</string>
|
|
||||||
<string name="removable_drive_success_send_text">صٌديرت البيانات بنجاح. لديك الآن 28 يوماً لنقل الملف إلى جهة اتصالك.\n\nإذا كان الملف موجوداً على محرك أقراص قابل للإزالة، فاستخدم الإشعار الموجود في شريط الحالة لإخراج محرك الأقراص قبل فصله.</string>
|
|
||||||
<string name="removable_drive_success_receive_title">نجح الاستيراد</string>
|
|
||||||
<string name="removable_drive_success_receive_text">اُستلمت كافة الرسائل مُعمَّى الموجودة في هذا الملف.</string>
|
|
||||||
<string name="removable_drive_error_send_title">حدث خطأ أثناء تصدير البيانات</string>
|
|
||||||
<string name="removable_drive_error_send_text">حدث خطأ أثناء كتابة البيانات إلى الملف.\n\nإذا كنت تستخدم محرك أقراص قابل للإزالة، فتأكد من إدخاله بشكل صحيح وحاول مرة أخرى.\n\nإذا استمر الخطأ، فيُرجى إرسال ملاحظات لإعلام فريق براير بشأن المشكلة.</string>
|
|
||||||
<string name="removable_drive_error_receive_title">حدث خطأ أثناء استيراد البيانات</string>
|
|
||||||
<string name="removable_drive_error_receive_text">الملف المحدد لا يحتوي على أي شيء يمكن أن يتعرف عليه براير.\n\nيُرجى التحقق من أنك اخترت الملف الصحيح.\n\nإذا قامت جهة اتصالك بإنشاء الملف منذ أكثر من 28 يومًا، فلن يتمكن براير من التعرف عليه.</string>
|
|
||||||
<!--Screenshots-->
|
<!--Screenshots-->
|
||||||
<!--This is a name to be used in screenshots. Feel free to change it to a local name.-->
|
<!--This is a name to be used in screenshots. Feel free to change it to a local name.-->
|
||||||
<string name="screenshot_alice">آليس</string>
|
<string name="screenshot_alice">آليس</string>
|
||||||
|
|||||||
@@ -27,6 +27,8 @@
|
|||||||
<string name="dnkm_xiaomi_help">Ако Briar не е заключен в списъка с последно използваните приложения, няма да работи на заден план.</string>
|
<string name="dnkm_xiaomi_help">Ако Briar не е заключен в списъка с последно използваните приложения, няма да работи на заден план.</string>
|
||||||
<string name="dnkm_xiaomi_dialog_body_old">1. Отворете списъка с отворени приложения (списък за превключване на приложения)\n\n2. Плъзнете надолу върху изображението на Briar докато се покаже икона на катинар\n\n3. Ако катинарът е отключен го докоснете, за да го заключите</string>
|
<string name="dnkm_xiaomi_dialog_body_old">1. Отворете списъка с отворени приложения (списък за превключване на приложения)\n\n2. Плъзнете надолу върху изображението на Briar докато се покаже икона на катинар\n\n3. Ако катинарът е отключен го докоснете, за да го заключите</string>
|
||||||
<string name="dnkm_xiaomi_dialog_body_new">1. Отворете списъка с последните приложения\n\n2. Ако до името на Briar има значка на катинарче, не е необходимо да правите нищо\n\n3. Ако няма – натиснете и задръжте изображението на Briar, докато се появи бутон за катинарче, след което го докоснете</string>
|
<string name="dnkm_xiaomi_dialog_body_new">1. Отворете списъка с последните приложения\n\n2. Ако до името на Briar има значка на катинарче, не е необходимо да правите нищо\n\n3. Ако няма – натиснете и задръжте изображението на Briar, докато се появи бутон за катинарче, след което го докоснете</string>
|
||||||
|
<string name="dnkm_xiaomi_lock_apps_text">Моля, докоснете бутона по-долу, за да отворите настройките за сигурност. Натиснете бутона \"Ускори\", след това натиснете \"Заключени приложения\" и се уверете, че Briar е \"Заключен\"</string>
|
||||||
|
<string name="dnkm_xiaomi_lock_apps_help">Ако Briar не е \"Заключен\" в менюто \"Заключени приложения\", няма да може да работи на заден план.</string>
|
||||||
<string name="dnkm_warning_dozed_1">Briar не може да работи във фонов режим</string>
|
<string name="dnkm_warning_dozed_1">Briar не може да работи във фонов режим</string>
|
||||||
<!--Login-->
|
<!--Login-->
|
||||||
<string name="enter_password">Парола</string>
|
<string name="enter_password">Парола</string>
|
||||||
@@ -589,7 +591,7 @@
|
|||||||
<!--Mailbox-->
|
<!--Mailbox-->
|
||||||
<string name="mailbox_settings_title">Пощенска кутия</string>
|
<string name="mailbox_settings_title">Пощенска кутия</string>
|
||||||
<string name="mailbox_setup_title">Настройка като пощенска кутия</string>
|
<string name="mailbox_setup_title">Настройка като пощенска кутия</string>
|
||||||
<string name="mailbox_setup_intro">Пощенската кутия дава възможност да получавате съобщения от вашите контакти докато сте без достъп до мрежа. Кутията ще получава съобщенията и ще ги пази докато дойдете на линия.\n\nИнсталирайте приложението Birar Mailbox на резервно устройство. Снабдете го със захранване и постоянен достъп до безжична мрежа, така че да е винаги на линия.</string>
|
<string name="mailbox_setup_intro">Пощенската кутия ви дава възможност да получавате съобщения от вашите контакти докато сте извън мрежа. Кутията ще получава съобщенията и ще ги пази докато дойдете на линия.\n\nИнсталирайте приложението Birar Mailbox на резервно устройство. Снабдете го със захранване и постоянен достъп до безжична мрежа, така че да е винаги на линия.</string>
|
||||||
<string name="mailbox_setup_download">Първо инсталирайте приложението Mailbox на друго устройство като потърсите „Briar Mailbox“ в Google Play или от където сте инсталирали Briar.\n
|
<string name="mailbox_setup_download">Първо инсталирайте приложението Mailbox на друго устройство като потърсите „Briar Mailbox“ в Google Play или от където сте инсталирали Briar.\n
|
||||||
\nСлед това свържете Mailbox с Briar чрез сканиране на кода за QR от приложението Mailbox.</string>
|
\nСлед това свържете Mailbox с Briar чрез сканиране на кода за QR от приложението Mailbox.</string>
|
||||||
<string name="mailbox_setup_download_link">Споделяне на препратка за изтегляне</string>
|
<string name="mailbox_setup_download_link">Споделяне на препратка за изтегляне</string>
|
||||||
@@ -631,7 +633,7 @@
|
|||||||
<string name="mailbox_status_unlink_button">Прекъсване на връзката</string>
|
<string name="mailbox_status_unlink_button">Прекъсване на връзката</string>
|
||||||
<string name="mailbox_status_unlink_dialog_title">Желаете ли да прекъснете връзката с пощенската кутия?</string>
|
<string name="mailbox_status_unlink_dialog_title">Желаете ли да прекъснете връзката с пощенската кутия?</string>
|
||||||
<string name="mailbox_status_unlink_dialog_question">Сигурни ли сте, че желаете да прекъснете връзката с пощенската кутия?</string>
|
<string name="mailbox_status_unlink_dialog_question">Сигурни ли сте, че желаете да прекъснете връзката с пощенската кутия?</string>
|
||||||
<string name="mailbox_status_unlink_dialog_warning">Ако прекъснете връзката с пощенската кутия, няма да получавате съобщения докато Briar е без достъп до мрежа.</string>
|
<string name="mailbox_status_unlink_dialog_warning">Ако прекъснете връзката с пощенската кутия, няма да получавате съобщения докато Briar е без мрежа.</string>
|
||||||
<string name="mailbox_status_unlink_no_wipe_title">Връзката с пощенската кутия е прекъсната</string>
|
<string name="mailbox_status_unlink_no_wipe_title">Връзката с пощенската кутия е прекъсната</string>
|
||||||
<string name="mailbox_status_unlink_no_wipe_message">За да завършите процеса, следващия път, когато имате достъп до устройството с пощенската кутия, отворете приложението на пощенската кутия и докоснете бутона „Прекъсване на връзката“.\n\nДаже и вече нямате достъп до устройството с пощенската кутия - не се притеснявайте. Вашата информация е шифрована, така че ще остане защитена, дори и да не завършите този процес.</string>
|
<string name="mailbox_status_unlink_no_wipe_message">За да завършите процеса, следващия път, когато имате достъп до устройството с пощенската кутия, отворете приложението на пощенската кутия и докоснете бутона „Прекъсване на връзката“.\n\nДаже и вече нямате достъп до устройството с пощенската кутия - не се притеснявайте. Вашата информация е шифрована, така че ще остане защитена, дори и да не завършите този процес.</string>
|
||||||
<string name="mailbox_status_unlink_success">Връзката с пощенската кутия е прекъсната</string>
|
<string name="mailbox_status_unlink_success">Връзката с пощенската кутия е прекъсната</string>
|
||||||
@@ -681,8 +683,6 @@
|
|||||||
<string name="disappearing_messages_summary">Бъдещите съобщения в разговора изчезват след 7\u00A0дни</string>
|
<string name="disappearing_messages_summary">Бъдещите съобщения в разговора изчезват след 7\u00A0дни</string>
|
||||||
<!--Settings Actions-->
|
<!--Settings Actions-->
|
||||||
<string name="pref_category_actions">Действия</string>
|
<string name="pref_category_actions">Действия</string>
|
||||||
<string name="share_app_link">Споделяне на препратка за изтегляне</string>
|
|
||||||
<string name="share_app_link_text">Изтеглете Брайар от %s</string>
|
|
||||||
<string name="send_feedback">Изпращане на обратна връзка</string>
|
<string name="send_feedback">Изпращане на обратна връзка</string>
|
||||||
<!--Link Warning-->
|
<!--Link Warning-->
|
||||||
<string name="link_warning_title">Предупреждение за препратка</string>
|
<string name="link_warning_title">Предупреждение за препратка</string>
|
||||||
@@ -732,7 +732,6 @@
|
|||||||
<string name="permission_camera_title">Разрешение за камера</string>
|
<string name="permission_camera_title">Разрешение за камера</string>
|
||||||
<string name="permission_camera_request_body">За да сканира кода за QR, Briar трябва да използва камерата.</string>
|
<string name="permission_camera_request_body">За да сканира кода за QR, Briar трябва да използва камерата.</string>
|
||||||
<string name="permission_location_title">Разрешение за местоположение</string>
|
<string name="permission_location_title">Разрешение за местоположение</string>
|
||||||
<string name="permission_nearby_devices_title">Разрешение за устройства наблизо</string>
|
|
||||||
<string name="permission_location_request_body">За да открива устройства чрез Bluetooth, Briar се нуждае от разрешение за достъп до местоположението.\n\nBriar не го пази и не го споделя с никого.</string>
|
<string name="permission_location_request_body">За да открива устройства чрез Bluetooth, Briar се нуждае от разрешение за достъп до местоположението.\n\nBriar не го пази и не го споделя с никого.</string>
|
||||||
<string name="permission_camera_location_title">Камера и местоположение</string>
|
<string name="permission_camera_location_title">Камера и местоположение</string>
|
||||||
<string name="permission_camera_location_request_body">За да сканира кода за QR, Briar трябва да използва камерата.\n\nЗа да открива устройства чрез Bluetooth, Briar трябва да има достъп до местоположението.\n\nBriar не го пази и не го споделя с никого.</string>
|
<string name="permission_camera_location_request_body">За да сканира кода за QR, Briar трябва да използва камерата.\n\nЗа да открива устройства чрез Bluetooth, Briar трябва да има достъп до местоположението.\n\nBriar не го пази и не го споделя с никого.</string>
|
||||||
@@ -759,21 +758,19 @@
|
|||||||
<!--Connections Screen-->
|
<!--Connections Screen-->
|
||||||
<string name="transports_help_text">Briar може да се свърже с контактите ви през интернет, Wi-Fi или Bluetooth.\n\nЗа повече поверителност цялата връзка към интернет се пренасочва през мрежата на Tor.\n\nАко даден контакт може да бъде достъпен чрез няколко метода Briar ги използва успоредно.</string>
|
<string name="transports_help_text">Briar може да се свърже с контактите ви през интернет, Wi-Fi или Bluetooth.\n\nЗа повече поверителност цялата връзка към интернет се пренасочва през мрежата на Tor.\n\nАко даден контакт може да бъде достъпен чрез няколко метода Briar ги използва успоредно.</string>
|
||||||
<!--Share app offline-->
|
<!--Share app offline-->
|
||||||
<string name="hotspot_title">Споделяне на приложението без достъп до мрежа</string>
|
<string name="hotspot_title">Споделяне на приложението извън мрежа</string>
|
||||||
<string name="hotspot_intro">Споделете приложението с някого наблизо през Wi-Fi на устройствата, без използване на връзка с интернет.
|
<string name="hotspot_intro">Споделете приложението с някого наблизо през Wi-Fi на устройствата, без използване на връзка с интернет.
|
||||||
\n\nВашето устройство ще създаде безжична точка за достъп. Хората наблизо могат да се свържат към нея и да изтеглят Briar от вашето устройство.</string>
|
\n\nВашето устройство ще създаде безжична точка за достъп. Хората наблизо могат да се свържат към нея и да изтеглят Briar от вашето устройство.</string>
|
||||||
<string name="hotspot_button_start_sharing">Включване на безжична точка</string>
|
<string name="hotspot_button_start_sharing">Включване на безжична точка</string>
|
||||||
<string name="hotspot_button_stop_sharing">Спиране на безжична точка</string>
|
<string name="hotspot_button_stop_sharing">Спиране на безжична точка</string>
|
||||||
<string name="hotspot_progress_text_start">Настройване на безжична точка…</string>
|
<string name="hotspot_progress_text_start">Настройване на безжична точка…</string>
|
||||||
<string name="hotspot_notification_channel_title">Безжична точка за достъп</string>
|
<string name="hotspot_notification_channel_title">Безжична точка за достъп</string>
|
||||||
<string name="hotspot_notification_title">Споделяне на Briar без достъп до мрежа</string>
|
<string name="hotspot_notification_title">Споделяне на Briar извън мрежа</string>
|
||||||
<string name="hotspot_button_connected">Напред</string>
|
<string name="hotspot_button_connected">Напред</string>
|
||||||
<string name="permission_hotspot_location_request_body">За да създаде безжична точка за достъп, Briar се нуждае от разрешение за достъп до местоположението.\n\nBriar не го пази и не го споделя с никого.</string>
|
<string name="permission_hotspot_location_request_body">За да създаде безжична точка за достъп, Briar се нуждае от разрешение за достъп до местоположението.\n\nBriar не го пази и не го споделя с никого.</string>
|
||||||
<string name="permission_hotspot_location_request_precise_body">За да създаде безжична точка за достъп, Briar се нуждае от разрешение за достъп до точното местоположение.\n\nBriar не го пази и не го споделя с никого.</string>
|
<string name="permission_hotspot_location_request_precise_body">За да създаде безжична точка за достъп, Briar се нуждае от разрешение за достъп до точното местоположение.\n\nBriar не го пази и не го споделя с никого.</string>
|
||||||
<string name="permission_hotspot_location_denied_body">Отказахте достъп до местоположението, но достъп е необходим за създаване на безжична точка за достъп.\n\nОбмислете дали да не дадете разрешение.</string>
|
<string name="permission_hotspot_location_denied_body">Отказахте достъп до местоположението, но достъп е необходим за създаване на безжична точка за достъп.\n\nОбмислете дали да не дадете разрешение.</string>
|
||||||
<string name="permission_hotspot_location_denied_precise_body">Отказахте достъп до точното местоположение, но достъп е необходим за създаване на безжична точка за достъп.\n\nОбмислете дали да не дадете разрешение.</string>
|
<string name="permission_hotspot_location_denied_precise_body">Отказахте достъп до точното местоположение, но достъп е необходим за създаване на безжична точка за достъп.\n\nОбмислете дали да не дадете разрешение.</string>
|
||||||
<string name="permission_hotspot_nearby_wifi_request_body">За да създаде безжична точка за достъп, Briar се нуждае от права за достъп до околните устройства.</string>
|
|
||||||
<string name="permission_hotspot_nearby_wifi_denied_body">Отказахте достъп до околните устройства, но той е необходим за създаване на безжична точка за достъп.\n\nОбмислете дали да не дадете разрешение.</string>
|
|
||||||
<string name="wifi_settings_title">Настройки на Wi-Fi</string>
|
<string name="wifi_settings_title">Настройки на Wi-Fi</string>
|
||||||
<string name="wifi_settings_request_enable_body">За да създаде безжична точка за достъп, Briar се нуждае от безжична мрежа. Включете Wi-Fi.</string>
|
<string name="wifi_settings_request_enable_body">За да създаде безжична точка за достъп, Briar се нуждае от безжична мрежа. Включете Wi-Fi.</string>
|
||||||
<string name="hotspot_tab_manual">Ръчно</string>
|
<string name="hotspot_tab_manual">Ръчно</string>
|
||||||
|
|||||||
@@ -51,6 +51,12 @@
|
|||||||
<item quantity="many">Toto je testovací verze Briar. Váš účet a jeho platnost vyprší po %d dnech a není možné ho obnovit.</item>
|
<item quantity="many">Toto je testovací verze Briar. Váš účet a jeho platnost vyprší po %d dnech a není možné ho obnovit.</item>
|
||||||
<item quantity="other">Toto je testovací verze Briar. Váš účet a jeho platnost vyprší po %d dnech a není možné ho obnovit.</item>
|
<item quantity="other">Toto je testovací verze Briar. Váš účet a jeho platnost vyprší po %d dnech a není možné ho obnovit.</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
|
<plurals name="old_android_expiry_warning">
|
||||||
|
<item quantity="one">Systém Android 4 již není podporován. Briar přestane fungovat %s (za %d den). Nainstalujte si prosím Briar na novější zařízení a vytvořte si nový účet.</item>
|
||||||
|
<item quantity="few">Systém Android 4 již není podporován. Briar přestane fungovat %s (za %d dny). Nainstalujte si prosím Briar na novější zařízení a vytvořte si nový účet.</item>
|
||||||
|
<item quantity="many">Systém Android 4 již není podporován. Briar přestane fungovat %s (za %d dní). Nainstalujte si prosím Briar na novější zařízení a vytvořte si nový účet.</item>
|
||||||
|
<item quantity="other">Systém Android 4 již není podporován. Briar přestane fungovat %s (za %d dní). Nainstalujte si prosím Briar na novější zařízení a vytvořte si nový účet.</item>
|
||||||
|
</plurals>
|
||||||
<string name="expiry_date_reached">Platnost tohoto software vypršela.\nDěkujeme za jeho otestování!</string>
|
<string name="expiry_date_reached">Platnost tohoto software vypršela.\nDěkujeme za jeho otestování!</string>
|
||||||
<string name="download_briar">Pro pokračování v používání aplikace Briar si prosím stáhněte její nejnovější verzi.</string>
|
<string name="download_briar">Pro pokračování v používání aplikace Briar si prosím stáhněte její nejnovější verzi.</string>
|
||||||
<string name="create_new_account">Budete potřebovat vytvořit nový účet, ale můžete použít stejné uživatelské jméno.</string>
|
<string name="create_new_account">Budete potřebovat vytvořit nový účet, ale můžete použít stejné uživatelské jméno.</string>
|
||||||
@@ -715,8 +721,6 @@
|
|||||||
<string name="disappearing_messages_summary">Nastavte automatické zmizení zpráv této konverzace po 7\u00A0dnech.</string>
|
<string name="disappearing_messages_summary">Nastavte automatické zmizení zpráv této konverzace po 7\u00A0dnech.</string>
|
||||||
<!--Settings Actions-->
|
<!--Settings Actions-->
|
||||||
<string name="pref_category_actions">Akce</string>
|
<string name="pref_category_actions">Akce</string>
|
||||||
<string name="share_app_link">Sdílet odkaz ke stažení</string>
|
|
||||||
<string name="share_app_link_text">Stáhnout Briar z %s</string>
|
|
||||||
<string name="send_feedback">Poslat zpětnou vazbu</string>
|
<string name="send_feedback">Poslat zpětnou vazbu</string>
|
||||||
<!--Link Warning-->
|
<!--Link Warning-->
|
||||||
<string name="link_warning_title">Odkaz varování</string>
|
<string name="link_warning_title">Odkaz varování</string>
|
||||||
@@ -766,7 +770,6 @@
|
|||||||
<string name="permission_camera_title">Oprávnění pro přístup k fotoaparátu</string>
|
<string name="permission_camera_title">Oprávnění pro přístup k fotoaparátu</string>
|
||||||
<string name="permission_camera_request_body">Pro scan QR kódu, Briar vyžaduje přístup k fotoaparátu.</string>
|
<string name="permission_camera_request_body">Pro scan QR kódu, Briar vyžaduje přístup k fotoaparátu.</string>
|
||||||
<string name="permission_location_title">Místní povolení</string>
|
<string name="permission_location_title">Místní povolení</string>
|
||||||
<string name="permission_nearby_devices_title">Povolení pro zařízení v okolí</string>
|
|
||||||
<string name="permission_location_request_body">Aby mohl Briar najít zařízení Bluetooth, potřebuje Briar povolení zjistit vaše umístění.\n\nBriar neukládá vaše umístění ani ho s nikým nesdílí.</string>
|
<string name="permission_location_request_body">Aby mohl Briar najít zařízení Bluetooth, potřebuje Briar povolení zjistit vaše umístění.\n\nBriar neukládá vaše umístění ani ho s nikým nesdílí.</string>
|
||||||
<string name="permission_camera_location_title">Fotoaparát a umístění</string>
|
<string name="permission_camera_location_title">Fotoaparát a umístění</string>
|
||||||
<string name="permission_camera_location_request_body">Pro oskenování QR kódu potřebuje Briar přístup k fotoaparátu.\n\nPro nalezení zařízení Bluetooth potřebuje Briar povolení zjistit vaše umístění.\n\nBriar neukládá vaše umístění ani ho s nikým nesdílí.</string>
|
<string name="permission_camera_location_request_body">Pro oskenování QR kódu potřebuje Briar přístup k fotoaparátu.\n\nPro nalezení zařízení Bluetooth potřebuje Briar povolení zjistit vaše umístění.\n\nBriar neukládá vaše umístění ani ho s nikým nesdílí.</string>
|
||||||
@@ -806,8 +809,6 @@
|
|||||||
<string name="permission_hotspot_location_request_precise_body">Pro vytvoření Wi-Fi hotspotu potřebuje Briar povolení zjistit vaše přesné umístění.\n\nBriar neukládá vaše umístění ani ho s nikým nesdílí.</string>
|
<string name="permission_hotspot_location_request_precise_body">Pro vytvoření Wi-Fi hotspotu potřebuje Briar povolení zjistit vaše přesné umístění.\n\nBriar neukládá vaše umístění ani ho s nikým nesdílí.</string>
|
||||||
<string name="permission_hotspot_location_denied_body">Zamítli jste přístup k vašemu umístění. Briar přístup potřebuje, aby mohl vytvořit Wi-Fi hotspot.\n\nProsím zvažte povolení přístupu.</string>
|
<string name="permission_hotspot_location_denied_body">Zamítli jste přístup k vašemu umístění. Briar přístup potřebuje, aby mohl vytvořit Wi-Fi hotspot.\n\nProsím zvažte povolení přístupu.</string>
|
||||||
<string name="permission_hotspot_location_denied_precise_body">Zamítli jste přístup k vašemu přesnému umístění. Briar přístup potřebuje, aby mohl vytvořit Wi-Fi hotspot.\n\nProsím zvažte povolení přístupu.</string>
|
<string name="permission_hotspot_location_denied_precise_body">Zamítli jste přístup k vašemu přesnému umístění. Briar přístup potřebuje, aby mohl vytvořit Wi-Fi hotspot.\n\nProsím zvažte povolení přístupu.</string>
|
||||||
<string name="permission_hotspot_nearby_wifi_request_body">Pro vytvoření Wi-Fi hotspotu, potřebuje Briar povolení přístupu k zařízením v okolí.</string>
|
|
||||||
<string name="permission_hotspot_nearby_wifi_denied_body">Odmítli jste přístup k zařízením v okolí i když Briar potřebuje povolení, aby mohl vytvořit Wi-Fi hotspot.\n\nProsím zvažte udělení přístupu.</string>
|
|
||||||
<string name="wifi_settings_title">Wi-Fi volba</string>
|
<string name="wifi_settings_title">Wi-Fi volba</string>
|
||||||
<string name="wifi_settings_request_enable_body">Pro vytvoření Wi-Fi hotspotu potřebuje Briar využít Wi-Fi. Prosím zapněte ji.</string>
|
<string name="wifi_settings_request_enable_body">Pro vytvoření Wi-Fi hotspotu potřebuje Briar využít Wi-Fi. Prosím zapněte ji.</string>
|
||||||
<string name="hotspot_tab_manual">Manuálně</string>
|
<string name="hotspot_tab_manual">Manuálně</string>
|
||||||
|
|||||||
@@ -689,8 +689,6 @@
|
|||||||
<string name="disappearing_messages_summary">Zukünftige Nachrichten in dieser Unterhaltung werden automatisch nach 7\u00A0Tagen gelöscht.</string>
|
<string name="disappearing_messages_summary">Zukünftige Nachrichten in dieser Unterhaltung werden automatisch nach 7\u00A0Tagen gelöscht.</string>
|
||||||
<!--Settings Actions-->
|
<!--Settings Actions-->
|
||||||
<string name="pref_category_actions">Aktionen</string>
|
<string name="pref_category_actions">Aktionen</string>
|
||||||
<string name="share_app_link">Downloadlink teilen</string>
|
|
||||||
<string name="share_app_link_text">Briar bei %s herunterladen</string>
|
|
||||||
<string name="send_feedback">Feedback senden</string>
|
<string name="send_feedback">Feedback senden</string>
|
||||||
<!--Link Warning-->
|
<!--Link Warning-->
|
||||||
<string name="link_warning_title">Link-Warnung</string>
|
<string name="link_warning_title">Link-Warnung</string>
|
||||||
@@ -740,7 +738,6 @@
|
|||||||
<string name="permission_camera_title">Berechtigung Kamera</string>
|
<string name="permission_camera_title">Berechtigung Kamera</string>
|
||||||
<string name="permission_camera_request_body">Um den QR-Code zu scannen, benötigt Briar Zugriff auf die Kamera.</string>
|
<string name="permission_camera_request_body">Um den QR-Code zu scannen, benötigt Briar Zugriff auf die Kamera.</string>
|
||||||
<string name="permission_location_title">Berechtigung Standort</string>
|
<string name="permission_location_title">Berechtigung Standort</string>
|
||||||
<string name="permission_nearby_devices_title">Berechtigung für Geräte in der Nähe</string>
|
|
||||||
<string name="permission_location_request_body">Um Bluetooth-Geräte zu finden, braucht Briar Zugriff auf deinen Standort.\n\nBriar speichert weder deinen Standort noch gibt es ihn an andere weiter.</string>
|
<string name="permission_location_request_body">Um Bluetooth-Geräte zu finden, braucht Briar Zugriff auf deinen Standort.\n\nBriar speichert weder deinen Standort noch gibt es ihn an andere weiter.</string>
|
||||||
<string name="permission_camera_location_title">Kamera und Standort</string>
|
<string name="permission_camera_location_title">Kamera und Standort</string>
|
||||||
<string name="permission_camera_location_request_body">Um den QR-Code zu scannen, braucht Briar Zugriff auf die Kamera.\n\nUm Bluetooth-Geräte zu finden, braucht Briar Zugriff auf deinen Standort.\n\nBriar speichert weder deinen Standort noch gibt es ihn an andere weiter.</string>
|
<string name="permission_camera_location_request_body">Um den QR-Code zu scannen, braucht Briar Zugriff auf die Kamera.\n\nUm Bluetooth-Geräte zu finden, braucht Briar Zugriff auf deinen Standort.\n\nBriar speichert weder deinen Standort noch gibt es ihn an andere weiter.</string>
|
||||||
@@ -780,8 +777,6 @@
|
|||||||
<string name="permission_hotspot_location_request_precise_body">Um einen WLAN-Hotspot zu erstellen, benötigt Briar die Berechtigung, auf deinen genauen Standort zuzugreifen.\n\nBriar speichert weder deinen Standort noch gibt es ihn an andere weiter.</string>
|
<string name="permission_hotspot_location_request_precise_body">Um einen WLAN-Hotspot zu erstellen, benötigt Briar die Berechtigung, auf deinen genauen Standort zuzugreifen.\n\nBriar speichert weder deinen Standort noch gibt es ihn an andere weiter.</string>
|
||||||
<string name="permission_hotspot_location_denied_body">Du hast den Zugriff auf deinen Standort verweigert, aber Briar benötigt diese Berechtigung, um einen WLAN-Hotspot zu erstellen.\n\nBitte überlege, ob du Zugriff gewährst.</string>
|
<string name="permission_hotspot_location_denied_body">Du hast den Zugriff auf deinen Standort verweigert, aber Briar benötigt diese Berechtigung, um einen WLAN-Hotspot zu erstellen.\n\nBitte überlege, ob du Zugriff gewährst.</string>
|
||||||
<string name="permission_hotspot_location_denied_precise_body">Du hast den Zugriff auf deinen genauen Standort verweigert, aber Briar benötigt diese Berechtigung, um einen WLAN-Hotspot zu erstellen.\n\nBitte überlege, ob du Zugriff gewährst.</string>
|
<string name="permission_hotspot_location_denied_precise_body">Du hast den Zugriff auf deinen genauen Standort verweigert, aber Briar benötigt diese Berechtigung, um einen WLAN-Hotspot zu erstellen.\n\nBitte überlege, ob du Zugriff gewährst.</string>
|
||||||
<string name="permission_hotspot_nearby_wifi_request_body">Um einen WLAN-Hotspot zu erstellen, benötigt Briar die Erlaubnis, auf Geräte in der Nähe zuzugreifen.</string>
|
|
||||||
<string name="permission_hotspot_nearby_wifi_denied_body">Du hast den Zugriff auf Geräte in der Nähe verweigert, aber Briar benötigt diese Berechtigung, um einen WLAN-Hotspot zu erstellen.\n\nBitte erwäge, den Zugriff zu gewähren.</string>
|
|
||||||
<string name="wifi_settings_title">WLAN-Einstellungen</string>
|
<string name="wifi_settings_title">WLAN-Einstellungen</string>
|
||||||
<string name="wifi_settings_request_enable_body">Um einen WLAN-Hotspot zu erstellen, benötigt Briar das WLAN. Bitte aktiviere es.</string>
|
<string name="wifi_settings_request_enable_body">Um einen WLAN-Hotspot zu erstellen, benötigt Briar das WLAN. Bitte aktiviere es.</string>
|
||||||
<string name="hotspot_tab_manual">Manuell</string>
|
<string name="hotspot_tab_manual">Manuell</string>
|
||||||
|
|||||||
@@ -1,60 +1,55 @@
|
|||||||
<?xml version='1.0' encoding='UTF-8'?>
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
<resources>
|
||||||
<!--Setup-->
|
<!--Setup-->
|
||||||
<string name="setup_title">Köszöntünk a Briar-ban</string>
|
<string name="setup_title">Köszöntjük a Briar-ban</string>
|
||||||
<string name="setup_name_explanation">A beceneved fog megjelenni minden tartalom mellett amit megosztottál. Nem tudod megváltoztatni a fiók létrehozása után.</string>
|
<string name="setup_name_explanation">A beceneve fog megjelenni minden tartalom mellett amit Ön osztott meg. Nem tudja megváltoztatni a fiók létrehozása után.</string>
|
||||||
<string name="setup_next">Következő</string>
|
<string name="setup_next">Következő</string>
|
||||||
<string name="setup_password_intro">Válassz egy jelszót</string>
|
<string name="setup_password_intro">Válasszon jelszót</string>
|
||||||
<string name="setup_password_explanation">A Briar fiókod az eszközödön kerül titkosítva tárolásra, nem pedig a felhőben. Ha elfelejted a jelszavad, vagy eltávolítod a Briar-t, nincs lehetőség fiókod visszanyerésére.\n\nVálassz egy hosszú, nehezen kitalálható jelszót, például négy tetszőleges szó vagy tíz tetszőleges betű, szám vagy szimbólum.</string>
|
<string name="setup_password_explanation">A Briar fiókja az eszközén kerül tárolásra titkosítva, nem a felhőben. Ha elfelejti a jelszavát, vagy eltávolítja a Briar-t, nincs lehetőség fiókja visszanyerésére.\n\nVálasszon egy hosszú, nehezen kitalálható jelszót, például négy tetszőleges szó vagy tíz tetszőleges betű, szám vagy szimbólum.</string>
|
||||||
<string name="dnkm_doze_intro">Az üzenetek fogadásához a Briar-nak szüksége van a háttérben csatlakozásra.</string>
|
<string name="dnkm_doze_title">Háttérkapcsolatok</string>
|
||||||
<string name="dnkm_doze_explanation">Az üzenetek fogadásához a Briarnak szüksége van háttérben csatlakozásra. Kérjük tiltsa le az akkumulátor optimalizációt, így a Briar kapcsolatban tud maradni.</string>
|
<string name="dnkm_doze_intro">Az üzenetek fogadásához a Briar-nak szüksége van a háttérben csatlakozásra.</string>
|
||||||
<string name="choose_nickname">Felhasználónév választása</string>
|
<string name="dnkm_doze_explanation">Az üzenetek fogadásához a Briarnak szüksége van háttérben csatlakozásra. Kérjük tiltsa le az akkumulátor optimalizációt, így a Briar kapcsolatban tud maradni.</string>
|
||||||
<string name="choose_password">Jelszó választása</string>
|
<string name="dnkm_doze_button">Kapcsolatok engedélyezése</string>
|
||||||
<string name="confirm_password">Jelszó megerősítése</string>
|
<string name="choose_nickname">Felhasználónév választása</string>
|
||||||
<string name="name_too_long">A név túl hosszú</string>
|
<string name="choose_password">Jelszó választása</string>
|
||||||
<string name="password_too_weak">A jelszó túl gyenge</string>
|
<string name="confirm_password">Jelszó megerősítése</string>
|
||||||
<string name="passwords_do_not_match">A jelszavak nem egyeznek</string>
|
<string name="name_too_long">A név túl hosszú</string>
|
||||||
<string name="create_account_button">Fiók létrehozása</string>
|
<string name="password_too_weak">A jelszó túl gyenge</string>
|
||||||
<string name="more_info">További információ</string>
|
<string name="passwords_do_not_match">A jelszavak nem egyeznek</string>
|
||||||
<string name="don_t_ask_again">Ne kérdezze még egyszer</string>
|
<string name="create_account_button">Fiók létrehozása</string>
|
||||||
<string name="dnkm_huawei_protected_text">Kérjük koppintson a gombra alább és ellenőrizze, hogy a Briar védett, a \"Védett alkalmazások\" képernyőn.</string>
|
<string name="more_info">További információ</string>
|
||||||
<string name="dnkm_huawei_protected_button">A Briar védelme</string>
|
<string name="don_t_ask_again">Ne kérdezze még egyszer</string>
|
||||||
<string name="dnkm_huawei_protected_help">Ha Briar nincs hozzáadva a védett alkalmazások listájához, akkor nem képes futni a háttérben.</string>
|
<string name="dnkm_huawei_protected_text">Kérjük koppintson a gombra alább és ellenőrizze, hogy a Briar védett, a \"Védett alkalmazások\" képernyőn.</string>
|
||||||
<string name="dnkm_huawei_app_launch_text">Kérjük koppintson a gombra alább, hogy megnyissa az \"App indítás\" képernyőt és ellenőrizze, hogy a Briar beállított \"Kézi kezelés\"-re.</string>
|
<string name="dnkm_huawei_protected_button">A Briar védelme</string>
|
||||||
<string name="dnkm_huawei_app_launch_help">Ha a Briar nincs beállítva \"Kézi kezelés\"-re az \"App indítás\" képernyőn, nem fog tudni futni a háttérben.</string>
|
<string name="dnkm_huawei_protected_help">Ha Briar nincs hozzáadva a védett alkalmazások listájához, akkor nem képes futni a háttérben.</string>
|
||||||
<string name="dnkm_xiaomi_text">Ahhoz, hogy a háttérben fusson, a Briar-t rögzíteni kell a legutóbbi appok listáján.</string>
|
<string name="dnkm_huawei_app_launch_text">Kérjük koppintson a gombra alább, hogy megnyissa az \"App indítás\" képernyőt és ellenőrizze, hogy a Briar beállított \"Kézi kezelés\"-re.</string>
|
||||||
<string name="dnkm_xiaomi_button">A Briar védelme</string>
|
<string name="dnkm_huawei_app_launch_button">Az akkumulátor beállítások megnyitása</string>
|
||||||
<string name="dnkm_xiaomi_help">Ha Briar nincs rögzítve a legutóbbi appok listájában, akkor nem képes futni a háttérben.</string>
|
<string name="dnkm_huawei_app_launch_help">Ha a Briar nincs beállítva \"Kézi kezelés\"-re az \"App indítás\" képernyőn, nem fog tudni futni a háttérben.</string>
|
||||||
<string name="dnkm_xiaomi_dialog_body_old">1. Nyissa meg a legutolsó appok listáját (másnéven az app váltót)\n\n2. Görgessen le a Briar képén, hogy megjelenjen a lakat ikon\n\n3. Ha a lakat nem zárt, koppintson a lezárásához</string>
|
<string name="dnkm_xiaomi_text">Ahhoz, hogy a háttérben fusson, a Briar-t rögzíteni kell a legutóbbi appok listáján.</string>
|
||||||
<string name="dnkm_xiaomi_dialog_body_new">1. Nyissa meg a legutóbbi alkalmazások listáját (alkalmazásváltónak is nevezik) 2. Ha Briar neve mellett van egy kis lakat képe, akkor nem kell semmit tennie 3. Ha nincs lakat, nyomja meg és tartsa lenyomva Briar képét, amíg meg nem jelenik a lakat gomb, majd koppintson rá</string>
|
<string name="dnkm_xiaomi_button">A Briar védelme</string>
|
||||||
<string name="dnkm_xiaomi_lock_apps_text">Kérjük, érintse meg az alábbi gombot a biztonsági beállítások megnyitásához. Koppintson a „Sebességnövelésre”, majd az „Alkalmazások zárolása” elemre, és győződjön meg arról, hogy a Briar beállítása „Zárolva”.</string>
|
<string name="dnkm_xiaomi_help">Ha Briar nincs rögzítve a legutóbbi appok listájában, akkor nem képes futni a háttérben.</string>
|
||||||
<string name="dnkm_xiaomi_lock_apps_help">Ha a Briar az „Alkalmazások zárolása” képernyőn nincs „Zárolva”, nem tud a háttérben futni.</string>
|
<string name="dnkm_xiaomi_dialog_body_old">1. Nyissa meg a legutolsó appok listáját (másnéven az app váltót)\n\n2. Görgessen le a Briar képén, hogy megjelenjen a lakat ikon\n\n3. Ha a lakat nem zárt, koppintson a lezárásához</string>
|
||||||
<string name="dnkm_warning_dozed_1">A Briar nem tudott a háttérben futni</string>
|
<string name="dnkm_xiaomi_dialog_body_new">1. Nyissa meg a legutolsó appok listáját (másnéven az app váltót)\n\n2. Nyomja meg és tartsa nyomva a Briar képét, hogy megjelenjen a lakat ikon\n\n3. Ha a lakat nem zárt, koppintson a lezárásához</string>
|
||||||
|
<string name="dnkm_warning_dozed">%s nem tud futni a háttérben</string>
|
||||||
<!--Login-->
|
<!--Login-->
|
||||||
<string name="enter_password">Jelszó</string>
|
<string name="enter_password">Jelszó</string>
|
||||||
<string name="try_again">Hibás jelszó, próbáld újra</string>
|
<string name="try_again">Hibás jelszó, próbáld újra</string>
|
||||||
<string name="dialog_title_cannot_check_password">A jelszót nem sikerült ellenőrizni</string>
|
<string name="dialog_title_cannot_check_password">A jelszót nem sikerült ellenőrizni</string>
|
||||||
<string name="dialog_message_cannot_check_password">A Briar nem tudta ellenőrizni jelszavad. Kérjük indítsd újra az eszközöd a probléma megoldásához.</string>
|
<string name="dialog_message_cannot_check_password">A Briar nem tudta ellenőrizni jelszavát. Kérjük indítja újra az eszközét a probléma megoldásához.</string>
|
||||||
<string name="sign_in_button">Bejelentkezés</string>
|
<string name="sign_in_button">Bejelentkezés</string>
|
||||||
<string name="forgotten_password">Elfelejtettem a jelszavam</string>
|
<string name="forgotten_password">Elfelejtettem a jelszavam</string>
|
||||||
<string name="dialog_title_lost_password">Elveszett jelszó</string>
|
<string name="dialog_title_lost_password">Elveszett jelszó</string>
|
||||||
<string name="dialog_message_lost_password">A Briar fiókod az eszközödön kerül titkosítva tárolásra, nem a felhőben. Ha elfelejted a jelszavad, vagy eltávolítod a Briar-t, nincs lehetőség fiókod visszanyerésére.\n\nVálassz egy hosszú, nehezen kitalálható jelszót, például négy tetszőleges szó vagy tíz tetszőleges betű, szám vagy szimbólum.</string>
|
<string name="dialog_message_lost_password">A Briar fiókja az eszközén kerül tárolásra titkosítva, nem a felhőben. Ha elfelejti a jelszavát, vagy eltávolítja a Briar-t, nincs lehetőség fiókja visszanyerésére.\n\nVálasszon egy hosszú, nehezen kitalálható jelszót, például négy tetszőleges szó vagy tíz tetszőleges betű, szám vagy szimbólum.</string>
|
||||||
<string name="startup_failed_activity_title">Briar indítási hiba</string>
|
<string name="startup_failed_activity_title">Briar indítási hiba</string>
|
||||||
<string name="startup_failed_clock_error">A Briar nem tud elindulni, mert az eszköz órája nem megfelelően jár.\n\nKérjük állítsd be az eszköz óráját a megfelelő időre és próbálja újra.</string>
|
<string name="startup_failed_clock_error">A Briar nem tud elindulni, mert az eszköz órája nem megfelelően jár.\n\nKérjük állítsa be az eszköz óráját a megfelelő időre és próbálja újra.</string>
|
||||||
<string name="startup_failed_db_error">Briar nem tudta megnyitni az Ön fiókját, névjegyeit és üzeneteit tartalmazó adatbázist. Kérjük, frissítsen az alkalmazás legújabb verziójára, és próbálja újra, vagy hozzon létre új fiókot az „Elfelejtettem a jelszavam” lehetőség kiválasztásával a jelszó kérése.</string>
|
|
||||||
<string name="startup_failed_data_too_old_error">Fiókja ennek az alkalmazásnak egy régi verziójával jött létre, és ezzel a verzióval nem nyitható meg. Újra kell telepítenie a régi verziót, vagy be kell állítania egy új fiókot az „Elfelejtettem a jelszavam” lehetőség kiválasztásával a jelszókérőnél.</string>
|
|
||||||
<string name="startup_failed_data_too_new_error">Fiókja az alkalmazás újabb verziójával jött létre, és ezzel a verzióval nem nyitható meg. Kérjük, frissítsen a legújabb verzióra, és próbálja újra.</string>
|
|
||||||
<string name="startup_failed_service_error">Briar nem tudott elindítani egy szükséges összetevőt. Kérjük, frissítsen az alkalmazás legújabb verziójára, és próbálja újra.</string>
|
|
||||||
<plurals name="expiry_warning">
|
<plurals name="expiry_warning">
|
||||||
<item quantity="one">Ez a teszt verziója a Briar-nak. A fiókja le fog járni %d napon belül és nem megújítható.</item>
|
<item quantity="one">Ez a teszt verziója a Briar-nak. A fiókja le fog járni %d napon belül és nem megújítható.</item>
|
||||||
<item quantity="other">Ez a teszt verziója a Briar-nak. A fiókod le fog járni %d napon belül és nem megújítható.</item>
|
<item quantity="other">Ez a teszt verziója a Briar-nak. A fiókja le fog járni %d napon belül és nem megújítható.</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<string name="expiry_date_reached">Ez a szoftver lejárt.\nKöszönjük a tesztelését!</string>
|
<string name="expiry_date_reached">Ez a szoftver lejárt.\nKöszönjük a tesztelését!</string>
|
||||||
<string name="download_briar">A Briar használatának folytatásához kérjük töltsd le a legújabb verziót.</string>
|
<string name="download_briar">A Briar használatának folytatásához kérjük töltse le a legújabb verziót.</string>
|
||||||
<string name="create_new_account">Új fiókot kell létrehoznod, de használhatod ugyanazt a becenevet.</string>
|
<string name="create_new_account">Új fiókot kell létrehoznia, de használhatja ugyanazt a becenevet.</string>
|
||||||
<string name="download_briar_button">Legújabb verzió letöltése</string>
|
<string name="download_briar_button">Legújabb verzió letöltése</string>
|
||||||
<string name="old_android_expiry_date_reached">A Briar már nem fut Android 4 rendszeren. Kérjük, telepítse a Briart egy újabb eszközre.</string>
|
|
||||||
<string name="old_android_delete_account">Az alábbi gombra koppintva törölheti fiókját erről az eszközről.</string>
|
|
||||||
<string name="delete_account_button">Fiók törlése</string>
|
<string name="delete_account_button">Fiók törlése</string>
|
||||||
<string name="startup_open_database">Adatbázis dekódolása...</string>
|
<string name="startup_open_database">Adatbázis dekódolása...</string>
|
||||||
<string name="startup_migrate_database">Adatbázis frissítése</string>
|
<string name="startup_migrate_database">Adatbázis frissítése</string>
|
||||||
@@ -86,27 +81,27 @@
|
|||||||
<!--Transports: Wi-Fi-->
|
<!--Transports: Wi-Fi-->
|
||||||
<string name="transport_lan">Wi-Fi</string>
|
<string name="transport_lan">Wi-Fi</string>
|
||||||
<string name="transport_lan_long">Azonos Wi-Fi hálózat</string>
|
<string name="transport_lan_long">Azonos Wi-Fi hálózat</string>
|
||||||
<string name="lan_device_status_on">A telefonod Wi-Fi-hez csatlakoztatott.</string>
|
<string name="lan_device_status_on">A telefonja Wi-Fi-hez csatlakoztatott.</string>
|
||||||
<string name="lan_device_status_off">A telefonod Wi-Fi-hez nem csatlakoztatott.</string>
|
<string name="lan_device_status_off">A telefonja Wi-Fi-hez nem csatlakoztatott.</string>
|
||||||
<string name="lan_plugin_status_enabling">A Briar csatlakozik a Wi-Fi hálózathoz</string>
|
<string name="lan_plugin_status_enabling">A Briar csatlakozik a Wi-Fi hálózathoz</string>
|
||||||
<string name="lan_plugin_status_active">A Briar csatlakoztatva a Wi-Fi hálózathoz</string>
|
<string name="lan_plugin_status_active">A Briar csatlakoztatva a Wi-Fi hálózathoz</string>
|
||||||
<string name="lan_plugin_status_inactive">A Briar nem tud csatlakozni a Wi-Fi hálózathoz</string>
|
<string name="lan_plugin_status_inactive">A Briar nem tud csatlakozni a Wi-Fi hálózathoz</string>
|
||||||
<string name="lan_plugin_status_disabled">A Briar Wi-Fi nélküli használatra van beállítva</string>
|
<string name="lan_plugin_status_disabled">A Briar Wi-Fi nélküli használatra van beállítva</string>
|
||||||
<!--Transports: Bluetooth-->
|
<!--Transports: Bluetooth-->
|
||||||
<string name="transport_bt">Bluetooth</string>
|
<string name="transport_bt">Bluetooth</string>
|
||||||
<string name="bt_device_status_on">A telefonod Bluetooth-ja bekapcsolva</string>
|
<string name="bt_device_status_on">A telefonja Bluetooth-ja bekapcsolva</string>
|
||||||
<string name="bt_device_status_off">A telefonod Bluetooth-ja kikapcsolva</string>
|
<string name="bt_device_status_off">A telefonja Bluetooth-ja kikapcsolva</string>
|
||||||
<string name="bt_plugin_status_enabling">A Briar csatlakozik a Bluetooth-hoz</string>
|
<string name="bt_plugin_status_enabling">A Briar csatlakozik a Bluetooth-hoz</string>
|
||||||
<string name="bt_plugin_status_active">A Briar csatlakoztatva a Bluetooth-hoz</string>
|
<string name="bt_plugin_status_active">A Briar csatlakoztatva a Bluetooth-hoz</string>
|
||||||
<string name="bt_plugin_status_inactive">A Briar nem tud csatlakozni a Bluetooth-hoz</string>
|
<string name="bt_plugin_status_inactive">A Briar nem tud csatlakozni a Bluetooth-hoz</string>
|
||||||
<string name="bt_plugin_status_disabled">A Briar Bluetooth nélküli használatra van beállítva</string>
|
<string name="bt_plugin_status_disabled">A Briar Bluetooth nélküli használatra van beállítva</string>
|
||||||
<!--Notifications-->
|
<!--Notifications-->
|
||||||
<string name="reminder_notification_title">Kilépve a Briar-ból</string>
|
<string name="reminder_notification_title">Kilépve a Briar-ból</string>
|
||||||
<string name="reminder_notification_text">Koppints az újra belépéshez.</string>
|
<string name="reminder_notification_text">Koppintson az újra belépéshez.</string>
|
||||||
<string name="reminder_notification_channel_title">Briar Belépési emlékeztető</string>
|
<string name="reminder_notification_channel_title">Briar Belépési emlékeztető</string>
|
||||||
<string name="reminder_notification_dismiss">Kihagy</string>
|
<string name="reminder_notification_dismiss">Kihagy</string>
|
||||||
<string name="ongoing_notification_title">Belépve a Briar-ba</string>
|
<string name="ongoing_notification_title">Belépve a Briar-ba</string>
|
||||||
<string name="ongoing_notification_text">Érintsd meg a Briar megnyitásához.</string>
|
<string name="ongoing_notification_text">Érintse meg a Briar megnyitásához.</string>
|
||||||
<plurals name="private_message_notification_text">
|
<plurals name="private_message_notification_text">
|
||||||
<item quantity="one">Új privát üzenet.</item>
|
<item quantity="one">Új privát üzenet.</item>
|
||||||
<item quantity="other">%d új privát üzenet.</item>
|
<item quantity="other">%d új privát üzenet.</item>
|
||||||
@@ -148,13 +143,12 @@
|
|||||||
<string name="fix">Javítás</string>
|
<string name="fix">Javítás</string>
|
||||||
<string name="help">Súgó</string>
|
<string name="help">Súgó</string>
|
||||||
<string name="sorry">Sajnáljuk</string>
|
<string name="sorry">Sajnáljuk</string>
|
||||||
<string name="error_start_activity">Nem elérhető a rendszereden</string>
|
<string name="error_start_activity">Nem elérhető az ön rendszerén</string>
|
||||||
<string name="status_heading">Állapot</string>
|
<string name="status_heading">Állapot</string>
|
||||||
<string name="error">Hiba</string>
|
<string name="error">Hiba</string>
|
||||||
<string name="info">Információk</string>
|
|
||||||
<!--Contacts and Private Conversations-->
|
<!--Contacts and Private Conversations-->
|
||||||
<string name="no_contacts">Nincs megjeleníthető kapcsolat</string>
|
<string name="no_contacts">Nincs megjeleníthető kapcsolat</string>
|
||||||
<string name="no_contacts_action">Koppints a + gombra a kapcsolatok hozzáadásához</string>
|
<string name="no_contacts_action">Koppintson a + gombra a kapcsolatok hozzáadásához</string>
|
||||||
<string name="date_no_private_messages">Nincs üzenet.</string>
|
<string name="date_no_private_messages">Nincs üzenet.</string>
|
||||||
<string name="no_private_messages">Nincs megjeleníthető üzenet</string>
|
<string name="no_private_messages">Nincs megjeleníthető üzenet</string>
|
||||||
<string name="message_hint">Új üzenet</string>
|
<string name="message_hint">Új üzenet</string>
|
||||||
@@ -169,11 +163,11 @@
|
|||||||
<string name="set_contact_alias_hint">Kapcsolat neve</string>
|
<string name="set_contact_alias_hint">Kapcsolat neve</string>
|
||||||
<string name="menu_item_disappearing_messages">Eltűnő üzenetek</string>
|
<string name="menu_item_disappearing_messages">Eltűnő üzenetek</string>
|
||||||
<!--The first placeholder will show a duration like "7 days". The second placeholder at the end will add "Tap to learn more."-->
|
<!--The first placeholder will show a duration like "7 days". The second placeholder at the end will add "Tap to learn more."-->
|
||||||
<string name="auto_delete_msg_you_enabled">Az üzeneteid eltűnnek %1$s. %2$s múlva</string>
|
<string name="auto_delete_msg_you_enabled">Az üzenetei eltűnnek %1$s. %2$s múlva</string>
|
||||||
<!--The placeholder at the end will add "Tap to learn more."-->
|
<!--The placeholder at the end will add "Tap to learn more."-->
|
||||||
<string name="auto_delete_msg_you_disabled">Az üzeneteid nem fognak eltűnni. %1$s</string>
|
<string name="auto_delete_msg_you_disabled">Az üzenetei nem fognak eltűnni. %1$s</string>
|
||||||
<!--The first placeholder will show a contact's name. The second placeholder will show a duration like "7 days". The third placeholder at the end will add "Tap to learn more."-->
|
<!--The first placeholder will show a contact's name. The second placeholder will show a duration like "7 days". The third placeholder at the end will add "Tap to learn more."-->
|
||||||
<string name="auto_delete_msg_contact_enabled">%1$s üzeneteid eltűnnek %2$s. %3$s múlva</string>
|
<string name="auto_delete_msg_contact_enabled">%1$s üzenetei eltűnnek %2$s. %3$s múlva</string>
|
||||||
<plurals name="duration_minutes">
|
<plurals name="duration_minutes">
|
||||||
<item quantity="one">%d perc</item>
|
<item quantity="one">%d perc</item>
|
||||||
<item quantity="other">%d perc</item>
|
<item quantity="other">%d perc</item>
|
||||||
@@ -187,11 +181,11 @@
|
|||||||
<item quantity="other">%d nap</item>
|
<item quantity="other">%d nap</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
<!--The first placeholder will show a contact's name. The second placeholder at the end will add "Tap to learn more."-->
|
<!--The first placeholder will show a contact's name. The second placeholder at the end will add "Tap to learn more."-->
|
||||||
<string name="auto_delete_msg_contact_disabled">%1$s üzeneteid nem fognak eltűnni. %2$s</string>
|
<string name="auto_delete_msg_contact_disabled">%1$s üzenetei nem fognak eltűnni. %2$s</string>
|
||||||
<string name="tap_to_learn_more">Koppints a további információkért.</string>
|
<string name="tap_to_learn_more">Koppintson a további információkért.</string>
|
||||||
<string name="auto_delete_changed_warning_title">Eltűnő üzenetek megváltoztak</string>
|
<string name="auto_delete_changed_warning_title">Eltűnő üzenetek megváltoztak</string>
|
||||||
<string name="auto_delete_changed_warning_message_enabled">Azóta, hogy elkezdted írni az üzeneted, az eltűnő üzenetek engedélyezésre kerültek.</string>
|
<string name="auto_delete_changed_warning_message_enabled">Azóta, hogy elkezdte írni az üzenetét, az eltűnő üzenetek engedélyezésre kerültek.</string>
|
||||||
<string name="auto_delete_changed_warning_message_disabled">Azóta, hogy elkezdted írni az üzeneted, az eltűnő üzenetek letiltottak.</string>
|
<string name="auto_delete_changed_warning_message_disabled">Azóta, hogy elkezdte írni az üzenetét, az eltűnő üzenetek tiltásra kerültek.</string>
|
||||||
<string name="auto_delete_changed_warning_send">Küldés mindenféleképpen</string>
|
<string name="auto_delete_changed_warning_send">Küldés mindenféleképpen</string>
|
||||||
<string name="delete_all_messages">Minden üzenet törlése</string>
|
<string name="delete_all_messages">Minden üzenet törlése</string>
|
||||||
<string name="dialog_title_delete_all_messages">Üzenet törlés megerősítése</string>
|
<string name="dialog_title_delete_all_messages">Üzenet törlés megerősítése</string>
|
||||||
@@ -205,7 +199,7 @@
|
|||||||
<string name="dialog_message_not_deleted_not_all_selected_invitations">Egy meghívás törléséhez ki kell jelölnie a kérelmet és a választ.</string>
|
<string name="dialog_message_not_deleted_not_all_selected_invitations">Egy meghívás törléséhez ki kell jelölnie a kérelmet és a választ.</string>
|
||||||
<string name="delete_contact">Kapcsolat törlése</string>
|
<string name="delete_contact">Kapcsolat törlése</string>
|
||||||
<string name="dialog_title_delete_contact">Kapcsolat törlésének megerősítése</string>
|
<string name="dialog_title_delete_contact">Kapcsolat törlésének megerősítése</string>
|
||||||
<string name="dialog_message_delete_contact">Biztosan eltávolítod ezt a kapcsolatot és minden vele történt üzenetváltásod?</string>
|
<string name="dialog_message_delete_contact">Biztosan eltávolítja ezt a kapcsolatot és minden vele történt üzenetváltását?</string>
|
||||||
<string name="contact_deleted_toast">Kapcsolat törölve</string>
|
<string name="contact_deleted_toast">Kapcsolat törölve</string>
|
||||||
<!--This is shown in the action bar when opening an image in fullscreen that the user sent-->
|
<!--This is shown in the action bar when opening an image in fullscreen that the user sent-->
|
||||||
<string name="you">Ön</string>
|
<string name="you">Ön</string>
|
||||||
@@ -224,7 +218,6 @@ Biztosan szeretné menteni?</string>
|
|||||||
<string name="menu_contact">Kapcsolat</string>
|
<string name="menu_contact">Kapcsolat</string>
|
||||||
<!--Adding Contacts-->
|
<!--Adding Contacts-->
|
||||||
<string name="add_contact_title">Közeli kapcsolat hozzáadása</string>
|
<string name="add_contact_title">Közeli kapcsolat hozzáadása</string>
|
||||||
<string name="add_contact_error_two_way">Mindketten beolvastátok egymás QR-kódjait?</string>
|
|
||||||
<string name="face_to_face">Találkoznia kell a személlyel akit, hozzá szeretne adni a kapcsolatokhoz.\n\nEz megelőzi azt, hogy valaki megszemélyesítse Önt, vagy elolvassa későbbi üzeneteit.</string>
|
<string name="face_to_face">Találkoznia kell a személlyel akit, hozzá szeretne adni a kapcsolatokhoz.\n\nEz megelőzi azt, hogy valaki megszemélyesítse Önt, vagy elolvassa későbbi üzeneteit.</string>
|
||||||
<string name="continue_button">Folytatás</string>
|
<string name="continue_button">Folytatás</string>
|
||||||
<string name="try_again_button">Újrapróbálkozás</string>
|
<string name="try_again_button">Újrapróbálkozás</string>
|
||||||
@@ -232,16 +225,14 @@ Biztosan szeretné menteni?</string>
|
|||||||
<string name="exchanging_contact_details">Kapcsolat részletek cseréje\u2026</string>
|
<string name="exchanging_contact_details">Kapcsolat részletek cseréje\u2026</string>
|
||||||
<string name="contact_added_toast">Kapcsolat hozzáadva: %s</string>
|
<string name="contact_added_toast">Kapcsolat hozzáadva: %s</string>
|
||||||
<string name="contact_already_exists">%s kapcsolat már létezik</string>
|
<string name="contact_already_exists">%s kapcsolat már létezik</string>
|
||||||
<string name="contact_already_exists_general">A kapcsolat már létezik</string>
|
|
||||||
<string name="qr_code_invalid">A QR kód érvénytelen</string>
|
<string name="qr_code_invalid">A QR kód érvénytelen</string>
|
||||||
<string name="qr_code_too_old_1">A beolvasott QR-kód a Briar egy régebbi verziójából származik. Kérje meg kapcsolattartóját, hogy frissítsen a legújabb verzióra, majd próbálja újra.</string>
|
<string name="qr_code_too_old">A QR kód amit leolvasott egy korábbi %s verzióhoz tartozik.\n\nKérje meg kapcsolatát, hogy frissítsen a legutolsó verzióra, majd próbálják újra.</string>
|
||||||
<string name="qr_code_too_new_1">A beolvasott QR-kód a Briar egy régebbi verziójából származik. Kérje meg kapcsolattartóját, hogy frissítsen a legújabb verziót, majd próbálja újra.</string>
|
<string name="qr_code_too_new">A QR kód amit leolvasott egy újabb %s verzióhoz tartozik.\n\nKérjük, frissítsen a legutolsó verzióra, majd próbálják újra.</string>
|
||||||
<string name="camera_error">Kamera hiba</string>
|
<string name="camera_error">Kamera hiba</string>
|
||||||
<string name="connecting_to_device">Csatlakozás az eszközhöz\u2026</string>
|
<string name="connecting_to_device">Csatlakozás az eszközhöz\u2026</string>
|
||||||
<string name="authenticating_with_device">Azonosítás az eszközzel\u2026</string>
|
<string name="authenticating_with_device">Azonosítás az eszközzel\u2026</string>
|
||||||
<string name="connection_error_title">Nem sikerült csatlakozni a kapcsolatához</string>
|
<string name="connection_error_title">Nem sikerült csatlakozni a kapcsolatához</string>
|
||||||
<string name="connection_error_feedback">Ha ez a probléma tartósan fennáll, kérjük <a href="feedback">küldjön visszajelzést</a> nekünk, hogy segítsen fejleszteni az appot.</string>
|
<string name="connection_error_feedback">Ha ez a probléma tartósan fennáll, kérjük <a href="feedback">küldjön visszajelzést</a> nekünk, hogy segítsen fejleszteni az appot.</string>
|
||||||
<string name="info_both_must_scan">Mindketten be kell szkennelniük egymás QR-kódjait</string>
|
|
||||||
<!--Adding Contacts Remotely-->
|
<!--Adding Contacts Remotely-->
|
||||||
<string name="add_contact_remotely_title_case">Távoli kapcsolat hozzá adása</string>
|
<string name="add_contact_remotely_title_case">Távoli kapcsolat hozzá adása</string>
|
||||||
<string name="add_contact_nearby_title">Közeli kapcsolat hozzáadása</string>
|
<string name="add_contact_nearby_title">Közeli kapcsolat hozzáadása</string>
|
||||||
@@ -255,7 +246,7 @@ Biztosan szeretné menteni?</string>
|
|||||||
<string name="send_link_title">Linkek cseréje</string>
|
<string name="send_link_title">Linkek cseréje</string>
|
||||||
<string name="add_contact_choose_nickname">Becenév választása</string>
|
<string name="add_contact_choose_nickname">Becenév választása</string>
|
||||||
<string name="add_contact_choose_a_nickname">Becenév megadása</string>
|
<string name="add_contact_choose_a_nickname">Becenév megadása</string>
|
||||||
<string name="nickname_intro">Add meg a kapcsolatod becenevét. Csak te látod.</string>
|
<string name="nickname_intro">Adja meg a kontakt becenevét. Csak ön láthatja.</string>
|
||||||
<string name="your_link">Adja oda ezt a linket annak a kapcsolatának, akit hozzá szeretne adni</string>
|
<string name="your_link">Adja oda ezt a linket annak a kapcsolatának, akit hozzá szeretne adni</string>
|
||||||
<string name="link_clip_label">Briar link</string>
|
<string name="link_clip_label">Briar link</string>
|
||||||
<string name="link_copied_toast">Link másolva</string>
|
<string name="link_copied_toast">Link másolva</string>
|
||||||
@@ -300,15 +291,9 @@ Kérjük frissítsen a legutolsó verzióra és próbálja újra.</string>
|
|||||||
<string name="different_person_button">Másik személy</string>
|
<string name="different_person_button">Másik személy</string>
|
||||||
<string name="duplicate_link_dialog_text_3">%1$s és %2$s ugyanazt a linket küldte.\n\nEgyikük lehet, hogy megpróbálja kikutatni, hogy kik a kapcsolatai.\n\nNe árulja el nekik, hogy ugyanazt a linket már megkapta mástól.</string>
|
<string name="duplicate_link_dialog_text_3">%1$s és %2$s ugyanazt a linket küldte.\n\nEgyikük lehet, hogy megpróbálja kikutatni, hogy kik a kapcsolatai.\n\nNe árulja el nekik, hogy ugyanazt a linket már megkapta mástól.</string>
|
||||||
<string name="pending_contact_updated_toast">Várakozó kapcsolat frissítve</string>
|
<string name="pending_contact_updated_toast">Várakozó kapcsolat frissítve</string>
|
||||||
<string name="info_both_must_enter_links">Mindkettőnek hozzá kell adnia egymás linkjét</string>
|
|
||||||
<!--Peer trust levels-->
|
|
||||||
<string name="peer_trust_level_unverified">Ellenőrizetlen kapcsolat</string>
|
|
||||||
<string name="peer_trust_level_verified">Ellenőrzött kapcsolat</string>
|
|
||||||
<string name="peer_trust_level_ourselves">Én</string>
|
|
||||||
<string name="peer_trust_level_stranger">Idegen</string>
|
|
||||||
<!--Introductions-->
|
<!--Introductions-->
|
||||||
<string name="introduction_onboarding_title">Kapcsolatai bemutatása</string>
|
<string name="introduction_onboarding_title">Kapcsolatai bemutatása</string>
|
||||||
<string name="introduction_onboarding_text">Mutassa be ismerőseit egymásnak, hogy csatlakozhassanak a Briarhez.</string>
|
<string name="introduction_onboarding_text">Bemutathatja kapcsolatait egymásnak, így nem szükséges, hogy találkozzanak személyesen, hogy kapcsolódhassanak a Briar-on.</string>
|
||||||
<string name="introduction_menu_item">Bemutatkozás készítése</string>
|
<string name="introduction_menu_item">Bemutatkozás készítése</string>
|
||||||
<string name="introduction_activity_title">Kapcsolat kiválasztása</string>
|
<string name="introduction_activity_title">Kapcsolat kiválasztása</string>
|
||||||
<string name="introduction_not_possible">Jelenleg folyamatban van egy bemutatkozása ezekkel a kapcsolatokkal. Kérjük tegye lehetővé előbb ezek befejeződését. Ha a kapcsolatai ritkán vannak online, ez több időt is igénybe vehet.</string>
|
<string name="introduction_not_possible">Jelenleg folyamatban van egy bemutatkozása ezekkel a kapcsolatokkal. Kérjük tegye lehetővé előbb ezek befejeződését. Ha a kapcsolatai ritkán vannak online, ez több időt is igénybe vehet.</string>
|
||||||
@@ -331,14 +316,10 @@ Kérjük frissítsen a legutolsó verzióra és próbálja újra.</string>
|
|||||||
<!--Connect via Bluetooth-->
|
<!--Connect via Bluetooth-->
|
||||||
<string name="menu_item_connect_via_bluetooth">Csatlakozás bluetooth-on keresztül</string>
|
<string name="menu_item_connect_via_bluetooth">Csatlakozás bluetooth-on keresztül</string>
|
||||||
<string name="connect_via_bluetooth_title">Csatlakozás bluetooth-on keresztül</string>
|
<string name="connect_via_bluetooth_title">Csatlakozás bluetooth-on keresztül</string>
|
||||||
<string name="connect_via_bluetooth_intro">Ha a Bluetooth-kapcsolatok nem működnek automatikusan, ezt a képernyőt használhatja a manuális csatlakozáshoz. A kapcsolathoz a közelben kell lennie. Önnek és ismerősének egyszerre kell megnyomnia a „Start” gombot.</string>
|
|
||||||
<string name="connect_via_bluetooth_already_discovering">Már próbál csatlakozni Bluetooth-on keresztül. Kérjük, próbálja újra rövidesen.</string>
|
|
||||||
<string name="connect_via_bluetooth_no_location_permission">Nem folytatható hely engedélyek nélkül</string>
|
<string name="connect_via_bluetooth_no_location_permission">Nem folytatható hely engedélyek nélkül</string>
|
||||||
<string name="connect_via_bluetooth_no_bluetooth_permission">Nem folytatható a közeli eszközök engedélye nélkül</string>
|
|
||||||
<string name="connect_via_bluetooth_start">Csatlakozás Bluetooth-on...</string>
|
<string name="connect_via_bluetooth_start">Csatlakozás Bluetooth-on...</string>
|
||||||
<string name="connect_via_bluetooth_success">Sikeres csatlakozás Bluetooth-on.</string>
|
<string name="connect_via_bluetooth_success">Sikeres csatlakozás Bluetooth-on.</string>
|
||||||
<string name="connect_via_bluetooth_error">Nem sikerült csatlakozni Bluetooth-on.</string>
|
<string name="connect_via_bluetooth_error">Nem sikerült csatlakozni Bluetooth-on.</string>
|
||||||
<string name="connect_via_bluetooth_error_not_supported">Az eszköz nem támogatja a Bluetooth-t.</string>
|
|
||||||
<!--Private Groups-->
|
<!--Private Groups-->
|
||||||
<string name="groups_list_empty">Nincs megjeleníthető csoport</string>
|
<string name="groups_list_empty">Nincs megjeleníthető csoport</string>
|
||||||
<string name="groups_list_empty_action">Koppintson a + ikonra csoport létrehozásához, vagy kérje meg kapcsolatait, hogy osszanak meg csoportokat Önnel</string>
|
<string name="groups_list_empty_action">Koppintson a + ikonra csoport létrehozásához, vagy kérje meg kapcsolatait, hogy osszanak meg csoportokat Önnel</string>
|
||||||
@@ -431,10 +412,6 @@ Kérjük frissítsen a legutolsó verzióra és próbálja újra.</string>
|
|||||||
<string name="forum_declined_toast">Meghívás elutasítva</string>
|
<string name="forum_declined_toast">Meghívás elutasítva</string>
|
||||||
<string name="shared_by_format">Megosztva %s által</string>
|
<string name="shared_by_format">Megosztva %s által</string>
|
||||||
<string name="forum_invitation_already_sharing">Megosztás alatt</string>
|
<string name="forum_invitation_already_sharing">Megosztás alatt</string>
|
||||||
<string name="forum_invitation_already_invited">A meghívó már elküldve</string>
|
|
||||||
<string name="forum_invitation_invite_received">A meghívó már megérkezett</string>
|
|
||||||
<string name="forum_invitation_not_supported">Nem támogatott ezen kapcsolat által</string>
|
|
||||||
<string name="forum_invitation_error">Hiba. Ez egy programhiba, nem a te hibád</string>
|
|
||||||
<string name="forum_invitation_response_accepted_sent">Elfogadta a %s fórum meghívását.</string>
|
<string name="forum_invitation_response_accepted_sent">Elfogadta a %s fórum meghívását.</string>
|
||||||
<string name="forum_invitation_response_declined_sent">Elutasította %s a fórum meghívását.</string>
|
<string name="forum_invitation_response_declined_sent">Elutasította %s a fórum meghívását.</string>
|
||||||
<string name="forum_invitation_response_declined_auto"> %s fórum meghívása automatikusan elutasításra került.</string>
|
<string name="forum_invitation_response_declined_auto"> %s fórum meghívása automatikusan elutasításra került.</string>
|
||||||
@@ -460,11 +437,11 @@ Kérjük frissítsen a legutolsó verzióra és próbálja újra.</string>
|
|||||||
<string name="blogs_feed_empty_state">Nincs megjelenítendő bejegyzés</string>
|
<string name="blogs_feed_empty_state">Nincs megjelenítendő bejegyzés</string>
|
||||||
<string name="blogs_feed_empty_state_action">A bejegyzések a kapcsolataitól és a blogoktól, amikre feliratkozott, itt jelennek meg.\n\nÉrintse meg a toll ikont egy blog bejegyzés írásához</string>
|
<string name="blogs_feed_empty_state_action">A bejegyzések a kapcsolataitól és a blogoktól, amikre feliratkozott, itt jelennek meg.\n\nÉrintse meg a toll ikont egy blog bejegyzés írásához</string>
|
||||||
<string name="blogs_remove_blog">Blog eltávolítása</string>
|
<string name="blogs_remove_blog">Blog eltávolítása</string>
|
||||||
<string name="blogs_remove_blog_dialog_message">Biztosan eltávolítod ezt a blogot?
|
<string name="blogs_remove_blog_dialog_message">Biztosan eltávolítja ezt a blogot?
|
||||||
|
|
||||||
A bejegyzések törlődni fognak az eszközödről, de a többi ember eszközéről nem .
|
A bejegyzések törlődni fognak az Ön eszközéről, de nem a többi ember eszközéről.
|
||||||
|
|
||||||
Kapcsolataid, akivel megosztottad ezt a blogot, lehet nem kapnak többé frissítést.</string>
|
Kapcsolatai, akivel megosztotta ezt a blogot, lehet nem kapnak többé frissítést.</string>
|
||||||
<string name="blogs_remove_blog_ok">Eltávolít</string>
|
<string name="blogs_remove_blog_ok">Eltávolít</string>
|
||||||
<string name="blogs_blog_removed">Blog eltávolítva</string>
|
<string name="blogs_blog_removed">Blog eltávolítva</string>
|
||||||
<string name="blogs_reblog_comment_hint">Megjegyzés hozzáadása (opcionális)</string>
|
<string name="blogs_reblog_comment_hint">Megjegyzés hozzáadása (opcionális)</string>
|
||||||
@@ -489,9 +466,8 @@ Kapcsolataid, akivel megosztottad ezt a blogot, lehet nem kapnak többé frissí
|
|||||||
<string name="blogs_rss_feeds_import">RSS feed importálása</string>
|
<string name="blogs_rss_feeds_import">RSS feed importálása</string>
|
||||||
<string name="blogs_rss_feeds_import_button">Importálás</string>
|
<string name="blogs_rss_feeds_import_button">Importálás</string>
|
||||||
<string name="blogs_rss_feeds_import_hint">Adja meg az RSS feed URL címét</string>
|
<string name="blogs_rss_feeds_import_hint">Adja meg az RSS feed URL címét</string>
|
||||||
<string name="blogs_rss_feeds_import_progress">RSS feed importálása...</string>
|
|
||||||
<string name="blogs_rss_feeds_import_error">Elnézését kérjük! Probléma akadt a feed-je importálásával.</string>
|
<string name="blogs_rss_feeds_import_error">Elnézését kérjük! Probléma akadt a feed-je importálásával.</string>
|
||||||
<string name="blogs_rss_feeds_import_title">Hírcsatorna importálása fájlból</string>
|
<string name="blogs_rss_feeds_import_exists">Ez a feed már importálva van.</string>
|
||||||
<string name="blogs_rss_feeds">RSS Feed-ek</string>
|
<string name="blogs_rss_feeds">RSS Feed-ek</string>
|
||||||
<string name="blogs_rss_feeds_manage_imported">Importálva:</string>
|
<string name="blogs_rss_feeds_manage_imported">Importálva:</string>
|
||||||
<string name="blogs_rss_feeds_manage_author">Szerző:</string>
|
<string name="blogs_rss_feeds_manage_author">Szerző:</string>
|
||||||
@@ -596,79 +572,12 @@ Vigyázat: Ez végleg törli az identitásait, kapcsolatait és üzeneteit</stri
|
|||||||
<string name="choose_ringtone_title">Csengőhang választása</string>
|
<string name="choose_ringtone_title">Csengőhang választása</string>
|
||||||
<string name="cannot_load_ringtone">Sikertelen a csengőhang betöltése</string>
|
<string name="cannot_load_ringtone">Sikertelen a csengőhang betöltése</string>
|
||||||
<!--Mailbox-->
|
<!--Mailbox-->
|
||||||
<string name="mailbox_settings_title">Postafiók</string>
|
<string name="mailbox_setup_connecting">Csatlakozás...</string>
|
||||||
<string name="mailbox_setup_title">Postafiók beàllítàsa</string>
|
|
||||||
<string name="mailbox_setup_intro">A postafiók lehetővé teszi a kapcsolatai számára, hogy üzeneteket küldjenek Önnek, miközben Ön offline állapotban van. A postafiók fogadja az üzeneteket, és tárolja őket, amíg az internethez nem kapcsolódik. Telepítheti a Briar postafiók alkalmazást egy tartalék eszközre. Tartsa csatlakoztatva az áramforráshoz és a Wi-Fi-hálózathoz, hogy mindig online legyen.</string>
|
|
||||||
<string name="mailbox_setup_download_link">Letöltési link megosztása</string>
|
|
||||||
<string name="mailbox_setup_button_scan">Olvassa be a postafiók QR-kódját</string>
|
|
||||||
<string name="permission_camera_qr_denied_body">Megtagadta a hozzáférést a kamerához, de a QR-kód beolvasásához a kamera használata szükséges. Kérjük, fontolja meg a hozzáférés megadását.</string>
|
|
||||||
<string name="mailbox_setup_connecting">Kapcsolódàs a postafiókhoz...</string>
|
|
||||||
<!--This string is shown when connecting to a Mailbox for the first time. The placeholder will be replaced with a duration, e.g. "2 minutes".-->
|
|
||||||
<string name="mailbox_setup_connecting_info">Ez akár%1s-ot is igénybe vehet</string>
|
|
||||||
<string name="mailbox_qr_code_too_old">A beolvasott QR-kód a Briar postafiók egy régebbi verziójából származik. Kérjük, frissítse a Briar postafiók a legújabb verzióra, majd próbálja újra.</string>
|
|
||||||
<string name="mailbox_qr_code_too_new">A beolvasott QR-kód a Briar postafiók újabb verziójából származik. Kérjük, frissítse a Briart a legújabb verzióra, majd próbálja újra.</string>
|
|
||||||
<string name="contact_qr_code_for_mailbox">A beolvasott QR-kód egy Briar-névjegy hozzáadására szolgál. Ha névjegyet szeretne hozzáadni, lépjen a névjegyzékbe, és koppintson a + ikonra.</string>
|
|
||||||
<string name="mailbox_setup_qr_code_wrong_description">A beolvasott QR-kód nem a Briar postafiókból származik.Kérjük, nyissa meg a Briar postafiók alkalmazást a postafiók eszközén, és olvassa be az abban megjelenő QR-kódot.</string>
|
|
||||||
<string name="mailbox_setup_already_paired_title">A Mailbox már linkelt</string>
|
|
||||||
<string name="mailbox_setup_already_paired_description">Válaszd le a Mailbox-ot a másik eszközödön és próbáld újra.</string>
|
|
||||||
<string name="mailbox_setup_io_error_title">Sikertelen a kapcsolódás</string>
|
|
||||||
<string name="mailbox_setup_io_error_description">Ellenőrizd, hogy mindkét eszköz csatlakoztatva van-e az internethez és próbáld újra.</string>
|
|
||||||
<string name="mailbox_setup_assertion_error_title">Postafiók hiba</string>
|
|
||||||
<string name="mailbox_setup_assertion_error_description">Kérjük, küldjön visszajelzést (anonim adatokkal) a Briar alkalmazáson keresztül, ha a probléma továbbra is fennáll.</string>
|
|
||||||
<string name="mailbox_setup_camera_error_description">Nem sikerült elérni a kamerát. Próbálja újra, talán az eszköz újraindítása után.</string>
|
|
||||||
<string name="mailbox_setup_paired_title">Csatlakozva</string>
|
<string name="mailbox_setup_paired_title">Csatlakozva</string>
|
||||||
<string name="tor_offline_title">Offline</string>
|
<string name="tor_offline_title">Offline</string>
|
||||||
<string name="tor_offline_button_check">Ellenőrizze a kapcsolat beállításait</string>
|
|
||||||
<string name="mailbox_status_title">Postafiók állapota</string>
|
|
||||||
<string name="mailbox_status_connected_title">A Mailbox fut</string>
|
|
||||||
<string name="mailbox_status_problem_title">A Briar-nak problémái vannak a Mailbox-hoz csatlakozással</string>
|
|
||||||
<string name="mailbox_status_failure_title">A Mailbox nem elérhető</string>
|
|
||||||
<string name="mailbox_status_app_too_old_title">Briar túl régi</string>
|
|
||||||
<string name="mailbox_status_app_too_old_message">Frissísd a Briar-t a legutolsó app verzióra és próbáld újra.</string>
|
|
||||||
<string name="mailbox_status_mailbox_too_old_title">A Mailbox túl régi</string>
|
|
||||||
<string name="mailbox_status_mailbox_too_old_message">Frissítsd a Mailbox-ot a legutolsó app verzióra és próbáld újra.</string>
|
|
||||||
<string name="mailbox_status_check_button">Kapcsolat ellenőrzése</string>
|
|
||||||
<!--Example for string substitution: Last connection: 3min ago-->
|
<!--Example for string substitution: Last connection: 3min ago-->
|
||||||
<string name="mailbox_status_connected_info">Utolsó csatlakozás: %s</string>
|
|
||||||
<!--Indicates that there never was a connection to the mailbox. Last connection: Never-->
|
<!--Indicates that there never was a connection to the mailbox. Last connection: Never-->
|
||||||
<string name="mailbox_status_connected_never">Soha</string>
|
<string name="mailbox_status_connected_never">Soha</string>
|
||||||
<string name="mailbox_status_unlink_button">Leválasztás</string>
|
|
||||||
<string name="mailbox_status_unlink_dialog_title">Leválassza a postafiókot?</string>
|
|
||||||
<string name="mailbox_status_unlink_dialog_question">Biztosan szeretnéd lecsatlakoztatni a Mailbox-od?</string>
|
|
||||||
<string name="mailbox_status_unlink_dialog_warning">Ha leválasztod a Mailbox-od, nem fogsz tudni üzeneteket kapni amíg a Briar offline.</string>
|
|
||||||
<string name="mailbox_status_unlink_no_wipe_title">A Mailbox-od lecsatlakoztatásra került</string>
|
|
||||||
<string name="mailbox_status_unlink_no_wipe_message">Ha legközelebb hozzáfér postafiókjához, nyissa meg a postafiók alkalmazást, és érintse meg a „Leválasztás” gombot a folyamat befejezéséhez. Ha már nem fér hozzá postafiókjához, ne aggódjon. Adatai titkosítva vannak, így akkor is biztonságban maradnak, ha nem fejezi be a folyamatot.</string>
|
|
||||||
<string name="mailbox_status_unlink_success">A Mailbox-od lecsatlakoztatásra került</string>
|
|
||||||
<string name="mailbox_error_notification_channel_title">Briar Mailbox probléma</string>
|
|
||||||
<string name="mailbox_error_notification_title">A Briar Mailbox nem elérhető</string>
|
|
||||||
<string name="mailbox_error_notification_text">Érintsd meg a hibajavításhoz.</string>
|
|
||||||
<string name="mailbox_error_wizard_button">Probléma javítása</string>
|
|
||||||
<string name="mailbox_error_wizard_title">Mailbox hibaelhárító varázsló</string>
|
|
||||||
<string name="mailbox_error_wizard_question1">Van hozzáférésed a Mailbox eszközödhöz?</string>
|
|
||||||
<string name="mailbox_error_wizard_answer1">Igen, most azonnal van hozzáférésem.</string>
|
|
||||||
<string name="mailbox_error_wizard_answer2">Épp most nem, de később hozzáférek.</string>
|
|
||||||
<string name="mailbox_error_wizard_answer3">Nem, nincs már hozzáférésem.</string>
|
|
||||||
<string name="mailbox_error_wizard_info1_1">Ellenőrizd, hogy a Mailbox eszközöd be van-e kapcsolva és csatlakoztatva van-e az internethez.</string>
|
|
||||||
<string name="mailbox_error_wizard_question1_1">Nyisd meg a Mailbox appot. Mit látsz?</string>
|
|
||||||
<string name="mailbox_error_wizard_answer1_1">A Mailbox beállításának lépéseit látom</string>
|
|
||||||
<string name="mailbox_error_wizard_answer1_2">Látok egy QR kódot</string>
|
|
||||||
<string name="mailbox_error_wizard_answer1_3">Azt látom \"Mailbox is running\"</string>
|
|
||||||
<string name="mailbox_error_wizard_answer1_4">Azt látom, hogy \"Device offline\"</string>
|
|
||||||
<string name="mailbox_error_wizard_info1_1_1">Kérjük válaszd le a Mailbox-ot a gombbal alább, aztán kövesd a lépéseket a Mailbox eszközön az újra csatlakoztatáshoz.</string>
|
|
||||||
<string name="mailbox_error_wizard_info_1_1_2">Kérjük válaszd le a Mailbox-ot a gombbal alább, aztán olvasd be a QR kódot az újra csatlakoztatáshoz.</string>
|
|
||||||
<string name="mailbox_error_wizard_info1_1_4">Ellenőrizze, hogy a postafiók megfelelően csatlakozik-e az internethez. Ellenőrizze, hogy a postafiók órája a megfelelő időt, dátumot és időzónát mutatja-e. Ellenőrizze, hogy a postafiók és a Briar alkalmazások frissültek-e a legújabb verzióra. Indítsa újra a postafiók és a Briar eszközöket, és próbálja újra.</string>
|
|
||||||
<string name="mailbox_error_wizard_info2">Kérjük gyere vissza erre képernyőre, ha van hozzáférésed az eszközhöz.</string>
|
|
||||||
<!--About-->
|
|
||||||
<string name="about_title">Névjegy</string>
|
|
||||||
<string name="briar_version">Briar verzió: %s</string>
|
|
||||||
<string name="tor_version">Tor verzió: %s</string>
|
|
||||||
<string name="links">Linkek</string>
|
|
||||||
<string name="briar_website">\u2022 <a href="">Weboldal</a></string>
|
|
||||||
<string name="briar_source_code">\u2022 <a href="">Forráskód</a> </string>
|
|
||||||
<string name="briar_changelog">\u2022 <a href="">Változásnapló</a></string>
|
|
||||||
<string name="briar_privacy_policy">\u2022 <a href="">Adatvédelmi irányelvek</a></string>
|
|
||||||
<!--Here translators can add their names or Transifex usernames(eg "Thanks to all the contributors at the Localization Lab, especially Tom, Matthew and Jerry")-->
|
|
||||||
<string name="translator_thanks">Köszönet minden közreműködőnek a Lokalizációs Laborban</string>
|
|
||||||
<!--Conversation Settings-->
|
<!--Conversation Settings-->
|
||||||
<string name="disappearing_messages_title">Eltűnő üzenetek</string>
|
<string name="disappearing_messages_title">Eltűnő üzenetek</string>
|
||||||
<string name="disappearing_messages_explanation_long">Bekapcsolva ezt beállítást az új
|
<string name="disappearing_messages_explanation_long">Bekapcsolva ezt beállítást az új
|
||||||
@@ -684,7 +593,6 @@ Vigyázat: Ez végleg törli az identitásait, kapcsolatait és üzeneteit</stri
|
|||||||
<string name="disappearing_messages_summary">Make future messages in this conversation automatically disappear after 7\u00A0days.</string>
|
<string name="disappearing_messages_summary">Make future messages in this conversation automatically disappear after 7\u00A0days.</string>
|
||||||
<!--Settings Actions-->
|
<!--Settings Actions-->
|
||||||
<string name="pref_category_actions">Események</string>
|
<string name="pref_category_actions">Események</string>
|
||||||
<string name="share_app_link">Letöltési link megosztása</string>
|
|
||||||
<string name="send_feedback">Visszajelzés küldése</string>
|
<string name="send_feedback">Visszajelzés küldése</string>
|
||||||
<!--Link Warning-->
|
<!--Link Warning-->
|
||||||
<string name="link_warning_title">Link figyelmeztetés</string>
|
<string name="link_warning_title">Link figyelmeztetés</string>
|
||||||
@@ -693,7 +601,6 @@ Vigyázat: Ez végleg törli az identitásait, kapcsolatait és üzeneteit</stri
|
|||||||
<string name="link_warning_open_link">Link megnyitása</string>
|
<string name="link_warning_open_link">Link megnyitása</string>
|
||||||
<!--Crash Reporter-->
|
<!--Crash Reporter-->
|
||||||
<string name="crash_report_title">Briar összeomlási jelentés</string>
|
<string name="crash_report_title">Briar összeomlási jelentés</string>
|
||||||
<string name="briar_crashed">Sajnáljuk, a Briar összeomlott</string>
|
|
||||||
<string name="not_your_fault">Ez nem az Ön hibája.</string>
|
<string name="not_your_fault">Ez nem az Ön hibája.</string>
|
||||||
<string name="please_send_report">Kérjük segítsen nekünk a Briar-t jobbá tenni, a hibajelentés elküldésével.</string>
|
<string name="please_send_report">Kérjük segítsen nekünk a Briar-t jobbá tenni, a hibajelentés elküldésével.</string>
|
||||||
<string name="report_is_encrypted">Biztosítjuk, hogy a hibajelentés titkosított és biztonságos.</string>
|
<string name="report_is_encrypted">Biztosítjuk, hogy a hibajelentés titkosított és biztonságos.</string>
|
||||||
@@ -701,7 +608,6 @@ Vigyázat: Ez végleg törli az identitásait, kapcsolatait és üzeneteit</stri
|
|||||||
<string name="describe_crash">Írja le mi történt (opcionális)</string>
|
<string name="describe_crash">Írja le mi történt (opcionális)</string>
|
||||||
<string name="enter_feedback">Gépelje be visszajelzését</string>
|
<string name="enter_feedback">Gépelje be visszajelzését</string>
|
||||||
<string name="optional_contact_email">Email címe (opcionális)</string>
|
<string name="optional_contact_email">Email címe (opcionális)</string>
|
||||||
<string name="privacy_policy">Az adatok elküldésével Ön elfogadja a mi <a href="">Adatvédelmi irányelvünket</a></string>
|
|
||||||
<string name="include_debug_report_crash">Névtelen adat beágyazása az összeomlásról</string>
|
<string name="include_debug_report_crash">Névtelen adat beágyazása az összeomlásról</string>
|
||||||
<string name="include_debug_report_feedback">Névtelen adat beágyazása az eszközről</string>
|
<string name="include_debug_report_feedback">Névtelen adat beágyazása az eszközről</string>
|
||||||
<string name="dev_report_user_info">Felhasználó információ</string>
|
<string name="dev_report_user_info">Felhasználó információ</string>
|
||||||
@@ -712,7 +618,6 @@ Vigyázat: Ez végleg törli az identitásait, kapcsolatait és üzeneteit</stri
|
|||||||
<string name="dev_report_memory">Memória</string>
|
<string name="dev_report_memory">Memória</string>
|
||||||
<string name="dev_report_storage">Tárhely</string>
|
<string name="dev_report_storage">Tárhely</string>
|
||||||
<string name="dev_report_connectivity">Csatlakozódás</string>
|
<string name="dev_report_connectivity">Csatlakozódás</string>
|
||||||
<string name="dev_report_network_usage">Hálózathasználat</string>
|
|
||||||
<string name="dev_report_build_config">Build konfiguráció</string>
|
<string name="dev_report_build_config">Build konfiguráció</string>
|
||||||
<string name="dev_report_logcat">App log</string>
|
<string name="dev_report_logcat">App log</string>
|
||||||
<string name="dev_report_device_features">Eszköz szolgáltatások</string>
|
<string name="dev_report_device_features">Eszköz szolgáltatások</string>
|
||||||
@@ -734,21 +639,14 @@ Vigyázat: Ez végleg törli az identitásait, kapcsolatait és üzeneteit</stri
|
|||||||
<string name="permission_camera_title">Kamera jogosultságok</string>
|
<string name="permission_camera_title">Kamera jogosultságok</string>
|
||||||
<string name="permission_camera_request_body">A QR kód olvasáshoz a Briar-nak szüksége van kamera hozzáférésre.</string>
|
<string name="permission_camera_request_body">A QR kód olvasáshoz a Briar-nak szüksége van kamera hozzáférésre.</string>
|
||||||
<string name="permission_location_title">Hely engedélyek</string>
|
<string name="permission_location_title">Hely engedélyek</string>
|
||||||
<string name="permission_nearby_devices_title">Közeli eszközök engedélye</string>
|
|
||||||
<string name="permission_location_request_body">A Bluetooth eszközök észleléséhez a Briar-nak szükségve van a lokációhoz hozzáférésre.\n\nA Briar nem tárolja lokációját vagy ossza meg bárkivel.</string>
|
<string name="permission_location_request_body">A Bluetooth eszközök észleléséhez a Briar-nak szükségve van a lokációhoz hozzáférésre.\n\nA Briar nem tárolja lokációját vagy ossza meg bárkivel.</string>
|
||||||
<string name="permission_camera_location_title">Kamera és lokáció</string>
|
<string name="permission_camera_location_title">Kamera és lokáció</string>
|
||||||
<string name="permission_camera_location_request_body">A QR kód beszkenneléséhez a Briar-nak szüksége van a Kamerához hozzáférésre.\n\nA Bluetooth eszközök észleléséhez a Briar-nak szükségve van a lokációhoz hozzáférésre.\n\nA Briar nem tárolja lokációját vagy ossza meg bárkivel.</string>
|
<string name="permission_camera_location_request_body">A QR kód beszkenneléséhez a Briar-nak szüksége van a Kamerához hozzáférésre.\n\nA Bluetooth eszközök észleléséhez a Briar-nak szükségve van a lokációhoz hozzáférésre.\n\nA Briar nem tárolja lokációját vagy ossza meg bárkivel.</string>
|
||||||
<string name="permission_camera_bluetooth_title">Kamera és közeli eszközök</string>
|
|
||||||
<string name="permission_camera_bluetooth_request_body">A QR-kód beolvasásához Briarnak hozzá kell férnie a kamerához. A Bluetooth-eszközök felfedezéséhez Briarnak engedélyre van szüksége a közeli eszközök megkereséséhez és azokhoz való csatlakozáshoz.</string>
|
|
||||||
<string name="permission_camera_denied_body">Megtiltotta hozzáférést a kamerához, de a kapcsolatok hozzáadásához szükséges a kamera.\n\nKérjük gondolja meg a jog megadását.</string>
|
<string name="permission_camera_denied_body">Megtiltotta hozzáférést a kamerához, de a kapcsolatok hozzáadásához szükséges a kamera.\n\nKérjük gondolja meg a jog megadását.</string>
|
||||||
<string name="permission_location_denied_body">Megtiltotta hozzáférést a helyhez, azonban a Briar-nak szüksége van erre, hogy detektálja a Bluetooth eszközöket.\n\nKérjük gondolja meg a jog megadását.</string>
|
<string name="permission_location_denied_body">Megtiltotta hozzáférést a helyhez, azonban a Briar-nak szüksége van erre, hogy detektálja a Bluetooth eszközöket.\n\nKérjük gondolja meg a jog megadását.</string>
|
||||||
<string name="permission_location_setting_title">Hely beállítás</string>
|
<string name="permission_location_setting_title">Hely beállítás</string>
|
||||||
<string name="permission_location_setting_body">Az eszköze hely beállításai be kell kapcsolva legyenek, hogy megtaláljon más eszközöket Bluetooth-on. Kérjük engedélyezze a folytatáshoz. Utána újra letilthatja.</string>
|
<string name="permission_location_setting_body">Az eszköze hely beállításai be kell kapcsolva legyenek, hogy megtaláljon más eszközöket Bluetooth-on. Kérjük engedélyezze a folytatáshoz. Utána újra letilthatja.</string>
|
||||||
<string name="permission_location_setting_hotspot_body">Wi-Fi hotspot létrehozásához az eszköz helybeállítását be kell kapcsolni. A folytatáshoz engedélyezze a helymeghatározást. Utána újra kikapcsolhatja.</string>
|
|
||||||
<string name="permission_location_setting_button">Hely engedélyezése</string>
|
<string name="permission_location_setting_button">Hely engedélyezése</string>
|
||||||
<string name="permission_bluetooth_title">Közeli eszközök engedélye</string>
|
|
||||||
<string name="permission_bluetooth_body">A Bluetooth-kommunikáció használatához Briarnak engedélyre van szüksége a közeli eszközök megtalálásához és azokhoz való csatlakozáshoz.</string>
|
|
||||||
<string name="permission_bluetooth_denied_body">Megtagadta a hozzáférést a közeli eszközökhöz, de Briarnak szüksége van erre az engedélyre a Bluetooth használatához. Kérjük, fontolja meg a hozzáférés megadását.</string>
|
|
||||||
<string name="qr_code">QR kód</string>
|
<string name="qr_code">QR kód</string>
|
||||||
<string name="show_qr_code_fullscreen">A QR kód teljes képernyősen</string>
|
<string name="show_qr_code_fullscreen">A QR kód teljes képernyősen</string>
|
||||||
<!--App Locking-->
|
<!--App Locking-->
|
||||||
@@ -761,28 +659,12 @@ Vigyázat: Ez végleg törli az identitásait, kapcsolatait és üzeneteit</stri
|
|||||||
<!--Connections Screen-->
|
<!--Connections Screen-->
|
||||||
<string name="transports_help_text">A Briar Interneten, Wi-Fi-n vagy Bluetooth-on keresztül csatlakozhat kapcsolataihoz.\n\nAz összes internetkapcsolat a Tor hálózaton megy keresztül megy az adatvédelem érdekében.\n\nHa egy kapcsolatot több módszerrel is el lehet érni, Briar párhuzamosan használja azokat.</string>
|
<string name="transports_help_text">A Briar Interneten, Wi-Fi-n vagy Bluetooth-on keresztül csatlakozhat kapcsolataihoz.\n\nAz összes internetkapcsolat a Tor hálózaton megy keresztül megy az adatvédelem érdekében.\n\nHa egy kapcsolatot több módszerrel is el lehet érni, Briar párhuzamosan használja azokat.</string>
|
||||||
<!--Share app offline-->
|
<!--Share app offline-->
|
||||||
<string name="hotspot_title">Ossza meg ezt az alkalmazást offline</string>
|
|
||||||
<string name="hotspot_button_start_sharing">Hotspot indítása</string>
|
|
||||||
<string name="hotspot_button_stop_sharing">Hotspot leállítása</string>
|
|
||||||
<string name="hotspot_progress_text_start">Hotspot beállítása…</string>
|
|
||||||
<string name="hotspot_notification_channel_title">Wifi hotspot</string>
|
<string name="hotspot_notification_channel_title">Wifi hotspot</string>
|
||||||
<string name="hotspot_notification_title">Briar megosztása offline állapotban</string>
|
|
||||||
<string name="hotspot_button_connected">Következő</string>
|
<string name="hotspot_button_connected">Következő</string>
|
||||||
<string name="permission_hotspot_location_request_body">Wi-Fi hotspot létrehozásához a Briarnak engedélyre van szüksége ahhoz, hogy hozzáférjen az Ön tartózkodási helyéhez. A Briar nem tárolja az Ön tartózkodási helyét, és nem osztja meg senkivel.</string>
|
|
||||||
<string name="permission_hotspot_location_request_precise_body">Wi-Fi hotspot létrehozásához a Briarnak engedélyre van szüksége, hogy hozzáférjen az Ön pontos helyéhez. A Briar nem tárolja az Ön tartózkodási helyét, és nem osztja meg senkivel.</string>
|
|
||||||
<string name="permission_hotspot_location_denied_body">Megtagadta a hozzáférést a tartózkodási helyéhez, de Briarnak szüksége van erre az engedélyre Wi-Fi hotspot létrehozásához. Kérjük, fontolja meg a hozzáférés megadását.</string>
|
|
||||||
<string name="permission_hotspot_location_denied_precise_body">Megtagadta a hozzáférést a pontos tartózkodási helyéhez, de Briarnak szüksége van erre az engedélyre Wi-Fi hotspot létrehozásához. Kérjük, fontolja meg a hozzáférés megadását.</string>
|
|
||||||
<string name="wifi_settings_title">Wi-Fi beállítás</string>
|
|
||||||
<string name="wifi_settings_request_enable_body">Wi-Fi hotspot létrehozásához Briarnak Wi-Fi-t kell használnia. Kérjük, engedélyezze.</string>
|
|
||||||
<string name="hotspot_tab_manual">Kézi</string>
|
<string name="hotspot_tab_manual">Kézi</string>
|
||||||
<!--The placeholder to be inserted into the string 'hotspot_manual_wifi': People can connect by %s-->
|
<!--The placeholder to be inserted into the string 'hotspot_manual_wifi': People can connect by %s-->
|
||||||
<string name="hotspot_scanning_a_qr_code">QR-kód beolvasása</string>
|
|
||||||
<!--Wi-Fi setup-->
|
<!--Wi-Fi setup-->
|
||||||
<!--The %s placeholder will be replaced with the translation of 'hotspot_scanning_a_qr_code'-->
|
<!--The %s placeholder will be replaced with the translation of 'hotspot_scanning_a_qr_code'-->
|
||||||
<string name="hotspot_manual_wifi">Telefonja Wi-Fi hotspotot biztosít. Azok az emberek, akik szeretnék letölteni a Briart, csatlakozhatnak a hotspothoz úgy, hogy hozzáadják azt eszközük Wi-Fi beállításaihoz az alábbi adatokkal vagy %s-al. Amikor csatlakoztak a hotspothoz, nyomja meg a „Tovább” gombot.</string>
|
|
||||||
<string name="hotspot_manual_wifi_ssid">Hálózat neve</string>
|
|
||||||
<string name="hotspot_qr_wifi">Telefonja Wi-Fi hotspotot biztosít. Azok, akik szeretnék letölteni a Briart, ennek a QR-kódnak a beolvasásával csatlakozhatnak a hotspothoz. Amikor csatlakoztak a hotspothoz, nyomja meg a „Tovább” gombot.</string>
|
|
||||||
<string name="hotspot_no_peers_connected">Nincsenek csatlakoztatva eszközök</string>
|
|
||||||
<!--Download link-->
|
<!--Download link-->
|
||||||
<!--The %s placeholder will be replaced with the translation of 'hotspot_scanning_a_qr_code'-->
|
<!--The %s placeholder will be replaced with the translation of 'hotspot_scanning_a_qr_code'-->
|
||||||
<!--e.g. Download Briar 1.2.20-->
|
<!--e.g. Download Briar 1.2.20-->
|
||||||
|
|||||||
@@ -50,6 +50,11 @@
|
|||||||
<item quantity="many">Questa è una versione di prova di Briar. Il tuo account scadrà fra %d giorni e non può essere rinnovato.</item>
|
<item quantity="many">Questa è una versione di prova di Briar. Il tuo account scadrà fra %d giorni e non può essere rinnovato.</item>
|
||||||
<item quantity="other">Questa è una versione di prova di Briar. Il tuo account scadrà fra %d giorni e non può essere rinnovato.</item>
|
<item quantity="other">Questa è una versione di prova di Briar. Il tuo account scadrà fra %d giorni e non può essere rinnovato.</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
|
<plurals name="old_android_expiry_warning">
|
||||||
|
<item quantity="one">Android 4 non è più supportato. Briar smetterà di funzionare il %s (tra %d giorno). Installa Briar in un dispositivo più recente e crea un nuovo account.</item>
|
||||||
|
<item quantity="many">Android 4 non è più supportato. Briar smetterà di funzionare il %s (tra %d giorni). Installa Briar in un dispositivo più recente e crea un nuovo account.</item>
|
||||||
|
<item quantity="other">Android 4 non è più supportato. Briar smetterà di funzionare il %s (tra %d giorni). Installa Briar in un dispositivo più recente e crea un nuovo account.</item>
|
||||||
|
</plurals>
|
||||||
<string name="expiry_date_reached">Questo software è scaduto.\nGrazie per il test!</string>
|
<string name="expiry_date_reached">Questo software è scaduto.\nGrazie per il test!</string>
|
||||||
<string name="download_briar">Per continuare a utilizzare Briar, scarica l\'ultima versione.</string>
|
<string name="download_briar">Per continuare a utilizzare Briar, scarica l\'ultima versione.</string>
|
||||||
<string name="create_new_account">Avrai bisogno di creare un nuovo account, ma puoi usare lo stesso nickname.</string>
|
<string name="create_new_account">Avrai bisogno di creare un nuovo account, ma puoi usare lo stesso nickname.</string>
|
||||||
@@ -702,8 +707,6 @@
|
|||||||
<string name="disappearing_messages_summary">Fai sparire automaticamente i messaggi futuri di questa conversazione dopo 7\u00A0giorni.</string>
|
<string name="disappearing_messages_summary">Fai sparire automaticamente i messaggi futuri di questa conversazione dopo 7\u00A0giorni.</string>
|
||||||
<!--Settings Actions-->
|
<!--Settings Actions-->
|
||||||
<string name="pref_category_actions">Azioni</string>
|
<string name="pref_category_actions">Azioni</string>
|
||||||
<string name="share_app_link">Condividi link di download</string>
|
|
||||||
<string name="share_app_link_text">Scarica Briar su %s</string>
|
|
||||||
<string name="send_feedback">Invia feedback</string>
|
<string name="send_feedback">Invia feedback</string>
|
||||||
<!--Link Warning-->
|
<!--Link Warning-->
|
||||||
<string name="link_warning_title">Attenzione Link</string>
|
<string name="link_warning_title">Attenzione Link</string>
|
||||||
@@ -753,7 +756,6 @@
|
|||||||
<string name="permission_camera_title">Autorizzazione fotocamera</string>
|
<string name="permission_camera_title">Autorizzazione fotocamera</string>
|
||||||
<string name="permission_camera_request_body">Per scansionare il codice QR, Briar deve accedere alla fotocamera.</string>
|
<string name="permission_camera_request_body">Per scansionare il codice QR, Briar deve accedere alla fotocamera.</string>
|
||||||
<string name="permission_location_title">Autorizzazione geolocalizzazione</string>
|
<string name="permission_location_title">Autorizzazione geolocalizzazione</string>
|
||||||
<string name="permission_nearby_devices_title">Autorizzazione dispositivi vicini</string>
|
|
||||||
<string name="permission_location_request_body">Per trovare dispositivi Bluetooth, Briar ha bisogno di accedere alla tua posizione.\n\nBriar non memorizza la tua posizione, nè la condivide con terzi.</string>
|
<string name="permission_location_request_body">Per trovare dispositivi Bluetooth, Briar ha bisogno di accedere alla tua posizione.\n\nBriar non memorizza la tua posizione, nè la condivide con terzi.</string>
|
||||||
<string name="permission_camera_location_title">Fotocamera e geolocalizzazione</string>
|
<string name="permission_camera_location_title">Fotocamera e geolocalizzazione</string>
|
||||||
<string name="permission_camera_location_request_body">Per scansionare il codice QR, Briar ha bisogno di accedere alla fotocamera.\n\nPer trovare dispositivi Bluetooth, Briar ha bisogno di accedere alla tua posizione.\n\nBriar non memorizza la tua posizione, nè la condivide con terzi.</string>
|
<string name="permission_camera_location_request_body">Per scansionare il codice QR, Briar ha bisogno di accedere alla fotocamera.\n\nPer trovare dispositivi Bluetooth, Briar ha bisogno di accedere alla tua posizione.\n\nBriar non memorizza la tua posizione, nè la condivide con terzi.</string>
|
||||||
@@ -793,8 +795,6 @@
|
|||||||
<string name="permission_hotspot_location_request_precise_body">Per creare un hotspot Wi-Fi, Briar ha bisogno dell\'autorizzazione per accedere alla tua posizione precisa.\n\nBriar non memorizza la tua posizione e non la condivide con nessuno.</string>
|
<string name="permission_hotspot_location_request_precise_body">Per creare un hotspot Wi-Fi, Briar ha bisogno dell\'autorizzazione per accedere alla tua posizione precisa.\n\nBriar non memorizza la tua posizione e non la condivide con nessuno.</string>
|
||||||
<string name="permission_hotspot_location_denied_body">Hai negato l\'accesso alla tua posizione, ma Briar ha bisogno di questa autorizzazione per creare un hotspot Wi-Fi.\n\nPrendi in considerazione di consentirla.</string>
|
<string name="permission_hotspot_location_denied_body">Hai negato l\'accesso alla tua posizione, ma Briar ha bisogno di questa autorizzazione per creare un hotspot Wi-Fi.\n\nPrendi in considerazione di consentirla.</string>
|
||||||
<string name="permission_hotspot_location_denied_precise_body">Hai negato l\'accesso alla tua posizione, ma Briar ha bisogno di questa autorizzazione per creare un hotspot Wi-Fi.\n\nConsidera la possibilità di concedere l\'accesso.</string>
|
<string name="permission_hotspot_location_denied_precise_body">Hai negato l\'accesso alla tua posizione, ma Briar ha bisogno di questa autorizzazione per creare un hotspot Wi-Fi.\n\nConsidera la possibilità di concedere l\'accesso.</string>
|
||||||
<string name="permission_hotspot_nearby_wifi_request_body">Per creare un hotspot Wi-Fi, Briar deve avere l\'autorizzazione per i dispositivi vicini.</string>
|
|
||||||
<string name="permission_hotspot_nearby_wifi_denied_body">Hai negato l\'accesso ai dispositivi vicini, ma Briar ha bisogno di questa autorizzazione per creare un hotspot Wi-Fi.\n\nPrendi in considerazione di consentirla.</string>
|
|
||||||
<string name="wifi_settings_title">Impostazione Wi-Fi</string>
|
<string name="wifi_settings_title">Impostazione Wi-Fi</string>
|
||||||
<string name="wifi_settings_request_enable_body">Per creare un hotspot Wi-Fi, Briar deve usare il Wi-Fi. Prima attivalo.</string>
|
<string name="wifi_settings_request_enable_body">Per creare un hotspot Wi-Fi, Briar deve usare il Wi-Fi. Prima attivalo.</string>
|
||||||
<string name="hotspot_tab_manual">Manuale</string>
|
<string name="hotspot_tab_manual">Manuale</string>
|
||||||
|
|||||||
@@ -46,6 +46,9 @@
|
|||||||
<plurals name="expiry_warning">
|
<plurals name="expiry_warning">
|
||||||
<item quantity="other">これは、Briarの試験バージョンです。 アカウントはあと%d日で期限切れになり、更新できません。</item>
|
<item quantity="other">これは、Briarの試験バージョンです。 アカウントはあと%d日で期限切れになり、更新できません。</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
|
<plurals name="old_android_expiry_warning">
|
||||||
|
<item quantity="other">Android 4はサポートされなくなりました。Briarは(%d日後に)%s上での動作を停止します。新しい端末に Briarをインストールして、新規アカウントを作成してください。</item>
|
||||||
|
</plurals>
|
||||||
<string name="expiry_date_reached">このソフトウェアの有効期限が切れました。試験に参加してくださりありがとうございます!</string>
|
<string name="expiry_date_reached">このソフトウェアの有効期限が切れました。試験に参加してくださりありがとうございます!</string>
|
||||||
<string name="download_briar">Briarを使用し続けるには、最新のリリースをダウンロードしてください。</string>
|
<string name="download_briar">Briarを使用し続けるには、最新のリリースをダウンロードしてください。</string>
|
||||||
<string name="create_new_account">新規アカウントを作成する必要があります。同じニックネームも使用できます。</string>
|
<string name="create_new_account">新規アカウントを作成する必要があります。同じニックネームも使用できます。</string>
|
||||||
@@ -211,7 +214,7 @@
|
|||||||
<string name="messaging_too_many_attachments_toast">最初の%d個の画像のみが送信されます。</string>
|
<string name="messaging_too_many_attachments_toast">最初の%d個の画像のみが送信されます。</string>
|
||||||
<string name="menu_contact">連絡先</string>
|
<string name="menu_contact">連絡先</string>
|
||||||
<!--Adding Contacts-->
|
<!--Adding Contacts-->
|
||||||
<string name="add_contact_title">近くにいる人を連絡先に追加</string>
|
<string name="add_contact_title">近くの人を連絡先に追加する</string>
|
||||||
<string name="add_contact_error_two_way">お互いのQRコードを読み取りましたか?</string>
|
<string name="add_contact_error_two_way">お互いのQRコードを読み取りましたか?</string>
|
||||||
<string name="face_to_face">連絡先として追加したい人と会う必要があります。\n\nこれにより、だれかがあなたになりすましたり、メッセージを読んだりするのを防ぐことができます。</string>
|
<string name="face_to_face">連絡先として追加したい人と会う必要があります。\n\nこれにより、だれかがあなたになりすましたり、メッセージを読んだりするのを防ぐことができます。</string>
|
||||||
<string name="continue_button">続行</string>
|
<string name="continue_button">続行</string>
|
||||||
@@ -251,7 +254,7 @@
|
|||||||
<string name="link_copied_toast">リンクをコピーしました</string>
|
<string name="link_copied_toast">リンクをコピーしました</string>
|
||||||
<string name="adding_contact_error">連絡先を追加中にエラーが発生しました。</string>
|
<string name="adding_contact_error">連絡先を追加中にエラーが発生しました。</string>
|
||||||
<string name="pending_contact_requests_snackbar">保留中の連絡先への追加要求があります</string>
|
<string name="pending_contact_requests_snackbar">保留中の連絡先への追加要求があります</string>
|
||||||
<string name="pending_contact_requests">保留中の連絡先への追加要求</string>
|
<string name="pending_contact_requests">連絡先追加要求</string>
|
||||||
<string name="no_pending_contacts">保留中の連絡先追加要求はありません</string>
|
<string name="no_pending_contacts">保留中の連絡先追加要求はありません</string>
|
||||||
<string name="waiting_for_contact_to_come_online">連絡先がオンラインになるのを待っています…</string>
|
<string name="waiting_for_contact_to_come_online">連絡先がオンラインになるのを待っています…</string>
|
||||||
<string name="connecting">接続中…</string>
|
<string name="connecting">接続中…</string>
|
||||||
@@ -674,8 +677,6 @@
|
|||||||
<string name="disappearing_messages_summary">この会話の今後のメッセージは、自動的に7\u00A0日後に消えます。</string>
|
<string name="disappearing_messages_summary">この会話の今後のメッセージは、自動的に7\u00A0日後に消えます。</string>
|
||||||
<!--Settings Actions-->
|
<!--Settings Actions-->
|
||||||
<string name="pref_category_actions">操作</string>
|
<string name="pref_category_actions">操作</string>
|
||||||
<string name="share_app_link">ダウンロードリンクを共有</string>
|
|
||||||
<string name="share_app_link_text">%s でBriarをダウンロード</string>
|
|
||||||
<string name="send_feedback">フィードバックを送信</string>
|
<string name="send_feedback">フィードバックを送信</string>
|
||||||
<!--Link Warning-->
|
<!--Link Warning-->
|
||||||
<string name="link_warning_title">リンクの警告</string>
|
<string name="link_warning_title">リンクの警告</string>
|
||||||
@@ -725,7 +726,6 @@
|
|||||||
<string name="permission_camera_title">カメラの権限</string>
|
<string name="permission_camera_title">カメラの権限</string>
|
||||||
<string name="permission_camera_request_body">QRコードを読み取るには、Briarはカメラにアクセスする必要があります。</string>
|
<string name="permission_camera_request_body">QRコードを読み取るには、Briarはカメラにアクセスする必要があります。</string>
|
||||||
<string name="permission_location_title">位置情報の権限</string>
|
<string name="permission_location_title">位置情報の権限</string>
|
||||||
<string name="permission_nearby_devices_title">付近の端末の権限</string>
|
|
||||||
<string name="permission_location_request_body">Bluetooth端末を検出するには、Briarがあなたの位置情報へアクセスする権限を必要とします。\n\nBriarはあなたの場所を保存したり、誰とも共有したりしません。</string>
|
<string name="permission_location_request_body">Bluetooth端末を検出するには、Briarがあなたの位置情報へアクセスする権限を必要とします。\n\nBriarはあなたの場所を保存したり、誰とも共有したりしません。</string>
|
||||||
<string name="permission_camera_location_title">カメラと位置情報</string>
|
<string name="permission_camera_location_title">カメラと位置情報</string>
|
||||||
<string name="permission_camera_location_request_body">QRコードを読み取るには、Briarはカメラにアクセスする権限を必要とします。\n\nBluetooth端末を検出するには、Briarは現在地情報にアクセスする許可が必要です。\n\nBriarは現在地を保存したり、誰とも共有したりしません。</string>
|
<string name="permission_camera_location_request_body">QRコードを読み取るには、Briarはカメラにアクセスする権限を必要とします。\n\nBluetooth端末を検出するには、Briarは現在地情報にアクセスする許可が必要です。\n\nBriarは現在地を保存したり、誰とも共有したりしません。</string>
|
||||||
@@ -765,10 +765,8 @@
|
|||||||
<string name="permission_hotspot_location_request_precise_body">Wi-Fiホットスポットを作るには、Briarはあなたの正確な位置情報にアクセスする権限が必要です。\n\nBriarはあなたの位置情報を保存せず、誰かに共有することもありません。</string>
|
<string name="permission_hotspot_location_request_precise_body">Wi-Fiホットスポットを作るには、Briarはあなたの正確な位置情報にアクセスする権限が必要です。\n\nBriarはあなたの位置情報を保存せず、誰かに共有することもありません。</string>
|
||||||
<string name="permission_hotspot_location_denied_body">あなたは位置情報にアクセスすることを拒否しましたが、BriarはWi-Fiホットスポットを作るのに、この権限が必要です。\n\nアクセス権を付与することを考慮願います。</string>
|
<string name="permission_hotspot_location_denied_body">あなたは位置情報にアクセスすることを拒否しましたが、BriarはWi-Fiホットスポットを作るのに、この権限が必要です。\n\nアクセス権を付与することを考慮願います。</string>
|
||||||
<string name="permission_hotspot_location_denied_precise_body">あなたは正確な位置情報にアクセスすることを拒否しましたが、BriarはWi-Fiホットスポットを作るのに、この権限が必要です。\n\nアクセス権を付与することを考慮願います。</string>
|
<string name="permission_hotspot_location_denied_precise_body">あなたは正確な位置情報にアクセスすることを拒否しましたが、BriarはWi-Fiホットスポットを作るのに、この権限が必要です。\n\nアクセス権を付与することを考慮願います。</string>
|
||||||
<string name="permission_hotspot_nearby_wifi_request_body">Wi-Fiホットスポットを作るには、Briarは付近の端末にアクセスする権限が必要です。</string>
|
|
||||||
<string name="permission_hotspot_nearby_wifi_denied_body">あなたは付近の端末にアクセスすることを拒否しましたが、BriarはWi-Fiホットスポットを作るのに、この権限が必要です。\n\nアクセス権を付与することを考慮願います。</string>
|
|
||||||
<string name="wifi_settings_title">Wi-Fi設定</string>
|
<string name="wifi_settings_title">Wi-Fi設定</string>
|
||||||
<string name="wifi_settings_request_enable_body">Wi-Fiホットスポットを作るには、BriarはWi-Fiの使用が必要です。有効にしてください。</string>
|
<string name="wifi_settings_request_enable_body">Wi-Fiホットスポットを作るには、BriarWi-Fiの使用が必要です。有効にしてください。</string>
|
||||||
<string name="hotspot_tab_manual">手動</string>
|
<string name="hotspot_tab_manual">手動</string>
|
||||||
<!--The placeholder to be inserted into the string 'hotspot_manual_wifi': People can connect by %s-->
|
<!--The placeholder to be inserted into the string 'hotspot_manual_wifi': People can connect by %s-->
|
||||||
<string name="hotspot_scanning_a_qr_code">QRコードを読み取る</string>
|
<string name="hotspot_scanning_a_qr_code">QRコードを読み取る</string>
|
||||||
|
|||||||
@@ -51,6 +51,12 @@
|
|||||||
<item quantity="many">Это бета-версия Briar. Срок действия вашего аккаунта закончится через %d дней и не может быть возобновлен.</item>
|
<item quantity="many">Это бета-версия Briar. Срок действия вашего аккаунта закончится через %d дней и не может быть возобновлен.</item>
|
||||||
<item quantity="other">Это бета-версия Briar. Срок действия вашего аккаунта закончится через %d дней и не может быть возобновлен.</item>
|
<item quantity="other">Это бета-версия Briar. Срок действия вашего аккаунта закончится через %d дней и не может быть возобновлен.</item>
|
||||||
</plurals>
|
</plurals>
|
||||||
|
<plurals name="old_android_expiry_warning">
|
||||||
|
<item quantity="one">Android 4 больше не поддерживается. Briar перестанет работать на %s (через %d день). Пожалуйста, установите Briar на более современное устройство и создайте новую учетную запись.</item>
|
||||||
|
<item quantity="few">Android 4 больше не поддерживается. Briar перестанет работать на %s (через %d дня). Пожалуйста, установите Briar на более современное устройство и создайте новую учетную запись.</item>
|
||||||
|
<item quantity="many">Android 4 больше не поддерживается. Briar перестанет работать на %s (через %d дней). Пожалуйста, установите Briar на более современное устройство и создайте новую учетную запись.</item>
|
||||||
|
<item quantity="other">Android 4 больше не поддерживается. Briar перестанет работать на %s (через %d дней). Пожалуйста, установите Briar на более современное устройство и создайте новый аккаунт.</item>
|
||||||
|
</plurals>
|
||||||
<string name="expiry_date_reached">Срок действия этого программного обеспечения истек.\nСпасибо за тестирование!</string>
|
<string name="expiry_date_reached">Срок действия этого программного обеспечения истек.\nСпасибо за тестирование!</string>
|
||||||
<string name="download_briar">Для продолжения использования Briar, пожалуйста, скачайте последнюю версию.</string>
|
<string name="download_briar">Для продолжения использования Briar, пожалуйста, скачайте последнюю версию.</string>
|
||||||
<string name="create_new_account">Вам необходимо создать новый аккаунт, но вы можете использовать тот же псевдоним.</string>
|
<string name="create_new_account">Вам необходимо создать новый аккаунт, но вы можете использовать тот же псевдоним.</string>
|
||||||
@@ -163,10 +169,10 @@
|
|||||||
<string name="error">Ошибка</string>
|
<string name="error">Ошибка</string>
|
||||||
<string name="info">Информация</string>
|
<string name="info">Информация</string>
|
||||||
<!--Contacts and Private Conversations-->
|
<!--Contacts and Private Conversations-->
|
||||||
<string name="no_contacts">Нет контактов</string>
|
<string name="no_contacts">Нет контактов для отображения</string>
|
||||||
<string name="no_contacts_action">Для добавления контакта нажмите значок +</string>
|
<string name="no_contacts_action">Для добавления контакта нажмите значок +</string>
|
||||||
<string name="date_no_private_messages">Нет сообщений.</string>
|
<string name="date_no_private_messages">Нет сообщений.</string>
|
||||||
<string name="no_private_messages">Нет сообщений</string>
|
<string name="no_private_messages">Нет сообщений для отображения</string>
|
||||||
<string name="message_hint">Новое сообщение</string>
|
<string name="message_hint">Новое сообщение</string>
|
||||||
<string name="message_hint_auto_delete">Новое исчезающее сообщение</string>
|
<string name="message_hint_auto_delete">Новое исчезающее сообщение</string>
|
||||||
<string name="message_error">Ошибка отправки сообщения</string>
|
<string name="message_error">Ошибка отправки сообщения</string>
|
||||||
@@ -237,7 +243,7 @@
|
|||||||
<string name="messaging_too_many_attachments_toast">Будут отправлены только %d первых изображений</string>
|
<string name="messaging_too_many_attachments_toast">Будут отправлены только %d первых изображений</string>
|
||||||
<string name="menu_contact">Контакт</string>
|
<string name="menu_contact">Контакт</string>
|
||||||
<!--Adding Contacts-->
|
<!--Adding Contacts-->
|
||||||
<string name="add_contact_title">Добавить контакт поблизости</string>
|
<string name="add_contact_title">Добавление контакта поблизости</string>
|
||||||
<string name="add_contact_error_two_way">Просканировали ли вы QR-коды друг друга?</string>
|
<string name="add_contact_error_two_way">Просканировали ли вы QR-коды друг друга?</string>
|
||||||
<string name="face_to_face">Вы должны встретиться с человеком, которого хотите добавить в контакты.\n\nЭто не позволит кому-либо выдать себя за вас или читать ваши сообщения.</string>
|
<string name="face_to_face">Вы должны встретиться с человеком, которого хотите добавить в контакты.\n\nЭто не позволит кому-либо выдать себя за вас или читать ваши сообщения.</string>
|
||||||
<string name="continue_button">Продолжить</string>
|
<string name="continue_button">Продолжить</string>
|
||||||
@@ -259,9 +265,9 @@
|
|||||||
<string name="connection_error_feedback">Если эта проблема сохраняется, пожалуйста <a href="feedback">отправьте отзыв</a>, чтобы помочь нам улучшить приложение.</string>
|
<string name="connection_error_feedback">Если эта проблема сохраняется, пожалуйста <a href="feedback">отправьте отзыв</a>, чтобы помочь нам улучшить приложение.</string>
|
||||||
<string name="info_both_must_scan">Вы должны Просканировать QR-коды друг друга.</string>
|
<string name="info_both_must_scan">Вы должны Просканировать QR-коды друг друга.</string>
|
||||||
<!--Adding Contacts Remotely-->
|
<!--Adding Contacts Remotely-->
|
||||||
<string name="add_contact_remotely_title_case">Добавить контакт удаленно</string>
|
<string name="add_contact_remotely_title_case">Добавление контакта удаленно</string>
|
||||||
<string name="add_contact_nearby_title">Добавить контакт поблизости</string>
|
<string name="add_contact_nearby_title">Добавить контакт поблизости</string>
|
||||||
<string name="add_contact_remotely_title"> Добавить контакт удаленно</string>
|
<string name="add_contact_remotely_title"> Добавление контакта удаленно</string>
|
||||||
<string name="contact_link_intro">Введите ссылку от вашего контакта здесь</string>
|
<string name="contact_link_intro">Введите ссылку от вашего контакта здесь</string>
|
||||||
<string name="contact_link_hint">Ссылка контакта</string>
|
<string name="contact_link_hint">Ссылка контакта</string>
|
||||||
<string name="paste_button">Вставить</string>
|
<string name="paste_button">Вставить</string>
|
||||||
@@ -357,8 +363,8 @@
|
|||||||
<string name="connect_via_bluetooth_error">Не удалось подключиться через Bluetooth.</string>
|
<string name="connect_via_bluetooth_error">Не удалось подключиться через Bluetooth.</string>
|
||||||
<string name="connect_via_bluetooth_error_not_supported">Bluetooth не поддерживается устройством.</string>
|
<string name="connect_via_bluetooth_error_not_supported">Bluetooth не поддерживается устройством.</string>
|
||||||
<!--Private Groups-->
|
<!--Private Groups-->
|
||||||
<string name="groups_list_empty">Нет групп</string>
|
<string name="groups_list_empty">Нет групп для отображения</string>
|
||||||
<string name="groups_list_empty_action">Для создания группы нажмите значок + или попросите у контактов поделиться с вами группами</string>
|
<string name="groups_list_empty_action">Для создания группы нажмите значок + или попросите ваши контакты поделиться с вами группами</string>
|
||||||
<string name="groups_created_by">Создано %s</string>
|
<string name="groups_created_by">Создано %s</string>
|
||||||
<plurals name="messages">
|
<plurals name="messages">
|
||||||
<item quantity="one">%d сообщение</item>
|
<item quantity="one">%d сообщение</item>
|
||||||
@@ -415,13 +421,13 @@
|
|||||||
<string name="groups_reveal_visible_revealed_by_contact">Связь между контактами видна группе (открыта %s)</string>
|
<string name="groups_reveal_visible_revealed_by_contact">Связь между контактами видна группе (открыта %s)</string>
|
||||||
<string name="groups_reveal_invisible">Связь между контактами не видна группе</string>
|
<string name="groups_reveal_invisible">Связь между контактами не видна группе</string>
|
||||||
<!--Forums-->
|
<!--Forums-->
|
||||||
<string name="no_forums">Нет форумов</string>
|
<string name="no_forums">Нет форумов для отображения</string>
|
||||||
<string name="no_forums_action">Для создания форума нажмите значок + или попросите у контактов поделиться с вами форумами</string>
|
<string name="no_forums_action">Для создания форума нажмите значок + или попросите ваши контакты поделиться с вами форумами</string>
|
||||||
<string name="create_forum_title">Создать форум</string>
|
<string name="create_forum_title">Создать форум</string>
|
||||||
<string name="choose_forum_hint">Придумайте название вашего форума</string>
|
<string name="choose_forum_hint">Придумайте название вашего форума</string>
|
||||||
<string name="create_forum_button">Создать форум</string>
|
<string name="create_forum_button">Создать форум</string>
|
||||||
<string name="forum_created_toast">Форум создан</string>
|
<string name="forum_created_toast">Форум создан</string>
|
||||||
<string name="no_forum_posts">Нет постов</string>
|
<string name="no_forum_posts">Нет постов для отображения</string>
|
||||||
<string name="no_posts">Нет постов</string>
|
<string name="no_posts">Нет постов</string>
|
||||||
<plurals name="posts">
|
<plurals name="posts">
|
||||||
<item quantity="one">%d пост</item>
|
<item quantity="one">%d пост</item>
|
||||||
@@ -441,7 +447,7 @@
|
|||||||
<string name="forum_share_button">Поделиться форумом</string>
|
<string name="forum_share_button">Поделиться форумом</string>
|
||||||
<string name="contacts_selected">Выбранные контакты</string>
|
<string name="contacts_selected">Выбранные контакты</string>
|
||||||
<string name="activity_share_toolbar_header">Выберите контакты</string>
|
<string name="activity_share_toolbar_header">Выберите контакты</string>
|
||||||
<string name="no_contacts_selector">Нет контактов</string>
|
<string name="no_contacts_selector">Нет контактов для отображения</string>
|
||||||
<string name="no_contacts_selector_action">Пожалуйста, вернитесь сюда после добавления контакта</string>
|
<string name="no_contacts_selector_action">Пожалуйста, вернитесь сюда после добавления контакта</string>
|
||||||
<string name="forum_shared_snackbar">Поделиться форумом совместно с выбранными контактами</string>
|
<string name="forum_shared_snackbar">Поделиться форумом совместно с выбранными контактами</string>
|
||||||
<string name="forum_share_message">Добавить сообщение (необязательно)</string>
|
<string name="forum_share_message">Добавить сообщение (необязательно)</string>
|
||||||
@@ -474,7 +480,7 @@
|
|||||||
</plurals>
|
</plurals>
|
||||||
<string name="nobody">Никого</string>
|
<string name="nobody">Никого</string>
|
||||||
<!--Blogs-->
|
<!--Blogs-->
|
||||||
<string name="blogs_other_blog_empty_state">Нет постов</string>
|
<string name="blogs_other_blog_empty_state">Нет постов для отображения</string>
|
||||||
<string name="read_more">подробнее</string>
|
<string name="read_more">подробнее</string>
|
||||||
<string name="blogs_write_blog_post">Написать в блоге</string>
|
<string name="blogs_write_blog_post">Написать в блоге</string>
|
||||||
<string name="blogs_write_blog_post_body_hint">Напишите свой пост в блоге</string>
|
<string name="blogs_write_blog_post_body_hint">Напишите свой пост в блоге</string>
|
||||||
@@ -482,7 +488,7 @@
|
|||||||
<string name="blogs_blog_post_created">Пост создан</string>
|
<string name="blogs_blog_post_created">Пост создан</string>
|
||||||
<string name="blogs_blog_post_received">Появился новый пост в блоге</string>
|
<string name="blogs_blog_post_received">Появился новый пост в блоге</string>
|
||||||
<string name="blogs_blog_post_scroll_to">Перейти</string>
|
<string name="blogs_blog_post_scroll_to">Перейти</string>
|
||||||
<string name="blogs_feed_empty_state">Нет постов</string>
|
<string name="blogs_feed_empty_state">Нет постов для отображения</string>
|
||||||
<string name="blogs_feed_empty_state_action">Посты ваших контактов и блогов, на которые вы подписаны, появятся здесь\n\nНажмите значок пера, чтобы написать пост</string>
|
<string name="blogs_feed_empty_state_action">Посты ваших контактов и блогов, на которые вы подписаны, появятся здесь\n\nНажмите значок пера, чтобы написать пост</string>
|
||||||
<string name="blogs_remove_blog">Удалить блог</string>
|
<string name="blogs_remove_blog">Удалить блог</string>
|
||||||
<string name="blogs_remove_blog_dialog_message">Вы уверены, что хотите удалить этот блог?\n\nПосты будут удалены только с вашего устройства.\n\nВсе контакты, с которыми вы поделились этим блогом, могут перестать получать обновления.</string>
|
<string name="blogs_remove_blog_dialog_message">Вы уверены, что хотите удалить этот блог?\n\nПосты будут удалены только с вашего устройства.\n\nВсе контакты, с которыми вы поделились этим блогом, могут перестать получать обновления.</string>
|
||||||
@@ -520,7 +526,7 @@
|
|||||||
<string name="blogs_rss_remove_feed">Удалить RSS-ленту</string>
|
<string name="blogs_rss_remove_feed">Удалить RSS-ленту</string>
|
||||||
<string name="blogs_rss_remove_feed_dialog_message">Вы уверены, что хотите удалить эту ленту?\n\nПосты будут удалены только с вашего устройства.\n\nВсе контакты, с которыми вы поделились этой лентой, могут перестать получать обновления.</string>
|
<string name="blogs_rss_remove_feed_dialog_message">Вы уверены, что хотите удалить эту ленту?\n\nПосты будут удалены только с вашего устройства.\n\nВсе контакты, с которыми вы поделились этой лентой, могут перестать получать обновления.</string>
|
||||||
<string name="blogs_rss_remove_feed_ok">Удалить</string>
|
<string name="blogs_rss_remove_feed_ok">Удалить</string>
|
||||||
<string name="blogs_rss_feeds_manage_empty_state">Нет RSS-лент\n\nКоснитесь значка + для импорта ленты</string>
|
<string name="blogs_rss_feeds_manage_empty_state">Нет RSS-лент для отображения\n\nКоснитесь значка + для импорта ленты</string>
|
||||||
<string name="blogs_rss_feeds_manage_error">Ошибка при загрузке вашей ленты. Повторите попытку позже.</string>
|
<string name="blogs_rss_feeds_manage_error">Ошибка при загрузке вашей ленты. Повторите попытку позже.</string>
|
||||||
<!--Settings Profile Picture-->
|
<!--Settings Profile Picture-->
|
||||||
<string name="change_profile_picture">Нажмите, чтобы изменить изображение вашего профиля </string>
|
<string name="change_profile_picture">Нажмите, чтобы изменить изображение вашего профиля </string>
|
||||||
@@ -552,7 +558,7 @@
|
|||||||
<string name="tor_network_setting_summary">Автоматически: %1$s (%2$s)</string>
|
<string name="tor_network_setting_summary">Автоматически: %1$s (%2$s)</string>
|
||||||
<string name="tor_mobile_data_title">Использовать мобильные данные</string>
|
<string name="tor_mobile_data_title">Использовать мобильные данные</string>
|
||||||
<string name="tor_only_when_charging_title">Подключаться к интернету только во время зарядки</string>
|
<string name="tor_only_when_charging_title">Подключаться к интернету только во время зарядки</string>
|
||||||
<string name="tor_only_when_charging_summary">Подключение к интернету будет отключено при работе устройства от батареи</string>
|
<string name="tor_only_when_charging_summary">Отключение интернет-соединения, при работе устройства от батареи</string>
|
||||||
<!--Settings Security and Panic-->
|
<!--Settings Security and Panic-->
|
||||||
<string name="security_settings_title">Безопасность</string>
|
<string name="security_settings_title">Безопасность</string>
|
||||||
<string name="pref_lock_title">Блокировка приложения</string>
|
<string name="pref_lock_title">Блокировка приложения</string>
|
||||||
@@ -594,8 +600,8 @@
|
|||||||
<string name="purge_setting_summary">Удалить ваш аккаунт Briar при нажатии тревожной кнопки. Внимание: это необратимо удалит ваши идентификаторы, контакты и сообщения</string>
|
<string name="purge_setting_summary">Удалить ваш аккаунт Briar при нажатии тревожной кнопки. Внимание: это необратимо удалит ваши идентификаторы, контакты и сообщения</string>
|
||||||
<!--Settings Notifications-->
|
<!--Settings Notifications-->
|
||||||
<string name="notification_settings_title">Уведомления</string>
|
<string name="notification_settings_title">Уведомления</string>
|
||||||
<string name="notify_sign_in_title">Напоминать мне войти</string>
|
<string name="notify_sign_in_title">Напомнить мне войти</string>
|
||||||
<string name="notify_sign_in_summary">Показывать напоминание при запуске телефона или после обновления приложения.</string>
|
<string name="notify_sign_in_summary">Показывать напоминание при запуске телефона или обновлении приложения.</string>
|
||||||
<string name="notify_private_messages_setting_title">Личные сообщения</string>
|
<string name="notify_private_messages_setting_title">Личные сообщения</string>
|
||||||
<string name="notify_private_messages_setting_summary">Показывать оповещения для личных сообщений</string>
|
<string name="notify_private_messages_setting_summary">Показывать оповещения для личных сообщений</string>
|
||||||
<string name="notify_private_messages_setting_summary_26">Настройка оповещений для личных сообщений</string>
|
<string name="notify_private_messages_setting_summary_26">Настройка оповещений для личных сообщений</string>
|
||||||
@@ -617,10 +623,10 @@
|
|||||||
<!--Mailbox-->
|
<!--Mailbox-->
|
||||||
<string name="mailbox_settings_title">Mailbox</string>
|
<string name="mailbox_settings_title">Mailbox</string>
|
||||||
<string name="mailbox_setup_title">Настройка Mailbox</string>
|
<string name="mailbox_setup_title">Настройка Mailbox</string>
|
||||||
<string name="mailbox_setup_intro">Mailbox дает возможность вашим контактам отправлять вам сообщения, пока вы находитесь в оффлайн. Mailbox будет получать ваши сообщения и хранить их до тех пор, пока вы не подключитесь к сети.\n
|
<string name="mailbox_setup_intro">Mailbox позволяет вашим контактам отправлять вам сообщения, пока вы находитесь в автономном режиме. Mailbox будет получать ваши сообщения и хранить их до тех пор, пока вы не подключитесь к сети.\n
|
||||||
Вы можете установить приложение Briar Mailbox на запасное устройство. Держите его подключенным к питанию и Wi-Fi, чтобы оно всегда было в сети.</string>
|
\nВы можете установить приложение Briar Mailbox на запасное устройство. Чтобы устройство всегда находилось в сети, подключите его к питанию и Wi-Fi.</string>
|
||||||
<string name="mailbox_setup_download">Во-первых, установите приложение Mailbox на другое устройство, выполнив поиск \"Briar Mailbox\" в Google Play или там, откуда вы загрузили Briar.\n
|
<string name="mailbox_setup_download">Во-первых, установите приложение Mailbox на другое устройство, выполнив поиск \"Briar Mailbox\" в Google Play или там, откуда вы загрузили Briar.\n
|
||||||
\nЗатем свяжите Mailbox с Briar, сосканировав QR-код, показанный приложением Mailbox.</string>
|
\nЗатем свяжите ваш Mailbox с Briar, просканировав QR-код, показанный приложением Mailbox.</string>
|
||||||
<string name="mailbox_setup_download_link">Поделиться ссылкой на загрузку</string>
|
<string name="mailbox_setup_download_link">Поделиться ссылкой на загрузку</string>
|
||||||
<string name="mailbox_setup_button_scan">Сканирование QR-кода Mailbox</string>
|
<string name="mailbox_setup_button_scan">Сканирование QR-кода Mailbox</string>
|
||||||
<string name="permission_camera_qr_denied_body">Вы запретили доступ к камере, однако сканирование QR-кода требует использования камеры.\n\nПожалуйста, рассмотрите возможность предоставления доступа.</string>
|
<string name="permission_camera_qr_denied_body">Вы запретили доступ к камере, однако сканирование QR-кода требует использования камеры.\n\nПожалуйста, рассмотрите возможность предоставления доступа.</string>
|
||||||
@@ -715,8 +721,6 @@
|
|||||||
<string name="disappearing_messages_summary">Сделайте так, чтобы будущие сообщения в этом разговоре автоматически исчезали спустя 7\u00A0дней.</string>
|
<string name="disappearing_messages_summary">Сделайте так, чтобы будущие сообщения в этом разговоре автоматически исчезали спустя 7\u00A0дней.</string>
|
||||||
<!--Settings Actions-->
|
<!--Settings Actions-->
|
||||||
<string name="pref_category_actions">Действия</string>
|
<string name="pref_category_actions">Действия</string>
|
||||||
<string name="share_app_link">Поделиться ссылкой на загрузку</string>
|
|
||||||
<string name="share_app_link_text">Загрузить Briar на %s</string>
|
|
||||||
<string name="send_feedback">Отправить отзыв</string>
|
<string name="send_feedback">Отправить отзыв</string>
|
||||||
<!--Link Warning-->
|
<!--Link Warning-->
|
||||||
<string name="link_warning_title">Предупреждение о ссылке</string>
|
<string name="link_warning_title">Предупреждение о ссылке</string>
|
||||||
@@ -766,7 +770,6 @@
|
|||||||
<string name="permission_camera_title">Доступ к камере</string>
|
<string name="permission_camera_title">Доступ к камере</string>
|
||||||
<string name="permission_camera_request_body">Для сканирования QR-кода Briar необходим доступ к камере.</string>
|
<string name="permission_camera_request_body">Для сканирования QR-кода Briar необходим доступ к камере.</string>
|
||||||
<string name="permission_location_title">Доступ к местоположению</string>
|
<string name="permission_location_title">Доступ к местоположению</string>
|
||||||
<string name="permission_nearby_devices_title">Разрешение ближайших устройств</string>
|
|
||||||
<string name="permission_location_request_body">Для обнаружения Bluetooth-устройств, Briar требуется разрешение на доступ к вашему местоположению.\n\nBriar не хранит ваше местоположение и не делится им кем-либо еще.</string>
|
<string name="permission_location_request_body">Для обнаружения Bluetooth-устройств, Briar требуется разрешение на доступ к вашему местоположению.\n\nBriar не хранит ваше местоположение и не делится им кем-либо еще.</string>
|
||||||
<string name="permission_camera_location_title">Камера и местоположение</string>
|
<string name="permission_camera_location_title">Камера и местоположение</string>
|
||||||
<string name="permission_camera_location_request_body">Для сканирования QR-кода Briar необходим доступ к камере.\n\nДля обнаружения Bluetooth-устройств, Briar требуется разрешение на доступ к вашему местоположению.\n\nBriar не хранит ваше местоположение и не делится им кем-либо еще.</string>
|
<string name="permission_camera_location_request_body">Для сканирования QR-кода Briar необходим доступ к камере.\n\nДля обнаружения Bluetooth-устройств, Briar требуется разрешение на доступ к вашему местоположению.\n\nBriar не хранит ваше местоположение и не делится им кем-либо еще.</string>
|
||||||
@@ -806,8 +809,6 @@
|
|||||||
<string name="permission_hotspot_location_request_precise_body">Для создания точки доступа Wi-Fi Briar необходимо разрешение на доступ к вашему точному местоположению.\n\nBriar не хранит ваше местоположение и не передает его кому-либо.</string>
|
<string name="permission_hotspot_location_request_precise_body">Для создания точки доступа Wi-Fi Briar необходимо разрешение на доступ к вашему точному местоположению.\n\nBriar не хранит ваше местоположение и не передает его кому-либо.</string>
|
||||||
<string name="permission_hotspot_location_denied_body">Доступ к местоположению запрещен, но Briar необходимо это разрешение для создания точки доступа Wi-Fi.\n\nРассмотрите возможность предоставления доступа.</string>
|
<string name="permission_hotspot_location_denied_body">Доступ к местоположению запрещен, но Briar необходимо это разрешение для создания точки доступа Wi-Fi.\n\nРассмотрите возможность предоставления доступа.</string>
|
||||||
<string name="permission_hotspot_location_denied_precise_body">Доступ к точному местоположению запрещен, но Briar необходимо это разрешение для создания точки доступа Wi-Fi.\n\nРассмотрите возможность предоставления доступа.</string>
|
<string name="permission_hotspot_location_denied_precise_body">Доступ к точному местоположению запрещен, но Briar необходимо это разрешение для создания точки доступа Wi-Fi.\n\nРассмотрите возможность предоставления доступа.</string>
|
||||||
<string name="permission_hotspot_nearby_wifi_request_body">Чтобы создать точку доступа Wi-Fi, Briar необходимо получить разрешение на доступ к ближайшим устройствам.</string>
|
|
||||||
<string name="permission_hotspot_nearby_wifi_denied_body">Вы запретили доступ ближайшим устройствам, однако Briar необходимо это разрешение для создания точки доступа Wi-Fi.\n\nПожалуйста, рассмотрите возможность предоставления доступа.</string>
|
|
||||||
<string name="wifi_settings_title">Настройка Wi-Fi</string>
|
<string name="wifi_settings_title">Настройка Wi-Fi</string>
|
||||||
<string name="wifi_settings_request_enable_body">Чтобы создать точку доступа Wi-Fi, Briar должен использовать Wi-Fi. Пожалуйста, включите его.</string>
|
<string name="wifi_settings_request_enable_body">Чтобы создать точку доступа Wi-Fi, Briar должен использовать Wi-Fi. Пожалуйста, включите его.</string>
|
||||||
<string name="hotspot_tab_manual">Вручную</string>
|
<string name="hotspot_tab_manual">Вручную</string>
|
||||||
|
|||||||
@@ -716,8 +716,6 @@
|
|||||||
<string name="disappearing_messages_summary">Nastaviť, aby budúce správy v tejto konverzácii automaticky zmizli po 7\u00A0dňoch.</string>
|
<string name="disappearing_messages_summary">Nastaviť, aby budúce správy v tejto konverzácii automaticky zmizli po 7\u00A0dňoch.</string>
|
||||||
<!--Settings Actions-->
|
<!--Settings Actions-->
|
||||||
<string name="pref_category_actions">Akcie</string>
|
<string name="pref_category_actions">Akcie</string>
|
||||||
<string name="share_app_link">Zdieľať odkaz na stiahnutie</string>
|
|
||||||
<string name="share_app_link_text">Stiahnuť Briar na %s</string>
|
|
||||||
<string name="send_feedback">Odoslať spätnú väzbu</string>
|
<string name="send_feedback">Odoslať spätnú väzbu</string>
|
||||||
<!--Link Warning-->
|
<!--Link Warning-->
|
||||||
<string name="link_warning_title">Varovanie o odkaze</string>
|
<string name="link_warning_title">Varovanie o odkaze</string>
|
||||||
@@ -767,7 +765,6 @@
|
|||||||
<string name="permission_camera_title">Povolenie na používanie kamery</string>
|
<string name="permission_camera_title">Povolenie na používanie kamery</string>
|
||||||
<string name="permission_camera_request_body">Na naskenovanie QR kódu potrebuje Briar prístup ku kamere.</string>
|
<string name="permission_camera_request_body">Na naskenovanie QR kódu potrebuje Briar prístup ku kamere.</string>
|
||||||
<string name="permission_location_title">Povolenie na určenie polohy</string>
|
<string name="permission_location_title">Povolenie na určenie polohy</string>
|
||||||
<string name="permission_nearby_devices_title">Povolenie pre blízke zariadenia</string>
|
|
||||||
<string name="permission_location_request_body">Na zistenie zariadení Bluetooth potrebuje Briar povolenie na prístup k vašej polohe.\n\nBriar neukladá vašu polohu ani ju s nikým nezdieľa.</string>
|
<string name="permission_location_request_body">Na zistenie zariadení Bluetooth potrebuje Briar povolenie na prístup k vašej polohe.\n\nBriar neukladá vašu polohu ani ju s nikým nezdieľa.</string>
|
||||||
<string name="permission_camera_location_title">Kamera a poloha</string>
|
<string name="permission_camera_location_title">Kamera a poloha</string>
|
||||||
<string name="permission_camera_location_request_body">Na skenovanie QR kódu potrebuje Briar prístup ku kamere.\n\nNa zistenie zariadení Bluetooth potrebuje Briar povolenie na prístup k vašej polohe.\n\nBriar neukladá vašu polohu ani ju s nikým nezdieľa.</string>
|
<string name="permission_camera_location_request_body">Na skenovanie QR kódu potrebuje Briar prístup ku kamere.\n\nNa zistenie zariadení Bluetooth potrebuje Briar povolenie na prístup k vašej polohe.\n\nBriar neukladá vašu polohu ani ju s nikým nezdieľa.</string>
|
||||||
@@ -807,8 +804,6 @@
|
|||||||
<string name="permission_hotspot_location_request_precise_body">Na vytvorenie prístupového bodu Wi-Fi potrebuje Briar povolenie na prístup k vašej presnej polohe.\n\nBriar neukladá vašu polohu ani ju s nikým nezdieľa.</string>
|
<string name="permission_hotspot_location_request_precise_body">Na vytvorenie prístupového bodu Wi-Fi potrebuje Briar povolenie na prístup k vašej presnej polohe.\n\nBriar neukladá vašu polohu ani ju s nikým nezdieľa.</string>
|
||||||
<string name="permission_hotspot_location_denied_body">Odmietli ste prístup k svojej polohe, ale Briar potrebuje toto povolenie na vytvorenie prístupového bodu Wi-Fi.\n\nProsím, zvážte udelenie prístupu.</string>
|
<string name="permission_hotspot_location_denied_body">Odmietli ste prístup k svojej polohe, ale Briar potrebuje toto povolenie na vytvorenie prístupového bodu Wi-Fi.\n\nProsím, zvážte udelenie prístupu.</string>
|
||||||
<string name="permission_hotspot_location_denied_precise_body">Odmietli ste prístup k presnej polohe, ale Briar potrebuje toto povolenie na vytvorenie prístupového bodu Wi-Fi.\n\nProsím, zvážte udelenie prístupu.</string>
|
<string name="permission_hotspot_location_denied_precise_body">Odmietli ste prístup k presnej polohe, ale Briar potrebuje toto povolenie na vytvorenie prístupového bodu Wi-Fi.\n\nProsím, zvážte udelenie prístupu.</string>
|
||||||
<string name="permission_hotspot_nearby_wifi_request_body">Na vytvorenie Wi-Fi prístupového bodu potrebuje aplikácia Briar povolenie na prístup k okolitým zariadeniam.</string>
|
|
||||||
<string name="permission_hotspot_nearby_wifi_denied_body">Odmietli ste prístup k okolitým zariadeniam, ale Briar potrebuje toto povolenie na vytvorenie prístupového bodu Wi-Fi.\n\nProsíme, zvážte udelenie prístupu.</string>
|
|
||||||
<string name="wifi_settings_title">Nastavenie Wi-Fi</string>
|
<string name="wifi_settings_title">Nastavenie Wi-Fi</string>
|
||||||
<string name="wifi_settings_request_enable_body">Ak chcete vytvoriť prístupový bod Wi-Fi, zariadenie Briar musí používať Wi-Fi. Povoľte ho.</string>
|
<string name="wifi_settings_request_enable_body">Ak chcete vytvoriť prístupový bod Wi-Fi, zariadenie Briar musí používať Wi-Fi. Povoľte ho.</string>
|
||||||
<string name="hotspot_tab_manual">Manuálne</string>
|
<string name="hotspot_tab_manual">Manuálne</string>
|
||||||
|
|||||||
@@ -152,7 +152,6 @@ Vänlige installera Briar på en nyare enhet.</string>
|
|||||||
<string name="error_start_activity">Otillgänglig på ditt system</string>
|
<string name="error_start_activity">Otillgänglig på ditt system</string>
|
||||||
<string name="status_heading">Status</string>
|
<string name="status_heading">Status</string>
|
||||||
<string name="error">Fel</string>
|
<string name="error">Fel</string>
|
||||||
<string name="info">Information</string>
|
|
||||||
<!--Contacts and Private Conversations-->
|
<!--Contacts and Private Conversations-->
|
||||||
<string name="no_contacts">Inga kontakter</string>
|
<string name="no_contacts">Inga kontakter</string>
|
||||||
<string name="no_contacts_action">Tryck på plus-ikonen (+) för att lägga till en kontakt</string>
|
<string name="no_contacts_action">Tryck på plus-ikonen (+) för att lägga till en kontakt</string>
|
||||||
@@ -223,7 +222,6 @@ Vänlige installera Briar på en nyare enhet.</string>
|
|||||||
<string name="menu_contact">Kontakt</string>
|
<string name="menu_contact">Kontakt</string>
|
||||||
<!--Adding Contacts-->
|
<!--Adding Contacts-->
|
||||||
<string name="add_contact_title">Lägg till en närvarande kontakt</string>
|
<string name="add_contact_title">Lägg till en närvarande kontakt</string>
|
||||||
<string name="add_contact_error_two_way">Skannade ni båda varandras QR-koder?</string>
|
|
||||||
<string name="face_to_face">Du måste personligen träffa den som du vill lägga till som kontakt.\n\nDetta för att undvika att någon senare låtsas vara du eller läser dina meddelanden.</string>
|
<string name="face_to_face">Du måste personligen träffa den som du vill lägga till som kontakt.\n\nDetta för att undvika att någon senare låtsas vara du eller läser dina meddelanden.</string>
|
||||||
<string name="continue_button">Fortsätt</string>
|
<string name="continue_button">Fortsätt</string>
|
||||||
<string name="try_again_button">Försök igen</string>
|
<string name="try_again_button">Försök igen</string>
|
||||||
@@ -231,11 +229,9 @@ Vänlige installera Briar på en nyare enhet.</string>
|
|||||||
<string name="exchanging_contact_details">Utbyter detaljer om kontakten\u2026</string>
|
<string name="exchanging_contact_details">Utbyter detaljer om kontakten\u2026</string>
|
||||||
<string name="contact_added_toast">Kontakt tillagd: %s</string>
|
<string name="contact_added_toast">Kontakt tillagd: %s</string>
|
||||||
<string name="contact_already_exists">Kontakten %s finns redan</string>
|
<string name="contact_already_exists">Kontakten %s finns redan</string>
|
||||||
<string name="contact_already_exists_general">Kontakten finns redan</string>
|
|
||||||
<string name="qr_code_invalid">QR-koden är felaktig</string>
|
<string name="qr_code_invalid">QR-koden är felaktig</string>
|
||||||
<string name="qr_code_too_old_1">QR-koden som du har skannat kommer från en äldre version av Briar.\n\nVar vänlig och be din kontakt att uppgradera till den senaste versionen och försök sedan igen.</string>
|
<string name="qr_code_too_old_1">QR-koden som du har skannat kommer från en äldre version av Briar.\n\nVar vänlig och be din kontakt att uppgradera till den senaste versionen och försök sedan igen.</string>
|
||||||
<string name="qr_code_too_new_1">QR-koden som du har skannat kommer från en äldre version av Briar.\n\nVänligen uppgradera till den senaste versionen och försök igen.</string>
|
<string name="qr_code_too_new_1">QR-koden som du har skannat kommer från en äldre version av Briar.\n\nVänligen uppgradera till den senaste versionen och försök igen.</string>
|
||||||
<string name="mailbox_qr_code_for_contact">QR-koden du skannade kommer från Briar Mailbox.\n\nOm du vill länka en Mailbox, välj Inställningar > Mailbox från Briar-menyn.</string>
|
|
||||||
<string name="camera_error">Kamerafel</string>
|
<string name="camera_error">Kamerafel</string>
|
||||||
<string name="connecting_to_device">Ansluter till enhet\u2026</string>
|
<string name="connecting_to_device">Ansluter till enhet\u2026</string>
|
||||||
<string name="authenticating_with_device">Autentiserar med enhet\u2026</string>
|
<string name="authenticating_with_device">Autentiserar med enhet\u2026</string>
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -474,7 +474,7 @@
|
|||||||
<string name="blogs_rss_feeds_import_progress">导入 RSS 订阅源中…</string>
|
<string name="blogs_rss_feeds_import_progress">导入 RSS 订阅源中…</string>
|
||||||
<string name="blogs_rss_feeds_import_error">抱歉!导入订阅源时发生错误。</string>
|
<string name="blogs_rss_feeds_import_error">抱歉!导入订阅源时发生错误。</string>
|
||||||
<string name="blogs_rss_feeds_import_title">从文件导入源</string>
|
<string name="blogs_rss_feeds_import_title">从文件导入源</string>
|
||||||
<string name="blogs_rss_feeds">RSS 源 </string>
|
<string name="blogs_rss_feeds">RSS源 </string>
|
||||||
<string name="blogs_rss_feeds_manage_imported">已导入:</string>
|
<string name="blogs_rss_feeds_manage_imported">已导入:</string>
|
||||||
<string name="blogs_rss_feeds_manage_author">作者:</string>
|
<string name="blogs_rss_feeds_manage_author">作者:</string>
|
||||||
<string name="blogs_rss_feeds_manage_updated">最后更新于:</string>
|
<string name="blogs_rss_feeds_manage_updated">最后更新于:</string>
|
||||||
@@ -676,8 +676,6 @@
|
|||||||
<string name="disappearing_messages_summary">在7\u00A0天之后,使此对话中的后续消息自动消失。</string>
|
<string name="disappearing_messages_summary">在7\u00A0天之后,使此对话中的后续消息自动消失。</string>
|
||||||
<!--Settings Actions-->
|
<!--Settings Actions-->
|
||||||
<string name="pref_category_actions">操作</string>
|
<string name="pref_category_actions">操作</string>
|
||||||
<string name="share_app_link">分享下载链接</string>
|
|
||||||
<string name="share_app_link_text">Briar 下载地址 %s</string>
|
|
||||||
<string name="send_feedback">提交反馈</string>
|
<string name="send_feedback">提交反馈</string>
|
||||||
<!--Link Warning-->
|
<!--Link Warning-->
|
||||||
<string name="link_warning_title">链接警告</string>
|
<string name="link_warning_title">链接警告</string>
|
||||||
@@ -727,7 +725,6 @@
|
|||||||
<string name="permission_camera_title">相机权限</string>
|
<string name="permission_camera_title">相机权限</string>
|
||||||
<string name="permission_camera_request_body">Briar 需要获得相机权限以扫描二维码。</string>
|
<string name="permission_camera_request_body">Briar 需要获得相机权限以扫描二维码。</string>
|
||||||
<string name="permission_location_title">位置权限</string>
|
<string name="permission_location_title">位置权限</string>
|
||||||
<string name="permission_nearby_devices_title">“附近设备”权限</string>
|
|
||||||
<string name="permission_location_request_body">Briar 需要位置信息权限以发现蓝牙设备。\n\nBriar 不会存储您的位置或将它分享给任何人。</string>
|
<string name="permission_location_request_body">Briar 需要位置信息权限以发现蓝牙设备。\n\nBriar 不会存储您的位置或将它分享给任何人。</string>
|
||||||
<string name="permission_camera_location_title">相机和位置</string>
|
<string name="permission_camera_location_title">相机和位置</string>
|
||||||
<string name="permission_camera_location_request_body"> Briar 需要相机权限以扫描二维码。\n\nBriar 需要位置信息权限以发现蓝牙设备。\n\nBriar 不会存储您的位置或将它分享给任何人。</string>
|
<string name="permission_camera_location_request_body"> Briar 需要相机权限以扫描二维码。\n\nBriar 需要位置信息权限以发现蓝牙设备。\n\nBriar 不会存储您的位置或将它分享给任何人。</string>
|
||||||
@@ -767,8 +764,6 @@
|
|||||||
<string name="permission_hotspot_location_request_precise_body">要创建无线热点,Briar 需要访问你的精确位置。\n\nBriar 不会储存你的位置也不会和任何人分享它。</string>
|
<string name="permission_hotspot_location_request_precise_body">要创建无线热点,Briar 需要访问你的精确位置。\n\nBriar 不会储存你的位置也不会和任何人分享它。</string>
|
||||||
<string name="permission_hotspot_location_denied_body">你拒绝了访问你的位置,但 Briar 需要这个权限才能创建 Wi-Fi 热点。\n\n请考虑授予访问权限。</string>
|
<string name="permission_hotspot_location_denied_body">你拒绝了访问你的位置,但 Briar 需要这个权限才能创建 Wi-Fi 热点。\n\n请考虑授予访问权限。</string>
|
||||||
<string name="permission_hotspot_location_denied_precise_body">你拒绝了 Briar 访问你的精确位置,但 Briar 需要这个权限才能创建 无线热点。\n\n请考虑授予访问权限。</string>
|
<string name="permission_hotspot_location_denied_precise_body">你拒绝了 Briar 访问你的精确位置,但 Briar 需要这个权限才能创建 无线热点。\n\n请考虑授予访问权限。</string>
|
||||||
<string name="permission_hotspot_nearby_wifi_request_body">要创建 Wi-FI 热点,Briar 需要访问附近设备的权限。</string>
|
|
||||||
<string name="permission_hotspot_nearby_wifi_denied_body">你已拒绝对附近设备的访问,但 Briar 需要此权限在创建 Wi-FI 热点。\n\n请考虑授予权限。</string>
|
|
||||||
<string name="wifi_settings_title">Wi-Fi 设置</string>
|
<string name="wifi_settings_title">Wi-Fi 设置</string>
|
||||||
<string name="wifi_settings_request_enable_body">要创建 Wi-Fi 热点,Briar 需要使用 Wi-Fi。请允许它。</string>
|
<string name="wifi_settings_request_enable_body">要创建 Wi-Fi 热点,Briar 需要使用 Wi-Fi。请允许它。</string>
|
||||||
<string name="hotspot_tab_manual">手动</string>
|
<string name="hotspot_tab_manual">手动</string>
|
||||||
|
|||||||
@@ -1,201 +1,201 @@
|
|||||||
dependencyVerification {
|
dependencyVerification {
|
||||||
verify = [
|
verify = [
|
||||||
'androidx.activity:activity-ktx:1.2.2:activity-ktx-1.2.2.aar:9829e13d6a6b045b03b21a330512e091dc76eb5b3ded0d88d1ab0509cf84a50e',
|
'androidx.activity:activity-ktx:1.2.2:activity-ktx-1.2.2.aar:9829e13d6a6b045b03b21a330512e091dc76eb5b3ded0d88d1ab0509cf84a50e',
|
||||||
'androidx.activity:activity-ktx:1.2.3:activity-ktx-1.2.3.aar:423c0226e237e08de245cf66f8ccaf103854bc19a584d971a4a075fd15d70df1',
|
'androidx.activity:activity-ktx:1.2.3:activity-ktx-1.2.3.aar:423c0226e237e08de245cf66f8ccaf103854bc19a584d971a4a075fd15d70df1',
|
||||||
'androidx.activity:activity:1.5.1:activity-1.5.1.aar:4b04b42d2c1f81c02faf0f7b6e9cc9fede10fdee8f66136cd4b99f88e8f48c0f',
|
'androidx.activity:activity:1.5.1:activity-1.5.1.aar:4b04b42d2c1f81c02faf0f7b6e9cc9fede10fdee8f66136cd4b99f88e8f48c0f',
|
||||||
'androidx.annotation:annotation-experimental:1.1.0:annotation-experimental-1.1.0.aar:0157de61a2064047896a058080f3fd67ba57ad9a94857b3f7a363660243e3f90',
|
'androidx.annotation:annotation-experimental:1.1.0:annotation-experimental-1.1.0.aar:0157de61a2064047896a058080f3fd67ba57ad9a94857b3f7a363660243e3f90',
|
||||||
'androidx.annotation:annotation:1.5.0:annotation-1.5.0.jar:261fb7c0210858500bab66d34354972a75166ab4182add283780b05513d6ec4a',
|
'androidx.annotation:annotation:1.5.0:annotation-1.5.0.jar:261fb7c0210858500bab66d34354972a75166ab4182add283780b05513d6ec4a',
|
||||||
'androidx.appcompat:appcompat-resources:1.5.0:appcompat-resources-1.5.0.aar:34511f11765eb4dfb61e7b3285019b6488b10f6a9093b028aa108ca0d33fc8c5',
|
'androidx.appcompat:appcompat-resources:1.5.0:appcompat-resources-1.5.0.aar:34511f11765eb4dfb61e7b3285019b6488b10f6a9093b028aa108ca0d33fc8c5',
|
||||||
'androidx.appcompat:appcompat:1.5.0:appcompat-1.5.0.aar:ee3c914528409787069d9ee903243dac0204a09f9119c4f0aa1a2aa92188acac',
|
'androidx.appcompat:appcompat:1.5.0:appcompat-1.5.0.aar:ee3c914528409787069d9ee903243dac0204a09f9119c4f0aa1a2aa92188acac',
|
||||||
'androidx.arch.core:core-common:2.1.0:core-common-2.1.0.jar:fe1237bf029d063e7f29fe39aeaf73ef74c8b0a3658486fc29d3c54326653889',
|
'androidx.arch.core:core-common:2.1.0:core-common-2.1.0.jar:fe1237bf029d063e7f29fe39aeaf73ef74c8b0a3658486fc29d3c54326653889',
|
||||||
'androidx.arch.core:core-runtime:2.1.0:core-runtime-2.1.0.aar:dd77615bd3dd275afb11b62df25bae46b10b4a117cd37943af45bdcbf8755852',
|
'androidx.arch.core:core-runtime:2.1.0:core-runtime-2.1.0.aar:dd77615bd3dd275afb11b62df25bae46b10b4a117cd37943af45bdcbf8755852',
|
||||||
'androidx.arch.core:core-testing:2.1.0:core-testing-2.1.0.aar:c57ffade2a9a844bd62b4f4c3916fad5e09e9f24cceba27e932c25bb7a6d1d8f',
|
'androidx.arch.core:core-testing:2.1.0:core-testing-2.1.0.aar:c57ffade2a9a844bd62b4f4c3916fad5e09e9f24cceba27e932c25bb7a6d1d8f',
|
||||||
'androidx.cardview:cardview:1.0.0:cardview-1.0.0.aar:1193c04c22a3d6b5946dae9f4e8c59d6adde6a71b6bd5d87fb99d82dda1afec7',
|
'androidx.cardview:cardview:1.0.0:cardview-1.0.0.aar:1193c04c22a3d6b5946dae9f4e8c59d6adde6a71b6bd5d87fb99d82dda1afec7',
|
||||||
'androidx.collection:collection-ktx:1.1.0:collection-ktx-1.1.0.jar:2bfc54475c047131913361f56d0f7f019c6e5bee53eeb0eb7d94a7c499a05227',
|
'androidx.collection:collection-ktx:1.1.0:collection-ktx-1.1.0.jar:2bfc54475c047131913361f56d0f7f019c6e5bee53eeb0eb7d94a7c499a05227',
|
||||||
'androidx.collection:collection:1.1.0:collection-1.1.0.jar:632a0e5407461de774409352940e292a291037724207a787820c77daf7d33b72',
|
'androidx.collection:collection:1.1.0:collection-1.1.0.jar:632a0e5407461de774409352940e292a291037724207a787820c77daf7d33b72',
|
||||||
'androidx.concurrent:concurrent-futures:1.0.0:concurrent-futures-1.0.0.jar:5595a40e278a7b39fa78a09490e3d7f3faa95c7b01447148bd38b5ade0605c35',
|
'androidx.concurrent:concurrent-futures:1.0.0:concurrent-futures-1.0.0.jar:5595a40e278a7b39fa78a09490e3d7f3faa95c7b01447148bd38b5ade0605c35',
|
||||||
'androidx.concurrent:concurrent-futures:1.1.0:concurrent-futures-1.1.0.jar:0ce067c514a0d1049d1bebdf709e344ed3266fe9744275682937cdcb13334e9e',
|
'androidx.concurrent:concurrent-futures:1.1.0:concurrent-futures-1.1.0.jar:0ce067c514a0d1049d1bebdf709e344ed3266fe9744275682937cdcb13334e9e',
|
||||||
'androidx.constraintlayout:constraintlayout-core:1.0.4:constraintlayout-core-1.0.4.jar:3e477f4de231e58b25f5a992f3be45e97d332c34a39a9e3e7d4b78ae0ac2256f',
|
'androidx.constraintlayout:constraintlayout-core:1.0.4:constraintlayout-core-1.0.4.jar:3e477f4de231e58b25f5a992f3be45e97d332c34a39a9e3e7d4b78ae0ac2256f',
|
||||||
'androidx.constraintlayout:constraintlayout:2.1.4:constraintlayout-2.1.4.aar:0df714c0b51e54710ebf746eb469d333176bbb3cb29f80775dc3ca4eb3162512',
|
'androidx.constraintlayout:constraintlayout:2.1.4:constraintlayout-2.1.4.aar:0df714c0b51e54710ebf746eb469d333176bbb3cb29f80775dc3ca4eb3162512',
|
||||||
'androidx.coordinatorlayout:coordinatorlayout:1.1.0:coordinatorlayout-1.1.0.aar:44a9e30abf56af1025c52a0af506fee9c4131aa55efda52f9fd9451211c5e8cb',
|
'androidx.coordinatorlayout:coordinatorlayout:1.1.0:coordinatorlayout-1.1.0.aar:44a9e30abf56af1025c52a0af506fee9c4131aa55efda52f9fd9451211c5e8cb',
|
||||||
'androidx.core:core-ktx:1.8.0:core-ktx-1.8.0.aar:1790bb9b0b3efe6a27fb1ba3a3530b0b9aa6654e58bf8a9ef783f767e50d31b4',
|
'androidx.core:core-ktx:1.8.0:core-ktx-1.8.0.aar:1790bb9b0b3efe6a27fb1ba3a3530b0b9aa6654e58bf8a9ef783f767e50d31b4',
|
||||||
'androidx.core:core:1.8.0:core-1.8.0.aar:48c64a15ec3eb11bfb33339e5ceb70ec7f821bd2dfa2eb8675ebd5353317e792',
|
'androidx.core:core:1.8.0:core-1.8.0.aar:48c64a15ec3eb11bfb33339e5ceb70ec7f821bd2dfa2eb8675ebd5353317e792',
|
||||||
'androidx.cursoradapter:cursoradapter:1.0.0:cursoradapter-1.0.0.aar:a81c8fe78815fa47df5b749deb52727ad11f9397da58b16017f4eb2c11e28564',
|
'androidx.cursoradapter:cursoradapter:1.0.0:cursoradapter-1.0.0.aar:a81c8fe78815fa47df5b749deb52727ad11f9397da58b16017f4eb2c11e28564',
|
||||||
'androidx.customview:customview:1.1.0:customview-1.1.0.aar:01f76ab043770a97b054046f9815717b82ce0355c02967d16c61981359dc189a',
|
'androidx.customview:customview:1.1.0:customview-1.1.0.aar:01f76ab043770a97b054046f9815717b82ce0355c02967d16c61981359dc189a',
|
||||||
'androidx.documentfile:documentfile:1.0.0:documentfile-1.0.0.aar:865a061ef2fad16522f8433536b8d47208c46ff7c7745197dfa1eeb481869487',
|
'androidx.documentfile:documentfile:1.0.0:documentfile-1.0.0.aar:865a061ef2fad16522f8433536b8d47208c46ff7c7745197dfa1eeb481869487',
|
||||||
'androidx.drawerlayout:drawerlayout:1.1.1:drawerlayout-1.1.1.aar:2c5f0dca378eb78ca2c4403f9889c77daa3059302260f26a07fe9f63c08926fe',
|
'androidx.drawerlayout:drawerlayout:1.1.1:drawerlayout-1.1.1.aar:2c5f0dca378eb78ca2c4403f9889c77daa3059302260f26a07fe9f63c08926fe',
|
||||||
'androidx.dynamicanimation:dynamicanimation:1.0.0:dynamicanimation-1.0.0.aar:ce005162c229bf308d2d5b12fb6cad0874069cbbeaccee63a8193bd08d40de04',
|
'androidx.dynamicanimation:dynamicanimation:1.0.0:dynamicanimation-1.0.0.aar:ce005162c229bf308d2d5b12fb6cad0874069cbbeaccee63a8193bd08d40de04',
|
||||||
'androidx.emoji2:emoji2-views-helper:1.2.0:emoji2-views-helper-1.2.0.aar:7ffa4d464d9db259fca0cdb50fbd4ab63d6872bcda59468b9f7555504c7d5ac4',
|
'androidx.emoji2:emoji2-views-helper:1.2.0:emoji2-views-helper-1.2.0.aar:7ffa4d464d9db259fca0cdb50fbd4ab63d6872bcda59468b9f7555504c7d5ac4',
|
||||||
'androidx.emoji2:emoji2:1.2.0:emoji2-1.2.0.aar:f31a06c150ecb03073f55a6f7b0b74a240a6a8d727c14ce76726d020570dfa8c',
|
'androidx.emoji2:emoji2:1.2.0:emoji2-1.2.0.aar:f31a06c150ecb03073f55a6f7b0b74a240a6a8d727c14ce76726d020570dfa8c',
|
||||||
'androidx.exifinterface:exifinterface:1.3.6:exifinterface-1.3.6.aar:1804105e9e05fdd8f760413bad5de498c381aa329f4f9d94c851bc891ac654c6',
|
'androidx.exifinterface:exifinterface:1.3.6:exifinterface-1.3.6.aar:1804105e9e05fdd8f760413bad5de498c381aa329f4f9d94c851bc891ac654c6',
|
||||||
'androidx.fragment:fragment-ktx:1.3.6:fragment-ktx-1.3.6.aar:3f84a013fdeb8bac92d4ab607aebf39a4ff945f4585a635960ed769cd0255df1',
|
'androidx.fragment:fragment-ktx:1.3.6:fragment-ktx-1.3.6.aar:3f84a013fdeb8bac92d4ab607aebf39a4ff945f4585a635960ed769cd0255df1',
|
||||||
'androidx.fragment:fragment-ktx:1.4.0:fragment-ktx-1.4.0.aar:439873b250461eb2245e393fe6683dceb567e7a18d9d6cf4538de9befa4ed1b0',
|
'androidx.fragment:fragment-ktx:1.4.0:fragment-ktx-1.4.0.aar:439873b250461eb2245e393fe6683dceb567e7a18d9d6cf4538de9befa4ed1b0',
|
||||||
'androidx.fragment:fragment-testing:1.4.0:fragment-testing-1.4.0.aar:1f874b83919c69f2e0df6de0ba2ad87a0d61cc7840d90b481ee0d4db85c2385b',
|
'androidx.fragment:fragment-testing:1.4.0:fragment-testing-1.4.0.aar:1f874b83919c69f2e0df6de0ba2ad87a0d61cc7840d90b481ee0d4db85c2385b',
|
||||||
'androidx.fragment:fragment:1.5.5:fragment-1.5.5.aar:e0a3174fed034556addf6d5beab068cf6b1e2da9db55ea512ba45cdb755c82a3',
|
'androidx.fragment:fragment:1.5.5:fragment-1.5.5.aar:e0a3174fed034556addf6d5beab068cf6b1e2da9db55ea512ba45cdb755c82a3',
|
||||||
'androidx.interpolator:interpolator:1.0.0:interpolator-1.0.0.aar:33193135a64fe21fa2c35eec6688f1a76e512606c0fc83dc1b689e37add7732a',
|
'androidx.interpolator:interpolator:1.0.0:interpolator-1.0.0.aar:33193135a64fe21fa2c35eec6688f1a76e512606c0fc83dc1b689e37add7732a',
|
||||||
'androidx.legacy:legacy-support-core-utils:1.0.0:legacy-support-core-utils-1.0.0.aar:a7edcf01d5b52b3034073027bc4775b78a4764bb6202bb91d61c829add8dd1c7',
|
'androidx.legacy:legacy-support-core-utils:1.0.0:legacy-support-core-utils-1.0.0.aar:a7edcf01d5b52b3034073027bc4775b78a4764bb6202bb91d61c829add8dd1c7',
|
||||||
'androidx.lifecycle:lifecycle-common:2.5.1:lifecycle-common-2.5.1.jar:20ad1520f625cf455e6afd7290988306d3a9886efa993e0860fbabf4bb3f7bda',
|
'androidx.lifecycle:lifecycle-common:2.5.1:lifecycle-common-2.5.1.jar:20ad1520f625cf455e6afd7290988306d3a9886efa993e0860fbabf4bb3f7bda',
|
||||||
'androidx.lifecycle:lifecycle-extensions:2.2.0:lifecycle-extensions-2.2.0.aar:648c8de1d10b025d524a2e46ac994fc3f6bf186826c09ec1a62d250bf1b877ae',
|
'androidx.lifecycle:lifecycle-extensions:2.2.0:lifecycle-extensions-2.2.0.aar:648c8de1d10b025d524a2e46ac994fc3f6bf186826c09ec1a62d250bf1b877ae',
|
||||||
'androidx.lifecycle:lifecycle-livedata-core-ktx:2.3.1:lifecycle-livedata-core-ktx-2.3.1.aar:6dd41c3c33daeb503fd87fbfff7043adb0be6c541a9c9e09bf531ca49520fddb',
|
'androidx.lifecycle:lifecycle-livedata-core-ktx:2.3.1:lifecycle-livedata-core-ktx-2.3.1.aar:6dd41c3c33daeb503fd87fbfff7043adb0be6c541a9c9e09bf531ca49520fddb',
|
||||||
'androidx.lifecycle:lifecycle-livedata-core:2.5.1:lifecycle-livedata-core-2.5.1.aar:ee792103ca248bfaf150c45a93871e4cf7e8cebab990e0f62f7de5d4ff2f209f',
|
'androidx.lifecycle:lifecycle-livedata-core:2.5.1:lifecycle-livedata-core-2.5.1.aar:ee792103ca248bfaf150c45a93871e4cf7e8cebab990e0f62f7de5d4ff2f209f',
|
||||||
'androidx.lifecycle:lifecycle-livedata:2.5.1:lifecycle-livedata-2.5.1.aar:8ad18cf18a8f82d77b11aab49cf9b9b3d418e5f564b216e91d815cf038cefdfb',
|
'androidx.lifecycle:lifecycle-livedata:2.5.1:lifecycle-livedata-2.5.1.aar:8ad18cf18a8f82d77b11aab49cf9b9b3d418e5f564b216e91d815cf038cefdfb',
|
||||||
'androidx.lifecycle:lifecycle-process:2.4.1:lifecycle-process-2.4.1.aar:db649b3efa24e31052145310b002db91da346b3f89c093ec38c3046db45e794e',
|
'androidx.lifecycle:lifecycle-process:2.4.1:lifecycle-process-2.4.1.aar:db649b3efa24e31052145310b002db91da346b3f89c093ec38c3046db45e794e',
|
||||||
'androidx.lifecycle:lifecycle-runtime-ktx:2.3.1:lifecycle-runtime-ktx-2.3.1.aar:7ad2987dd7f4075c0871a72cf07e9649d9cd790fc23dfab1972eca4710373873',
|
'androidx.lifecycle:lifecycle-runtime-ktx:2.3.1:lifecycle-runtime-ktx-2.3.1.aar:7ad2987dd7f4075c0871a72cf07e9649d9cd790fc23dfab1972eca4710373873',
|
||||||
'androidx.lifecycle:lifecycle-runtime:2.5.1:lifecycle-runtime-2.5.1.aar:33b0d73dc2f028fceb3599bacabe563c3db6d26f3513d889595863536a4ac8c0',
|
'androidx.lifecycle:lifecycle-runtime:2.5.1:lifecycle-runtime-2.5.1.aar:33b0d73dc2f028fceb3599bacabe563c3db6d26f3513d889595863536a4ac8c0',
|
||||||
'androidx.lifecycle:lifecycle-service:2.2.0:lifecycle-service-2.2.0.aar:ca2801ffc069555afed8eddd2292130f436956452bc8bbad30fb56f8e4e382a0',
|
'androidx.lifecycle:lifecycle-service:2.2.0:lifecycle-service-2.2.0.aar:ca2801ffc069555afed8eddd2292130f436956452bc8bbad30fb56f8e4e382a0',
|
||||||
'androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1:lifecycle-viewmodel-ktx-2.5.1.aar:30eecb351d81f0c429e186e65a892a42ce1d5bc5c80420bfece4ae279333023d',
|
'androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1:lifecycle-viewmodel-ktx-2.5.1.aar:30eecb351d81f0c429e186e65a892a42ce1d5bc5c80420bfece4ae279333023d',
|
||||||
'androidx.lifecycle:lifecycle-viewmodel-savedstate:2.5.1:lifecycle-viewmodel-savedstate-2.5.1.aar:8481141f97f0e6213dd33fcc89a784c4bd11a6ff7d4779a1cf6a0e9fbdbf24e0',
|
'androidx.lifecycle:lifecycle-viewmodel-savedstate:2.5.1:lifecycle-viewmodel-savedstate-2.5.1.aar:8481141f97f0e6213dd33fcc89a784c4bd11a6ff7d4779a1cf6a0e9fbdbf24e0',
|
||||||
'androidx.lifecycle:lifecycle-viewmodel:2.5.1:lifecycle-viewmodel-2.5.1.aar:14a27d5fb8a1436b1b7dec18bebaa66c830cdbbc8e28a81ce5f85b7c33b3ae9d',
|
'androidx.lifecycle:lifecycle-viewmodel:2.5.1:lifecycle-viewmodel-2.5.1.aar:14a27d5fb8a1436b1b7dec18bebaa66c830cdbbc8e28a81ce5f85b7c33b3ae9d',
|
||||||
'androidx.loader:loader:1.0.0:loader-1.0.0.aar:11f735cb3b55c458d470bed9e25254375b518b4b1bad6926783a7026db0f5025',
|
'androidx.loader:loader:1.0.0:loader-1.0.0.aar:11f735cb3b55c458d470bed9e25254375b518b4b1bad6926783a7026db0f5025',
|
||||||
'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0:localbroadcastmanager-1.0.0.aar:e71c328ceef5c4a7d76f2d86df1b65d65fe2acf868b1a4efd84a3f34336186d8',
|
'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0:localbroadcastmanager-1.0.0.aar:e71c328ceef5c4a7d76f2d86df1b65d65fe2acf868b1a4efd84a3f34336186d8',
|
||||||
'androidx.preference:preference:1.2.0:preference-1.2.0.aar:c6fea18e055df05e407384a34d78a009f381af0529db6a7622ab2334b72fed7b',
|
'androidx.preference:preference:1.2.0:preference-1.2.0.aar:c6fea18e055df05e407384a34d78a009f381af0529db6a7622ab2334b72fed7b',
|
||||||
'androidx.print:print:1.0.0:print-1.0.0.aar:1d5c7f3135a1bba661fc373fd72e11eb0a4adbb3396787826dd8e4190d5d9edd',
|
'androidx.print:print:1.0.0:print-1.0.0.aar:1d5c7f3135a1bba661fc373fd72e11eb0a4adbb3396787826dd8e4190d5d9edd',
|
||||||
'androidx.recyclerview:recyclerview-selection:1.1.0:recyclerview-selection-1.1.0.aar:9e2ba1c7d6b0eb5e64c10b1b0eb01b51e8511cee002c9bd56ce9cc138ebc4898',
|
'androidx.recyclerview:recyclerview-selection:1.1.0:recyclerview-selection-1.1.0.aar:9e2ba1c7d6b0eb5e64c10b1b0eb01b51e8511cee002c9bd56ce9cc138ebc4898',
|
||||||
'androidx.recyclerview:recyclerview:1.1.0:recyclerview-1.1.0.aar:f0d2b5a67d0a91ee1b1c73ef2b636a81f3563925ddd15a1d4e1c41ec28de7a4f',
|
'androidx.recyclerview:recyclerview:1.1.0:recyclerview-1.1.0.aar:f0d2b5a67d0a91ee1b1c73ef2b636a81f3563925ddd15a1d4e1c41ec28de7a4f',
|
||||||
'androidx.resourceinspection:resourceinspection-annotation:1.0.1:resourceinspection-annotation-1.0.1.jar:8cff870ec6fb31db48a52f4a792335b4bf8de07e03bd37823181526433ccd5cb',
|
'androidx.resourceinspection:resourceinspection-annotation:1.0.1:resourceinspection-annotation-1.0.1.jar:8cff870ec6fb31db48a52f4a792335b4bf8de07e03bd37823181526433ccd5cb',
|
||||||
'androidx.savedstate:savedstate-ktx:1.1.0:savedstate-ktx-1.1.0.aar:e44d61347463b0fafeeb649cbcc3d7109b2eb5e11d1522e986105170cdebbf68',
|
'androidx.savedstate:savedstate-ktx:1.1.0:savedstate-ktx-1.1.0.aar:e44d61347463b0fafeeb649cbcc3d7109b2eb5e11d1522e986105170cdebbf68',
|
||||||
'androidx.savedstate:savedstate:1.2.0:savedstate-1.2.0.aar:2de528d6898e95ef020d22d9ffdf9d1f77cbdd93f92d39dfaa5d5c43b0c311c8',
|
'androidx.savedstate:savedstate:1.2.0:savedstate-1.2.0.aar:2de528d6898e95ef020d22d9ffdf9d1f77cbdd93f92d39dfaa5d5c43b0c311c8',
|
||||||
'androidx.slidingpanelayout:slidingpanelayout:1.2.0:slidingpanelayout-1.2.0.aar:5f53339be2a4f90a9abea3571dd59e70a8a49e7f15dd82974a3898b4652e8714',
|
'androidx.slidingpanelayout:slidingpanelayout:1.2.0:slidingpanelayout-1.2.0.aar:5f53339be2a4f90a9abea3571dd59e70a8a49e7f15dd82974a3898b4652e8714',
|
||||||
'androidx.startup:startup-runtime:1.1.1:startup-runtime-1.1.1.aar:e0a6329a371262fe4c450372b70fdaf33b769ef6917094723787cfce896b1dd3',
|
'androidx.startup:startup-runtime:1.1.1:startup-runtime-1.1.1.aar:e0a6329a371262fe4c450372b70fdaf33b769ef6917094723787cfce896b1dd3',
|
||||||
'androidx.test.espresso:espresso-contrib:3.3.0:espresso-contrib-3.3.0.aar:f400cabdc181356acf6b210e4509dcb9649d9e2b6b6e218c60fcfc15e8a756d1',
|
'androidx.test.espresso:espresso-contrib:3.3.0:espresso-contrib-3.3.0.aar:f400cabdc181356acf6b210e4509dcb9649d9e2b6b6e218c60fcfc15e8a756d1',
|
||||||
'androidx.test.espresso:espresso-core:3.3.0:espresso-core-3.3.0.aar:23ebf6014645e0c60aec7d1ed924d4d4c848ae8c3673b7d8d06b2ec6a56cafee',
|
'androidx.test.espresso:espresso-core:3.3.0:espresso-core-3.3.0.aar:23ebf6014645e0c60aec7d1ed924d4d4c848ae8c3673b7d8d06b2ec6a56cafee',
|
||||||
'androidx.test.espresso:espresso-core:3.5.0:espresso-core-3.5.0.aar:34b0493f4e002f205d961e562add0c0c31bb0acc657e89d89d4b188ac13f242c',
|
'androidx.test.espresso:espresso-core:3.5.0:espresso-core-3.5.0.aar:34b0493f4e002f205d961e562add0c0c31bb0acc657e89d89d4b188ac13f242c',
|
||||||
'androidx.test.espresso:espresso-idling-resource:3.3.0:espresso-idling-resource-3.3.0.aar:29519b112731f289cc6e2f9b2eccc5ea72c754b04272bb93370f45d7e170a7c6',
|
'androidx.test.espresso:espresso-idling-resource:3.3.0:espresso-idling-resource-3.3.0.aar:29519b112731f289cc6e2f9b2eccc5ea72c754b04272bb93370f45d7e170a7c6',
|
||||||
'androidx.test.espresso:espresso-idling-resource:3.5.0:espresso-idling-resource-3.5.0.aar:84fb8e2f5eda937771bee28582f5d2cfa61b0e9438d02041ca61b81e3dac3c87',
|
'androidx.test.espresso:espresso-idling-resource:3.5.0:espresso-idling-resource-3.5.0.aar:84fb8e2f5eda937771bee28582f5d2cfa61b0e9438d02041ca61b81e3dac3c87',
|
||||||
'androidx.test.espresso:espresso-intents:3.3.0:espresso-intents-3.3.0.aar:5b6cd6aadce78edc705d93c1e81ace3b59be97128aca0e88fd9c5c176aa9bf10',
|
'androidx.test.espresso:espresso-intents:3.3.0:espresso-intents-3.3.0.aar:5b6cd6aadce78edc705d93c1e81ace3b59be97128aca0e88fd9c5c176aa9bf10',
|
||||||
'androidx.test.ext:junit:1.1.3:junit-1.1.3.aar:a97209d75a9a85815fa8934f5a4a320de1163ffe94e2f0b328c0c98a59660690',
|
'androidx.test.ext:junit:1.1.3:junit-1.1.3.aar:a97209d75a9a85815fa8934f5a4a320de1163ffe94e2f0b328c0c98a59660690',
|
||||||
'androidx.test.ext:junit:1.1.5:junit-1.1.5.aar:4307c0e60f5d701db9c59bcd9115af705113c36a9132fa3dbad58db1294e9bfd',
|
'androidx.test.ext:junit:1.1.5:junit-1.1.5.aar:4307c0e60f5d701db9c59bcd9115af705113c36a9132fa3dbad58db1294e9bfd',
|
||||||
'androidx.test.services:storage:1.4.2:storage-1.4.2.aar:b34861f0cd920cb1089f08c3f27e5865b7f920284cc45f4ed12ef8d6980dac48',
|
'androidx.test.services:storage:1.4.2:storage-1.4.2.aar:b34861f0cd920cb1089f08c3f27e5865b7f920284cc45f4ed12ef8d6980dac48',
|
||||||
'androidx.test.services:test-services:1.3.0:test-services-1.3.0.apk:1b88faab6864baf25c5d0b92a610c283c159a566e7a56c03307117fa1b542993',
|
'androidx.test.services:test-services:1.3.0:test-services-1.3.0.apk:1b88faab6864baf25c5d0b92a610c283c159a566e7a56c03307117fa1b542993',
|
||||||
'androidx.test.uiautomator:uiautomator:2.2.0:uiautomator-2.2.0.aar:2838e9d961dbffefbbd229a2bd4f6f82ac4fb2462975862a9e75e9ed325a3197',
|
'androidx.test.uiautomator:uiautomator:2.2.0:uiautomator-2.2.0.aar:2838e9d961dbffefbbd229a2bd4f6f82ac4fb2462975862a9e75e9ed325a3197',
|
||||||
'androidx.test:annotation:1.0.1:annotation-1.0.1.aar:c0754928effe1968c3a9a7b55d1dfc7ceb1e1e7c9f3f09f98afd42431f712492',
|
'androidx.test:annotation:1.0.1:annotation-1.0.1.aar:c0754928effe1968c3a9a7b55d1dfc7ceb1e1e7c9f3f09f98afd42431f712492',
|
||||||
'androidx.test:core:1.4.0:core-1.4.0.aar:671284e62e393f16ceae1a99a3a9a07bf1aacda29f8fe7b6b884355ef34c09cf',
|
'androidx.test:core:1.4.0:core-1.4.0.aar:671284e62e393f16ceae1a99a3a9a07bf1aacda29f8fe7b6b884355ef34c09cf',
|
||||||
'androidx.test:core:1.5.0:core-1.5.0.aar:2c06715c0d0843cee2143ab8bb322bb3f34d5247630402fc8c1b6a0eafa15b9f',
|
'androidx.test:core:1.5.0:core-1.5.0.aar:2c06715c0d0843cee2143ab8bb322bb3f34d5247630402fc8c1b6a0eafa15b9f',
|
||||||
'androidx.test:monitor:1.4.0:monitor-1.4.0.aar:46a912a1e175f27a97521af3f50e5af87c22c49275dd2c57c043740012806325',
|
'androidx.test:monitor:1.4.0:monitor-1.4.0.aar:46a912a1e175f27a97521af3f50e5af87c22c49275dd2c57c043740012806325',
|
||||||
'androidx.test:monitor:1.6.1:monitor-1.6.1.aar:2985ce8556989baf7c84342e7f687713c037a39a922e614d1a3ddf1ca3777079',
|
'androidx.test:monitor:1.6.1:monitor-1.6.1.aar:2985ce8556989baf7c84342e7f687713c037a39a922e614d1a3ddf1ca3777079',
|
||||||
'androidx.test:orchestrator:1.3.0:orchestrator-1.3.0.apk:676f808d08a3d05050eae30c3b7d92ce5cef1e00a54d68355bb7e7d4b72366fe',
|
'androidx.test:orchestrator:1.3.0:orchestrator-1.3.0.apk:676f808d08a3d05050eae30c3b7d92ce5cef1e00a54d68355bb7e7d4b72366fe',
|
||||||
'androidx.test:rules:1.3.0:rules-1.3.0.aar:c1753946c498b0d5d7cf341cfed661f66915c4c9deb4ed10462a08ae33b2429a',
|
'androidx.test:rules:1.3.0:rules-1.3.0.aar:c1753946c498b0d5d7cf341cfed661f66915c4c9deb4ed10462a08ae33b2429a',
|
||||||
'androidx.test:runner:1.3.0:runner-1.3.0.aar:61d13f5a9fcbbd73ba18fa84e1d6a0111c6e1c665a89b418126966e61fffd93b',
|
'androidx.test:runner:1.3.0:runner-1.3.0.aar:61d13f5a9fcbbd73ba18fa84e1d6a0111c6e1c665a89b418126966e61fffd93b',
|
||||||
'androidx.test:runner:1.5.0:runner-1.5.0.aar:b3c5aabd545b6c260528c8f4e7c98f73628614ea3d5df3a7a44af2136fd8720b',
|
'androidx.test:runner:1.5.0:runner-1.5.0.aar:b3c5aabd545b6c260528c8f4e7c98f73628614ea3d5df3a7a44af2136fd8720b',
|
||||||
'androidx.tracing:tracing:1.0.0:tracing-1.0.0.aar:07b8b6139665b884a162eccf97891ca50f7f56831233bf25168ae04f7b568612',
|
'androidx.tracing:tracing:1.0.0:tracing-1.0.0.aar:07b8b6139665b884a162eccf97891ca50f7f56831233bf25168ae04f7b568612',
|
||||||
'androidx.transition:transition:1.4.1:transition-1.4.1.aar:36d28d9ec33a8c64313842bce99c95736da5b27a6b3a513639050de82f075726',
|
'androidx.transition:transition:1.4.1:transition-1.4.1.aar:36d28d9ec33a8c64313842bce99c95736da5b27a6b3a513639050de82f075726',
|
||||||
'androidx.vectordrawable:vectordrawable-animated:1.1.0:vectordrawable-animated-1.1.0.aar:76da2c502371d9c38054df5e2b248d00da87809ed058f3363eae87ce5e2403f8',
|
'androidx.vectordrawable:vectordrawable-animated:1.1.0:vectordrawable-animated-1.1.0.aar:76da2c502371d9c38054df5e2b248d00da87809ed058f3363eae87ce5e2403f8',
|
||||||
'androidx.vectordrawable:vectordrawable:1.1.0:vectordrawable-1.1.0.aar:46fd633ac01b49b7fcabc263bf098c5a8b9e9a69774d234edcca04fb02df8e26',
|
'androidx.vectordrawable:vectordrawable:1.1.0:vectordrawable-1.1.0.aar:46fd633ac01b49b7fcabc263bf098c5a8b9e9a69774d234edcca04fb02df8e26',
|
||||||
'androidx.versionedparcelable:versionedparcelable:1.1.1:versionedparcelable-1.1.1.aar:57e8d93260d18d5b9007c9eed3c64ad159de90c8609ebfc74a347cbd514535a4',
|
'androidx.versionedparcelable:versionedparcelable:1.1.1:versionedparcelable-1.1.1.aar:57e8d93260d18d5b9007c9eed3c64ad159de90c8609ebfc74a347cbd514535a4',
|
||||||
'androidx.viewpager2:viewpager2:1.0.0:viewpager2-1.0.0.aar:e95c0031d4cc247cd48196c6287e58d2cee54d9c79b85afea7c90920330275af',
|
'androidx.viewpager2:viewpager2:1.0.0:viewpager2-1.0.0.aar:e95c0031d4cc247cd48196c6287e58d2cee54d9c79b85afea7c90920330275af',
|
||||||
'androidx.viewpager:viewpager:1.0.0:viewpager-1.0.0.aar:147af4e14a1984010d8f155e5e19d781f03c1d70dfed02a8e0d18428b8fc8682',
|
'androidx.viewpager:viewpager:1.0.0:viewpager-1.0.0.aar:147af4e14a1984010d8f155e5e19d781f03c1d70dfed02a8e0d18428b8fc8682',
|
||||||
'androidx.window:window:1.0.0:window-1.0.0.aar:3212985be4127373ca4d0ea7f8b81a250ae2105e924f7940105d067a0f9ac130',
|
'androidx.window:window:1.0.0:window-1.0.0.aar:3212985be4127373ca4d0ea7f8b81a250ae2105e924f7940105d067a0f9ac130',
|
||||||
'cglib:cglib:3.2.8:cglib-3.2.8.jar:3f64de999ecc5595dc84ca8ff0879d8a34c8623f9ef3c517a53ed59023fcb9db',
|
'cglib:cglib:3.2.8:cglib-3.2.8.jar:3f64de999ecc5595dc84ca8ff0879d8a34c8623f9ef3c517a53ed59023fcb9db',
|
||||||
'com.almworks.sqlite4java:sqlite4java:1.0.392:sqlite4java-1.0.392.jar:243a64470fda0e86a6fddeb0af4c7aa9426ce84e68cbfe18d75ee5da4b7e0b92',
|
'com.almworks.sqlite4java:sqlite4java:1.0.392:sqlite4java-1.0.392.jar:243a64470fda0e86a6fddeb0af4c7aa9426ce84e68cbfe18d75ee5da4b7e0b92',
|
||||||
'com.github.bumptech.glide:annotations:4.14.2:annotations-4.14.2.jar:8419bf262be70edeb6b9582b386546be66d2e8659c7aae65fd69a9ede02c4877',
|
'com.github.bumptech.glide:annotations:4.14.2:annotations-4.14.2.jar:8419bf262be70edeb6b9582b386546be66d2e8659c7aae65fd69a9ede02c4877',
|
||||||
'com.github.bumptech.glide:compiler:4.14.2:compiler-4.14.2.jar:315b1325283c3d0cf9bc0599c1ecdb85e5f7863b1aa25991b63d616b13930cb6',
|
'com.github.bumptech.glide:compiler:4.14.2:compiler-4.14.2.jar:315b1325283c3d0cf9bc0599c1ecdb85e5f7863b1aa25991b63d616b13930cb6',
|
||||||
'com.github.bumptech.glide:gifdecoder:4.14.2:gifdecoder-4.14.2.aar:d021eee1ac1a036fcdc377b6dc3b218f4a0cc2bc2f096d69b474198b635e8302',
|
'com.github.bumptech.glide:gifdecoder:4.14.2:gifdecoder-4.14.2.aar:d021eee1ac1a036fcdc377b6dc3b218f4a0cc2bc2f096d69b474198b635e8302',
|
||||||
'com.github.bumptech.glide:glide:4.14.2:glide-4.14.2.aar:ec32c33f5b289fd7b0a54485e27392f896b239cefd533385e262de1530190c3f',
|
'com.github.bumptech.glide:glide:4.14.2:glide-4.14.2.aar:ec32c33f5b289fd7b0a54485e27392f896b239cefd533385e262de1530190c3f',
|
||||||
'com.github.chrisbanes:PhotoView:2.3.0:PhotoView-2.3.0.aar:6c8989f2945d50ab38b3e0300064f1f8d2d75bbcae1434fe535d9fb6898e9ad6',
|
'com.github.chrisbanes:PhotoView:2.3.0:PhotoView-2.3.0.aar:6c8989f2945d50ab38b3e0300064f1f8d2d75bbcae1434fe535d9fb6898e9ad6',
|
||||||
'com.github.kobakei:MaterialFabSpeedDial:1.2.1:MaterialFabSpeedDial-1.2.1.aar:e86198c3c48cd832fb209a769a9f222c2a3cc045743b110ac2391d9737e3ea02',
|
'com.github.kobakei:MaterialFabSpeedDial:1.2.1:MaterialFabSpeedDial-1.2.1.aar:e86198c3c48cd832fb209a769a9f222c2a3cc045743b110ac2391d9737e3ea02',
|
||||||
'com.google.android.apps.common.testing.accessibility.framework:accessibility-test-framework:2.0:accessibility-test-framework-2.0.jar:cdf16ef8f5b8023d003ce3cc1b0d51bda737762e2dab2fedf43d1c4292353f7f',
|
'com.google.android.apps.common.testing.accessibility.framework:accessibility-test-framework:2.0:accessibility-test-framework-2.0.jar:cdf16ef8f5b8023d003ce3cc1b0d51bda737762e2dab2fedf43d1c4292353f7f',
|
||||||
'com.google.android.material:material:1.7.0:material-1.7.0.aar:56d7a54cf8c30f5d2d3510225bf48841f0ce6fbf896154fbdfee2babca6d9453',
|
'com.google.android.material:material:1.7.0:material-1.7.0.aar:56d7a54cf8c30f5d2d3510225bf48841f0ce6fbf896154fbdfee2babca6d9453',
|
||||||
'com.google.auto.value:auto-value-annotations:1.7.4:auto-value-annotations-1.7.4.jar:fedd59b0b4986c342f6ab2d182f2a4ee9fceb2c7e2d5bdc4dc764c92394a23d3',
|
'com.google.auto.value:auto-value-annotations:1.7.4:auto-value-annotations-1.7.4.jar:fedd59b0b4986c342f6ab2d182f2a4ee9fceb2c7e2d5bdc4dc764c92394a23d3',
|
||||||
'com.google.code.findbugs:annotations:3.0.1:annotations-3.0.1.jar:6b47ff0a6de0ce17cbedc3abb0828ca5bce3009d53ea47b3723ff023c4742f79',
|
'com.google.code.findbugs:annotations:3.0.1:annotations-3.0.1.jar:6b47ff0a6de0ce17cbedc3abb0828ca5bce3009d53ea47b3723ff023c4742f79',
|
||||||
'com.google.code.findbugs:jsr305:3.0.2:jsr305-3.0.2.jar:766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7',
|
'com.google.code.findbugs:jsr305:3.0.2:jsr305-3.0.2.jar:766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7',
|
||||||
'com.google.dagger:dagger-compiler:2.45:dagger-compiler-2.45.jar:5617dfb994537dba5b41f3744a6dd13ec3cd99789c065e0d5c6fa9f21cf7ca25',
|
'com.google.dagger:dagger-compiler:2.45:dagger-compiler-2.45.jar:5617dfb994537dba5b41f3744a6dd13ec3cd99789c065e0d5c6fa9f21cf7ca25',
|
||||||
'com.google.dagger:dagger-producers:2.45:dagger-producers-2.45.jar:a05abb4c3ccf6bb0f056bdcb5ef973898ecf172952ab5948a824aeea6c86ecaa',
|
'com.google.dagger:dagger-producers:2.45:dagger-producers-2.45.jar:a05abb4c3ccf6bb0f056bdcb5ef973898ecf172952ab5948a824aeea6c86ecaa',
|
||||||
'com.google.dagger:dagger-spi:2.45:dagger-spi-2.45.jar:7cd6f0b09d88e64a9c97bc80e544ab8ac8fdee9301754413585a74cf64222b27',
|
'com.google.dagger:dagger-spi:2.45:dagger-spi-2.45.jar:7cd6f0b09d88e64a9c97bc80e544ab8ac8fdee9301754413585a74cf64222b27',
|
||||||
'com.google.dagger:dagger:2.45:dagger-2.45.jar:f011cae7d2c0fb7ea17c34e05bc10e768b1081a5892ad019cf1fdb0e125c49c1',
|
'com.google.dagger:dagger:2.45:dagger-2.45.jar:f011cae7d2c0fb7ea17c34e05bc10e768b1081a5892ad019cf1fdb0e125c49c1',
|
||||||
'com.google.devtools.ksp:symbol-processing-api:1.7.0-1.0.6:symbol-processing-api-1.7.0-1.0.6.jar:adc29417be5ca9ff42118105fea4e36d9ef44987abfc41432309371a60198941',
|
'com.google.devtools.ksp:symbol-processing-api:1.7.0-1.0.6:symbol-processing-api-1.7.0-1.0.6.jar:adc29417be5ca9ff42118105fea4e36d9ef44987abfc41432309371a60198941',
|
||||||
'com.google.errorprone:error_prone_annotations:2.7.1:error_prone_annotations-2.7.1.jar:cd5257c08a246cf8628817ae71cb822be192ef91f6881ca4a3fcff4f1de1cff3',
|
'com.google.errorprone:error_prone_annotations:2.7.1:error_prone_annotations-2.7.1.jar:cd5257c08a246cf8628817ae71cb822be192ef91f6881ca4a3fcff4f1de1cff3',
|
||||||
'com.google.errorprone:error_prone_annotations:2.9.0:error_prone_annotations-2.9.0.jar:f947bdc33ae27a6b4aa44799e6c21e1944797bd0010ba43eb82d11446e163694',
|
'com.google.errorprone:error_prone_annotations:2.9.0:error_prone_annotations-2.9.0.jar:f947bdc33ae27a6b4aa44799e6c21e1944797bd0010ba43eb82d11446e163694',
|
||||||
'com.google.errorprone:javac-shaded:9-dev-r4023-3:javac-shaded-9-dev-r4023-3.jar:65bfccf60986c47fbc17c9ebab0be626afc41741e0a6ec7109e0768817a36f30',
|
'com.google.errorprone:javac-shaded:9-dev-r4023-3:javac-shaded-9-dev-r4023-3.jar:65bfccf60986c47fbc17c9ebab0be626afc41741e0a6ec7109e0768817a36f30',
|
||||||
'com.google.googlejavaformat:google-java-format:1.5:google-java-format-1.5.jar:aa19ad7850fb85178aa22f2fddb163b84d6ce4d0035872f30d4408195ca1144e',
|
'com.google.googlejavaformat:google-java-format:1.5:google-java-format-1.5.jar:aa19ad7850fb85178aa22f2fddb163b84d6ce4d0035872f30d4408195ca1144e',
|
||||||
'com.google.guava:failureaccess:1.0.1:failureaccess-1.0.1.jar:a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26',
|
'com.google.guava:failureaccess:1.0.1:failureaccess-1.0.1.jar:a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26',
|
||||||
'com.google.guava:guava:27.0.1-jre:guava-27.0.1-jre.jar:e1c814fd04492a27c38e0317eabeaa1b3e950ec8010239e400fe90ad6c9107b4',
|
'com.google.guava:guava:27.0.1-jre:guava-27.0.1-jre.jar:e1c814fd04492a27c38e0317eabeaa1b3e950ec8010239e400fe90ad6c9107b4',
|
||||||
'com.google.guava:guava:31.0.1-jre:guava-31.0.1-jre.jar:d5be94d65e87bd219fb3193ad1517baa55a3b88fc91d21cf735826ab5af087b9',
|
'com.google.guava:guava:31.0.1-jre:guava-31.0.1-jre.jar:d5be94d65e87bd219fb3193ad1517baa55a3b88fc91d21cf735826ab5af087b9',
|
||||||
'com.google.guava:listenablefuture:1.0:listenablefuture-1.0.jar:e4ad7607e5c0477c6f890ef26a49cb8d1bb4dffb650bab4502afee64644e3069',
|
'com.google.guava:listenablefuture:1.0:listenablefuture-1.0.jar:e4ad7607e5c0477c6f890ef26a49cb8d1bb4dffb650bab4502afee64644e3069',
|
||||||
'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava:listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar:b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99',
|
'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava:listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar:b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99',
|
||||||
'com.google.j2objc:j2objc-annotations:1.1:j2objc-annotations-1.1.jar:2994a7eb78f2710bd3d3bfb639b2c94e219cedac0d4d084d516e78c16dddecf6',
|
'com.google.j2objc:j2objc-annotations:1.1:j2objc-annotations-1.1.jar:2994a7eb78f2710bd3d3bfb639b2c94e219cedac0d4d084d516e78c16dddecf6',
|
||||||
'com.google.j2objc:j2objc-annotations:1.3:j2objc-annotations-1.3.jar:21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b',
|
'com.google.j2objc:j2objc-annotations:1.3:j2objc-annotations-1.3.jar:21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b',
|
||||||
'com.google.zxing:core:3.3.3:core-3.3.3.jar:5820f81e943e4bce0329306621e2d6255d2930b0a6ce934c5c23c0d6d3f20599',
|
'com.google.zxing:core:3.3.3:core-3.3.3.jar:5820f81e943e4bce0329306621e2d6255d2930b0a6ce934c5c23c0d6d3f20599',
|
||||||
'com.ibm.icu:icu4j:70.1:icu4j-70.1.jar:2b4d8d4e098e86aa5f905ec81c46751d218b16afd3f7fc02b64f80dd20fffa20',
|
'com.ibm.icu:icu4j:70.1:icu4j-70.1.jar:2b4d8d4e098e86aa5f905ec81c46751d218b16afd3f7fc02b64f80dd20fffa20',
|
||||||
'com.jraska:falcon:2.2.0:falcon-2.2.0.aar:8b016c6e016ef99fb493b8614b2362cfba540a68ac16a9bb6da310ae10e30b81',
|
'com.jraska:falcon:2.2.0:falcon-2.2.0.aar:8b016c6e016ef99fb493b8614b2362cfba540a68ac16a9bb6da310ae10e30b81',
|
||||||
'com.squareup.okhttp3:okhttp:4.10.0:okhttp-4.10.0.jar:7580f14fa1691206e37081ad3f92063b1603b328da0bb316f2fef02e0562e7ec',
|
'com.squareup.okhttp3:okhttp:4.10.0:okhttp-4.10.0.jar:7580f14fa1691206e37081ad3f92063b1603b328da0bb316f2fef02e0562e7ec',
|
||||||
'com.squareup.okio:okio-jvm:3.0.0:okio-jvm-3.0.0.jar:be64a0cc1f28ea9cd5c970dd7e7557af72c808d738c495b397bf897c9921e907',
|
'com.squareup.okio:okio-jvm:3.0.0:okio-jvm-3.0.0.jar:be64a0cc1f28ea9cd5c970dd7e7557af72c808d738c495b397bf897c9921e907',
|
||||||
'com.squareup:javapoet:1.13.0:javapoet-1.13.0.jar:4c7517e848a71b36d069d12bb3bf46a70fd4cda3105d822b0ed2e19c00b69291',
|
'com.squareup:javapoet:1.13.0:javapoet-1.13.0.jar:4c7517e848a71b36d069d12bb3bf46a70fd4cda3105d822b0ed2e19c00b69291',
|
||||||
'com.squareup:javawriter:2.1.1:javawriter-2.1.1.jar:f699823d0081f69cbb676c1845ea222e0ada79bc88a53e5d22d8bd02d328f57e',
|
'com.squareup:javawriter:2.1.1:javawriter-2.1.1.jar:f699823d0081f69cbb676c1845ea222e0ada79bc88a53e5d22d8bd02d328f57e',
|
||||||
'com.squareup:kotlinpoet:1.11.0:kotlinpoet-1.11.0.jar:2887ada1ca03dd83baa2758640d87e840d1907564db0ef88d2289c868a980492',
|
'com.squareup:kotlinpoet:1.11.0:kotlinpoet-1.11.0.jar:2887ada1ca03dd83baa2758640d87e840d1907564db0ef88d2289c868a980492',
|
||||||
'com.vanniktech:emoji-google:0.9.0:emoji-google-0.9.0-debug.aar:76dea2a1ec386dc497bee3c4e9ee531d3d7b88ebcb2132f285667687a08bd763',
|
'com.vanniktech:emoji-google:0.9.0:emoji-google-0.9.0-debug.aar:76dea2a1ec386dc497bee3c4e9ee531d3d7b88ebcb2132f285667687a08bd763',
|
||||||
'com.vanniktech:emoji-google:0.9.0:emoji-google-0.9.0-release.aar:ac66a411160f8032a7c037d23bcb0a4ae1ca5d416b77a2528783125eb23b3b2e',
|
'com.vanniktech:emoji-google:0.9.0:emoji-google-0.9.0-release.aar:ac66a411160f8032a7c037d23bcb0a4ae1ca5d416b77a2528783125eb23b3b2e',
|
||||||
'com.vanniktech:emoji:0.9.0:emoji-0.9.0-debug.aar:c09fd4f40bd364ddfc223fef216707e33003afab723d0dc738830b4fe31f8d45',
|
'com.vanniktech:emoji:0.9.0:emoji-0.9.0-debug.aar:c09fd4f40bd364ddfc223fef216707e33003afab723d0dc738830b4fe31f8d45',
|
||||||
'com.vanniktech:emoji:0.9.0:emoji-0.9.0-release.aar:07ada273b2c91e8542a8bf6e60a06233b83f695fdccd64ba5ad39121b4dc54c6',
|
'com.vanniktech:emoji:0.9.0:emoji-0.9.0-release.aar:07ada273b2c91e8542a8bf6e60a06233b83f695fdccd64ba5ad39121b4dc54c6',
|
||||||
'de.hdodenhof:circleimageview:3.1.0:circleimageview-3.1.0.aar:8e9965b54072ee159074a55df216e17d5a622c94ce915ef311b1a1f32660c7fb',
|
'de.hdodenhof:circleimageview:3.1.0:circleimageview-3.1.0.aar:8e9965b54072ee159074a55df216e17d5a622c94ce915ef311b1a1f32660c7fb',
|
||||||
'info.guardianproject.panic:panic:1.0:panic-1.0.jar:35116ab95212e67f94577faf67b88c11a6b21cbf9178b3f5b51d3dff45203ffd',
|
'info.guardianproject.panic:panic:1.0:panic-1.0.jar:35116ab95212e67f94577faf67b88c11a6b21cbf9178b3f5b51d3dff45203ffd',
|
||||||
'javax.annotation:javax.annotation-api:1.3.2:javax.annotation-api-1.3.2.jar:e04ba5195bcd555dc95650f7cc614d151e4bcd52d29a10b8aa2197f3ab89ab9b',
|
'javax.annotation:javax.annotation-api:1.3.2:javax.annotation-api-1.3.2.jar:e04ba5195bcd555dc95650f7cc614d151e4bcd52d29a10b8aa2197f3ab89ab9b',
|
||||||
'javax.annotation:jsr250-api:1.0:jsr250-api-1.0.jar:a1a922d0d9b6d183ed3800dfac01d1e1eb159f0e8c6f94736931c1def54a941f',
|
'javax.annotation:jsr250-api:1.0:jsr250-api-1.0.jar:a1a922d0d9b6d183ed3800dfac01d1e1eb159f0e8c6f94736931c1def54a941f',
|
||||||
'javax.inject:javax.inject:1:javax.inject-1.jar:91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff',
|
'javax.inject:javax.inject:1:javax.inject-1.jar:91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff',
|
||||||
'junit:junit:4.13.2:junit-4.13.2.jar:8e495b634469d64fb8acfa3495a065cbacc8a0fff55ce1e31007be4c16dc57d3',
|
'junit:junit:4.13.2:junit-4.13.2.jar:8e495b634469d64fb8acfa3495a065cbacc8a0fff55ce1e31007be4c16dc57d3',
|
||||||
'net.bytebuddy:byte-buddy-agent:1.12.22:byte-buddy-agent-1.12.22.jar:bff7cdac510692d1a0013eea87fb72ad686fbf97f45688708172dafae8decead',
|
'net.bytebuddy:byte-buddy-agent:1.12.22:byte-buddy-agent-1.12.22.jar:bff7cdac510692d1a0013eea87fb72ad686fbf97f45688708172dafae8decead',
|
||||||
'net.bytebuddy:byte-buddy:1.12.22:byte-buddy-1.12.22.jar:c866ff077d0f00f97ae91a07efcf9a3d7a815db4a91d15a8e857359dfd12b03c',
|
'net.bytebuddy:byte-buddy:1.12.22:byte-buddy-1.12.22.jar:c866ff077d0f00f97ae91a07efcf9a3d7a815db4a91d15a8e857359dfd12b03c',
|
||||||
'net.jcip:jcip-annotations:1.0:jcip-annotations-1.0.jar:be5805392060c71474bf6c9a67a099471274d30b83eef84bfc4e0889a4f1dcc0',
|
'net.jcip:jcip-annotations:1.0:jcip-annotations-1.0.jar:be5805392060c71474bf6c9a67a099471274d30b83eef84bfc4e0889a4f1dcc0',
|
||||||
'net.ltgt.gradle.incap:incap:0.2:incap-0.2.jar:b625b9806b0f1e4bc7a2e3457119488de3cd57ea20feedd513db070a573a4ffd',
|
'net.ltgt.gradle.incap:incap:0.2:incap-0.2.jar:b625b9806b0f1e4bc7a2e3457119488de3cd57ea20feedd513db070a573a4ffd',
|
||||||
'org.apache-extras.beanshell:bsh:2.0b6:bsh-2.0b6.jar:a17955976070c0573235ee662f2794a78082758b61accffce8d3f8aedcd91047',
|
'org.apache-extras.beanshell:bsh:2.0b6:bsh-2.0b6.jar:a17955976070c0573235ee662f2794a78082758b61accffce8d3f8aedcd91047',
|
||||||
'org.bouncycastle:bcprov-jdk15on:1.68:bcprov-jdk15on-1.68.jar:f732a46c8de7e2232f2007c682a21d1f4cc8a8a0149b6b7bd6aa1afdc65a0f8d',
|
'org.bouncycastle:bcprov-jdk15on:1.68:bcprov-jdk15on-1.68.jar:f732a46c8de7e2232f2007c682a21d1f4cc8a8a0149b6b7bd6aa1afdc65a0f8d',
|
||||||
'org.checkerframework:checker-compat-qual:2.5.5:checker-compat-qual-2.5.5.jar:11d134b245e9cacc474514d2d66b5b8618f8039a1465cdc55bbc0b34e0008b7a',
|
'org.checkerframework:checker-compat-qual:2.5.5:checker-compat-qual-2.5.5.jar:11d134b245e9cacc474514d2d66b5b8618f8039a1465cdc55bbc0b34e0008b7a',
|
||||||
'org.checkerframework:checker-qual:2.5.2:checker-qual-2.5.2.jar:64b02691c8b9d4e7700f8ee2e742dce7ea2c6e81e662b7522c9ee3bf568c040a',
|
'org.checkerframework:checker-qual:2.5.2:checker-qual-2.5.2.jar:64b02691c8b9d4e7700f8ee2e742dce7ea2c6e81e662b7522c9ee3bf568c040a',
|
||||||
'org.checkerframework:checker-qual:3.12.0:checker-qual-3.12.0.jar:ff10785ac2a357ec5de9c293cb982a2cbb605c0309ea4cc1cb9b9bc6dbe7f3cb',
|
'org.checkerframework:checker-qual:3.12.0:checker-qual-3.12.0.jar:ff10785ac2a357ec5de9c293cb982a2cbb605c0309ea4cc1cb9b9bc6dbe7f3cb',
|
||||||
'org.codehaus.mojo:animal-sniffer-annotations:1.17:animal-sniffer-annotations-1.17.jar:92654f493ecfec52082e76354f0ebf87648dc3d5cec2e3c3cdb947c016747a53',
|
'org.codehaus.mojo:animal-sniffer-annotations:1.17:animal-sniffer-annotations-1.17.jar:92654f493ecfec52082e76354f0ebf87648dc3d5cec2e3c3cdb947c016747a53',
|
||||||
'org.hamcrest:hamcrest-core:1.3:hamcrest-core-1.3.jar:66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9',
|
'org.hamcrest:hamcrest-core:1.3:hamcrest-core-1.3.jar:66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9',
|
||||||
'org.hamcrest:hamcrest-core:2.1:hamcrest-core-2.1.jar:e09109e54a289d88506b9bfec987ddd199f4217c9464132668351b9a4f00bee9',
|
'org.hamcrest:hamcrest-core:2.1:hamcrest-core-2.1.jar:e09109e54a289d88506b9bfec987ddd199f4217c9464132668351b9a4f00bee9',
|
||||||
'org.hamcrest:hamcrest-integration:1.3:hamcrest-integration-1.3.jar:70f418efbb506c5155da5f9a5a33262ea08a9e4d7fea186aa9015c41a7224ac2',
|
'org.hamcrest:hamcrest-integration:1.3:hamcrest-integration-1.3.jar:70f418efbb506c5155da5f9a5a33262ea08a9e4d7fea186aa9015c41a7224ac2',
|
||||||
'org.hamcrest:hamcrest-library:1.3:hamcrest-library-1.3.jar:711d64522f9ec410983bd310934296da134be4254a125080a0416ec178dfad1c',
|
'org.hamcrest:hamcrest-library:1.3:hamcrest-library-1.3.jar:711d64522f9ec410983bd310934296da134be4254a125080a0416ec178dfad1c',
|
||||||
'org.hamcrest:hamcrest-library:2.1:hamcrest-library-2.1.jar:b7e2b6895b3b679f0e47b6380fda391b225e9b78505db9d8bdde8d3cc8d52a21',
|
'org.hamcrest:hamcrest-library:2.1:hamcrest-library-2.1.jar:b7e2b6895b3b679f0e47b6380fda391b225e9b78505db9d8bdde8d3cc8d52a21',
|
||||||
'org.hamcrest:hamcrest:2.1:hamcrest-2.1.jar:ba93b2e3a562322ba432f0a1b53addcc55cb188253319a020ed77f824e692050',
|
'org.hamcrest:hamcrest:2.1:hamcrest-2.1.jar:ba93b2e3a562322ba432f0a1b53addcc55cb188253319a020ed77f824e692050',
|
||||||
'org.jacoco:org.jacoco.agent:0.8.7:org.jacoco.agent-0.8.7.jar:9cbcc986e0fbe821a78ff1f8f7d5216f200e5eb124e7f6837d1dc4a77b28b143',
|
'org.jacoco:org.jacoco.agent:0.8.7:org.jacoco.agent-0.8.7.jar:9cbcc986e0fbe821a78ff1f8f7d5216f200e5eb124e7f6837d1dc4a77b28b143',
|
||||||
'org.jacoco:org.jacoco.ant:0.8.7:org.jacoco.ant-0.8.7.jar:97ca96a382c3f23a44d8eb4c4e6c3742a30cb8005774a76ced0fc4806ce49605',
|
'org.jacoco:org.jacoco.ant:0.8.7:org.jacoco.ant-0.8.7.jar:97ca96a382c3f23a44d8eb4c4e6c3742a30cb8005774a76ced0fc4806ce49605',
|
||||||
'org.jacoco:org.jacoco.core:0.8.7:org.jacoco.core-0.8.7.jar:ad7739b5fb5969aa1a8aead3d74ed54dc82ed012f1f10f336bd1b96e71c1a13c',
|
'org.jacoco:org.jacoco.core:0.8.7:org.jacoco.core-0.8.7.jar:ad7739b5fb5969aa1a8aead3d74ed54dc82ed012f1f10f336bd1b96e71c1a13c',
|
||||||
'org.jacoco:org.jacoco.report:0.8.7:org.jacoco.report-0.8.7.jar:cc89258623700a6c932592153cb528785876b6da183d5431f97efbba6f020e5b',
|
'org.jacoco:org.jacoco.report:0.8.7:org.jacoco.report-0.8.7.jar:cc89258623700a6c932592153cb528785876b6da183d5431f97efbba6f020e5b',
|
||||||
'org.jetbrains.kotlin:kotlin-reflect:1.6.10:kotlin-reflect-1.6.10.jar:3277ac102ae17aad10a55abec75ff5696c8d109790396434b496e75087854203',
|
'org.jetbrains.kotlin:kotlin-reflect:1.6.10:kotlin-reflect-1.6.10.jar:3277ac102ae17aad10a55abec75ff5696c8d109790396434b496e75087854203',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-common:1.7.0:kotlin-stdlib-common-1.7.0.jar:59c6ff64fe9a6604afce03e8aaa75f83586c6030ac71fb0b34ee7cdefed3618f',
|
'org.jetbrains.kotlin:kotlin-stdlib-common:1.7.0:kotlin-stdlib-common-1.7.0.jar:59c6ff64fe9a6604afce03e8aaa75f83586c6030ac71fb0b34ee7cdefed3618f',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-common:1.8.20:kotlin-stdlib-common-1.8.20.jar:fa20188abaa8ecf1d0035e93a969b071f10e45a1c8378c314521eade73f75fd5',
|
'org.jetbrains.kotlin:kotlin-stdlib-common:1.8.20:kotlin-stdlib-common-1.8.20.jar:fa20188abaa8ecf1d0035e93a969b071f10e45a1c8378c314521eade73f75fd5',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.0:kotlin-stdlib-jdk7-1.7.0.jar:07e91be9b2ca20672d2bdb7e181b766e73453a2da13492b5ddaee8fa47aea239',
|
'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.0:kotlin-stdlib-jdk7-1.7.0.jar:07e91be9b2ca20672d2bdb7e181b766e73453a2da13492b5ddaee8fa47aea239',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.20:kotlin-stdlib-jdk7-1.8.20.jar:af1ec40c3b951afdcc0c2a0173c7b81763c5281c2d5bafbf0a8544a24c5dcc0c',
|
'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.20:kotlin-stdlib-jdk7-1.8.20.jar:af1ec40c3b951afdcc0c2a0173c7b81763c5281c2d5bafbf0a8544a24c5dcc0c',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.0:kotlin-stdlib-jdk8-1.7.0.jar:cf058e11db1dfc9944680c8c61b95ac689aaaa8a3eb30bced028100f038f030b',
|
'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.0:kotlin-stdlib-jdk8-1.7.0.jar:cf058e11db1dfc9944680c8c61b95ac689aaaa8a3eb30bced028100f038f030b',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.20:kotlin-stdlib-jdk8-1.8.20.jar:e398b67977622718bf18ff99b739c7d9da060f33fb458a2e25203221c16af010',
|
'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.20:kotlin-stdlib-jdk8-1.8.20.jar:e398b67977622718bf18ff99b739c7d9da060f33fb458a2e25203221c16af010',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib:1.7.0:kotlin-stdlib-1.7.0.jar:aa88e9625577957f3249a46cb6e166ee09b369e600f7a11d148d16b0a6d87f05',
|
'org.jetbrains.kotlin:kotlin-stdlib:1.7.0:kotlin-stdlib-1.7.0.jar:aa88e9625577957f3249a46cb6e166ee09b369e600f7a11d148d16b0a6d87f05',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib:1.8.20:kotlin-stdlib-1.8.20.jar:4395647b1961d9fb730a34e8dbe56c293157bc0759004cca63d9b5ee6653e5c7',
|
'org.jetbrains.kotlin:kotlin-stdlib:1.8.20:kotlin-stdlib-1.8.20.jar:4395647b1961d9fb730a34e8dbe56c293157bc0759004cca63d9b5ee6653e5c7',
|
||||||
'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.1:kotlinx-coroutines-android-1.6.1.jar:961ebde8138779a299430ca325a86e28c490527a87ba518362fa45c44c7e7e95',
|
'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.1:kotlinx-coroutines-android-1.6.1.jar:961ebde8138779a299430ca325a86e28c490527a87ba518362fa45c44c7e7e95',
|
||||||
'org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.1:kotlinx-coroutines-core-jvm-1.6.1.jar:3a93ffd052844643c0fef950ae5578db47cccbe9e7176d681333182e232bb0f1',
|
'org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.1:kotlinx-coroutines-core-jvm-1.6.1.jar:3a93ffd052844643c0fef950ae5578db47cccbe9e7176d681333182e232bb0f1',
|
||||||
'org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.5.0:kotlinx-metadata-jvm-0.5.0.jar:ca063a96639b08b9eaa0de4d65e899480740a6efbe28ab9a8681a2ced03055a4',
|
'org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.5.0:kotlinx-metadata-jvm-0.5.0.jar:ca063a96639b08b9eaa0de4d65e899480740a6efbe28ab9a8681a2ced03055a4',
|
||||||
'org.jetbrains:annotations:13.0:annotations-13.0.jar:ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478',
|
'org.jetbrains:annotations:13.0:annotations-13.0.jar:ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478',
|
||||||
'org.jmock:jmock-imposters:2.12.0:jmock-imposters-2.12.0.jar:3b836269745a137c9b2347e8d7c2104845b126ef04f012d6bfd94f1a7dea7b09',
|
'org.jmock:jmock-imposters:2.12.0:jmock-imposters-2.12.0.jar:3b836269745a137c9b2347e8d7c2104845b126ef04f012d6bfd94f1a7dea7b09',
|
||||||
'org.jmock:jmock-junit4:2.12.0:jmock-junit4-2.12.0.jar:3233062fc889637c151a24f1ee086bad04321ab7d8264fef279daff0fa27205b',
|
'org.jmock:jmock-junit4:2.12.0:jmock-junit4-2.12.0.jar:3233062fc889637c151a24f1ee086bad04321ab7d8264fef279daff0fa27205b',
|
||||||
'org.jmock:jmock-legacy:2.12.0:jmock-legacy-2.12.0.jar:dea3a9cca653d082e2fe7e40232e982fe03a9984c7d67ceff24f3e03fe580dcd',
|
'org.jmock:jmock-legacy:2.12.0:jmock-legacy-2.12.0.jar:dea3a9cca653d082e2fe7e40232e982fe03a9984c7d67ceff24f3e03fe580dcd',
|
||||||
'org.jmock:jmock-testjar:2.12.0:jmock-testjar-2.12.0.jar:efefbcf6cd294d0e29f0c46eb2a3380d4ca4e1763ff719c69e2f2ac62f564a04',
|
'org.jmock:jmock-testjar:2.12.0:jmock-testjar-2.12.0.jar:efefbcf6cd294d0e29f0c46eb2a3380d4ca4e1763ff719c69e2f2ac62f564a04',
|
||||||
'org.jmock:jmock:2.12.0:jmock-2.12.0.jar:266d07314c0cd343c46ff8a55601272de8cf406807caf55e6f313295f83d10be',
|
'org.jmock:jmock:2.12.0:jmock-2.12.0.jar:266d07314c0cd343c46ff8a55601272de8cf406807caf55e6f313295f83d10be',
|
||||||
'org.jsoup:jsoup:1.15.3:jsoup-1.15.3.jar:e20a5e78b1372f2a4e620832db4442d5077e5cbde280b24c666a3770844999bc',
|
'org.jsoup:jsoup:1.15.3:jsoup-1.15.3.jar:e20a5e78b1372f2a4e620832db4442d5077e5cbde280b24c666a3770844999bc',
|
||||||
'org.mockito:mockito-core:5.1.1:mockito-core-5.1.1.jar:447bdedceaef4107c50db3d33e252bf030c6ae0e46454b40dbcfc0dfbf041264',
|
'org.mockito:mockito-core:5.1.1:mockito-core-5.1.1.jar:447bdedceaef4107c50db3d33e252bf030c6ae0e46454b40dbcfc0dfbf041264',
|
||||||
'org.nanohttpd:nanohttpd:2.3.1:nanohttpd-2.3.1.jar:de864c47818157141a24c9acb36df0c47d7bf15b7ff48c90610f3eb4e5df0e58',
|
'org.nanohttpd:nanohttpd:2.3.1:nanohttpd-2.3.1.jar:de864c47818157141a24c9acb36df0c47d7bf15b7ff48c90610f3eb4e5df0e58',
|
||||||
'org.objenesis:objenesis:3.3:objenesis-3.3.jar:02dfd0b0439a5591e35b708ed2f5474eb0948f53abf74637e959b8e4ef69bfeb',
|
'org.objenesis:objenesis:3.3:objenesis-3.3.jar:02dfd0b0439a5591e35b708ed2f5474eb0948f53abf74637e959b8e4ef69bfeb',
|
||||||
'org.ow2.asm:asm-analysis:9.1:asm-analysis-9.1.jar:81a88041b1b8beda5a8a99646098046c48709538270c49def68abff25ac3be34',
|
'org.ow2.asm:asm-analysis:9.1:asm-analysis-9.1.jar:81a88041b1b8beda5a8a99646098046c48709538270c49def68abff25ac3be34',
|
||||||
'org.ow2.asm:asm-analysis:9.2:asm-analysis-9.2.jar:878fbe521731c072d14d2d65b983b1beae6ad06fda0007b6a8bae81f73f433c4',
|
'org.ow2.asm:asm-analysis:9.2:asm-analysis-9.2.jar:878fbe521731c072d14d2d65b983b1beae6ad06fda0007b6a8bae81f73f433c4',
|
||||||
'org.ow2.asm:asm-commons:9.1:asm-commons-9.1.jar:afcb26dc1fc12c0c4a99ada670908dd82e18dfc488caf5ee92546996b470c00c',
|
'org.ow2.asm:asm-commons:9.1:asm-commons-9.1.jar:afcb26dc1fc12c0c4a99ada670908dd82e18dfc488caf5ee92546996b470c00c',
|
||||||
'org.ow2.asm:asm-commons:9.2:asm-commons-9.2.jar:be4ce53138a238bb522cd781cf91f3ba5ce2f6ca93ec62d46a162a127225e0a6',
|
'org.ow2.asm:asm-commons:9.2:asm-commons-9.2.jar:be4ce53138a238bb522cd781cf91f3ba5ce2f6ca93ec62d46a162a127225e0a6',
|
||||||
'org.ow2.asm:asm-tree:9.1:asm-tree-9.1.jar:fd00afa49e9595d7646205b09cecb4a776a8ff0ba06f2d59b8f7bf9c704b4a73',
|
'org.ow2.asm:asm-tree:9.1:asm-tree-9.1.jar:fd00afa49e9595d7646205b09cecb4a776a8ff0ba06f2d59b8f7bf9c704b4a73',
|
||||||
'org.ow2.asm:asm-tree:9.2:asm-tree-9.2.jar:aabf9bd23091a4ebfc109c1f3ee7cf3e4b89f6ba2d3f51c5243f16b3cffae011',
|
'org.ow2.asm:asm-tree:9.2:asm-tree-9.2.jar:aabf9bd23091a4ebfc109c1f3ee7cf3e4b89f6ba2d3f51c5243f16b3cffae011',
|
||||||
'org.ow2.asm:asm-util:9.2:asm-util-9.2.jar:ff5b3cd331ae8a9a804768280da98f50f424fef23dd3c788bb320e08c94ee598',
|
'org.ow2.asm:asm-util:9.2:asm-util-9.2.jar:ff5b3cd331ae8a9a804768280da98f50f424fef23dd3c788bb320e08c94ee598',
|
||||||
'org.ow2.asm:asm:9.1:asm-9.1.jar:cda4de455fab48ff0bcb7c48b4639447d4de859a7afc30a094a986f0936beba2',
|
'org.ow2.asm:asm:9.1:asm-9.1.jar:cda4de455fab48ff0bcb7c48b4639447d4de859a7afc30a094a986f0936beba2',
|
||||||
'org.ow2.asm:asm:9.2:asm-9.2.jar:b9d4fe4d71938df38839f0eca42aaaa64cf8b313d678da036f0cb3ca199b47f5',
|
'org.ow2.asm:asm:9.2:asm-9.2.jar:b9d4fe4d71938df38839f0eca42aaaa64cf8b313d678da036f0cb3ca199b47f5',
|
||||||
'org.robolectric:annotations:4.8.2:annotations-4.8.2.jar:998a02f2573884d017b04e1c0cc3ff3a416620daa8cc8d93d6aa15fc00b02c4b',
|
'org.robolectric:annotations:4.8.2:annotations-4.8.2.jar:998a02f2573884d017b04e1c0cc3ff3a416620daa8cc8d93d6aa15fc00b02c4b',
|
||||||
'org.robolectric:junit:4.8.2:junit-4.8.2.jar:eb0996f147566d722a178b1e1dcb849f69f5dbdd45a0149f10ce0d823b9e5a61',
|
'org.robolectric:junit:4.8.2:junit-4.8.2.jar:eb0996f147566d722a178b1e1dcb849f69f5dbdd45a0149f10ce0d823b9e5a61',
|
||||||
'org.robolectric:nativeruntime:4.8.2:nativeruntime-4.8.2.jar:5135f1083a840a8c68be3730b2ecc9797c19285b25ca1a4cde99bf46a0086b33',
|
'org.robolectric:nativeruntime:4.8.2:nativeruntime-4.8.2.jar:5135f1083a840a8c68be3730b2ecc9797c19285b25ca1a4cde99bf46a0086b33',
|
||||||
'org.robolectric:pluginapi:4.8.2:pluginapi-4.8.2.jar:21fd8b2a0e32c8cefed0f61f439a6a4d358d6bc4ff6b38a50039f4eea31bd05a',
|
'org.robolectric:pluginapi:4.8.2:pluginapi-4.8.2.jar:21fd8b2a0e32c8cefed0f61f439a6a4d358d6bc4ff6b38a50039f4eea31bd05a',
|
||||||
'org.robolectric:plugins-maven-dependency-resolver:4.8.2:plugins-maven-dependency-resolver-4.8.2.jar:c1bceab57dc30e8040e994e07e205ccc340e1c4b9bbc27810ebd13f25706647e',
|
'org.robolectric:plugins-maven-dependency-resolver:4.8.2:plugins-maven-dependency-resolver-4.8.2.jar:c1bceab57dc30e8040e994e07e205ccc340e1c4b9bbc27810ebd13f25706647e',
|
||||||
'org.robolectric:resources:4.8.2:resources-4.8.2.jar:b9632008f3af2a27e9526b5e09a0ec9a6eaf5724093cce6be3e5f8550824d41c',
|
'org.robolectric:resources:4.8.2:resources-4.8.2.jar:b9632008f3af2a27e9526b5e09a0ec9a6eaf5724093cce6be3e5f8550824d41c',
|
||||||
'org.robolectric:robolectric:4.8.2:robolectric-4.8.2.jar:886d58f24c13c86045174735d6e498ac424615956ffe8f85febef4a519bcec4d',
|
'org.robolectric:robolectric:4.8.2:robolectric-4.8.2.jar:886d58f24c13c86045174735d6e498ac424615956ffe8f85febef4a519bcec4d',
|
||||||
'org.robolectric:sandbox:4.8.2:sandbox-4.8.2.jar:45b3a1ecc1064ee5ad9834623af4ce32351ca840395ec6a28f773b284df4b528',
|
'org.robolectric:sandbox:4.8.2:sandbox-4.8.2.jar:45b3a1ecc1064ee5ad9834623af4ce32351ca840395ec6a28f773b284df4b528',
|
||||||
'org.robolectric:shadowapi:4.8.2:shadowapi-4.8.2.jar:084ef1eecbbafbde85b6f227c6886250e00e5382a84d3110382530bd429c70f3',
|
'org.robolectric:shadowapi:4.8.2:shadowapi-4.8.2.jar:084ef1eecbbafbde85b6f227c6886250e00e5382a84d3110382530bd429c70f3',
|
||||||
'org.robolectric:shadows-framework:4.8.2:shadows-framework-4.8.2.jar:ff49a0774e7f3faefce9b9556111a753c29e5298413c4ea698eeea11a7e468d7',
|
'org.robolectric:shadows-framework:4.8.2:shadows-framework-4.8.2.jar:ff49a0774e7f3faefce9b9556111a753c29e5298413c4ea698eeea11a7e468d7',
|
||||||
'org.robolectric:utils-reflector:4.8.2:utils-reflector-4.8.2.jar:9e3334d6c5dd686eb0a73181580c75a0a1029e85e726582b490f706827d3ab8b',
|
'org.robolectric:utils-reflector:4.8.2:utils-reflector-4.8.2.jar:9e3334d6c5dd686eb0a73181580c75a0a1029e85e726582b490f706827d3ab8b',
|
||||||
'org.robolectric:utils:4.8.2:utils-4.8.2.jar:9192307232c2d0dbedde3089970449c9fb861f5d3161caf96bf43317ec19b9c7',
|
'org.robolectric:utils:4.8.2:utils-4.8.2.jar:9192307232c2d0dbedde3089970449c9fb861f5d3161caf96bf43317ec19b9c7',
|
||||||
'tools.fastlane:screengrab:2.1.1:screengrab-2.1.1.aar:5a02781c0986e71ddbc691263115c2db70bdebb4b48d5b6dcf06ab1cb547d62d',
|
'tools.fastlane:screengrab:2.1.1:screengrab-2.1.1.aar:5a02781c0986e71ddbc691263115c2db70bdebb4b48d5b6dcf06ab1cb547d62d',
|
||||||
'uk.co.samuelwall:material-tap-target-prompt:3.3.2:material-tap-target-prompt-3.3.2.aar:1f7c7197149f65036d300e3c6f7bf28d1039ae500d6287cd0130817dbc47a5b2',
|
'uk.co.samuelwall:material-tap-target-prompt:3.3.2:material-tap-target-prompt-3.3.2.aar:1f7c7197149f65036d300e3c6f7bf28d1039ae500d6287cd0130817dbc47a5b2',
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
dependencyVerification {
|
dependencyVerification {
|
||||||
verify = [
|
verify = [
|
||||||
'junit:junit:4.13.2:junit-4.13.2.jar:8e495b634469d64fb8acfa3495a065cbacc8a0fff55ce1e31007be4c16dc57d3',
|
'junit:junit:4.13.2:junit-4.13.2.jar:8e495b634469d64fb8acfa3495a065cbacc8a0fff55ce1e31007be4c16dc57d3',
|
||||||
'org.codehaus.mojo.signature:java16:1.1:java16-1.1.signature:53799223a2c98dba2d0add810bed76315460df285c69e4f397ae6098f87dd619',
|
'org.codehaus.mojo.signature:java16:1.1:java16-1.1.signature:53799223a2c98dba2d0add810bed76315460df285c69e4f397ae6098f87dd619',
|
||||||
'org.codehaus.mojo:animal-sniffer-ant-tasks:1.22:animal-sniffer-ant-tasks-1.22.jar:3f6afeb3e09301d2d7179ed1db21e3ad8846c1e38415ad832a395138ae3f4218',
|
'org.codehaus.mojo:animal-sniffer-ant-tasks:1.22:animal-sniffer-ant-tasks-1.22.jar:3f6afeb3e09301d2d7179ed1db21e3ad8846c1e38415ad832a395138ae3f4218',
|
||||||
'org.codehaus.mojo:animal-sniffer:1.22:animal-sniffer-1.22.jar:f18c11a25bdd8b520b9c6a28cbb6f33007c812ab0051b6be3f0778e660aa501c',
|
'org.codehaus.mojo:animal-sniffer:1.22:animal-sniffer-1.22.jar:f18c11a25bdd8b520b9c6a28cbb6f33007c812ab0051b6be3f0778e660aa501c',
|
||||||
'org.hamcrest:hamcrest-core:1.3:hamcrest-core-1.3.jar:66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9',
|
'org.hamcrest:hamcrest-core:1.3:hamcrest-core-1.3.jar:66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9',
|
||||||
'org.ow2.asm:asm:9.3:asm-9.3.jar:1263369b59e29c943918de11d6d6152e2ec6085ce63e5710516f8c67d368e4bc',
|
'org.ow2.asm:asm:9.3:asm-9.3.jar:1263369b59e29c943918de11d6d6152e2ec6085ce63e5710516f8c67d368e4bc',
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -563,7 +563,7 @@ class GroupInvitationManagerImpl extends ConversationClientImpl
|
|||||||
.parseCreatorSession(contactGroupId, ss.bdfSession);
|
.parseCreatorSession(contactGroupId, ss.bdfSession);
|
||||||
CreatorState state = session.getState();
|
CreatorState state = session.getState();
|
||||||
if (state == START) return SharingStatus.SHAREABLE;
|
if (state == START) return SharingStatus.SHAREABLE;
|
||||||
if (state == INVITED) return SharingStatus.INVITE_SENT;
|
if (state == INVITED) return SharingStatus.INVITE_RECEIVED;
|
||||||
if (state == JOINED) return SharingStatus.SHARING;
|
if (state == JOINED) return SharingStatus.SHARING;
|
||||||
// Apart from the common case that the contact LEFT the group,
|
// Apart from the common case that the contact LEFT the group,
|
||||||
// the creator can also be a LEFT state, after re-adding a contact
|
// the creator can also be a LEFT state, after re-adding a contact
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ import javax.annotation.Nullable;
|
|||||||
|
|
||||||
import static java.util.Collections.emptySet;
|
import static java.util.Collections.emptySet;
|
||||||
import static org.briarproject.briar.api.autodelete.AutoDeleteConstants.MIN_AUTO_DELETE_TIMER_MS;
|
import static org.briarproject.briar.api.autodelete.AutoDeleteConstants.MIN_AUTO_DELETE_TIMER_MS;
|
||||||
import static org.briarproject.briar.api.sharing.SharingManager.SharingStatus.INVITE_SENT;
|
import static org.briarproject.briar.api.sharing.SharingManager.SharingStatus.INVITE_RECEIVED;
|
||||||
import static org.briarproject.briar.api.sharing.SharingManager.SharingStatus.SHAREABLE;
|
import static org.briarproject.briar.api.sharing.SharingManager.SharingStatus.SHAREABLE;
|
||||||
import static org.briarproject.briar.api.sharing.SharingManager.SharingStatus.SHARING;
|
import static org.briarproject.briar.api.sharing.SharingManager.SharingStatus.SHARING;
|
||||||
import static org.briarproject.briar.test.BriarTestUtils.assertGroupCount;
|
import static org.briarproject.briar.test.BriarTestUtils.assertGroupCount;
|
||||||
@@ -322,7 +322,7 @@ public class GroupInvitationIntegrationTest
|
|||||||
sendInvitation(c0.getClock().currentTimeMillis(), null);
|
sendInvitation(c0.getClock().currentTimeMillis(), null);
|
||||||
|
|
||||||
// invitation is not allowed before the first hasn't been answered
|
// invitation is not allowed before the first hasn't been answered
|
||||||
assertEquals(INVITE_SENT, groupInvitationManager0
|
assertEquals(INVITE_RECEIVED, groupInvitationManager0
|
||||||
.getSharingStatus(contact1From0, privateGroup.getId()));
|
.getSharingStatus(contact1From0, privateGroup.getId()));
|
||||||
|
|
||||||
// deliver invitation and response
|
// deliver invitation and response
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ import static org.briarproject.briar.api.privategroup.PrivateGroupConstants.MAX_
|
|||||||
import static org.briarproject.briar.api.privategroup.invitation.GroupInvitationManager.CLIENT_ID;
|
import static org.briarproject.briar.api.privategroup.invitation.GroupInvitationManager.CLIENT_ID;
|
||||||
import static org.briarproject.briar.api.privategroup.invitation.GroupInvitationManager.MAJOR_VERSION;
|
import static org.briarproject.briar.api.privategroup.invitation.GroupInvitationManager.MAJOR_VERSION;
|
||||||
import static org.briarproject.briar.api.sharing.SharingManager.SharingStatus.ERROR;
|
import static org.briarproject.briar.api.sharing.SharingManager.SharingStatus.ERROR;
|
||||||
import static org.briarproject.briar.api.sharing.SharingManager.SharingStatus.INVITE_SENT;
|
import static org.briarproject.briar.api.sharing.SharingManager.SharingStatus.INVITE_RECEIVED;
|
||||||
import static org.briarproject.briar.api.sharing.SharingManager.SharingStatus.SHAREABLE;
|
import static org.briarproject.briar.api.sharing.SharingManager.SharingStatus.SHAREABLE;
|
||||||
import static org.briarproject.briar.api.sharing.SharingManager.SharingStatus.SHARING;
|
import static org.briarproject.briar.api.sharing.SharingManager.SharingStatus.SHARING;
|
||||||
import static org.briarproject.briar.privategroup.invitation.MessageType.ABORT;
|
import static org.briarproject.briar.privategroup.invitation.MessageType.ABORT;
|
||||||
@@ -876,7 +876,7 @@ public class GroupInvitationManagerImplTest extends BrambleMockTestCase {
|
|||||||
.getSharingStatus(contact, privateGroup.getId()));
|
.getSharingStatus(contact, privateGroup.getId()));
|
||||||
|
|
||||||
expectIsInvitationAllowed(CreatorState.INVITED);
|
expectIsInvitationAllowed(CreatorState.INVITED);
|
||||||
assertEquals(INVITE_SENT, groupInvitationManager
|
assertEquals(INVITE_RECEIVED, groupInvitationManager
|
||||||
.getSharingStatus(contact, privateGroup.getId()));
|
.getSharingStatus(contact, privateGroup.getId()));
|
||||||
|
|
||||||
expectIsInvitationAllowed(CreatorState.JOINED);
|
expectIsInvitationAllowed(CreatorState.JOINED);
|
||||||
|
|||||||
@@ -1,65 +1,65 @@
|
|||||||
dependencyVerification {
|
dependencyVerification {
|
||||||
verify = [
|
verify = [
|
||||||
'cglib:cglib:3.2.8:cglib-3.2.8.jar:3f64de999ecc5595dc84ca8ff0879d8a34c8623f9ef3c517a53ed59023fcb9db',
|
'cglib:cglib:3.2.8:cglib-3.2.8.jar:3f64de999ecc5595dc84ca8ff0879d8a34c8623f9ef3c517a53ed59023fcb9db',
|
||||||
'com.google.code.findbugs:annotations:3.0.1:annotations-3.0.1.jar:6b47ff0a6de0ce17cbedc3abb0828ca5bce3009d53ea47b3723ff023c4742f79',
|
'com.google.code.findbugs:annotations:3.0.1:annotations-3.0.1.jar:6b47ff0a6de0ce17cbedc3abb0828ca5bce3009d53ea47b3723ff023c4742f79',
|
||||||
'com.google.code.findbugs:jsr305:3.0.2:jsr305-3.0.2.jar:766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7',
|
'com.google.code.findbugs:jsr305:3.0.2:jsr305-3.0.2.jar:766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7',
|
||||||
'com.google.dagger:dagger-compiler:2.45:dagger-compiler-2.45.jar:5617dfb994537dba5b41f3744a6dd13ec3cd99789c065e0d5c6fa9f21cf7ca25',
|
'com.google.dagger:dagger-compiler:2.45:dagger-compiler-2.45.jar:5617dfb994537dba5b41f3744a6dd13ec3cd99789c065e0d5c6fa9f21cf7ca25',
|
||||||
'com.google.dagger:dagger-producers:2.45:dagger-producers-2.45.jar:a05abb4c3ccf6bb0f056bdcb5ef973898ecf172952ab5948a824aeea6c86ecaa',
|
'com.google.dagger:dagger-producers:2.45:dagger-producers-2.45.jar:a05abb4c3ccf6bb0f056bdcb5ef973898ecf172952ab5948a824aeea6c86ecaa',
|
||||||
'com.google.dagger:dagger-spi:2.45:dagger-spi-2.45.jar:7cd6f0b09d88e64a9c97bc80e544ab8ac8fdee9301754413585a74cf64222b27',
|
'com.google.dagger:dagger-spi:2.45:dagger-spi-2.45.jar:7cd6f0b09d88e64a9c97bc80e544ab8ac8fdee9301754413585a74cf64222b27',
|
||||||
'com.google.dagger:dagger:2.45:dagger-2.45.jar:f011cae7d2c0fb7ea17c34e05bc10e768b1081a5892ad019cf1fdb0e125c49c1',
|
'com.google.dagger:dagger:2.45:dagger-2.45.jar:f011cae7d2c0fb7ea17c34e05bc10e768b1081a5892ad019cf1fdb0e125c49c1',
|
||||||
'com.google.devtools.ksp:symbol-processing-api:1.7.0-1.0.6:symbol-processing-api-1.7.0-1.0.6.jar:adc29417be5ca9ff42118105fea4e36d9ef44987abfc41432309371a60198941',
|
'com.google.devtools.ksp:symbol-processing-api:1.7.0-1.0.6:symbol-processing-api-1.7.0-1.0.6.jar:adc29417be5ca9ff42118105fea4e36d9ef44987abfc41432309371a60198941',
|
||||||
'com.google.errorprone:error_prone_annotations:2.7.1:error_prone_annotations-2.7.1.jar:cd5257c08a246cf8628817ae71cb822be192ef91f6881ca4a3fcff4f1de1cff3',
|
'com.google.errorprone:error_prone_annotations:2.7.1:error_prone_annotations-2.7.1.jar:cd5257c08a246cf8628817ae71cb822be192ef91f6881ca4a3fcff4f1de1cff3',
|
||||||
'com.google.errorprone:javac-shaded:9-dev-r4023-3:javac-shaded-9-dev-r4023-3.jar:65bfccf60986c47fbc17c9ebab0be626afc41741e0a6ec7109e0768817a36f30',
|
'com.google.errorprone:javac-shaded:9-dev-r4023-3:javac-shaded-9-dev-r4023-3.jar:65bfccf60986c47fbc17c9ebab0be626afc41741e0a6ec7109e0768817a36f30',
|
||||||
'com.google.googlejavaformat:google-java-format:1.5:google-java-format-1.5.jar:aa19ad7850fb85178aa22f2fddb163b84d6ce4d0035872f30d4408195ca1144e',
|
'com.google.googlejavaformat:google-java-format:1.5:google-java-format-1.5.jar:aa19ad7850fb85178aa22f2fddb163b84d6ce4d0035872f30d4408195ca1144e',
|
||||||
'com.google.guava:failureaccess:1.0.1:failureaccess-1.0.1.jar:a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26',
|
'com.google.guava:failureaccess:1.0.1:failureaccess-1.0.1.jar:a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26',
|
||||||
'com.google.guava:guava:31.0.1-jre:guava-31.0.1-jre.jar:d5be94d65e87bd219fb3193ad1517baa55a3b88fc91d21cf735826ab5af087b9',
|
'com.google.guava:guava:31.0.1-jre:guava-31.0.1-jre.jar:d5be94d65e87bd219fb3193ad1517baa55a3b88fc91d21cf735826ab5af087b9',
|
||||||
'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava:listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar:b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99',
|
'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava:listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar:b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99',
|
||||||
'com.google.j2objc:j2objc-annotations:1.3:j2objc-annotations-1.3.jar:21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b',
|
'com.google.j2objc:j2objc-annotations:1.3:j2objc-annotations-1.3.jar:21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b',
|
||||||
'com.rometools:rome-utils:1.18.0:rome-utils-1.18.0.jar:8445ad8e4539e074e8dd5865c2da8582071d593d9aef55267803c7fdcc095c19',
|
'com.rometools:rome-utils:1.18.0:rome-utils-1.18.0.jar:8445ad8e4539e074e8dd5865c2da8582071d593d9aef55267803c7fdcc095c19',
|
||||||
'com.rometools:rome:1.18.0:rome-1.18.0.jar:2776a17a8923e2f31a8d694cd1e265a0e03c9b67e3f9404937dac854fb60d11c',
|
'com.rometools:rome:1.18.0:rome-1.18.0.jar:2776a17a8923e2f31a8d694cd1e265a0e03c9b67e3f9404937dac854fb60d11c',
|
||||||
'com.squareup.okhttp3:mockwebserver:4.10.0:mockwebserver-4.10.0.jar:af29da234e63159d6e0dea43bf8288eea97d71cdf1651a5ee2d6c0d0d4adbf8f',
|
'com.squareup.okhttp3:mockwebserver:4.10.0:mockwebserver-4.10.0.jar:af29da234e63159d6e0dea43bf8288eea97d71cdf1651a5ee2d6c0d0d4adbf8f',
|
||||||
'com.squareup.okhttp3:okhttp:4.10.0:okhttp-4.10.0.jar:7580f14fa1691206e37081ad3f92063b1603b328da0bb316f2fef02e0562e7ec',
|
'com.squareup.okhttp3:okhttp:4.10.0:okhttp-4.10.0.jar:7580f14fa1691206e37081ad3f92063b1603b328da0bb316f2fef02e0562e7ec',
|
||||||
'com.squareup.okio:okio-jvm:3.0.0:okio-jvm-3.0.0.jar:be64a0cc1f28ea9cd5c970dd7e7557af72c808d738c495b397bf897c9921e907',
|
'com.squareup.okio:okio-jvm:3.0.0:okio-jvm-3.0.0.jar:be64a0cc1f28ea9cd5c970dd7e7557af72c808d738c495b397bf897c9921e907',
|
||||||
'com.squareup:javapoet:1.13.0:javapoet-1.13.0.jar:4c7517e848a71b36d069d12bb3bf46a70fd4cda3105d822b0ed2e19c00b69291',
|
'com.squareup:javapoet:1.13.0:javapoet-1.13.0.jar:4c7517e848a71b36d069d12bb3bf46a70fd4cda3105d822b0ed2e19c00b69291',
|
||||||
'com.squareup:kotlinpoet:1.11.0:kotlinpoet-1.11.0.jar:2887ada1ca03dd83baa2758640d87e840d1907564db0ef88d2289c868a980492',
|
'com.squareup:kotlinpoet:1.11.0:kotlinpoet-1.11.0.jar:2887ada1ca03dd83baa2758640d87e840d1907564db0ef88d2289c868a980492',
|
||||||
'javax.inject:javax.inject:1:javax.inject-1.jar:91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff',
|
'javax.inject:javax.inject:1:javax.inject-1.jar:91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff',
|
||||||
'junit:junit:4.13.2:junit-4.13.2.jar:8e495b634469d64fb8acfa3495a065cbacc8a0fff55ce1e31007be4c16dc57d3',
|
'junit:junit:4.13.2:junit-4.13.2.jar:8e495b634469d64fb8acfa3495a065cbacc8a0fff55ce1e31007be4c16dc57d3',
|
||||||
'net.bytebuddy:byte-buddy:1.9.12:byte-buddy-1.9.12.jar:3688c3d434bebc3edc5516296a2ed0f47b65e451071b4afecad84f902f0efc11',
|
'net.bytebuddy:byte-buddy:1.9.12:byte-buddy-1.9.12.jar:3688c3d434bebc3edc5516296a2ed0f47b65e451071b4afecad84f902f0efc11',
|
||||||
'net.jcip:jcip-annotations:1.0:jcip-annotations-1.0.jar:be5805392060c71474bf6c9a67a099471274d30b83eef84bfc4e0889a4f1dcc0',
|
'net.jcip:jcip-annotations:1.0:jcip-annotations-1.0.jar:be5805392060c71474bf6c9a67a099471274d30b83eef84bfc4e0889a4f1dcc0',
|
||||||
'net.jodah:concurrentunit:0.4.6:concurrentunit-0.4.6.jar:760e6d4ab7801484de09da621b61141f3b2c2432949da9eb13f076e5d9a5e0a5',
|
'net.jodah:concurrentunit:0.4.6:concurrentunit-0.4.6.jar:760e6d4ab7801484de09da621b61141f3b2c2432949da9eb13f076e5d9a5e0a5',
|
||||||
'net.ltgt.gradle.incap:incap:0.2:incap-0.2.jar:b625b9806b0f1e4bc7a2e3457119488de3cd57ea20feedd513db070a573a4ffd',
|
'net.ltgt.gradle.incap:incap:0.2:incap-0.2.jar:b625b9806b0f1e4bc7a2e3457119488de3cd57ea20feedd513db070a573a4ffd',
|
||||||
'org.apache-extras.beanshell:bsh:2.0b6:bsh-2.0b6.jar:a17955976070c0573235ee662f2794a78082758b61accffce8d3f8aedcd91047',
|
'org.apache-extras.beanshell:bsh:2.0b6:bsh-2.0b6.jar:a17955976070c0573235ee662f2794a78082758b61accffce8d3f8aedcd91047',
|
||||||
'org.checkerframework:checker-compat-qual:2.5.5:checker-compat-qual-2.5.5.jar:11d134b245e9cacc474514d2d66b5b8618f8039a1465cdc55bbc0b34e0008b7a',
|
'org.checkerframework:checker-compat-qual:2.5.5:checker-compat-qual-2.5.5.jar:11d134b245e9cacc474514d2d66b5b8618f8039a1465cdc55bbc0b34e0008b7a',
|
||||||
'org.checkerframework:checker-qual:3.12.0:checker-qual-3.12.0.jar:ff10785ac2a357ec5de9c293cb982a2cbb605c0309ea4cc1cb9b9bc6dbe7f3cb',
|
'org.checkerframework:checker-qual:3.12.0:checker-qual-3.12.0.jar:ff10785ac2a357ec5de9c293cb982a2cbb605c0309ea4cc1cb9b9bc6dbe7f3cb',
|
||||||
'org.codehaus.mojo.signature:java16:1.1:java16-1.1.signature:53799223a2c98dba2d0add810bed76315460df285c69e4f397ae6098f87dd619',
|
'org.codehaus.mojo.signature:java16:1.1:java16-1.1.signature:53799223a2c98dba2d0add810bed76315460df285c69e4f397ae6098f87dd619',
|
||||||
'org.codehaus.mojo:animal-sniffer-ant-tasks:1.22:animal-sniffer-ant-tasks-1.22.jar:3f6afeb3e09301d2d7179ed1db21e3ad8846c1e38415ad832a395138ae3f4218',
|
'org.codehaus.mojo:animal-sniffer-ant-tasks:1.22:animal-sniffer-ant-tasks-1.22.jar:3f6afeb3e09301d2d7179ed1db21e3ad8846c1e38415ad832a395138ae3f4218',
|
||||||
'org.codehaus.mojo:animal-sniffer:1.22:animal-sniffer-1.22.jar:f18c11a25bdd8b520b9c6a28cbb6f33007c812ab0051b6be3f0778e660aa501c',
|
'org.codehaus.mojo:animal-sniffer:1.22:animal-sniffer-1.22.jar:f18c11a25bdd8b520b9c6a28cbb6f33007c812ab0051b6be3f0778e660aa501c',
|
||||||
'org.hamcrest:hamcrest-core:2.1:hamcrest-core-2.1.jar:e09109e54a289d88506b9bfec987ddd199f4217c9464132668351b9a4f00bee9',
|
'org.hamcrest:hamcrest-core:2.1:hamcrest-core-2.1.jar:e09109e54a289d88506b9bfec987ddd199f4217c9464132668351b9a4f00bee9',
|
||||||
'org.hamcrest:hamcrest-library:2.1:hamcrest-library-2.1.jar:b7e2b6895b3b679f0e47b6380fda391b225e9b78505db9d8bdde8d3cc8d52a21',
|
'org.hamcrest:hamcrest-library:2.1:hamcrest-library-2.1.jar:b7e2b6895b3b679f0e47b6380fda391b225e9b78505db9d8bdde8d3cc8d52a21',
|
||||||
'org.hamcrest:hamcrest:2.1:hamcrest-2.1.jar:ba93b2e3a562322ba432f0a1b53addcc55cb188253319a020ed77f824e692050',
|
'org.hamcrest:hamcrest:2.1:hamcrest-2.1.jar:ba93b2e3a562322ba432f0a1b53addcc55cb188253319a020ed77f824e692050',
|
||||||
'org.jdom:jdom2:2.0.6.1:jdom2-2.0.6.1.jar:0b20f45e3a0fd8f0d12cdc5316b06776e902b1365db00118876f9175c60f302c',
|
'org.jdom:jdom2:2.0.6.1:jdom2-2.0.6.1.jar:0b20f45e3a0fd8f0d12cdc5316b06776e902b1365db00118876f9175c60f302c',
|
||||||
'org.jetbrains.kotlin:kotlin-reflect:1.6.10:kotlin-reflect-1.6.10.jar:3277ac102ae17aad10a55abec75ff5696c8d109790396434b496e75087854203',
|
'org.jetbrains.kotlin:kotlin-reflect:1.6.10:kotlin-reflect-1.6.10.jar:3277ac102ae17aad10a55abec75ff5696c8d109790396434b496e75087854203',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-common:1.6.20:kotlin-stdlib-common-1.6.20.jar:8da40a2520d30dcb1012176fe93d24e82d08a3e346c37e0343b0fb6f64f6be01',
|
'org.jetbrains.kotlin:kotlin-stdlib-common:1.6.20:kotlin-stdlib-common-1.6.20.jar:8da40a2520d30dcb1012176fe93d24e82d08a3e346c37e0343b0fb6f64f6be01',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-common:1.7.0:kotlin-stdlib-common-1.7.0.jar:59c6ff64fe9a6604afce03e8aaa75f83586c6030ac71fb0b34ee7cdefed3618f',
|
'org.jetbrains.kotlin:kotlin-stdlib-common:1.7.0:kotlin-stdlib-common-1.7.0.jar:59c6ff64fe9a6604afce03e8aaa75f83586c6030ac71fb0b34ee7cdefed3618f',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.5.31:kotlin-stdlib-jdk7-1.5.31.jar:a25bf47353ce899d843cbddee516d621a73473e7fba97f8d0301e7b4aed7c15f',
|
'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.5.31:kotlin-stdlib-jdk7-1.5.31.jar:a25bf47353ce899d843cbddee516d621a73473e7fba97f8d0301e7b4aed7c15f',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.10:kotlin-stdlib-jdk7-1.6.10.jar:2aedcdc6b69b33bdf5cc235bcea88e7cf6601146bb6bcdffdb312bbacd7be261',
|
'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.10:kotlin-stdlib-jdk7-1.6.10.jar:2aedcdc6b69b33bdf5cc235bcea88e7cf6601146bb6bcdffdb312bbacd7be261',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.0:kotlin-stdlib-jdk7-1.7.0.jar:07e91be9b2ca20672d2bdb7e181b766e73453a2da13492b5ddaee8fa47aea239',
|
'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.0:kotlin-stdlib-jdk7-1.7.0.jar:07e91be9b2ca20672d2bdb7e181b766e73453a2da13492b5ddaee8fa47aea239',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.31:kotlin-stdlib-jdk8-1.5.31.jar:b548f7767aacf029d2417e47440742bd6d3ebede19b60386e23554ce5c4c5fdc',
|
'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.31:kotlin-stdlib-jdk8-1.5.31.jar:b548f7767aacf029d2417e47440742bd6d3ebede19b60386e23554ce5c4c5fdc',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10:kotlin-stdlib-jdk8-1.6.10.jar:1456d82d039ea30d8485b032901f52bbf07e7cdbe8bb1f8708ad32a8574c41ce',
|
'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10:kotlin-stdlib-jdk8-1.6.10.jar:1456d82d039ea30d8485b032901f52bbf07e7cdbe8bb1f8708ad32a8574c41ce',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.0:kotlin-stdlib-jdk8-1.7.0.jar:cf058e11db1dfc9944680c8c61b95ac689aaaa8a3eb30bced028100f038f030b',
|
'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.0:kotlin-stdlib-jdk8-1.7.0.jar:cf058e11db1dfc9944680c8c61b95ac689aaaa8a3eb30bced028100f038f030b',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib:1.6.20:kotlin-stdlib-1.6.20.jar:eeb51c2b67b26233fd81d0bc4f8044ec849718890905763ceffd84a31e2cb799',
|
'org.jetbrains.kotlin:kotlin-stdlib:1.6.20:kotlin-stdlib-1.6.20.jar:eeb51c2b67b26233fd81d0bc4f8044ec849718890905763ceffd84a31e2cb799',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib:1.7.0:kotlin-stdlib-1.7.0.jar:aa88e9625577957f3249a46cb6e166ee09b369e600f7a11d148d16b0a6d87f05',
|
'org.jetbrains.kotlin:kotlin-stdlib:1.7.0:kotlin-stdlib-1.7.0.jar:aa88e9625577957f3249a46cb6e166ee09b369e600f7a11d148d16b0a6d87f05',
|
||||||
'org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.5.0:kotlinx-metadata-jvm-0.5.0.jar:ca063a96639b08b9eaa0de4d65e899480740a6efbe28ab9a8681a2ced03055a4',
|
'org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.5.0:kotlinx-metadata-jvm-0.5.0.jar:ca063a96639b08b9eaa0de4d65e899480740a6efbe28ab9a8681a2ced03055a4',
|
||||||
'org.jetbrains:annotations:13.0:annotations-13.0.jar:ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478',
|
'org.jetbrains:annotations:13.0:annotations-13.0.jar:ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478',
|
||||||
'org.jmock:jmock-imposters:2.12.0:jmock-imposters-2.12.0.jar:3b836269745a137c9b2347e8d7c2104845b126ef04f012d6bfd94f1a7dea7b09',
|
'org.jmock:jmock-imposters:2.12.0:jmock-imposters-2.12.0.jar:3b836269745a137c9b2347e8d7c2104845b126ef04f012d6bfd94f1a7dea7b09',
|
||||||
'org.jmock:jmock-junit4:2.12.0:jmock-junit4-2.12.0.jar:3233062fc889637c151a24f1ee086bad04321ab7d8264fef279daff0fa27205b',
|
'org.jmock:jmock-junit4:2.12.0:jmock-junit4-2.12.0.jar:3233062fc889637c151a24f1ee086bad04321ab7d8264fef279daff0fa27205b',
|
||||||
'org.jmock:jmock-legacy:2.12.0:jmock-legacy-2.12.0.jar:dea3a9cca653d082e2fe7e40232e982fe03a9984c7d67ceff24f3e03fe580dcd',
|
'org.jmock:jmock-legacy:2.12.0:jmock-legacy-2.12.0.jar:dea3a9cca653d082e2fe7e40232e982fe03a9984c7d67ceff24f3e03fe580dcd',
|
||||||
'org.jmock:jmock-testjar:2.12.0:jmock-testjar-2.12.0.jar:efefbcf6cd294d0e29f0c46eb2a3380d4ca4e1763ff719c69e2f2ac62f564a04',
|
'org.jmock:jmock-testjar:2.12.0:jmock-testjar-2.12.0.jar:efefbcf6cd294d0e29f0c46eb2a3380d4ca4e1763ff719c69e2f2ac62f564a04',
|
||||||
'org.jmock:jmock:2.12.0:jmock-2.12.0.jar:266d07314c0cd343c46ff8a55601272de8cf406807caf55e6f313295f83d10be',
|
'org.jmock:jmock:2.12.0:jmock-2.12.0.jar:266d07314c0cd343c46ff8a55601272de8cf406807caf55e6f313295f83d10be',
|
||||||
'org.jsoup:jsoup:1.15.3:jsoup-1.15.3.jar:e20a5e78b1372f2a4e620832db4442d5077e5cbde280b24c666a3770844999bc',
|
'org.jsoup:jsoup:1.15.3:jsoup-1.15.3.jar:e20a5e78b1372f2a4e620832db4442d5077e5cbde280b24c666a3770844999bc',
|
||||||
'org.objenesis:objenesis:3.0.1:objenesis-3.0.1.jar:7a8ff780b9ff48415d7c705f60030b0acaa616e7f823c98eede3b63508d4e984',
|
'org.objenesis:objenesis:3.0.1:objenesis-3.0.1.jar:7a8ff780b9ff48415d7c705f60030b0acaa616e7f823c98eede3b63508d4e984',
|
||||||
'org.ow2.asm:asm:7.1:asm-7.1.jar:4ab2fa2b6d2cc9ccb1eaa05ea329c407b47b13ed2915f62f8c4b8cc96258d4de',
|
'org.ow2.asm:asm:7.1:asm-7.1.jar:4ab2fa2b6d2cc9ccb1eaa05ea329c407b47b13ed2915f62f8c4b8cc96258d4de',
|
||||||
'org.ow2.asm:asm:9.3:asm-9.3.jar:1263369b59e29c943918de11d6d6152e2ec6085ce63e5710516f8c67d368e4bc',
|
'org.ow2.asm:asm:9.3:asm-9.3.jar:1263369b59e29c943918de11d6d6152e2ec6085ce63e5710516f8c67d368e4bc',
|
||||||
'org.slf4j:slf4j-api:1.7.32:slf4j-api-1.7.32.jar:3624f8474c1af46d75f98bc097d7864a323c81b3808aa43689a6e1c601c027be',
|
'org.slf4j:slf4j-api:1.7.32:slf4j-api-1.7.32.jar:3624f8474c1af46d75f98bc097d7864a323c81b3808aa43689a6e1c601c027be',
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -75,11 +75,11 @@ dependencies {
|
|||||||
void jarFactory(Jar jarTask, os, architecture, configuration) {
|
void jarFactory(Jar jarTask, os, architecture, configuration) {
|
||||||
def jarArchitecture = os + "-" + architecture
|
def jarArchitecture = os + "-" + architecture
|
||||||
jarTask.dependsOn(
|
jarTask.dependsOn(
|
||||||
':bramble-api:jar',
|
':bramble-api:jar',
|
||||||
':bramble-core:jar',
|
':bramble-core:jar',
|
||||||
':bramble-java:jar',
|
':bramble-java:jar',
|
||||||
':briar-api:jar',
|
':briar-api:jar',
|
||||||
':briar-core:jar'
|
':briar-core:jar'
|
||||||
)
|
)
|
||||||
jarTask.dependsOn(jar)
|
jarTask.dependsOn(jar)
|
||||||
jarTask.doFirst {
|
jarTask.doFirst {
|
||||||
@@ -87,32 +87,32 @@ void jarFactory(Jar jarTask, os, architecture, configuration) {
|
|||||||
}
|
}
|
||||||
jarTask.manifest {
|
jarTask.manifest {
|
||||||
attributes(
|
attributes(
|
||||||
'Main-Class': 'org.briarproject.briar.headless.MainKt'
|
'Main-Class': 'org.briarproject.briar.headless.MainKt'
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
jarTask.setArchiveClassifier(jarArchitecture)
|
jarTask.setArchiveClassifier(jarArchitecture)
|
||||||
jarTask.from {
|
jarTask.from {
|
||||||
configuration.collect { it.isDirectory() ? it : zipTree(it) }
|
configuration.collect { it.isDirectory() ? it : zipTree(it) }
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
it.duplicatesStrategy(DuplicatesStrategy.EXCLUDE)
|
it.duplicatesStrategy(DuplicatesStrategy.EXCLUDE)
|
||||||
if (os == "linux" || os == "macos") {
|
if (os == "linux" || os == "macos") {
|
||||||
String[] architectures = [
|
String[] architectures = [
|
||||||
"aarch64",
|
"aarch64",
|
||||||
"armhf",
|
"armhf",
|
||||||
"x86_64",
|
"x86_64",
|
||||||
]
|
]
|
||||||
for (String arch : architectures) {
|
for (String arch : architectures) {
|
||||||
if (arch != architecture) {
|
if (arch != architecture) {
|
||||||
exclude arch + "/obfs4proxy"
|
exclude arch + "/obfs4proxy"
|
||||||
exclude arch + "/tor"
|
exclude arch + "/tor"
|
||||||
exclude arch + "/snowflake"
|
exclude arch + "/snowflake"
|
||||||
exclude arch + "/libevent-*.dylib"
|
exclude arch + "/libevent-*.dylib"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
exclude 'META-INF/*.SF', 'META-INF/*.DSA', 'META-INF/*.RSA'
|
||||||
}
|
}
|
||||||
exclude 'META-INF/*.SF', 'META-INF/*.DSA', 'META-INF/*.RSA'
|
|
||||||
}
|
|
||||||
jarTask.with jar
|
jarTask.with jar
|
||||||
jarTask.doLast {
|
jarTask.doLast {
|
||||||
// Rename the original jar
|
// Rename the original jar
|
||||||
|
|||||||
@@ -1,107 +1,107 @@
|
|||||||
dependencyVerification {
|
dependencyVerification {
|
||||||
verify = [
|
verify = [
|
||||||
'com.fasterxml.jackson.core:jackson-annotations:2.13.4:jackson-annotations-2.13.4.jar:ac5b27a634942391ca113850ee7db01df1499a240174021263501c05fc653b44',
|
'com.fasterxml.jackson.core:jackson-annotations:2.13.4:jackson-annotations-2.13.4.jar:ac5b27a634942391ca113850ee7db01df1499a240174021263501c05fc653b44',
|
||||||
'com.fasterxml.jackson.core:jackson-core:2.13.4:jackson-core-2.13.4.jar:4c2e043200edd9ee7ba6fc378bd5c17784a5bf2388e152d208068b51fd0839cf',
|
'com.fasterxml.jackson.core:jackson-core:2.13.4:jackson-core-2.13.4.jar:4c2e043200edd9ee7ba6fc378bd5c17784a5bf2388e152d208068b51fd0839cf',
|
||||||
'com.fasterxml.jackson.core:jackson-databind:2.13.4:jackson-databind-2.13.4.jar:c9faff420d9e2c7e1e4711dbeebec2506a32c9942027211c5c293d8d87807eb6',
|
'com.fasterxml.jackson.core:jackson-databind:2.13.4:jackson-databind-2.13.4.jar:c9faff420d9e2c7e1e4711dbeebec2506a32c9942027211c5c293d8d87807eb6',
|
||||||
'com.github.ajalt:clikt:2.2.0:clikt-2.2.0.jar:beb3136d06764ec8ce0810a8fd6c8b7b49d04287d1deef3a07c016e43a458d33',
|
'com.github.ajalt:clikt:2.2.0:clikt-2.2.0.jar:beb3136d06764ec8ce0810a8fd6c8b7b49d04287d1deef3a07c016e43a458d33',
|
||||||
'com.google.code.findbugs:jsr305:3.0.2:jsr305-3.0.2.jar:766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7',
|
'com.google.code.findbugs:jsr305:3.0.2:jsr305-3.0.2.jar:766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7',
|
||||||
'com.google.dagger:dagger-compiler:2.45:dagger-compiler-2.45.jar:5617dfb994537dba5b41f3744a6dd13ec3cd99789c065e0d5c6fa9f21cf7ca25',
|
'com.google.dagger:dagger-compiler:2.45:dagger-compiler-2.45.jar:5617dfb994537dba5b41f3744a6dd13ec3cd99789c065e0d5c6fa9f21cf7ca25',
|
||||||
'com.google.dagger:dagger-producers:2.45:dagger-producers-2.45.jar:a05abb4c3ccf6bb0f056bdcb5ef973898ecf172952ab5948a824aeea6c86ecaa',
|
'com.google.dagger:dagger-producers:2.45:dagger-producers-2.45.jar:a05abb4c3ccf6bb0f056bdcb5ef973898ecf172952ab5948a824aeea6c86ecaa',
|
||||||
'com.google.dagger:dagger-spi:2.45:dagger-spi-2.45.jar:7cd6f0b09d88e64a9c97bc80e544ab8ac8fdee9301754413585a74cf64222b27',
|
'com.google.dagger:dagger-spi:2.45:dagger-spi-2.45.jar:7cd6f0b09d88e64a9c97bc80e544ab8ac8fdee9301754413585a74cf64222b27',
|
||||||
'com.google.dagger:dagger:2.45:dagger-2.45.jar:f011cae7d2c0fb7ea17c34e05bc10e768b1081a5892ad019cf1fdb0e125c49c1',
|
'com.google.dagger:dagger:2.45:dagger-2.45.jar:f011cae7d2c0fb7ea17c34e05bc10e768b1081a5892ad019cf1fdb0e125c49c1',
|
||||||
'com.google.devtools.ksp:symbol-processing-api:1.7.0-1.0.6:symbol-processing-api-1.7.0-1.0.6.jar:adc29417be5ca9ff42118105fea4e36d9ef44987abfc41432309371a60198941',
|
'com.google.devtools.ksp:symbol-processing-api:1.7.0-1.0.6:symbol-processing-api-1.7.0-1.0.6.jar:adc29417be5ca9ff42118105fea4e36d9ef44987abfc41432309371a60198941',
|
||||||
'com.google.errorprone:error_prone_annotations:2.7.1:error_prone_annotations-2.7.1.jar:cd5257c08a246cf8628817ae71cb822be192ef91f6881ca4a3fcff4f1de1cff3',
|
'com.google.errorprone:error_prone_annotations:2.7.1:error_prone_annotations-2.7.1.jar:cd5257c08a246cf8628817ae71cb822be192ef91f6881ca4a3fcff4f1de1cff3',
|
||||||
'com.google.errorprone:javac-shaded:9-dev-r4023-3:javac-shaded-9-dev-r4023-3.jar:65bfccf60986c47fbc17c9ebab0be626afc41741e0a6ec7109e0768817a36f30',
|
'com.google.errorprone:javac-shaded:9-dev-r4023-3:javac-shaded-9-dev-r4023-3.jar:65bfccf60986c47fbc17c9ebab0be626afc41741e0a6ec7109e0768817a36f30',
|
||||||
'com.google.googlejavaformat:google-java-format:1.5:google-java-format-1.5.jar:aa19ad7850fb85178aa22f2fddb163b84d6ce4d0035872f30d4408195ca1144e',
|
'com.google.googlejavaformat:google-java-format:1.5:google-java-format-1.5.jar:aa19ad7850fb85178aa22f2fddb163b84d6ce4d0035872f30d4408195ca1144e',
|
||||||
'com.google.guava:failureaccess:1.0.1:failureaccess-1.0.1.jar:a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26',
|
'com.google.guava:failureaccess:1.0.1:failureaccess-1.0.1.jar:a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26',
|
||||||
'com.google.guava:guava:31.0.1-jre:guava-31.0.1-jre.jar:d5be94d65e87bd219fb3193ad1517baa55a3b88fc91d21cf735826ab5af087b9',
|
'com.google.guava:guava:31.0.1-jre:guava-31.0.1-jre.jar:d5be94d65e87bd219fb3193ad1517baa55a3b88fc91d21cf735826ab5af087b9',
|
||||||
'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava:listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar:b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99',
|
'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava:listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar:b372a037d4230aa57fbeffdef30fd6123f9c0c2db85d0aced00c91b974f33f99',
|
||||||
'com.google.j2objc:j2objc-annotations:1.3:j2objc-annotations-1.3.jar:21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b',
|
'com.google.j2objc:j2objc-annotations:1.3:j2objc-annotations-1.3.jar:21af30c92267bd6122c0e0b4d20cccb6641a37eaf956c6540ec471d584e64a7b',
|
||||||
'com.squareup.okhttp3:okhttp:4.10.0:okhttp-4.10.0.jar:7580f14fa1691206e37081ad3f92063b1603b328da0bb316f2fef02e0562e7ec',
|
'com.squareup.okhttp3:okhttp:4.10.0:okhttp-4.10.0.jar:7580f14fa1691206e37081ad3f92063b1603b328da0bb316f2fef02e0562e7ec',
|
||||||
'com.squareup.okio:okio-jvm:3.0.0:okio-jvm-3.0.0.jar:be64a0cc1f28ea9cd5c970dd7e7557af72c808d738c495b397bf897c9921e907',
|
'com.squareup.okio:okio-jvm:3.0.0:okio-jvm-3.0.0.jar:be64a0cc1f28ea9cd5c970dd7e7557af72c808d738c495b397bf897c9921e907',
|
||||||
'com.squareup.okio:okio:3.0.0:okio-metadata-3.0.0.jar:dcbe63ed43b2c90c325e9e6a0863e2e7605980bff5e728c6de1088be5574979e',
|
'com.squareup.okio:okio:3.0.0:okio-metadata-3.0.0.jar:dcbe63ed43b2c90c325e9e6a0863e2e7605980bff5e728c6de1088be5574979e',
|
||||||
'com.squareup:javapoet:1.13.0:javapoet-1.13.0.jar:4c7517e848a71b36d069d12bb3bf46a70fd4cda3105d822b0ed2e19c00b69291',
|
'com.squareup:javapoet:1.13.0:javapoet-1.13.0.jar:4c7517e848a71b36d069d12bb3bf46a70fd4cda3105d822b0ed2e19c00b69291',
|
||||||
'com.squareup:kotlinpoet:1.11.0:kotlinpoet-1.11.0.jar:2887ada1ca03dd83baa2758640d87e840d1907564db0ef88d2289c868a980492',
|
'com.squareup:kotlinpoet:1.11.0:kotlinpoet-1.11.0.jar:2887ada1ca03dd83baa2758640d87e840d1907564db0ef88d2289c868a980492',
|
||||||
'com.vaadin.external.google:android-json:0.0.20131108.vaadin1:android-json-0.0.20131108.vaadin1.jar:dfb7bae2f404cfe0b72b4d23944698cb716b7665171812a0a4d0f5926c0fac79',
|
'com.vaadin.external.google:android-json:0.0.20131108.vaadin1:android-json-0.0.20131108.vaadin1.jar:dfb7bae2f404cfe0b72b4d23944698cb716b7665171812a0a4d0f5926c0fac79',
|
||||||
'io.javalin:javalin:3.5.0:javalin-3.5.0.jar:6618f99ad4c241eefcaf3a02c85adc52ec346c9710e8eb5a3f1a916e3d7acec4',
|
'io.javalin:javalin:3.5.0:javalin-3.5.0.jar:6618f99ad4c241eefcaf3a02c85adc52ec346c9710e8eb5a3f1a916e3d7acec4',
|
||||||
'io.mockk:mockk-agent-api:1.12.4:mockk-agent-api-1.12.4.jar:6eb3407b1f88c0c0ced9636f82874100786b74b3b06c4354c4d85229779fdec8',
|
'io.mockk:mockk-agent-api:1.12.4:mockk-agent-api-1.12.4.jar:6eb3407b1f88c0c0ced9636f82874100786b74b3b06c4354c4d85229779fdec8',
|
||||||
'io.mockk:mockk-agent-common:1.12.4:mockk-agent-common-1.12.4.jar:427d071ec7a85f105c152a51a89738d8ee52954130e5c09500837dfbe3549329',
|
'io.mockk:mockk-agent-common:1.12.4:mockk-agent-common-1.12.4.jar:427d071ec7a85f105c152a51a89738d8ee52954130e5c09500837dfbe3549329',
|
||||||
'io.mockk:mockk-agent-jvm:1.12.4:mockk-agent-jvm-1.12.4.jar:840c11f2e0a14d35e229c2b6018273f4623c7f619ebf9701164bb9c2db99c098',
|
'io.mockk:mockk-agent-jvm:1.12.4:mockk-agent-jvm-1.12.4.jar:840c11f2e0a14d35e229c2b6018273f4623c7f619ebf9701164bb9c2db99c098',
|
||||||
'io.mockk:mockk-common:1.12.4:mockk-common-1.12.4.jar:16f1ba4738535458cb91fa1a759794f6618a6f9f1ae1d149e79b48cc06ea5e7b',
|
'io.mockk:mockk-common:1.12.4:mockk-common-1.12.4.jar:16f1ba4738535458cb91fa1a759794f6618a6f9f1ae1d149e79b48cc06ea5e7b',
|
||||||
'io.mockk:mockk-dsl-jvm:1.12.4:mockk-dsl-jvm-1.12.4.jar:faee4b52def68fa182f89d23c2a45f2246ef88b6b1ba98346aa85f57e5ed630f',
|
'io.mockk:mockk-dsl-jvm:1.12.4:mockk-dsl-jvm-1.12.4.jar:faee4b52def68fa182f89d23c2a45f2246ef88b6b1ba98346aa85f57e5ed630f',
|
||||||
'io.mockk:mockk-dsl:1.12.4:mockk-dsl-1.12.4.jar:7fc96f9ed5118c915a3890ba2e4090c9b283ae7bdc37ab83885415bdf77650e4',
|
'io.mockk:mockk-dsl:1.12.4:mockk-dsl-1.12.4.jar:7fc96f9ed5118c915a3890ba2e4090c9b283ae7bdc37ab83885415bdf77650e4',
|
||||||
'io.mockk:mockk:1.12.4:mockk-1.12.4.jar:2c34a3690b958a3cf38b82d0f4910dc9992fb078dce6f56d71498293557bf805',
|
'io.mockk:mockk:1.12.4:mockk-1.12.4.jar:2c34a3690b958a3cf38b82d0f4910dc9992fb078dce6f56d71498293557bf805',
|
||||||
'javax.inject:javax.inject:1:javax.inject-1.jar:91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff',
|
'javax.inject:javax.inject:1:javax.inject-1.jar:91c77044a50c481636c32d916fd89c9118a72195390452c81065080f957de7ff',
|
||||||
'javax.servlet:javax.servlet-api:3.1.0:javax.servlet-api-3.1.0.jar:af456b2dd41c4e82cf54f3e743bc678973d9fe35bd4d3071fa05c7e5333b8482',
|
'javax.servlet:javax.servlet-api:3.1.0:javax.servlet-api-3.1.0.jar:af456b2dd41c4e82cf54f3e743bc678973d9fe35bd4d3071fa05c7e5333b8482',
|
||||||
'net.bytebuddy:byte-buddy-agent:1.12.6:byte-buddy-agent-1.12.6.jar:9b29421fe4650b75fc3ed53590f914c54f932e334b3506cc00296dff73024183',
|
'net.bytebuddy:byte-buddy-agent:1.12.6:byte-buddy-agent-1.12.6.jar:9b29421fe4650b75fc3ed53590f914c54f932e334b3506cc00296dff73024183',
|
||||||
'net.bytebuddy:byte-buddy:1.12.6:byte-buddy-1.12.6.jar:211918dc24f0fdef4335ce8af40ef5616e15e818b962a21146397c7701eb75a7',
|
'net.bytebuddy:byte-buddy:1.12.6:byte-buddy-1.12.6.jar:211918dc24f0fdef4335ce8af40ef5616e15e818b962a21146397c7701eb75a7',
|
||||||
'net.java.dev.jna:jna-platform:5.13.0:jna-platform-5.13.0.jar:474d7b88f6e97009b6ec1d98c3024dd95c23187c65dabfbc35331bcac3d173dd',
|
'net.java.dev.jna:jna-platform:5.13.0:jna-platform-5.13.0.jar:474d7b88f6e97009b6ec1d98c3024dd95c23187c65dabfbc35331bcac3d173dd',
|
||||||
'net.java.dev.jna:jna:5.13.0:jna-5.13.0.jar:66d4f819a062a51a1d5627bffc23fac55d1677f0e0a1feba144aabdd670a64bb',
|
'net.java.dev.jna:jna:5.13.0:jna-5.13.0.jar:66d4f819a062a51a1d5627bffc23fac55d1677f0e0a1feba144aabdd670a64bb',
|
||||||
'net.java.dev.jna:jna:5.6.0:jna-5.6.0.jar:5557e235a8aa2f9766d5dc609d67948f2a8832c2d796cea9ef1d6cbe0b3b7eaf',
|
'net.java.dev.jna:jna:5.6.0:jna-5.6.0.jar:5557e235a8aa2f9766d5dc609d67948f2a8832c2d796cea9ef1d6cbe0b3b7eaf',
|
||||||
'net.ltgt.gradle.incap:incap:0.2:incap-0.2.jar:b625b9806b0f1e4bc7a2e3457119488de3cd57ea20feedd513db070a573a4ffd',
|
'net.ltgt.gradle.incap:incap:0.2:incap-0.2.jar:b625b9806b0f1e4bc7a2e3457119488de3cd57ea20feedd513db070a573a4ffd',
|
||||||
'org.apiguardian:apiguardian-api:1.1.0:apiguardian-api-1.1.0.jar:a9aae9ff8ae3e17a2a18f79175e82b16267c246fbbd3ca9dfbbb290b08dcfdd4',
|
'org.apiguardian:apiguardian-api:1.1.0:apiguardian-api-1.1.0.jar:a9aae9ff8ae3e17a2a18f79175e82b16267c246fbbd3ca9dfbbb290b08dcfdd4',
|
||||||
'org.bouncycastle:bcprov-jdk15to18:1.71:bcprov-jdk15to18-1.71.jar:143aaa4a40edd5fc2a18db7900059f6c16f4d931b94b94b20f7e2238e6662886',
|
'org.bouncycastle:bcprov-jdk15to18:1.71:bcprov-jdk15to18-1.71.jar:143aaa4a40edd5fc2a18db7900059f6c16f4d931b94b94b20f7e2238e6662886',
|
||||||
'org.briarproject:jtorctl:0.5:jtorctl-0.5.jar:43f8c7d390169772b9a2c82ab806c8414c136a2a8636c555e22754bb7260793b',
|
'org.briarproject:jtorctl:0.5:jtorctl-0.5.jar:43f8c7d390169772b9a2c82ab806c8414c136a2a8636c555e22754bb7260793b',
|
||||||
'org.briarproject:null-safety:0.1:null-safety-0.1.jar:161760de5e838cb982bafa973df820675d4397098e9a91637a36a306d43ba011',
|
'org.briarproject:null-safety:0.1:null-safety-0.1.jar:161760de5e838cb982bafa973df820675d4397098e9a91637a36a306d43ba011',
|
||||||
'org.briarproject:obfs4proxy-linux:0.0.14-tor2:obfs4proxy-linux-0.0.14-tor2.jar:bb2431092b5ad998ad620b0223e725c0f7e43f1b02af2f097a2544edc1fd9738',
|
'org.briarproject:obfs4proxy-linux:0.0.14-tor2:obfs4proxy-linux-0.0.14-tor2.jar:bb2431092b5ad998ad620b0223e725c0f7e43f1b02af2f097a2544edc1fd9738',
|
||||||
'org.briarproject:obfs4proxy-macos:0.0.14-tor2:obfs4proxy-macos-0.0.14-tor2.jar:4a688d3a14d2510dd312213488c8f39ee08e609e47a7300aa12e31ceacb16ce2',
|
'org.briarproject:obfs4proxy-macos:0.0.14-tor2:obfs4proxy-macos-0.0.14-tor2.jar:4a688d3a14d2510dd312213488c8f39ee08e609e47a7300aa12e31ceacb16ce2',
|
||||||
'org.briarproject:obfs4proxy-windows:0.0.14-tor2:obfs4proxy-windows-0.0.14-tor2.jar:b5fbd00a8c35ccf095b265370752390e4cd46055331049c4dfcc236dc9c650ac',
|
'org.briarproject:obfs4proxy-windows:0.0.14-tor2:obfs4proxy-windows-0.0.14-tor2.jar:b5fbd00a8c35ccf095b265370752390e4cd46055331049c4dfcc236dc9c650ac',
|
||||||
'org.briarproject:onionwrapper-core:0.0.6:onionwrapper-core-0.0.6.jar:ed316fa600b9efa21f5643447f2e21b4db607889a41d526c03d61dec8d059c16',
|
'org.briarproject:onionwrapper-core:0.0.4:onionwrapper-core-0.0.4.jar:28a01a62e96aa763989a8afc325abd3bee54f8021269f91aa48b247a6e717870',
|
||||||
'org.briarproject:onionwrapper-java:0.0.6:onionwrapper-java-0.0.6.jar:e76e043b8c72d39e48508da79c9e2db2279b3c824f9c26cb0622d56a4a43a822',
|
'org.briarproject:onionwrapper-java:0.0.4:onionwrapper-java-0.0.4.jar:7806ef878074498653b557e26eb70e6007df3450d6a910a2e9a322f7eb4df442',
|
||||||
'org.briarproject:snowflake-linux:2.5.1:snowflake-linux-2.5.1.jar:edc807dcb7758365970d95525e4749349a27f462d0e2df6505ad1ca65fb296d2',
|
'org.briarproject:snowflake-linux:2.5.1:snowflake-linux-2.5.1.jar:edc807dcb7758365970d95525e4749349a27f462d0e2df6505ad1ca65fb296d2',
|
||||||
'org.briarproject:snowflake-macos:2.5.1:snowflake-macos-2.5.1.jar:f6d59471d476860950bb639ac318920caa460c4d6d023cbd6547c742949c84f0',
|
'org.briarproject:snowflake-macos:2.5.1:snowflake-macos-2.5.1.jar:f6d59471d476860950bb639ac318920caa460c4d6d023cbd6547c742949c84f0',
|
||||||
'org.briarproject:snowflake-windows:2.5.1:snowflake-windows-2.5.1.jar:700ec9c68dc033f544daa4ca3547c89e523aed66500cf4b3ac51fe017c51e7be',
|
'org.briarproject:snowflake-windows:2.5.1:snowflake-windows-2.5.1.jar:700ec9c68dc033f544daa4ca3547c89e523aed66500cf4b3ac51fe017c51e7be',
|
||||||
'org.briarproject:tor-linux:0.4.7.15:tor-linux-0.4.7.15.jar:eed3ee7770a76533281ff01ee9789fe486387554140503040ca3dab90859d4c4',
|
'org.briarproject:tor-linux:0.4.7.13-2:tor-linux-0.4.7.13-2.jar:1e4ca9e0f724e1f17fcce570832704942cc3be26c4c2eccbe5aae29f35afa307',
|
||||||
'org.briarproject:tor-macos:0.4.7.15:tor-macos-0.4.7.15.jar:699aa65674e39619a28f99c079020a518feb50a6d575d052cf73dfbfc0c38a80',
|
'org.briarproject:tor-macos:0.4.7.13-2:tor-macos-0.4.7.13-2.jar:3d84fbe667584d24275c6a4cb197bafcb0ead890e4d46acac3317debf0cd3351',
|
||||||
'org.briarproject:tor-windows:0.4.7.15:tor-windows-0.4.7.15.jar:404887bd7b56051d5ed543fa4a4cffe3f4c569958d4ac2879765b6500209917f',
|
'org.briarproject:tor-windows:0.4.7.13-2:tor-windows-0.4.7.13-2.jar:3a0aa01ed3103cac0c22a91a6f227ab99f7d32ea970ea41558eece484ab49e88',
|
||||||
'org.checkerframework:checker-compat-qual:2.5.5:checker-compat-qual-2.5.5.jar:11d134b245e9cacc474514d2d66b5b8618f8039a1465cdc55bbc0b34e0008b7a',
|
'org.checkerframework:checker-compat-qual:2.5.5:checker-compat-qual-2.5.5.jar:11d134b245e9cacc474514d2d66b5b8618f8039a1465cdc55bbc0b34e0008b7a',
|
||||||
'org.checkerframework:checker-qual:3.12.0:checker-qual-3.12.0.jar:ff10785ac2a357ec5de9c293cb982a2cbb605c0309ea4cc1cb9b9bc6dbe7f3cb',
|
'org.checkerframework:checker-qual:3.12.0:checker-qual-3.12.0.jar:ff10785ac2a357ec5de9c293cb982a2cbb605c0309ea4cc1cb9b9bc6dbe7f3cb',
|
||||||
'org.eclipse.jetty.websocket:websocket-api:9.4.20.v20190813:websocket-api-9.4.20.v20190813.jar:779a29060cc17bdeeeba147efc884ebff972cfff93dad2d37b11c93f95d4f67b',
|
'org.eclipse.jetty.websocket:websocket-api:9.4.20.v20190813:websocket-api-9.4.20.v20190813.jar:779a29060cc17bdeeeba147efc884ebff972cfff93dad2d37b11c93f95d4f67b',
|
||||||
'org.eclipse.jetty.websocket:websocket-client:9.4.20.v20190813:websocket-client-9.4.20.v20190813.jar:df5df7ea0b2d40e1011946cfa5fe27c86047f0c4e77ccc0b8c0c7f5518278bf3',
|
'org.eclipse.jetty.websocket:websocket-client:9.4.20.v20190813:websocket-client-9.4.20.v20190813.jar:df5df7ea0b2d40e1011946cfa5fe27c86047f0c4e77ccc0b8c0c7f5518278bf3',
|
||||||
'org.eclipse.jetty.websocket:websocket-common:9.4.20.v20190813:websocket-common-9.4.20.v20190813.jar:a66eb0a5299e2f33addb0dca827cc95a0773c41a12ea70c0d52d51beabaecf65',
|
'org.eclipse.jetty.websocket:websocket-common:9.4.20.v20190813:websocket-common-9.4.20.v20190813.jar:a66eb0a5299e2f33addb0dca827cc95a0773c41a12ea70c0d52d51beabaecf65',
|
||||||
'org.eclipse.jetty.websocket:websocket-server:9.4.20.v20190813:websocket-server-9.4.20.v20190813.jar:6454c671ce25e23f2acf332d378bab02398e5998a6358469fbfdf49d2a9e0530',
|
'org.eclipse.jetty.websocket:websocket-server:9.4.20.v20190813:websocket-server-9.4.20.v20190813.jar:6454c671ce25e23f2acf332d378bab02398e5998a6358469fbfdf49d2a9e0530',
|
||||||
'org.eclipse.jetty.websocket:websocket-servlet:9.4.20.v20190813:websocket-servlet-9.4.20.v20190813.jar:c39142e197b7f9a16bab2b4b28340bf4f84d715971245a808a21ee6941aefb66',
|
'org.eclipse.jetty.websocket:websocket-servlet:9.4.20.v20190813:websocket-servlet-9.4.20.v20190813.jar:c39142e197b7f9a16bab2b4b28340bf4f84d715971245a808a21ee6941aefb66',
|
||||||
'org.eclipse.jetty:jetty-client:9.4.20.v20190813:jetty-client-9.4.20.v20190813.jar:31a88bfc59acb1716646d8211209f42e8b4c175be3b1dd5c3794dec8882dae50',
|
'org.eclipse.jetty:jetty-client:9.4.20.v20190813:jetty-client-9.4.20.v20190813.jar:31a88bfc59acb1716646d8211209f42e8b4c175be3b1dd5c3794dec8882dae50',
|
||||||
'org.eclipse.jetty:jetty-http:9.4.20.v20190813:jetty-http-9.4.20.v20190813.jar:242523f49e54f2b14f25ba129fefe182497404a81f2d579865442ee885df5996',
|
'org.eclipse.jetty:jetty-http:9.4.20.v20190813:jetty-http-9.4.20.v20190813.jar:242523f49e54f2b14f25ba129fefe182497404a81f2d579865442ee885df5996',
|
||||||
'org.eclipse.jetty:jetty-io:9.4.20.v20190813:jetty-io-9.4.20.v20190813.jar:6dfcfd560135c3059547ef33c4a89317db2f94b9eb934ec1514d6967ea0a294b',
|
'org.eclipse.jetty:jetty-io:9.4.20.v20190813:jetty-io-9.4.20.v20190813.jar:6dfcfd560135c3059547ef33c4a89317db2f94b9eb934ec1514d6967ea0a294b',
|
||||||
'org.eclipse.jetty:jetty-security:9.4.20.v20190813:jetty-security-9.4.20.v20190813.jar:7f00b107465206902733e85cfed3d0174784f929ddcc72b8027ce8f225bc0c95',
|
'org.eclipse.jetty:jetty-security:9.4.20.v20190813:jetty-security-9.4.20.v20190813.jar:7f00b107465206902733e85cfed3d0174784f929ddcc72b8027ce8f225bc0c95',
|
||||||
'org.eclipse.jetty:jetty-server:9.4.20.v20190813:jetty-server-9.4.20.v20190813.jar:8600151e85a2380df716df641c90d3b9a0de4b00d0ef1c3426be892771ea584d',
|
'org.eclipse.jetty:jetty-server:9.4.20.v20190813:jetty-server-9.4.20.v20190813.jar:8600151e85a2380df716df641c90d3b9a0de4b00d0ef1c3426be892771ea584d',
|
||||||
'org.eclipse.jetty:jetty-servlet:9.4.20.v20190813:jetty-servlet-9.4.20.v20190813.jar:0c00257ea8ad3423b23894b2a99f54bedfc5e9c55baf491c86134a977c98f6ff',
|
'org.eclipse.jetty:jetty-servlet:9.4.20.v20190813:jetty-servlet-9.4.20.v20190813.jar:0c00257ea8ad3423b23894b2a99f54bedfc5e9c55baf491c86134a977c98f6ff',
|
||||||
'org.eclipse.jetty:jetty-util:9.4.20.v20190813:jetty-util-9.4.20.v20190813.jar:5816ef44f73e76b8ef1c1ea848cc34c7b1f24771f3675353e2ef23eb920121d8',
|
'org.eclipse.jetty:jetty-util:9.4.20.v20190813:jetty-util-9.4.20.v20190813.jar:5816ef44f73e76b8ef1c1ea848cc34c7b1f24771f3675353e2ef23eb920121d8',
|
||||||
'org.eclipse.jetty:jetty-webapp:9.4.20.v20190813:jetty-webapp-9.4.20.v20190813.jar:59d9b5f238acb14eac3bf90f755eeabd9fc16c630217d0e7e01b99a38194036c',
|
'org.eclipse.jetty:jetty-webapp:9.4.20.v20190813:jetty-webapp-9.4.20.v20190813.jar:59d9b5f238acb14eac3bf90f755eeabd9fc16c630217d0e7e01b99a38194036c',
|
||||||
'org.eclipse.jetty:jetty-xml:9.4.20.v20190813:jetty-xml-9.4.20.v20190813.jar:f4411ad9998e4cc202c849bb9b9e93aa2aa761b89a27cc746ca025849d659fd0',
|
'org.eclipse.jetty:jetty-xml:9.4.20.v20190813:jetty-xml-9.4.20.v20190813.jar:f4411ad9998e4cc202c849bb9b9e93aa2aa761b89a27cc746ca025849d659fd0',
|
||||||
'org.jetbrains.intellij.deps:trove4j:1.0.20200330:trove4j-1.0.20200330.jar:c5fd725bffab51846bf3c77db1383c60aaaebfe1b7fe2f00d23fe1b7df0a439d',
|
'org.jetbrains.intellij.deps:trove4j:1.0.20200330:trove4j-1.0.20200330.jar:c5fd725bffab51846bf3c77db1383c60aaaebfe1b7fe2f00d23fe1b7df0a439d',
|
||||||
'org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.8.20:kotlin-annotation-processing-gradle-1.8.20.jar:8277ec12cac724a802bee701d5729fa6cbe12ab1520856183104746642d7374b',
|
'org.jetbrains.kotlin:kotlin-annotation-processing-gradle:1.8.20:kotlin-annotation-processing-gradle-1.8.20.jar:8277ec12cac724a802bee701d5729fa6cbe12ab1520856183104746642d7374b',
|
||||||
'org.jetbrains.kotlin:kotlin-compiler-embeddable:1.8.20:kotlin-compiler-embeddable-1.8.20.jar:5655386be55d45a78d887372bbd59d03e06750f7756108d14139e8d7e4b2e179',
|
'org.jetbrains.kotlin:kotlin-compiler-embeddable:1.8.20:kotlin-compiler-embeddable-1.8.20.jar:5655386be55d45a78d887372bbd59d03e06750f7756108d14139e8d7e4b2e179',
|
||||||
'org.jetbrains.kotlin:kotlin-daemon-embeddable:1.8.20:kotlin-daemon-embeddable-1.8.20.jar:4602bd521a708f32deced0921d06c7977056c5887359cdabfc7070e9732cb353',
|
'org.jetbrains.kotlin:kotlin-daemon-embeddable:1.8.20:kotlin-daemon-embeddable-1.8.20.jar:4602bd521a708f32deced0921d06c7977056c5887359cdabfc7070e9732cb353',
|
||||||
'org.jetbrains.kotlin:kotlin-klib-commonizer-embeddable:1.8.20:kotlin-klib-commonizer-embeddable-1.8.20.jar:3803e9b9f9f77f239fdcc82d677b8ae62326b3245bc443d256e64d55c7e647c0',
|
'org.jetbrains.kotlin:kotlin-klib-commonizer-embeddable:1.8.20:kotlin-klib-commonizer-embeddable-1.8.20.jar:3803e9b9f9f77f239fdcc82d677b8ae62326b3245bc443d256e64d55c7e647c0',
|
||||||
'org.jetbrains.kotlin:kotlin-reflect:1.6.0:kotlin-reflect-1.6.0.jar:c6161884209221db7f5ddb031bb480a3c46bb90d5b65d7cc0167b149aaa9c494',
|
'org.jetbrains.kotlin:kotlin-reflect:1.6.0:kotlin-reflect-1.6.0.jar:c6161884209221db7f5ddb031bb480a3c46bb90d5b65d7cc0167b149aaa9c494',
|
||||||
'org.jetbrains.kotlin:kotlin-reflect:1.6.10:kotlin-reflect-1.6.10.jar:3277ac102ae17aad10a55abec75ff5696c8d109790396434b496e75087854203',
|
'org.jetbrains.kotlin:kotlin-reflect:1.6.10:kotlin-reflect-1.6.10.jar:3277ac102ae17aad10a55abec75ff5696c8d109790396434b496e75087854203',
|
||||||
'org.jetbrains.kotlin:kotlin-script-runtime:1.8.20:kotlin-script-runtime-1.8.20.jar:4bddc06cad20bb843fbd24094b1dc3c31f55508c6918885e8b548f2ebaa8a93e',
|
'org.jetbrains.kotlin:kotlin-script-runtime:1.8.20:kotlin-script-runtime-1.8.20.jar:4bddc06cad20bb843fbd24094b1dc3c31f55508c6918885e8b548f2ebaa8a93e',
|
||||||
'org.jetbrains.kotlin:kotlin-scripting-common:1.8.20:kotlin-scripting-common-1.8.20.jar:a1c6cf4bb49db97a7082bc461acfdf3e163af1b625ab9baa5d7e3e5f9648badc',
|
'org.jetbrains.kotlin:kotlin-scripting-common:1.8.20:kotlin-scripting-common-1.8.20.jar:a1c6cf4bb49db97a7082bc461acfdf3e163af1b625ab9baa5d7e3e5f9648badc',
|
||||||
'org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.8.20:kotlin-scripting-compiler-embeddable-1.8.20.jar:67c4bbe4d58f2c76aa4249ab9b8b36e95023d318d33f8a2a1e8fe743b4b1f32a',
|
'org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.8.20:kotlin-scripting-compiler-embeddable-1.8.20.jar:67c4bbe4d58f2c76aa4249ab9b8b36e95023d318d33f8a2a1e8fe743b4b1f32a',
|
||||||
'org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.8.20:kotlin-scripting-compiler-impl-embeddable-1.8.20.jar:e789192f39357dbdf4c8a94cd2fafe860de0c0530d34bf1c2c634b75b880f4a2',
|
'org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.8.20:kotlin-scripting-compiler-impl-embeddable-1.8.20.jar:e789192f39357dbdf4c8a94cd2fafe860de0c0530d34bf1c2c634b75b880f4a2',
|
||||||
'org.jetbrains.kotlin:kotlin-scripting-jvm:1.8.20:kotlin-scripting-jvm-1.8.20.jar:2e1889c89c785440ac126935187baaa83a6fc66deeb530491f943a38bf3bc8c0',
|
'org.jetbrains.kotlin:kotlin-scripting-jvm:1.8.20:kotlin-scripting-jvm-1.8.20.jar:2e1889c89c785440ac126935187baaa83a6fc66deeb530491f943a38bf3bc8c0',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-common:1.7.0:kotlin-stdlib-common-1.7.0.jar:59c6ff64fe9a6604afce03e8aaa75f83586c6030ac71fb0b34ee7cdefed3618f',
|
'org.jetbrains.kotlin:kotlin-stdlib-common:1.7.0:kotlin-stdlib-common-1.7.0.jar:59c6ff64fe9a6604afce03e8aaa75f83586c6030ac71fb0b34ee7cdefed3618f',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-common:1.8.20:kotlin-stdlib-common-1.8.20.jar:fa20188abaa8ecf1d0035e93a969b071f10e45a1c8378c314521eade73f75fd5',
|
'org.jetbrains.kotlin:kotlin-stdlib-common:1.8.20:kotlin-stdlib-common-1.8.20.jar:fa20188abaa8ecf1d0035e93a969b071f10e45a1c8378c314521eade73f75fd5',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.0:kotlin-stdlib-jdk7-1.7.0.jar:07e91be9b2ca20672d2bdb7e181b766e73453a2da13492b5ddaee8fa47aea239',
|
'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.0:kotlin-stdlib-jdk7-1.7.0.jar:07e91be9b2ca20672d2bdb7e181b766e73453a2da13492b5ddaee8fa47aea239',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.20:kotlin-stdlib-jdk7-1.8.20.jar:af1ec40c3b951afdcc0c2a0173c7b81763c5281c2d5bafbf0a8544a24c5dcc0c',
|
'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.20:kotlin-stdlib-jdk7-1.8.20.jar:af1ec40c3b951afdcc0c2a0173c7b81763c5281c2d5bafbf0a8544a24c5dcc0c',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.0:kotlin-stdlib-jdk8-1.7.0.jar:cf058e11db1dfc9944680c8c61b95ac689aaaa8a3eb30bced028100f038f030b',
|
'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.0:kotlin-stdlib-jdk8-1.7.0.jar:cf058e11db1dfc9944680c8c61b95ac689aaaa8a3eb30bced028100f038f030b',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.20:kotlin-stdlib-jdk8-1.8.20.jar:e398b67977622718bf18ff99b739c7d9da060f33fb458a2e25203221c16af010',
|
'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.20:kotlin-stdlib-jdk8-1.8.20.jar:e398b67977622718bf18ff99b739c7d9da060f33fb458a2e25203221c16af010',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib:1.7.0:kotlin-stdlib-1.7.0.jar:aa88e9625577957f3249a46cb6e166ee09b369e600f7a11d148d16b0a6d87f05',
|
'org.jetbrains.kotlin:kotlin-stdlib:1.7.0:kotlin-stdlib-1.7.0.jar:aa88e9625577957f3249a46cb6e166ee09b369e600f7a11d148d16b0a6d87f05',
|
||||||
'org.jetbrains.kotlin:kotlin-stdlib:1.8.20:kotlin-stdlib-1.8.20.jar:4395647b1961d9fb730a34e8dbe56c293157bc0759004cca63d9b5ee6653e5c7',
|
'org.jetbrains.kotlin:kotlin-stdlib:1.8.20:kotlin-stdlib-1.8.20.jar:4395647b1961d9fb730a34e8dbe56c293157bc0759004cca63d9b5ee6653e5c7',
|
||||||
'org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.5.0:kotlinx-metadata-jvm-0.5.0.jar:ca063a96639b08b9eaa0de4d65e899480740a6efbe28ab9a8681a2ced03055a4',
|
'org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.5.0:kotlinx-metadata-jvm-0.5.0.jar:ca063a96639b08b9eaa0de4d65e899480740a6efbe28ab9a8681a2ced03055a4',
|
||||||
'org.jetbrains:annotations:13.0:annotations-13.0.jar:ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478',
|
'org.jetbrains:annotations:13.0:annotations-13.0.jar:ace2a10dc8e2d5fd34925ecac03e4988b2c0f851650c94b8cef49ba1bd111478',
|
||||||
'org.junit.jupiter:junit-jupiter-api:5.5.2:junit-jupiter-api-5.5.2.jar:249a2fdbd3931987c0298d00ca08ed248496e0fc11e0463c08c4f82e0cc79b1c',
|
'org.junit.jupiter:junit-jupiter-api:5.5.2:junit-jupiter-api-5.5.2.jar:249a2fdbd3931987c0298d00ca08ed248496e0fc11e0463c08c4f82e0cc79b1c',
|
||||||
'org.junit.jupiter:junit-jupiter-engine:5.5.2:junit-jupiter-engine-5.5.2.jar:6d777da9876e2ef7a0336e8f098f8d74a5a64f810aa3a4a2f5f3b766ce97837b',
|
'org.junit.jupiter:junit-jupiter-engine:5.5.2:junit-jupiter-engine-5.5.2.jar:6d777da9876e2ef7a0336e8f098f8d74a5a64f810aa3a4a2f5f3b766ce97837b',
|
||||||
'org.junit.jupiter:junit-jupiter-params:5.5.2:junit-jupiter-params-5.5.2.jar:fd49c7fd9d0f7f1e5b5f6982254cee79177fa2e76a37fdee0466e64f975567b5',
|
'org.junit.jupiter:junit-jupiter-params:5.5.2:junit-jupiter-params-5.5.2.jar:fd49c7fd9d0f7f1e5b5f6982254cee79177fa2e76a37fdee0466e64f975567b5',
|
||||||
'org.junit.platform:junit-platform-commons:1.5.2:junit-platform-commons-1.5.2.jar:fc44afdfc0f20c85e71a66e7943281aef3bc1e0fd62d2d69a36cb6901e682c10',
|
'org.junit.platform:junit-platform-commons:1.5.2:junit-platform-commons-1.5.2.jar:fc44afdfc0f20c85e71a66e7943281aef3bc1e0fd62d2d69a36cb6901e682c10',
|
||||||
'org.junit.platform:junit-platform-engine:1.5.2:junit-platform-engine-1.5.2.jar:ff20ba4ad8c00ef17baef9c55512f9c02d9a68740f7f1ac01a9a6aa0239931f8',
|
'org.junit.platform:junit-platform-engine:1.5.2:junit-platform-engine-1.5.2.jar:ff20ba4ad8c00ef17baef9c55512f9c02d9a68740f7f1ac01a9a6aa0239931f8',
|
||||||
'org.objenesis:objenesis:3.2:objenesis-3.2.jar:03d960bd5aef03c653eb000413ada15eb77cdd2b8e4448886edf5692805e35f3',
|
'org.objenesis:objenesis:3.2:objenesis-3.2.jar:03d960bd5aef03c653eb000413ada15eb77cdd2b8e4448886edf5692805e35f3',
|
||||||
'org.opentest4j:opentest4j:1.2.0:opentest4j-1.2.0.jar:58812de60898d976fb81ef3b62da05c6604c18fd4a249f5044282479fc286af2',
|
'org.opentest4j:opentest4j:1.2.0:opentest4j-1.2.0.jar:58812de60898d976fb81ef3b62da05c6604c18fd4a249f5044282479fc286af2',
|
||||||
'org.skyscreamer:jsonassert:1.5.0:jsonassert-1.5.0.jar:a310bc79c3f4744e2b2e993702fcebaf3696fec0063643ffdc6b49a8fb03ef39',
|
'org.skyscreamer:jsonassert:1.5.0:jsonassert-1.5.0.jar:a310bc79c3f4744e2b2e993702fcebaf3696fec0063643ffdc6b49a8fb03ef39',
|
||||||
'org.slf4j:slf4j-api:1.7.30:slf4j-api-1.7.30.jar:cdba07964d1bb40a0761485c6b1e8c2f8fd9eb1d19c53928ac0d7f9510105c57',
|
'org.slf4j:slf4j-api:1.7.30:slf4j-api-1.7.30.jar:cdba07964d1bb40a0761485c6b1e8c2f8fd9eb1d19c53928ac0d7f9510105c57',
|
||||||
'org.slf4j:slf4j-api:1.7.32:slf4j-api-1.7.32.jar:3624f8474c1af46d75f98bc097d7864a323c81b3808aa43689a6e1c601c027be',
|
'org.slf4j:slf4j-api:1.7.32:slf4j-api-1.7.32.jar:3624f8474c1af46d75f98bc097d7864a323c81b3808aa43689a6e1c601c027be',
|
||||||
'org.slf4j:slf4j-simple:1.7.30:slf4j-simple-1.7.30.jar:8b9279cbff6b9f88594efae3cf02039b6995030eec023ed43928748c41670fee',
|
'org.slf4j:slf4j-simple:1.7.30:slf4j-simple-1.7.30.jar:8b9279cbff6b9f88594efae3cf02039b6995030eec023ed43928748c41670fee',
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Submodule briar-mailbox updated: 64147fd1d0...d887c49ab3
@@ -29,7 +29,7 @@ buildscript {
|
|||||||
dagger_version = "2.45"
|
dagger_version = "2.45"
|
||||||
okhttp_version = "4.10.0"
|
okhttp_version = "4.10.0"
|
||||||
jackson_version = "2.13.4"
|
jackson_version = "2.13.4"
|
||||||
tor_version = "0.4.7.15"
|
tor_version = "0.4.7.13-2"
|
||||||
obfs4proxy_version = "0.0.14-tor2"
|
obfs4proxy_version = "0.0.14-tor2"
|
||||||
snowflake_version = "2.5.1"
|
snowflake_version = "2.5.1"
|
||||||
jsoup_version = '1.15.3'
|
jsoup_version = '1.15.3'
|
||||||
@@ -37,7 +37,7 @@ buildscript {
|
|||||||
junit_version = "4.13.2"
|
junit_version = "4.13.2"
|
||||||
jmock_version = '2.12.0'
|
jmock_version = '2.12.0'
|
||||||
mockwebserver_version = '4.10.0'
|
mockwebserver_version = '4.10.0'
|
||||||
onionwrapper_version = '0.0.6'
|
onionwrapper_version = '0.0.4'
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
// upgrading this let's us run into https://github.com/gradle/gradle/issues/20330
|
// upgrading this let's us run into https://github.com/gradle/gradle/issues/20330
|
||||||
@@ -48,9 +48,8 @@ buildscript {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((project.hasProperty("briar.mailbox_integration_tests")
|
if ((project.hasProperty("briar.mailbox_integration_tests") && project.property("briar.mailbox_integration_tests") == "true")
|
||||||
&& project.property("briar.mailbox_integration_tests") == "true")
|
|| System.env.MAILBOX_INTEGRATION_TESTS) {
|
||||||
|| System.env.MAILBOX_INTEGRATION_TESTS) {
|
|
||||||
configure([project(':mailbox-core'), project(':mailbox-lib')]) {
|
configure([project(':mailbox-core'), project(':mailbox-lib')]) {
|
||||||
apply from: "../gradle/variables.gradle"
|
apply from: "../gradle/variables.gradle"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,8 +22,5 @@ done
|
|||||||
for project in ${PROJECTS[@]}
|
for project in ${PROJECTS[@]}
|
||||||
do
|
do
|
||||||
echo "Calculating new checksums for ${project} ..."
|
echo "Calculating new checksums for ${project} ..."
|
||||||
./gradlew -q --configure-on-demand ${project}:calculateChecksums \
|
./gradlew -q --configure-on-demand ${project}:calculateChecksums | grep -v '^\(Skipping\|Verifying\|Welcome to Gradle\)' > ${project}/witness.gradle
|
||||||
| grep -v '^\(Skipping\|Verifying\|Welcome to Gradle\)' \
|
|
||||||
| sed "s/ /\t/g" \
|
|
||||||
> ${project}/witness.gradle
|
|
||||||
done
|
done
|
||||||
|
|||||||
Reference in New Issue
Block a user