mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-12 10:49:06 +01:00
Compare commits
13 Commits
fix-screen
...
release-1.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f16875c602 | ||
|
|
551dba9425 | ||
|
|
07f49e4f1e | ||
|
|
ca14b4bd68 | ||
|
|
58883467f7 | ||
|
|
422a99888b | ||
|
|
28453f28d0 | ||
|
|
f00cfe5ca9 | ||
|
|
3ecb281695 | ||
|
|
eb3a5423bf | ||
|
|
73fa1052cf | ||
|
|
14fded3777 | ||
|
|
17f5433ab0 |
@@ -13,8 +13,8 @@ android {
|
||||
defaultConfig {
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 33
|
||||
versionCode 10508
|
||||
versionName "1.5.8"
|
||||
versionCode 10509
|
||||
versionName "1.5.9"
|
||||
consumerProguardFiles 'proguard-rules.txt'
|
||||
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
|
||||
@@ -29,10 +29,10 @@ dependencyVerification {
|
||||
'org.briarproject:jtorctl:0.5:jtorctl-0.5.jar:43f8c7d390169772b9a2c82ab806c8414c136a2a8636c555e22754bb7260793b',
|
||||
'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:onionwrapper-android:0.0.6:onionwrapper-android-0.0.6.aar:d761854dac454616b3e0ca099b2cd17060365ce4316afe495cc7ae86b6c81d15',
|
||||
'org.briarproject:onionwrapper-core:0.0.6:onionwrapper-core-0.0.6.jar:ed316fa600b9efa21f5643447f2e21b4db607889a41d526c03d61dec8d059c16',
|
||||
'org.briarproject:onionwrapper-android:0.0.7:onionwrapper-android-0.0.7.aar:d761854dac454616b3e0ca099b2cd17060365ce4316afe495cc7ae86b6c81d15',
|
||||
'org.briarproject:onionwrapper-core:0.0.7:onionwrapper-core-0.0.7.jar:918b5851f4a05a3bc0835bc7c81d70e598a178c79856fe5c506c261889f4b3fd',
|
||||
'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.8.9-1:tor-android-0.4.8.9-1.jar:8fbaaf0cb1663abd12852b7fc51a804534b7e7d865b4dec3fc4e9ec0e79f3ad5',
|
||||
'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.hamcrest:hamcrest-core:2.1:hamcrest-core-2.1.jar:e09109e54a289d88506b9bfec987ddd199f4217c9464132668351b9a4f00bee9',
|
||||
|
||||
@@ -36,7 +36,7 @@ dependencyVerification {
|
||||
'org.bouncycastle:bcprov-jdk15to18:1.71:bcprov-jdk15to18-1.71.jar:143aaa4a40edd5fc2a18db7900059f6c16f4d931b94b94b20f7e2238e6662886',
|
||||
'org.briarproject:jtorctl:0.5:jtorctl-0.5.jar:43f8c7d390169772b9a2c82ab806c8414c136a2a8636c555e22754bb7260793b',
|
||||
'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.7:onionwrapper-core-0.0.7.jar:918b5851f4a05a3bc0835bc7c81d70e598a178c79856fe5c506c261889f4b3fd',
|
||||
'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-qual:3.12.0:checker-qual-3.12.0.jar:ff10785ac2a357ec5de9c293cb982a2cbb605c0309ea4cc1cb9b9bc6dbe7f3cb',
|
||||
|
||||
@@ -27,8 +27,8 @@ dependencyVerification {
|
||||
'org.apache-extras.beanshell:bsh:2.0b6:bsh-2.0b6.jar:a17955976070c0573235ee662f2794a78082758b61accffce8d3f8aedcd91047',
|
||||
'org.briarproject:jtorctl:0.5:jtorctl-0.5.jar:43f8c7d390169772b9a2c82ab806c8414c136a2a8636c555e22754bb7260793b',
|
||||
'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-java:0.0.6:onionwrapper-java-0.0.6.jar:e76e043b8c72d39e48508da79c9e2db2279b3c824f9c26cb0622d56a4a43a822',
|
||||
'org.briarproject:onionwrapper-core:0.0.7:onionwrapper-core-0.0.7.jar:918b5851f4a05a3bc0835bc7c81d70e598a178c79856fe5c506c261889f4b3fd',
|
||||
'org.briarproject:onionwrapper-java:0.0.7:onionwrapper-java-0.0.7.jar:48115772d4348eab6f35e562ae648dd9d7398adb99e5429afb64a62c82f3d27c',
|
||||
'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.hamcrest:hamcrest-core:2.1:hamcrest-core-2.1.jar:e09109e54a289d88506b9bfec987ddd199f4217c9464132668351b9a4f00bee9',
|
||||
|
||||
@@ -26,8 +26,8 @@ android {
|
||||
defaultConfig {
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 33
|
||||
versionCode 10508
|
||||
versionName "1.5.8"
|
||||
versionCode 10509
|
||||
versionName "1.5.9"
|
||||
applicationId "org.briarproject.briar.android"
|
||||
buildConfigField "String", "TorVersion", "\"$tor_version\""
|
||||
|
||||
|
||||
@@ -15,7 +15,4 @@
|
||||
-keep class junit.** { *; }
|
||||
-dontwarn junit.**
|
||||
|
||||
-keep class org.jmock.** { *; }
|
||||
-dontwarn org.jmock.**
|
||||
|
||||
-dontwarn org.briarproject.briar.android.**
|
||||
|
||||
@@ -4,9 +4,7 @@ import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
|
||||
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.settings.Settings;
|
||||
import org.briarproject.bramble.api.settings.SettingsManager;
|
||||
import org.briarproject.briar.R;
|
||||
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 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")
|
||||
@@ -56,19 +49,6 @@ public abstract class UiTest {
|
||||
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
|
||||
protected class CleanAccountTestRule<A extends Activity>
|
||||
extends IntentsTestRule<A> {
|
||||
@@ -90,7 +70,7 @@ public abstract class UiTest {
|
||||
} catch (InterruptedException 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.closeSoftKeyboard;
|
||||
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.contrib.RecyclerViewActions.actionOnItemAtPosition;
|
||||
import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
|
||||
@@ -62,7 +63,7 @@ public class PromoVideoTest extends ScreenshotTest {
|
||||
new ActivityScenarioRule<>(SplashScreenActivity.class);
|
||||
|
||||
@Inject
|
||||
ContactManager contactManager;
|
||||
protected ContactManager contactManager;
|
||||
|
||||
private OverlayView overlayView;
|
||||
|
||||
@@ -180,6 +181,7 @@ public class PromoVideoTest extends ScreenshotTest {
|
||||
sleep(DELAY_SMALL);
|
||||
|
||||
// add pending contact
|
||||
onView(withId(R.id.addButton)).perform(scrollTo());
|
||||
doClick(withId(R.id.addButton));
|
||||
sleep(DELAY_LONG);
|
||||
|
||||
@@ -212,7 +214,7 @@ public class PromoVideoTest extends ScreenshotTest {
|
||||
}
|
||||
|
||||
// click on new contact
|
||||
doItemClick(withId(R.id.recyclerView));
|
||||
doItemClick(withId(R.id.recyclerView), 0);
|
||||
|
||||
sleep(DELAY_MEDIUM);
|
||||
|
||||
@@ -263,14 +265,15 @@ public class PromoVideoTest extends ScreenshotTest {
|
||||
.perform(click());
|
||||
}
|
||||
|
||||
private void doItemClick(final Matcher<View> viewMatcher)
|
||||
private void doItemClick(final Matcher<View> viewMatcher, int pos)
|
||||
throws InterruptedException {
|
||||
if (isFilming) {
|
||||
onView(viewMatcher).perform(
|
||||
actionOnItemAtPosition(0, visualClick(overlayView)));
|
||||
actionOnItemAtPosition(pos, visualClick(overlayView)));
|
||||
sleep(500);
|
||||
}
|
||||
onView(viewMatcher).perform(actionOnItemAtPosition(0, click()));
|
||||
onView(viewMatcher).perform(
|
||||
actionOnItemAtPosition(pos, click()));
|
||||
}
|
||||
|
||||
private void closeKeyboard(final Matcher<View> viewMatcher)
|
||||
|
||||
@@ -23,13 +23,13 @@ public abstract class ScreenshotTest extends UiTest {
|
||||
public static final LocaleTestRule localeTestRule = new LocaleTestRule();
|
||||
|
||||
@Inject
|
||||
TestDataCreator testDataCreator;
|
||||
protected TestDataCreator testDataCreator;
|
||||
@Inject
|
||||
ConnectionRegistry connectionRegistry;
|
||||
protected ConnectionRegistry connectionRegistry;
|
||||
@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));
|
||||
}
|
||||
|
||||
@@ -47,4 +47,9 @@ public abstract class ScreenshotTest extends UiTest {
|
||||
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;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.view.Gravity;
|
||||
|
||||
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.espresso.Espresso.onView;
|
||||
import static androidx.test.espresso.Espresso.pressBack;
|
||||
import static androidx.test.espresso.action.ViewActions.click;
|
||||
import static androidx.test.espresso.assertion.ViewAssertions.matches;
|
||||
import static androidx.test.espresso.contrib.DrawerMatchers.isClosed;
|
||||
@@ -31,11 +31,9 @@ import static org.junit.Assume.assumeTrue;
|
||||
@RunWith(AndroidJUnit4.class)
|
||||
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
|
||||
public CleanAccountTestRule<NavDrawerActivity> testRule =
|
||||
new CleanAccountTestRule<>(NavDrawerActivity.class);
|
||||
public CleanAccountTestRule<SettingsActivity> testRule =
|
||||
new CleanAccountTestRule<>(SettingsActivity.class);
|
||||
|
||||
@Override
|
||||
protected void inject(BriarUiTestComponent component) {
|
||||
@@ -44,10 +42,8 @@ public class SettingsActivityScreenshotTest extends ScreenshotTest {
|
||||
|
||||
@Test
|
||||
public void changeTheme() {
|
||||
openNavDrawer();
|
||||
onView(withText(R.string.settings_button))
|
||||
.check(matches(isDisplayed()))
|
||||
.perform(click());
|
||||
.check(matches(isDisplayed()));
|
||||
|
||||
onView(withText(R.string.display_settings_title))
|
||||
.perform(waitUntilMatches(isDisplayed()))
|
||||
@@ -63,8 +59,6 @@ public class SettingsActivityScreenshotTest extends ScreenshotTest {
|
||||
.check(matches(isDisplayed()))
|
||||
.perform(click());
|
||||
|
||||
pressBack();
|
||||
pressBack();
|
||||
openNavDrawer();
|
||||
|
||||
screenshot("manual_dark_theme_nav_drawer", testRule.getActivity());
|
||||
@@ -74,8 +68,8 @@ public class SettingsActivityScreenshotTest extends ScreenshotTest {
|
||||
.check(matches(isDisplayed()))
|
||||
.perform(click());
|
||||
onView(withText(R.string.display_settings_title))
|
||||
.perform(waitUntilMatches(isDisplayed()))
|
||||
.perform(click(), click());
|
||||
.check(matches(isDisplayed()))
|
||||
.perform(click());
|
||||
onView(withText(R.string.pref_theme_title))
|
||||
.check(matches(isDisplayed()))
|
||||
.perform(click());
|
||||
@@ -89,11 +83,6 @@ public class SettingsActivityScreenshotTest extends ScreenshotTest {
|
||||
assumeTrue("device has no screen lock",
|
||||
hasScreenLock(getApplicationContext()));
|
||||
|
||||
openNavDrawer();
|
||||
onView(withText(R.string.settings_button))
|
||||
.check(matches(isDisplayed()))
|
||||
.perform(click());
|
||||
|
||||
onView(withText(R.string.security_settings_title))
|
||||
.perform(waitUntilMatches(isDisplayed()))
|
||||
.perform(click(), click());
|
||||
@@ -109,8 +98,6 @@ public class SettingsActivityScreenshotTest extends ScreenshotTest {
|
||||
|
||||
screenshot("manual_app_lock", testRule.getActivity());
|
||||
|
||||
pressBack();
|
||||
pressBack();
|
||||
openNavDrawer();
|
||||
|
||||
screenshot("manual_app_lock_nav_drawer", testRule.getActivity());
|
||||
@@ -118,11 +105,6 @@ public class SettingsActivityScreenshotTest extends ScreenshotTest {
|
||||
|
||||
@Test
|
||||
public void torSettings() {
|
||||
openNavDrawer();
|
||||
onView(withText(R.string.settings_button))
|
||||
.check(matches(isDisplayed()))
|
||||
.perform(click());
|
||||
|
||||
// click network/connections settings
|
||||
onView(withText(R.string.network_settings_title))
|
||||
.perform(waitUntilMatches(isDisplayed()))
|
||||
@@ -137,8 +119,15 @@ public class SettingsActivityScreenshotTest extends ScreenshotTest {
|
||||
}
|
||||
|
||||
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))
|
||||
.check(matches(isClosed(Gravity.START)))
|
||||
.perform(DrawerActions.open());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -33,12 +33,17 @@
|
||||
tools:ignore="ScopedStorage" />
|
||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
||||
|
||||
<uses-permission-sdk-23 android:name="android.permission.ACCESS_FINE_LOCATION"
|
||||
<uses-permission-sdk-23
|
||||
android:name="android.permission.ACCESS_FINE_LOCATION"
|
||||
android:maxSdkVersion="32" />
|
||||
<uses-permission-sdk-23 android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
|
||||
<uses-permission-sdk-23 android:name="android.permission.USE_BIOMETRIC" />
|
||||
<uses-permission-sdk-23 android:name="android.permission.FOREGROUND_SERVICE" />
|
||||
|
||||
<uses-permission
|
||||
android:name="android.permission.HIDE_OVERLAY_WINDOWS"
|
||||
tools:targetApi="31" />
|
||||
|
||||
<application
|
||||
android:name="org.briarproject.briar.android.BriarApplicationImpl"
|
||||
android:allowBackup="false"
|
||||
|
||||
@@ -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.FORUM_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.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;
|
||||
import static org.briarproject.briar.android.settings.SettingsFragment.SETTINGS_NAMESPACE;
|
||||
|
||||
@ThreadSafe
|
||||
@MethodsNotNullByDefault
|
||||
|
||||
@@ -26,8 +26,7 @@ import javax.inject.Inject;
|
||||
|
||||
import static java.util.logging.Level.WARNING;
|
||||
import static org.briarproject.bramble.util.LogUtils.logException;
|
||||
import static org.briarproject.briar.api.android.SettingsConstants.EMOJI_LRU_PREFERENCE;
|
||||
import static org.briarproject.briar.api.android.SettingsConstants.SETTINGS_NAMESPACE;
|
||||
import static org.briarproject.briar.android.settings.SettingsFragment.SETTINGS_NAMESPACE;
|
||||
|
||||
@MethodsNotNullByDefault
|
||||
@ParametersNotNullByDefault
|
||||
@@ -36,6 +35,7 @@ class RecentEmojiImpl implements RecentEmoji, OpenDatabaseHook {
|
||||
private static final Logger LOG =
|
||||
Logger.getLogger(RecentEmojiImpl.class.getName());
|
||||
|
||||
private static final String EMOJI_LRU_PREFERENCE = "pref_emoji_recent2";
|
||||
private static final int EMOJI_LRU_SIZE = 50;
|
||||
|
||||
// UI thread
|
||||
|
||||
@@ -41,10 +41,10 @@ import static java.util.concurrent.TimeUnit.MINUTES;
|
||||
import static java.util.logging.Level.WARNING;
|
||||
import static org.briarproject.bramble.util.AndroidUtils.getImmutableFlags;
|
||||
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.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
|
||||
@MethodsNotNullByDefault
|
||||
|
||||
@@ -101,6 +101,8 @@ public abstract class BaseActivity extends AppCompatActivity
|
||||
// unlock screen is shown.
|
||||
if (PREVENT_SCREENSHOTS) getWindow().addFlags(FLAG_SECURE);
|
||||
|
||||
if (SDK_INT >= 31) getWindow().setHideOverlayWindows(true);
|
||||
|
||||
for (ActivityLifecycleController alc : lifecycleControllers) {
|
||||
alc.onActivityCreate(this);
|
||||
}
|
||||
|
||||
@@ -30,8 +30,7 @@ import static java.util.logging.Logger.getLogger;
|
||||
import static org.briarproject.android.dontkillmelib.DozeUtils.needsDozeWhitelisting;
|
||||
import static org.briarproject.bramble.api.lifecycle.LifecycleManager.LifecycleState.STARTING_SERVICES;
|
||||
import static org.briarproject.bramble.util.LogUtils.logException;
|
||||
import static org.briarproject.briar.api.android.SettingsConstants.DOZE_ASK_AGAIN;
|
||||
import static org.briarproject.briar.api.android.SettingsConstants.SETTINGS_NAMESPACE;
|
||||
import static org.briarproject.briar.android.settings.SettingsFragment.SETTINGS_NAMESPACE;
|
||||
|
||||
@NotNullByDefault
|
||||
public class BriarControllerImpl implements BriarController {
|
||||
@@ -39,6 +38,8 @@ public class BriarControllerImpl implements BriarController {
|
||||
private static final Logger LOG =
|
||||
getLogger(BriarControllerImpl.class.getName());
|
||||
|
||||
public static final String DOZE_ASK_AGAIN = "dozeAskAgain";
|
||||
|
||||
private final BriarServiceConnection serviceConnection;
|
||||
private final AccountManager accountManager;
|
||||
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.logException;
|
||||
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.view.TextSendController.SendState.ERROR;
|
||||
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.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.AutoDeleteManager.DEFAULT_TIMER_DURATION;
|
||||
import static org.briarproject.briar.api.messaging.PrivateMessageFormat.TEXT_IMAGES;
|
||||
@@ -87,6 +85,11 @@ public class ConversationViewModel extends DbViewModel
|
||||
private static final Logger LOG =
|
||||
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 EventBus eventBus;
|
||||
private final MessagingManager messagingManager;
|
||||
|
||||
@@ -432,7 +432,8 @@ class HotspotManager {
|
||||
|
||||
@RequiresApi(29)
|
||||
private String getPassword() {
|
||||
return getRandomString(8);
|
||||
return getRandomString(4) + "-" + getRandomString(4) + "-" +
|
||||
getRandomString(4) + "-" + getRandomString(4);
|
||||
}
|
||||
|
||||
private static String createWifiLoginString(String ssid, String password) {
|
||||
|
||||
@@ -28,10 +28,8 @@ import static java.util.logging.Logger.getLogger;
|
||||
import static org.briarproject.android.dontkillmelib.DozeUtils.needsDozeWhitelisting;
|
||||
import static org.briarproject.bramble.util.LogUtils.logException;
|
||||
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.api.android.SettingsConstants.EXPIRY_DATE_WARNING;
|
||||
import static org.briarproject.briar.api.android.SettingsConstants.SETTINGS_NAMESPACE;
|
||||
import static org.briarproject.briar.api.android.SettingsConstants.SHOW_ONBOARDING_TRANSPORTS;
|
||||
import static org.briarproject.briar.android.controller.BriarControllerImpl.DOZE_ASK_AGAIN;
|
||||
import static org.briarproject.briar.android.settings.SettingsFragment.SETTINGS_NAMESPACE;
|
||||
|
||||
@NotNullByDefault
|
||||
public class NavDrawerViewModel extends DbViewModel {
|
||||
@@ -39,6 +37,10 @@ public class NavDrawerViewModel extends DbViewModel {
|
||||
private static final Logger LOG =
|
||||
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 MutableLiveData<Boolean> showExpiryWarning =
|
||||
@@ -151,7 +153,7 @@ public class NavDrawerViewModel extends DbViewModel {
|
||||
Settings settings =
|
||||
settingsManager.getSettings(SETTINGS_NAMESPACE);
|
||||
boolean show =
|
||||
settings.getBoolean(SHOW_ONBOARDING_TRANSPORTS, true);
|
||||
settings.getBoolean(SHOW_TRANSPORTS_ONBOARDING, true);
|
||||
showTransportsOnboarding.postValue(show);
|
||||
} catch (DbException e) {
|
||||
handleException(e);
|
||||
@@ -165,7 +167,7 @@ public class NavDrawerViewModel extends DbViewModel {
|
||||
runOnDbThread(() -> {
|
||||
try {
|
||||
Settings settings = new Settings();
|
||||
settings.putBoolean(SHOW_ONBOARDING_TRANSPORTS, false);
|
||||
settings.putBoolean(SHOW_TRANSPORTS_ONBOARDING, false);
|
||||
settingsManager.mergeSettings(settings, SETTINGS_NAMESPACE);
|
||||
} catch (DbException e) {
|
||||
handleException(e);
|
||||
|
||||
@@ -31,8 +31,7 @@ import javax.inject.Inject;
|
||||
import static java.util.logging.Level.INFO;
|
||||
import static java.util.logging.Level.WARNING;
|
||||
import static org.briarproject.bramble.util.LogUtils.logException;
|
||||
import static org.briarproject.briar.api.android.SettingsConstants.SETTINGS_NAMESPACE;
|
||||
import static org.briarproject.briar.api.android.SettingsConstants.SHOW_ONBOARDING_REVEAL_CONTACTS;
|
||||
import static org.briarproject.briar.android.settings.SettingsFragment.SETTINGS_NAMESPACE;
|
||||
import static org.briarproject.briar.api.privategroup.Visibility.INVISIBLE;
|
||||
|
||||
@Immutable
|
||||
@@ -42,6 +41,8 @@ class RevealContactsControllerImpl extends DbControllerImpl
|
||||
|
||||
private static final Logger LOG =
|
||||
Logger.getLogger(RevealContactsControllerImpl.class.getName());
|
||||
private static final String SHOW_ONBOARDING_REVEAL_CONTACTS =
|
||||
"showOnboardingRevealContacts";
|
||||
|
||||
private final PrivateGroupManager groupManager;
|
||||
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.FORUM_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.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_SOUND;
|
||||
import static org.briarproject.briar.api.android.SettingsConstants.PREF_NOTIFY_VIBRATION;
|
||||
import static org.briarproject.briar.api.android.AndroidNotificationManager.PREF_NOTIFY_BLOG;
|
||||
import static org.briarproject.briar.api.android.AndroidNotificationManager.PREF_NOTIFY_FORUM;
|
||||
import static org.briarproject.briar.api.android.AndroidNotificationManager.PREF_NOTIFY_GROUP;
|
||||
import static org.briarproject.briar.api.android.AndroidNotificationManager.PREF_NOTIFY_PRIVATE;
|
||||
import static org.briarproject.briar.api.android.AndroidNotificationManager.PREF_NOTIFY_SOUND;
|
||||
import static org.briarproject.briar.api.android.AndroidNotificationManager.PREF_NOTIFY_VIBRATION;
|
||||
|
||||
@MethodsNotNullByDefault
|
||||
@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.logException;
|
||||
import static org.briarproject.bramble.util.LogUtils.now;
|
||||
import static org.briarproject.briar.api.android.SettingsConstants.PREF_NOTIFY_BLOG;
|
||||
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_NAME;
|
||||
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;
|
||||
import static org.briarproject.briar.android.settings.SettingsFragment.SETTINGS_NAMESPACE;
|
||||
import static org.briarproject.briar.api.android.AndroidNotificationManager.PREF_NOTIFY_BLOG;
|
||||
import static org.briarproject.briar.api.android.AndroidNotificationManager.PREF_NOTIFY_FORUM;
|
||||
import static org.briarproject.briar.api.android.AndroidNotificationManager.PREF_NOTIFY_GROUP;
|
||||
import static org.briarproject.briar.api.android.AndroidNotificationManager.PREF_NOTIFY_PRIVATE;
|
||||
import static org.briarproject.briar.api.android.AndroidNotificationManager.PREF_NOTIFY_RINGTONE_NAME;
|
||||
import static org.briarproject.briar.api.android.AndroidNotificationManager.PREF_NOTIFY_RINGTONE_URI;
|
||||
import static org.briarproject.briar.api.android.AndroidNotificationManager.PREF_NOTIFY_SOUND;
|
||||
import static org.briarproject.briar.api.android.AndroidNotificationManager.PREF_NOTIFY_VIBRATION;
|
||||
|
||||
@MethodsNotNullByDefault
|
||||
@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.settings.SettingsActivity.enableAndPersist;
|
||||
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
|
||||
@ParametersNotNullByDefault
|
||||
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
|
||||
ViewModelProvider.Factory viewModelFactory;
|
||||
|
||||
|
||||
@@ -37,6 +37,8 @@ import static org.briarproject.briar.android.util.UiUtils.tryToStartActivity;
|
||||
@ParametersNotNullByDefault
|
||||
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_SHARE_LINK = "pref_key_share_app_link";
|
||||
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.logException;
|
||||
import static org.briarproject.bramble.util.LogUtils.now;
|
||||
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;
|
||||
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;
|
||||
|
||||
@MethodsNotNullByDefault
|
||||
@ParametersNotNullByDefault
|
||||
|
||||
@@ -13,6 +13,7 @@ import org.briarproject.briar.android.Localizer;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import static android.content.Intent.ACTION_VIEW;
|
||||
import static android.os.Build.VERSION.SDK_INT;
|
||||
import static android.view.WindowManager.LayoutParams.FLAG_SECURE;
|
||||
import static org.briarproject.briar.android.TestingConstants.PREVENT_SCREENSHOTS;
|
||||
|
||||
@@ -25,6 +26,8 @@ public class ExpiredActivity extends AppCompatActivity
|
||||
|
||||
if (PREVENT_SCREENSHOTS) getWindow().addFlags(FLAG_SECURE);
|
||||
|
||||
if (SDK_INT >= 31) getWindow().setHideOverlayWindows(true);
|
||||
|
||||
setContentView(R.layout.activity_expired);
|
||||
findViewById(R.id.download_briar_button).setOnClickListener(this);
|
||||
}
|
||||
@@ -38,7 +41,7 @@ public class ExpiredActivity extends AppCompatActivity
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
Uri uri = Uri.parse("https://briarproject.org/download.html");
|
||||
Uri uri = Uri.parse("https://briarproject.org/download-briar");
|
||||
startActivity(new Intent(ACTION_VIEW, uri));
|
||||
finish();
|
||||
}
|
||||
|
||||
@@ -11,6 +11,17 @@ import org.briarproject.bramble.api.sync.GroupId;
|
||||
*/
|
||||
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
|
||||
int ONGOING_NOTIFICATION_ID = 1;
|
||||
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";
|
||||
}
|
||||
@@ -364,8 +364,8 @@
|
||||
<string name="introduction_response_declined_received">لقد رفض/ت %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="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>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<string name="setup_next">Siguiente</string>
|
||||
<string name="setup_password_intro">Elige una contraseña</string>
|
||||
<string name="setup_password_explanation">Tu cuenta Briar se almacena cifrada en tu dispositivo, no en la nube. Si olvidas tu contraseña o desinstalas Briar, no hay manera de recuperarla.\n\nElige una contraseña larga que sea difícil de adivinar, como cuatro palabras aleatorias o diez letras, números y símbolos al azar.</string>
|
||||
<string name="dnkm_doze_intro">Para recibir mensajes, Briar necesita mantenerse conectado en segundo plano.</string>
|
||||
<string name="dnkm_doze_intro">Para recibir mensajes, Briar necesita mantenerse conectado en segundo plano. </string>
|
||||
<string name="dnkm_doze_explanation">Para recibir mensajes, Briar necesita mantenerse conectado en segundo plano. Desactiva las optimizaciones de la batería para que Briar pueda permanecer conectado.</string>
|
||||
<string name="choose_nickname">Elige tu nombre de usuario</string>
|
||||
<string name="choose_password">Elige tu contraseña</string>
|
||||
@@ -238,14 +238,18 @@
|
||||
<string name="exchanging_contact_details">Intercambiando información de contacto\u2026</string>
|
||||
<string name="contact_added_toast">Contacto añadido: %s</string>
|
||||
<string name="contact_already_exists">El contacto %s ya existe</string>
|
||||
<string name="contact_already_exists_general">Contacto ya hay</string>
|
||||
<string name="qr_code_invalid">El código QR no es válido</string>
|
||||
<string name="qr_code_too_old_1">El código QR que has escaneado procede de una versión antigua de Briar.\n\nPor favor, pide a tu contacto que actualice a la última versión y vuelve a intentarlo.</string>
|
||||
<string name="qr_code_too_new_1">El código QR que has escaneado proviene de una versión más reciente de Briar.\n\nPor favor, actualiza a la última versión y vuelve a intentarlo.</string>
|
||||
<string name="mailbox_qr_code_for_contact">El código QR que ha escaneado proviene de Briar Mailbox.\n\nSi desea vincular un buzón de correo, por favor elija Configuración > Buzón de correo desde el menú de Briar.</string>
|
||||
<string name="qr_code_format_unknown">El código QR que ha escaneado no está destinado a agregar un contacto de Briar.\n\nPor favor, escanee el código QR que se muestra en la pantalla de su contacto.</string>
|
||||
<string name="camera_error">Error de cámara</string>
|
||||
<string name="connecting_to_device">Conectando al dispositivo\u2026</string>
|
||||
<string name="authenticating_with_device">Autentificándose con el dispositivo\u2026</string>
|
||||
<string name="connection_error_title">No se pudo conectar a tu contacto</string>
|
||||
<string name="connection_error_feedback">Si este problema persiste, por favor <a href="feedback">envía tus comentarios</a> para ayudarnos a mejorar la aplicación.</string>
|
||||
<string name="info_both_must_scan">Usted debe escanear los códigos QR cada uno.</string>
|
||||
<!--Adding Contacts Remotely-->
|
||||
<string name="add_contact_remotely_title_case">Añadir un Contacto a Distancia</string>
|
||||
<string name="add_contact_nearby_title">Agregar un contacto cercano</string>
|
||||
@@ -439,6 +443,9 @@
|
||||
<string name="shared_by_format">Compartido por %s</string>
|
||||
<string name="forum_invitation_already_sharing">Ya se está compartiendo</string>
|
||||
<string name="forum_invitation_already_invited">Invitación ya enviada</string>
|
||||
<string name="forum_invitation_invite_received">Invitación ya recibida</string>
|
||||
<string name="forum_invitation_not_supported">No es compatible con este contacto</string>
|
||||
<string name="forum_invitation_error">Error. Esto es un error y no es culpa suya</string>
|
||||
<string name="forum_invitation_response_accepted_sent">Aceptaste la invitación al foro de %s.</string>
|
||||
<string name="forum_invitation_response_declined_sent">Rechazaste la invitación al foro de %s.</string>
|
||||
<string name="forum_invitation_response_declined_auto">La invitación al foro de %s fue automáticamente rechazada.</string>
|
||||
@@ -490,7 +497,9 @@
|
||||
<string name="blogs_rss_feeds_import">Importar canal RSS</string>
|
||||
<string name="blogs_rss_feeds_import_button">Importar</string>
|
||||
<string name="blogs_rss_feeds_import_hint">Introduce la URL del canal RSS</string>
|
||||
<string name="blogs_rss_feeds_import_progress">Importando Fuente RSS</string>
|
||||
<string name="blogs_rss_feeds_import_error">¡Lo sentimos! Hubo un error importando tu canal.</string>
|
||||
<string name="blogs_rss_feeds_import_title">Importar fuente de archivo</string>
|
||||
<string name="blogs_rss_feeds">Canales RSS</string>
|
||||
<string name="blogs_rss_feeds_manage_imported">Importado:</string>
|
||||
<string name="blogs_rss_feeds_manage_author">Autor:</string>
|
||||
@@ -602,7 +611,13 @@
|
||||
<string name="mailbox_setup_download_link">Compartir enlace de descarga</string>
|
||||
<string name="mailbox_setup_button_scan">Escanear código QR de Buzón</string>
|
||||
<string name="permission_camera_qr_denied_body">Has denegado el acceso a la cámara, pero para escanear un código QR se requiere el uso de la cámara.\n\nPor favor considera conceder el acceso.</string>
|
||||
<string name="mailbox_setup_connecting">Conectando con el buzón de correo...</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">Esto puede tardar hasta %1s</string>
|
||||
<string name="mailbox_qr_code_too_old">El código QR que ha escaneado proviene de una versión anterior de Briar Mailbox.\n\nPor favor, actualice Briar Mailbox a la última versión y vuelva a intentarlo.</string>
|
||||
<string name="mailbox_qr_code_too_new">El código QR que ha escaneado proviene de una versión más reciente de Briar Mailbox. Por favor, actualice Briar a la última versión y vuelva a intentarlo.</string>
|
||||
<string name="contact_qr_code_for_mailbox">El código QR que ha escaneado proviene de una versión más reciente de Briar Mailbox.\n\Se deseas agregar un contacto, por favor ve a lista de contactos e toca o + ícono.</string>
|
||||
<string name="mailbox_setup_qr_code_wrong_description">El código QR que ha escaneado no proviene de Briar Mailbox.\n\nPor favor, abra la aplicación Briar Mailbox en su dispositivo de buzón de correo y escanee el código que presenta.</string>
|
||||
<string name="mailbox_setup_already_paired_title">Buzón ya vinculado</string>
|
||||
<string name="mailbox_setup_already_paired_description">Desvincula el Buzón en tu otro dispositivo e inténtalo de nuevo.</string>
|
||||
<string name="mailbox_setup_io_error_title">No se pudo conectar</string>
|
||||
@@ -687,6 +702,8 @@
|
||||
<string name="disappearing_messages_summary">Haz que futuros mensajes en esta conversación desaparezcan automáticamente después de 7\u00A0days.</string>
|
||||
<!--Settings Actions-->
|
||||
<string name="pref_category_actions">Acciones</string>
|
||||
<string name="share_app_link">Compartir enlace de descarga </string>
|
||||
<string name="share_app_link_text">Descargue Briar en %s</string>
|
||||
<string name="send_feedback">Enviar comentario</string>
|
||||
<!--Link Warning-->
|
||||
<string name="link_warning_title">Advertencia sobre el enlace</string>
|
||||
@@ -736,15 +753,21 @@
|
||||
<string name="permission_camera_title">Permiso de cámara</string>
|
||||
<string name="permission_camera_request_body">Para escanear el código QR, Briar necesita acceso a la cámara.</string>
|
||||
<string name="permission_location_title">Permiso de ubicación</string>
|
||||
<string name="permission_nearby_devices_title">Permiso de dispositivos cercanos</string>
|
||||
<string name="permission_location_request_body">Para descubrir dispositivos Bluetooth, Briar necesita permiso para acceder tu ubicación.\n\nBriar no la almacena o la comparte con nadie.</string>
|
||||
<string name="permission_camera_location_title">Cámara y ubicación</string>
|
||||
<string name="permission_camera_location_request_body">Para escanear el código QR, Briar necesita acceso a la cámara.\n\nPara descubrir dispositivos Bluetooth, Briar necesita permiso para acceder tu ubicación.\n\nBriar no la almacena o la comparte con nadie.</string>
|
||||
<string name="permission_camera_bluetooth_title">Cámara y dispositivos cercanos</string>
|
||||
<string name="permission_camera_bluetooth_request_body">Para escanear el código QR, Briar necesita acceso a la cámara.\n\nPara descubrir dispositivos Bluetooth, Briar necesita permiso para encontrar y conectarse a dispositivos cercanos.</string>
|
||||
<string name="permission_camera_denied_body">Has denegado el acceso a la cámara, pero para añadir contactos se requiere el uso de la cámara.\n\nPor favor considera la posibilidad de conceder el acceso.</string>
|
||||
<string name="permission_location_denied_body">Has denegado el acceso a tu ubicación, pero Briar necesita este permiso para descubrir dispositivos Bluetooth.\n\nPor favor considera la posibilidad de conceder el acceso.</string>
|
||||
<string name="permission_location_setting_title">Configuración de ubicación</string>
|
||||
<string name="permission_location_setting_body">La configuración de ubicación de tu dispositivo debe estar activada para encontrar otros dispositivos vía Bluetooth. Por favor, habilita ubicación para continuar. Puedes deshabilitarla nuevamente con posterioridad.</string>
|
||||
<string name="permission_location_setting_hotspot_body">La configuración de su ubicación debe estar activada para crear un punto de accesso WI-Fi. Por favor, Habilite la ubicación para continuar. Usted puede desactivarla de nuevo después .</string>
|
||||
<string name="permission_location_setting_button">Activar ubicación</string>
|
||||
<string name="permission_bluetooth_title">Permiso de dispositivos cercanos</string>
|
||||
<string name="permission_bluetooth_body">Para utilizar la comunicación Bluetooth, Briar necesita permiso para encontrar y conectarse a dispositivos cercanos.</string>
|
||||
<string name="permission_bluetooth_denied_body">Ha denegado el acceso a dispositivos cercanos, pero Briar necesita este permiso para utilizar Bluetooth.\n\nPor favor, considere otorgar acceso.</string>
|
||||
<string name="qr_code">Código QR</string>
|
||||
<string name="show_qr_code_fullscreen">Mostrar código QR a pantalla completa</string>
|
||||
<!--App Locking-->
|
||||
@@ -767,7 +790,11 @@
|
||||
<string name="hotspot_notification_title">Compartiendo Briar sin conexión</string>
|
||||
<string name="hotspot_button_connected">Siguiente</string>
|
||||
<string name="permission_hotspot_location_request_body">Para crear un punto de acceso Wi-Fi, Briar necesita permiso para acceder tu ubicación.\n\nBriar no la almacena o la comparte con nadie.</string>
|
||||
<string name="permission_hotspot_location_request_precise_body">Para crear un punto de acceso Wi-Fi, Briar necesita permiso para acceder a su ubicación precisa.\n\nBriar no almacena su ubicación ni la comparte con nadie.</string>
|
||||
<string name="permission_hotspot_location_denied_body">Has denegado el acceso a tu ubicación, pero Briar necesita este permiso para crear un punto de acceso Wi-Fi.\n\nPor favor considera la posibilidad de conceder el acceso.</string>
|
||||
<string name="permission_hotspot_location_denied_precise_body">Ha denegado el acceso a su ubicación precisa, pero Briar necesita este permiso para crear un punto de acceso Wi-Fi.\n\nPor favor, considere otorgar acceso.</string>
|
||||
<string name="permission_hotspot_nearby_wifi_request_body">Para crear un punto de acceso Wi-Fi, Briar necesita permiso para acceder a los dispositivos cercanos.</string>
|
||||
<string name="permission_hotspot_nearby_wifi_denied_body">Ha denegado el acceso a dispositivos cercanos, pero Briar necesita este permiso para utilizar Bluetooth.\n\nPor favor, considere otorgar acceso.</string>
|
||||
<string name="wifi_settings_title">Configuración de Wi-Fi</string>
|
||||
<string name="wifi_settings_request_enable_body">Para crear un punto de acceso Wi-Fi, Briar necesita usar Wi-Fi. Por favor habilítalo.</string>
|
||||
<string name="hotspot_tab_manual">Manual</string>
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
<string name="dnkm_xiaomi_button">Protéger Briar</string>
|
||||
<string name="dnkm_xiaomi_help">Si Briar n’est pas verrouillée à la liste des applis récentes, elle ne pourra pas fonctionner en arrière-plan.</string>
|
||||
<string name="dnkm_xiaomi_dialog_body_old">1. Ouvrez la liste des applis récentes (aussi appelé sélecteur d’appli)\n\n2. Balayez l’image de Briar vers le bas pour afficher l’icône de verrou\n\n3. Si le verrou n’est pas verrouillé, touchez pour le verrouiller</string>
|
||||
<string name="dnkm_warning_dozed_1">Briar n\'a pas pu fonctionner en arrière-plan</string>
|
||||
<!--Login-->
|
||||
<string name="enter_password">Mot de passe</string>
|
||||
<string name="try_again">Le mot de passe est erroné, réessayez</string>
|
||||
@@ -226,6 +227,7 @@
|
||||
<string name="menu_contact">Contact</string>
|
||||
<!--Adding Contacts-->
|
||||
<string name="add_contact_title">Ajouter un contact à proximité</string>
|
||||
<string name="add_contact_error_two_way">Avez-vous tous les deux balayer les codes QR de chacun ?</string>
|
||||
<string name="face_to_face">Vous devez rencontrer la personne que vous voulez ajouter comme contact, afin d’éviter que quelqu’un se fasse passer pour vous et puisse lire vos messages à l’avenir.</string>
|
||||
<string name="continue_button">Poursuivre</string>
|
||||
<string name="try_again_button">Ressayer</string>
|
||||
@@ -233,12 +235,15 @@
|
||||
<string name="exchanging_contact_details">Échange des renseignements de contact\u2026</string>
|
||||
<string name="contact_added_toast">Contact ajouté : %s</string>
|
||||
<string name="contact_already_exists">Le contact %s existe déjà</string>
|
||||
<string name="contact_already_exists_general">Contact déjà existant</string>
|
||||
<string name="qr_code_invalid">Le code QR est invalide</string>
|
||||
<string name="qr_code_too_old_1">Le QR code que vous avez scanné provient d’une version plus ancienne de Briar.\n\nVeuillez demander à votre contact de mettre à niveau la version la plus récente et réessayer.</string>
|
||||
<string name="camera_error">Erreur de l’appareil photo</string>
|
||||
<string name="connecting_to_device">Connexion à l’appareil\u2026</string>
|
||||
<string name="authenticating_with_device">Autentification avec l’appareil\u2026</string>
|
||||
<string name="connection_error_title">Impossible de se connecter à votre contact</string>
|
||||
<string name="connection_error_feedback">Si le problème persiste, veuillez nous <a href="feedback">envoyer une rétroaction</a> pour nous aider à améliorer l’appli.</string>
|
||||
<string name="info_both_must_scan">Vous devez tous les deux balayer les codes QR de chacun</string>
|
||||
<!--Adding Contacts Remotely-->
|
||||
<string name="add_contact_remotely_title_case">Ajouter un contact à distance</string>
|
||||
<string name="add_contact_nearby_title">Ajouter un contact à proximité</string>
|
||||
@@ -297,7 +302,12 @@
|
||||
<string name="different_person_button">Une personne différente</string>
|
||||
<string name="duplicate_link_dialog_text_3">%1$s et %2$s vous ont envoyé le même lien.\n\nL\'une de ces personnes pourrait tenter de découvrir qui sont vos contacts.\n\nNe lui dites pas que vous avez reçu le même lien de quelqu’un d’autre.</string>
|
||||
<string name="pending_contact_updated_toast">Le contact en attente a été mis à jour</string>
|
||||
<string name="info_both_must_enter_links">Vous devez tous les deux ajouter les liens de chacun</string>
|
||||
<!--Peer trust levels-->
|
||||
<string name="peer_trust_level_unverified">Contact non vérifié</string>
|
||||
<string name="peer_trust_level_verified">Contact vérifié</string>
|
||||
<string name="peer_trust_level_ourselves">Moi</string>
|
||||
<string name="peer_trust_level_stranger">Etranger</string>
|
||||
<!--Introductions-->
|
||||
<string name="introduction_onboarding_title">Présenter vos contacts</string>
|
||||
<string name="introduction_onboarding_text">Présentez vos contacts l\'un à l\'autre ainsi ils pourront se contacter via Briar.</string>
|
||||
@@ -425,6 +435,8 @@
|
||||
<string name="forum_declined_toast">L’invitation a été refusée</string>
|
||||
<string name="shared_by_format">Partagé par %s</string>
|
||||
<string name="forum_invitation_already_sharing">Le forum est déjà partagé</string>
|
||||
<string name="forum_invitation_already_invited">Invitation déjà envoyée</string>
|
||||
<string name="forum_invitation_invite_received">Invitation déjà reçue</string>
|
||||
<string name="forum_invitation_response_accepted_sent">Vous avez accepté l’invitation de %s au forum.</string>
|
||||
<string name="forum_invitation_response_declined_sent">Vous avez refusé l’invitation de %s au forum.</string>
|
||||
<string name="forum_invitation_response_declined_auto">L’invitation au forum provenant de %s a été refusée automatiquement.</string>
|
||||
@@ -476,7 +488,9 @@
|
||||
<string name="blogs_rss_feeds_import">Importer un fil RSS</string>
|
||||
<string name="blogs_rss_feeds_import_button">Importer</string>
|
||||
<string name="blogs_rss_feeds_import_hint">Saisir l’URL du fil RSS</string>
|
||||
<string name="blogs_rss_feeds_import_progress">Importation d\'un flux RRS</string>
|
||||
<string name="blogs_rss_feeds_import_error">Nous sommes désolés ! Une erreur est survenue lors de l’importation de votre fil.</string>
|
||||
<string name="blogs_rss_feeds_import_title">Importer le flux à partir d\'un fichier</string>
|
||||
<string name="blogs_rss_feeds">Fils RSS</string>
|
||||
<string name="blogs_rss_feeds_manage_imported">Importés :</string>
|
||||
<string name="blogs_rss_feeds_manage_author">Auteur :</string>
|
||||
@@ -587,7 +601,9 @@
|
||||
<string name="mailbox_setup_download_link">Partager le lien de téléchargement</string>
|
||||
<string name="mailbox_setup_button_scan">Balayer le code QR de Boîte de courriel</string>
|
||||
<string name="permission_camera_qr_denied_body">Vous avez refusé l’accès à l’appareil photo, mais le balayage d’un code QR de contacts exige de l’utiliser.\n\nVeuillez envisager d’y accorder l’accès.</string>
|
||||
<string name="mailbox_setup_connecting">Connexion à Mailbox…</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">Cela peut prendre jusqu\'à %1s</string>
|
||||
<string name="mailbox_setup_already_paired_title">La Boîte de courriel est déjà reliée</string>
|
||||
<string name="mailbox_setup_already_paired_description">Annuler le lien avec la Boîte de courriel sur l’autre appareil et réessayer.</string>
|
||||
<string name="mailbox_setup_io_error_title">Connexion impossible</string>
|
||||
@@ -602,6 +618,7 @@
|
||||
<string name="tor_offline_button_check">Vérifiez les paramètres de connexion.</string>
|
||||
<string name="mailbox_status_title">État de la Boîte de courriel</string>
|
||||
<string name="mailbox_status_connected_title">La Boîte de courriel est en cours d’exécution</string>
|
||||
<string name="mailbox_status_app_too_old_title">Briar est trop ancien</string>
|
||||
<!--Example for string substitution: Last connection: 3min ago-->
|
||||
<!--Indicates that there never was a connection to the mailbox. Last connection: Never-->
|
||||
<string name="mailbox_status_connected_never">Jamais</string>
|
||||
@@ -721,6 +738,7 @@ copies des messages que vous envoyez.
|
||||
<!--Transfer Data via Removable Drives-->
|
||||
<string name="removable_drive_menu_title">Se connecter par un lecteur amovible</string>
|
||||
<string name="removable_drive_success_receive_title">L’importation est réussie</string>
|
||||
<string name="removable_drive_error_receive_title">Erreur lors de l\'importation de données</string>
|
||||
<!--Screenshots-->
|
||||
<!--This is a name to be used in screenshots. Feel free to change it to a local name.-->
|
||||
<string name="screenshot_alice">Laurence</string>
|
||||
|
||||
@@ -316,6 +316,7 @@
|
||||
<string name="peer_trust_level_stranger">Nepažįstamasis</string>
|
||||
<!--Introductions-->
|
||||
<string name="introduction_onboarding_title">Supažindinkite savo adresatus</string>
|
||||
<string name="introduction_onboarding_text">Supažindinkite adresatus vieną su kitu, kad jie galėtų susisiekti per Briar.</string>
|
||||
<string name="introduction_menu_item">Supažindinti</string>
|
||||
<string name="introduction_activity_title">Pasirinkite adresatą</string>
|
||||
<string name="introduction_not_possible">Jau vyksta vienas supažindinimas tarp šių adresatų. Iš pradžių, leiskite, kad jis būtų užbaigtas. Jeigu jūs ar jūsų adresatai retai būna prisijungę, tuomet tai gali šiek tiek užtrukti.</string>
|
||||
@@ -398,7 +399,7 @@
|
||||
<string name="sharing_status_groups">Tik įkūrėjas gali kviesti naujus narius į grupę. Žemiau yra visi esami grupės nariai.</string>
|
||||
<!--Private Groups Revealing Contacts-->
|
||||
<string name="groups_reveal_contacts">Atskleisti adresatus</string>
|
||||
<string name="groups_reveal_dialog_message">Galite pasirinkti ar atskleisti adresatus visiems esamiems ir būsimiems šios grupės nariams.\n\nAdresatų atskleidimas paverčia jūsų ryšį su grupe greitesnį ir labiau patikimą, nes galite bendrauti su atskleistais adresatais netgi tuomet, kai grupės įkūrėjas yra atsijungęs.</string>
|
||||
<string name="groups_reveal_dialog_message">Galite pasirinkti, ar atskleisti adresatus visiems esamiems ir būsimiems šios grupės nariams.\n\nAdresatų atskleidimas paverčia jūsų ryšį su grupe greitesniu ir labiau patikimu, nes galite bendrauti su atskleistais adresatais netgi tuomet, kai grupės įkūrėjas yra atsijungęs.</string>
|
||||
<string name="groups_reveal_visible">Adresatų sąryšiai yra matomi grupei</string>
|
||||
<string name="groups_reveal_visible_revealed_by_us">Adresatų sąryšiai yra matomi grupei (atskleidėte jūs)</string>
|
||||
<string name="groups_reveal_visible_revealed_by_contact">Adresatų sąryšiai yra matomi grupei (atskleidė %s)</string>
|
||||
@@ -453,7 +454,7 @@
|
||||
<string name="forum_invitation_response_declined_received">%s atmetė pakvietimą į forumą.</string>
|
||||
<string name="sharing_status">Bendrinimo būsena</string>
|
||||
<string name="sharing_status_forum">Bet kuris forumo narys gali jį bendrinti su savo adresatais. Jūs bendrinate šį forumą su šiais adresatais. Taip pat gali būti ir kitų narių, kurių nematote.</string>
|
||||
<string name="shared_with">Bendrinama su %1$d (%2$d pasiekiami)</string>
|
||||
<string name="shared_with">Bendrinama su %1$d (Prisijungę: %2$d)</string>
|
||||
<plurals name="forums_shared">
|
||||
<item quantity="one">Adresatų bendrinamas %d forumas</item>
|
||||
<item quantity="few">Adresatų bendrinami %d forumai</item>
|
||||
@@ -605,7 +606,7 @@
|
||||
<!--Mailbox-->
|
||||
<string name="mailbox_settings_title">Pašto dėžutė</string>
|
||||
<string name="mailbox_setup_title">Pašto dėžutės sąranka</string>
|
||||
<string name="mailbox_setup_intro">Pašto dėžutės leidžia adresatams siųsti jums žinutes, kol esate neprisijungę prie interneto. Žinutės bus siunčiamos į jūsų pašto dėžutę ir saugomos ten tol, kol prisijungsite prie interneto.\n
|
||||
<string name="mailbox_setup_intro">Pašto dėžutė leidžia adresatams siųsti jums žinutes, kai esate neprisijungę prie interneto. Žinutės bus siunčiamos į jūsų pašto dėžutę ir saugomos ten tol, kol prisijungsite prie interneto.\n
|
||||
\nGalite įsidiegti Briar pašto dėžutę laisvame atsarginiame įrenginyje. Palikite įrenginį prijungtą prie maitinimo šaltinio ir belaidžio (Wi-Fi) ryšio, kad jis būtų pastoviai prijungtas prie interneto.</string>
|
||||
<string name="mailbox_setup_download_link">Bendrinti atsisiuntimo nuorodą</string>
|
||||
<string name="mailbox_setup_button_scan">Skenuoti pašto dėžutės QR kodą</string>
|
||||
@@ -670,6 +671,8 @@
|
||||
<string name="disappearing_messages_summary">Padaryti, kad būsimos žinutės šiame pokalbyje automatiškai išnyktų po 7\u00A0dienų.</string>
|
||||
<!--Settings Actions-->
|
||||
<string name="pref_category_actions">Veiksmai</string>
|
||||
<string name="share_app_link">Bendrinti atsisiuntimo nuorodą</string>
|
||||
<string name="share_app_link_text">Atsisiųskite Briar apsilankę adresu %s</string>
|
||||
<string name="send_feedback">Siųsti atsiliepimą</string>
|
||||
<!--Link Warning-->
|
||||
<string name="link_warning_title">Įspėjimas apie nuorodą</string>
|
||||
|
||||
@@ -26,6 +26,9 @@
|
||||
<string name="dnkm_xiaomi_button">Proteger o Briar</string>
|
||||
<string name="dnkm_xiaomi_help">Se o Briar não estiver fixado à lista de aplicativos recentes, ele não poderá ser executado em segundo plano.</string>
|
||||
<string name="dnkm_xiaomi_dialog_body_old">1. Abra a lista de aplicativos recentes (também chamada de alternador de aplicativos)\n\n2. Deslize para baixo na imagem do Briar para mostrar o ícone de cadeado\n\n3. Se o cadeado não estiver trancado, toque para trancá-lo</string>
|
||||
<string name="dnkm_xiaomi_dialog_body_new">1. Abra a lista de aplicativos recentes (também chamada de alternador de aplicativos)\n\n2. Se Briar tiver uma pequena imagem de um cadeado ao lado de seu nome, então você não precisa fazer nada\n\n3. Se não houver cadeado, pressione e segure a imagem de Briar até que o botão de cadeado apareça e, em seguida, toque nele</string>
|
||||
<string name="dnkm_xiaomi_lock_apps_text">Toque no botão abaixo para abrir as configurações de segurança. Toque em \"Aumentar velocidade\", depois toque em \"Bloquear aplicativos\" e verifique se Briar está definido como \"Bloqueado\".</string>
|
||||
<string name="dnkm_xiaomi_lock_apps_help">Se o Briar não estiver definido como \"Bloqueado\" na tela \"Bloquear aplicativos\", ele não poderá ser executado em segundo plano.</string>
|
||||
<string name="dnkm_warning_dozed_1">Briar não conseguiu executar no background</string>
|
||||
<!--Login-->
|
||||
<string name="enter_password">Senha</string>
|
||||
@@ -153,6 +156,7 @@
|
||||
<string name="error_start_activity">Indisponível no seu sistema</string>
|
||||
<string name="status_heading">Status:</string>
|
||||
<string name="error">Erro</string>
|
||||
<string name="info">Informação</string>
|
||||
<!--Contacts and Private Conversations-->
|
||||
<string name="no_contacts">Sem contatos para exibir</string>
|
||||
<string name="no_contacts_action">Toque no ícone + para adicionar um contato</string>
|
||||
@@ -226,6 +230,7 @@
|
||||
<string name="menu_contact">Contato</string>
|
||||
<!--Adding Contacts-->
|
||||
<string name="add_contact_title">Adicionar contato que está próximo</string>
|
||||
<string name="add_contact_error_two_way">Vocês dois escanearam os códigos QR um do outro?</string>
|
||||
<string name="face_to_face">Você deve estar frente-a-frente com a pessoa que deseja adicionar como contato.\n\nIsso evita que alguém se passe por você ou leia suas mensagens no futuro.</string>
|
||||
<string name="continue_button">Continuar</string>
|
||||
<string name="try_again_button">Tente novamente</string>
|
||||
@@ -233,14 +238,18 @@
|
||||
<string name="exchanging_contact_details">Transferindo detalhes do contato\u2026</string>
|
||||
<string name="contact_added_toast">Contato adicionado: %s</string>
|
||||
<string name="contact_already_exists">Contato %s já existe</string>
|
||||
<string name="contact_already_exists_general">O contato já existe</string>
|
||||
<string name="qr_code_invalid">O código QR é inválido</string>
|
||||
<string name="qr_code_too_old_1">O código QR que você escaneou é de uma versão mais antiga do Briar.\n\nPor favor, peça ao seu contato para atualizar para a versão mais recente e tente novamente.</string>
|
||||
<string name="qr_code_too_new_1">O código QR que você escaneou é de uma versão mais recente do Briar.\n\nPor favor, atualize para a versão mais recente e tente novamente.</string>
|
||||
<string name="mailbox_qr_code_for_contact">O código QR que você escaneou vem da Caixa de Correio Briar.\n\nSe você quiser vincular uma Caixa de Correio, escolha Configurações > Caixa de correio no menu Briar.</string>
|
||||
<string name="qr_code_format_unknown">O código QR que você escaneou não se destina a adicionar um contato Briar.\n\nDigitalize o código QR mostrado na tela do seu contato.</string>
|
||||
<string name="camera_error">Erro da câmera</string>
|
||||
<string name="connecting_to_device">Conectando a device\u2026</string>
|
||||
<string name="authenticating_with_device">Autenticando com o dispositivo\u2026</string>
|
||||
<string name="connection_error_title">Não foi possível conectar-se ao seu contato</string>
|
||||
<string name="connection_error_feedback">Se o problema persistir, por favor <a href="feedback">envie um feedback</a> para nos ajudar a melhorar o app.</string>
|
||||
<string name="info_both_must_scan">Você deve escanear os códigos QR um do outro</string>
|
||||
<!--Adding Contacts Remotely-->
|
||||
<string name="add_contact_remotely_title_case">Adicionar contato à distância</string>
|
||||
<string name="add_contact_nearby_title">Adicionar contato que está próximo</string>
|
||||
@@ -299,6 +308,7 @@
|
||||
<string name="different_person_button">Pessoa diferente</string>
|
||||
<string name="duplicate_link_dialog_text_3">%1$s e %2$s enviaram o mesmo link para você.\n\nUm deles pode estar tentando descobrir quem são seus contatos.\n\nNão diga a eles que você recebeu o mesmo link de outra pessoa.</string>
|
||||
<string name="pending_contact_updated_toast">Contato pendente atualizado</string>
|
||||
<string name="info_both_must_enter_links">Você deve adicionar os links um do outro</string>
|
||||
<!--Peer trust levels-->
|
||||
<string name="peer_trust_level_unverified">Contato não verificado</string>
|
||||
<string name="peer_trust_level_verified">Contato verificado</string>
|
||||
@@ -332,6 +342,7 @@
|
||||
<string name="connect_via_bluetooth_intro">Caso as conexões Bluetooth não funcionem automaticamente, você pode usar essa tela para se conectar manualmente.\n\nSeu contato precisa estar próximo para isso dar certo.\n\nVocê e seu contato devem apertar \"Iniciar\" ao mesmo tempo.</string>
|
||||
<string name="connect_via_bluetooth_already_discovering">Tentando se conectar via Bluetooth no momento. Por favor, tente novamente em breve.</string>
|
||||
<string name="connect_via_bluetooth_no_location_permission">Não há como continuar sem a permissão de localização</string>
|
||||
<string name="connect_via_bluetooth_no_bluetooth_permission">Não é possível continuar sem permissão de dispositivos próximos</string>
|
||||
<string name="connect_via_bluetooth_start">Conectando-se via Bluetooth...</string>
|
||||
<string name="connect_via_bluetooth_success">Conectado com sucesso via Bluetooth</string>
|
||||
<string name="connect_via_bluetooth_error">Não foi possível se conectar via Bluetooth.</string>
|
||||
@@ -431,6 +442,10 @@
|
||||
<string name="forum_declined_toast">Convite recusado</string>
|
||||
<string name="shared_by_format">Compartilhado por %s</string>
|
||||
<string name="forum_invitation_already_sharing">Já compartilhado</string>
|
||||
<string name="forum_invitation_already_invited">Convite já enviado</string>
|
||||
<string name="forum_invitation_invite_received">Convite já recebido</string>
|
||||
<string name="forum_invitation_not_supported">Não suportado por este contato</string>
|
||||
<string name="forum_invitation_error">Erro. Isto é um bug e não é culpa sua</string>
|
||||
<string name="forum_invitation_response_accepted_sent">Você aceitou o convite do fórum do %s.</string>
|
||||
<string name="forum_invitation_response_declined_sent">Você recusou o convite de Fórum de %s.</string>
|
||||
<string name="forum_invitation_response_declined_auto">O convite ao fórum de %s foi automaticamente recusado.</string>
|
||||
@@ -482,7 +497,9 @@
|
||||
<string name="blogs_rss_feeds_import">Importar Feed RSS</string>
|
||||
<string name="blogs_rss_feeds_import_button">Importar</string>
|
||||
<string name="blogs_rss_feeds_import_hint">Entre a URL do feed RSS</string>
|
||||
<string name="blogs_rss_feeds_import_progress">Importando RSS Feed...</string>
|
||||
<string name="blogs_rss_feeds_import_error">Nós lamentamos! Houve um erro ao importar seu Feed.</string>
|
||||
<string name="blogs_rss_feeds_import_title">Importar feed do arquivo</string>
|
||||
<string name="blogs_rss_feeds">Feeds RSS</string>
|
||||
<string name="blogs_rss_feeds_manage_imported">Importado:</string>
|
||||
<string name="blogs_rss_feeds_manage_author">Autor:</string>
|
||||
@@ -594,7 +611,9 @@
|
||||
<string name="mailbox_setup_download_link">Compartilhar Link de Download</string>
|
||||
<string name="mailbox_setup_button_scan">Escanear código QR do Mailbox</string>
|
||||
<string name="permission_camera_qr_denied_body">Você negou acesso à câmera, mas escanear um código QR requer o uso da câmera.\n\nPor favor, considere conceder acesso.</string>
|
||||
<string name="mailbox_setup_connecting">Conectando à caixa de email...</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">Isso pode levar até %1s</string>
|
||||
<string name="mailbox_setup_already_paired_title">Mailbox já vinculado</string>
|
||||
<string name="mailbox_setup_already_paired_description">Desvincule o Mailbox no seu outro dispositivo e tente de novo.</string>
|
||||
<string name="mailbox_setup_io_error_title">Não foi possível conectar</string>
|
||||
@@ -613,7 +632,9 @@
|
||||
<string name="mailbox_status_connected_title">Mailbox está em execução</string>
|
||||
<string name="mailbox_status_problem_title">Briar está tendo problemas em se conectar ao Mailbox</string>
|
||||
<string name="mailbox_status_failure_title">Mailbox está indisponível</string>
|
||||
<string name="mailbox_status_app_too_old_title">O Briar é um antigo</string>
|
||||
<string name="mailbox_status_app_too_old_message">Atualize Briar para a versão mais recente do app e tente novamente.</string>
|
||||
<string name="mailbox_status_mailbox_too_old_title">A Caixa de email é muito antiga</string>
|
||||
<string name="mailbox_status_mailbox_too_old_message">Atualize sua Caixa de Entrada para a versão mais recente do app e tente novamente.</string>
|
||||
<string name="mailbox_status_check_button">Verificar Conexão</string>
|
||||
<!--Example for string substitution: Last connection: 3min ago-->
|
||||
@@ -677,6 +698,8 @@
|
||||
<string name="disappearing_messages_summary">Fazer as mensagens futuras nessa conversa desaparecerem automaticamente após 7\u00A0dias.</string>
|
||||
<!--Settings Actions-->
|
||||
<string name="pref_category_actions">Ações</string>
|
||||
<string name="share_app_link">Compartilhar link de download</string>
|
||||
<string name="share_app_link_text">Baixe o Briar em %s</string>
|
||||
<string name="send_feedback">Enviar feedback</string>
|
||||
<!--Link Warning-->
|
||||
<string name="link_warning_title">Aviso sobre Link</string>
|
||||
@@ -726,14 +749,19 @@
|
||||
<string name="permission_camera_title">Permissão da câmera</string>
|
||||
<string name="permission_camera_request_body">O Briar precisa acessar a câmera para pode escanear o código QR.</string>
|
||||
<string name="permission_location_title">Permissão para localização</string>
|
||||
<string name="permission_nearby_devices_title">Permissão de dispositivos próximos</string>
|
||||
<string name="permission_location_request_body">Para encontrar dispositivos Bluetooth, o Briar precisa de permissão para acessar sua localização.\n\nBriar não armazena sua localização nem a compartilha com ninguém.</string>
|
||||
<string name="permission_camera_location_title">Câmera e localização</string>
|
||||
<string name="permission_camera_location_request_body">Para escanear o código QR, o Briar precisa de acesso à câmera.\n\nPara encontrar dispositivos Bluetooth, o Briar precisa de permissão para acessar a localização.\n\nBriar não armazena sua localização nem a compartilha com ninguém.</string>
|
||||
<string name="permission_camera_bluetooth_title">Câmera e dispositivos próximos</string>
|
||||
<string name="permission_camera_denied_body">Você negou acesso à câmera, mas para adicionar contatos você precisa da câmera.\n\nPor favor, pense em liberar o acesso a ela.</string>
|
||||
<string name="permission_location_denied_body">Você desabilitou o acesso à sua localização, no entanto o Briar precisa da permissão para saber se há dispositivos Bluetooth.\n\nPor favor, considere liberar o acesso.</string>
|
||||
<string name="permission_location_setting_title">Configuração de localização</string>
|
||||
<string name="permission_location_setting_body">A opção de localização de seu dispositivo deve estar ativada para achar outros dispositivos via Bluetooth. Por favor, ative a localização para continuar. Você pode desativá-la em seguida.</string>
|
||||
<string name="permission_location_setting_button">Ativar localização</string>
|
||||
<string name="permission_bluetooth_title">Permissão de dispositivos próximos</string>
|
||||
<string name="permission_bluetooth_body">Para usar a comunicação Bluetooth, Briar precisa de permissão para localizar e se conectar a dispositivos próximos.</string>
|
||||
<string name="permission_bluetooth_denied_body">Você negou acesso a dispositivos próximos, mas a Briar precisa dessa permissão para usar Bluetooth.\n\nConsidere conceder acesso.</string>
|
||||
<string name="qr_code">Código QR</string>
|
||||
<string name="show_qr_code_fullscreen">Mostrar código QR em tela cheia</string>
|
||||
<!--App Locking-->
|
||||
@@ -756,7 +784,10 @@
|
||||
<string name="hotspot_notification_title">Compartilhando Briar offline</string>
|
||||
<string name="hotspot_button_connected">Próximo</string>
|
||||
<string name="permission_hotspot_location_request_body">Para criar um hotspot Wi-Fi, o Briar precisa de permissão para acessar sua localização.\n\nBriar não armazena sua localização nem a compartilha com ninguém.</string>
|
||||
<string name="permission_hotspot_location_request_precise_body">Para criar um hotspot Wi-Fi, o Briar precisa de permissão para acessar sua localização precisa.\n\nBriar não armazena sua localização nem a compartilha com ninguém.</string>
|
||||
<string name="permission_hotspot_location_denied_body">Você negou acesso à sua localização, mas o Briar precisa dessa permissão para criar um hotspot Wi-Fi.\n\nPor favor, considere conceder acesso.</string>
|
||||
<string name="permission_hotspot_location_denied_precise_body">Você negou acesso à sua localização precisa, mas a Briar precisa dessa permissão para criar um ponto de acesso Wi-Fi.\n\nConsidere conceder acesso.</string>
|
||||
<string name="permission_hotspot_nearby_wifi_request_body">Para criar um hotspot Wi-Fi, Briar precisa de permissão para acessar dispositivos próximos.</string>
|
||||
<string name="wifi_settings_title">Configurações de Wi-Fi</string>
|
||||
<string name="wifi_settings_request_enable_body">Para criar um hotspot Wi-Fi, o Briar precisa usar o Wi-Fi. Por favor, ative ele.</string>
|
||||
<string name="hotspot_tab_manual">Manual</string>
|
||||
|
||||
@@ -4,47 +4,47 @@
|
||||
<string name="setup_title">歡迎來到 Briar</string>
|
||||
<string name="setup_name_explanation">您的暱稱將顯示在您發佈的任何內容旁。暱稱在創建帳戶後將無法更改。</string>
|
||||
<string name="setup_next">下一步</string>
|
||||
<string name="setup_password_intro">設置密碼</string>
|
||||
<string name="setup_password_explanation">您的 Briar 帳戶被加密儲存在您的裝置上,而非在雲端。卸載 Briar 或忘記密碼將導致帳戶無法恢復。請設置不易被猜出的長密碼,比如四個隨機英文單詞,或是由隨機字母、數字和符號組成的十位字符。</string>
|
||||
<string name="dnkm_doze_intro">爲了接收消息,Briar 需要在後臺保持連接。</string>
|
||||
<string name="dnkm_doze_explanation">Briar 需要保持背景網絡連接去接收消息。爲此,請停用電量優化選項。</string>
|
||||
<string name="choose_nickname">設置暱稱</string>
|
||||
<string name="choose_password">設置密碼</string>
|
||||
<string name="confirm_password">確認密碼</string>
|
||||
<string name="setup_password_intro">設定密碼</string>
|
||||
<string name="setup_password_explanation">您的 Briar 帳戶被加密儲存在您的裝置上,而非在雲端。移除 Briar 或忘記密碼將導致帳戶無法恢復。請設定不易被猜出的長密碼,比如四個隨機英文單字,或是由隨機字母、數字和符號組成的十位字元。</string>
|
||||
<string name="dnkm_doze_intro">為了接收訊息,Briar 需要在背景保持連線。</string>
|
||||
<string name="dnkm_doze_explanation">Briar 需要保持背景網路連線以接收訊息。為此,請停用電量最佳化選項。</string>
|
||||
<string name="choose_nickname">設定暱稱</string>
|
||||
<string name="choose_password">設定您的密碼</string>
|
||||
<string name="confirm_password">確認您的密碼</string>
|
||||
<string name="name_too_long">暱稱過長</string>
|
||||
<string name="password_too_weak">密碼不夠強</string>
|
||||
<string name="passwords_do_not_match">兩個密碼並不相同</string>
|
||||
<string name="create_account_button">創建帳戶</string>
|
||||
<string name="more_info">更多信息</string>
|
||||
<string name="create_account_button">建立帳戶</string>
|
||||
<string name="more_info">更多資訊</string>
|
||||
<string name="don_t_ask_again">不再詢問</string>
|
||||
<string name="dnkm_huawei_protected_text">輕按下方的按鈕將 Briar 加入“受保護的程式”列表。</string>
|
||||
<string name="dnkm_huawei_protected_button">保護 Briar</string>
|
||||
<string name="dnkm_huawei_protected_help">如果 Briar 未被加入受保護程式列表,它將無法在背景運行。</string>
|
||||
<string name="dnkm_huawei_protected_help">如果 Briar 未被加入受保護程式列表,它將無法在背景執行。</string>
|
||||
<string name="dnkm_huawei_app_launch_text">請輕觸下方按鍵以打開\"啟動軟體\"畫面,確認 Briar 調至\"手動管理\"模式</string>
|
||||
<string name="dnkm_huawei_app_launch_help">若 Briar 未調至\"手動管理\"模式,它將無法在背景中執行</string>
|
||||
<string name="dnkm_xiaomi_text">為能在背景中執行,Briar 須被鎖定在最近使用應用軟體清單上</string>
|
||||
<string name="dnkm_xiaomi_text">為了能在背景中執行,Briar 須被鎖定在最近使用的應用程式清單上</string>
|
||||
<string name="dnkm_xiaomi_button">保護 Briar</string>
|
||||
<string name="dnkm_xiaomi_help">若 Briar 未鎖到最近使用的程式清單裏,它將無法背景中執行。</string>
|
||||
<string name="dnkm_xiaomi_dialog_body_old">1. 打開最近使用的程式清單(亦稱軟體快速切換)n\n2,滑動到軟體圖像後會出現掛鎖圖標 \n\n3,若掛鎖為打開狀態,請輕觸它改變成關鎖。</string>
|
||||
<string name="dnkm_xiaomi_dialog_body_new">1. 打開最近使用的程式清單(亦稱軟體快速切換)n\n2。若 Briar 旁邊出現掛鎖圖標則無須其它更動 \n\n3,若無掛鎖則輕觸軟體圖標直到現出掛鎖按鍵,點觸掛鎖進行更動。</string>
|
||||
<string name="dnkm_xiaomi_help">若 Briar 未鎖到最近使用的應用程式清單裡,它將無法在背景中執行。</string>
|
||||
<string name="dnkm_xiaomi_dialog_body_old">1. 開啟最近使用的應用程式清單(亦稱軟體快速切換)n\n2,滑動到軟體圖像後會出現掛鎖圖示 \n\n3,若掛鎖為開啟狀態,請輕觸它改變成關鎖。</string>
|
||||
<string name="dnkm_xiaomi_dialog_body_new">1. 開啟最近使用的應用程式清單(亦稱軟體快速切換)n\n2。若 Briar 旁邊出現掛鎖圖示則無須其它更動 \n\n3,若無掛鎖則輕觸軟體圖示直到現出掛鎖按鈕,點觸掛鎖進行更動。</string>
|
||||
<string name="dnkm_xiaomi_lock_apps_text">請輕觸下方按鍵以開啟安全設定。觸點\"加速\"後再觸\"鎖定應用軟體\",將其設置為鎖定狀態。</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-->
|
||||
<string name="enter_password">密碼</string>
|
||||
<string name="try_again">密碼錯誤,請重試</string>
|
||||
<string name="dialog_title_cannot_check_password">無法檢查密碼</string>
|
||||
<string name="dialog_message_cannot_check_password">Briar 無法代您檢查密碼,請重新啟動設備來解決此問題。
|
||||
<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="dialog_title_lost_password">忘記密碼</string>
|
||||
<string name="dialog_message_lost_password">您的 Briar 帳戶被加密儲存在您的裝置上,而非在雲端。因此我們無法重置您的密碼。您是否希望刪除帳戶,重新開始?\n\n注意:刪除帳戶將永久失去您以前的身份、聯絡人和訊息。</string>
|
||||
<string name="startup_failed_activity_title">Briar 啓動失敗</string>
|
||||
<string name="startup_failed_clock_error">由於您設備上的時間有誤,Briar 無法啟動
|
||||
<string name="startup_failed_clock_error">由於您裝置上的時間有誤,Briar 無法啟動
|
||||
|
||||
請重新設置好正確的時間後再試試。</string>
|
||||
<string name="startup_failed_db_error">Briar 無法打開存有您帳號、聯絡人資料及聊天訊息的資料庫。\n\n請將 Briar 更新至最新版後再試試。再不然就得新建帳號,其方式是在彈出的密碼視窗中選取\"遺忘密碼\"來建立新帳號。</string>
|
||||
請重新設定好正確的時間後再試試。</string>
|
||||
<string name="startup_failed_db_error">Briar 無法開啟存有您帳號、聯絡人資料及聊天訊息的資料庫。\n\n請將 Briar 更新至最新版後再試試。再不然就得新建帳號,其方式是在彈出的密碼視窗中選取\"忘記密碼\"來建立新帳號。</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_service_error">Briar 無法啟動所需的元件\n\n請昇級至最新版後再重試</string>
|
||||
@@ -728,6 +728,7 @@
|
||||
<string name="permission_camera_title">相機權限</string>
|
||||
<string name="permission_camera_request_body">Briar 需要獲得相機權限以掃描二維碼。</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_camera_location_title">相機和位置</string>
|
||||
<string name="permission_camera_location_request_body"> Briar 需要相機權限以掃描二維碼。\n\nBriar 需要位置信息權限以發現藍牙裝置。\n\nBriar 不會存儲您的位置或將它分享給任何人。</string>
|
||||
|
||||
@@ -46,14 +46,14 @@ dependencyVerification {
|
||||
'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-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-java:0.0.6:onionwrapper-java-0.0.6.jar:e76e043b8c72d39e48508da79c9e2db2279b3c824f9c26cb0622d56a4a43a822',
|
||||
'org.briarproject:onionwrapper-core:0.0.7:onionwrapper-core-0.0.7.jar:918b5851f4a05a3bc0835bc7c81d70e598a178c79856fe5c506c261889f4b3fd',
|
||||
'org.briarproject:onionwrapper-java:0.0.7:onionwrapper-java-0.0.7.jar:48115772d4348eab6f35e562ae648dd9d7398adb99e5429afb64a62c82f3d27c',
|
||||
'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-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-macos:0.4.7.15:tor-macos-0.4.7.15.jar:699aa65674e39619a28f99c079020a518feb50a6d575d052cf73dfbfc0c38a80',
|
||||
'org.briarproject:tor-windows:0.4.7.15:tor-windows-0.4.7.15.jar:404887bd7b56051d5ed543fa4a4cffe3f4c569958d4ac2879765b6500209917f',
|
||||
'org.briarproject:tor-linux:0.4.8.9-1:tor-linux-0.4.8.9-1.jar:601b7bd5f0872f9501ef438bd3ce5ed22f8a3a7b77d6f2b063852987d87ed853',
|
||||
'org.briarproject:tor-macos:0.4.8.9-1:tor-macos-0.4.8.9-1.jar:8a01ce4c87399ae101f64249497e5406a737b55b87a79ae484ed061f3ea7387e',
|
||||
'org.briarproject:tor-windows:0.4.8.9-1:tor-windows-0.4.8.9-1.jar:e122e632fdcd4caa3c59f50f51168ec7ae235315bc0798391ba37b60766257b3',
|
||||
'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.eclipse.jetty.websocket:websocket-api:9.4.20.v20190813:websocket-api-9.4.20.v20190813.jar:779a29060cc17bdeeeba147efc884ebff972cfff93dad2d37b11c93f95d4f67b',
|
||||
|
||||
@@ -29,7 +29,7 @@ buildscript {
|
||||
dagger_version = "2.45"
|
||||
okhttp_version = "4.10.0"
|
||||
jackson_version = "2.13.4"
|
||||
tor_version = "0.4.7.15"
|
||||
tor_version = "0.4.8.9-1"
|
||||
obfs4proxy_version = "0.0.14-tor2"
|
||||
snowflake_version = "2.5.1"
|
||||
jsoup_version = '1.15.3'
|
||||
@@ -37,7 +37,7 @@ buildscript {
|
||||
junit_version = "4.13.2"
|
||||
jmock_version = '2.12.0'
|
||||
mockwebserver_version = '4.10.0'
|
||||
onionwrapper_version = '0.0.6'
|
||||
onionwrapper_version = '0.0.7'
|
||||
}
|
||||
dependencies {
|
||||
// upgrading this let's us run into https://github.com/gradle/gradle/issues/20330
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
noWitness=androidApis,_internal_aapt2_binary
|
||||
org.gradle.jvmargs=-Xmx1g
|
||||
org.gradle.jvmargs=-Xmx2g
|
||||
android.useAndroidX=true
|
||||
android.enableJetifier=true
|
||||
briar.mailbox_integration_tests=false
|
||||
|
||||
Reference in New Issue
Block a user