<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-android/ui/src/main/java/com/wireguard/android/util/QrCodeFromFileScanner.kt, branch lr/for-jason</title>
<subtitle>Android GUI for WireGuard</subtitle>
<id>https://git.zx2c4.com/wireguard-android/atom/ui/src/main/java/com/wireguard/android/util/QrCodeFromFileScanner.kt?h=lr%2Ffor-jason</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-android/atom/ui/src/main/java/com/wireguard/android/util/QrCodeFromFileScanner.kt?h=lr%2Ffor-jason'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-android/'/>
<updated>2025-05-31T02:22:06Z</updated>
<entry>
<title>QrCodeFromFileScanner: more efficiently downscale images and release memory</title>
<updated>2025-05-31T02:22:06Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2025-05-31T02:21:50Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-android/commit/?id=cb216c6ec60efe84f7c4d3f256bae33603406aa5'/>
<id>urn:sha1:cb216c6ec60efe84f7c4d3f256bae33603406aa5</id>
<content type='text'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>QrCodeFromFileScanner: catch OOM errors</title>
<updated>2025-05-31T01:47:10Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2025-05-31T01:47:10Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-android/commit/?id=d45b1ea9a754b178acd2a95705802868b8fbc8dc'/>
<id>urn:sha1:d45b1ea9a754b178acd2a95705802868b8fbc8dc</id>
<content type='text'>
OutOfMemoryError is an Error which is a Throwable, but it isn't an
exception. Try to catch it for downscaling by catching all Throwables.

Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>global: update copyright notices</title>
<updated>2025-05-19T15:31:02Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2025-05-19T15:31:02Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-android/commit/?id=0295abd808ba00a024d5752980f7fccfcb6161bb'/>
<id>urn:sha1:0295abd808ba00a024d5752980f7fccfcb6161bb</id>
<content type='text'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>ui: reformat all code</title>
<updated>2023-05-05T11:18:30Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2023-05-05T01:09:38Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-android/commit/?id=40eaa54cf025d3b4d4f75ab907602e8ecbfe05ad'/>
<id>urn:sha1:40eaa54cf025d3b4d4f75ab907602e8ecbfe05ad</id>
<content type='text'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>global: bump copyright date</title>
<updated>2023-03-21T14:41:11Z</updated>
<author>
<name>Jason A. Donenfeld</name>
<email>Jason@zx2c4.com</email>
</author>
<published>2023-03-21T14:41:11Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-android/commit/?id=853e86e6d057e2a50317405c594296ca8aa32df3'/>
<id>urn:sha1:853e86e6d057e2a50317405c594296ca8aa32df3</id>
<content type='text'>
Signed-off-by: Jason A. Donenfeld &lt;Jason@zx2c4.com&gt;
</content>
</entry>
<entry>
<title>ui: make validity check from QR code image scanner static</title>
<updated>2022-03-06T17:48:15Z</updated>
<author>
<name>Harsh Shandilya</name>
<email>me@msfjarvis.dev</email>
</author>
<published>2022-03-06T16:10:13Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-android/commit/?id=70d9a87d0d73d92f20c45f84361630b72435840f'/>
<id>urn:sha1:70d9a87d0d73d92f20c45f84361630b72435840f</id>
<content type='text'>
Signed-off-by: Harsh Shandilya &lt;me@msfjarvis.dev&gt;
</content>
</entry>
<entry>
<title>ui: allow importing tunnel from an QR image stored on the device</title>
<updated>2022-03-06T17:48:15Z</updated>
<author>
<name>Nikita Pustovoi</name>
<email>deishelon@gmail.com</email>
</author>
<published>2022-03-05T05:07:35Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-android/commit/?id=0bd39309c8ba839191684d5d34c247c0af7b42aa'/>
<id>urn:sha1:0bd39309c8ba839191684d5d34c247c0af7b42aa</id>
<content type='text'>
Add a new feature to import a tunnel from a saved QR image, this feature
integrates into 'import from file' flow, however adds a condition, if
file is an image, attempt to parse it as QR image file.

My use case for this feature, is to allow easier sharing of tunnels to
family.  Scanning QR code is ok when you have an external display to
show it, but if you sent QR code to someone, there is no way to import
it in the app.  If you share a config file, that becomes way harder for
a non-technical person to import as now they need to find a file with
that name in the file picker etc etc, Where the images are very visible
in the file picker, and user can easily recognize it for import.

Testing:
- Click "+" blue button, try to import a valid `.conf` file - the
  'original' file flow should not be affected
- Click "+" blue button, try to import a valid QR code image - if QR
  code was parsed, then a new tunnel will be added.
- Click "+" blue button, try to import an invalid QR code image - Error
  message will be shown

Signed-off-by: Nikita Pustovoi &lt;deishelon@gmail.com&gt;
Signed-off-by: Harsh Shandilya &lt;me@msfjarvis.dev&gt;
</content>
</entry>
</feed>
