mirror of
https://github.com/moparisthebest/Conversations
synced 2024-11-28 03:32:15 -05:00
use qr codes instead of aztec. Barcode Scanner is terrible at reading aztec. fixes #2375
This commit is contained in:
parent
935ac25cbd
commit
91a69d7d85
@ -18,8 +18,9 @@ import android.util.Log;
|
|||||||
|
|
||||||
import com.google.zxing.BarcodeFormat;
|
import com.google.zxing.BarcodeFormat;
|
||||||
import com.google.zxing.EncodeHintType;
|
import com.google.zxing.EncodeHintType;
|
||||||
import com.google.zxing.aztec.AztecWriter;
|
|
||||||
import com.google.zxing.common.BitMatrix;
|
import com.google.zxing.common.BitMatrix;
|
||||||
|
import com.google.zxing.qrcode.QRCodeWriter;
|
||||||
|
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
@ -106,7 +107,7 @@ public class BarcodeProvider extends ContentProvider implements ServiceConnectio
|
|||||||
if (!file.exists()) {
|
if (!file.exists()) {
|
||||||
file.getParentFile().mkdirs();
|
file.getParentFile().mkdirs();
|
||||||
file.createNewFile();
|
file.createNewFile();
|
||||||
Bitmap bitmap = createAztecBitmap(account.getShareableUri(), 1024);
|
Bitmap bitmap = create2dBarcodeBitmap(account.getShareableUri(), 1024);
|
||||||
OutputStream outputStream = new FileOutputStream(file);
|
OutputStream outputStream = new FileOutputStream(file);
|
||||||
bitmap.compress(Bitmap.CompressFormat.PNG, 100, outputStream);
|
bitmap.compress(Bitmap.CompressFormat.PNG, 100, outputStream);
|
||||||
outputStream.close();
|
outputStream.close();
|
||||||
@ -181,12 +182,12 @@ public class BarcodeProvider extends ContentProvider implements ServiceConnectio
|
|||||||
return Uri.parse("content://" + packageId + AUTHORITY + "/" + account.getJid().toBareJid() + ".png");
|
return Uri.parse("content://" + packageId + AUTHORITY + "/" + account.getJid().toBareJid() + ".png");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Bitmap createAztecBitmap(String input, int size) {
|
public static Bitmap create2dBarcodeBitmap(String input, int size) {
|
||||||
try {
|
try {
|
||||||
final AztecWriter AZTEC_WRITER = new AztecWriter();
|
final QRCodeWriter barcodeWriter = new QRCodeWriter();
|
||||||
final Hashtable<EncodeHintType, Object> hints = new Hashtable<>();
|
final Hashtable<EncodeHintType, Object> hints = new Hashtable<>();
|
||||||
hints.put(EncodeHintType.ERROR_CORRECTION, 10);
|
hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);
|
||||||
final BitMatrix result = AZTEC_WRITER.encode(input, BarcodeFormat.AZTEC, size, size, hints);
|
final BitMatrix result = barcodeWriter.encode(input, BarcodeFormat.QR_CODE, size, size, hints);
|
||||||
final int width = result.getWidth();
|
final int width = result.getWidth();
|
||||||
final int height = result.getHeight();
|
final int height = result.getHeight();
|
||||||
final int[] pixels = new int[width * height];
|
final int[] pixels = new int[width * height];
|
||||||
@ -200,6 +201,7 @@ public class BarcodeProvider extends ContentProvider implements ServiceConnectio
|
|||||||
bitmap.setPixels(pixels, 0, width, 0, 0, width, height);
|
bitmap.setPixels(pixels, 0, width, 0, 0, width, height);
|
||||||
return bitmap;
|
return bitmap;
|
||||||
} catch (final Exception e) {
|
} catch (final Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -52,18 +52,12 @@ import android.widget.EditText;
|
|||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import com.google.zxing.BarcodeFormat;
|
|
||||||
import com.google.zxing.EncodeHintType;
|
|
||||||
import com.google.zxing.aztec.AztecWriter;
|
|
||||||
import com.google.zxing.common.BitMatrix;
|
|
||||||
|
|
||||||
import net.java.otr4j.session.SessionID;
|
import net.java.otr4j.session.SessionID;
|
||||||
|
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
import java.lang.ref.WeakReference;
|
import java.lang.ref.WeakReference;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Hashtable;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.concurrent.RejectedExecutionException;
|
import java.util.concurrent.RejectedExecutionException;
|
||||||
@ -1059,7 +1053,7 @@ public abstract class XmppActivity extends Activity {
|
|||||||
Point size = new Point();
|
Point size = new Point();
|
||||||
getWindowManager().getDefaultDisplay().getSize(size);
|
getWindowManager().getDefaultDisplay().getSize(size);
|
||||||
final int width = (size.x < size.y ? size.x : size.y);
|
final int width = (size.x < size.y ? size.x : size.y);
|
||||||
Bitmap bitmap = BarcodeProvider.createAztecBitmap(uri, width);
|
Bitmap bitmap = BarcodeProvider.create2dBarcodeBitmap(uri, width);
|
||||||
ImageView view = new ImageView(this);
|
ImageView view = new ImageView(this);
|
||||||
view.setBackgroundColor(Color.WHITE);
|
view.setBackgroundColor(Color.WHITE);
|
||||||
view.setImageBitmap(bitmap);
|
view.setImageBitmap(bitmap);
|
||||||
|
@ -176,6 +176,7 @@
|
|||||||
<string name="mgmt_account_delete_confirm_text">Zure kontua ezabatzen baduzu zure elkarrizketa historia guztia galduko da</string>
|
<string name="mgmt_account_delete_confirm_text">Zure kontua ezabatzen baduzu zure elkarrizketa historia guztia galduko da</string>
|
||||||
<string name="attach_record_voice">Ahotsa grabatu</string>
|
<string name="attach_record_voice">Ahotsa grabatu</string>
|
||||||
<string name="account_settings_jabber_id">Jabber IDa</string>
|
<string name="account_settings_jabber_id">Jabber IDa</string>
|
||||||
|
<string name="block_jabber_id">Jabber IDa blokeatu</string>
|
||||||
<string name="account_settings_password">Pasahitza</string>
|
<string name="account_settings_password">Pasahitza</string>
|
||||||
<string name="account_settings_example_jabber_id">erabiltzailea@adibidea.com</string>
|
<string name="account_settings_example_jabber_id">erabiltzailea@adibidea.com</string>
|
||||||
<string name="account_settings_confirm_password">Pasahitza berretsi</string>
|
<string name="account_settings_confirm_password">Pasahitza berretsi</string>
|
||||||
@ -470,6 +471,8 @@
|
|||||||
<string name="disable_account">Kontua ezgaitu</string>
|
<string name="disable_account">Kontua ezgaitu</string>
|
||||||
<string name="contact_is_typing">%s idazten ari da...</string>
|
<string name="contact_is_typing">%s idazten ari da...</string>
|
||||||
<string name="contact_has_stopped_typing">%s(e)k idazteari utzi dio</string>
|
<string name="contact_has_stopped_typing">%s(e)k idazteari utzi dio</string>
|
||||||
|
<string name="contacts_are_typing">%s idazten ari dira…</string>
|
||||||
|
<string name="contacts_have_stopped_typing">%s idazteari utzi diote</string>
|
||||||
<string name="pref_chat_states">Idazketa jakinarazpenak</string>
|
<string name="pref_chat_states">Idazketa jakinarazpenak</string>
|
||||||
<string name="pref_chat_states_summary">Zure kontaktuak mezu berri bat noiz idazten ari zaren jakin dezaten baimendu</string>
|
<string name="pref_chat_states_summary">Zure kontaktuak mezu berri bat noiz idazten ari zaren jakin dezaten baimendu</string>
|
||||||
<string name="send_location">Kokapena partekatu</string>
|
<string name="send_location">Kokapena partekatu</string>
|
||||||
@ -700,4 +703,9 @@
|
|||||||
<string name="encrypting_message">Mezua enkriptatzen</string>
|
<string name="encrypting_message">Mezua enkriptatzen</string>
|
||||||
<string name="not_fetching_history_retention_period">Mezurik ez eskuratzen gelditze tarte lokalarengatik.</string>
|
<string name="not_fetching_history_retention_period">Mezurik ez eskuratzen gelditze tarte lokalarengatik.</string>
|
||||||
<string name="transcoding_video_progress">Bideoa konprimatzen (%s%% osatua)</string>
|
<string name="transcoding_video_progress">Bideoa konprimatzen (%s%% osatua)</string>
|
||||||
|
<string name="corresponding_conversations_closed">Dagokion elkarrizketa itxi egin da.</string>
|
||||||
|
<string name="contact_blocked_past_tense">Kontaktua blokeatu da.</string>
|
||||||
|
<string name="pref_notifications_from_strangers">Ezezagunen jakinarazpenak</string>
|
||||||
|
<string name="pref_notifications_from_strangers_summary">Ezezagunen mezuak jasotzerakoan jakinarazi.</string>
|
||||||
|
<string name="received_message_from_stranger">Ezezagun baten mezu bat jaso duzu</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
Loading…
Reference in New Issue
Block a user