diff --git a/res/values/strings.xml b/res/values/strings.xml index 4264e40d7e..9ece09ded0 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -219,6 +219,8 @@ No scanned key found! + Install Barcode Scanner? + TextSecure needs Barcode Scanner for QR codes. Error storing MMS! diff --git a/src/org/thoughtcrime/securesms/KeyScanningActivity.java b/src/org/thoughtcrime/securesms/KeyScanningActivity.java index e892dd979c..7e39a5b9a9 100644 --- a/src/org/thoughtcrime/securesms/KeyScanningActivity.java +++ b/src/org/thoughtcrime/securesms/KeyScanningActivity.java @@ -28,6 +28,7 @@ import com.google.zxing.integration.android.IntentResult; import org.thoughtcrime.securesms.util.Base64; import org.thoughtcrime.securesms.util.Dialogs; +import org.thoughtcrime.securesms.util.DynamicLanguage; import org.thoughtcrime.securesms.util.DynamicTheme; import org.whispersystems.libaxolotl.IdentityKey; @@ -38,11 +39,13 @@ import org.whispersystems.libaxolotl.IdentityKey; */ public abstract class KeyScanningActivity extends PassphraseRequiredActionBarActivity { - private final DynamicTheme dynamicTheme = new DynamicTheme(); + private final DynamicTheme dynamicTheme = new DynamicTheme(); + private final DynamicLanguage dynamicLanguage = new DynamicLanguage(); @Override protected void onCreate(Bundle bundle) { dynamicTheme.onCreate(this); + dynamicLanguage.onCreate(this); super.onCreate(bundle); } @@ -50,6 +53,7 @@ public abstract class KeyScanningActivity extends PassphraseRequiredActionBarAct public void onResume() { super.onResume(); dynamicTheme.onResume(this); + dynamicLanguage.onResume(this); } @Override @@ -98,13 +102,22 @@ public abstract class KeyScanningActivity extends PassphraseRequiredActionBarAct } } - protected void initiateScan() { + private IntentIntegrator getIntentIntegrator() { IntentIntegrator intentIntegrator = new IntentIntegrator(this); + intentIntegrator.setButtonYesByID(R.string.yes); + intentIntegrator.setButtonNoByID(R.string.no); + intentIntegrator.setTitleByID(R.string.KeyScanningActivity_install_barcode_Scanner); + intentIntegrator.setMessageByID(R.string.KeyScanningActivity_this_application_requires_barcode_scanner_would_you_like_to_install_it); + return intentIntegrator; + } + + protected void initiateScan() { + IntentIntegrator intentIntegrator = getIntentIntegrator(); intentIntegrator.initiateScan(); } protected void initiateDisplay() { - IntentIntegrator intentIntegrator = new IntentIntegrator(this); + IntentIntegrator intentIntegrator = getIntentIntegrator(); intentIntegrator.shareText(Base64.encodeBytes(getIdentityKeyToDisplay().serialize())); }