Skip to content

Fix byte array conversions

Summary

Currently, KDE Connect for Android doesn't show the last 2 characters of the verification key when pairing a device. This MR solves this issue.

This bug is caused by incomplete conversions from byte arrays to strings in SslHelper.java:

for (int i = 0; i < hash.length - 1; i++) {
    formatter.format("%02x", hash[i]);
}

The i < hash.length -1 converts the bytes in the array up to (inclusive) the penultimate one. Removing the - 1 allows for the last byte to be converted (this is the missing 2 characters).

BUG: 445955

Test Plan

Before:

Selecting a desktop from the available devices, then clicking the Request Pairing button causes a 62 character key to be displayed. It is 2 characters short of the actual key, which can be seen on the desktop KDE Connect app.

After:

Selecting the Request Pairing button now shows the whole verification key, as intended.

Merge request reports