Remove unnecessary QR image generation
This commit is contained in:
parent
766f16d113
commit
13f47319b2
3 changed files with 6 additions and 43 deletions
|
@ -1,22 +1,5 @@
|
||||||
package events
|
package events
|
||||||
|
|
||||||
type QRCODE_UPDATED struct {
|
type QRCODE_UPDATED struct {
|
||||||
Image []byte
|
URL string
|
||||||
Height int
|
|
||||||
Width int
|
|
||||||
|
|
||||||
googleUrl string
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewQrCodeUpdated(image []byte, height int, width int, googleUrl string) *QRCODE_UPDATED {
|
|
||||||
return &QRCODE_UPDATED{
|
|
||||||
Image: image,
|
|
||||||
Height: height,
|
|
||||||
Width: width,
|
|
||||||
googleUrl: googleUrl,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (q *QRCODE_UPDATED) GetGoogleUrl() string {
|
|
||||||
return q.googleUrl
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,7 @@ import (
|
||||||
|
|
||||||
"go.mau.fi/mautrix-gmessages/libgm/binary"
|
"go.mau.fi/mautrix-gmessages/libgm/binary"
|
||||||
"go.mau.fi/mautrix-gmessages/libgm/crypto"
|
"go.mau.fi/mautrix-gmessages/libgm/crypto"
|
||||||
|
"go.mau.fi/mautrix-gmessages/libgm/events"
|
||||||
"go.mau.fi/mautrix-gmessages/libgm/payload"
|
"go.mau.fi/mautrix-gmessages/libgm/payload"
|
||||||
"go.mau.fi/mautrix-gmessages/libgm/util"
|
"go.mau.fi/mautrix-gmessages/libgm/util"
|
||||||
)
|
)
|
||||||
|
@ -16,7 +17,6 @@ type Pairer struct {
|
||||||
KeyData *crypto.JWK
|
KeyData *crypto.JWK
|
||||||
ticker *time.Ticker
|
ticker *time.Ticker
|
||||||
tickerTime time.Duration
|
tickerTime time.Duration
|
||||||
qrCodePx int
|
|
||||||
pairingKey []byte
|
pairingKey []byte
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -35,17 +35,12 @@ func (c *Client) NewPairer(keyData *crypto.JWK, refreshQrCodeTime int) (*Pairer,
|
||||||
p := &Pairer{
|
p := &Pairer{
|
||||||
client: c,
|
client: c,
|
||||||
KeyData: keyData,
|
KeyData: keyData,
|
||||||
qrCodePx: 214,
|
|
||||||
tickerTime: time.Duration(refreshQrCodeTime) * time.Second,
|
tickerTime: time.Duration(refreshQrCodeTime) * time.Second,
|
||||||
}
|
}
|
||||||
c.pairer = p
|
c.pairer = p
|
||||||
return p, nil
|
return p, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *Pairer) SetQRCodePx(pixels int) {
|
|
||||||
p.qrCodePx = pixels
|
|
||||||
}
|
|
||||||
|
|
||||||
func (p *Pairer) RegisterPhoneRelay() (*binary.RegisterPhoneRelayResponse, error) {
|
func (p *Pairer) RegisterPhoneRelay() (*binary.RegisterPhoneRelayResponse, error) {
|
||||||
body, _, err := payload.RegisterPhoneRelay(p.KeyData)
|
body, _, err := payload.RegisterPhoneRelay(p.KeyData)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -69,11 +64,11 @@ func (p *Pairer) RegisterPhoneRelay() (*binary.RegisterPhoneRelayResponse, error
|
||||||
return nil, err3
|
return nil, err3
|
||||||
}
|
}
|
||||||
p.pairingKey = res.GetPairingKey()
|
p.pairingKey = res.GetPairingKey()
|
||||||
qrCode, qrErr := p.GenerateQRCode(p.qrCodePx)
|
url, qrErr := p.GenerateQRCodeData()
|
||||||
if qrErr != nil {
|
if qrErr != nil {
|
||||||
return nil, qrErr
|
return nil, qrErr
|
||||||
}
|
}
|
||||||
p.client.triggerEvent(qrCode)
|
p.client.triggerEvent(&events.QRCODE_UPDATED{URL: url})
|
||||||
p.startRefreshRelayTask()
|
p.startRefreshRelayTask()
|
||||||
return res, err
|
return res, err
|
||||||
}
|
}
|
||||||
|
@ -115,11 +110,11 @@ func (p *Pairer) RefreshPhoneRelay() {
|
||||||
}
|
}
|
||||||
p.pairingKey = res.GetPairKey()
|
p.pairingKey = res.GetPairKey()
|
||||||
p.client.Logger.Debug().Any("res", res).Msg("RefreshPhoneRelayResponse")
|
p.client.Logger.Debug().Any("res", res).Msg("RefreshPhoneRelayResponse")
|
||||||
qrCode, qrErr := p.GenerateQRCode(p.qrCodePx)
|
url, qrErr := p.GenerateQRCodeData()
|
||||||
if qrErr != nil {
|
if qrErr != nil {
|
||||||
log.Fatal(qrErr)
|
log.Fatal(qrErr)
|
||||||
}
|
}
|
||||||
p.client.triggerEvent(qrCode)
|
p.client.triggerEvent(&events.QRCODE_UPDATED{URL: url})
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *Pairer) GetWebEncryptionKey() {
|
func (p *Pairer) GetWebEncryptionKey() {
|
||||||
|
|
15
libgm/qr.go
15
libgm/qr.go
|
@ -3,10 +3,7 @@ package textgapi
|
||||||
import (
|
import (
|
||||||
"go.mau.fi/mautrix-gmessages/libgm/binary"
|
"go.mau.fi/mautrix-gmessages/libgm/binary"
|
||||||
"go.mau.fi/mautrix-gmessages/libgm/crypto"
|
"go.mau.fi/mautrix-gmessages/libgm/crypto"
|
||||||
"go.mau.fi/mautrix-gmessages/libgm/events"
|
|
||||||
"go.mau.fi/mautrix-gmessages/libgm/util"
|
"go.mau.fi/mautrix-gmessages/libgm/util"
|
||||||
|
|
||||||
"github.com/skip2/go-qrcode"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func (p *Pairer) GenerateQRCodeData() (string, error) {
|
func (p *Pairer) GenerateQRCodeData() (string, error) {
|
||||||
|
@ -22,15 +19,3 @@ func (p *Pairer) GenerateQRCodeData() (string, error) {
|
||||||
cData := crypto.Base64Encode(encodedUrlData)
|
cData := crypto.Base64Encode(encodedUrlData)
|
||||||
return util.QR_CODE_URL + cData, nil
|
return util.QR_CODE_URL + cData, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *Pairer) GenerateQRCode(size int) (*events.QRCODE_UPDATED, error) {
|
|
||||||
data, err1 := p.GenerateQRCodeData()
|
|
||||||
if err1 != nil {
|
|
||||||
return nil, err1
|
|
||||||
}
|
|
||||||
png, err2 := qrcode.Encode(data, qrcode.Highest, size)
|
|
||||||
if err2 != nil {
|
|
||||||
return nil, err2
|
|
||||||
}
|
|
||||||
return events.NewQrCodeUpdated(png, size, size, data), nil
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in a new issue