package id.ac.ubharajaya.sistemakademik import android.graphics.Bitmap import android.util.Base64 import org.json.JSONObject import java.io.ByteArrayOutputStream /** * Data class untuk menyimpan informasi absensi mahasiswa */ data class Absensi( val npm: String, val nama: String, val latitude: Double, val longitude: Double, val waktu: String, val foto: Bitmap ) { /** * Convert objek Absensi ini menjadi JSONObject * Siap untuk dikirim ke server */ fun toJson(): JSONObject { val json = JSONObject() json.put("npm", npm) json.put("nama", nama) json.put("latitude", latitude) json.put("longitude", longitude) json.put("timestamp", System.currentTimeMillis()) json.put("waktu", waktu) json.put("foto_base64", bitmapToBase64(foto)) return json } companion object { /** * Helper function untuk convert Bitmap ke Base64 */ fun bitmapToBase64(bitmap: Bitmap): String { val outputStream = ByteArrayOutputStream() bitmap.compress(Bitmap.CompressFormat.JPEG, 80, outputStream) return Base64.encodeToString(outputStream.toByteArray(), Base64.NO_WRAP) } } }