From b419b78c9452b8a9c1f939d79f74ec6892a2c693 Mon Sep 17 00:00:00 2001 From: jif Date: Thu, 1 Mar 2018 18:35:45 +0100 Subject: [PATCH 1/6] Add camera characteristics checker Those classes consist of 1 abstract class, which provide a factory for 2 classes each of which implements different behaviors according to the Android API version. --- .../camera/CameraCharacteristicsChecker.java | 20 ++++ .../CameraCharacteristicsMaxApiLevel20.java | 50 ++++++++ .../CameraCharacteristicsMinApiLevel21.java | 112 ++++++++++++++++++ 3 files changed, 182 insertions(+) create mode 100644 app/src/main/java/org/fdroid/fdroid/views/swap/device/camera/CameraCharacteristicsChecker.java create mode 100644 app/src/main/java/org/fdroid/fdroid/views/swap/device/camera/CameraCharacteristicsMaxApiLevel20.java create mode 100644 app/src/main/java/org/fdroid/fdroid/views/swap/device/camera/CameraCharacteristicsMinApiLevel21.java diff --git a/app/src/main/java/org/fdroid/fdroid/views/swap/device/camera/CameraCharacteristicsChecker.java b/app/src/main/java/org/fdroid/fdroid/views/swap/device/camera/CameraCharacteristicsChecker.java new file mode 100644 index 000000000..4a66c5eba --- /dev/null +++ b/app/src/main/java/org/fdroid/fdroid/views/swap/device/camera/CameraCharacteristicsChecker.java @@ -0,0 +1,20 @@ +package org.fdroid.fdroid.views.swap.device.camera; + +import android.content.Context; + +public abstract class CameraCharacteristicsChecker { + public static CameraCharacteristicsChecker getInstance(final Context context) { + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) { + return new CameraCharacteristicsMinApiLevel21(context); + } else + return new CameraCharacteristicsMaxApiLevel20(); + } + + public abstract boolean hasAutofocus(); + + class FDroidDeviceException extends Exception { + FDroidDeviceException(final String message, final Throwable cause) { + super(message, cause); + } + } +} diff --git a/app/src/main/java/org/fdroid/fdroid/views/swap/device/camera/CameraCharacteristicsMaxApiLevel20.java b/app/src/main/java/org/fdroid/fdroid/views/swap/device/camera/CameraCharacteristicsMaxApiLevel20.java new file mode 100644 index 000000000..38d31fc96 --- /dev/null +++ b/app/src/main/java/org/fdroid/fdroid/views/swap/device/camera/CameraCharacteristicsMaxApiLevel20.java @@ -0,0 +1,50 @@ +package org.fdroid.fdroid.views.swap.device.camera; + +import android.hardware.Camera; +import android.util.Log; + +import java.util.List; + +public class CameraCharacteristicsMaxApiLevel20 extends CameraCharacteristicsChecker { + + private static final String TAG = "CameraCharMaxApiLevel20"; + + protected CameraCharacteristicsMaxApiLevel20() { + } + + @Override + public boolean hasAutofocus() { + boolean hasAutofocus = false; + try { + hasAutofocus = hasDeviceAutofocusCapability(); + } catch (FDroidDeviceException e) { + Log.e(TAG, e.getMessage(), e); + } + return hasAutofocus; + } + + private boolean hasDeviceAutofocusCapability() throws FDroidDeviceException { + try { + final int numberOfCameras = Camera.getNumberOfCameras(); + if (numberOfCameras == 0) { + Log.i(TAG, "No camera on device"); + return false; + } + + boolean hasAutofocus = false; + for (int cameraId = 0; cameraId < numberOfCameras; cameraId++) { + Camera camera = Camera.open(cameraId); + Camera.Parameters parameters = camera.getParameters(); + List availableAFModes = parameters.getSupportedFocusModes(); + hasAutofocus = availableAFModes.contains(Camera.Parameters.FOCUS_MODE_AUTO); + } + + return hasAutofocus; + } catch (Exception e) { + String msg = "Exception accessing device camera"; + Log.e(TAG, msg, e); + throw new FDroidDeviceException(msg, e); + } + } + +} \ No newline at end of file diff --git a/app/src/main/java/org/fdroid/fdroid/views/swap/device/camera/CameraCharacteristicsMinApiLevel21.java b/app/src/main/java/org/fdroid/fdroid/views/swap/device/camera/CameraCharacteristicsMinApiLevel21.java new file mode 100644 index 000000000..8992fc050 --- /dev/null +++ b/app/src/main/java/org/fdroid/fdroid/views/swap/device/camera/CameraCharacteristicsMinApiLevel21.java @@ -0,0 +1,112 @@ +package org.fdroid.fdroid.views.swap.device.camera; + +import android.annotation.TargetApi; +import android.content.Context; +import android.hardware.camera2.CameraAccessException; +import android.hardware.camera2.CameraCharacteristics; +import android.hardware.camera2.CameraManager; +import android.os.Build; +import android.support.annotation.NonNull; +import android.util.Log; + +@TargetApi(Build.VERSION_CODES.LOLLIPOP) +public class CameraCharacteristicsMinApiLevel21 extends CameraCharacteristicsChecker { + + private static final String TAG = "CameraCharMinApiLevel21"; + final private CameraManager cameraManager; + + + protected CameraCharacteristicsMinApiLevel21(final Context context) { + this.cameraManager = (CameraManager) context.getSystemService(Context.CAMERA_SERVICE); + } + + @Override + public boolean hasAutofocus() { + boolean hasAutofocus = false; + try { + hasAutofocus = hasDeviceAutofocus(); + } catch (FDroidDeviceException e) { + Log.e(TAG, e.getMessage(), e); + } + return hasAutofocus; + } + + private boolean hasDeviceAutofocus() throws FDroidDeviceException { + try { + boolean deviceHasAutofocus = false; + final String[] cameraIdList = getCameraIdList(); + + for (final String cameraId : cameraIdList) { + if (isLensFacingBack(cameraId)) { + deviceHasAutofocus = testAutofocusModeForCamera(cameraId); + break; + } + } + return deviceHasAutofocus; + } catch (Exception e) { + Log.e(TAG, e.getMessage(), e); + throw new FDroidDeviceException("Exception accessing the camera list", e); + } + + } + + @NonNull + private String[] getCameraIdList() throws FDroidDeviceException { + try { + return cameraManager.getCameraIdList(); + } catch (CameraAccessException e) { + Log.e(TAG, e.getMessage(), e); + throw new FDroidDeviceException("Exception accessing the camera list", e); + } + } + + private boolean isLensFacingBack(final String cameraId) throws FDroidDeviceException { + final Integer lensFacing = getCameraCharacteristics(cameraId).get(CameraCharacteristics.LENS_FACING); + + return lensFacing != null && lensFacing == CameraCharacteristics.LENS_FACING_BACK; + } + + @NonNull + private CameraCharacteristics getCameraCharacteristics(final String cameraId) throws FDroidDeviceException { + try { + return cameraManager.getCameraCharacteristics(cameraId); + } catch (CameraAccessException e) { + Log.e(TAG, e.getMessage(), e); + throw new FDroidDeviceException("Exception accessing the camera id = " + cameraId, e); + } + + } + + private boolean testAutofocusModeForCamera(final String cameraId) throws FDroidDeviceException { + try { + boolean hasAutofocusMode = false; + final int[] autoFocusModes = getAvailableAFModes(cameraId); + if (autoFocusModes != null) { + hasAutofocusMode = testAvailableMode(autoFocusModes); + } + + return hasAutofocusMode; + } catch (FDroidDeviceException e) { + Log.e(TAG, e.getMessage(), e); + throw new FDroidDeviceException("Exception accessing the camera id = " + cameraId, e); + } + } + + private int[] getAvailableAFModes(final String cameraId) throws FDroidDeviceException { + return getCameraCharacteristics(cameraId).get(CameraCharacteristics.CONTROL_AF_AVAILABLE_MODES); + } + + private boolean testAvailableMode(final int[] autoFocusModes) { + boolean hasAutofocusMode = false; + for (final int mode : autoFocusModes) { + boolean afMode = isAutofocus(mode); + hasAutofocusMode |= afMode; + } + return hasAutofocusMode; + } + + private boolean isAutofocus(final int mode) { + return mode != android.hardware.camera2.CameraMetadata.CONTROL_AF_MODE_OFF; + } + +} From 6d1fc68ff12b5cb39ad0c6e3356fd028cdb463f8 Mon Sep 17 00:00:00 2001 From: jif Date: Thu, 1 Mar 2018 18:40:30 +0100 Subject: [PATCH 2/6] Call to the camera autofocus checker in the view --- .../java/org/fdroid/fdroid/views/swap/WifiQrView.java | 10 ++++++++++ app/src/main/res/layout/swap_wifi_qr.xml | 8 ++++++++ 2 files changed, 18 insertions(+) diff --git a/app/src/main/java/org/fdroid/fdroid/views/swap/WifiQrView.java b/app/src/main/java/org/fdroid/fdroid/views/swap/WifiQrView.java index 9212addde..dd73267c6 100644 --- a/app/src/main/java/org/fdroid/fdroid/views/swap/WifiQrView.java +++ b/app/src/main/java/org/fdroid/fdroid/views/swap/WifiQrView.java @@ -29,6 +29,7 @@ import org.fdroid.fdroid.R; import org.fdroid.fdroid.Utils; import org.fdroid.fdroid.localrepo.SwapService; import org.fdroid.fdroid.net.WifiStateChangeService; +import org.fdroid.fdroid.views.swap.device.camera.CameraCharacteristicsChecker; import java.net.URI; import java.util.List; @@ -63,6 +64,7 @@ public class WifiQrView extends ScrollView implements SwapWorkflowActivity.Inner protected void onFinishInflate() { super.onFinishInflate(); setUIFromWifi(); + setUpWarningMessageQrScan(); ImageView qrImage = (ImageView) findViewById(R.id.wifi_qr_code); @@ -81,6 +83,14 @@ public class WifiQrView extends ScrollView implements SwapWorkflowActivity.Inner onWifiStateChanged, new IntentFilter(WifiStateChangeService.BROADCAST)); } + private void setUpWarningMessageQrScan() { + final View qrWarnningMessage = findViewById(R.id.warning_qr_scanner); + final boolean hasAutofocus = CameraCharacteristicsChecker.getInstance(getContext()).hasAutofocus(); + final int visiblity = hasAutofocus ? GONE : VISIBLE; + qrWarnningMessage.setVisibility(visiblity); + } + + /** * Remove relevant listeners/receivers/etc so that they do not receive and process events * when this view is not in use. diff --git a/app/src/main/res/layout/swap_wifi_qr.xml b/app/src/main/res/layout/swap_wifi_qr.xml index 32ca0df63..44d64a6dc 100644 --- a/app/src/main/res/layout/swap_wifi_qr.xml +++ b/app/src/main/res/layout/swap_wifi_qr.xml @@ -44,6 +44,14 @@ android:layout_gravity="center" android:id="@+id/btn_qr_scanner"/> + + \ No newline at end of file From 80b5addf6294585af2780a83286fe3966cc86151 Mon Sep 17 00:00:00 2001 From: jif Date: Thu, 1 Mar 2018 18:44:57 +0100 Subject: [PATCH 3/6] Add 'poor QR code scanning capability' translations --- app/src/main/res/values-af/strings.xml | 3 ++- app/src/main/res/values-ar/strings.xml | 3 ++- app/src/main/res/values-ast/strings.xml | 3 ++- app/src/main/res/values-be/strings.xml | 3 ++- app/src/main/res/values-bg/strings.xml | 3 ++- app/src/main/res/values-bo/strings.xml | 3 ++- app/src/main/res/values-ca/strings.xml | 3 ++- app/src/main/res/values-cs/strings.xml | 3 ++- app/src/main/res/values-da/strings.xml | 3 ++- app/src/main/res/values-de/strings.xml | 3 ++- app/src/main/res/values-el/strings.xml | 1 + app/src/main/res/values-eo/strings.xml | 3 ++- app/src/main/res/values-es/strings.xml | 3 ++- app/src/main/res/values-et/strings.xml | 3 ++- app/src/main/res/values-eu/strings.xml | 3 ++- app/src/main/res/values-fa/strings.xml | 3 ++- app/src/main/res/values-fi/strings.xml | 1 + app/src/main/res/values-fr/strings.xml | 3 ++- app/src/main/res/values-gl/strings.xml | 3 ++- app/src/main/res/values-he/strings.xml | 3 ++- app/src/main/res/values-hi/strings.xml | 3 ++- app/src/main/res/values-hr/strings.xml | 1 + app/src/main/res/values-hu/strings.xml | 3 ++- app/src/main/res/values-hy/strings.xml | 1 + app/src/main/res/values-id/strings.xml | 3 ++- app/src/main/res/values-is/strings.xml | 3 ++- app/src/main/res/values-it/strings.xml | 3 ++- app/src/main/res/values-ja/strings.xml | 3 ++- app/src/main/res/values-kab/strings.xml | 3 ++- app/src/main/res/values-kn/strings.xml | 3 ++- app/src/main/res/values-ko/strings.xml | 3 ++- app/src/main/res/values-lt/strings.xml | 3 ++- app/src/main/res/values-lv/strings.xml | 3 ++- app/src/main/res/values-mk/strings.xml | 1 + app/src/main/res/values-ml/strings.xml | 3 ++- app/src/main/res/values-my/strings.xml | 1 + app/src/main/res/values-nb/strings.xml | 3 ++- app/src/main/res/values-nl/strings.xml | 3 ++- app/src/main/res/values-pl/strings.xml | 3 ++- app/src/main/res/values-pt-rBR/strings.xml | 3 ++- app/src/main/res/values-pt-rPT/strings.xml | 3 ++- app/src/main/res/values-ro/strings.xml | 3 ++- app/src/main/res/values-ru/strings.xml | 3 ++- app/src/main/res/values-sc/strings.xml | 3 ++- app/src/main/res/values-sk/strings.xml | 3 ++- app/src/main/res/values-sl/strings.xml | 3 ++- app/src/main/res/values-sn/strings.xml | 1 + app/src/main/res/values-sq/strings.xml | 1 + app/src/main/res/values-sr/strings.xml | 3 ++- app/src/main/res/values-sv/strings.xml | 3 ++- app/src/main/res/values-ta/strings.xml | 1 + app/src/main/res/values-th/strings.xml | 3 ++- app/src/main/res/values-tr/strings.xml | 3 ++- app/src/main/res/values-ug/strings.xml | 1 + app/src/main/res/values-uk/strings.xml | 3 ++- app/src/main/res/values-ur/strings.xml | 1 + app/src/main/res/values-vi/strings.xml | 1 + app/src/main/res/values-zh-rCN/strings.xml | 3 ++- app/src/main/res/values-zh-rHK/strings.xml | 3 ++- app/src/main/res/values-zh-rTW/strings.xml | 3 ++- app/src/main/res/values/strings.xml | 1 + 61 files changed, 109 insertions(+), 48 deletions(-) diff --git a/app/src/main/res/values-af/strings.xml b/app/src/main/res/values-af/strings.xml index 9e99fa4ae..ebc2f5d8f 100644 --- a/app/src/main/res/values-af/strings.xml +++ b/app/src/main/res/values-af/strings.xml @@ -528,4 +528,5 @@ Afgelaai, gereed om te installeer Stoor program besonderhede (%1$d/%2$d) vanaf %3$s - + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. + diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index a220729e2..443e1a7ba 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -518,5 +518,6 @@ الإجراءات التدميرية إخفاء %s التطبيق سوف يخفي نفسه + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. - + diff --git a/app/src/main/res/values-ast/strings.xml b/app/src/main/res/values-ast/strings.xml index 804904630..cd0df40a3 100644 --- a/app/src/main/res/values-ast/strings.xml +++ b/app/src/main/res/values-ast/strings.xml @@ -533,5 +533,6 @@ Aiciones destructives Tapecer %s Tapeceráse la app + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. - + diff --git a/app/src/main/res/values-be/strings.xml b/app/src/main/res/values-be/strings.xml index 539a35269..b5507513a 100644 --- a/app/src/main/res/values-be/strings.xml +++ b/app/src/main/res/values-be/strings.xml @@ -575,4 +575,5 @@ Выйсці з праграмы Запомніць як аднаўляць - + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. + diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index 7765d45a0..559142d20 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -508,5 +508,6 @@ Засега инсталирането на привилегированото разширение на F-Droid не се поддържа на Андроид версия 5.1 или по-нова. За споделянето на приложения с други около вас, и двете устройства трябва да използват %1$s. + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. - + diff --git a/app/src/main/res/values-bo/strings.xml b/app/src/main/res/values-bo/strings.xml index 273943186..cde347f1f 100644 --- a/app/src/main/res/values-bo/strings.xml +++ b/app/src/main/res/values-bo/strings.xml @@ -474,5 +474,6 @@ གསང་དོན། དྲྭ་ཤེལ་པར་ལེན་བཀག ཉེ་བའི་ཆར་གྱི་མཉེས་ཆས་དྲྭ་ཤེལ་ནས་དྲྭ་ཤེལ་པར་ལེན་བཀག་པ་དང་། དྲྭ་ཤེལ་པར་ལེན་ནསམཉེས་ཆས་ནང་དོན་སྦས་པ། + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. - + diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index a08e2a89b..948391a77 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -515,5 +515,6 @@ Accions destructives Amagueu %s L\'app s\'ocultarà + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. - + diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 872ac7e65..a045f92ec 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -554,5 +554,6 @@ Varování: jakýkoli zástupce aplikace na domovské obrazovce bude také odebrán a bude třeba znovu ručně přidat. Skrýt tlačítko vyhledávání Dlouhý stisk tlačítka hledání skryje aplikaci + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. - + diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 48bb592dc..a31cfe7d0 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -503,4 +503,5 @@ Ignorer Gemmer app detaljer (%1$d/%2$d) fra %3$s - + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. + diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 1dfba3c4b..41cce919a 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -548,4 +548,5 @@ In einem Krisenereignis werden %1$s aus dem Programmstarter entfernt. Nur die Eingabe von „%2$d” in der gefälschten %3$s-App kann sie wiederherstellen. Warnhinweis. Alle Verknüpfungen auf dem Startbildschirm werden ebenfalls entfernt und müssen manuell hinzugefügt werden. - + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. + diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 3b4b6c583..07dc8647e 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -526,6 +526,7 @@ %1$d Εφαρμογές εγκαταστάθηκαν Κατηγορία %1$s + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. Προβολή %1$d εφαρμογής από τη κατηγορία %2$s diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml index 103d3f9dd..06b192389 100644 --- a/app/src/main/res/values-eo/strings.xml +++ b/app/src/main/res/values-eo/strings.xml @@ -532,5 +532,6 @@ Averto: ĉiu ligilo ĉe la hejmekrano ankaŭ estos forigita kaj devas esti realdonita permane. Kaŝi per serĉ-butono Longe premu la serĉ-butonon por kaŝi la aplikaĵon + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. - + diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 2c2f2d3fe..c6e7db2f2 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -540,5 +540,6 @@ Acciones destructivas Ocultar %s La aplicación se ocultará + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. - + diff --git a/app/src/main/res/values-et/strings.xml b/app/src/main/res/values-et/strings.xml index c4d5d1fda..f96f937b0 100644 --- a/app/src/main/res/values-et/strings.xml +++ b/app/src/main/res/values-et/strings.xml @@ -543,4 +543,5 @@ Kas sa oled kindel, et soovid käivitajast eemaldada rakenduse %1$s? Ainult \"%2$d\" sisestamine võltsrakendusse %3$s taastab selle. Hoiatus: avakuvalt eemaldatakse ka kõigi rakenduste otseteed ja need on vaja käsitsi uuesti lisada. Peida otsingunupuga - + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. + diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml index 994dd664a..e740319ae 100644 --- a/app/src/main/res/values-eu/strings.xml +++ b/app/src/main/res/values-eu/strings.xml @@ -571,5 +571,6 @@ Abisua: Hasierako pantailako edozein aplikazio lasterbide kenduko da ere eta eskuz gehitu beharko da. Ezkutatu bilaketa botoiarekin Bilaketa botoia luze zapaltzean aplikazioa ezkutatuko da + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. - + diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml index 7654f16ac..a4173c25e 100644 --- a/app/src/main/res/values-fa/strings.xml +++ b/app/src/main/res/values-fa/strings.xml @@ -514,5 +514,6 @@ هشدار: هر میانبر کاره‌ای روی صفحهٔ خانگی هم برداشته می‌شود و باید دوباره به صورت دستی افزوده شود. پنهان کردن با دکمهٔ جست‌وجو لمس طولانی دکمهٔ جست‌وجو، کاره را پنهان می‌کند + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. - + diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index a9d146758..57731d92e 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -478,6 +478,7 @@ Kategoria %1$s Anti-ominaisuudet + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. Näytä sovellus %1$d kategoriassa %2$s Näytä kaikki %1$d -sovellukset kategoriasta %2$s diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 9731cd02c..679b0dca4 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -551,4 +551,5 @@ Masquer %s maintenant Êtes-vous sûr de vouloir supprimer %1$s du lanceur. Vous ne pouvez le restaurer qu\'en tapant « %2$d » dans la fausse application %3$s. Attention : les raccourcis d\'applications sur l\'écran d\'accueil seront aussi supprimés et devront être rajoutés manuellement. - + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. + diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index 04c4c905b..efbb246af 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -515,4 +515,5 @@ Actualizado hai %1$d anos Gardando os detalles das apps - + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. + diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml index c700fdd9d..e163e02a1 100644 --- a/app/src/main/res/values-he/strings.xml +++ b/app/src/main/res/values-he/strings.xml @@ -540,5 +540,6 @@ אזהרה: כל קיצור דרך ליישומון על מסך הבית יוסר גם כן ויהיה להוסיף אותו מחדש ידנית. הסתרה עם כפתור החיפוש לחיצה ארוכה על כפתור החיפוש תסתיר את היישומון + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. - + diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index cf0f9ac9f..de1b98740 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -154,4 +154,5 @@ नया व्हर्जन भिन्न की से साईन किया हुवा है।नया व्हर्जन इन्स्टॉल करनेकेलिए पुराना अनइंस्टाल करें।कृपया फिर से कोशिश करें। ( याद रहे कि अनइंस्टाल करनेके बाद ऐप डेटा डिलेट हो जायेगा।) इनस्टॉल हिस्ट्री रखें सभी इन्स्टॉल एवं अनइंस्टॉल लॉग को एफ-ड्रॉइड में रखें - + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. + diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index 2b8b06718..198cd877a 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -404,4 +404,5 @@ Obilježi aplikacije s nepoželjnim svojstvima Obilježi aplikacije koje zahtjevaju nepoželjna svojstva + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 2232c4414..40200722c 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -482,5 +482,6 @@ A(z) %1$s által biztosítva. Kategória %1$s + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. - + diff --git a/app/src/main/res/values-hy/strings.xml b/app/src/main/res/values-hy/strings.xml index e3e79a05a..8b0f50e02 100644 --- a/app/src/main/res/values-hy/strings.xml +++ b/app/src/main/res/values-hy/strings.xml @@ -245,4 +245,5 @@ Շնորհավո՜ր։ Քո բոլոր ափփերը արդիական են (կամ էլ շտեմարանները հին)։ + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml index 1931172b8..2a2ffa051 100644 --- a/app/src/main/res/values-id/strings.xml +++ b/app/src/main/res/values-id/strings.xml @@ -528,5 +528,6 @@ Tindakan Destruktif Sembunyikan %s Aplikasi akan sembunyi dengan sendirinya + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. - + diff --git a/app/src/main/res/values-is/strings.xml b/app/src/main/res/values-is/strings.xml index d8f5b8772..9f96a573b 100644 --- a/app/src/main/res/values-is/strings.xml +++ b/app/src/main/res/values-is/strings.xml @@ -584,5 +584,6 @@ Aðvörun: Allar flýtileiðir á forrit á heimaskjánum verða einnig fjarlægðar og verður að bæta þeim aftur inn handvirkt. Fela með leitarhnappi Ef ýtt er lengi mun leitarhnappurinn fela forritið + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. - + diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 7ad2c4350..db2389713 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -555,4 +555,5 @@ Conferma Applicazione Pulsante di Panico Sei sicuro di voler permettere %1$s di eseguire azioni distruttive del pulsante di panico? Impostazioni Pulsante di Panico - + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. + diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 1cb32b9a2..7e79312a0 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -494,5 +494,6 @@ 警告: ホーム画面からすべてのアプリのショートカットが削除されます。手動で追加することでのみ復元することができます。 検索ボタンで非表示にする 検索ボタンを長押しすることでアプリを非表示にすることができます + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. - + diff --git a/app/src/main/res/values-kab/strings.xml b/app/src/main/res/values-kab/strings.xml index dc741f7fd..a9af7a797 100644 --- a/app/src/main/res/values-kab/strings.xml +++ b/app/src/main/res/values-kab/strings.xml @@ -235,4 +235,5 @@ Asesfer n %2$s / %3$s (%4$d%%) from %1$s Iwjed i usebded Alqem iwjed i usebded - + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. + diff --git a/app/src/main/res/values-kn/strings.xml b/app/src/main/res/values-kn/strings.xml index cb719008f..8e5ab6cea 100644 --- a/app/src/main/res/values-kn/strings.xml +++ b/app/src/main/res/values-kn/strings.xml @@ -83,4 +83,5 @@ ಇತರೆ ಅಳಿಸು - + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. + diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 1eaa5f174..9a9ff38db 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -476,5 +476,6 @@ 파괴적인 동작 %s 숨기기 앱 자체가 숨을 것입니다 + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. - + diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index f55b6488e..fb7eca5b1 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -136,4 +136,5 @@ Priversti senąjį indeksavimo formatą Nėra automatinio programėlių sąrašo atnaujinimų Atnaujinimai parsiunčiami automatiškai o Jūs perspėjami juos instaliuoti - + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. + diff --git a/app/src/main/res/values-lv/strings.xml b/app/src/main/res/values-lv/strings.xml index d10196226..09cd70713 100644 --- a/app/src/main/res/values-lv/strings.xml +++ b/app/src/main/res/values-lv/strings.xml @@ -163,4 +163,5 @@ Atcelt lejupielādi Atjaunināt Fails instalēts uz %s - + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. + diff --git a/app/src/main/res/values-mk/strings.xml b/app/src/main/res/values-mk/strings.xml index b4018dc12..c0a16c85f 100644 --- a/app/src/main/res/values-mk/strings.xml +++ b/app/src/main/res/values-mk/strings.xml @@ -22,4 +22,5 @@ Автоматско ажурирање временски интервал Нема листа на автоматски ажурирања на апликацијата Само на Wi-Fi + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. diff --git a/app/src/main/res/values-ml/strings.xml b/app/src/main/res/values-ml/strings.xml index 163dd87af..17a0714c7 100644 --- a/app/src/main/res/values-ml/strings.xml +++ b/app/src/main/res/values-ml/strings.xml @@ -452,4 +452,5 @@ %1$s നൽകിയത്. എല്ലാ നെറ്റ്വർക്ക് അഭ്യർത്ഥനകൾക്കും പ്രോക്സി ക്രമീകരിക്കുക പ്രോക്സി ഹോസ്റ്റ് - + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. + diff --git a/app/src/main/res/values-my/strings.xml b/app/src/main/res/values-my/strings.xml index befc0ab14..83e3baabc 100644 --- a/app/src/main/res/values-my/strings.xml +++ b/app/src/main/res/values-my/strings.xml @@ -319,6 +319,7 @@ Proxy Port အသစ်မွမ်းမံလို့မရပါ။ သင် အင်တာနက်နှင့်ချိတ်ဆက်ထားသလား? %s ကိုကိုင်တွယ်ရန်အတွက် သင့်တွင် ရရှိထားသော အက်ပ်မရှိပါ + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. %d အားလုံးကိုကြည့်မည် diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml index 840546604..8256acf78 100644 --- a/app/src/main/res/values-nb/strings.xml +++ b/app/src/main/res/values-nb/strings.xml @@ -544,5 +544,6 @@ Advarsel: Enhver programsnarvei på hjemmeskjermen vil også bli fjernet og må legges til på nytt manuelt. Skjul med søke-knappen Å trykke lenge på søkeknappen vil skjule programmet + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. - + diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 4b5afea2e..4dd7c852d 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -531,5 +531,6 @@ Waarschuwingen: alle snelkoppelingen naar de app op het startscherm zullen ook verwijderd worden, en dienen handmatig opnieuw toegevoegd te worden. Verbergen met zoekknop De zoekknop lang ingedrukt houden zal de app verbergen + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. - + diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index a2afff33c..93d9b3fee 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -561,5 +561,6 @@ Ostrzeżenie: ponadto każdy skrót na ekranie startowym zostanie usunięty i wymagane będzie ponowne dodanie ich ręcznie. Ukryj przyciskiem szukania Przytrzymanie przycisku szukania ukryje aplikację + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. - + diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 553c9d30f..f221b6789 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -560,5 +560,6 @@ Atenção: Todos os atalhos de aplicativos na tela inicial também serão removidos e precisarão ser re-adicionados manualmente. Esconder o botão de busca Pressionar o botão de busca por um tempo longo vai esconder o app + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. - + diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml index 9cafa3970..3e38d16c4 100644 --- a/app/src/main/res/values-pt-rPT/strings.xml +++ b/app/src/main/res/values-pt-rPT/strings.xml @@ -557,5 +557,6 @@ Ocultar %s agora Ocultar com o botão de pesquisa Toque longo no botão de pesquisa oculta a aplicação + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. - + diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index 68daf01c0..94b04f864 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -504,4 +504,5 @@ Calculator Ascunde %s acum Ascunde cu butonul de căutare - + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. + diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 3017c961b..791ad4d24 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -544,5 +544,6 @@ Приватность Предотвратить Скриншоты Блокировать скриншоты от последних приложений + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. - + diff --git a/app/src/main/res/values-sc/strings.xml b/app/src/main/res/values-sc/strings.xml index b83a4ee68..57c18dfda 100644 --- a/app/src/main/res/values-sc/strings.xml +++ b/app/src/main/res/values-sc/strings.xml @@ -571,5 +571,6 @@ Atentzione: Fintzas cale si siat incurtzada in s\'ischermada printzipale at a èssere bogada e b\'at a dèpere èssere torrada a pònnere manualmente. Istichi cun su butone de chirca Un\'incarcada longa in su butone de chirca at a istichire s\'aplicatzione + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. - + diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index 21acd0516..fdd52d66a 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -536,4 +536,5 @@ Ignorovať Ukladanie podrobností aplikácie (%1$d/%2$d) z %3$s - + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. + diff --git a/app/src/main/res/values-sl/strings.xml b/app/src/main/res/values-sl/strings.xml index ba36de533..c2afccd3b 100644 --- a/app/src/main/res/values-sl/strings.xml +++ b/app/src/main/res/values-sl/strings.xml @@ -115,4 +115,5 @@ Zaradi nepričakovane napake se je aplikacija prisilno ustavila. Nam želite v e-pošti posredovati podrobnosti in s tem pomagati odpraviti napako? Posodobitev na voljo Namestitev neuspešna - + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. + diff --git a/app/src/main/res/values-sn/strings.xml b/app/src/main/res/values-sn/strings.xml index 763d13509..5ffa7a5af 100644 --- a/app/src/main/res/values-sn/strings.xml +++ b/app/src/main/res/values-sn/strings.xml @@ -493,6 +493,7 @@ Bato %1$s + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. Wona app imwe chete mubato iri %2$s diff --git a/app/src/main/res/values-sq/strings.xml b/app/src/main/res/values-sq/strings.xml index 5c99d8db5..e7b3033b8 100644 --- a/app/src/main/res/values-sq/strings.xml +++ b/app/src/main/res/values-sq/strings.xml @@ -114,4 +114,5 @@ Licenca I mospërputhshëm + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml index 0b7c3f6b7..77dd32ffc 100644 --- a/app/src/main/res/values-sr/strings.xml +++ b/app/src/main/res/values-sr/strings.xml @@ -518,5 +518,6 @@ Пронашли смо безбедносну рањивост у %1$s. Препоручујемо да сместа уклоните апликацију. Пронашли смо безбедносну рањивост у %1$s. Препоручујемо да сместа надоградите апликацију. Занемари + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. - + diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index d2eab9da1..d49913316 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -517,4 +517,5 @@ Förhindrar skärmdumpar och döljer appinnehåll från senaste skärmar Panikknappsapp - + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. + diff --git a/app/src/main/res/values-ta/strings.xml b/app/src/main/res/values-ta/strings.xml index e7b266224..2d03a9fc3 100644 --- a/app/src/main/res/values-ta/strings.xml +++ b/app/src/main/res/values-ta/strings.xml @@ -81,4 +81,5 @@ இச்செயலியில் விளம்பரங்கள் உள்ளது இச்செயலி உங்கள் செயல்பாடுகளை கண்கானித்து தகவல்களை வேறொருவருக்குத் தெரிவிக்கிறது + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml index 06bb021a6..4f6c54214 100644 --- a/app/src/main/res/values-th/strings.xml +++ b/app/src/main/res/values-th/strings.xml @@ -397,4 +397,5 @@ แต่ได้ทำการบันทึกข้อมูลกุณแจเข้ารหัสใหม่เพิ่มเข้าไป ล่าสุด - + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. + diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 44ce75a7b..38a9ee380 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -541,5 +541,6 @@ Uyarı: Ana ekrandaki her bir uygulama kısayolu da kaldırılacak ve elle yeniden eklenmesi gerekecek. Arama düğmesiyle gizle Arama düğmesine uzun basmak uygulamayı gizler + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. - + diff --git a/app/src/main/res/values-ug/strings.xml b/app/src/main/res/values-ug/strings.xml index 68d5dad17..daf76b047 100644 --- a/app/src/main/res/values-ug/strings.xml +++ b/app/src/main/res/values-ug/strings.xml @@ -65,4 +65,5 @@ ھېچقانداق ھوقۇق ئىشلەتمەيدۇ. سىز %s نى بىر تەرەپ قىلالايدىغان ھېچقانداق ئەپ ئورناتمىغان ئۆرنەك + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 50937fb7a..0a298f85c 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -529,4 +529,5 @@ Вийти з додатку Приховати %s - + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. + diff --git a/app/src/main/res/values-ur/strings.xml b/app/src/main/res/values-ur/strings.xml index ca49c918b..6b02272c7 100644 --- a/app/src/main/res/values-ur/strings.xml +++ b/app/src/main/res/values-ur/strings.xml @@ -32,4 +32,5 @@ خودکار اپڈیٹس ڈاؤنلوڈ کریں اپڈیٹ والی فائلوں کو پسِ منظر ڈاؤنلوڈ کریں F-Droid Privileged Extension کے ذریعے پیکج کو انسٹال، اپڈیٹ اور حذف کریں + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index 81b176e77..978f9a87a 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -489,6 +489,7 @@ Được cập nhật hôm nay + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. Được cập nhật %1$d ngày trước diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index f045e2560..4e747941a 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -479,4 +479,5 @@ 隐藏 %s 应用程序将隐藏自己 - + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. + diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index 0a1b524e7..5dae3dadc 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -457,4 +457,5 @@ 已安裝的程式版本與可供安裝的版本並不相容。卸載現有的應用程式將讓您檢視及安裝相容的版本。此問題通常出現於透過 Google Play 或其他途徑安裝,並使用不同認證的應用程式。 F-Droid 偵測到一個 EIO 錯誤:%s 很可能已崩潰! - + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. + diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index d65bbd535..ef9abb834 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -507,5 +507,6 @@ 警告:主畫面上任何的應用程式捷徑也將被移除,並需要重新手動新增。 隱藏搜尋按鈕 長按搜尋按鈕將會隱藏應用程式 + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. - + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a8838f0a5..26a67f65b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -563,6 +563,7 @@ This often occurs with apps installed via Google Play or other sources, if they Updated today + Your camera doesn\'t seem to have an autofocus. It might be difficult to scan the code. Updated %1$d day ago Updated %1$d days ago From 6b484f4f01fea8d7836357891fbcfd47fac704e8 Mon Sep 17 00:00:00 2001 From: jif Date: Thu, 1 Mar 2018 18:47:14 +0100 Subject: [PATCH 4/6] Add style for the poor QR code scanning autofocus capability warning --- app/src/main/res/values/styles.xml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index bdfe561dd..e9cd7018f 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -227,12 +227,19 @@ +