From e215c26517bd60a2c39cecc1075606e71b24b4ae Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Wed, 8 Aug 2018 09:36:29 +0200 Subject: [PATCH 01/28] tests: ensure all database usages are properly closed Leaving lots of DB connections open seems to make OpenJDK crash a lot, giving false fails for the CI tests. --- app/src/test/java/org/fdroid/fdroid/data/DatabaseMigration.java | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/test/java/org/fdroid/fdroid/data/DatabaseMigration.java b/app/src/test/java/org/fdroid/fdroid/data/DatabaseMigration.java index 510c8a955..edfa31b8b 100644 --- a/app/src/test/java/org/fdroid/fdroid/data/DatabaseMigration.java +++ b/app/src/test/java/org/fdroid/fdroid/data/DatabaseMigration.java @@ -38,6 +38,7 @@ public class DatabaseMigration { Preferences.setupForTests(context); SQLiteOpenHelper opener = new MigrationRunningOpenHelper(context); opener.getReadableDatabase(); + opener.close(); } /** From 15aaa12e2585a1773cabc313c4a2e1b09b9898ca Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Wed, 8 Aug 2018 09:40:50 +0200 Subject: [PATCH 02/28] gitlab-ci: run only a single pass on the tests Before, it was running: * testBasicDebugUnitTest * testBasicReleaseUnitTest * testFullDebugUnitTest Since there are no Robolectric tests for only "basic", and there are no tests specific to "release" or "debug", those three runs will be running the same tests, except for the handful of "full" tests. So running testFullDebugUnitTest covers all cases. --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 605135467..67c919c77 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -37,7 +37,7 @@ test_lint_pmd_checkstyle: - ./gradlew assemble # always report on lint errors to the build log - sed -i -e 's,textReport .*,textReport true,' app/build.gradle - - ./gradlew test + - ./gradlew testFullDebugUnitTest - ./gradlew lint - ./gradlew pmd || export EXITVALUE=1 - ./gradlew checkstyle || export EXITVALUE=1 From 8cae4da7487e3cd732089b3edcf3e4b66747ff10 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Wed, 8 Aug 2018 09:57:01 +0200 Subject: [PATCH 03/28] tests: fix running test suite in Android Studio Sometimes the test suite just totally bombs out and fails on every single job with the same Robolectric crash. Adding this line seems to fix it. https://github.com/robolectric/robolectric/issues/3846 Here's the error: java.lang.VerifyError: class org.robolectric.android.fakes.RoboMonitoringInstrumentation overrides final method specifyDexMakerCacheProperty.()V --- app/build.gradle | 1 + 1 file changed, 1 insertion(+) diff --git a/app/build.gradle b/app/build.gradle index ca670f6a0..6cea670ce 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -160,6 +160,7 @@ dependencies { fullImplementation 'org.nanohttpd:nanohttpd:2.3.1' testImplementation 'org.robolectric:robolectric:3.8' + testImplementation "com.android.support.test:monitor:1.0.2" testImplementation 'org.bouncycastle:bcprov-jdk15on:1.59' testImplementation 'junit:junit:4.12' testImplementation 'org.mockito:mockito-core:2.7.22' From 3d05363c311582f88c1129f9042f0403de75024e Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 12 Jul 2018 12:00:08 +0200 Subject: [PATCH 04/28] enable Espresso tests with some basic UI tasks --- app/build.gradle | 15 +- app/proguard-rules.pro | 3 + .../fdroid/MainActivityEspressoTest.java | 169 ++++++++++++++++++ config/checkstyle/checkstyle.xml | 2 +- 4 files changed, 185 insertions(+), 4 deletions(-) create mode 100644 app/src/androidTest/java/org/fdroid/fdroid/MainActivityEspressoTest.java diff --git a/app/build.gradle b/app/build.gradle index 6cea670ce..4ad92e551 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -27,7 +27,15 @@ android { defaultConfig { versionCode 1003051 versionName getVersionName() + testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + /* + The Android Testing Support Library collects analytics to continuously improve the testing + experience. More specifically, it uploads a hash of the package name of the application + under test for each invocation. If you do not wish to upload this data, you can opt-out by + passing the following argument to the test runner: disableAnalytics "true". + */ + testInstrumentationRunnerArguments disableAnalytics: 'true' } buildTypes { @@ -165,9 +173,10 @@ dependencies { testImplementation 'junit:junit:4.12' testImplementation 'org.mockito:mockito-core:2.7.22' - androidTestImplementation 'com.android.support:support-annotations:25.3.1' - androidTestImplementation 'com.android.support.test:runner:0.5' - androidTestImplementation 'com.android.support.test:rules:0.5' + androidTestImplementation 'com.android.support:support-annotations:27.1.1' + androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' + androidTestImplementation 'com.android.support.test:runner:1.0.2' + androidTestImplementation 'com.android.support.test:rules:1.0.2' } tasks.whenTaskAdded { task -> diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index af1d1faec..4e8e47767 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -13,6 +13,9 @@ -dontnote android.support.** -dontnote **ILicensingService +# Needed for espresso https://stackoverflow.com/a/21706087 +-dontwarn org.xmlpull.v1.** + # StrongHttpsClient and its support classes are totally unused, so the # ch.boye.httpclientandroidlib.** classes are also unneeded -dontwarn info.guardianproject.netcipher.client.** diff --git a/app/src/androidTest/java/org/fdroid/fdroid/MainActivityEspressoTest.java b/app/src/androidTest/java/org/fdroid/fdroid/MainActivityEspressoTest.java new file mode 100644 index 000000000..53e12895f --- /dev/null +++ b/app/src/androidTest/java/org/fdroid/fdroid/MainActivityEspressoTest.java @@ -0,0 +1,169 @@ +package org.fdroid.fdroid; + +import android.support.test.espresso.IdlingPolicies; +import android.support.test.espresso.ViewInteraction; +import android.support.test.filters.LargeTest; +import android.support.test.rule.ActivityTestRule; +import android.support.test.runner.AndroidJUnit4; +import android.util.Log; +import android.view.View; +import org.fdroid.fdroid.views.BannerUpdatingRepos; +import org.fdroid.fdroid.views.main.MainActivity; +import org.hamcrest.Matchers; +import org.junit.Rule; +import org.junit.Test; +import org.junit.runner.RunWith; + +import java.util.concurrent.TimeUnit; + +import static android.support.test.espresso.Espresso.onView; +import static android.support.test.espresso.action.ViewActions.click; +import static android.support.test.espresso.action.ViewActions.swipeDown; +import static android.support.test.espresso.action.ViewActions.swipeLeft; +import static android.support.test.espresso.action.ViewActions.swipeRight; +import static android.support.test.espresso.action.ViewActions.swipeUp; +import static android.support.test.espresso.action.ViewActions.typeText; +import static android.support.test.espresso.assertion.ViewAssertions.doesNotExist; +import static android.support.test.espresso.assertion.ViewAssertions.matches; +import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed; +import static android.support.test.espresso.matcher.ViewMatchers.withId; +import static android.support.test.espresso.matcher.ViewMatchers.withText; +import static org.hamcrest.Matchers.allOf; +import static org.hamcrest.Matchers.not; +import static org.junit.Assert.assertTrue; + +@RunWith(AndroidJUnit4.class) +@LargeTest +public class MainActivityEspressoTest { + public static final String TAG = "MainActivityEspressoTest"; + + static { + IdlingPolicies.setIdlingResourceTimeout(10, TimeUnit.MINUTES); + } + + @Rule + public ActivityTestRule activityTestRule = + new ActivityTestRule<>(MainActivity.class); + + @Test + public void bottomNavFlavorCheck() { + onView(withText(R.string.updates)).check(matches(isDisplayed())); + onView(withText(R.string.menu_settings)).check(matches(isDisplayed())); + onView(withText("THIS SHOULD NOT SHOW UP ANYWHERE!!!")).check(doesNotExist()); + + assertTrue(BuildConfig.FLAVOR.startsWith("full") || BuildConfig.FLAVOR.startsWith("basic")); + + if (BuildConfig.FLAVOR.startsWith("basic")) { + onView(withText(R.string.main_menu__latest_apps)).check(matches(isDisplayed())); + onView(withText(R.string.main_menu__categories)).check(doesNotExist()); + onView(withText(R.string.main_menu__swap_nearby)).check(doesNotExist()); + } + + if (BuildConfig.FLAVOR.startsWith("full")) { + onView(withText(R.string.main_menu__latest_apps)).check(matches(isDisplayed())); + onView(withText(R.string.main_menu__categories)).check(matches(isDisplayed())); + onView(withText(R.string.main_menu__swap_nearby)).check(matches(isDisplayed())); + } + } + + @Test + public void showSettings() { + ViewInteraction settingsBottonNavButton = onView( + allOf(withText(R.string.menu_settings), isDisplayed())); + settingsBottonNavButton.perform(click()); + onView(withText(R.string.preference_manage_installed_apps)).check(matches(isDisplayed())); + if (BuildConfig.FLAVOR.startsWith("basic") && BuildConfig.APPLICATION_ID.endsWith(".debug")) { + // TODO fix me by sorting out the flavor applicationId for debug builds in app/build.gradle + Log.i(TAG, "Skipping the remainder of showSettings test because it just crashes on basic .debug builds"); + return; + } + ViewInteraction manageInstalledAppsButton = onView( + allOf(withText(R.string.preference_manage_installed_apps), isDisplayed())); + manageInstalledAppsButton.perform(click()); + onView(withText(R.string.installed_apps__activity_title)).check(matches(isDisplayed())); + } + + @Test + public void showUpdates() { + ViewInteraction updatesBottonNavButton = onView(allOf(withText(R.string.updates), isDisplayed())); + updatesBottonNavButton.perform(click()); + onView(withText(R.string.updates)).check(matches(isDisplayed())); + } + + @Test + public void startSwap() { + if (!BuildConfig.FLAVOR.startsWith("full")) { + return; + } + ViewInteraction nearbyBottonNavButton = onView( + allOf(withText(R.string.main_menu__swap_nearby), isDisplayed())); + nearbyBottonNavButton.perform(click()); + ViewInteraction findPeopleButton = onView( + allOf(withId(R.id.button), withText(R.string.nearby_splash__find_people_button), isDisplayed())); + findPeopleButton.perform(click()); + onView(withText(R.string.swap_send_fdroid)).check(matches(isDisplayed())); + } + + @Test + public void showCategories() { + if (!BuildConfig.FLAVOR.startsWith("full")) { + return; + } + onView(allOf(withText(R.string.menu_settings), isDisplayed())).perform(click()); + onView(allOf(withText(R.string.main_menu__categories), isDisplayed())).perform(click()); + onView(allOf(withId(R.id.swipe_to_refresh), isDisplayed())) + .perform(swipeDown()) + .perform(swipeUp()) + .perform(swipeUp()) + .perform(swipeUp()) + .perform(swipeUp()) + .perform(swipeUp()) + .perform(swipeUp()) + .perform(swipeDown()) + .perform(swipeDown()) + .perform(swipeRight()) + .perform(swipeLeft()) + .perform(swipeLeft()) + .perform(swipeLeft()) + .perform(swipeLeft()) + .perform(click()); + } + + @Test + public void showLatest() throws InterruptedException { + if (!BuildConfig.FLAVOR.startsWith("full")) { + return; + } + onView(Matchers.instanceOf(BannerUpdatingRepos.class)).check(matches(not(isDisplayed()))); + onView(allOf(withText(R.string.menu_settings), isDisplayed())).perform(click()); + onView(allOf(withText(R.string.main_menu__latest_apps), isDisplayed())).perform(click()); + onView(allOf(withId(R.id.swipe_to_refresh), isDisplayed())) + .perform(swipeDown()) + .perform(swipeUp()) + .perform(swipeUp()) + .perform(swipeUp()) + .perform(swipeDown()) + .perform(swipeUp()) + .perform(swipeDown()) + .perform(swipeDown()) + .perform(swipeDown()) + .perform(swipeDown()) + .perform(click()); + } + + @Test + public void showSearch() { + onView(allOf(withText(R.string.menu_settings), isDisplayed())).perform(click()); + onView(withId(R.id.fab_search)).check(doesNotExist()); + if (!BuildConfig.FLAVOR.startsWith("full")) { + return; + } + onView(allOf(withText(R.string.main_menu__latest_apps), isDisplayed())).perform(click()); + onView(allOf(withId(R.id.fab_search), isDisplayed())).perform(click()); + onView(withId(R.id.sort)).check(matches(isDisplayed())); + onView(allOf(withId(R.id.search), isDisplayed())) + .perform(click()) + .perform(typeText("test")); + onView(allOf(withId(R.id.sort), isDisplayed())).perform(click()); + } +} \ No newline at end of file diff --git a/config/checkstyle/checkstyle.xml b/config/checkstyle/checkstyle.xml index 27d6f2408..d14e701a3 100644 --- a/config/checkstyle/checkstyle.xml +++ b/config/checkstyle/checkstyle.xml @@ -40,7 +40,7 @@ + value="org.fdroid.fdroid.Assert.*, org.assertj.core.api.Assertions.*, org.junit.Assert.*, org.junit.Assume.*, org.junit.internal.matchers.ThrowableMessageMatcher.*, org.hamcrest.core.IsNot.*, org.hamcrest.CoreMatchers.*, org.hamcrest.Matchers.*, org.springframework.boot.configurationprocessor.ConfigurationMetadataMatchers.*, org.springframework.boot.configurationprocessor.TestCompiler.*, org.mockito.Mockito.*, org.mockito.BDDMockito.*, org.mockito.Matchers.*, org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*, org.springframework.test.web.servlet.result.MockMvcResultMatchers.*, org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.*, org.springframework.security.test.web.servlet.setup.SecurityMockMvcConfigurers.*, org.springframework.hateoas.mvc.ControllerLinkBuilder.linkTo, android.support.test.espresso.Espresso.*, android.support.test.espresso.assertion.ViewAssertions.*, android.support.test.espresso.matcher.ViewMatchers.*, android.support.test.espresso.action.ViewActions.*" /> From 0e368c6d6e5c15c66bacd5275e473f5ae659ed83 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Wed, 8 Aug 2018 11:45:52 +0200 Subject: [PATCH 05/28] only disable lint in the basic flavor for UnusedResources My hack before was actually always making exit with success, breaking the CI runs :-/ I loathe gradle and groovy with a passion. --- app/build.gradle | 6 ------ app/lint.xml | 2 ++ 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 4ad92e551..13f90b4b8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -179,12 +179,6 @@ dependencies { androidTestImplementation 'com.android.support.test:rules:1.0.2' } -tasks.whenTaskAdded { task -> - if (task.name.startsWith("lintBasic")) { - android.lintOptions.abortOnError = false - } -} - checkstyle { toolVersion = '7.2' } diff --git a/app/lint.xml b/app/lint.xml index 277c6dcb1..d3783df47 100644 --- a/app/lint.xml +++ b/app/lint.xml @@ -15,6 +15,8 @@ + + From 6f88dcdbf59531ba7358af3a3dda03a999fc76ed Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Wed, 8 Aug 2018 11:47:50 +0200 Subject: [PATCH 06/28] fix NewApi lint issue in InstallerService.uninstall For whatever reason, this didn't seem to cause crashes on old devices. But better safe than sorry. --- .../org/fdroid/fdroid/installer/InstallerService.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/fdroid/fdroid/installer/InstallerService.java b/app/src/main/java/org/fdroid/fdroid/installer/InstallerService.java index 7002e435f..45edcb7d3 100644 --- a/app/src/main/java/org/fdroid/fdroid/installer/InstallerService.java +++ b/app/src/main/java/org/fdroid/fdroid/installer/InstallerService.java @@ -23,12 +23,15 @@ package org.fdroid.fdroid.installer; import android.content.Context; import android.content.Intent; import android.net.Uri; +import android.os.Build; import android.support.annotation.NonNull; import android.support.v4.app.JobIntentService; import org.apache.commons.io.FileUtils; import org.apache.commons.io.filefilter.WildcardFileFilter; +import org.fdroid.fdroid.AppDetails2; import org.fdroid.fdroid.Utils; import org.fdroid.fdroid.data.Apk; +import org.fdroid.fdroid.data.App; import java.io.File; import java.io.FileFilter; @@ -131,8 +134,8 @@ public class InstallerService extends JobIntentService { * is not enough to catch all possible nulls. *

* If you quickly cycle between installing an app and uninstalling it, then - * {@link org.fdroid.fdroid.data.App#installedApk} will still be null when - * {@link org.fdroid.fdroid.AppDetails2#startUninstall()} calls + * {@link App#installedApk} will still be null when + * {@link AppDetails2#startUninstall()} calls * this method. It is better to crash earlier here, before the {@link Intent} * is sent with a null {@link Apk} instance since this service is set to * receive Sticky Intents. That means they will automatically be resent @@ -143,7 +146,9 @@ public class InstallerService extends JobIntentService { * @param apk {@link Apk} instance of the app that will be uninstalled */ public static void uninstall(Context context, @NonNull Apk apk) { - Objects.requireNonNull(apk); + if (Build.VERSION.SDK_INT >= 19) { + Objects.requireNonNull(apk); + } Installer.sendBroadcastUninstall(context, apk, Installer.ACTION_UNINSTALL_STARTED); From e5d25ae8d0fa3bbebfff1305076c391a25ddcec9 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Wed, 8 Aug 2018 11:53:51 +0200 Subject: [PATCH 07/28] use StringBuilder when assembling the repo fingerprint for display Should speed things up a bit, and fixes a lint issue. --- app/src/main/java/org/fdroid/fdroid/Utils.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/fdroid/fdroid/Utils.java b/app/src/main/java/org/fdroid/fdroid/Utils.java index 612313bab..7c95d1995 100644 --- a/app/src/main/java/org/fdroid/fdroid/Utils.java +++ b/app/src/main/java/org/fdroid/fdroid/Utils.java @@ -285,11 +285,11 @@ public final class Utils { || fingerprint.matches(".*[^0-9a-fA-F].*")) { // its a hex string return context.getString(R.string.bad_fingerprint); } - String displayFP = fingerprint.substring(0, 2); + StringBuilder displayFP = new StringBuilder(fingerprint.substring(0, 2)); for (int i = 2; i < fingerprint.length(); i = i + 2) { - displayFP += " " + fingerprint.substring(i, i + 2); + displayFP.append(" ").append(fingerprint.substring(i, i + 2)); } - return displayFP; + return displayFP.toString(); } @NonNull From ae56d5c97c104d4e68158a98c4edeef77f424598 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Wed, 8 Aug 2018 12:07:25 +0200 Subject: [PATCH 08/28] set some vars to final fdroid/fdroidclient!543 --- .../java/org/fdroid/fdroid/net/HttpDownloaderTest.java | 2 +- .../testShared/java/org/fdroid/fdroid/mock/RepoDetails.java | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/androidTest/java/org/fdroid/fdroid/net/HttpDownloaderTest.java b/app/src/androidTest/java/org/fdroid/fdroid/net/HttpDownloaderTest.java index 084fe116c..47400116c 100644 --- a/app/src/androidTest/java/org/fdroid/fdroid/net/HttpDownloaderTest.java +++ b/app/src/androidTest/java/org/fdroid/fdroid/net/HttpDownloaderTest.java @@ -16,7 +16,7 @@ import static org.junit.Assert.fail; public class HttpDownloaderTest { - String[] urls = { + final String[] urls = { "https://en.wikipedia.org/wiki/Index.html", "https://mirrors.kernel.org/debian/dists/stable/Release", "https://f-droid.org/repo/index.jar", diff --git a/app/src/testShared/java/org/fdroid/fdroid/mock/RepoDetails.java b/app/src/testShared/java/org/fdroid/fdroid/mock/RepoDetails.java index 5d8428a15..5778f482c 100644 --- a/app/src/testShared/java/org/fdroid/fdroid/mock/RepoDetails.java +++ b/app/src/testShared/java/org/fdroid/fdroid/mock/RepoDetails.java @@ -34,9 +34,9 @@ public class RepoDetails implements RepoXMLHandler.IndexReceiver { public String icon; public String[] mirrors; - public List apks = new ArrayList<>(); - public List apps = new ArrayList<>(); - public List repoPushRequestList = new ArrayList<>(); + public final List apks = new ArrayList<>(); + public final List apps = new ArrayList<>(); + public final List repoPushRequestList = new ArrayList<>(); @Override public void receiveRepo(String name, String description, String signingCert, int maxage, From 32296910dfb75026c278a16ccb778f59edb2c019 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Wed, 8 Aug 2018 12:08:33 +0200 Subject: [PATCH 09/28] set @NotNull properly when overriding methods fdroid/fdroidclient!543 --- .../java/org/fdroid/fdroid/acra/CrashReportSender.java | 3 +-- .../java/org/fdroid/fdroid/data/AppPrefsProvider.java | 8 ++++---- .../main/java/org/fdroid/fdroid/data/AppProvider.java | 9 +++++---- .../org/fdroid/fdroid/data/InstalledAppProvider.java | 9 +++++---- .../java/org/fdroid/fdroid/data/PackageProvider.java | 9 +++++---- .../main/java/org/fdroid/fdroid/data/RepoProvider.java | 9 +++++---- 6 files changed, 25 insertions(+), 22 deletions(-) diff --git a/app/src/main/java/org/fdroid/fdroid/acra/CrashReportSender.java b/app/src/main/java/org/fdroid/fdroid/acra/CrashReportSender.java index dab8946e1..bf855fe33 100644 --- a/app/src/main/java/org/fdroid/fdroid/acra/CrashReportSender.java +++ b/app/src/main/java/org/fdroid/fdroid/acra/CrashReportSender.java @@ -22,8 +22,7 @@ public class CrashReportSender implements ReportSender { this.config = config; } - public void send(@NonNull Context context, @NonNull CrashReportData errorContent) - throws ReportSenderException { + public void send(@NonNull Context context, @NonNull CrashReportData errorContent) { Intent emailIntent = new Intent("android.intent.action.SENDTO"); emailIntent.setData(Uri.fromParts("mailto", this.config.mailTo(), (String) null)); emailIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); diff --git a/app/src/main/java/org/fdroid/fdroid/data/AppPrefsProvider.java b/app/src/main/java/org/fdroid/fdroid/data/AppPrefsProvider.java index e7a9174be..c4734d889 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/AppPrefsProvider.java +++ b/app/src/main/java/org/fdroid/fdroid/data/AppPrefsProvider.java @@ -117,7 +117,7 @@ public class AppPrefsProvider extends FDroidProvider { } @Override - public Cursor query(Uri uri, String[] projection, + public Cursor query(@NonNull Uri uri, String[] projection, String customSelection, String[] selectionArgs, String sortOrder) { if (MATCHER.match(uri) != CODE_SINGLE) { throw new UnsupportedOperationException("Invalid URI for app content provider: " + uri); @@ -137,19 +137,19 @@ public class AppPrefsProvider extends FDroidProvider { } @Override - public int delete(Uri uri, String where, String[] whereArgs) { + public int delete(@NonNull Uri uri, String where, String[] whereArgs) { throw new UnsupportedOperationException("Delete not supported for " + uri + "."); } @Override - public Uri insert(Uri uri, ContentValues values) { + public Uri insert(@NonNull Uri uri, ContentValues values) { db().insertOrThrow(getTableName(), null, values); getContext().getContentResolver().notifyChange(AppProvider.getCanUpdateUri(), null); return getAppUri(values.getAsString(Cols.PACKAGE_NAME)); } @Override - public int update(Uri uri, ContentValues values, String where, String[] whereArgs) { + public int update(@NonNull Uri uri, ContentValues values, String where, String[] whereArgs) { if (MATCHER.match(uri) != CODE_SINGLE) { throw new UnsupportedOperationException("Update not supported for " + uri + "."); } diff --git a/app/src/main/java/org/fdroid/fdroid/data/AppProvider.java b/app/src/main/java/org/fdroid/fdroid/data/AppProvider.java index 0d012e5db..04f8c890f 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/AppProvider.java +++ b/app/src/main/java/org/fdroid/fdroid/data/AppProvider.java @@ -6,6 +6,7 @@ import android.content.Context; import android.content.UriMatcher; import android.database.Cursor; import android.net.Uri; +import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.text.TextUtils; import android.util.Log; @@ -767,7 +768,7 @@ public class AppProvider extends FDroidProvider { } @Override - public Cursor query(Uri uri, String[] projection, String customSelection, String[] selectionArgs, String sortOrder) { + public Cursor query(@NonNull Uri uri, String[] projection, String customSelection, String[] selectionArgs, String sortOrder) { AppQuerySelection selection = new AppQuerySelection(customSelection, selectionArgs); // Queries which are for the main list of apps should not include swap apps. @@ -910,7 +911,7 @@ public class AppProvider extends FDroidProvider { } @Override - public int delete(Uri uri, String where, String[] whereArgs) { + public int delete(@NonNull Uri uri, String where, String[] whereArgs) { if (MATCHER.match(uri) != REPO) { throw new UnsupportedOperationException("Delete not supported for " + uri + "."); } @@ -934,7 +935,7 @@ public class AppProvider extends FDroidProvider { } @Override - public Uri insert(Uri uri, ContentValues values) { + public Uri insert(@NonNull Uri uri, ContentValues values) { long packageId = PackageProvider.Helper.ensureExists(getContext(), values.getAsString(Cols.Package.PACKAGE_NAME)); values.remove(Cols.Package.PACKAGE_NAME); values.put(Cols.PACKAGE_ID, packageId); @@ -994,7 +995,7 @@ public class AppProvider extends FDroidProvider { } @Override - public int update(Uri uri, ContentValues values, String where, String[] whereArgs) { + public int update(@NonNull Uri uri, ContentValues values, String where, String[] whereArgs) { if (MATCHER.match(uri) != CALC_SUGGESTED_APKS) { throw new UnsupportedOperationException("Update not supported for " + uri + "."); } diff --git a/app/src/main/java/org/fdroid/fdroid/data/InstalledAppProvider.java b/app/src/main/java/org/fdroid/fdroid/data/InstalledAppProvider.java index 5da337996..52d2e49b5 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/InstalledAppProvider.java +++ b/app/src/main/java/org/fdroid/fdroid/data/InstalledAppProvider.java @@ -9,6 +9,7 @@ import android.content.pm.PackageManager; import android.content.res.Resources; import android.database.Cursor; import android.net.Uri; +import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.text.TextUtils; import android.util.Log; @@ -221,7 +222,7 @@ public class InstalledAppProvider extends FDroidProvider { } @Override - public Cursor query(Uri uri, String[] projection, + public Cursor query(@NonNull Uri uri, String[] projection, String customSelection, String[] selectionArgs, String sortOrder) { if (sortOrder == null) { sortOrder = Cols.APPLICATION_LABEL; @@ -261,7 +262,7 @@ public class InstalledAppProvider extends FDroidProvider { } @Override - public int delete(Uri uri, String where, String[] whereArgs) { + public int delete(@NonNull Uri uri, String where, String[] whereArgs) { if (MATCHER.match(uri) != CODE_SINGLE) { throw new UnsupportedOperationException("Delete not supported for " + uri + "."); @@ -279,7 +280,7 @@ public class InstalledAppProvider extends FDroidProvider { } @Override - public Uri insert(Uri uri, ContentValues values) { + public Uri insert(@NonNull Uri uri, ContentValues values) { if (MATCHER.match(uri) != CODE_LIST) { throw new UnsupportedOperationException("Insert not supported for " + uri + "."); @@ -309,7 +310,7 @@ public class InstalledAppProvider extends FDroidProvider { * row, if one exists. This just throws {@link UnsupportedOperationException} */ @Override - public int update(Uri uri, ContentValues values, String where, String[] whereArgs) { + public int update(@NonNull Uri uri, ContentValues values, String where, String[] whereArgs) { throw new UnsupportedOperationException("\"Update' not supported for installed appp provider." + " Instead, you should insert, and it will overwrite the relevant rows if one exists."); } diff --git a/app/src/main/java/org/fdroid/fdroid/data/PackageProvider.java b/app/src/main/java/org/fdroid/fdroid/data/PackageProvider.java index 49fb6db1f..3b4daee34 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/PackageProvider.java +++ b/app/src/main/java/org/fdroid/fdroid/data/PackageProvider.java @@ -5,6 +5,7 @@ import android.content.Context; import android.content.UriMatcher; import android.database.Cursor; import android.net.Uri; +import android.support.annotation.NonNull; import org.fdroid.fdroid.data.Schema.PackageTable; import org.fdroid.fdroid.data.Schema.PackageTable.Cols; @@ -123,7 +124,7 @@ public class PackageProvider extends FDroidProvider { } @Override - public Cursor query(Uri uri, String[] projection, + public Cursor query(@NonNull Uri uri, String[] projection, String customSelection, String[] selectionArgs, String sortOrder) { if (MATCHER.match(uri) != CODE_SINGLE) { throw new UnsupportedOperationException("Invalid URI for content provider: " + uri); @@ -150,12 +151,12 @@ public class PackageProvider extends FDroidProvider { * F-Droid client or not. */ @Override - public int delete(Uri uri, String where, String[] whereArgs) { + public int delete(@NonNull Uri uri, String where, String[] whereArgs) { throw new UnsupportedOperationException("Delete not supported for " + uri + "."); } @Override - public Uri insert(Uri uri, ContentValues values) { + public Uri insert(@NonNull Uri uri, ContentValues values) { long rowId = db().insertOrThrow(getTableName(), null, values); getContext().getContentResolver().notifyChange(AppProvider.getCanUpdateUri(), null); return getPackageIdUri(rowId); @@ -166,7 +167,7 @@ public class PackageProvider extends FDroidProvider { * new app all together as far as Android is concerned. */ @Override - public int update(Uri uri, ContentValues values, String where, String[] whereArgs) { + public int update(@NonNull Uri uri, ContentValues values, String where, String[] whereArgs) { throw new UnsupportedOperationException("Update not supported for " + uri + "."); } } diff --git a/app/src/main/java/org/fdroid/fdroid/data/RepoProvider.java b/app/src/main/java/org/fdroid/fdroid/data/RepoProvider.java index a60bd9415..dac4da741 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/RepoProvider.java +++ b/app/src/main/java/org/fdroid/fdroid/data/RepoProvider.java @@ -7,6 +7,7 @@ import android.content.Context; import android.content.UriMatcher; import android.database.Cursor; import android.net.Uri; +import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.text.TextUtils; import android.util.Log; @@ -360,7 +361,7 @@ public class RepoProvider extends FDroidProvider { } @Override - public Cursor query(Uri uri, String[] projection, + public Cursor query(@NonNull Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { if (TextUtils.isEmpty(sortOrder)) { @@ -393,7 +394,7 @@ public class RepoProvider extends FDroidProvider { } @Override - public Uri insert(Uri uri, ContentValues values) { + public Uri insert(@NonNull Uri uri, ContentValues values) { // Don't let people specify arbitrary priorities. Instead, we are responsible // for making sure that newly created repositories by default have the highest priority. @@ -439,7 +440,7 @@ public class RepoProvider extends FDroidProvider { } @Override - public int delete(Uri uri, String where, String[] whereArgs) { + public int delete(@NonNull Uri uri, String where, String[] whereArgs) { QuerySelection selection = new QuerySelection(where, whereArgs); switch (MATCHER.match(uri)) { @@ -463,7 +464,7 @@ public class RepoProvider extends FDroidProvider { } @Override - public int update(Uri uri, ContentValues values, String where, String[] whereArgs) { + public int update(@NonNull Uri uri, ContentValues values, String where, String[] whereArgs) { // When the priority of a repo changes, we need to update the "preferred metadata" foreign // key in the package table to point to the best possible record in the app metadata table. From 8fb43b29b281bfb52634ee22b9409389f7465678 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Wed, 8 Aug 2018 12:09:04 +0200 Subject: [PATCH 10/28] misc lint fixes fdroid/fdroidclient!543 --- .../main/java/org/fdroid/fdroid/Languages.java | 2 +- .../fdroid/fdroid/acra/CrashReportSender.java | 12 +++--------- .../main/java/org/fdroid/fdroid/data/Apk.java | 6 ++++-- .../org/fdroid/fdroid/data/SanitizedFile.java | 18 +++++++++--------- 4 files changed, 17 insertions(+), 21 deletions(-) diff --git a/app/src/main/java/org/fdroid/fdroid/Languages.java b/app/src/main/java/org/fdroid/fdroid/Languages.java index 41104d673..f74d5f17b 100644 --- a/app/src/main/java/org/fdroid/fdroid/Languages.java +++ b/app/src/main/java/org/fdroid/fdroid/Languages.java @@ -73,12 +73,12 @@ public final class Languages { return singleton; } - @TargetApi(17) /** * Handles setting the language if it is different than the current language, * or different than the current system-wide locale. The preference is cleared * if the language matches the system-wide locale or "System Default" is chosen. */ + @TargetApi(17) public static void setLanguage(final ContextWrapper contextWrapper) { if (Build.VERSION.SDK_INT >= 24) { Utils.debugLog(TAG, "Languages.setLanguage() ignored on >= android-24"); diff --git a/app/src/main/java/org/fdroid/fdroid/acra/CrashReportSender.java b/app/src/main/java/org/fdroid/fdroid/acra/CrashReportSender.java index bf855fe33..54d85c584 100644 --- a/app/src/main/java/org/fdroid/fdroid/acra/CrashReportSender.java +++ b/app/src/main/java/org/fdroid/fdroid/acra/CrashReportSender.java @@ -10,9 +10,6 @@ import org.acra.collections.ImmutableSet; import org.acra.collector.CrashReportData; import org.acra.config.ACRAConfiguration; import org.acra.sender.ReportSender; -import org.acra.sender.ReportSenderException; - -import java.util.Iterator; public class CrashReportSender implements ReportSender { @@ -24,7 +21,7 @@ public class CrashReportSender implements ReportSender { public void send(@NonNull Context context, @NonNull CrashReportData errorContent) { Intent emailIntent = new Intent("android.intent.action.SENDTO"); - emailIntent.setData(Uri.fromParts("mailto", this.config.mailTo(), (String) null)); + emailIntent.setData(Uri.fromParts("mailto", this.config.mailTo(), null)); emailIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); String[] subjectBody = this.buildSubjectBody(context, errorContent); emailIntent.putExtra("android.intent.extra.SUBJECT", subjectBody[0]); @@ -33,17 +30,14 @@ public class CrashReportSender implements ReportSender { } private String[] buildSubjectBody(Context context, CrashReportData errorContent) { - ImmutableSet fields = this.config.getReportFields(); + ImmutableSet fields = this.config.getReportFields(); if (fields.isEmpty()) { return new String[]{"No ACRA Report Fields found."}; } String subject = context.getPackageName() + " Crash Report"; StringBuilder builder = new StringBuilder(); - Iterator var4 = fields.iterator(); - - while (var4.hasNext()) { - ReportField field = (ReportField) var4.next(); + for (ReportField field : fields) { builder.append(field.toString()).append('='); builder.append(errorContent.get(field)); builder.append('\n'); diff --git a/app/src/main/java/org/fdroid/fdroid/data/Apk.java b/app/src/main/java/org/fdroid/fdroid/data/Apk.java index de6a6cbcf..a4aac393b 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/Apk.java +++ b/app/src/main/java/org/fdroid/fdroid/data/Apk.java @@ -462,12 +462,14 @@ public class Apk extends ValueObject implements Comparable, Parcelable { } @JsonProperty("uses-permission") - private void setUsesPermission(Object[][] permissions) { // NOPMD + @SuppressWarnings("unused") + private void setUsesPermission(Object[][] permissions) { setRequestedPermissions(permissions, 0); } @JsonProperty("uses-permission-sdk-23") - private void setUsesPermissionSdk23(Object[][] permissions) { // NOPMD + @SuppressWarnings("unused") + private void setUsesPermissionSdk23(Object[][] permissions) { setRequestedPermissions(permissions, 23); } diff --git a/app/src/main/java/org/fdroid/fdroid/data/SanitizedFile.java b/app/src/main/java/org/fdroid/fdroid/data/SanitizedFile.java index 0e6d46e40..1fa5e1597 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/SanitizedFile.java +++ b/app/src/main/java/org/fdroid/fdroid/data/SanitizedFile.java @@ -42,16 +42,16 @@ public class SanitizedFile extends File { * the path to an installed .apk on disk. In such situations, we can't meaningfully * sanitize it, but will still need to pass to a function which only allows SanitizedFile's * as arguments (because they interact with, e.g. shells). - * + *

* To illustrate, imagine perfectly valid file path: "/tmp/../secret/file.txt", * one cannot distinguish between: - * - * "/tmp/" (known safe directory) + "../secret/file.txt" (suspicious looking file name) - * - * and - * - * "/tmp/../secret/" (known safe directory) + "file.txt" (known safe file name) - * + *

+ * "/tmp/" (known safe directory) + "../secret/file.txt" (suspicious looking file name) + *

+ * and + *

+ * "/tmp/../secret/" (known safe directory) + "file.txt" (known safe file name) + *

* I guess the best this method offers us is the ability to uniquely trace the different * ways in which files are created and handled. It should make it easier to find and * prevent suspect usages of methods which only expect SanitizedFile's, but are given @@ -62,7 +62,7 @@ public class SanitizedFile extends File { } /** - * @see {@link org.fdroid.fdroid.data.SanitizedFile#knownSanitized(String)} + * @see org.fdroid.fdroid.data.SanitizedFile#knownSanitized(String) */ public static SanitizedFile knownSanitized(File file) { return new SanitizedFile(file); From 9bb746386345105b8c2fbfa2dfa86c6748c277e6 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Wed, 8 Aug 2018 12:15:14 +0200 Subject: [PATCH 11/28] remove obsolete RELEASE_CHECKLIST See https://f-droid.org/docs/Release_Process/ --- RELEASE_CHECKLIST.md | 23 ----------------------- 1 file changed, 23 deletions(-) delete mode 100644 RELEASE_CHECKLIST.md diff --git a/RELEASE_CHECKLIST.md b/RELEASE_CHECKLIST.md deleted file mode 100644 index a0a7ae3dd..000000000 --- a/RELEASE_CHECKLIST.md +++ /dev/null @@ -1,23 +0,0 @@ - -# Release Checklist - -This is the things that need to happen for all releases, alpha or stable: - -* pull translations from Weblate: ./tools/pull-trans.sh - -* rebase Weblate in its web interface, since we squash commits - -* update `versionCode` in _app/build.gradle_ - -* make signed tag with version name - -* update _metadata/org.fdroid.fdroid.txt_ in _fdroiddata_ - -## Stable releases - -For stable releases, there are a couple more steps to do __before__ -making the release tag: - -* update CHANGELOG.md - -* run `./tools/trim-incomplete-translations-for-release.py` From 667197eeac0ea878728bdb13a7d6754546af0fa3 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Wed, 8 Aug 2018 12:29:14 +0200 Subject: [PATCH 12/28] remove old unused strings and translations 90acd75b90549d1cdc700672a6bb21cc1895f75a fdroid/fdroidclient#928 --- app/src/main/res/values-af/strings.xml | 29 ------------------ app/src/main/res/values-ar/strings.xml | 20 ------------- app/src/main/res/values-ast/strings.xml | 25 ---------------- app/src/main/res/values-be/strings.xml | 27 ----------------- app/src/main/res/values-bg/strings.xml | 25 ---------------- app/src/main/res/values-bo/strings.xml | 19 ------------ app/src/main/res/values-ca/strings.xml | 22 -------------- app/src/main/res/values-cs/strings.xml | 26 ----------------- app/src/main/res/values-da/strings.xml | 28 ------------------ app/src/main/res/values-de/strings.xml | 21 ------------- app/src/main/res/values-el/strings.xml | 31 -------------------- app/src/main/res/values-eo/strings.xml | 22 -------------- app/src/main/res/values-es/strings.xml | 29 ------------------ app/src/main/res/values-et/strings.xml | 25 ---------------- app/src/main/res/values-eu/strings.xml | 29 ------------------ app/src/main/res/values-fa/strings.xml | 20 ------------- app/src/main/res/values-fi/strings.xml | 29 ------------------ app/src/main/res/values-fr/strings.xml | 23 --------------- app/src/main/res/values-gl/strings.xml | 29 +----------------- app/src/main/res/values-he/strings.xml | 18 ------------ app/src/main/res/values-hr/strings.xml | 31 -------------------- app/src/main/res/values-hu/strings.xml | 19 ------------ app/src/main/res/values-hy/strings.xml | 6 ---- app/src/main/res/values-id/strings.xml | 25 ---------------- app/src/main/res/values-is/strings.xml | 29 ------------------ app/src/main/res/values-it/strings.xml | 29 ------------------ app/src/main/res/values-ja/strings.xml | 19 ------------ app/src/main/res/values-kab/strings.xml | 4 --- app/src/main/res/values-kn/strings.xml | 1 - app/src/main/res/values-ko/strings.xml | 18 ------------ app/src/main/res/values-lt/strings.xml | 2 -- app/src/main/res/values-lv/strings.xml | 2 -- app/src/main/res/values-ml/strings.xml | 17 ----------- app/src/main/res/values-my/strings.xml | 7 ----- app/src/main/res/values-nb/strings.xml | 29 ------------------ app/src/main/res/values-nl-rBE/strings.xml | 18 ------------ app/src/main/res/values-nl/strings.xml | 20 ------------- app/src/main/res/values-pl/strings.xml | 20 ------------- app/src/main/res/values-pt-rBR/strings.xml | 30 ------------------- app/src/main/res/values-pt-rPT/strings.xml | 27 ----------------- app/src/main/res/values-ro/strings.xml | 18 ------------ app/src/main/res/values-ru/strings.xml | 25 ---------------- app/src/main/res/values-sc/strings.xml | 32 -------------------- app/src/main/res/values-sk/strings.xml | 28 ------------------ app/src/main/res/values-sl/strings.xml | 12 +------- app/src/main/res/values-sn/strings.xml | 34 ---------------------- app/src/main/res/values-sq/strings.xml | 10 ------- app/src/main/res/values-sr/strings.xml | 27 ----------------- app/src/main/res/values-sv/strings.xml | 20 ------------- app/src/main/res/values-te/strings.xml | 5 ---- app/src/main/res/values-th/strings.xml | 33 --------------------- app/src/main/res/values-tr/strings.xml | 25 ---------------- app/src/main/res/values-ug/strings.xml | 3 -- app/src/main/res/values-uk/strings.xml | 21 ------------- app/src/main/res/values-vi/strings.xml | 25 ---------------- app/src/main/res/values-zh-rCN/strings.xml | 19 ------------ app/src/main/res/values-zh-rHK/strings.xml | 21 ------------- app/src/main/res/values-zh-rTW/strings.xml | 21 ------------- app/src/main/res/values/strings.xml | 31 -------------------- 59 files changed, 2 insertions(+), 1258 deletions(-) diff --git a/app/src/main/res/values-af/strings.xml b/app/src/main/res/values-af/strings.xml index 073160452..d4c27fbc9 100644 --- a/app/src/main/res/values-af/strings.xml +++ b/app/src/main/res/values-af/strings.xml @@ -25,7 +25,6 @@ Gebruik F-Droid bevoorregte uitbreiding om pakkettete te installeer, verander of verwyder - Opdateer/Verwyder bevoorregte uitbreiding Gebruik geenkripteerde HTTPS:// verbinding vir lokale repo Verifikasie word vereis @@ -186,9 +185,6 @@ Let wel: Alle voorheen geïnstalleerde programme sal op jou toestel bly. Hou gebergte programme - Wys die bevoorregte uitbreiding detail besonderhede skerm vir opdatering of - verdydering - Tas om details te wys en laat ander toe om jou programme te deel. Kopieer program simbooltjie na die argief… Simbooltjie @@ -240,36 +236,11 @@ Geluk!\nJou programme is op datum. - Versoek root toegang… - Root toegang geweier - Jou Android toestel is nie ge-root nie of jy het root toegang geweier vir - F-Droid. - Installasie onsuksesvol vanweë \'n onbekende fout Deïnstallasie onsuksesvol vanweë \'n onbekende fout - Die handtekening van die uitbreiding is verkeerd! Skep asseblief \'n - foutverslag! - Die voorreg toestemming is nie toegestaan vir die uitbreiding nie! Skep asseblief \'n foutverslag! - Installeer - F-Droid bevoorregte uitbreiding geïnstalleer - Installasie van F-Droid voorreg uitbreiding het misluk - F-Droid voorreg uitbreiding is geïnstalleer. Dit stel F-Droid in staat om programme onafhanklik te installeer, opgradeer en de-ïnstalleer. - Installasie van die F-Droid voorreg uitbreiding het misluk. Die - installasie metode word nie ondersteun deur alle Android weergawes nie, raadpleeg asseblief die F-Droid - bug-tracker vir meer inligting. - - Installeer en reboot… - Wil F-Droid voorreg uitbreiding installeer? - Dit neem tot 10 sekondes. - Dit neem tot 10 sekondes en die toestel sal reboot daarna. - Wil jy F-Droid voorreg uitbreiding deïnstalleer? - Deïnstalleer - Installasie van F-Droid voorreg uitbreiding word tans nie ondersteun op - Android 5.1 of later nie. - Tas om te deel Indien jou vriend F-Droid en NFC aangeskakel het, hou julle toestelle teen diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index 77cdfe52d..bc120c198 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -73,8 +73,6 @@ أظهر تنبيه عندما تتوفر تحديثات ملحقات متميزة استخدام الملحقات المميزة لتثبيت وتحديث وإزالة الحزم - تحديث/إلغاء التثبيت للملحقات المميزة - فتح تفاصيل شاشة الملحقات المميزة لتحديث / إلغاء للتثبيت عنوان المعلن لديك في المستودعات المحلية: %s استخدام تشفير HTTPS: // المتصل بالمستودعات المحلية @@ -215,27 +213,9 @@ \nإنَّ كافة تطبيقاتك مُحدّثة. لا توجد تطبيقات مطابقة متوفرة. - طلب وصول إلى النواة… - لا يمكن الوصول إلى النواة - إما جهاز الأندرويد الخاص بك ليس ممدد النواة أو كنت قد رفضت وصول إلى النواة - لاف-درويد. - فشل في التثبيت بسبب خطأ مجهول فشل إلغاء التثبيت نتيجة لخطأ مجهول - توقيع الإضافة خاطئ ! يرجى إنشاء تقرير عن الخطأ ! لم يتم منح ضوابط مميزة للإضافة! يرجى إنشاء تقرير عن خطأ! - تثبيت - تم تثبيت إضافات اف-درويد المميزة - فشل تثبيت إضافة اف-درويد المميزة - تم تثبيت إضافة اف-درويد المميزة بنجاح. وهذا يسمح لإف-درويد بتثبيت وتحديث وإلغاء تثبيت التطبيقات من تلقاء نفسه. - فشل التثبيت إضافة اف-درويد المميزة. طريقة التثبيت غير مدعومة لجميع توزيعات الأندرويد، يرجى الرجوع إلى اف-درويد لتعقب علة الأخطاء لمزيد من المعلومات. - جاري التثبيت وإعادة التشغيل … - هل تريد تثبيت إضافة اف-درويد المميزة ؟ - ذلك سيستغرق فترة تصل إلى 10 ثواني. - ذلك سيستغرق فترة تصل إلى 10 ثواني، وسوف يتم إعادة تشغيل بعد ذلك. - هل تريد إلغاء تثبيت إضافة اف-درويد المميزة ؟ - إلغاء التثبيت - إضافة اف-درويد المميزة غير مدعومة حالياً للتثبيت على الأندرويد النسخة 5.1 فما أحدث. إختر باللمس للتبديل إذا كان صديقك لديه اف-درويد او NFC على قيد التشغيل يمكنك توصيل الأجهزة معا. diff --git a/app/src/main/res/values-ast/strings.xml b/app/src/main/res/values-ast/strings.xml index 87691178d..ffee262a3 100644 --- a/app/src/main/res/values-ast/strings.xml +++ b/app/src/main/res/values-ast/strings.xml @@ -143,11 +143,6 @@ Ciencia y educación Seguranza Sistema - Solicitando l\'accesu root… - Refugóse l\'accesu root - O\'l to preséu Android nun ta rootexáu o refuguesti l\'accesu root pa - F-Droid. - Si\'l to collaciu tien F-Droid y NFC activáu, axuntái los vuesos preseos pela parte d\'atras. @@ -188,10 +183,6 @@ ¡Intercambéu esitosu! Escuru Claru - Anovar/Instalar estensión con privilexos - Abre la pantalla de detalles de la estensión con privilexos - p\'anovala/desinstalala - Códigu fonte Incompatible Enllaces @@ -221,13 +212,6 @@ Fallu al instalar pola mor d\'un fallu desconocíu Fallu al desinstalar pola mor d\'un fallu desconocíu - Instalada la estensión F-Droid con privilexos - Fallo la instalación de la estensión F-Droid con privilexos - Instalada la estensión F-Droid con privilexos. Esto permite a F-Droid instalar, anovar y desinstalar apps por sigo mesmu. - ¿Quies instalar la estensión F-Droid con privilexos? - Esto tardará unos 10 segundos y el preséu reaniciaráse darréu. - ¿Quies desinstalar la estensión F-Droid con privilexos? - Desinstalar Toca pa intercambiar Pa intercambiar usando W-FI asegúrate que tais na mesma rede. Si nun tienéis @@ -260,7 +244,6 @@ Forníu por %1$s. Cada hora - Falló la instalación de la estensión F-Droid con privilexos. El métodu d\'instalación nun ta sofitáu por toles distribuciones Android, por favor consulta\'l siguimientu de fallos de F-Droid pa más información. Intercambéu non habilitáu Procesando %2$s / %3$s (%4$d%%) de %1$s Suxer l\'anovamientu a versiones inestables @@ -274,13 +257,9 @@ ¡Falló la descarga! - La robla d\'esta estensión ye incorreuta. ¡Por favor, crea un informe de fallu! ¡Nun s\'otorgaron permisos root pa la estensión! ¡Por favor, crea un informe de fallu! - Instalar - Instalando y reaniciando… - Tardará fasta 10 segundos. Repositoriu Direición Nuevo: @@ -316,10 +295,6 @@ Repositoriu: %s - Anguaño la instalación de la estensión con privilexos de F-Droid nun ta - sofitada n\'Android 5.1 o mayor. - - Esperando p\'aniciar al descarga… 1 hora diff --git a/app/src/main/res/values-be/strings.xml b/app/src/main/res/values-be/strings.xml index 53692a686..740434514 100644 --- a/app/src/main/res/values-be/strings.xml +++ b/app/src/main/res/values-be/strings.xml @@ -29,8 +29,6 @@ Выкарыстоўваць прывілеяваны дадатак для ўсталёўкі, абнаўлення ці выдалення пакетаў - Абнавіць/Выдаліць прывілеяваны дадатак - Паказаць дэталі прывілеяванага дадатка для абнаўлення/выдалення Назва вашага лакальнага рэпазіторыя Ваш лакальны рэпазіторый прапануецца пад назвай: %s Выкарыстоўваць шыфраванае HTTPS-злучэнне для лакальнага рэпазіторыя @@ -244,36 +242,11 @@ або вашы рэпазіторыі не змяшчаюць такіх праграм. Віншуем!\nВашы праграмы маюць апошнія версіі. - Запыт root-доступу… - Адмоўлена ў root-доступе - Альбо ваша прылада не мае root-доступу, альбо вы адхілілі запыт ад F-Droid. - На атрымалася ўсталяваць праз невядомую памылку На атрымалася выдаліць праз невядомую памылку - Подпіс дадатаку некарэктны! Калі ласка, паведаміце пра памылку! - Прывілеяваныя дазволы не былі нададзены дадатаку! Калі ласка, паведаміце пра памылку! - Усталяваць - Прывілеяваны дадатак F-Droid усталяваны - Не атрымалася ўсталяваць прывілеяваны дадатак F-Droid - Прывілеяваны дадатак F-Droid усталяваны. Гэта дазволіць F-Droid - усталёўваць, абнаўляць і выдаляць праграмы. - - Не атрымалася ўсталяваць прывілеяваны дадатак F-Droid. Метад - усталёўкі не падтрымліваецца ўсімі сістэмамі Android. Калі ласка, завітайце на форум F-Droid за дадатковай - інфармацыяй. - - Усталёўка і перазагрузка… - Жадаеце ўсталяваць прывілеваны дадатак F-Droid? - Гэта зойме прыблізнва 10 секунд. - Гэта зойме прыблізна 10 секунд, пасля чаго прылада будзе перазагружана. - Жадаеце выдаліць прывілеяваны дадатак F-Droid? - Выдаліць - Усталёўка прывілеяванага дадатаку F-Droid у цяперашні час не - падтрымліваецца сістэмамі Android 5.1 ці пазней. - Датыкнуцца для абмену Калі ваш сябар мае F-Droid і ўключаны NFC, проста датыкніцеся прыладамі. diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index bce085975..e0205824a 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -126,8 +126,6 @@ Наука и образование Сигурност Система - Изисква Root достъп… - Root достъпът е отказан Ако приятелят ви има F-Droid и е активирал NFC, докоснете телефоните си. Свържете се към една и съща Wi-Fi мрежа с приятеля си @@ -223,21 +221,7 @@ Копиране иконите на приложенията в хранилището… Несъвместимо Всички останали хранилища са наред. - Привилегированото разширение на F-Droid е инсталирано - Инсталирането като привилегировано приложение се провали - Желаете ли F-Droid да бъде инсталирано като привилегировано приложение? - - Инсталцията отнема около 10 секунди, след което устройството ще бъде рестартирано. - Желаете ли F-Droid да бъде деинсталиран като привилегировано приложение? - Деинсталиране - Деинсталиране/актуализиране на привилегирован F-Droid - Отворете екрана с подробности на привилегированото F-Droid приложение за да - го деинсталирате - - Или вашето устройство не е root-нато или на F-Droid е отказан root достъп. - - Привилегировано разширение на F-Droid е инсталирано. Това позволява на F-Droid да инсталира, актуализира и деинсталира приложения самостоятелно. Повече По-малко @@ -251,8 +235,6 @@ Разрешения Хранилище Адрес - Инсталиране и рестартиране… - Отнема до 10 секунди. За осъществяване на размяна чрез Wi-Fi е необходимо да сте в една мрежа. Ако нямате достъп до една и съща мрежа единият можете да създадете нова. @@ -263,7 +245,6 @@ Хранилището %1$s е записано. Търсене на хранилище в\n%1$s Неподписано - Инсталиране Потвърдете размяната Възникна грешка при свързване с устройството, размяната не може да се осъществи! Нови @@ -311,14 +292,9 @@ Тук можете да добавяте допълнителна информация и коментари: Няма съвпадения сред достъпните приложения. - Подписът на разширението е грешен! Моля създайте доклад за грвшка! Разширените пълномощия не бяха предоставени на плъгина! Моля създайте бъг репорт! - Инсталацията на F-Droid Privileged Extension плъгина се провали. Не - всички варианти на Андроид поддържат метода на инсталация. За повече информация се консултирайте с бъг тракера - на F-Droid. - Прилагане на APK файловете към хранилището… Автоматично изтегляне на актуализации Автоматично инсталиране на актуализации @@ -479,7 +455,6 @@ Забрана на снимките на екрана на приложението и скриване от списъка с последни приложения Запазване (%1$d/%2$d) от %3$s - Засега инсталирането на привилегированото разширение на F-Droid не се поддържа на Андроид версия 5.1 или по-нова. За споделянето на приложения с други около вас, и двете устройства трябва да използват %1$s. Файлът е инсталиран в %s diff --git a/app/src/main/res/values-bo/strings.xml b/app/src/main/res/values-bo/strings.xml index d690e2b51..64a5ea570 100644 --- a/app/src/main/res/values-bo/strings.xml +++ b/app/src/main/res/values-bo/strings.xml @@ -38,8 +38,6 @@ དུས་ཚོད། འབྲི་བཞིན་པ། - འགྲིག་བཅུག - འགྲིག་བཅུག་ཕྱིར་འཐེན། ཨེཕ་རོཌ་ཕེབས་པར་དགའ་བསུ་ཞུ།! འདི་ཡང་སྐྱར་མ་སྟོན་རོགས། གསར་པ། @@ -93,8 +91,6 @@ གལ་སྲིད་གསར་བསྒྱུར་རིགས་ཡོད་ན་བརྡ་ལན་སྟོན་རོགས། ཁེ་ཕན་འཕར་མ། ཨེཕ་རོཌ་ཁེ་ཕན་འཕར་མ་བེད་སྤྱོད་བྱས་ཏེ་འགྲིག་བཅུག་དང་། གསར་བསྒྱུར། ཐུམ་སྒྲིལ་མེད་པ་བཟོས། - ཁེ་ཕན་འཕཪ་མ་གསར་བསྒྱར།/འགྲིག་བཅུག་ཕྱིར་འཐེན། - གསར་བསྒྱུར་དང་/ཕྱིར་འཐེན་གྱི་ཆེད་དུ་དྲྭ་ཤེལ་གྱི་ཁེ་ཕན་འཕར་མ་ཞིབ་ཕྲ་དེ་སྒོ་ཕྱེས། ཁྱེད་རང་གི་རཱེ་པ་བསྟི་གནས་ཀྱི་མིང་། ཁྱེད་རང་གི་རཱེ་པོ་བསྟི་གནས་ཀྱི་ཁྱབ་བསྒྲགས་འགོ་བརྗོད།:%s HTTPS གསང་སྡོམ་བེད་སྤྱོད་://རཱེ་པོ་བསྟི་གནས་ལ་མཐུད་ཀ། @@ -262,15 +258,7 @@ རྒྱུས་མེད་པའི་སྐྱོན་ཞིག་བྱུང་བའི་རྐྱེན་གྱིས་འགྲིག་བཅུག་བྱེད་ཐུབ་མ་སོང་། རྒྱུས་མེད་པའི་སྐྱོན་ཞིག་བྱུང་བའི་རྐྱེན་གྱིས་འགྲིག་བཅུག་ཕྱིར་འཐེན་བྱེད་ཐུབ་མ་སོང་། - ཨེཕ་རོཌ་ཁེ་ཕན་འཕཪ་མ་འགྲིག་བཅུག་བྱས་ཟིན། - ཨེཕ་རོཌ་ཁེ་ཕན་འཕར་མ་འགྲིག་བཅུག་བྱེད་ཐུབ་མ་སོང་། མཉེན་ཆས་ཀྱི་ཞིབ་ཕྲ་ཉར་ཚགས་བྱེད་བཞིན་པ། (%1$d/%2$d) ནས་ %3$s - འགྲིག་བཅུག་དང་སྐྱར་སློང་བྱེད་བཞིན་པ།….… - ཁྱེད་རང་ཨེཕ་རོཌ་ཁེ་ཕན་འཕར་མ་འགྲིག་བཅུག་བྱེད་འདོད་ཡོད་དམ། - འདི་ལ་སྐར་ཆ་ ༡༠ བར་འགོར་གྱི་རེད། - འདི་ལ་སྐར་ཆ་ ༡༠ ཙམ་འགོར་གྱི་རེད་ལ་ཡོ་བྱད་འདི་ 1སྐྱར་སློང་ 2 རྗེས་ལ། - ཁྱེད་རང་ཨེཕ་རོཌ་ཁེ་ཕན་འཕར་མའི་འགྲིག་བཅུག་ཕྱིར་འཐེན་བྱེད་འདོད་ཡོད་དམ། - ཨེཕ་རོཌ་ཁེ་ཕན་འཕར་མའི་འགྲིག་བཅུག་དེ་ད་ལྟ་ཨིན་ཀྲོཌ་5.1 དང་ཡང་ན་ཕྱི་མ་རྣམས་ཀྱི་སྒང་ལ་རྒྱབ་སྐྱོར་བྱེད་ཀྱི་མིན་འདུག དྲྭ་རྒྱ་མིན་འདུག ཁྱེད་རང་གི་ཉེ་འགྲམ་ལ་ཡོད་པའི་མིའི་ཁྲིད་ནས་མཉེན་ཆས་འདི་ལེན་རོགས།! ངའི་ཉེ་འགྲམ་ལ་ཡོད་པའི་མི་འཚོལ། @@ -336,10 +324,7 @@ ཨེཕ་རོཌ་གསོག་ཉར་ཁང་ནང་ལ་འདི་བཅུག་པའི་ཆེད་དུ་གསོག་ཉར་ཆོག་མཆན་དགོས། དྲྭ་ཤེལ་རྗེས་མ་དེའི་སྒང་ལ་སྒྲིག་བཅུག་བྱས་པ་དང་མཉམ་དུ་མུ་མཐུད་ཆོག་གི་རེད། མཉེན་ཆས་འདི་རིན་མེད་མ་ཡིན་པའི་ཆ་རྐྱེན་འཕར་མ་རྒྱབ་སྐྱོར་བྱེད་ཀྱི་ཡོད། - མིང་རྟགས་ཀྱི་འཇུག་མཐུད་དེ་ནོར་འདུག སྐྱོན་ཅན་ཡིན་པའི་བརྡ་གཏོང་རོགས། མཇུག་མཐུད་དེ་ལ་ཁེ་ཕན་ཆོག་མཆན་སྤྲད་མེད། སྐྱོན་ཅན་ཡིན་པའི་བརྡ་གཏོང་རོགས།! - ཨེཕ་རོཌ་ཁེ་ཕན་འཕར་མ་འགྲིག་བཅུག འདིས་ཨེཕ་རོཌ་རང་ཉིད་ཀྱིས་འགྲིག་བཅུག་དང་། གསར་བསྒྱུར། འགྲིག་བཅུག་ཕྱིར་འཐེན་བཅས་བྱེད་ཐུབ། - ཨེཕ་རོཌ་ཁེ་ཕན་འཕར་མ་འགྲིག་བཅུག་བྱེད་ཐུབ་མ་སོང་། འགྲིག་བཅུག་གི་ཐབས་ལམ་འདི་ཨེན་ཀྲེན་འགྲེམ་སྤེལ་ཞུ་མཁན་གྱིས་རྒྱབ་སྐྱོར་བྱེད་ཀྱི་མེད། གནས་ཚུལ་འཕར་མའི་ཆེད་དུ་ཨེཕ་རོཌ་སྐྱོན་དེད་མཁན་ལ་ལམ་སྟོན་ཞུས། ད་ལྟ་ཡོད་བཞིན་པའི་མཉེན་ཆས་འདི་གསར་བསྒྱུར་འགྲིག་བཅུག་བྱེད་འདོད་དམ། ཁྱེད་རང་ལ་ཡོད་པའི་ཡིག་ཆ་བོར་བརླགས་ཤོར་གྱི་མེ་རེད། གསར་བསྒྱུར་བྱས་ཟིན་པའི་མཉེན་ཆས་འདི་དག་རག་ཐུབ།: ད་ལྟ་ཡོད་བཞིན་པའི་ནང་འགྲིག་མཉེན་ཆས་འདི་གསར་བསྒྱུར་འགྲིག་བཅུག་བྱེད་འདོད་དམ། ཁྱེད་རང་ལ་ཡོད་པའི་ཡིག་ཆ་བོར་བརླགས་ཤོར་གྱི་མེ་རེད། གསར་བསྒྱུར་བྱས་ཟིན་པའི་མཉེན་ཆས་འདི་དག་རག་ཐུབ།: ད་ལྟ་ཡོད་བཞིན་པའི་མཉེན་ཆས་འདི་གསར་བསྒྱུར་འགྲིག་བཅུག་བྱེད་འདོད་དམ། ཁྱེད་རང་ལ་ཡོད་པའི་ཡིག་ཆ་བོར་བརླགས་ཤོར་གྱི་མེ་རེད། འདི་ལྟ་ཐུབ་པའི་ཆེད་དུ་དམིགས་བསལ་གྱི་དགོས་མཁོ་མེད། @@ -431,10 +416,6 @@ ནག་པོ། མཚན་མོ། - ཡོ་བྱད་ཨ་མ་ལྟ་ཐུབ་པར་རེ་སྐུལ་ཞུ་བཞིན་པ། - ཡོ་བྱད་ཨ་མ་ལྟ་བར་འགོག་རྐྱེན། - གཅིག་བྱས་ན་ཁྱེད་རང་གི་ཨེན་ཀྲོཌ་ཡོ་བྱད་འདི་ཆོག་མཆན་ཆ་ཚང་ཡོད་པའི་ཡོ་བྱད་ཨ་མ་བཟོས་མེད་པའམ་ཡང་ན་ཁྱེད་རང་གིས་ཨེཕ་རོཌ་ལ་ཡོ་བྱད་ཨ་མ་ལྟ་ཡག་བཀག་འདུག - སྡེ་ཚན་%1$s སྒྲིག་བཅུག་བྱེད་པའི་ཐོན་རིམ་འདི་མིང་རྟགས་མཐུན་མ་སོང་། diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index fc5ba2577..049971f31 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -135,9 +135,6 @@ Ciència i educació Seguretat Sistema - S\'està demanant privilegis d\'administrador… - S\'ha rebutjat l\'accés d\'administrador - Aquest dispositiu Android no té permisos d\'administrador o no li heu donat a l\'F-Droid. Uniu-vos a la Wi-Fi del vostre amic Intercanvia aplicacions No esteu connectats a cap xarxa @@ -162,8 +159,6 @@ Temps Per a escriure - Desinstal·la - Actualitzacions inestables Bitcoin Litecoin @@ -175,13 +170,8 @@ Menys Permisos - Instal·la Habilita l\'enviament NFC… Suggereix actualitzacions a versions inestables - Actualitza/Elimina l\'extensió privilegiada - Obre la pantalla de detalls de l\'Extensió Privilegiada per actualitzar-la o - eliminar-la - Trieu el mètode d\'enviament per Bluetooth Empremta digital incorrecta L\'adreça URL és invàlida. @@ -226,19 +216,9 @@ Enhorabona! \nLes vostres aplicacions estan actualitzades. - La signatura de l\'extensió no és valida! Si podeu, informeu d\'aquest error! No s\'han concedit els permisos de sistema a l\'extensió! Si podeu, informeu d\'aquest error! - S\'ha instal·lat l\'extensió privilegiada de l\'F-Droid - Ha fallat la instal·lació de l\'Extensió Privilegiada de l\'F-Droid - S\'ha instal·lat l\'extensió privilegiada. Això permet a l\'F-Droid instal·lar, actualitzar i suprimir aplicacions de forma independent. - Ha fallat la instal·lació de l\'Extensió Privilegiada de l\'F-Droid. El mètode d\'instal·lació no funciona a totes les distribucions d\'Android. Consulteu el sistema de seguiment d\'errors de l\'F-Droid per a més informació. - S\'està instal·lant i reiniciant… - Voleu instal·lar l\'extensió privilegiada de l\'F-Droid? - Això pot trigar fins a 10 segons. - Això pot trigar fins a 10 segons i, a continuació, el dispositiu esreiniciarà. - Voleu desinstal·lar l\'extensió privilegiada de l\'F-Droid? Toqueu per intercanviar Si l\'altra persona té l\'F-Droid i l\'NFC encesos, feu que els dispositius es toquin. Per intercanviar utilitzant Wi-Fi, assegureu-vos que us trobeu a la mateixa @@ -310,8 +290,6 @@ S\'està esperant que comenci la baixada… - No es pot instal·lar l\'extensió privilegiada de l\'F-Droid en versions d\'Android 5.1 o posteriors. - Per sempre 1 dia diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 5ca345536..b08480259 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -110,21 +110,12 @@ Věda a vzdělání Zabezpečení Systém - Získávám root oprávnění… - Root přístup odepřen - Buď toto Android zařízení není rootnuté, nebo jsi odepřel F-Droidu opránění - roota. - Připojte oba přístroje na stejnou Wi-Fi Zatím žádná síť (Dotykem zobraz dostupné sítě) Otevřít čtečku QR kódů Vítejte v aplikaci F-Droid! Chceš nyní stáhnout aplikace z %1$s? - Aktualizovat/odinstalovat privilegovaná rozšíření - Otevřít obrazovku detailů privilegovaných rozšíření pro - aktualizaci/deinstalaci - Zdrojový kód Nekompatibilní Nainstalováno (z %s) @@ -214,8 +205,6 @@ Instalace selhala kvůli neznámé chybě Chyba deinstalace kvůli neznámé chybě - Podpis rozšíření není správný! Nahlaste chybu vývojářům! - Nainstalovat Pomoz příteli s připojením k hotspotu Vyměnit aplikace Výměna úspěšná! @@ -243,14 +232,6 @@ Před výměnou je třeba zviditelnit přístroj. vyžaduje přístup k - Rozšíření F-Droid pro oprávnění úspěšně nainstalováno - Instalace prigilegovaného rozšíření F-Droid selhala - Instalace a restart… - Chcete instalovat rozšíření oprávnění F-Droidu? - To může trvat až 10 vteřin. - To může trvat až 10 vteřin a poté bude přístrojrestartován. - Chcete odinstalovat privilegované rozšíření F-Droid? - Odinstalovat Ťuknout pro výměnu Dotykem přepnout síť Wi-Fi @@ -286,10 +267,6 @@ Ukládání podrobností o aplikaci Žádné odpovídající aplikace nejsou dostupné. - Rozšíření F-Droid pro oprávnění úspěšně nainstalováno. Toto dovoluje F-Droidu instalovat, aktualizovat a odinstalovat aplikace samostatně. - Instalace oprávněného rozšíření F-Droidu selhala. Tato instalační - metoda není podporována všemi distribucemi Androidu. Pro více informací se podívejte na bug tracker F-Droidu. - Pokud má váš přítel F-Droid a zapnuté NFC, přibližte svá zařízení k sobě. Stahovat aktualizace automaticky @@ -298,9 +275,6 @@ Použít Tor Vynutit stahování přes Tor pro zlepšení ochrany soukromí. Vyžaduje aplikaci Orbot - Instalace rozšíření oprávnění F-Droidu není momentálně podporována na - Androidu 5.1 nebo pozdějším. - Pro kopírování po Wi-Fi musí být oba na stejné síti. Pokud nemáte přístup ke stejné síti, může jeden z vás vytvořit vlastní Wi-Fi hotspot. diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 259542624..75d355789 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -18,10 +18,6 @@ Vis en notifikation når opdateringer er tilgængelige Privilegeret Udvidelse Brug Privilegeret Udvidelse til at installere, opdatere og fjerne pakker - Opdater/Afinstaller Privilegeret Udvidelse - Åbn skærmen med detaljer om Privilegeret Udvidelse for at - opdatere/afinstallere den - Dit Lokale Depots navn Dit lokale depots annoncerede titel: %s Brug krypteret HTTPS:// forbindelse til lokalt depot @@ -206,33 +202,12 @@ \nDer er apps på din enhed, men de er ikke tilgængelige i F-Droid. Det kan være fordi, at du skal opdatere dine depoter eller også tilbyder depoterne reelt ikke dine apps. Tillykke!\nDine apps er opdaterede. - Anmoder om root-adgang… - Root-adgang nægtet - Enten er din Android-enhed ikke rooted eller også har du nægtet F-Droid - root-adgang. - Kunne ikke installere på grund af en ukendt fejl Kobler APK\'er sammen med depotet… Afinstallation mislykkedes grundet en ukendt fejl - Udvidelsens signatur er forkert! Opret venligst en fejlrapport! - De privilegerede tilladelser er ikke blevet givet til udvidelsen! Opret venligst en fejlrapport! - Installer - F-Droid Privilegeret udvidelse installeret - Installation af F-Droid Privilegeret Udvidelse fejlede - F-Droid Privilegeret udvidelse blev installeret. Denne gør det muligt for F-Droid selvstændigt at installere, opdatere og afinstallere apps . - Installation af F-Droid Privilegeret Udvidelse fejlede. - Installationsmetoden er ikke understøttet af alle Android distributioner, konsulter venligst F-Droid - fejldatabasen for mere information. - - Installerer og genstarter… - Vil du installere F-Droid Privilegeret Udvidelse? - Dette tager op til 10 sekunder. - Dette tager op til 10 sekunder og enheden vil genstarte bagefter. - Vil du afinstallere F-Droid Privilegeret Udvidelse? - Afinstaller Rør for at udveksle Hvis din ven har F-Droid og NFC slået til, lad da jeres enheder røre hinanden. @@ -318,9 +293,6 @@ Brug Tor Hent altid gennem Tor for øget beskyttelse af privatlivet. Kræver Orbot - Installation af F-Droid Priviligeret Udvidelse er i øjeblikket ikke - understøttet på Android 5.1 eller senere. - Deaktiverer Wi-Fi… Venter på at kunne begynde hentning… diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 4c44181da..f0e9814a3 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -139,11 +139,6 @@ Wissenschaft & Bildung Sicherheit System - Root-Zugriff wird angefordert … - Root-Zugriff verweigert - Entweder ist Ihr Android-Gerät nicht gerootet oder Sie haben den Root-Zugriff - für F-Droid verweigert. - Wenn Ihr Freund F-Droid und NFC aktiviert hat, bitte die Geräte aneinander halten. @@ -181,8 +176,6 @@ Aussehen Schreiben - Deinstallieren - Neu Neu: Stündlich nach Aktualisierungen suchen @@ -208,8 +201,6 @@ Hell Dunkel - Rechteerweiterung aktualisieren oder deinstallieren - Detailansicht öffnen, um die Rechteerweiterung zu aktualisieren oder deinstallieren Optionen Bitcoin Litecoin @@ -221,14 +212,7 @@ Berechtigungen Paketquelle Adresse - Die Signatur der Erweiterung ist falsch! Bitte einen Fehlerbericht erstellen! Die Genehmigungen für die Sonderrechte der Erweiterung wurden nicht erteilt! Bitte einen Fehlerbericht erstellen! - Installieren - Rechteerweiterung für F-Droid erfolgreich installiert - Installation der F-Droid-Rechteerweiterung fehlgeschlagen - Installation und Neustart läuft … - Das wird bis zu 10 Sekunden dauern. - Das wird bis zu 10 Sekunden dauern und das Gerät wird anschließend neu gestartet. Berühren, um zu tauschen Ihrem Freund helfen, Ihrem Hotspot beizutreten Tausch erfolgreich! @@ -241,10 +225,6 @@ Nach Leuten in der Nähe wird gesucht … Hotspot - Die F-Droid-Rechteerweiterung wurde installiert. F-Droid wird dadurch die selbständige Installation, Aktualisierung und Entfernung von Anwendungen erlaubt. - Die Installation der F-Droid-Rechteerweiterung ist fehlgeschlagen. Diese Installationsmethode wird nicht durch alle Android-Distributionen unterstützt, bitte in der F-Droid-Fehlerdatenbank nach weiteren Informationen sehen. - Möchten Sie die F-Droid-Rechteerweiterung installieren? - Möchten Sie die F-Droid-Rechteerweiterung deinstallieren? Über Bluetooth sichtbar Bluetooth wird eingestellt … Über Bluetooth nicht sichtbar @@ -323,7 +303,6 @@ 1 Woche 1 Monat 1 Jahr - Die Installation der F-Droid-Rechteerweiterung wird auf Android 5.1 oder höher derzeit nicht unterstützt. Immer diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 93692ea4d..2e5d33ac6 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -104,10 +104,6 @@ Χρησιμοποιήστε την επέκταση του F-Droid με δικαιώματα συστήματος για να εγκαταστήσετε, ενημερώσετε και καταργήσετε πακέτα - Ενημέρωση/απεγκατάσταση της επέκτασης με δικαιώματα συστήματος - Άνοιγμα οθόνης λεπτομερειών της Επέκτασης με δικαιώματα συστήματος για την - ενημέρωση/απεγκατάστασή της - Όνομα του Αποθετηρίου σας Ο διαφημιζόμενος τίτλος του τοπικού αποθετηρίου σας: %s Χρήση κρυπτογραφημένης σύνδεσης HTTPS:// για το τοπικό αποθετήριο @@ -202,34 +198,11 @@ Συγχαρητήρια!\nΌλες οι εφαρμογές σας είναι ενημερωμένες (ή τα αποθετήρια σας δεν έχουν ανανεωθεί). - Αίτηση πρόσβασης υπερχρήστη… - Άρνηση πρόσβασης υπερχρήστη - Είτε η συσκευή σας Android δε έχει ενεργοποιημένο υπερχρήστη ή έχετε αρνηθεί - την πρόσβαση υπερχρήστη για το F-Droid. - Απέτυχε η εγκατάσταση λόγω άγνωστου προβλήματος Αποτυχία απεγκατάστασης λόγω άγνωστου σφάλματος - Η υπογραφή της επέκτασης είναι λάθος! Παρακαλώ δημιουργήστε μια - αναφορά σφάλματος! - Τα δικαιώματα συστήματος δεν έχουν χορηγηθεί στην επέκταση! Παρακαλώ δημιουργήστε μια αναφορά σφάλματος! - Εγκατάσταση - Έγινε η εγκατάσταση της επέκτασης του F-Droid με δικαιώματα συστήματος - Απέτυχε η εγκατάσταση της επέκτασης του F-Droid με δικαιώματα συστήματος - - Έγινε η εγκατάσταση της επέκτασης του F-Droid με δικαιώματα συστήματος. Αυτό επιτρέπει στο F-Droid να εγκαθιστά, αναβαθμίζει και απεγκαθιστά εφαρμογές από μόνο του. - Απέτυχε η εγκατάσταση της επέκτασης του F-Droid με δικαιώματα - συστήματος. Η μέθοδος εγκατάστασης δεν υποστηρίζεται από όλες τις διανομές Android, μπορείτε να συμβουλευτείτε - τον ανιχνευτή σφαλμάτων του F-Droid για περισσότερες πληροφορίες. - - Εγκατάσταση και επανεκκίνηση… - Θέλετε να εγκαταστήσετε την επέκταση του F-Droid με δικαιώματα συστήματος; - Αυτό διαρκεί έως 10 δευτερόλεπτα. - Αυτό διαρκεί έως 10 δευτερόλεπτα και η συσκευή θα επανεκκινηθεί έπειτα. - Θέλετε να απεγκαταστήσετε την επέκταση του F-Droid με δικαιώματα συστήματος? - Απεγκατάσταση Γίνετε μέλος του ίδιου ασύρματου δικτύου με τον φίλο σας Ανταλλαγή εφαρμογών @@ -344,10 +317,6 @@ Αναγκαστική λήψη μέσω του δικτύου Tor για αυξημένη ιδιωτικότητα. Απαιτείται εγκατάσταση του Orbot Δεν είναι δυνατή η ενημέρωση, είστε συνδεδεμένοι στο internet; - Η εγκατάσταση της επέκτασης του F-Droid με δικαιώματα συστήματος προς το - παρόν δεν υποστηρίζεται στο Android 5.1 ή νεότερη έκδοση. - - Διακοπή ασύρματου δικτύου Wi-Fi… Περιμένετε να αρχίσει η λήψη… Λάθος κατά την εγκατάσταση %s diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml index a2fed0039..ebe302ee2 100644 --- a/app/src/main/res/values-eo/strings.xml +++ b/app/src/main/res/values-eo/strings.xml @@ -101,8 +101,6 @@ Proponi ĝisdatigojn al nestabilaj versioj Privilegia aldonaĵo Uzi privilegian aldonaĵon por instali, ĝisdatigi kaj forigi pakaĵojn - Ĝisdatigi/malinstali privilegian aldonaĵon - Malfermi detalan ekranon de privilegia aldonaĵo por ĝisdatigi/malinstali ĝin Nomo de via loka deponejo La anoncata nomo de via loka deponejo: %s Uzi ĉifritan HTTPS:// konekton por loka deponejo @@ -206,29 +204,11 @@ Neniuj kongruaj aplikaĵoj disponeblaj. Bonege!\nĈiuj viaj aplikaĵoj estas ĝisdataj. - Petado pri ĉefuzanta aliro… - Ĉefuzanta aliro malpermesita - Aŭ via Androida aparato ne havas ĉefuzantan aliron, aŭ vi malpermesis - ĉefuzantan aliron al F-Droid. - Instalo malsukcesis pro nekonata eraro Malinstalo malsukcesis pro nekonata eraro - La subskribo de aldonaĵo estas erara! Bonvolu krei erar-raporton! - - Instali La privilegia aldonaĵo ne akiris ĉefuzantan permeson! Bonvolu krei erar-raporton! - Privilegia F-Droid-aldonaĵo instalita - Instalado de privilegia F-Droid-aldonaĵo malsukcesis - Privilegia F-Droid-aldonaĵo estis instalita. Tio ĉi ebligos al F-Droid instali, ĝisdatigi kaj malinstali aplikaĵojn per si mem. - Instalado de privilegia F-Droid-aldonaĵo malsukcesis. La instala metodo ne estas subtenata de ĉiuj Androidaj distribuaĵoj, bonvolu konsiliĝi en la F-Droida erar-spurilo por pli da informoj. - Instalado kaj restartado… - Ĉu vi volas instali privilegian F-Droid-aldonaĵon? - Tio ĉi daŭros maksimume 10 sekundoj. - Tio ĉi daŭros maksimume 10 sekundoj kaj la aparato estos poste restartita. - Ĉu vi certe volas malinstali privilegian F-Droid-aldonaĵon? - Malinstali Tuŝu por interŝanĝi Se via amiko havas F-Droid kaj aktivigan NFC, vi povas tuŝi viajn aparatojn @@ -316,8 +296,6 @@ Atendado je instalado… - Instalado de privilegia F-Droid-aldonaĵo ne estas nuntempe subtenata en Android 5.1 aŭ posta. - 1 horo 1 tago 1 semajno diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index dcc3c9f0e..b4e4a34e6 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -143,9 +143,6 @@ Ciencia y educación Seguridad Sistema - Solicitando acceso administrativo… - Acceso administrativo («root») denegado - El dispositivo Android no está «rooteado» o se ha denegado el acceso administrativo a F-Droid. Si la otra persona tiene F-Droid y activado NFC, poned en contacto vuestros teléfonos. Unirse a la misma Red Wi-Fi que la otra persona Intercambiar aplicaciones @@ -161,10 +158,6 @@ Enlaces Volver - Actualiza/Desinstala la extensión con permisos de sistema - Abre la pantalla de detalles de la extensión con permisos de sistema para - actualizarla/desinstalarla - Huella digital incorrecta No es una URL válida. Historial de cambios @@ -192,14 +185,6 @@ Fallo al instalar, debido a un error desconocido Fallo al desinstalar, debido a un error desconocido - La extensión privilegiada de F-Droid se ha instalado - Fallo en la instalación de la extensión de F-Droid con permisos de sistema - - Se ha instalado la extensión privilegiada de F-Droid. Esto le permite a F-Droid instalar, actualizar y desinstalar aplicaciones por sí mismo. - ¿Deseas instalar la extensión de F-Droid con permisos de sistema? - Esto tardará unos 10 segundos y después el dispositivo se reiniciará. - ¿Deseas desinstalar F-Droid con permisos de sistema? - Desinstalar Tocar para intercambiar Para intercambiar mediante Wi-Fi, verificad que estáis en la misma red. Si no tenéis acceso a la misma red, uno de vosotros puede crear un punto de acceso Wi-Fi. @@ -261,10 +246,6 @@ Oscuro Actualizaciones inestables Sugerir actualizaciones a versiones inestables - La instalación de la extensión de F-Droid con permisos de sistema ha - fallado. El método de instalación no está soportado por todas las versiones de Android, así que, por favor, - consulta el sistema de gestión de incidencias de F-Droid para más información. - ¿Quieres instalar una actualización de esta aplicación integrada? Los datos no se perderán. La aplicación actualizada tendrá acceso a: ¿Quieres instalar una actualización para esta aplicación integrada? Los datos no se perderán. No requiere ningún acceso especial. Más @@ -279,12 +260,6 @@ Permisos Repositorio Dirección - ¡La firma de la extensión es incorrecta! ¡Por favor, informa sobre - este fallo! - - Instalar - Instalando y reiniciando… - Esto tardará unos 10 segundos. ¡Descarga fallida! Noche @@ -324,10 +299,6 @@ Esperando a que empiece la descarga… - La instalación de la extensión con permisos de sistema de F-Droid no - está actualmente disponible para Android 5.1 o superiores. - - 1 día 1 semana 1 mes diff --git a/app/src/main/res/values-et/strings.xml b/app/src/main/res/values-et/strings.xml index 0853fc039..4ef11c9c2 100644 --- a/app/src/main/res/values-et/strings.xml +++ b/app/src/main/res/values-et/strings.xml @@ -20,9 +20,6 @@ Kuva teade, kui värskendused on saadaval Priviligeeritud laiendus Kasuta pakettide paigaldamiseks, värskendamiseks ja eemaldamiseks priviligeeritud laiendust - Värskenda/eemalda priviligeeritud laiendus - Priviligeeritud laienduse värskendamiseks/eemaldamiseks ava detailne vaade - Kohaliku hoidla nimi Kohaliku hoidla reklaamitud nimi: %s Kasuta kohaliku hoidlaga krüpteeritud HTTPS:// ühendust @@ -113,7 +110,6 @@ rakenduste puudumine nendes hoidlates. Palju õnne!\nSu rakendused on ajakohased. - Laienduse signatuur on vale! Palun teavita veast! Laiendusele ei ole antud priviligeeritud õiguseid! Palun saada veateade! @@ -237,26 +233,8 @@ Sobivaid rakendusi ei ole. - Soovitakse juurkasutaja õiguseid… - Juurkasutajana ligipääs keelatud Paigaldamine nurjus tundmatu vea tõttu Eemaldamine nurjus tundmatu vea tõttu - Paigalda - F-Droidi privilegeeritud laiendus on paigaldatud - F-Droid privilegeeritud laienduse paigaldamine nurjus - F-Droid privilegeeritud laiendus on paigaldatud. See võimaldab F-Droidil paigaldada, uuendada ja eemaldada rakendusi iseseisvalt. - F-Droid privilegeeritud laienduse paigaldamine nurjus. Kõik Androidi - väljalasked ei toeta paigaldamise meetodit. Lisateavet leiad F-Droidi veahaldusest. - - Paigaldamine ja taaskäivitamine… - Kas sa soovid paigaldada F-Droidi priviligeeritud laienduse? - Selleks kulub kuni 10 sekundit. - Selleks kulub kuni 10 sekundit ja seadmele tehakse hiljem taaskäivitus. - Kas soovid eemaldada F-Droidi priviligeeritud laienduse? - Eemalda - Android 5.1 ja uuematega ei ole hetkel F-Droidi privilegeeritud - laienduse paigaldamine toetatud. - Vahetamiseks puuduta Kui su sõbral on F-Droid ja NFC on sisselülitatud, siis pange oma seadmed @@ -338,9 +316,6 @@ F-Droidi tabas krahh Sa saad lisada täiendavat informatsiooni ja kommentaare siia: - Su Android seade ei ole kas lahti lukustatud või sa oled keelanud F-Droidile - juurkasutaja õigused. - WiFi kaudu vahetamiseks peate olema samas võrgus. Kui sul puudub ligipääs samasse võrku, siis saab teist üks luua WiFi tööpunkti. diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml index 0988f98a2..e584e85a9 100644 --- a/app/src/main/res/values-eu/strings.xml +++ b/app/src/main/res/values-eu/strings.xml @@ -74,10 +74,6 @@ Eguneratze-maiztasuna Pribilegiodun Luzapena Erabili pribilegiodun luzapena paketeak instalatu, eguneratu eta kentzeko - Eguneratu/Desinstalatu Pribilegiodun Luzapena - Ireki Pribilegiodun Luzapenaren xehetasunen pantaila berau eguneratu edo - desinstalatzeko - Iturburu kodea Bateraezina Instalatuta (%stik) @@ -217,24 +213,11 @@ Zorionak!\nZure aplikazioak egunean daude. - Root baimena eskatzen… - Root baimena ukatu da - Bietako bat, zure Android gailuan ez dago root baimena eskuratzea edo zuk - ukatu diozu F-Droid aplikazioari root baimena. - Instalazioak huts egin du errore ezezagun bat dela eta Ezin izan da desinstalatu errore ezezagun bat dela eta - Luzapen honen sinadura okerra da! Mesedez eman akatsaren berri! - Ez zaizkio pribilegiodun baimenak eman luzapenari! Mesedez eman akatsaren berri! - Instalatu - Instalatzen eta berrabiarazten… - Pribilegiodun F-Droid Luzapena instalatu nahi duzu? - Honek gehienez 10s emango ditu. - Honek gehienez 10s emango ditu eta ondoren gailua berrabiarazi egingo da. - Desinstalatu Lagundu adiskideari zure Wi-Fi gunera konektatzen Partekatu aplikazioak @@ -266,14 +249,6 @@ Bidali F-Droid Ezin izan da inguruan partekatzeko jenderik aurkitu. Berretsi trukea - Pribilegiodun F-Droid Luzapena instalatu da - Huts egin du Pribilegiodun F-Droid Luzapena instalatzea - Pribilegiodun F-Droid Luzapena instalatu da. Honek F-Droidek bere kabuz aplikazioak instalatu, eguneratu eta desinstalatzea ahalbidetzen du. - Pribilegiodun F-Droid Luzapenaren instalazioak huts egin du. - Instalazio metodoa ez dabil Android banaketa guztietan, Kontsultatu F-Droid Bug Trackerra informazio - gehiagorako. - - Pribilegiodun F-Droid Luzapena desinstalatu nahi duzu? Ukitu partekatzeko Zure adiskideak F-Droid eta NFC piztuta baditu ukitu gailuak elkarrekin. @@ -360,10 +335,6 @@ Urte 1 Betirako - Android 5.1 bertsiotik aurrera ezin da Pribilegiodun F-Droid Luzapena - instalatu. - - Instalatu eguneraketak automatikoki Deskargatu eta instalatu aplikazioen eguneraketak bigarren planoan diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml index b0190fead..ecda64b4d 100644 --- a/app/src/main/res/values-fa/strings.xml +++ b/app/src/main/res/values-fa/strings.xml @@ -69,8 +69,6 @@ نمایش به روزرسانی های موجود افزونه مجاز استفاده از افزونهٔ مجاز برای نصب، به‌روز رسانی و حذف بسته‌ها - به‌روز رسانی/حذف افزونهٔ ممتاز - گشودن صفحهٔ جزییات افزونهٔ مجاز برای به‌روز رسانی/حذف آن نام مخزن محلّی شما عنوان تبلیغاتی مخزن محلّی شما: %s استفاده از ارتباط رمز شدهٔ http برای مخزن محلّی @@ -178,14 +176,9 @@ زمان نوشتن - در حال درخواست دسترسی ریشه… تبریک! \nکاره‌هایتان به‌روزند. - دسترسی ریشه داده نشد - یا دستگاهاندرویدیتان روت شده نیست، یا درخواست روت برای اف‌دروید را رد کردید. - حذف نصب - برای تبادل، لمس کنید به همان وای‌فای دوستتان بپیوندید دوستتان را در پیوستن به هاتسپاتتان راهنمایی کنید @@ -256,18 +249,7 @@ \nبرنامه هایی روی دستگاهتان وجود دارند، ولی در اف‌دروید موجود نیستند. دلیل این امر می‌تواند این دلیل باشد که مخازنتان برنامه هایتان را موجود ندارند یا باید به‌روز شوند. شکست در نصب به دلیل خطایی ناشناخته شکست در نصب به دلیل خطایی ناشناخته - امضای افزونه اشتباه است! لطفاً یک گزارش خطا ایجاد کنید! دسترسی های مجاز به افزونه داده نشده است! لطفاً یک گزارش خطا ایجاد کنید! - نصب - افزونه ی مجاز اف‌دروید نصب شد - نصب افزونهٔ مجاز اف‌دروید ناموفق بود - افزونه ی مجاز اف‌دروید با موفّقیت نصب شد. این کار به اف‌دروید اجازه می‌دهد برنامه ها را توسّط خودش نصب کرده، ارتفا دهد و حدف کند. - نصب افزونه ی مجاز اف‌دروید شکست خورد. روش نصب توسّط همهٔ توزیع‌های اندروید پشتیبانی نمی‌شود. لطفاً برای اطّلاعات بیش‌تر با ردیاب مشکل اف‌دروید مشاوره کنید. - در حال نصب و راه‌انداری دوباره… - می‌خواهید افزونهٔ مجاز اف‌دروید را نصب کنید؟ - این کار بیش از ۱۰ ثانیه زمان می‌برد. - این کار بیش از ۱۰ ثانیه زمان برده و پس از آن، افزاره راه‌اندازی مجدّد خواهد شد. - می‌خواهید افزونهٔ مجاز اف‌دروید را حذف کنید؟ اگر دوستتان اف‌دروید دارد و NFC اش روشن است، دستگاه هایتان را با هم تماس بدهید. برای تبادل با استفاده از وای‌فای، مطمئن شوید که روی شبکهٔ یکسانی هستید. اگر به شبکهٔ یکسان دسترسی ندارید، یکی از شما می‌تواند یک هاتسپات وای‌فای ایجاد کند. رمز QR ای که اسکن کردید، شبیه یک رمز تبادل نیست. @@ -308,8 +290,6 @@ به‌روز رسانی‌ها به صورت خودکار بارگیری شده و برای نصبشان آگاه می‌شوید در انتظار شروع بارگیری… - در حال حاضر نصب افزونهٔ مجاز اف‌دروید روی اندروید ۵.۱ یا بالاتر پشتیبانی نمی‌شود. - ۱ ساعت ۱ روز ۱ هفته diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index c34462d5e..1464c33ba 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -109,11 +109,6 @@ Tiede & koulutus Tietoturva Järjestelmä - Pyydetään root-oikeuksia… - Root-oikeudet kielletty - Joko Android-laitettasi ei ole rootattu tai olet kieltänyt F-Droidin - root-oikeuksiin pääsyn. - Jos ystävälläsi on F-Droid asennettuna ja NFC päällä, koskettakaa laitteitanne yhteen. @@ -169,9 +164,6 @@ Hae päivitykset automaattisesti Päivitykset ladataan automaattisesti ja sinua pyydetään asentamaan ne - Päivitä/Poista Privileged Extension - Avaa Privileged Extensionin asetussivu päivittääksesi tai poistaaksesi sen - Ei käyttäjänimeä. Tietoja ei muutettu. Huono sormenjälki @@ -223,13 +215,6 @@ Aika Kirjoittaminen - Asenna - Tämä kestää jopa 10 sekuntia. - Tämä voi kestää jopa 10 sekuntia ja laite tullaan - käynnistämään uudelleen - sen jälkeen. - - Poista %1$s (sinun hotspot) Älä näytä tätä uudelleen Skannaa QR-koodi @@ -271,9 +256,6 @@ Haulla ei löytynyt tuloksia. Asennus epäonnistui tuntemattoman virheen vuoksi Poistaminen epäonnistui tuntemattoman virheen vuoksi - Laajennuksen allekirjoitus on väärä! Ole hyvä ja luo vikailmoitus! - - Asennetaan ja käynnistetään uudelleen… Vaihda koskettamalla Vaihtaaksesi sovelluksia Wi-Fin avulla, sinun tulee olla samassa verkossa. Jos sinulla ei ole pääsyä samaan verkkoon, voit luoda oman Wi-Fi-hotspotin. @@ -336,17 +318,6 @@ Laajennukselle ei ole myönnetty etuoikeutettuja käyttöoikeuksia! Luo virheraportti! - F-Droid Privileged Extension asennettu - F-Droid Privileged Extensionin asennus epäonnistui - F-Droid Privileged Extension on asennettu. Sen avulla F-Droidin voi asentaa, päivittää ja poistaa sovelluksia omillaan. - F-Droid Privileged Extensionin asennus epäonnistui. Kaikki - Android-versiot eivät tue tätä asennustapaa. Konsultoi F-Droidin virhehakua saadaksesi lisätietoa. - - Haluatko asentaa F-Droid Privileged Extensionin? - Haluatko poistaa F-Droid Privileged Extensionin asennuksen? - F-Droid Privileged Extensionin asennusta ei tueta Android 5.1+ - -versioissa. - Versiot Päivitys epäonnistui, oletko yhteydessä internettiin? diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index dffb44074..ea6a4c0fc 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -140,11 +140,6 @@ Science & Éducation Sécurité Système - Demande d\'accès aux privilèges root… - Privilèges root refusés - Soit vous n\'avez pas accès aux privilèges root sur ce système Android, soit - vous les avez refusés à F-Droid. - Connectez-vous au même Wi-Fi que votre ami Échanger des applis Aucun réseau @@ -156,7 +151,6 @@ Mises à jour instables Proposer les mises à jour de versions instables - Mettre à jour/désinstaller l\'extension de privilège Code source Incompatible Liens @@ -253,7 +247,6 @@ Chercher les mises à jour toutes les heures Fourni par %1$s. - Ouvrir l\'écran des détails de l\'extension de privilège pour la mettre à jour/la désinstaller Téléchargement de \n%2$s depuis \n%1$s @@ -264,23 +257,9 @@ Personnalisation Écriture - La signature de l\'application est erronée ! Veuillez créer un - rapport de bug ! - Les autorisations privilégiées n\'ont pas été accordée à l\'application ! Veuillez créer un rapport de bug ! - Installer - L\'extension de privilège de F-Droid a été installée - Échec de l\'installation de l\'extension de privilège de F-Droid - L\'extension de privilège de F-Droid est installée. Elle permet à F-Droid d\'installer, mettre à jour ou désinstaller des applications sans action de votre part. - Échec de l\'installation de l\'extension de privilège de F-Droid. La méthode d\'installation utilisée n\'est pas supportée par toutes les variantes d\'Android. Veuillez consulter la base de donnée de bogues pour plus d\'informations. - Installation et redémarrage… - Voulez-vous installer l\'extension de privilège de F-Droid ? - Ceci peut prendre jusqu\'à 10 secondes. - Ceci peut prendre jusqu\'à 10 secondes et l\'appareil sera ensuite redémarré. - Voulez-vous désinstaller l\'extension de privilège de F-Droid ? - Désinstaller Vous n\'arrivez pas à trouver ce que vous cherchez ? Une erreur a eu lieu lors de la connexion à l\'appareil, impossible de faire l\'échange ! @@ -322,8 +301,6 @@ Téléchargement en attente… - L\'installation de l\'extension de privilège de F-Droid n\'est pour l\'instant pas supportée sur Android 5.1 et plus. - 1 heure 1 jour 1 semaine diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index 095a9e5e5..b6a503f72 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -67,7 +67,6 @@ Utiliza F-Droid Privileged Extension para instalar, actualizar e eleminar paquetes - Actualizar/Desinstalar Privileged Extension Nome do teu repositorio local Utilizar conexión cifrada HTTPS:// para o repositorio local @@ -161,13 +160,6 @@ Escrita Fallou ao desinstalar por un erro descoñecido - Instalar - Fallou a instalación de F-Droid Privileged Extension - Instalando e reiniciando… - Levará máis de 10 segundos. - Levará arredor de 10 segundos e o dispositivo será reiniciado a continuación. - Desexas desinstalar F-Droid Privileged Extension? - Desinstalar Toca para intercambiar Intercambiar aplicativos @@ -208,9 +200,6 @@ Oscuro Nocturno Suxire actualizacións para versións inestables - Abre a pantalla de detalles da Privileged Extension para - actualizala/desinstalala - O código fonte non é completamente libre Servidor Proxy @@ -248,19 +237,10 @@ Parabéns!\nTodas as súas apps están actualizadas. - Pedindo acceso root… - Acceso root denegado - Pode que o teu dispositivo Android non esté rooteado ou que denegases o - acceso root para F-Droid. - Fallou a instalación debido a un error descoñecido - A firma da extensión é errónea! Por favor, crea unha incidencia! - Os permisos con privilexios non foron garantizados para a extensión! Por favor, crea unha incidencia! - A Extensión Privilexiada de F-Droid foi instalada - Desexas instalar F-Droid Privileged Extension? Se o seu amigo ten F-Droid e o NFC activado, achegade os dispositivos. Únete á mesma rede Wi-Fi que o teu amigo Para intercambiar mediante Wi-Fi, asegúrate de estar na mesma rede. Se non @@ -299,12 +279,7 @@ Ofertado por %1$s. Escribindo índice firmado para o ficheiro (index.jar)… - A Extensión Privilexiada de F-Droid Privileged Extension está instalada. Isto permite ao F-Droid instalar, actualizar e desinstalar aplicativos pola súa conta. - A instalación de F-Droid Privileged Extension fallou. O método de - instalación non está dispoñible para todas as distribucións Android, por favor, consulta o seguimento de erros - de F-Droid para máis información. - -Preferencias + Preferencias Últimas Categorías Veciñanza @@ -476,8 +451,6 @@ Nengún aplicativo coincidente disponíbel. - Polo de agora non é posíbel instalar a Extensión Privilexiada de F-Droid en sistemas Android > 5.1. - Actualizado hai %1$d semana Actualizado hai %1$d semanas diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml index e3fb90410..d9767ae87 100644 --- a/app/src/main/res/values-he/strings.xml +++ b/app/src/main/res/values-he/strings.xml @@ -13,8 +13,6 @@ הצגת התראה כאשר יש עדכונים הרחבה מועדפת ניתן להשתמש בהרחבה מועדפת כדי להתקין, לעדכן, ולהסיר חבילות - עדכון/הסרה של הרחבה מועדפת - יש לפתוח את מסך הפרטים על הרחבה מועדפת כדי לעדכן/להסיר אותה שם המאגר המקומי שלך הכותרת המעודכנת של המאגר המקומי שלך: %s שימוש בחיבור //:HTTPS עבור מאגר מקומי @@ -155,19 +153,8 @@ ברכותינו! \nהיישומונים שלך עדכניים. - בקשה לגישת על (root)… - גישת על (root) נאסרה - או שלמכשיר האנדרואיד שלך אין גישת על (root) או שדחית את הגישה ל־F-Droid. ההתקנה נכשלה עקב שגיאה בלתי ידועה ההסרה נכשלה עקב שגיאה בלתי ידועה - הרחבת F-Droid מועדף הותקנה - התקנת הרחבת F-Droid מועדף נכשלה - הרחבת F-Droid מועדף הותקנה. מצב זה מאפשר ליישומון F-Droid להתקין, לשדרג ולהסיר התקנת יישומונים באופן עצמאי. - ההתקנה של הרחבת F-Droid מועדף נכשלה. שיטת ההתקנה אינה נתמכת על ידי כל הפצות Android, נא לפנות למערכת מעקב הבאגים של F-Droid לקבלת מידע נוסף. - להתקין את הרחבת F-Droid מועדף? - פעולה זו אורכת עד 10 שניות וההתקן יאותחל לאחר מכן. - להסיר את הרחבת F-Droid מועדף? - הסרה אם לחברך יש F-Droid ו־NFC פעיל הצמידו את המכשירים שלכם. הצטרפות לאותה רשת אלחוטית כמו חברך @@ -286,10 +273,6 @@ הרשאות מאגר כתובת - החתימה של ההרחבה שגויה! נא לדווח על באג! - התקנה - מתבצעים התקנה ואתחול… - פעולה זו אורכת עד 10 שניות. לילה ההרשאות המיוחדות לא הוענקו להרחבה! נא לדווח על באג! נדרש אימות @@ -393,7 +376,6 @@ ישנו עדכון התקנה נכשלה הקובץ המבוקש לא נמצא. - התקנת הרחבת F-Droid מועדף אינה נתמכת כעת על אנדרואיד 5.1 ומעלה. שגיאה בהתקנת %s שגיאה בהסרת %s diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index 9d34afd12..4abc2dffc 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -27,10 +27,6 @@ Koristite F-Droidovo povlašteno proširenje kako bi instalirali, ažurirali i uklonili pakete - Ažuriraj/ukloni povlašteno proširenje - Otvori ekran sa detaljima o povlaštenom proširenju kako bi ga - ažurirali/uklonili - Ime Vašeg lokalnog repozitorija Oglašeno ime Vašeg lokalnog repozitorija: %s Koristi enkriptiranu HTTPS:// vezu za lokalni repozitorij @@ -237,38 +233,11 @@ su Vam repozitoriji zastarjeli). - Zahtjevam root pristup… - Root pristup odbijen - Ili Vaš Android uređaj nije rootan ili niste dali root pristup F-Droidu. - Nije uspjelo instaliranje zbog nepoznate greške Nije uspjelo instaliranje zbog nepoznate greške - Potpis proširenja je pogrešan! Molimo napravite zapis o greški! - Proširenju nisu dodjeljene privilegirane ovlasti! Molimo stvorite zapis o greški! - Instaliraj - Uspješno instalirano F-Droid privilegirano proširenje - Instalacija F-Droid privilegiranog proširenja nije uspjela - F-Droid privilegirano proširenje je uspješno instalirano. Ono - dopušta F-Droidu samostalnu instalaciju, nadogradnju i uklanjanje aplikacija. - - Instalacija F-Droid privilegiranog proširenja nije uspjela. - Instalacijska metoda nije podržana na svim Android verzijama, pogledajte F-Droid bug tracker za više - informacija. - - Instalacija i ponovno pokretanje… - Želite li instalirati F-Droid privilegirano proširenje? - Ovo može potrajati desetak sekundi. - Ovo može potrajati desetak sekundi, nakon čega će se Vaš uređaj - ponovno pokrenuti. - - Želite li ukloniti F-Droid privilegirano proširenje? - Ukloni - Instalacija F-Droid privilegiranog proširenja trenutno nije podržana na - Android 5.1 ili kasnijem. - Dodirnite za razmjenu Ako Vaš prijatelj ima F-Droid i uključen NFC, dodirnite se uređajima. diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 5e77863b6..2f5369de5 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -170,12 +170,6 @@ A telepítés ismeretlen hiba miatt meghiúsult Az eltávolítás ismeretlen hiba miatt meghiúsult - A kiterjesztés aláírása hibás! Készítsen hibajelentést! - Telepítés - Telepítés és újraindítás… - Ez legfeljebb 10 másodpercig tart. - Ez akár legfeljebb 10 másodpercig tart, majd az eszköz újraindul. - Eltávolítás Betöltés… a következőkhöz szeretne hozzáférni: @@ -229,10 +223,6 @@ Tor használata Hotspot - Root hozzáférés kérése… - Root hozzáférés megtagadva - A készüléke vagy nem rootolt, vagy megtagadta az F-Droid root hozzáférését. - E-mail a készítőnek Letöltési forgalom Tor használatára kényszerítése az adatvédelem növeléséért. Orbot szükséges hozzá %2$s / %3$s (%4$d%%) feldolgozása, forrás: %1$s @@ -280,8 +270,6 @@ Az összes telepítés és eltávolítás naplójának tárolása egy privát tárolóban Frissítések automatikus telepítése Alkalmazásfrissítések letöltése és telepítése a háttérben - Kiváltságos kiterjesztés frissítése/törlése - A kiváltságos kiterjesztés részleteinek megnyitása a frissítéshez/törléshez Verziók Az F-Droid cserére kész Legújabb @@ -434,13 +422,6 @@ A privilegizált engedélyek nem lettek megadva ehhez a kiterjesztéshez! Küldjön be hibajelentést! - Az F-Droid privilegizált kiterjesztés telepítve - Az F-Droid privilegizált kiterjesztés telepítése meghiúsult - Az F-Droid privilegizált kiterjesztés telepítve. Ezzel az F-Droid beavatkozás nélkül tud alkalmazásokat telepíteni, frissíteni és eltávolítani. - Az F-Droid privilegizált kiterjesztés telepítése meghiúsult. A telepítési módszert nem minden Android disztribúció támogatja, további információkért keresse fel az F-Droid hibakövető rendszerét. - Telepíti az F-Droid privilegizált kiterjesztést? - Eltávolítja az F-Droid privilegizált kiterjesztést? - Az F-Droid privilegizált kiterjesztés telepítése jelenleg nem támogatott Android 5.1 vagy későbbi rendszerek esetén. Érintés a cseréhez A Wi-Fin keresztüli cseréhez győződjön meg róla, hogy ugyanazon a hálózaton vannak. Ha nem fér hozzá a hálózathoz, akkor az egyikük Wi-Fi Hotspotot hozhat létre. diff --git a/app/src/main/res/values-hy/strings.xml b/app/src/main/res/values-hy/strings.xml index 47c501e25..38dde8877 100644 --- a/app/src/main/res/values-hy/strings.xml +++ b/app/src/main/res/values-hy/strings.xml @@ -84,12 +84,6 @@ Անվտանգություն Սպորտ և առողջություն Համակարգ - Տեղադրել - Տեղադրում և վերագործարկում եմ… - Սա կտևի մոտ 10 վայրկյան։ - Սա կտևի մոտ 10 վայրկյան և այնուհետև սարքըկվերագործարկվի։ - - Ապատեղադրել Այլևս ցույց չտալ սա Սարքի անվանում Բեռնում եմ… diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml index 362ff8e12..34dddb7b1 100644 --- a/app/src/main/res/values-id/strings.xml +++ b/app/src/main/res/values-id/strings.xml @@ -18,8 +18,6 @@ Gunakan F-Droid Privileged Extension untuk memasang, memperbarui, dan mencopot paket - Perbarui/Copot Privileged Extension - Buka layar detail Privileged Extension untuk memperbarui/mencopotnya Nama Repo Lokal Anda Judul repo lokal Anda yang disiarkan: %s Gunakan sambungan HTTPS:// terenkripsi untuk repo lokal @@ -223,30 +221,11 @@ pembaruan repositori, atau repositori memang tidak memiliki apl yang tersedia. Selamat!\nApl Anda sudah yang paling baru. - Meminta akses root… - Akses root ditolak - Mungkin perangkat Android anda yang belum diroot atau anda telah menolak - akses root untuk F-Droid. - Gagal memasang karena galat yang tidak diketahui Gagal mencopot pemasangan karena galat yang tidak diketahui - Tanda tangan ekstensi ini salah! Harap buat laporan kutu! Izin istimewa belum diberikan ke ekstensi! Harap buat laporan kutu! - Pasang - F-Droid Privileged Extension telah terpasang - Pemasangan F-Droid Privileged Extension gagal - F-Droid Privileged Extension telah terpasang. Ini mengijinkan F-Droid untuk memasang, meningkatkan dan mencopot pemasangan apl sendiri. - Pemasangan F-Droid Privileged Extension gagal. Metode pemasangan - tidak didukung oleh semua distribusi Android, harap hubungi pelacak kutu F-Droid untuk info selanjutnya. - - Memasang dan booting ulang… - Anda ingin memasang F-Droid Privileged Extension? - Ini memakan waktu hingga 10 detik. - Ini memakan waktu 10 detik dan perangkat akan dinyalakan ulang. - Anda ingin mencopot pemasangan F-Droid Privileged Extension? - Copot pemasangan Ketuk untuk swap Jika teman anda memiliki F-Droid dan NFC yang dihidupkan ketuk perangkat @@ -327,10 +306,6 @@ Menunggu untuk mulai unduhan… - Pemasangan F-Droid Privileged Extension saat ini tidak tersedia di - Android 5.1 atau lebih baru. - - 1 Jam 1 Hari 1 Minggu diff --git a/app/src/main/res/values-is/strings.xml b/app/src/main/res/values-is/strings.xml index f825a1a7a..06e8a6b09 100644 --- a/app/src/main/res/values-is/strings.xml +++ b/app/src/main/res/values-is/strings.xml @@ -178,14 +178,8 @@ Engin samsvarandi forrit tiltæk. - Bið um rótaraðgang… - Rótaraðgangi var hafnað Mistókst að setja inn vegna óþekktrar villu Mistókst að fjarlægja vegna óþekktrar villu - Setja inn - Set inn og endurræsi… - Þetta tekur allt að 10 sekúndum. - Fjarlægja Snertu til að býtta Skiptast á forritum Býttin heppnuðust! @@ -262,10 +256,6 @@ Nota forgangsviðbót F-Droid (privileged extension) til að setja upp, uppfæra og fjarlægja pakka - Uppfæra/Fjarlægja forgangsviðbót - Opnaðu skjáinn með ítarupplýsingum um forgangsviðbótina til að - uppfæra/fjarlægja hana - Útsent heiti staðværa hugbúnaðarsafnsins þíns: %s Nota dulritaða HTTPS:// tengingu fyrir staðvært hugbúnaðarsafn @@ -284,19 +274,6 @@ Forgangsheimildum hefur ekki verið úthlutað til viðbótarinnar! Sendu endilega inn villuskýrslu! - Setti upp F-Droid forgangsviðbótina - Innsetning á F-Droid forgangsviðbót mistókst - F-Droid forgangsviðbótin hefur verið sett upp. Það gerir F-Droid - sjálfu kleift að setja upp, uppfæra og fjarlægja forrit. - - Innsetning á F-Droid forgangsviðbót mistókst. Uppsetningaraðferðin - er ekki studd á öllum Android dreifingum, skoðaðu villumeldingavef F-Droid til að finna nánari upplýsingar. - - Ert þú viss um að þú viljir setja upp F-Droid forgagsviðbótina? - Ert þú viss um að þú viljir fjarlægja F-Droid forgagsviðbótina? - Innsetning á F-Droid forgangsviðbótinni er ekki ennþá studd á Android - 5.1 eða nýrri. - Nýja útgáfan er undirrituð með öðrum lykli en gamla útgáfan. Til að setja inn nýju útgáfuna verður að fjarlægja fyrst þá eldri. Gerðu þetta og prófaðu aftur. (Athugaðu að fjarlæging forritsins @@ -345,12 +322,6 @@ uppfæra hugbúnaðarsöfnin þín, eða að hugbúnaðarsöfnin eigi í alvörunni ekki tiltæk þessi forrit. Til hamingju!\nÖll forritin þín eru af nýjustu útgáfu. - Annað hvort er Android tækið þitt ekki með rótaraðgang (rooted) eða að þú - hefur neitað F-Droid um rótarheimildir. - - Undirritun viðbótarinnar er röng! Sendu endilega inn villuskýrslu! - - Þetta tekur allt að 10 sekúndum og tækið verður endurræst í kjölfarið. Ef vinur þinn er með F-Droid og kveikt á NFC, látið þá tækin ykkar snertast. Til að gera býtti í gegnum þráðlaust net, gakktu úr skugga um að þið séuð á diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 85e96a6b3..76c474d0a 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -143,10 +143,6 @@ Scienza ed educazione Sicurezza Sistema - Richiesta dei permessi di root… - Accesso root negato - Il tuo telefono non ha i permessi di root oppure li hai negati a F-Droid. - Collegati alla stessa rete Wi-Fi del tuo amico Invia app Nessuna rete disponibile @@ -225,10 +221,6 @@ Notte Autorizzazioni Suggerisci aggiornamenti a versioni non stabili - Aggiorna/disinstalla l\'estensione privilegiata - Apri la schermata dell\'estensione privilegiata per aggiornarla o - disinstallarla - Autenticazione richiesta Nome utente Password @@ -275,26 +267,9 @@ Installazione fallita a causa di un errore sconosciuto Disinstallazione fallita a causa di un errore sconosciuto - La firma dell\'estensione è sbagliata! Per favore segnala questo - problema! - I privilegi non sono stati concessi all\'estensione! Per favore segnala questo problema! - Installa - Estensione privilegiata di F-Droid installata - Installazione dell\'estensione privilegiata di F-Droid fallita - L\'estensione privilegiata di F-Droid è stata installata. Questo permette a F-Droid di installare, aggiornare e disinstallare applicazioni indipendentemente. - L\'installazione dell\'estensione privilegiata di F-Droid è fallita. - Il metodo di installazione non è supportato da tutte le distribuzioni di Android, per favore consulta le - segnalazioni di bug per maggiori informazioni. - - Installazione e riavvio… - Vuoi installare l\'estensione privilegiata di F-Droid? - Questo può richiedere fino a 10 secondi. - Questo può richiedere fino a 10 secondi e il dispositivo verrà riavviato successivamente. - Vuoi disinstallare l\'estensione privilegiata di F-Droid? - Disinstalla Tocca per scambiare Se il tuo amico ha F-Droid e NFC attivato, sovrapponete i vostri dispositivi. @@ -335,10 +310,6 @@ Ottieni automaticamente gli aggiornamenti Repository: %s - L\'installazione di Estensione Privilegiata di F-Droid non è attualmente - supportata su Android 5.1 o superiori. - - In attesa di avviare lo scaricamento… 1 ora diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index d8f0329f0..653326770 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -132,9 +132,6 @@ 科学と教育 セキュリティ システム - root権限の要求中 - rootへのアクセスが拒否されました - この端末はroot化されていないか、F-Droidのrootへのアクセスが拒否されました。 友だちがF-DroidとNFCを持っているなら、一緒にお使いの端末をタッチしてください。 友達として同じWi-Fiに参加 アプリの交換 @@ -143,8 +140,6 @@ QRコードスキャナーを開く F-Droidへようこそ! 今すぐ%1$sからアプリを取得しますか? - 特権拡張機能をインストール、またはアンインストール - 特権拡張機能の詳細画面を開いて、アプリをインストール、またはアンインストールします 互換性がありません リンク @@ -171,14 +166,6 @@ 不明なエラーのためインストールに失敗しました 不明なエラーのためアンインストールに失敗しました - F-Droidの特権拡張機能をインストールしました - F-Droidの特権拡張機能のインストールに失敗しました - F-Droid特権拡張機能はインストール済みです。これによりF-Droidは独自にアプリをインストール、更新、アンインストールすることができます。 - F-Droidの特権拡張機能のインストールに失敗しました。すべてのAndroidでこのインストール方法が使用できる訳ではありません。詳細については、F-Droidのバグトラッカーを参照してください。 - F-Droidの特権拡張機能をインストールしてもよろしいですか? - これには約10秒程かかり、その後端末が再起動 されます。 - F-Droidの特権拡張機能をアンインストールしてもよろしいですか? - アンインストール 正常に交換しました! %1$s(自分のホットスポット) @@ -256,11 +243,7 @@ リポジトリ アドレス - 拡張機能の署名が間違っています!バグレポートを送ってください! 特権が拡張機能に付与されていません!バグレポートを送ってください! - インストール - インストール、および再起動中 - これには、約10秒程かかります。 詳細を表示 詳細を隠す @@ -295,8 +278,6 @@ 自動的にアップデートをダウンロードして、インストール通知をします ダウンロードの開始を待っています - F-Droidの特権拡張機能のインストールは、現在Android 5.1以降でサポートされていません。 - 1時間 1日 1週間 diff --git a/app/src/main/res/values-kab/strings.xml b/app/src/main/res/values-kab/strings.xml index d479d9551..db24fa6bb 100644 --- a/app/src/main/res/values-kab/strings.xml +++ b/app/src/main/res/values-kab/strings.xml @@ -35,7 +35,6 @@ Akud Tira - Sbedd Amaynut Mucceḍ Sefsex @@ -171,7 +170,6 @@ Rnu tazmilt i usnas Iḍ - Anekcum s uẓar yegdel F-Droid Kkes @@ -181,7 +179,6 @@ Tuqqniwt Tadrimt Tussna & Usegmi - Kkes Ansuf γer F-Droid ! Ur d-skan ara tikkelt-nniḍen Asider n %1$s @@ -199,7 +196,6 @@ Ḥrez amazray n usebded Sken ileqman yellan Isiγzaf Yettwasirgen - Leqqem/Kkes asiγzef yettwasirgen Isem n ukufi-ik adigan Seqdec tuqqna HTTPS:// tawgelhant i ukufi adigan diff --git a/app/src/main/res/values-kn/strings.xml b/app/src/main/res/values-kn/strings.xml index 74190e457..3a42d3c6f 100644 --- a/app/src/main/res/values-kn/strings.xml +++ b/app/src/main/res/values-kn/strings.xml @@ -29,7 +29,6 @@ ಕ್ಯುಆರ್ ಸ್ಕ್ಯಾನರ್ ತೆರೆ ಎಫ್-ಡ್ರಾಯ್ಡ್ ಗೆ ಸುಸ್ವಾಗತ! ನನ್ನ ಹತ್ತಿರವಿರುವ ಜನರನ್ನು ಹುಡುಕು - ಅನುಸ್ಥಾಪಿಸು ಸಮಯ ಸುರಕ್ಷತೆ ಕ್ರೀಡೆ & ಆರೋಗ್ಯ diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 60afb2365..0fc4a1669 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -132,9 +132,6 @@ 과학 및 교육 보안 시스템 - 루트 권한을 요청하는 중… - 루트 권한 거부됨 - Android 장치가 루팅되지 않았거나 F-Droid의 루트 권한 요청을 거부한 경우입니다. 상대방이 F-Droid를 가지고 있고 NFC가 켜져 있다면 두 장치를 서로 맞대세요. 상대방과 같은 Wi-Fi에 접속하세요 앱 교환하기 @@ -147,8 +144,6 @@ 불안정 업데이트 불안정한 버전으로의 업데이트를 제안합니다 - 특별 권한 확장 기능 업데이트/제거 - 특별 권한 확장 기능을 업데이트하거나 제거하기 위해 자세한 사항 화면을 엽니다 인증 필요 사용자 이름 암호 @@ -203,19 +198,7 @@ 알 수 없는 오류로 인해 설치에 실패했습니다 알 수 없는 오류로 인해 제거에 실패했습니다 - 확장 기능의 서명이 잘못되어 있습니다! 버그 보고를 작성해주세요! 특별 권한이 확장 기능에 부여되지 않았습니다! 버그 보고를 작성해주세요! - 설치 - F-Droid 특별 권한 확장 기능이 설치됨 - F-Droid 특별 권한 확장 기능의 설치가 실패됨 - F-Droid 특별 권한 확장 기능이 설치되었습니다. 이는 F-Droid가 자체적으로 앱을 설치, 업데이트 및 제거할 수 있게 합니다. - F-Droid 특별 권한 확장 기능의 설치가 실패했습니다. 설치 방법은 모든 Android 배포판에서 지원되는 것은 아닙니다. F-Droid 버그 트래커에서 더 많은 정보를 참조하세요. - 설치 및 다시 시작 중… - F-Droid 특별 권한 확장 기능을 설치하시겠습니까? - 최대 10초가 걸립니다. - 최대 10초가 걸리며 이후 장치가 다시 시작됩니다. - F-Droid 특별 권한 확장 기능을 제거하시겠습니까? - 제거 터치하여 교환하기 Wi-Fi를 사용해 교환하려면, 같은 네트워크에 있는지를 확인하세요. 만약 같은 네트워크에 접근할 수 없다면, 장치 하나에서 Wi-Fi 핫스팟을 시작할 수 있습니다. @@ -286,7 +269,6 @@ Tor 사용 향상된 개인정보 보호를 위해 Tor를 통한 다운로드 트래픽을 강제합니다. Orbot이 필요합니다 일치하는 사용 가능한 앱이 없습니다. - F-Droid 특별 권한 확장 기능을 설치하는 것은 현재 Android 5.1 이상에서 지원되지 않습니다. Wi-Fi 중지하는 중… 다운로드 시작을 기다리는 중… diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index 03c0d33ad..7fe81e8ef 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -96,8 +96,6 @@ Laikas Rašymas - Įdiegti - Išdiegti Daugiau to nerodyti Nauja Atnaujinti diff --git a/app/src/main/res/values-lv/strings.xml b/app/src/main/res/values-lv/strings.xml index dbc943ed0..cf2199be6 100644 --- a/app/src/main/res/values-lv/strings.xml +++ b/app/src/main/res/values-lv/strings.xml @@ -136,8 +136,6 @@ Atjauninājumi tiek lejupielādēti automātiski un jūs tiekat paziņots, lai instalētu Automātiski instalēt atjauninājumus Lejupielādēt un instalēt aplikācijas fonā - Atjaunināt/Atinstalēt Priviliģēto Pievienojumu - Atvērt informācijas ekrānu par Priviliģēto Pievienojumu, lai to atjauninātu/atinstalētu Jūsu lokālā repozitorija reklamētais nosaukums: %s Ir vajadzīga autentikācija Lietotājvārds diff --git a/app/src/main/res/values-ml/strings.xml b/app/src/main/res/values-ml/strings.xml index 5b59d98ea..16dc645db 100644 --- a/app/src/main/res/values-ml/strings.xml +++ b/app/src/main/res/values-ml/strings.xml @@ -47,8 +47,6 @@ സമയം എഴുത്ത് - സ്ഥാപിക്കുക - ഒഴിവാക്കുക എഫ്-ഡ്രോയ്ഡിലേക്ക് സ്വാഗതം! ഇനി കാണിക്കേണ്ട പുതിയത് @@ -101,8 +99,6 @@ പുതുക്കലുകൾ ലഭ്യമാകുമ്പോൾ ഒരു അറിയിപ്പ് കാണിക്കുക പ്രത്യേകാധികാരമുള്ള കൂട്ടിച്ചേര്‍പ്പ് പ്രയോഗങ്ങളെ സ്ഥാപിക്കാനും പുതുക്കാനും ഒഴിവാക്കാനും എഫ്-ഡ്രോയ്ഡിന്റെ പ്രത്യേകാധികാരമുള്ള കൂട്ടിച്ചേര്‍പ്പ് ഉപയോഗിക്കുക - പ്രത്യേകാധികാരമുള്ള കൂട്ടിച്ചേര്‍പ്പ് പുതുക്കുക/ഒഴിവാക്കുക - പ്രത്യേകാധികാരമുള്ള കൂട്ടിച്ചേര്‍പ്പ് പുതുക്കാനും ഒഴിവാക്കാനും അതിന്റെ വിശദാംശങ്ങള്‍ കാണിക്കുക നിങ്ങളുടെ പ്രാദേശിക സംഭരണിയുടെ പേര് നിങ്ങളുടെ പ്രാദേശിക സംഭരണിയുടെ പരസ്യപേര്: %s പ്രാദേശിക സംഭരണിക്ക് വേണ്ടി എൻക്രിപ്റ്റഡ് HTTPS:// കണക്ഷൻ ഉപയോഗിക്കുക @@ -280,17 +276,7 @@ അഭിനന്ദനങ്ങൾ!\nനിങ്ങളുടെ പ്രയോഗങ്ങളെല്ലാം കാലികമാണ് (അല്ലെങ്കിൽ നിങ്ങളുടെ സംഭരണികള്‍ കാലഹരണപ്പെട്ടതാണ്). ഒരു അജ്ഞാത പിശക് കാരണം സ്ഥാപിക്കല്‍ പരാജയപ്പെട്ടു കാരണം ഒരു അജ്ഞാത പിശക് ഒഴിവാക്കല്‍ പരാജയപ്പെട്ടു - വിപുലീകരണത്തിന്റെ ഒപ്പ് തെറ്റാണ്! ഒരു ബഗ് റിപ്പോർട്ട് സൃഷ്ടിക്കുക! പ്രത്യേക അനുമതികൾ വിപുലീകരണത്തിന് നൽകിയിട്ടില്ല! ഒരു ബഗ് റിപ്പോർട്ട് സൃഷ്ടിക്കുക! - പ്രത്യേക അനുമതി ആവശ്യമുള്ള എഫ്-ഡ്രോയ്ഡ് വിപുലീകരണം സ്ഥാപിച്ചു - പ്രത്യേക അനുമതി ആവശ്യമുള്ള എഫ്-ഡ്രോയ്ഡ് വിപുലീകരണം സ്ഥാപിക്കല്‍ പരാജയപ്പെട്ടു - പ്രത്യേക അനുമതി ആവശ്യമുള്ള എഫ്-ഡ്രോയ്ഡ് വിപുലീകരണം സ്ഥാപിച്ചു. ഇത് പ്രയോഗങ്ങളെ സ്ഥാപിക്കാനും പുതുക്കാനും ഒഴിവാക്കാനും എഫ്-ഡ്രോയ്ഡിനെ സ്വയം പ്രാപ്തമാക്കുന്നു. - സ്ഥാപിക്കുന്നു, റീബൂട്ട് ചെയ്യുന്നു… - നിങ്ങൾക്ക് പ്രത്യേകാവകാശ എഫ്-ഡ്രോയ്ഡ് വിപുലീകരണം സ്ഥാപിക്കണോ? - ഇത് 10 സെക്കന്റ് വരെ എടുക്കും. - ഇത് 10 സെക്കന്റ് വരെ എടുക്കും. ശേഷം ഉപകരണം റീബൂട്ട് ചെയ്യും. - നിങ്ങൾക്ക് പ്രത്യേകാവകാശ എഫ്-ഡ്രോയ്ഡ് വിപുലീകരണം ഒഴിവാക്കണോ? - എഫ്-ഡ്രോയ്ഡിന്റെ പ്രത്യേകാവകാശ വിപുലീകരണം നിലവിൽ Android 5.1 ഓ അല്ലെങ്കിൽ പുതിയതോ പിന്തുണയ്ക്കുന്നില്ല. ഇന്റർനെറ്റ് ഇല്ലേ? നിങ്ങളുടെ അടുത്തുള്ള ആളുകളിൽ നിന്ന് പ്രയോഗങ്ങള്‍ സ്വീകരിക്കൂ! എന്റെ അരികിലുള്ള ആളുകളെ കണ്ടെത്തുക @@ -416,9 +402,6 @@ ഇരുണ്ട നിറം രാത്രി - റൂട്ട് അനുമതി ആവശ്യപ്പെടുന്നു… - റൂട്ട് അനുമതി നിഷേധിക്കപ്പെട്ടു - പ്രത്യേക അനുമതി ആവശ്യമുള്ള എഫ്-ഡ്രോയ്ഡ് വിപുലീകരണം സ്ഥാപിക്കല്‍ പരാജയപ്പെട്ടു. ഈ രീതി എല്ലാ ആന്‍ഡ്രോയ്ഡ് വിതരണങ്ങളും പിന്തുണയ്ക്കുന്നില്ല, കൂടുതൽ വിവരങ്ങൾക്ക് എഫ്-ഡ്രോയ്ഡ് ബഗ് ട്രാക്കർ പരിശോധിക്കുക. നിങ്ങളുടെ സുഹൃത്തിന് എഫ്-ഡ്രോയ്ഡ് ഉണ്ടെങ്കിൽ, നിങ്ങളുടെ രണ്ട് ഉപകരണങ്ങളിലും NFC ഒന്നിച്ചു സജ്ജമാക്കുകയാണെങ്കില്‍. വൈ-ഫൈ ഉപയോഗിച്ച് കെെമാറ്റം ചെയ്യാൻ, നിങ്ങൾ ഒരേ നെറ്റ്വർക്കിൽ ആണെന്ന് ഉറപ്പാക്കുക. നിങ്ങൾക്ക് ഒരേ നെറ്റ്വർക്കിലേക്ക് പ്രവേശനം ഇല്ലെങ്കിൽ, നിങ്ങളിൽ ഒരാള്‍ക്ക് വൈഫൈ ഹോട്ട്സ്പോട്ട് സൃഷ്ടിക്കാം. നിങ്ങൾക്ക് ഇപ്പോൾ %1$s ൽ നിന്ന് പ്രയോഗങ്ങള്‍ സ്വീകരിക്കണോ? diff --git a/app/src/main/res/values-my/strings.xml b/app/src/main/res/values-my/strings.xml index 1d71f117d..ea738d99b 100644 --- a/app/src/main/res/values-my/strings.xml +++ b/app/src/main/res/values-my/strings.xml @@ -188,12 +188,6 @@ အခ်ိန္ ေရးသားျခင္း - Root ရယူျခင္းေတာင္းဆိုေနသည္… - Root ရယူမႈျငင္းဆိုခ့ဲသည္ - သြင္းမည္ - သြင္းေနသည္ ျပီးေတာ့ ျပန္လည္ စတင္ေနသည္ - ၄င္းသည္ ၁၀ စကၠန္႔ေလာက္ၾကာသည္ - ျဖဳတ္ေနသည္ သင့္သူငယ္ခ်င္းႏွင့္တူညီေသာ ဝိုင္ဖိုင္ကိုခ်ိတ္မည္ ကြန္ရက္မရွိပါ က်ဴအာ စကန္နာကိုဖြင့္မည္ @@ -253,7 +247,6 @@ F-Droid အတွင်း သွင်းထားသည် နှင့် ဖြုတ်ထားသည့်မှတ်တမ်းတစ်ခုကို သိမ်းထားမည် အသစ်ထွက်ရှိမှုများကိုအလိုအလျောက်သွင်းမည် အနောက်လုပ်ငန်းစဉ်များတွင် အသစ်ထွက်ရှိသော အက်ပ်စ်များကို ဒေါင်းပြီး ထည့်သွင်းမည် - အိတ်ရှ်တန်းရှင်းများကို အသစ်မွမ်းမံခြင်း၊ ဖြုတ်ခြင်းများပြုလုပ်မည် ရေးတဲ့သူတွေကို %1$s တန်ကော်ဖီတစ်ခွက်တော့တိုက်သင့်ပါတယ်! ဗားရှင်း %1$s ထွက်ရှိပါသည် ဗားရှင်း %1$s diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml index 307bca5bd..18c68d90d 100644 --- a/app/src/main/res/values-nb/strings.xml +++ b/app/src/main/res/values-nb/strings.xml @@ -135,11 +135,6 @@ Vitenskap & utdanning Sikkerhet System - Etterspør root-tilgang… - Root-tilgang nektet - Enten mangler din Android-enhet superbrukertilgang, eller så har du nektet - F-droid root-tilgang. - Hvis din venn har F-Droid og NFC påslått, sammenfør enhetene. Koble til samme Wi-Fi-nett som din venn Sirkuler programvare @@ -182,11 +177,6 @@ Som følge av ukjent feil gikk installasjonen i vasken Klarte ikke å installere grunnet ukjent feil - Installer - Installerer og starter på ny… - Dette kan ta opptil 10 sekunder. - Dette kan ta opptil 10 sekunder, omstart vil igangsettes etterpå. - Avinstaller Trykk for å bytte Wi-Fi-nettverk Ikke vis dette igjen @@ -229,9 +219,6 @@ Sjekk etter oppdateringer annenhver uke Lyst - Oppdater/avinstaller priviligert tillegg - Åpne detaljvisning av priviligert tillegg for å oppdatere/avinstallere det - Mer Mindre @@ -249,21 +236,9 @@ Gratulerer! \nAlle programmene dine er av nyeste dato. - Signaturen til tillegget er feil! Send inn en feilrapport om dette - omgående! - Tillegget har ikke blitt gitt priviligert tilgang. Send en feilrapport om dette omgående! - F-Droid-rettighetsutvidelse installert - Installasjon av F-Droid som priviligert tillegg feilet - F-Droid installert som priviligert tillegg. Dette lar F-droid installere, oppgradere og avinstallere programmer på egenhånd. - Installasjon av F-droid som priviligert tillegg feilet. - Installasjonsmetoden støttes ikke av alle Android-distribusjoner, henvend deg til feilrettingsoversikten for - ytterligere informasjon. - - Ønsker du å installere F-Droid som priviligert tillegg? - Ønsker du å avinstallere F-Droid som priviligert tillegg? Trykk for å sirkulere For å sirkulere ved bruk av Wi-Fi, forsikre deg om at dere er på samme nettverk. Hvis så ikke er tilfelle, kan du sette opp ditt eget mobiltrådløsnett. @@ -342,10 +317,6 @@ Installerer… Avinstallerer… - Installasjon av priviligert tillegg for F-droid er for tiden ikke - støttet på Android 5.1 eller senere. - - Behold installasjonshistorikk Behold loggføring for alle av- og in -stalleringer i et privat lager Installer oppdateringer automatisk diff --git a/app/src/main/res/values-nl-rBE/strings.xml b/app/src/main/res/values-nl-rBE/strings.xml index 763d1914f..e7c6c6b5b 100644 --- a/app/src/main/res/values-nl-rBE/strings.xml +++ b/app/src/main/res/values-nl-rBE/strings.xml @@ -47,8 +47,6 @@ Tijd Schrijven - Installeren - Verwijderen Welkom bij F-Droid! Toont dit niet opnieuw Nieuw @@ -103,8 +101,6 @@ Toont een melding wanneer dat er updates beschikbaar zijn Systeemrechtenextensie Gebruikt de systeemrechtenextensie voor pakketten te installeren, bij te werken en verwijderen - Systeemrechtenextensie bijwerken/verwijderen - Opent detailscherm van systeemrechtenextensie voor deze bij te werken of te verwijderen Naam van collectie gedeelde apps De geadverteerden titel van uw collectie gedeelde apps: %s Gebruikt een versleutelde HTTPS://-verbinding voor gedeelde apps @@ -335,18 +331,7 @@ Kon niet installeren door een onbekende fout Kon niet verwijderen door een onbekende fout - De handtekening van de extensie klopt niet! Dient een bugmelding in! De extensie heeft geen systeemrechten gekregen! Dient een bugmelding in! - F-Droid-systeemrechtenextensie is geïnstalleerd - Installatie van F-Droid-systeemrechtenextensie is mislukt - F-Droid-systeemrechtenextensie is geïnstalleerd. F-Droid kan hiermee zelf apps installeren, bijwerken en verwijderen. - De installatie van de F-Droid-systeemrechtenextensie is mislukt. De installatiemethode wordt niet door alle Android-systemen ondersteund. Bekijkt den F-Droid-bugtracker voor meer informatie. - Installeren en opnieuw opstarten… - Wilt ge de F-Droid-systeemrechtenextensie installeren? - Dit kan tot 10 seconden duren. - Dit kan tot 10 seconden duren en het apparaat zal opnieuw opgestart worden. - Wilt ge de F-Droid-systeemrechtenextensie verwijderen? - Installatie van de F-Droid-systeemrechtenextensie wordt voor het moment niet ondersteund op Android 5.1 of hoger. Geen internet? Download dan apps van mensen in de buurt! Zoekt mensen in de buurt @@ -496,9 +481,6 @@ Donker Nacht - Roottoegang aanvragen… - Roottoegang geweigerd - Uw Android-apparaat is niet geroot, of ge hebt F-Droid geen roottoegang gegeven. Via wifi Via mobiel netwerk Deze verbinding altijd gebruiken indien beschikbaar diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 7391c5897..c10975909 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -135,9 +135,6 @@ Onderwijs & wetenschap Beveiliging Systeem - Roottoegang aanvragen… - Roottoegang geweigerd - Je Android-apparaat is niet geroot, of je hebt F-Droid geen roottoegang gegeven. Verbind met hetzelfde wifinetwerk als je vriend Wissel apps uit Nog geen netwerkverbinding @@ -167,7 +164,6 @@ Kon niet installeren door een onbekende fout Kon niet verwijderen door een onbekende fout - Verwijderen Raak aan om uit te wisselen Als je vriend F-Droid heeft geïnstalleerd en NFC is ingeschakeld, hou dan de @@ -244,8 +240,6 @@ Donker Instabiele updates Geef updates weer voor instabiele versies - Systeemrechtenextensie bijwerken/verwijderen - Open detailscherm van systeemrechtenextensie om deze bij te werken of te verwijderen Meer Minder @@ -261,22 +255,9 @@ Machtigingen Bron Adres - De handtekening van de extensie klopt niet! Maak een bugrapport - aan! - De extensie heeft geen systeemrechten gekregen! Maak een bugrapport aan! - Installeren - F-Droid-systeemrechtenextensie is geïnstalleerd - Installatie van F-Droid-systeemrechtenextensie is mislukt - F-Droid-systeemrechtenextensie is geïnstalleerd. F-Droid kan hiermee zelf apps installeren, bijwerken en verwijderen. - De installatie van de F-Droid-systeemrechtenextensie is mislukt. De installatiemethode wordt niet door alle Android-systemen ondersteund. Zie de F-Droid-bugtracker voor meer informatie. - Installeren en opnieuw opstarten… - Wil je de F-Droid-systeemrechtenextensie installeren? - Dit kan tot 10 seconden duren. - Dit kan tot 10 seconden duren en het apparaat zal opnieuw opgestart worden. - Wil je de F-Droid-systeemrechtenextensie verwijderen? Download mislukt! Nacht @@ -310,7 +291,6 @@ Updates worden automatisch gedownload in de achtergrond en er wordt een melding weergegeven om ze te installeren - Installatie van de F-Droid-systeemrechtenextensie wordt op het moment niet ondersteund op Android 5.1 of hoger. Wachten op start van download… Fout bij het installeren van %s diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 5d32c4524..10e0317f5 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -102,10 +102,6 @@ Nauka i edukacja Bezpieczeństwo System - Żądanie uprawnień roota… - Odmówiono uprawnień roota - Urządzenie nie zostało zrootowane lub odmówiono uprawnień roota F-Droidowi. - Jeśli oba urządzenia mają F-Droida i NFC, możecie je zbliżyć do siebie. Połącz się z tą samą siecią Wi-Fi Wymień aplikacje @@ -122,8 +118,6 @@ Okres pomiędzy sprawdzaniem aktualizacji Wyświetlaj powiadomienie gdy znalezione zostaną nowe aktualizacje - Aktualizuj/odinstaluj uprzywilejowany dodatek F-Droida - Pokaż szczegóły uprzywilejowanego dodatku Meil Niekompatybilne Zainstalowane @@ -176,13 +170,6 @@ Instalacja nie powiodła się przez nieznany nam problem Odinstalowywanie nie powiodło się przez nieznany nam problem - Zainstalowano uprzywilejowany dodatek - Instalacja uprzywilejowanego dodatku nie powiodła się - Zainstalowano uprzywilejowany dodatek. Pozwala to F-Droidowi automatycznie instalować, aktualizować i odinstalowywać aplikacje. - Instalacja uprzywilejowanego dodatku nie powiodła się. Metoda instalacji może nie być wspierana przez Twój system. Proszę sprawdzić listę problemów F-Droida by dowiedzieć się więcej. - Czy chcesz zainstalować uprzywilejowany dodatek? - Czy chcesz odinstalować uprzywilejowany dodatek? - Odinstaluj Dotknij by dokonać wymiany By dokonać wymiany przez Wi-Fi musisz upewnić się, że oba urządzenia są w @@ -273,14 +260,9 @@ Pobieranie nie powiodło się! - Niepoprawny podpis dodatku! Prosimy o zgłoszenie błędu! Uprzywilejowanemu dodatkowi nie zostały przyznane wymagane uprawnienia! Prosimy o zgłoszenie błędu! - Instalacja - Instalowanie i restartowanie… - Zajmuje to ok. 10 sekund. - Zajmuje to ok. 10 sekund, następnie urządzenie zostanie zrestartowane. Repozytorium Adres Więcej @@ -317,8 +299,6 @@ Oczekiwanie na pobieranie… - Instalacja uprzywilejowanego dodatku F-Droida nie jest obecnie wspierana na Androidzie 5.1 i nowszych. - 1 godzinę 1 dzień 1 tydzień diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 095f8cffa..338a47109 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -142,11 +142,6 @@ Ciência e Educação Segurança Sistema - Solicitando acesso root… - Acesso root negado - Ou o seu dispositivo Android não está \"rooteado\" ou você recusou o acesso - root para o F-Droid. - Caso seu(sua) amigo(a) tenha o F-Droid e NFC ligados, ponham os seus dispositivos juntos. @@ -159,10 +154,6 @@ Você quer obter aplicativos de %1$s agora? F-Droid - Atualizar/Desinstalar Extensão Privilegiada - Abrir tela de detalhes da extensão privilegiada para - atualizá-la/desinstalá-la - Incompatível Links @@ -186,17 +177,6 @@ Falha ao instalar devido a um erro desconhecido Falha ao desinstalar devido a um erro desconhecido - A extensão privilegiada do F-Droid foi instalada - Falha na instalação da extensão privilegiada do F-Droid - A extensão privilegiada do F-Droid foi instalada. Isso permite o F-Droid instalar, atualizar e desinstalar aplicativos por conta própria. - A instalação da extensão privilegiada do F-Droid falhou. O método de - instalação não é suportado por todas as distribuições do Android, por favor consulte o rastreador de bugs do - F-Droid para mais informações. - - Você quer instalar a extensão privilegiada do F-Droid? - Isto leva até 10 segundos e posteriormente o dispositivo será reinicializado. - Você quer desinstalar a extensão privilegiada do F-Droid? - Desinstalar Toque para permutar Para permutar usando Wi-Fi, certifique-se de que você está na mesma rede. @@ -283,15 +263,9 @@ Falha no download! - A assinatura da extensão é incorreta! Por favor, crie um relatório de - bug! - Não foram concedidas as permissões privilegiadas para a extensão! Por favor, crie um relatório de bug! - Instalar - Instalando e reinicializando… - Isto leva até 10 segundos. Mais Menos @@ -329,10 +303,6 @@ As atualizações são baixadas automaticamente e você é notificado para instalá-las Esperando para iniciar o download… - A instalação da extensão privilegiada do F-Droid atualmente não é - suportada no Android 5.1 ou posterior. - - 1 hora 1 dia 1 semana diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml index 948be240a..5cbe321f1 100644 --- a/app/src/main/res/values-pt-rPT/strings.xml +++ b/app/src/main/res/values-pt-rPT/strings.xml @@ -23,10 +23,6 @@ Utilizar a extensão privilegiada do F-Droid para instalar, atualizar e remover pacotes - Atualizar/desinstalar extensão privilegiada - Abrir ecrã de detalhes da extensão privilegiada para a - atualizar/desinstalar - Nome do seu repositório local O título anunciado do seu repositório local: %s Utilizar ligação HTTPS:// para o repositório local @@ -209,32 +205,11 @@ Parabéns!\nAs suas aplicações estão atualizadas. - A solicitar acesso \'root\'… - Acesso \'root\' recusado - O dispositivo Android não está \'rooted\' ou você recusou o acesso \'root\' - solicitado pelo F-Droid. - Falha de instalação devido a um erro desconhecido Falha ao desinstalar devido a um erro desconhecido - A assinatura da extensão é inválida. Por favor reporte este erro! - Não foram concedidas as permissões necessárias para a extensão. Por favor reporte este erro! - Instalar - Extensão privilegiada F-Droid instalada - Extensão privilegiada F-Droid não instalada - A extensão privilegiada F-Droid foi instalada. Esta extensão permite que o F-Droid instale, atualize e desinstale aplicações por si só. - A extensão privilegiada F-Droid não foi instalada. O método de - instalação não é suportado por todas as distribuições Android. Por favor consulte o \'bug tracker\' do F-Droid - para mais informações. - - A instalar e reiniciar… - Deseja instalar a extensão privilegiada F-Droid? - Demora cerca de 10 segundos. - Demora cerca de 10 segundos, após os quais o dispositivo será reiniciado. - Deseja desinstalar a extensão privilegiada F-Droid? - Desinstalar Toque para trocar Se o seu amigo(a) possui o F-Droid e o NFC ativo, juntem os vossos @@ -352,8 +327,6 @@ À espera da descarga… - Atualmente, ainda não é possível instalar F-Droid Privileged Extension em sistemas Android > 5.1. - Erro ao instalar %s Erro ao desinstalar %s diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index 799321f72..d844d0528 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -56,7 +56,6 @@ Numele depozitului local Titlu depozitului local folosit la anunțare: %s Arată o notificare atunci când există actualizări ale aplicațiilor - Actualizează/Dezinstalează extensia privilegiată Folosește o conexiune criptată HTTPS:// pentru depozitul local Cod sursă @@ -119,9 +118,6 @@ Aceasta nu este o adresă URL validă. Amprentă eronată Instalare eșuată din cauza unei erori necunoscute - Fie dispozitivul nu are acces administrator (root) fie tocmai ați refuzat cererea de permisiuni root pentru F-Droid. - Acces administrator (root) refuzat - Se cer permisiuni root… Nici o aplicatie disponibila nu se potriveste. Scris @@ -187,17 +183,13 @@ Timp O eroare necunoscută a împiedicat instalarea - Instalare și repornire dispozitiv… - Aceasta poate dura până la 10 secunde. Atinge pentru schimb Ajută-ți prietenii să se conecteze la hotspot-ul tău - Dezinstalare Conectează-te la aceeași rețea Wi-Fi ca și prietenii tăi Schimb de aplicații %1$s (hotspot-ul tau) Nici o rețea încă - Instalare Nu mai arăta asta Persoane în apropiere Schimb în apropiere @@ -442,8 +434,6 @@ Salvare detalii aplicații (%1$d/%2$d) de la %3$s Dispozitivul dumneavoastră nu este pe același Wi-Fi ca depozitul local pe care tocmai l-ați adăugat! Încearcați să vă conectați la această rețea : %s Atingeți pentru a vedea detalii și a permite celorlalți să primească aplicațiile dumneavoastră. - Semnătura acestei extensii este greșită! Te rog să creezi un bug report! - Această acțiune durează până la 10 secunde iar dispozitivul se va restarta după aceea. Dacă prietenul tău are F-Droid și NFC activat, atingeți-vă dispozitivele. Atinge pentru a vedea rețelele deschise disponibile O persoană trebuie să scaneze codul sau să introducă URL-ul celuilalt într-un browser. @@ -535,17 +525,9 @@ Vizualizare jurnal privat al tuturor instalărilor și dezinstalărilor Trimite serverului versiunea și identificatorul UUID Versiunea aplicației și un identificator aleator, unic, sunt trimise atunci când se fac descarcărcări. Setarea intră în vigoare la următoarea repornire a aplicației. - Deschideți detaliile aplicației Privileged Extension pentru a o actualiza/dezinstala Partajare depozit Nu au fost date permisiuni privilegiate extensiei! Vă rugăm să creeați un raport de eroare! - F-Droid Privileged Extension a fost instalată - Instalarea F-Droid Privileged Extension a eșuat - F-Droid Privileged Extension a fost instalată. Aceasta va permite F-Droid să instaleze, actualizeze și dezinstaleze aplicații în mod automat. - Doriți să instalați F-Droid Privileged Extension? - Doriți să dezinstalați F-Droid Privileged Extension? Conectați-vă și faceți schimb de aplicații cu persoane din apropiere. - Instalarea F-Droid Privileged Extension a eșuat. Metoda de instalare nu este suportată de toate distribuțiile de Android, vă rugăm să consultați lista de probleme F-Droid pentru mai multe informații. - Instalarea F-Droid Privileged Extension nu este momentan suportată pe Android 5.1 sau mai nou. Pentru a face schimb prin Wi-Fi, asigurați-vă ca sunteți conectați la aceeași rețea. Dacă nu aveți acces la o rețea comună, unul(a) dintre voi poate crea un punct de acces Wi-Fi. Permite depozitelor sa dez/instaleze aplicații diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index c260ef90e..7472f9232 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -132,11 +132,6 @@ Наука и образование Безопасность Системные - Запрос root доступа… - Отказано в root доступе - Либо у вашего устройства нет root доступа, либо вы отклонили запрос от - F-Droid. - Подключитесь к той же Wi-Fi сети, что и ваш друг Обмен приложениями Нет сети в данный момент @@ -183,9 +178,6 @@ Разрешения Настройки Несовместимо - Обновить/Удалить Привилегированное расширение - Открыть окно деталей Привилегированного расширения для изменения/удаления - Детали Меньше @@ -218,16 +210,9 @@ Точка доступа Темы - Подпись расширения неверна! Создайте отчет об ошибке! Расширению не был предоставлен привилегированный доступ! Создайте отчет об ошибке! - Установить - Привилегированное расширение F-Droid успешно установлено - Установка привилегированного расширения F-Droid не удалась - Установка и перезагрузка… Загрузка… - Удалить - Написать автору Это приложение включает в себя ресурсы с закрытым исходным кодом @@ -235,8 +220,6 @@ Нет совпадений среди доступных приложений. - Это займет до 10 секунд. - Это займет до 10 секунд, после чего устройство будет перезагружено. Больше не показывать Выберите приложения Сканировать QR-код @@ -269,13 +252,6 @@ Перенаправлять трафик через Tor для повышения конфиденциальности. Требуется Orbot Репозиторий: %s - Привилегированное дополнение F-Droid установлено. Это позволяет F-Droid самостоятельно устанавливать, обновлять и удалять приложения. - Установка привилегированного приложения F-Droid не удалась. - Используемый метод установки поддерживается не всеми дистрибутивами Android, за дополнительной информацией - обратитесь к системе отслеживания ошибок F-Droid. - - Вы хотите установить привилегированное расширение F-Droid? - Вы хотите удалить привилегированное расширение F-Droid? Если у вашего друга есть F-Droid и у вас обоих включен NFC, приложите устройства друг к другу. Помогите своему другу присоединиться к вашей точке доступа Нажмите для обмена @@ -309,7 +285,6 @@ Скачивать файлы обновлений в фоне и выводить уведомление для их установки - Установка привилегированного расширения F-Droid в настоящее время не поддерживается на Android 5.1 и новее. Ожидание начала загрузки… diff --git a/app/src/main/res/values-sc/strings.xml b/app/src/main/res/values-sc/strings.xml index a87c1dc3e..1ef5a9314 100644 --- a/app/src/main/res/values-sc/strings.xml +++ b/app/src/main/res/values-sc/strings.xml @@ -141,11 +141,6 @@ Iscièntzia e educatzione Seguràntzia Sistema - Pedinde s\'atzessu root… - Atzessu root dennegadu - Su dispositivu tuo non tenet sos permissos de root o non los as datu a - F-droid. - Si s\'amigu tuo tenet F-Droid e s’NFC allutos pone a cuntatu sos duos dispositivos. @@ -183,10 +178,6 @@ B\'est istada una faddina durante sa connessione a su dispositivu, impossìbile cumpartzire sas aplicatziones! Agiornamentos instàbiles Cussigia agiornamentos a versiones instàbiles - Disinstalla s’estensione cun permissos de sistema - Aberi s’ischermada de sas minujas de s’estensione \"F-Droid cun permissos de - sistema\" pro l’agiornare/disinstallare - Còdighe mitza Imprenta/arrastu isballiada Connetividade @@ -197,19 +188,6 @@ Tempus Iscritura - S’estensione F-Droid cun sos permissos de sistema est istada intallada - Installatzione de s’estensione F-Droid cun permissos de sistema faddida - - S’estensione F-Droid cun permissos de sistema est istada installada. Custu at a permìtere a F-Droid de installare, agiornare e disinstallare aplicatziones pro contu suo. - S’installatzione de s’estensione F-Droid cun permissos de sistema - est faddida. Su mètodu de installatzione no est suportadu dae totu sas versiones de Android, pro piaghere - consulta su sistema de gestione de sos errores de F-Droid pro àteras informatziones. - - Boles installare s’estensione F-Droid cun permissos de sistema? - Custu podet durare finas a 10 segundos e su dispositivu, a pustis, at a èssere torradu a allùghere. - Boles disinstallare s’estensione F-Droid cun permissos de sistema? - Disinstalla - Toca pro cumpartzire Pro cumpartzire impreende su Wi-Fi, ista atentu a istare in sa matessi retza. Si non tenies atzessu a sa matessi retza, unu de bois podet creare unu puntu de atzessu Wi-Fi. @@ -289,15 +267,9 @@ Flattr - Sa firma de s’estensione est isballiada! Pro piaghere crea una - sinnalatzione de errore! - Sos permissos de sistema non sunt istados cuntzessos a s’estensione! Pro piaghere crea una sinnalatzione de errore! - Installa - Installende e torrende a allùere… - Custu podet durare finas a 10 segundos. Depòsitu Indiritzu Iscarrighende\n%2$s dae\n%1$s @@ -337,10 +309,6 @@ Isetende pro incumintzare s\'iscarrigamentu… - S\'installatzione de s\'estensione F-Droid cun permissos de sistema no - est, pro como, suportada pro Android 5.1 o prus nou. - - 1 Ora 1 Die 1 Chida diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index 9d4fe63cc..6daa4e1e8 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -150,11 +150,6 @@ Veda a výuka Bezpečnosť Systém - Žiadame root prístup… - Root prístup zamietnutý - Buď vaše zariadenie s Androidom nemá urobený root alebo ste odmietli root - prístup pre F-Droid. - Ak má váš kamarát F-Droid a zapnuté NFC, dotknite sa zariadeniami. Pripojte sa na rovnaké Wi-fi ako kamarát Vymeniť aplikácie @@ -167,9 +162,6 @@ Nestabilné aktualizácie Navrhnúť aktualizácie na nestabilné verzie - Aktualizovať/Odinštalovať F-Droid ako systémovú aplikáciu - Otvoriť stránku podrobností Oprávného Rozšírenia pre inováciu/odinštaláciu - Zdrojový kód Nekompatibilné Linky @@ -205,13 +197,6 @@ Nenainštalované vďaka neznámej chybe Neodinštalované vďaka neznámej chybe - Privilegovaný doplnok F-Droidu bol nainštalovaný - Inštalácia Oprávneného Rozšírenia F-Droidu zlyhala - Chcete nainštalovať F-Droid ako systémovú aplikáciu? - Chcete nainštalovať privilegovaný F-Droid? -\nTrvá to do 10s a zariadenie sa následnereštartuje. - Chcete odinštalovať F-Droid ako systémovú aplikáciu? - Odinštalovať Výmena úspešná! %1$s (váš hotspot) @@ -254,12 +239,9 @@ Flattr - Podpis rozšírenia je zlý! Vytvorte prosím chybové hlásenie! Oprávnené povolenia neboli rozšíreniu udelené! Prosím vytvorte hlásenie chýb! - Inštalovať - Privilegovaný doplnok F-Droidu bol nainštalovaný. Umožňuje F-Droidu samostatne inštalovať, aktualizovať a odinštalovať aplikácie. Vyžaduje sa overenie Prihlasovacie meno Heslo @@ -282,12 +264,6 @@ Adresa Výrazu nezodpovedá žiadna dostupná aplikácia. - Inštalácia F-Droidu ako systémovej aplikácie zlyhala. Táto - inštalačná metóda nie je podporovaná všetkými distribúciami Androidu. Pre viac informácií navśívte bug tracker - F-Droidu. - - Inštalácia a reštart… - Može to trvať až 10 sekúnd. Vymeniť dotykom Pre výmenu cez wifi sa uistite, že ste v rovnakej sieti. Ak nemáte prístup do rovnakej siete, možete vytvoriť na jednom zo zariadení Wi-Fi Hotspot. @@ -339,10 +315,6 @@ Aktualizácie budú preberané automaticky a budete upozornení o možnosti inštalácie Čakanie na spustenie preberania… - Inštalácia F-Droidu ako systémovej aplikácie v súčasnosti nie je - podporovaná na Androide 5.1 a novšom. - - 1 Hodina 1 Deň 1 Týždeň diff --git a/app/src/main/res/values-sl/strings.xml b/app/src/main/res/values-sl/strings.xml index ea04b746b..06c8e4b1c 100644 --- a/app/src/main/res/values-sl/strings.xml +++ b/app/src/main/res/values-sl/strings.xml @@ -76,8 +76,6 @@ Čas Pisanje - Namesti - Odstrani Dobrodošli v F-Droid! Tega ne prikaži ponovno Novo @@ -129,8 +127,6 @@ Prenesi in namesti posodobitve v ozadju Priviligirane razširitve Uporabi F-Droid priviligirane razširitve za namestitev, posodobitev in odstranjevanje paketov - Posodobi/zbriši priviligirane razširitve - Odpri podroben prikaz priviligiranih razširitev za njihovo posodobitev/izbris Ime Vašega lokalnega repozitorija Oglaševano ime vašega lokalnega repozitorija: %s Uporabite enkriptirano HTTPS:// povezavo za Vaš lokalni repozitorij @@ -294,10 +290,6 @@ Namestitev ni uspela zaradi neznane napake Odstanitev ni uspela zaradi neznane napake - F-Droid priviligirana razširitev je nameščen - Namestitev F-Droid priviligirane razširitve ni uspela - Nameščanje in ponovni zagon sta v teku… - To lahko traja do 10 sekund. Ni interneta? Dobite aplikacije od ljudi blizu Vas! Najdite ljudi blizu mene Dotaknite se, da menjate @@ -442,6 +434,4 @@ Temna Noč - Zahtevnam root dostop … - Root dostop je zavrnjen - + diff --git a/app/src/main/res/values-sn/strings.xml b/app/src/main/res/values-sn/strings.xml index c9c3677c5..7f83c7096 100644 --- a/app/src/main/res/values-sn/strings.xml +++ b/app/src/main/res/values-sn/strings.xml @@ -22,10 +22,6 @@ Shandisa tambanudzo inechihesvuro yeF-Droid kuti uvakirire, unatse nekubvisa mapakeji - Natsa/Bvisa chivakirirwa patambanudzo ane chihesvuro - Vhura chivhitivhiti chinezvizere chetambanudzo chine chihesvuro kuti - uinatse/uibvise chivakirirwa - Zita repfimbi rakamanikwa Musoro wepfimbi yakamanikwa wakashambadzwa: %s Shandisa chihako cheHTTPS:// chakakwedekerwa kuitira pfimbi yakamanikwa @@ -261,41 +257,11 @@ Hapana maApps akatevedzera aripo. - Kukumbira hupindwa pamudzi… - Hupindwa pamudzi kwanyimwa - Muchina wako weAndroid hauna kuenda pamudzi kana kuti wanyima hupindwa - pamudzi kuF-Droid. - Tatadza kuvakirira nenhau yekanganiso isingazivikanwe Tatadza kubvisa kuvakirira nenhau yekanganiso isirikuzivikanwe - Chicherechedzo chechihesvuro ichi chatadzwa! Chikumbiro, sika dudziro - yezvipfukuto! - Mibvumo ine tambanudzo haina kupihwa kuchihesvuro! Chikumbiro, sika dudziro rezvipfukuto! - Vakirira - Budiriro pakuvakirira Tambanudzo ine chihesvuro cheF-Droid - Kuvakirira tambanudzo yechihesvuro cheF-Droid kwaramba - Tambanudzo ine chihesvuro cheF-Droid chabudirira kuvakirirwa. - Izvi zvinobvumira F-Droid kuti ivakirire, ikwidziridze ne kubvisa kuvakirira pamaApps yega. - - Kuvakirira kwetambanudzo ine chihesvuro cheF-Droid kwaramba. Mutowo - wekuvakirira hauna kutsigirwa nepanguro dzese dzeAndroid, tinokumbira kuti wofefeta chisvukudza chezvipfukuto - cheF-Droid kuti uwane mashoko mamwe. - - Kuvakirira nekutangidza kubatidza muchina… - Urikuda kuvakirira tambanudzo dzechihesvuro dzeF-Droid here? - Izvi zvichatora kusvika 10 masekondi. - Izvi zvinotora kusvika 10 masekondi nekuzotangidza kubatidza - muchina - mushure mazvo. - - Urikuda kubvisa kuvakirira tambanudzo dzechihesvuro paF-Droid here? - Bvisa kuvakirira - Kuvakirira uku kwetambanudzo dzchihesvuro hakutsigirwe parizvino - paAndroid 5.1 zvichikwira. - Kana shamwari yako yakabatidza F-Droid neNFC ita kuti michina yenyu ibatane. diff --git a/app/src/main/res/values-sq/strings.xml b/app/src/main/res/values-sq/strings.xml index a32e60c5a..124eab86d 100644 --- a/app/src/main/res/values-sq/strings.xml +++ b/app/src/main/res/values-sq/strings.xml @@ -76,10 +76,6 @@ Kohë Shkrim - Instalo - Kjo zgjat deri në 10 sekonda. - Çinstalo - Mirëserdhe në F-Droid! Mos e shfaq më këtë Njerëz afër @@ -129,8 +125,6 @@ Njoftoje kur freskimet janë të mundshme Zgjerimi i Privilegjuar Përdore F-Droid Zgjerimin e Privilegjuar për instalim, përditshmëritë, dhe hiqjen e paketave - Freskoje/Çinstaloje Zgjerimin e Privilegjuar - Hape ekranin e detajeve të Zgjerimit të Privilegjuar për përdishmërimin/uninstailimin e tij Emri i Depos Lokale Titulli i reklamuar të depos suaj lokale %s Përdore encryptimin HTTPS:// për koneksionin për depon lokala @@ -297,10 +291,6 @@ Shiko të gjithë %d - Instalimi i F-Droid Zgjatjes së Privilegjuar ka dështuar - Instalimi dhe rebooting… - A dëshironi të instaloni F-Droid Zgjerimin e Privilegjuar? - Kjo zgjat deri në 10 sekonda dhe pastaj pajisja do të restartohet. Nuk ka Internet? Merrni aplikacione nga njerëzit pranë jush! Gjeni njerëz pranë meje Të dyja palët duhet %1$s për të përdorur afër. diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml index f33465836..761a6f9bd 100644 --- a/app/src/main/res/values-sr/strings.xml +++ b/app/src/main/res/values-sr/strings.xml @@ -143,11 +143,6 @@ Наука и образовање Безбедност Систем - Захтевам корени приступ… - Корени приступ је одбијен - Или ваш Андроид уређај нема корени приступ или сте Ф-дроиду одбили корени - приступ. - Ако ваш пријатељ има Ф-дроид и укључен НФЦ, спојите ваше уређаје. Повежите се на исту бежичну мрежу на којој је ваш пријатељ Размена апликација @@ -160,8 +155,6 @@ Надоградње нестабилних Предлагање надоградњи на нестабилна издања - Надогради/уклони повлашћено проширење - Отвара појединости повлашћеног проширења ради надоградње/уклањања Изворни кôд Неодговарајуће Везе @@ -186,10 +179,6 @@ Време Писање - Ф-дроид повлашћено проширење је уграђено - Инсталација повлашћеног проширења за Ф-дроид није успела - Уклони - Тапните за размену Размена је успела! %1$s (ваша врућа тачка) @@ -222,8 +211,6 @@ Објављени назив месне ризнице: %s Инсталација није успела услед непознате грешке Уклањање није успело услед непознате грешке - Желите ли да инсталирате повлашћено проширење Ф-дроида? - Желите ли да уклоните повлашћено проширење Ф-дроида? Бар-кôд који сте очитали не изгледа као кôд размене. захтева приступ следећем Ово може да вас кошта @@ -239,7 +226,6 @@ Једна особа мора да очита кôд, или да укуца адресу друге особе у прегледачу. Тапните за пребацивање на бежичну мрежу - Ово траје десетак секунди и уређај ће након тогапоново да се покрене. Честитке!\nВаше апликације су надограђене. Људи у близини @@ -263,23 +249,14 @@ Дозволе Ризница Адреса - Потпис проширења је погрешан! Пријавите грешку! - Угради Повлашћене дозволе нису одобрене за проширење! Пријавите грешку! - Инсталирам и поново покрећем… - Ово траје десетак секунди. Ноћ Биткојн Лајткојн Флатр - Повлашћено проширење Ф-дроида је успешно уграђено. Оно омогућује Ф-дроиду да сам уграђује, надограђује и уклања програме. - Инсталација повлашћеног проширења Ф-дроида није успела. Овај начин - инсталације не подржавају све дистрибуције Андроида, посаветујте се са пратиоцем грешака Ф-дроида за више - података. - Поставке Десила се грешка приликом повезивања са уређајем, не можемо размењивати са њим! Да бисте размењивали преко бежичног морате бити на истој мрежи. Ако немате @@ -327,10 +304,6 @@ Надоградње се преузимају аутоматски и бићете обавештени пре уградње Чекам на почетак преузимања… - Инсталирање Повлашћеног проширење за Ф-дроид тренутно није подржано на - Андроиду 5.1 и новијем. - - 1 сат 1 дан 1 седмицу diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 8a46ffbc9..f4cb4996f 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -133,11 +133,6 @@ Vetenskap & utbildning Säkerhet System - Efterfrågar root-åtkomst… - Root-åtkomst nekad - Antingen är din Android-enhet inte rootad eller så har du blivit nekat - root-åtkomst för F-Droid. - Använd samma wifi som din vän Utbyta appar Inget nätverk ännu @@ -151,8 +146,6 @@ Föreslå uppdateringar till instabila versioner Inkompatibel Länkar - Uppdatera/avinstallera Privileged Extension - Öppna detaljrutan för Privileged Extension för att uppdatera/avinstallera det Källkod Mer Mindre @@ -214,19 +207,7 @@ Förråd: %s Det gick inte att avinstallera på grund av ett okänt fel - Signaturen för filändelsen är fel! Var snäll och skapa en buggrapport! De privilegierade tillstånden har inte beviljats utökningen! Skapa en felrapport! - Installera - F-Droid privilegierad utökning har installerats - Installationen av F-Droid Privileged Extension misslyckades - F-Droid Privileged Extension installerad. Detta tillåter F-Droid att installera, uppgradera och avinstallera appar på egen hand. - Installationen av F-Droid Privileged Extension har misslyckats. Installationsmetoden stöds inte av alla Android-distributioner, ta hjälp av F-Droids felbevakare för mer information. - Installerar och startar om… - Vill du installera F-Droid Privileged Extension? - Detta tar upp till 10 sekunder. - Detta tar upp till 10 sekunder och enheten kommer att startas om efteråt. - Vill du avinstallera F-Droid Privileged Extension? - Avinstallera Tryck för att utbyta Om din vän har F-Droid och NFC påslaget, lägg samman era enheter. @@ -306,7 +287,6 @@ Uppdateringar hämtas automatiskt och du får ett meddelande om att installera dem - Installation av F-Droid Privileged Extension stöds för närvarande inte i Android 5.1 eller senare. Väntar på att påbörja hämtning… diff --git a/app/src/main/res/values-te/strings.xml b/app/src/main/res/values-te/strings.xml index ef8d3dc1d..7f88d3262 100644 --- a/app/src/main/res/values-te/strings.xml +++ b/app/src/main/res/values-te/strings.xml @@ -19,7 +19,6 @@ తదుపరి భాష ఆటలు - స్థాపించు రద్దుచేయి స్థాపించు @@ -119,7 +118,6 @@ సంస్థాపన చేసి లేదు నౌకాయానం - నివర్తించు %1$s సంస్థాపన అయ్యింది మీరు జోడించిన స్థానిక రిపో మీ పరికరం అదే Wi-Fi లో లేదు! ఈ నెట్వర్క్లో చేరడానికి ప్రయత్నించండి:%s వ్యవస్థాపన విఫలమైంది @@ -249,7 +247,6 @@ సరిపోలే అనువర్తనాలు అందుబాటులో లేవు. తెలియని లోపం కారణంగా వ్యవస్థాపించడం విఫలమైంది - ఇది 10 సెకన్లు వరకు పడుతుంది. నా సమీపంలో ఉన్న వ్యక్తులను కనుగొనండి మారడానికి తాకండి మీ స్నేహితుని వలె అదే Wi-Fi లో చేరండి @@ -313,8 +310,6 @@ చీకటి రాత్రి - రూట్ ప్రాప్యతను అభ్యర్థిస్తోంది… - రూటు యాక్సెస్ నిరాకరించబడింది స్థాపన చరిత్ర అధికారిక మిర్రర్లు వాడుకరి మిర్రర్లు diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml index 4a892bd6e..8dcc4c114 100644 --- a/app/src/main/res/values-th/strings.xml +++ b/app/src/main/res/values-th/strings.xml @@ -156,10 +156,6 @@ เวลาและวันที่ การเขียน - กำลังขอใช้สิทธิ์ผู้ดูแลระบบ… - การขอสิทธิ์ผู้ดูแลระบบถูกปฏิเสธ - ติดตั้ง - ถอนการติดตั้ง แตะเพื่อแบ่งปันโปรแกรม ถ้าเพื่อนคุณติดตั้ง F-Droid ไว้และใช้ NFC, คุณสามารถแบ่งบันโปรแกรมได้ เพียงแค่นำเครื่องมาแตะกัน @@ -249,7 +245,6 @@ ใช้ส่วนขยายช่วยติดตั้งของ F-Droid เพื่อจัดการติดตั้ง, อัพเดต, และถอนการติดตั้งโปรแกรม - อัพเดต/ถอนส่วนขยายช่วยติดตั้ง ชื่อผู้ใช้ว่างเปล่า, จะไม่มีการเปลี่ยนข้อมูลรหัสผ่านใดๆ ทั้งสิ้น เพิ่มมาเมื่อ %s @@ -257,9 +252,6 @@ เพิ่มกุญแจเข้ารหัส เขียนทับ - แสดงรายละเอียดสถานะส่วนขยายช่วยติดตั้ง - และ/หรือทำการอัพเดต/ถอนการติดตั้งส่วนขยายนี้ - เลือกวิธีการส่งต่อผ่านบลูทูธ ยังไม่ได้เลือกวิธีส่งต่อทางบลูทูธ, โปรดเลือกก่อน! @@ -277,15 +269,6 @@ การติดตั้งล้มเหลวจากความผิดพลาดที่ระบุไม่ได้ การถอนการติดตั้งล้มเหลวจากความผิดพลาดที่ระบุไม่ได้ - ติดตั้งส่วนขยายช่วยติดตั้งของ F-Droid เสร็จสิ้น - การติดตั้งส่วนขยายช่วยติดตั้งของ F-Droid ล้มเหลว - กำลังติดตั้งและรีบูตเครื่อง… - ต้องการติดตั้งส่วนขยายช่วยติดตั้งของ F-Droid? - จะใช้เวลาสูงสุด 10 วินาที - ต้องการถอนส่วนขยายช่วยติดตั้งของ F-Droid? - ไม่รองรับการติดตั้งส่วนขยายช่วยติดตั้งของ F-Droid บน Android รุ่น 5.1 - หรือสูงกว่า - ยังไม่พบเครือข่าย แสดงเครือข่ายที่มีทั้งหมด @@ -311,9 +294,6 @@ %1$s (เครื่องส่งของคุณ) บอกวิธีให้เพื่อนคุณเชื่อมต่อกับเครื่องส่งของคุณ ต่อเข้าเครือข่าย WiFi เดียวกันกับเพื่อนของคุณ - ขั้นตอนนี้จะใช้เวลาอย่างมาก 10 วินาที แล้วเครื่องของคุณจะทำการ - รีสตาร์ต - ทุกโปรแกรมเป็นรุ่นใหม่สุดแล้ว ยินดีด้วย! ทุกโปรแกรมที่คุณติดตั้งอยู่เป็นรุ่นล่าสุด (หรือไม่ก็ข้อมูลรายการโปรแกรมของคุณนั้นเก่าไปแล้ว) @@ -342,13 +322,6 @@ แหล่งโปรแกรมอื่นๆ ไม่ได้มีข้อผิดพลาด อัพเดตไม่สำเร็จ, ตรวจดูอีกทีว่าคุณต่ออินเตอร์เน็ตอยู่หรือไม่ ยืนยันเพื่อรับโปรแกรมจาก %1$s - ส่วนขยายช่วยติดตั้งของ F-Droid ติดตั้งเสร็จสิ้น, ตอนนี้ F-Droid - จะสามารถติดตั้ง/อัพเกรด/ถอนการติดตั้งโปรแกรมต่างๆ ได้ด้วยตัวเองแล้ว - - การติดตั้งส่วนขยายช่วยติดตั้งของ F-Droid ล้มเหลว, - เนื่องจากวิธีติดตั้งนี้อาจจะไม่ได้รองรับใน Android ทุกรุ่น, - คุณสามารถอ่านรายละเอียดเพิ่มเติมได้ในส่วนเว็บไซต์ติดตามปัญหาของ F-Droid - เมื่อคุณต้องการแบ่งปันโปรแกรมผ่าน WiFi, คุณจะต้องอยู่ในเครือข่ายเดียวกันก่อน, แต่ถ้าคุณเข้าเครือข่ายเดียวกันไม่ได้ คนใดคนหนึ่งสามารถเปิดตัวส่งสัญญาณ WiFi ของตัวเองแทนได้เช่นกัน @@ -356,12 +329,6 @@ ส่วนขยายช่วยติดตั้งทำงาน แต่กลับไม่ได้รับสิทธิ์ในการจัดการโปรแกรมจากระบบ, หากเป็นไปได้ ช่วยรายงานปัญหานี้ไปที่ทีมพัฒนา F-Droid ด้วย - ลายเซ็นที่ประทับอยู่บนส่วนขยายช่วยติดตั้งนั้นไม่ถูกต้อง, หากเป็นไปได้ - กรุณาแจ้งปัญหานี้ไปที่ทีมพัฒนาของ F-Droid ด้วย - - เกิดข้อผิดพลาดเนื่องจากเครื่องของคุณไม่มีรูท - หรือคุณปฏิเสธการให้สิทธิ์ผู้ดูแลระบบกับ F-Droid - ไม่มีโปรแกรมที่ติดตั้งอยู่ โปรแกรมที่คุณติดตั้งอยู่ในเครื่อง ไม่มีโปรแกรมไหนเลยที่มาจาก F-Droid, diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index b4ccb5b97..981f0e422 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -145,11 +145,6 @@ Bilim ve Eğitim Güvenlik Sistem - Kök erişimi isteniyor… - Kök erişimi engellendi - Ya Android aygıtınız köklenmemiş ya da F-Droid için kök erişimini - engellediniz. - Arkadaşınızda F-Droid varsa ve NFC açıksa aygıtlarınızı birbirine dokundurun. Arkadaşınızla aynı Wi-Fi\'ye katılın @@ -219,11 +214,6 @@ Tebrikler!\nUygulamalarınız güncel. Bilinmeyen bir hata nedeniyle kurulamadı Bilinmeyen bir hata nedeniyle kaldırılamadı - Kur - Kuruluyor ve aygıt yeniden başlatılıyor… - Bu 10 saniye kadar bir sürer. - Bu 10 saniye kadar bir sürer ve ardından aygıtyeniden başlatılacak. - Kaldır Takas yapmak için dokunun Takas başarılı oldu! @@ -287,20 +277,9 @@ F-Droid çöktü Uygulamanın durmasına neden olan beklenmedik bir hata oluştu. Sorunun giderilmesine yardım etmek için ayrıntıları e-posta ile yollamak ister misiniz? Ek bilgi ve yorumları buraya ekleyebilirsiniz: - Ayrıcalıklı Uzantıyı Güncelle/Kaldır - Güncellemek/kaldırmak için Ayrıcalıklı Uzantı\'nın ayrıntılar ekranını - açın - Hotspot - Uzantının imzası yanlış! Lütfen bir hata bildirimi oluşturun! Uzantıya ayrıcalıklı izinler verilmemiştir! Lütfen bir hata bildirimi oluşturun! - F-Droid Ayrıcalıklı Uzantı kuruldu - F-Droid Ayrıcalıklı Uzantı\'nın kurulumu başarısız - F-Droid Ayrıcalıklı Uzantı kuruldu. Bu, F-Droid\'in kendi başına uygulamaları kurmasına, güncellemesine ve kaldırmasına izin verir. - F-Droid Ayrıcalıklı Uzantı\'nın kurulumu başarısız oldu. Kurulum yöntemi her Android dağıtımı tarafından desteklenmez, daha çok bilgi için lütfen F-Droid hata izleyicisine başvurun. - F-Droid Ayrıcalıklı Uzantı\'yı kurmak istiyor musunuz? - F-Droid Ayrıcalıklı Uzantı\'yı kaldırmak istiyor musunuz? Wi-Fi ile takas yapmak istiyorsanız, aynı ağda olduğunuzdan emin olun. Eğer aynı ağa erişiminiz yoksa, biriniz bir Wi-Fi Hotspot oluşturabilir. @@ -316,10 +295,6 @@ Artırılmış gizlilik için indirme trafiğinin Tor\'dan geçmesini zorunlu kıl. Orbot gerektirir İndirmeye başlamak için bekleniyor… - F-Droid Ayrıcalıklı Uzantı\'nın kurulumu şu anda Android 5.1 ve sonraki - sürümlerde desteklenmemektedir. - - %s kurulumu sırasında hata %s kaldırılması sırasında hata diff --git a/app/src/main/res/values-ug/strings.xml b/app/src/main/res/values-ug/strings.xml index 9ee9ace16..df2846309 100644 --- a/app/src/main/res/values-ug/strings.xml +++ b/app/src/main/res/values-ug/strings.xml @@ -83,8 +83,6 @@ ۋاقىت يېزىقچىلىق - ئورنىتىش - يۇيىۋېتىش ف-درويدقا خۇش كەلدىڭىز! بۇنى تەكرار كۆرسەتمە يېڭى @@ -140,7 +138,6 @@ يېڭىلانمىلارغا ئېرىشكىلى بولسا ئۇقتۇرۇش بېرىش ئالاھىدە ھوقۇقلۇق كېڭەيتمەلەر ئالاھىدە ھوقۇقلۇق كېڭەيتمەلەرنى ئىشلىتىپ بوغچىلارنى ئورنىتىش،يېڭىلاش،ۋە يۇيىۋېتىش - ئالاھىدە ھوقۇقلۇق كېڭەيتمەلەرنى يېڭىلا\\يۇيىۋەت يەرلىك ئامبىرىڭىزنىڭ ئىسمى يەرلىك ئامبىرىڭىزنىڭ سىرتقا قارىتا ئىسمى: %s يەرلىك ئامبار ئۈچۈن مەخپىيلەشتۈرۈلگەن HTTPS:// ئۇلىنىشىنى ئىشلىتىڭ diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 281189970..f89a16495 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -41,8 +41,6 @@ Показувати сповіщення коли є доступні оновлення Привілейоване розширення Використовувати привілейоване розширення для встановлення, оновлення та видалення пакетів - Оновити/Видалити привілейоване розширення F-Droid - Відкрити деталі привілейованого розширення F-Droid для його оновлення/видалення Темна Світла Перевіряти оновлення кожні 4 години @@ -141,9 +139,6 @@ Система Час На вдалося видалити через невідому помилку - Встановити - Встановлення та перезавантаження… - Видалити Приєднайтеся до того самого Wi-Fi, що і ваш друг Натисніть, аби відкрити доступні мережі @@ -167,7 +162,6 @@ Вітаємо!\nВаші застосунки оновлені. Не вдалося встановити через невідому помилку - Це забере приблизно 10 секунд. Якщо у вашого друга є F-Droid і у вас обох включений NFC, прикладіть пристрої один до одного. Мережа відсутня Бажаєте отримати застосунки з %1$s зараз? @@ -215,14 +209,6 @@ додали! Спробуйте приєднатися до цієї мережі: %s Розробка - Запит кореневого доступу… - Керований доступ відхилено - Ваш пристрій не має кореневого доступу, або ж вам відмовлено в кореневому доступі для F-Droid. - Підпис розширення неправильний! Будь ласка, створіть звіт про помилку! - Привілейоване розширення F-Droid встановлене - Встановлення привілейованої розширення F-Droid не вдалося - Бажаєте встановити привілейоване розширення F-Droid? - Бажаєте видалити привілейоване розширення F-Droid? Натисніть для обміну Обмін застосунками Обмін пройшов удало! @@ -238,8 +224,6 @@ Написання Привілейовані дозволи на розширення не надано! Будь ласка, створіть звіт про помилку! - Привілейоване розширення F-Droid встановлено. Це дозволяє F-Droid самостійно встановлювати, оновлювати та видаляти застосунки. - Це забере приблизно 10 секунд, після чого пристрій буде перезавантажено. %1$s (ваша точка доступу) Пошук людей поблизу… Ближній обмін @@ -255,7 +239,6 @@ Жодного застосунку не встановлено. \n \nНа вашому пристрої є застосунки, що не доступні в F-Droid. Це може бути тому, що вам потрібно оновити свої репозиторії, або ж репозиторії не містять доступних застосунків. - Не вдалося встановити привілейоване розширення F-Droid. Метод встановлення підтримується не усіма дистрибутивами Android, для отримання додаткової інформації, будь ласка, проконсультуйтеся з F-Droid bug tracker. Для обміну через Wi-Fi, переконайтеся, що ви знаходитесь в одній й тій самій мережі. Якщо ж ви не маєте доступу до тієї ж мережі, єдине що лишається, це створити власну Wi-Fi точку доступу. @@ -317,10 +300,6 @@ 1 рік Завжди - На поточний момент встановлення привілейованого розширення F-Droid не - підтримується системами Android 5.1 чи старше. - - Помилка встановлення %s Помилка видалення %s diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index cf328dbf5..1fb2c9081 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -129,10 +129,6 @@ Khoa học & giáo dục Bảo mật Hệ thống - Đang yêu cầu quyền root… - Bị từ chối quyền root - Thiết bị của bạn chưa được root hoặc bạn đã từ chối quyền root của F-Droid. - Nếu bạn của bạn có F-Droid và đã bật NFC, hãy chạm hai thiết bị vào nhau. Vào cùng một mạng Wi-Fi với bạn của bạn @@ -146,8 +142,6 @@ Cập nhật bản không ổn định Thông báo cập nhật đối với các phiên bản chưa hoàn thiện - Cập nhật / Gỡ bỏ phần mở rộng F-Droid được cấp quyền - Mở phần thông tin về phần mở rộng được cấp quyền để gỡ bỏ nó Liên kết Quay lại @@ -195,17 +189,6 @@ Không thể cài đặt do có lỗi xảy ra Không thể xoá ứng dụng do có lỗi xảy ra - Cài đặt phần mở rộng F-Droid được cấp quyền thành công - Cài đặt phần mở rộng F-Droid được cấp quyền thất bại - Phần mở rộng F-Droid được cấp quyền đã được cài đặt thành công. Nó cho phép F-Droid tự cài đặt, cập nhật và gỡ bỏ ứng dụng. - Cài đặt phần mở rộng F-Droid được cấp quyền đã thất bại. Cách cài - đặt này không được tất cả các bản Android hỗ trợ, hãy truy cập trình theo dõi lỗi của F-Droid để biết thêm thông - tin. - - Bạn có muốn cài đặt phần mở rộng F-Droid được cấp quyền không? - Việc cài đặt mất tối đa 10 giây, sau đó máy sẽkhởi động lại. - Bạn có muốn gỡ bỏ phần mở rộng F-Droid được cấp quyền không? - Gỡ bỏ Chạm để trao đổi Để trao đổi ứng dụng qua Wi-Fi, cả hai người phải ở trong cùng một mạng. Nếu @@ -282,14 +265,8 @@ Phần mở rộng chưa được cấp quyền nâng cao! Hãy thông báo lỗi này cho chúng tôi! - Cài đặt - Đang cài đặt và khởi động lại… - Việc này mất tối đa 10 giây. Đen Tuỳ chọn - Mã kiểm tra của phần mở rộng sai. Xin hãy báo lại lỗi này cho nhóm - phát triển! - Mã kiểm tra (không bắt buộc) Mã kiểm tra sai Yêu cầu xác thực @@ -414,8 +391,6 @@ Không tìm thấy ứng dụng tương ứng. - Phần mở rộng F-Droid được cấp quyền không hỗ trợ Android từ 5.1 trở lên. - Không có mạng? Hãy cài đặt ứng dụng từ những thiết bị xung quanh bạn! Tìm những người xung quanh Cả hai bên cần có ứng dụng %1$s để sử dụng tính năng Xung quanh. diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index c361cee7f..31ae9260b 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -110,16 +110,12 @@ 科学与教育 安全 系统 - 正在请求 root 权限… - root 权限请求被拒绝 欢迎使用F-Droid! F-Droid 不稳定更新 建议更新至不稳定的版本 使用特权扩展安装、更新和卸载应用 - 更新或卸载特权扩展 - 打开详情以更新或卸载特权扩展 本地软件源的名称 本地软件源的对外名称:%s 本地软件源使用加密的HTTPS://连接 @@ -190,22 +186,9 @@ \n在您的设备上有这些应用程序,但无法从 F-Droid 获取它们。这可能是因为需要更新你的软件库,或者在库里真的没有这些应用程序。 好棒!您的应用是最新的啦。 - 您未取得设备的 root 权限,或者您拒绝了 F-Droid 的 root 请求。 由于未知原因导致安装失败 由于未知原因导致卸载失败 - 该扩展的签名不正确!请回报BUG! 该扩展没有获得超级权限!请报BUG! - 安装 - F-Droid 特权扩展已安装 - 安装 F-Droid 特权扩展失败 - F-Droid 特权扩展已安装。通过该扩展,F-Droid 可自动安装,升级和卸载应用。 - F-Droid 特权扩展的安装失败。不是所有版本的 Android 都支持该安装方式,请咨询 F-Droid 的 bug 跟踪系统以获取更多信息。 - 安装并重启中… - 你确定要安装 F-Droid 的特权扩展吗? - 这最多需要10秒。 - 该步骤最多需 10 秒钟,之后设备将重启 - 确定要卸载 F-Droid 特权扩展? - 卸载 点击开始交换 如果您朋友的设备上有 F-Droid ,开启 NFC 把你们的设备互相贴近。 @@ -293,8 +276,6 @@ 自动下载更新并显示安装通知 正在等待开始下载… - F-Droid 特权扩展目前不支持安装在 Android 5.1 或更高版本上。 - 1小时 1天 1周 diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index 0e29599d5..674fab354 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -107,8 +107,6 @@ 科學與教育 安全與保安 系統 - 正在要求 root 權限… - Root 權限被拒絕 交換應用程式 沒有網絡連線 開啟 QR 碼掃描器 @@ -148,7 +146,6 @@ 不明的錯誤導致安裝失敗 不明的錯誤導致卸載失敗 - 卸載 觸碰來交換 若您的朋友有 F-Droid,並開啟了 NFC 功能,請觸碰您們的裝置。 @@ -229,8 +226,6 @@ 存取權 軟件庫 網址 - 更新或卸載系統權限套件 - 開啟系統權限套件的詳情以更新或卸載套件 用戶名 密碼 更改密碼 @@ -244,15 +239,6 @@ 正在連接 APK 檔至軟件庫… 正在從 %1$s 處理 %2$s / %3$s(%4$d%%) 此軟件庫還未啟用。您需要啟用倉庫才可以檢視其中的應用程式。 - 安裝 - 已安裝 F-Droid 系統權限套件 - F-Droid 系統權限套件安裝失敗 - 已安裝 F-Droid 系統權限套件,F-Droid 現在可以自行安裝、更新及卸載應用程式。 - 正在安裝和重新啟動… - 您要安裝 F-Droid 系統權限套件嗎? - 安裝過程只需最多 10 秒鐘。 - 安裝過程最多只需 10 秒鐘,而裝置將會在安裝後重新啟動 - 您想卸載 F-Droid 系統權限套件嗎? 與您的朋友加入同一個 Wi-Fi 網絡 若要透過 Wi-Fi 進行交換,請確保雙方已加入同一個網絡。如果您不能加入同一個網絡,您可以建立一個 Wi-Fi 熱點。 協助您的朋友加入您的熱點 @@ -266,8 +252,6 @@ \n \nF-Droid 並不提供您裝置上的應用程式。您可以嘗試更新您的軟件庫,但若更新後此頁還沒有顯示任何應用程式,您的倉庫的確不提供裝置現有的程式。 - 您的 Android 裝置還未取得 root 權限,或 F-Droid 已被拒 root 權限。 - 套件的簽署不正確!請提交一份錯誤報告! 套件尚未得到系統權限! 請提交一份錯誤報告! @@ -277,9 +261,6 @@ 需要驗證 此應用程式含有非自由的資源 - F-Droid 系統權限套件安裝失敗。此安裝方式並不支援所有的 Android 版本,請參見 F-Droid 的 bug tracker - 以取得更多資訊。 - 您是否要更新此應用程式?您不會失去現有的數據,也不需要提供任何存取權。 你確定要原始版本取代此應用程式嗎? 因發生了未預料到的錯誤,應用程式已停止運作。您願意透過電郵提供更多有關此問題的資料嗎? @@ -294,8 +275,6 @@ F-Droid 將會自動下載更新,下載完畢後會通知您安裝有關更新 軟件庫:%s - F-Droid 系統權限套件現不支援 Android 5.1 或更新的版本。 - 正等待下載開始… 安裝 %s 時發生錯誤 卸載 %s 時發生錯誤 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 3f61f7f28..ffaec1254 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -131,9 +131,6 @@ 運動與健康 系統 時間 - 安裝 - 正在安裝和重新啟動… - 解除安裝 開啟 QR 碼掃描器 歡迎使用 F-Droid! @@ -198,7 +195,6 @@ 正在儲存應用程式的詳細資料 未簽署 網址 - Root 權限被拒絕 不明的錯誤導致安裝失敗 幫助您的朋友加入您的熱點 交換應用程式 @@ -220,8 +216,6 @@ 下載失敗! 使用特權擴充套件安裝、更新和移除應用程式 - 更新或解除安裝特權擴充套件 - 開啟特權擴充套件的詳細資料來更新或解除安裝 使用者名稱空白,憑證未更改 %1$s 已安裝,請確認您要重新啟用它。 @@ -258,23 +252,12 @@ 沒有相符合的應用程式可用。 正在 %1$s 查看封裝的軟體庫 您的裝置與剛新增的本地軟體庫不在同一個 Wi-Fi 網路上!請試著加入此網路:%s - 正在要求 root 權限… 未安裝應用程式。 \n \n在您的裝置上有應用程式,但 F-Droid 並無您裝置上可用的應用程式。這可能是因為您需要更新您的軟體庫,或是軟體庫真的沒有您可用的應用程式。 - 或許您的 Android 裝置還未取得 root 又或您已拒絕 F-Droid 存取 root。 - 該擴充簽署錯誤!請建立一份錯誤報告! - 擴充未被授予特權權限!請建立一份錯誤報告! - F-Droid 特權擴充已安裝 - 安裝的 F-Droid 特權擴充失敗 - 您想要安裝 F-Droid 特權擴充嗎? - 您想要解除安裝 F-Droid 特權擴充嗎? - 目前 FDroid 還不支援在 Android5.1 或更高的版本安裝特權擴充。 - 這需要 10 秒以上的時間。 - 這需要 10 秒以上的時間而且該裝置將在之後重新開機 如果您的朋友有 F-Droid 並且已開啟NFC,那把你們的裝置相互貼近。 將您朋友加入相同的 Wi-Fi 尚沒有網路 @@ -289,10 +272,6 @@ 經由 Wi-Fi 可看見 經由 Wi-Fi 不可看見 正在連線 - F-Droid 特權擴充已安裝。這允許 F-Droid 自行安裝、更新以及解除安裝應用程式。 - F-Droid 特權擴充安裝失敗。此安裝方式並不支援所有發行的 Android 版本,請查閱 F-Droid 的 bug - 追蹤以取得詳細資訊。 - 永遠 一小時 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a39e8637d..0ebf4b3b8 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -56,8 +56,6 @@ Show a notification when updates are available Privileged Extension Use Privileged Extension to install, update, and remove packages - Update/Uninstall Privileged Extension - Open details screen of Privileged Extension to update/uninstall it Name of your Local Repo The advertised title of your local repo: %s Use encrypted HTTPS:// connection for local repo @@ -395,40 +393,11 @@ This often occurs with apps installed via Google Play or other sources, if they No matching applications available. - Requesting root access… - Root access denied - Either your Android device is not rooted or you have denied root access for - F-Droid. - Failed to install due to an unknown error Failed to uninstall due to an unknown error - The signature of the extension is wrong! Please create a bug - report! - The privileged permissions have not been granted to the extension! Please create a bug report! - Install - F-Droid Privileged Extension installed - Installation of F-Droid Privileged Extension failed - F-Droid Privileged Extension installed. - This allows F-Droid to install, update and uninstall apps on its own. - - The installation of F-Droid Privileged Extension has failed. The - installation method is not supported by all Android distributions, please consult the F-Droid bug tracker for - more information. - - Installing and rebooting… - Do you want to install F-Droid Privileged Extension? - This takes up to 10 seconds. - This takes up to 10 seconds and the device will be <b>rebooted</b> - afterwards. - - Do you want to uninstall F-Droid Privileged Extension? - Uninstall - Installation of F-Droid Privileged Extension is currently not supported - on Android 5.1 or later. - No Internet? Get apps from people near you! Find people near me From 81b32120e9ca5fd90f09bd161e8e3111047291a9 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Wed, 8 Aug 2018 12:53:29 +0200 Subject: [PATCH 13/28] fix UnusedResources errors left over from basic/full flavor split --- app/lint.xml | 1 + .../{main => full}/res/drawable-hdpi/nfc_touch.png | Bin .../res/drawable-hdpi/swap_start_header.png | Bin app/src/{main => full}/res/drawable-hdpi/wifi.png | Bin .../{main => full}/res/drawable-ldpi/nfc_touch.png | Bin .../res/drawable-ldpi/swap_start_header.png | Bin app/src/{main => full}/res/drawable-ldpi/wifi.png | Bin .../{main => full}/res/drawable-mdpi/nfc_touch.png | Bin .../res/drawable-mdpi/swap_start_header.png | Bin app/src/{main => full}/res/drawable-mdpi/wifi.png | Bin .../{main => full}/res/drawable-xhdpi/nfc_touch.png | Bin .../res/drawable-xhdpi/swap_start_header.png | Bin app/src/{main => full}/res/drawable-xhdpi/wifi.png | Bin .../res/drawable-xxhdpi/swap_start_header.png | Bin .../res/drawable-xxxhdpi/swap_start_header.png | Bin .../res/layout-sw480dp/start_swap_header.xml | 0 .../{main => full}/res/layout/start_swap_header.xml | 0 17 files changed, 1 insertion(+) rename app/src/{main => full}/res/drawable-hdpi/nfc_touch.png (100%) rename app/src/{main => full}/res/drawable-hdpi/swap_start_header.png (100%) rename app/src/{main => full}/res/drawable-hdpi/wifi.png (100%) rename app/src/{main => full}/res/drawable-ldpi/nfc_touch.png (100%) rename app/src/{main => full}/res/drawable-ldpi/swap_start_header.png (100%) rename app/src/{main => full}/res/drawable-ldpi/wifi.png (100%) rename app/src/{main => full}/res/drawable-mdpi/nfc_touch.png (100%) rename app/src/{main => full}/res/drawable-mdpi/swap_start_header.png (100%) rename app/src/{main => full}/res/drawable-mdpi/wifi.png (100%) rename app/src/{main => full}/res/drawable-xhdpi/nfc_touch.png (100%) rename app/src/{main => full}/res/drawable-xhdpi/swap_start_header.png (100%) rename app/src/{main => full}/res/drawable-xhdpi/wifi.png (100%) rename app/src/{main => full}/res/drawable-xxhdpi/swap_start_header.png (100%) rename app/src/{main => full}/res/drawable-xxxhdpi/swap_start_header.png (100%) rename app/src/{main => full}/res/layout-sw480dp/start_swap_header.xml (100%) rename app/src/{main => full}/res/layout/start_swap_header.xml (100%) diff --git a/app/lint.xml b/app/lint.xml index d3783df47..e93e67d8e 100644 --- a/app/lint.xml +++ b/app/lint.xml @@ -15,6 +15,7 @@ + diff --git a/app/src/main/res/drawable-hdpi/nfc_touch.png b/app/src/full/res/drawable-hdpi/nfc_touch.png similarity index 100% rename from app/src/main/res/drawable-hdpi/nfc_touch.png rename to app/src/full/res/drawable-hdpi/nfc_touch.png diff --git a/app/src/main/res/drawable-hdpi/swap_start_header.png b/app/src/full/res/drawable-hdpi/swap_start_header.png similarity index 100% rename from app/src/main/res/drawable-hdpi/swap_start_header.png rename to app/src/full/res/drawable-hdpi/swap_start_header.png diff --git a/app/src/main/res/drawable-hdpi/wifi.png b/app/src/full/res/drawable-hdpi/wifi.png similarity index 100% rename from app/src/main/res/drawable-hdpi/wifi.png rename to app/src/full/res/drawable-hdpi/wifi.png diff --git a/app/src/main/res/drawable-ldpi/nfc_touch.png b/app/src/full/res/drawable-ldpi/nfc_touch.png similarity index 100% rename from app/src/main/res/drawable-ldpi/nfc_touch.png rename to app/src/full/res/drawable-ldpi/nfc_touch.png diff --git a/app/src/main/res/drawable-ldpi/swap_start_header.png b/app/src/full/res/drawable-ldpi/swap_start_header.png similarity index 100% rename from app/src/main/res/drawable-ldpi/swap_start_header.png rename to app/src/full/res/drawable-ldpi/swap_start_header.png diff --git a/app/src/main/res/drawable-ldpi/wifi.png b/app/src/full/res/drawable-ldpi/wifi.png similarity index 100% rename from app/src/main/res/drawable-ldpi/wifi.png rename to app/src/full/res/drawable-ldpi/wifi.png diff --git a/app/src/main/res/drawable-mdpi/nfc_touch.png b/app/src/full/res/drawable-mdpi/nfc_touch.png similarity index 100% rename from app/src/main/res/drawable-mdpi/nfc_touch.png rename to app/src/full/res/drawable-mdpi/nfc_touch.png diff --git a/app/src/main/res/drawable-mdpi/swap_start_header.png b/app/src/full/res/drawable-mdpi/swap_start_header.png similarity index 100% rename from app/src/main/res/drawable-mdpi/swap_start_header.png rename to app/src/full/res/drawable-mdpi/swap_start_header.png diff --git a/app/src/main/res/drawable-mdpi/wifi.png b/app/src/full/res/drawable-mdpi/wifi.png similarity index 100% rename from app/src/main/res/drawable-mdpi/wifi.png rename to app/src/full/res/drawable-mdpi/wifi.png diff --git a/app/src/main/res/drawable-xhdpi/nfc_touch.png b/app/src/full/res/drawable-xhdpi/nfc_touch.png similarity index 100% rename from app/src/main/res/drawable-xhdpi/nfc_touch.png rename to app/src/full/res/drawable-xhdpi/nfc_touch.png diff --git a/app/src/main/res/drawable-xhdpi/swap_start_header.png b/app/src/full/res/drawable-xhdpi/swap_start_header.png similarity index 100% rename from app/src/main/res/drawable-xhdpi/swap_start_header.png rename to app/src/full/res/drawable-xhdpi/swap_start_header.png diff --git a/app/src/main/res/drawable-xhdpi/wifi.png b/app/src/full/res/drawable-xhdpi/wifi.png similarity index 100% rename from app/src/main/res/drawable-xhdpi/wifi.png rename to app/src/full/res/drawable-xhdpi/wifi.png diff --git a/app/src/main/res/drawable-xxhdpi/swap_start_header.png b/app/src/full/res/drawable-xxhdpi/swap_start_header.png similarity index 100% rename from app/src/main/res/drawable-xxhdpi/swap_start_header.png rename to app/src/full/res/drawable-xxhdpi/swap_start_header.png diff --git a/app/src/main/res/drawable-xxxhdpi/swap_start_header.png b/app/src/full/res/drawable-xxxhdpi/swap_start_header.png similarity index 100% rename from app/src/main/res/drawable-xxxhdpi/swap_start_header.png rename to app/src/full/res/drawable-xxxhdpi/swap_start_header.png diff --git a/app/src/main/res/layout-sw480dp/start_swap_header.xml b/app/src/full/res/layout-sw480dp/start_swap_header.xml similarity index 100% rename from app/src/main/res/layout-sw480dp/start_swap_header.xml rename to app/src/full/res/layout-sw480dp/start_swap_header.xml diff --git a/app/src/main/res/layout/start_swap_header.xml b/app/src/full/res/layout/start_swap_header.xml similarity index 100% rename from app/src/main/res/layout/start_swap_header.xml rename to app/src/full/res/layout/start_swap_header.xml From e75a1a7005d54c92075d28d418b95ffbc755db05 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 9 Aug 2018 14:22:15 +0200 Subject: [PATCH 14/28] remove test runner that was needed by Jenkins and Eclipse Even the project's README says it is no longer needed: https://github.com/jsankey/android-junit-report --- app/src/androidTest/AndroidManifest.xml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/app/src/androidTest/AndroidManifest.xml b/app/src/androidTest/AndroidManifest.xml index 747886971..bf0cb30d6 100644 --- a/app/src/androidTest/AndroidManifest.xml +++ b/app/src/androidTest/AndroidManifest.xml @@ -12,12 +12,4 @@ - - From 0e6e839ed7017cd5541aa3a43c1e47ac7e58a252 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 10 Aug 2018 10:48:29 +0200 Subject: [PATCH 15/28] fix lint "WifiManager Potential Leak" --- .../fdroid/localrepo/peers/BonjourFinder.java | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/app/src/full/java/org/fdroid/fdroid/localrepo/peers/BonjourFinder.java b/app/src/full/java/org/fdroid/fdroid/localrepo/peers/BonjourFinder.java index d01c25696..e1354019a 100644 --- a/app/src/full/java/org/fdroid/fdroid/localrepo/peers/BonjourFinder.java +++ b/app/src/full/java/org/fdroid/fdroid/localrepo/peers/BonjourFinder.java @@ -2,22 +2,19 @@ package org.fdroid.fdroid.localrepo.peers; import android.content.Context; import android.net.wifi.WifiManager; - import org.fdroid.fdroid.FDroidApp; import org.fdroid.fdroid.Utils; - -import java.io.IOException; -import java.net.InetAddress; +import rx.Observable; +import rx.Subscriber; +import rx.functions.Action0; +import rx.subscriptions.Subscriptions; import javax.jmdns.JmDNS; import javax.jmdns.ServiceEvent; import javax.jmdns.ServiceInfo; import javax.jmdns.ServiceListener; - -import rx.Observable; -import rx.Subscriber; -import rx.functions.Action0; -import rx.subscriptions.Subscriptions; +import java.io.IOException; +import java.net.InetAddress; @SuppressWarnings("LineLength") final class BonjourFinder extends PeerFinder implements ServiceListener { @@ -58,7 +55,7 @@ final class BonjourFinder extends PeerFinder implements ServiceListener { Utils.debugLog(TAG, "Requested Bonjour (mDNS) scan for peers."); if (wifiManager == null) { - wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); + wifiManager = (WifiManager) context.getApplicationContext().getSystemService(Context.WIFI_SERVICE); multicastLock = wifiManager.createMulticastLock(context.getPackageName()); multicastLock.setReferenceCounted(false); } From 4a684182ca6d43a44245372d137c9bd7f55e48b6 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 10 Aug 2018 10:56:13 +0200 Subject: [PATCH 16/28] enable lint "GetInstance" security check as error --- app/lint.xml | 1 + .../zipsigner/optional/PasswordObfuscator.java | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/app/lint.xml b/app/lint.xml index e93e67d8e..382ff38f8 100644 --- a/app/lint.xml +++ b/app/lint.xml @@ -23,6 +23,7 @@ + diff --git a/app/src/full/java/kellinwood/security/zipsigner/optional/PasswordObfuscator.java b/app/src/full/java/kellinwood/security/zipsigner/optional/PasswordObfuscator.java index 352c0b30d..34c0b2f5b 100644 --- a/app/src/full/java/kellinwood/security/zipsigner/optional/PasswordObfuscator.java +++ b/app/src/full/java/kellinwood/security/zipsigner/optional/PasswordObfuscator.java @@ -65,6 +65,13 @@ public class PasswordObfuscator { return result; } + /** + * This uses the AES-ECB cipher which is known to be insecure + * + * @see The ECB Penguin + */ + @Deprecated + @SuppressWarnings("GetInstance") public String encode(String junk, char[] password) { if (password == null) return null; try { @@ -84,6 +91,13 @@ public class PasswordObfuscator { return null; } + /** + * This uses the AES-ECB cipher which is known to be insecure + * + * @see The ECB Penguin + */ + @Deprecated + @SuppressWarnings("GetInstance") public char[] decode(String junk, String password) { if (password == null) return null; try { From 896d4a788fd805967b6917db2d8dd21dbebd74ca Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 10 Aug 2018 11:10:21 +0200 Subject: [PATCH 17/28] enable lint PackageManagerGetSignatures as error --- app/lint.xml | 1 + .../org/fdroid/fdroid/data/InstalledAppProviderService.java | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/app/lint.xml b/app/lint.xml index 382ff38f8..1cc9091e5 100644 --- a/app/lint.xml +++ b/app/lint.xml @@ -24,6 +24,7 @@ + diff --git a/app/src/main/java/org/fdroid/fdroid/data/InstalledAppProviderService.java b/app/src/main/java/org/fdroid/fdroid/data/InstalledAppProviderService.java index 2afc56f75..9915bf9e1 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/InstalledAppProviderService.java +++ b/app/src/main/java/org/fdroid/fdroid/data/InstalledAppProviderService.java @@ -273,7 +273,13 @@ public class InstalledAppProviderService extends JobIntentService { *

* Can still return null, as there is potentially race conditions to do with uninstalling apps * such that querying the {@link PackageManager} for a given package may throw an exception. + *

+ * The {@code PackageManagerGetSignatures} lint check is not relevant here since this is doing + * nothing related to verifying the signature. The APK signatures are just processed to + * produce the unique ID of the signer to determine compatibility. This {@code Service} does + * nothing related to checking valid APK signatures. */ + @SuppressWarnings("PackageManagerGetSignatures") @Nullable private PackageInfo getPackageInfo(Intent intent, String packageName) { PackageInfo packageInfo = intent.getParcelableExtra(EXTRA_PACKAGE_INFO); From 897a35aa764a1356c9e945b00487511b2ff2425c Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 10 Aug 2018 11:17:57 +0200 Subject: [PATCH 18/28] enable lint TrustAllX509TrustManager as error --- app/lint.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/app/lint.xml b/app/lint.xml index 1cc9091e5..ae108e437 100644 --- a/app/lint.xml +++ b/app/lint.xml @@ -25,6 +25,13 @@ + + + + + + + From 2f038d81e0deb614cd269bbf0a4cdafaab06fb70 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 10 Aug 2018 11:23:20 +0200 Subject: [PATCH 19/28] error on NewApi/InlinedApi to catch compat issues with old devices --- app/lint.xml | 2 + .../views/AppSecurityPermissions.java | 47 ++++++++++--------- 2 files changed, 26 insertions(+), 23 deletions(-) diff --git a/app/lint.xml b/app/lint.xml index ae108e437..5ce172832 100644 --- a/app/lint.xml +++ b/app/lint.xml @@ -9,6 +9,8 @@ + + diff --git a/app/src/main/java/org/fdroid/fdroid/privileged/views/AppSecurityPermissions.java b/app/src/main/java/org/fdroid/fdroid/privileged/views/AppSecurityPermissions.java index ebfb20298..fc815ab08 100644 --- a/app/src/main/java/org/fdroid/fdroid/privileged/views/AppSecurityPermissions.java +++ b/app/src/main/java/org/fdroid/fdroid/privileged/views/AppSecurityPermissions.java @@ -1,20 +1,20 @@ /* -** -** Copyright 2007, The Android Open Source Project -** Copyright 2015 Daniel Martí -** -** Licensed under the Apache License, Version 2.0 (the "License"); -** you may not use this file except in compliance with the License. -** You may obtain a copy of the License at -** -** http://www.apache.org/licenses/LICENSE-2.0 -** -** Unless required by applicable law or agreed to in writing, software -** distributed under the License is distributed on an "AS IS" BASIS, -** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -** See the License for the specific language governing permissions and -** limitations under the License. -*/ + ** + ** Copyright 2007, The Android Open Source Project + ** Copyright 2015 Daniel Martí + ** + ** Licensed under the Apache License, Version 2.0 (the "License"); + ** you may not use this file except in compliance with the License. + ** You may obtain a copy of the License at + ** + ** http://www.apache.org/licenses/LICENSE-2.0 + ** + ** Unless required by applicable law or agreed to in writing, software + ** distributed under the License is distributed on an "AS IS" BASIS, + ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ** See the License for the specific language governing permissions and + ** limitations under the License. + */ package org.fdroid.fdroid.privileged.views; @@ -65,17 +65,17 @@ import java.util.Set; * extended information consisting of all groups and permissions. * To use this view define a LinearLayout or any ViewGroup and add this * view by instantiating AppSecurityPermissions and invoking getPermissionsView. - *

+ *

* NOTES: - * Based on AOSP core/java/android/widget/AppSecurityPermissions.java - * latest included commit: a3f68ef2f6811cf72f1282214c0883db5a30901d - * Reviewed against frameworks/base/core/java/android/widget/AppSecurityPermissions.java + * Based on AOSP {@code core/java/android/widget/AppSecurityPermissions.java}, + * latest included commit: a3f68ef2f6811cf72f1282214c0883db5a30901d, + * Reviewed against {@code frameworks/base/core/java/android/widget/AppSecurityPermissions.java}, * from commit {@code android-8.1.0_r2} - *

+ *

* To update this file, Start from latest included commit and include changes * until the newest commit with care: - * github.com/android/platform_frameworks_base/blob/master/core/java/android/widget/AppSecurityPermissions.java - *

+ * android/widget/AppSecurityPermissions.java + *

* This file has a different code style than the rest of fdroidclient because * it is kept in sync with the file from AOSP. Please maintain the original * AOSP code style so it is easy to track changes. @@ -426,6 +426,7 @@ public class AppSecurityPermissions { return permView; } + @TargetApi(23) private boolean isDisplayablePermission(PermissionInfo pInfo, int existingReqFlags) { final int base = pInfo.protectionLevel & PermissionInfo.PROTECTION_MASK_BASE; final boolean isNormal = base == PermissionInfo.PROTECTION_NORMAL; From fd7acd6304fd139b23678bcdd54e974e109e6028 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Tue, 14 Aug 2018 12:52:06 +0200 Subject: [PATCH 20/28] disable all animations in emulator for Espresso tests * https://gist.github.com/xrigau/11284124 * https://gist.github.com/xrigau/ea8d306e0a751fafb1e6 * https://artemzin.com/blog/easiest-way-to-give-set_animation_scale-permission-for-your-ui-tests-on-android/ * https://github.com/finn-no/android_emulator_hacks * https://gist.github.com/caipivara/9371a79a7222a156ddad --- app/build.gradle | 1 + app/lint.xml | 1 + app/src/androidTest/AndroidManifest.xml | 2 + .../fdroid/MainActivityEspressoTest.java | 27 +++++++- .../org/fdroid/fdroid/SystemAnimations.java | 62 +++++++++++++++++++ app/src/debug/AndroidManifest.xml | 7 +++ 6 files changed, 98 insertions(+), 2 deletions(-) create mode 100644 app/src/androidTest/java/org/fdroid/fdroid/SystemAnimations.java create mode 100644 app/src/debug/AndroidManifest.xml diff --git a/app/build.gradle b/app/build.gradle index 13f90b4b8..1e9133f80 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -177,6 +177,7 @@ dependencies { androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'com.android.support.test:rules:1.0.2' + androidTestImplementation 'com.android.support.test.uiautomator:uiautomator-v18:2.1.3' } checkstyle { diff --git a/app/lint.xml b/app/lint.xml index 5ce172832..f38e22391 100644 --- a/app/lint.xml +++ b/app/lint.xml @@ -50,6 +50,7 @@ + diff --git a/app/src/androidTest/AndroidManifest.xml b/app/src/androidTest/AndroidManifest.xml index bf0cb30d6..6527ef9ae 100644 --- a/app/src/androidTest/AndroidManifest.xml +++ b/app/src/androidTest/AndroidManifest.xml @@ -1,9 +1,11 @@ + diff --git a/app/src/androidTest/java/org/fdroid/fdroid/MainActivityEspressoTest.java b/app/src/androidTest/java/org/fdroid/fdroid/MainActivityEspressoTest.java index 53e12895f..44034d45d 100644 --- a/app/src/androidTest/java/org/fdroid/fdroid/MainActivityEspressoTest.java +++ b/app/src/androidTest/java/org/fdroid/fdroid/MainActivityEspressoTest.java @@ -1,19 +1,25 @@ package org.fdroid.fdroid; +import android.app.Instrumentation; +import android.support.test.InstrumentationRegistry; import android.support.test.espresso.IdlingPolicies; import android.support.test.espresso.ViewInteraction; import android.support.test.filters.LargeTest; import android.support.test.rule.ActivityTestRule; import android.support.test.runner.AndroidJUnit4; +import android.support.test.uiautomator.UiDevice; import android.util.Log; import android.view.View; import org.fdroid.fdroid.views.BannerUpdatingRepos; import org.fdroid.fdroid.views.main.MainActivity; import org.hamcrest.Matchers; +import org.junit.AfterClass; +import org.junit.BeforeClass; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; +import java.io.IOException; import java.util.concurrent.TimeUnit; import static android.support.test.espresso.Espresso.onView; @@ -37,8 +43,25 @@ import static org.junit.Assert.assertTrue; public class MainActivityEspressoTest { public static final String TAG = "MainActivityEspressoTest"; - static { + @BeforeClass + public static void classSetUp() { IdlingPolicies.setIdlingResourceTimeout(10, TimeUnit.MINUTES); + IdlingPolicies.setMasterPolicyTimeout(10, TimeUnit.MINUTES); + Instrumentation instrumentation = InstrumentationRegistry.getInstrumentation(); + try { + UiDevice.getInstance(instrumentation) + .executeShellCommand("pm grant " + + instrumentation.getTargetContext().getPackageName() + + " android.permission.SET_ANIMATION_SCALE"); + } catch (IOException e) { + e.printStackTrace(); + } + SystemAnimations.disableAll(InstrumentationRegistry.getTargetContext()); + } + + @AfterClass + public static void classTearDown() { + SystemAnimations.enableAll(InstrumentationRegistry.getTargetContext()); } @Rule @@ -130,7 +153,7 @@ public class MainActivityEspressoTest { } @Test - public void showLatest() throws InterruptedException { + public void showLatest() { if (!BuildConfig.FLAVOR.startsWith("full")) { return; } diff --git a/app/src/androidTest/java/org/fdroid/fdroid/SystemAnimations.java b/app/src/androidTest/java/org/fdroid/fdroid/SystemAnimations.java new file mode 100644 index 000000000..f46d5495a --- /dev/null +++ b/app/src/androidTest/java/org/fdroid/fdroid/SystemAnimations.java @@ -0,0 +1,62 @@ +package org.fdroid.fdroid; + +import android.Manifest; +import android.content.Context; +import android.content.pm.PackageManager; +import android.os.IBinder; +import android.util.Log; + +import java.lang.reflect.Method; + +/** + * @see Disable animations for Espresso tests + */ +class SystemAnimations { + public static final String TAG = "SystemAnimations"; + + private static final float DISABLED = 0.0f; + private static final float DEFAULT = 1.0f; + + static void disableAll(Context context) { + int permStatus = context.checkCallingOrSelfPermission(Manifest.permission.SET_ANIMATION_SCALE); + if (permStatus == PackageManager.PERMISSION_GRANTED) { + Log.i(TAG, "Manifest.permission.SET_ANIMATION_SCALE PERMISSION_GRANTED"); + setSystemAnimationsScale(DISABLED); + } else { + Log.i(TAG, "Disabling Manifest.permission.SET_ANIMATION_SCALE failed: " + permStatus); + } + } + + static void enableAll(Context context) { + int permStatus = context.checkCallingOrSelfPermission(Manifest.permission.SET_ANIMATION_SCALE); + if (permStatus == PackageManager.PERMISSION_GRANTED) { + Log.i(TAG, "Manifest.permission.SET_ANIMATION_SCALE PERMISSION_GRANTED"); + setSystemAnimationsScale(DEFAULT); + } else { + Log.i(TAG, "Enabling Manifest.permission.SET_ANIMATION_SCALE failed: " + permStatus); + } + } + + private static void setSystemAnimationsScale(float animationScale) { + try { + Class windowManagerStubClazz = Class.forName("android.view.IWindowManager$Stub"); + Method asInterface = windowManagerStubClazz.getDeclaredMethod("asInterface", IBinder.class); + Class serviceManagerClazz = Class.forName("android.os.ServiceManager"); + Method getService = serviceManagerClazz.getDeclaredMethod("getService", String.class); + Class windowManagerClazz = Class.forName("android.view.IWindowManager"); + Method setAnimationScales = windowManagerClazz.getDeclaredMethod("setAnimationScales", float[].class); + Method getAnimationScales = windowManagerClazz.getDeclaredMethod("getAnimationScales"); + + IBinder windowManagerBinder = (IBinder) getService.invoke(null, "window"); + Object windowManagerObj = asInterface.invoke(null, windowManagerBinder); + float[] currentScales = (float[]) getAnimationScales.invoke(windowManagerObj); + for (int i = 0; i < currentScales.length; i++) { + currentScales[i] = animationScale; + } + setAnimationScales.invoke(windowManagerObj, new Object[]{currentScales}); + } catch (Exception e) { + Log.e(TAG, "Could not change animation scale to " + animationScale + " :'("); + } + } +} diff --git a/app/src/debug/AndroidManifest.xml b/app/src/debug/AndroidManifest.xml new file mode 100644 index 000000000..9a241f133 --- /dev/null +++ b/app/src/debug/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + + + + From 990d05dc0fdd334e61446f14fb130088e05b21c1 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Tue, 14 Aug 2018 16:45:09 +0200 Subject: [PATCH 21/28] skip Espresso tests on ARM emulators ARM emulators are too slow to run these tests in a useful way. The sad thing is that it would probably work if Android didn't put up the ANR "Process system isn't responding" on boot each time. There seems to be no way to increase the ANR timeout. --- .../fdroid/MainActivityEspressoTest.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/app/src/androidTest/java/org/fdroid/fdroid/MainActivityEspressoTest.java b/app/src/androidTest/java/org/fdroid/fdroid/MainActivityEspressoTest.java index 44034d45d..5f4871240 100644 --- a/app/src/androidTest/java/org/fdroid/fdroid/MainActivityEspressoTest.java +++ b/app/src/androidTest/java/org/fdroid/fdroid/MainActivityEspressoTest.java @@ -1,6 +1,7 @@ package org.fdroid.fdroid; import android.app.Instrumentation; +import android.os.Build; import android.support.test.InstrumentationRegistry; import android.support.test.espresso.IdlingPolicies; import android.support.test.espresso.ViewInteraction; @@ -43,8 +44,21 @@ import static org.junit.Assert.assertTrue; public class MainActivityEspressoTest { public static final String TAG = "MainActivityEspressoTest"; + /** + * ARM emulators are too slow to run these tests in a useful way. The sad + * thing is that it would probably work if Android didn't put up the ANR + * "Process system isn't responding" on boot each time. There seems to be no + * way to increase the ANR timeout. + */ @BeforeClass public static void classSetUp() { + Log.i(TAG, "setUp " + isEmulator() + " " + Build.SUPPORTED_ABIS[0]); + if (Build.SUPPORTED_ABIS[0].startsWith("arm") && isEmulator()) { + Log.e(TAG, "SKIPPING TEST: ARM emulators are too slow to run these tests in a useful way"); + org.junit.Assume.assumeTrue(false); + return; + } + IdlingPolicies.setIdlingResourceTimeout(10, TimeUnit.MINUTES); IdlingPolicies.setMasterPolicyTimeout(10, TimeUnit.MINUTES); Instrumentation instrumentation = InstrumentationRegistry.getInstrumentation(); @@ -64,6 +78,17 @@ public class MainActivityEspressoTest { SystemAnimations.enableAll(InstrumentationRegistry.getTargetContext()); } + public static boolean isEmulator() { + return Build.FINGERPRINT.startsWith("generic") + || Build.FINGERPRINT.startsWith("unknown") + || Build.MODEL.contains("google_sdk") + || Build.MODEL.contains("Emulator") + || Build.MODEL.contains("Android SDK built for x86") + || Build.MANUFACTURER.contains("Genymotion") + || (Build.BRAND.startsWith("generic") && Build.DEVICE.startsWith("generic")) + || "google_sdk".equals(Build.PRODUCT); + } + @Rule public ActivityTestRule activityTestRule = new ActivityTestRule<>(MainActivity.class); From 9d8232472fb2233dc3088ef570f95d4b8267559a Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Tue, 14 Aug 2018 18:24:30 +0200 Subject: [PATCH 22/28] tests: dismiss dialogs in the emulator with back button before run The ARM emulator can show ANRs for 'system' on boot, so that dialog needs to be dismissed before the Espresso tests can happen. https://android.googlesource.com/platform/frameworks/testing/+/master/uiautomator_test_libraries/src/com/android/uiautomator/common/UiWatchers.java --- .../fdroid/MainActivityEspressoTest.java | 12 ++ .../java/org/fdroid/fdroid/UiWatchers.java | 156 ++++++++++++++++++ 2 files changed, 168 insertions(+) create mode 100644 app/src/androidTest/java/org/fdroid/fdroid/UiWatchers.java diff --git a/app/src/androidTest/java/org/fdroid/fdroid/MainActivityEspressoTest.java b/app/src/androidTest/java/org/fdroid/fdroid/MainActivityEspressoTest.java index 5f4871240..7fd5a57b9 100644 --- a/app/src/androidTest/java/org/fdroid/fdroid/MainActivityEspressoTest.java +++ b/app/src/androidTest/java/org/fdroid/fdroid/MainActivityEspressoTest.java @@ -9,6 +9,9 @@ import android.support.test.filters.LargeTest; import android.support.test.rule.ActivityTestRule; import android.support.test.runner.AndroidJUnit4; import android.support.test.uiautomator.UiDevice; +import android.support.test.uiautomator.UiObject; +import android.support.test.uiautomator.UiObjectNotFoundException; +import android.support.test.uiautomator.UiSelector; import android.util.Log; import android.view.View; import org.fdroid.fdroid.views.BannerUpdatingRepos; @@ -71,6 +74,15 @@ public class MainActivityEspressoTest { e.printStackTrace(); } SystemAnimations.disableAll(InstrumentationRegistry.getTargetContext()); + + // dismiss the ANR or any other system dialogs that might be there + UiObject button = new UiObject(new UiSelector().text("Wait").enabled(true)); + try { + button.click(); + } catch (UiObjectNotFoundException e) { + Log.d(TAG, e.getLocalizedMessage()); + } + new UiWatchers().registerAnrAndCrashWatchers(); } @AfterClass diff --git a/app/src/androidTest/java/org/fdroid/fdroid/UiWatchers.java b/app/src/androidTest/java/org/fdroid/fdroid/UiWatchers.java new file mode 100644 index 000000000..1458653e8 --- /dev/null +++ b/app/src/androidTest/java/org/fdroid/fdroid/UiWatchers.java @@ -0,0 +1,156 @@ +/* + * Copyright (C) 2013 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.fdroid.fdroid; + +import android.support.test.uiautomator.UiDevice; +import android.support.test.uiautomator.UiObject; +import android.support.test.uiautomator.UiObjectNotFoundException; +import android.support.test.uiautomator.UiSelector; +import android.support.test.uiautomator.UiWatcher; +import android.util.Log; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +@SuppressWarnings("MemberName") +public class UiWatchers { + private static final String LOG_TAG = UiWatchers.class.getSimpleName(); + private final List mErrors = new ArrayList(); + + /** + * We can use the UiDevice registerWatcher to register a small script to be executed when the + * framework is waiting for a control to appear. Waiting may be the cause of an unexpected + * dialog on the screen and it is the time when the framework runs the registered watchers. + * This is a sample watcher looking for ANR and crashes. it closes it and moves on. You should + * create your own watchers and handle error logging properly for your type of tests. + */ + public void registerAnrAndCrashWatchers() { + UiDevice.getInstance().registerWatcher("ANR", new UiWatcher() { + @Override + public boolean checkForCondition() { + UiObject window = new UiObject(new UiSelector().className( + "com.android.server.am.AppNotRespondingDialog")); + String errorText = null; + if (window.exists()) { + try { + errorText = window.getText(); + } catch (UiObjectNotFoundException e) { + Log.e(LOG_TAG, "dialog gone?", e); + } + onAnrDetected(errorText); + postHandler("Wait"); + return true; // triggered + } + return false; // no trigger + } + }); + // class names may have changed + UiDevice.getInstance().registerWatcher("ANR2", new UiWatcher() { + @Override + public boolean checkForCondition() { + UiObject window = new UiObject(new UiSelector().packageName("android") + .textContains("isn't responding.")); + if (window.exists()) { + String errorText = null; + try { + errorText = window.getText(); + } catch (UiObjectNotFoundException e) { + Log.e(LOG_TAG, "dialog gone?", e); + } + onAnrDetected(errorText); + postHandler("Wait"); + return true; // triggered + } + return false; // no trigger + } + }); + UiDevice.getInstance().registerWatcher("CRASH", new UiWatcher() { + @Override + public boolean checkForCondition() { + UiObject window = new UiObject(new UiSelector().className( + "com.android.server.am.AppErrorDialog")); + if (window.exists()) { + String errorText = null; + try { + errorText = window.getText(); + } catch (UiObjectNotFoundException e) { + Log.e(LOG_TAG, "dialog gone?", e); + } + onCrashDetected(errorText); + postHandler("OK"); + return true; // triggered + } + return false; // no trigger + } + }); + UiDevice.getInstance().registerWatcher("CRASH2", new UiWatcher() { + @Override + public boolean checkForCondition() { + UiObject window = new UiObject(new UiSelector().packageName("android") + .textContains("has stopped")); + if (window.exists()) { + String errorText = null; + try { + errorText = window.getText(); + } catch (UiObjectNotFoundException e) { + Log.e(LOG_TAG, "dialog gone?", e); + } + onCrashDetected(errorText); + postHandler("OK"); + return true; // triggered + } + return false; // no trigger + } + }); + Log.i(LOG_TAG, "Registed GUI Exception watchers"); + } + + public void onAnrDetected(String errorText) { + mErrors.add(errorText); + } + + public void onCrashDetected(String errorText) { + mErrors.add(errorText); + } + + public void reset() { + mErrors.clear(); + } + + public List getErrors() { + return Collections.unmodifiableList(mErrors); + } + + /** + * Current implementation ignores the exception and continues. + */ + public void postHandler(String buttonText) { + // TODO: Add custom error logging here + String formatedOutput = String.format("UI Exception Message: %-20s\n", UiDevice + .getInstance().getCurrentPackageName()); + Log.e(LOG_TAG, formatedOutput); + UiObject buttonOK = new UiObject(new UiSelector().text(buttonText).enabled(true)); + // sometimes it takes a while for the OK button to become enabled + buttonOK.waitForExists(5000); + try { + buttonOK.click(); + } catch (UiObjectNotFoundException e) { + e.printStackTrace(); + } + } +} \ No newline at end of file From 7493118a929002027ff0fd8be339d6c8711f53f7 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 16 Aug 2018 13:32:57 +0200 Subject: [PATCH 23/28] gitlab-ci: only run emulator tests for full flavor The emulator runs are super crashy on gitlab-ci, so just run the emulator tests for the "full" build flavor. Once these prove stable, the task should be switched to connectedCheck to test all the build flavors --- .gitlab-ci.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 67c919c77..1ecec4e56 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -54,6 +54,8 @@ errorprone: - ./gradlew assembleDebug allow_failure: true +# once these prove stable, the task should be switched to +# connectedCheck to test all the build flavors .connected-template: &connected-template script: - ./gradlew assembleDebug @@ -67,7 +69,7 @@ errorprone: - emulator64-arm -avd avd$AVD_SDK -no-audio -no-window -no-snapstorage & - wait-for-emulator - adb shell input keyevent 82 & - - ./gradlew connectedCheck || (adb -e logcat -d '*:E' > logcat.txt; exit 1) + - ./gradlew connectedFullDebugAndroidTest || (adb -e logcat -d '*:E' > logcat.txt; exit 1) connected24: retry: 1 From e450569a698d796940f94ef1364039fcf208c01a Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 16 Aug 2018 15:03:02 +0200 Subject: [PATCH 24/28] espresso: do extra memory clean up to keep StrictMode happy There were some occasional StrictMode errors about multiple instances of MainActivity. This cleanup idea comes from Google: https://github.com/aosp-mirror/platform_frameworks_base/commit/6f3a38f3afd79ed6dddcef5c83cb442d6749e2ff --- .../org/fdroid/fdroid/MainActivityEspressoTest.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/app/src/androidTest/java/org/fdroid/fdroid/MainActivityEspressoTest.java b/app/src/androidTest/java/org/fdroid/fdroid/MainActivityEspressoTest.java index 7fd5a57b9..cab19db4a 100644 --- a/app/src/androidTest/java/org/fdroid/fdroid/MainActivityEspressoTest.java +++ b/app/src/androidTest/java/org/fdroid/fdroid/MainActivityEspressoTest.java @@ -17,6 +17,7 @@ import android.view.View; import org.fdroid.fdroid.views.BannerUpdatingRepos; import org.fdroid.fdroid.views.main.MainActivity; import org.hamcrest.Matchers; +import org.junit.After; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Rule; @@ -101,6 +102,18 @@ public class MainActivityEspressoTest { || "google_sdk".equals(Build.PRODUCT); } + /** + * Placate {@link android.os.StrictMode} + * + * @see Run finalizers before counting for StrictMode + */ + @After + public void tearDown() { + System.gc(); + System.runFinalization(); + System.gc(); + } + @Rule public ActivityTestRule activityTestRule = new ActivityTestRule<>(MainActivity.class); From 2ddf94a9f09422162513ac1485f9143bf6f4f80f Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 16 Aug 2018 15:10:05 +0200 Subject: [PATCH 25/28] gitlab-ci: set emulator RAM to 75% of available host RAM --- .gitlab-ci.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1ecec4e56..60c4cc5fb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -63,7 +63,10 @@ errorprone: - if ! avdmanager list avd | grep "Name. avd$AVD_SDK$"; then rm -rf ~/.android/avd $ANDROID_HOME/system-images; echo y | sdkmanager "$AVD_PACKAGE" > /dev/null; - echo no | avdmanager create avd --name avd$AVD_SDK --tag "$AVD_TAG" --package "$AVD_PACKAGE"; + echo no | avdmanager create avd --name avd$AVD_SDK --tag "$AVD_TAG" --package "$AVD_PACKAGE" --sdcard 64M --device "Nexus 5"; + export RAMSIZE="$((`sed -n 's,^MemAvailable:[^0-9]*\([0-9][0-9]*\)[^0-9]*$,\1,p' /proc/meminfo` * 3 / 4 / 1024))"; + sed -i '/^hw\.ramSize\s*=.*/d' ~/.android/avd/*.avd/config.ini; + echo "hw.ramSize=$RAMSIZE" >> ~/.android/avd/*.avd/config.ini; avdmanager list avd; fi - emulator64-arm -avd avd$AVD_SDK -no-audio -no-window -no-snapstorage & From 558dde5f7767a240af0272da51c52a1ca322ee14 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 17 Aug 2018 09:43:16 +0200 Subject: [PATCH 26/28] run Deflator.end() to get rid of StrictMode errors: java.lang.Throwable: Explicit termination method 'end' not called at dalvik.system.CloseGuard.open(CloseGuard.java:180) at java.util.zip.Deflater.(Deflater.java:171) at kellinwood.zipio.ZioEntryOutputStream.(ZioEntryOutputStream.java:35) at kellinwood.zipio.ZioEntry.getOutputStream(ZioEntry.java:482) at kellinwood.security.zipsigner.ZipSigner.signZip(ZipSigner.java:759) at kellinwood.security.zipsigner.ZipSigner.signZip(ZipSigner.java:664) at org.fdroid.fdroid.localrepo.LocalRepoKeyStore.signZip(LocalRepoKeyStore.java:213) at org.fdroid.fdroid.localrepo.LocalRepoManager.writeIndexJar(LocalRepoManager.java:492) at org.fdroid.fdroid.views.swap.SwapWorkflowActivity$PrepareSwapRepo.doInBackground(SwapWorkflowActivity.java:759) at org.fdroid.fdroid.views.swap.SwapWorkflowActivity$PrepareSwapRepo.doInBackground(SwapWorkflowActivity.java:709) at android.os.AsyncTask$2.call(AsyncTask.java:304) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) at java.lang.Thread.run(Thread.java:761) E StrictMode: A resource was acquired at attached stack trace but never released. See java.io.Closeable for information on avoiding resource leaks. --- .../java/kellinwood/zipio/ZioEntryOutputStream.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/app/src/full/java/kellinwood/zipio/ZioEntryOutputStream.java b/app/src/full/java/kellinwood/zipio/ZioEntryOutputStream.java index e13332412..2ce56c2f8 100644 --- a/app/src/full/java/kellinwood/zipio/ZioEntryOutputStream.java +++ b/app/src/full/java/kellinwood/zipio/ZioEntryOutputStream.java @@ -28,18 +28,25 @@ public class ZioEntryOutputStream extends OutputStream { int crcValue = 0; OutputStream wrapped; OutputStream downstream; + Deflater deflater; public ZioEntryOutputStream(int compression, OutputStream wrapped) { this.wrapped = wrapped; - if (compression != 0) - downstream = new DeflaterOutputStream(wrapped, new Deflater(Deflater.BEST_COMPRESSION, true)); - else downstream = wrapped; + if (compression != 0) { + deflater = new Deflater(Deflater.BEST_COMPRESSION, true); + downstream = new DeflaterOutputStream(wrapped, deflater); + } else { + downstream = wrapped; + } } public void close() throws IOException { downstream.flush(); downstream.close(); crcValue = (int) crc.getValue(); + if (deflater != null) { + deflater.end(); + } } public int getCRC() { From 0fb65f6921f0fef2d6c4800c91e98cfacb2b7d99 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 17 Aug 2018 10:06:57 +0200 Subject: [PATCH 27/28] gitlab-ci: dump complete logcat into artifacts zipball Before, it was only including errors. --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 60c4cc5fb..61c03de38 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -72,7 +72,7 @@ errorprone: - emulator64-arm -avd avd$AVD_SDK -no-audio -no-window -no-snapstorage & - wait-for-emulator - adb shell input keyevent 82 & - - ./gradlew connectedFullDebugAndroidTest || (adb -e logcat -d '*:E' > logcat.txt; exit 1) + - ./gradlew connectedFullDebugAndroidTest || (adb -e logcat -d > logcat.txt; exit 1) connected24: retry: 1 From 8ce08c592053309379eab16244b53d3ace56f3c7 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 17 Aug 2018 14:15:23 +0200 Subject: [PATCH 28/28] fully ignore Espresso tests until something works out with gitlab-ci --- .../java/org/fdroid/fdroid/MainActivityEspressoTest.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/androidTest/java/org/fdroid/fdroid/MainActivityEspressoTest.java b/app/src/androidTest/java/org/fdroid/fdroid/MainActivityEspressoTest.java index cab19db4a..29ef5621a 100644 --- a/app/src/androidTest/java/org/fdroid/fdroid/MainActivityEspressoTest.java +++ b/app/src/androidTest/java/org/fdroid/fdroid/MainActivityEspressoTest.java @@ -20,6 +20,7 @@ import org.hamcrest.Matchers; import org.junit.After; import org.junit.AfterClass; import org.junit.BeforeClass; +import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; @@ -43,6 +44,7 @@ import static org.hamcrest.Matchers.allOf; import static org.hamcrest.Matchers.not; import static org.junit.Assert.assertTrue; +@Ignore @RunWith(AndroidJUnit4.class) @LargeTest public class MainActivityEspressoTest {