messenger-android

Android graphical user interfaces for GNUnet Messenger
Log | Files | Refs | README | LICENSE

LobbyDisplayHelper.kt (1611B)


      1 /*
      2    This file is part of GNUnet.
      3    Copyright (C) 2021--2025 GNUnet e.V.
      4 
      5    GNUnet is free software: you can redistribute it and/or modify it
      6    under the terms of the GNU Affero General Public License as published
      7    by the Free Software Foundation, either version 3 of the License,
      8    or (at your option) any later version.
      9 
     10    GNUnet is distributed in the hope that it will be useful, but
     11    WITHOUT ANY WARRANTY; without even the implied warranty of
     12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     13    Affero General Public License for more details.
     14 
     15    You should have received a copy of the GNU Affero General Public License
     16    along with this program.  If not, see <http://www.gnu.org/licenses/>.
     17 
     18    SPDX-License-Identifier: AGPL3.0-or-later
     19  */
     20 /*
     21  * @author t3sserakt
     22  * @file GNUnetMessenger/app/src/main/java/org/gnunet/gnunetmessenger/ui/util/LobbyDisplayHelper.kt
     23  */
     24 
     25 package org.gnunet.gnunetmessenger.util
     26 
     27 import android.graphics.Bitmap
     28 import android.graphics.Color
     29 import com.google.zxing.BarcodeFormat
     30 import com.google.zxing.qrcode.QRCodeWriter
     31 
     32 object LobbyDisplayHelper {
     33     fun generateQRCode(data: String): Bitmap {
     34         val size = 512
     35         val qrCodeWriter = QRCodeWriter()
     36         val bitMatrix = qrCodeWriter.encode(data, BarcodeFormat.QR_CODE, size, size)
     37         val bitmap = Bitmap.createBitmap(size, size, Bitmap.Config.RGB_565)
     38         for (x in 0 until size) {
     39             for (y in 0 until size) {
     40                 bitmap.setPixel(x, y, if (bitMatrix.get(x, y)) Color.BLACK else Color.WHITE)
     41             }
     42         }
     43         return bitmap
     44     }
     45 }