QRCode est un objet et afficher des toasts pendant la génération
This commit is contained in:
parent
9828aff63a
commit
73900edd1b
|
@ -97,16 +97,22 @@ class MainActivity : BaseActivity() {
|
|||
* l'application
|
||||
*/
|
||||
fun qrcode() {
|
||||
val toast = Toast.makeText(this, getString(R.string.generating_qrcode), Toast.LENGTH_SHORT)
|
||||
toast.show()
|
||||
|
||||
object : AsyncTask<Void, Void, Bitmap>() {
|
||||
|
||||
override fun doInBackground(vararg params: Void?): Bitmap? {
|
||||
return QRCode.instance.generate(this@MainActivity)
|
||||
return QRCode.generate(this@MainActivity)
|
||||
}
|
||||
|
||||
override fun onPostExecute(qrcode: Bitmap?) {
|
||||
super.onPostExecute(qrcode)
|
||||
|
||||
if (qrcode != null) {
|
||||
toast.setText(R.string.qrcode_generated)
|
||||
toast.show()
|
||||
|
||||
// création de la pop-up
|
||||
val alertDialog = AlertDialog.Builder(this@MainActivity).create()
|
||||
alertDialog.setTitle(R.string.action_qrcode)
|
||||
|
@ -119,7 +125,8 @@ class MainActivity : BaseActivity() {
|
|||
// afficher la pop-up
|
||||
alertDialog.show()
|
||||
} else {
|
||||
Toast.makeText(this@MainActivity, R.string.qrcode_error, Toast.LENGTH_SHORT).show()
|
||||
toast.setText(R.string.qrcode_error)
|
||||
toast.show()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -51,7 +51,7 @@ class NornMessageReceiver : BroadcastReceiver() {
|
|||
}
|
||||
|
||||
// vérifier si le message est en rapport avec un QR code
|
||||
if (QRCode.instance.message_hook(context, message))
|
||||
if (QRCode.message_hook(context, message))
|
||||
return
|
||||
|
||||
/*
|
||||
|
@ -69,20 +69,20 @@ class NornMessageReceiver : BroadcastReceiver() {
|
|||
message.setPublicKey(context)
|
||||
|
||||
/*
|
||||
*
|
||||
* Si la conversation n'est pas déjà notée comme sécurisée on envoi un message à
|
||||
* l'expéditeur du message afin d'être sûr qu'il aient reçu notre clé publique.
|
||||
* Les échanges s'effectuent donc ainsi:
|
||||
*
|
||||
* - L'application envoie la clé publique à un autre utilisateur de l'application
|
||||
* - L'application de l'autre utilisateur répond en envoyant également sa clé publique
|
||||
* et considère alors la conversation comme sécurisée
|
||||
* - L'application reçoit la clé publique de l'autre utilisateur et considère elle
|
||||
* aussi la conversation comme sécurisée, elle envoi de nouveau sa clé publique
|
||||
* - L'application de l'autre utilisateur reçoit de nouveau la clé et arrête la boucle
|
||||
*
|
||||
* Cela permet d'échanger les clés de manière simple et sûre.
|
||||
*/
|
||||
*
|
||||
* Si la conversation n'est pas déjà notée comme sécurisée on envoi un message à
|
||||
* l'expéditeur du message afin d'être sûr qu'il aient reçu notre clé publique.
|
||||
* Les échanges s'effectuent donc ainsi:
|
||||
*
|
||||
* - L'application envoie la clé publique à un autre utilisateur de l'application
|
||||
* - L'application de l'autre utilisateur répond en envoyant également sa clé publique
|
||||
* et considère alors la conversation comme sécurisée
|
||||
* - L'application reçoit la clé publique de l'autre utilisateur et considère elle
|
||||
* aussi la conversation comme sécurisée, elle envoi de nouveau sa clé publique
|
||||
* - L'application de l'autre utilisateur reçoit de nouveau la clé et arrête la boucle
|
||||
*
|
||||
* Cela permet d'échanger les clés de manière simple et sûre.
|
||||
*/
|
||||
if (!message.conversation.secured) {
|
||||
message.conversation.createSecuredConversation(context)
|
||||
message.conversation.setSecured(true, context)
|
||||
|
|
|
@ -38,22 +38,17 @@ import java.util.*
|
|||
* Il sera possible de reconnaitre ce SMS par la présence du token dans le message.
|
||||
* L'échange de clé ainsi effectué permet d'éviter les attaques de type man-in-the-middle.
|
||||
*/
|
||||
class QRCode {
|
||||
object QRCode {
|
||||
|
||||
companion object {
|
||||
/**
|
||||
* Taille du token présent dans les QR codes
|
||||
*/
|
||||
val TOKEN_SIZE = 32
|
||||
/**
|
||||
* Taille du token présent dans les QR codes
|
||||
*/
|
||||
val TOKEN_SIZE = 32
|
||||
|
||||
/**
|
||||
* Singleton QRCode, nécessaire au fonctionnement des QR codes
|
||||
*/
|
||||
val instance by lazy { QRCode() }
|
||||
|
||||
private var preferences: SharedPreferences? = null
|
||||
|
||||
}
|
||||
/**
|
||||
* Préférences liées aux QR codes
|
||||
*/
|
||||
private var preferences: SharedPreferences? = null
|
||||
|
||||
/**
|
||||
* Association des tokens à leur clé à utilisation unique
|
||||
|
|
|
@ -40,4 +40,6 @@
|
|||
<string name="enter_number">Saisissez votre numéro de téléphone</string>
|
||||
<string name="wrong_number">Ce numéro de téléphone ne semble pas être le votre</string>
|
||||
<string name="correct_number">Numéro de téléphone correct</string>
|
||||
<string name="generating_qrcode">QR code en cours de génération</string>
|
||||
<string name="qrcode_generated">QR code généré</string>
|
||||
</resources>
|
|
@ -40,4 +40,6 @@
|
|||
<string name="enter_number">Enter your phone number</string>
|
||||
<string name="wrong_number">It doesn\'t seem to be your phone number</string>
|
||||
<string name="correct_number">Correct phone number</string>
|
||||
<string name="generating_qrcode">Generating QR code</string>
|
||||
<string name="qrcode_generated">QR code generated</string>
|
||||
</resources>
|
||||
|
|
Loading…
Reference in a new issue