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/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..53889a7a5 --- /dev/null +++ b/app/src/main/java/org/fdroid/fdroid/views/swap/device/camera/CameraCharacteristicsChecker.java @@ -0,0 +1,21 @@ +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..84f8d88e3 --- /dev/null +++ b/app/src/main/java/org/fdroid/fdroid/views/swap/device/camera/CameraCharacteristicsMinApiLevel21.java @@ -0,0 +1,111 @@ +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"; + private final 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; + } + +} 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 diff --git a/app/src/main/res/values-af/strings.xml b/app/src/main/res/values-af/strings.xml index 9e99fa4ae..c06a477eb 100644 --- a/app/src/main/res/values-af/strings.xml +++ b/app/src/main/res/values-af/strings.xml @@ -528,4 +528,4 @@ Afgelaai, gereed om te installeer Stoor program besonderhede (%1$d/%2$d) vanaf %3$s - + diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index a220729e2..916450fc5 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -519,4 +519,4 @@ إخفاء %s التطبيق سوف يخفي نفسه - + diff --git a/app/src/main/res/values-ast/strings.xml b/app/src/main/res/values-ast/strings.xml index 804904630..de5b1879f 100644 --- a/app/src/main/res/values-ast/strings.xml +++ b/app/src/main/res/values-ast/strings.xml @@ -534,4 +534,4 @@ Tapecer %s Tapeceráse la app - + diff --git a/app/src/main/res/values-be/strings.xml b/app/src/main/res/values-be/strings.xml index 539a35269..1b6e4ca04 100644 --- a/app/src/main/res/values-be/strings.xml +++ b/app/src/main/res/values-be/strings.xml @@ -575,4 +575,4 @@ Выйсці з праграмы Запомніць як аднаўляць - + diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index 7765d45a0..4a1f7120e 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -509,4 +509,4 @@ За споделянето на приложения с други около вас, и двете устройства трябва да използват %1$s. - + diff --git a/app/src/main/res/values-bo/strings.xml b/app/src/main/res/values-bo/strings.xml index 273943186..ad6aa731c 100644 --- a/app/src/main/res/values-bo/strings.xml +++ b/app/src/main/res/values-bo/strings.xml @@ -475,4 +475,4 @@ དྲྭ་ཤེལ་པར་ལེན་བཀག ཉེ་བའི་ཆར་གྱི་མཉེས་ཆས་དྲྭ་ཤེལ་ནས་དྲྭ་ཤེལ་པར་ལེན་བཀག་པ་དང་། དྲྭ་ཤེལ་པར་ལེན་ནསམཉེས་ཆས་ནང་དོན་སྦས་པ། - + diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index a08e2a89b..7315a7ddc 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -516,4 +516,4 @@ Amagueu %s L\'app s\'ocultarà - + diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 872ac7e65..ea1c750ef 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -555,4 +555,4 @@ Skrýt tlačítko vyhledávání Dlouhý stisk tlačítka hledání skryje aplikaci - + diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 48bb592dc..58248dd46 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -503,4 +503,4 @@ Ignorer Gemmer app detaljer (%1$d/%2$d) fra %3$s - + diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 1dfba3c4b..0358d888c 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -548,4 +548,4 @@ 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. - + diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml index 103d3f9dd..92ae0c636 100644 --- a/app/src/main/res/values-eo/strings.xml +++ b/app/src/main/res/values-eo/strings.xml @@ -533,4 +533,4 @@ Kaŝi per serĉ-butono Longe premu la serĉ-butonon por kaŝi la aplikaĵon - + diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 2c2f2d3fe..f044b8656 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -541,4 +541,4 @@ Ocultar %s La aplicación se ocultará - + diff --git a/app/src/main/res/values-et/strings.xml b/app/src/main/res/values-et/strings.xml index c4d5d1fda..a57f251bb 100644 --- a/app/src/main/res/values-et/strings.xml +++ b/app/src/main/res/values-et/strings.xml @@ -543,4 +543,4 @@ 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 - + diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml index 994dd664a..816761dd9 100644 --- a/app/src/main/res/values-eu/strings.xml +++ b/app/src/main/res/values-eu/strings.xml @@ -572,4 +572,4 @@ Ezkutatu bilaketa botoiarekin Bilaketa botoia luze zapaltzean aplikazioa ezkutatuko da - + diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml index 7654f16ac..7c7922747 100644 --- a/app/src/main/res/values-fa/strings.xml +++ b/app/src/main/res/values-fa/strings.xml @@ -515,4 +515,4 @@ پنهان کردن با دکمهٔ جست‌وجو لمس طولانی دکمهٔ جست‌وجو، کاره را پنهان می‌کند - + diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 9731cd02c..b2b1eba1c 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -551,4 +551,4 @@ 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. - + diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index 04c4c905b..df732d496 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -515,4 +515,4 @@ Actualizado hai %1$d anos Gardando os detalles das apps - + diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml index c700fdd9d..bf3a9ec50 100644 --- a/app/src/main/res/values-he/strings.xml +++ b/app/src/main/res/values-he/strings.xml @@ -541,4 +541,4 @@ הסתרה עם כפתור החיפוש לחיצה ארוכה על כפתור החיפוש תסתיר את היישומון - + diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index cf0f9ac9f..346860a75 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -154,4 +154,4 @@ नया व्हर्जन भिन्न की से साईन किया हुवा है।नया व्हर्जन इन्स्टॉल करनेकेलिए पुराना अनइंस्टाल करें।कृपया फिर से कोशिश करें। ( याद रहे कि अनइंस्टाल करनेके बाद ऐप डेटा डिलेट हो जायेगा।) इनस्टॉल हिस्ट्री रखें सभी इन्स्टॉल एवं अनइंस्टॉल लॉग को एफ-ड्रॉइड में रखें - + diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 2232c4414..9bb43782e 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -483,4 +483,4 @@ A(z) %1$s által biztosítva. Kategória %1$s - + diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml index 1931172b8..2096cbdb6 100644 --- a/app/src/main/res/values-id/strings.xml +++ b/app/src/main/res/values-id/strings.xml @@ -529,4 +529,4 @@ Sembunyikan %s Aplikasi akan sembunyi dengan sendirinya - + diff --git a/app/src/main/res/values-is/strings.xml b/app/src/main/res/values-is/strings.xml index d8f5b8772..718ffb265 100644 --- a/app/src/main/res/values-is/strings.xml +++ b/app/src/main/res/values-is/strings.xml @@ -585,4 +585,4 @@ Fela með leitarhnappi Ef ýtt er lengi mun leitarhnappurinn fela forritið - + diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 7ad2c4350..488c08ac5 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -555,4 +555,4 @@ Conferma Applicazione Pulsante di Panico Sei sicuro di voler permettere %1$s di eseguire azioni distruttive del pulsante di panico? Impostazioni Pulsante di Panico - + diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 1cb32b9a2..b2984c9a6 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -495,4 +495,4 @@ 検索ボタンで非表示にする 検索ボタンを長押しすることでアプリを非表示にすることができます - + diff --git a/app/src/main/res/values-kab/strings.xml b/app/src/main/res/values-kab/strings.xml index dc741f7fd..f2f46b191 100644 --- a/app/src/main/res/values-kab/strings.xml +++ b/app/src/main/res/values-kab/strings.xml @@ -235,4 +235,4 @@ Asesfer n %2$s / %3$s (%4$d%%) from %1$s Iwjed i usebded Alqem iwjed i usebded - + diff --git a/app/src/main/res/values-kn/strings.xml b/app/src/main/res/values-kn/strings.xml index cb719008f..d98603ff2 100644 --- a/app/src/main/res/values-kn/strings.xml +++ b/app/src/main/res/values-kn/strings.xml @@ -83,4 +83,4 @@ ಇತರೆ ಅಳಿಸು - + diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 1eaa5f174..a38c48197 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -477,4 +477,4 @@ %s 숨기기 앱 자체가 숨을 것입니다 - + diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index f55b6488e..61cf7efc8 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -136,4 +136,4 @@ 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 - + diff --git a/app/src/main/res/values-lv/strings.xml b/app/src/main/res/values-lv/strings.xml index d10196226..7525d2354 100644 --- a/app/src/main/res/values-lv/strings.xml +++ b/app/src/main/res/values-lv/strings.xml @@ -163,4 +163,4 @@ Atcelt lejupielādi Atjaunināt Fails instalēts uz %s - + diff --git a/app/src/main/res/values-ml/strings.xml b/app/src/main/res/values-ml/strings.xml index 163dd87af..e4a912f93 100644 --- a/app/src/main/res/values-ml/strings.xml +++ b/app/src/main/res/values-ml/strings.xml @@ -452,4 +452,4 @@ %1$s നൽകിയത്. എല്ലാ നെറ്റ്വർക്ക് അഭ്യർത്ഥനകൾക്കും പ്രോക്സി ക്രമീകരിക്കുക പ്രോക്സി ഹോസ്റ്റ് - + diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml index 840546604..7c6a4972e 100644 --- a/app/src/main/res/values-nb/strings.xml +++ b/app/src/main/res/values-nb/strings.xml @@ -545,4 +545,4 @@ Skjul med søke-knappen Å trykke lenge på søkeknappen vil skjule programmet - + diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 4b5afea2e..4fcbb9026 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -532,4 +532,4 @@ Verbergen met zoekknop De zoekknop lang ingedrukt houden zal de app verbergen - + diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index a2afff33c..22a4a5754 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -562,4 +562,4 @@ Ukryj przyciskiem szukania Przytrzymanie przycisku szukania ukryje aplikację - + diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 553c9d30f..52178946c 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -561,4 +561,4 @@ Esconder o botão de busca Pressionar o botão de busca por um tempo longo vai esconder o app - + diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml index 9cafa3970..6c531f842 100644 --- a/app/src/main/res/values-pt-rPT/strings.xml +++ b/app/src/main/res/values-pt-rPT/strings.xml @@ -558,4 +558,4 @@ Ocultar com o botão de pesquisa Toque longo no botão de pesquisa oculta a aplicação - + diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index 68daf01c0..319d83340 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -504,4 +504,4 @@ Calculator Ascunde %s acum Ascunde cu butonul de căutare - + diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 3017c961b..0b4aa198c 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -545,4 +545,4 @@ Предотвратить Скриншоты Блокировать скриншоты от последних приложений - + diff --git a/app/src/main/res/values-sc/strings.xml b/app/src/main/res/values-sc/strings.xml index b83a4ee68..b0eff765c 100644 --- a/app/src/main/res/values-sc/strings.xml +++ b/app/src/main/res/values-sc/strings.xml @@ -572,4 +572,4 @@ Istichi cun su butone de chirca Un\'incarcada longa in su butone de chirca at a istichire s\'aplicatzione - + diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index 21acd0516..ee4c830c9 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -536,4 +536,4 @@ Ignorovať Ukladanie podrobností aplikácie (%1$d/%2$d) z %3$s - + diff --git a/app/src/main/res/values-sl/strings.xml b/app/src/main/res/values-sl/strings.xml index ba36de533..2b64e00d9 100644 --- a/app/src/main/res/values-sl/strings.xml +++ b/app/src/main/res/values-sl/strings.xml @@ -115,4 +115,4 @@ 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 - + diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml index 0b7c3f6b7..0a6f70cbf 100644 --- a/app/src/main/res/values-sr/strings.xml +++ b/app/src/main/res/values-sr/strings.xml @@ -519,4 +519,4 @@ Пронашли смо безбедносну рањивост у %1$s. Препоручујемо да сместа надоградите апликацију. Занемари - + diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index d2eab9da1..9471b1471 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -517,4 +517,4 @@ Förhindrar skärmdumpar och döljer appinnehåll från senaste skärmar Panikknappsapp - + diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml index 06bb021a6..2577de2e1 100644 --- a/app/src/main/res/values-th/strings.xml +++ b/app/src/main/res/values-th/strings.xml @@ -397,4 +397,4 @@ แต่ได้ทำการบันทึกข้อมูลกุณแจเข้ารหัสใหม่เพิ่มเข้าไป ล่าสุด - + diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 44ce75a7b..e8d099b12 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -542,4 +542,4 @@ Arama düğmesiyle gizle Arama düğmesine uzun basmak uygulamayı gizler - + diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 50937fb7a..3d479509c 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -529,4 +529,4 @@ Вийти з додатку Приховати %s - + diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index f045e2560..4ed60a725 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -479,4 +479,4 @@ 隐藏 %s 应用程序将隐藏自己 - + diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index 0a1b524e7..b9fccb048 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -457,4 +457,4 @@ 已安裝的程式版本與可供安裝的版本並不相容。卸載現有的應用程式將讓您檢視及安裝相容的版本。此問題通常出現於透過 Google Play 或其他途徑安裝,並使用不同認證的應用程式。 F-Droid 偵測到一個 EIO 錯誤:%s 很可能已崩潰! - + diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index d65bbd535..e39dcad41 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -508,4 +508,4 @@ 隱藏搜尋按鈕 長按搜尋按鈕將會隱藏應用程式 - + 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 diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 90fbb95c1..49c63556d 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -228,12 +228,19 @@ +