package com.schoolapp.cleverclass import android.graphics.BitmapFactory import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.Image import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.size import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.ArrowBack import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.Icon import androidx.compose.material3.IconButton import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TopAppBar import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.asImageBitmap import androidx.compose.ui.unit.dp import com.schoolapp.cleverclass.ui.theme.CleverClassTheme import kotlinx.coroutines.DelicateCoroutinesApi import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch import java.io.File class DSBActivity : ComponentActivity() { @OptIn(DelicateCoroutinesApi::class) override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) GlobalScope.launch(Dispatchers.IO) { downloadDSB(this@DSBActivity) } setContent { CleverClassTheme { Surface( modifier = Modifier.fillMaxSize(), color = MaterialTheme.colorScheme.background ) { DSBContent(activity = this) } } } } } // Content of DSBmobile @OptIn(ExperimentalMaterial3Api::class) @Composable fun DSBContent(activity: ComponentActivity){ Column { TopAppBar( colors = TopAppBarDefaults.centerAlignedTopAppBarColors(MaterialTheme.colorScheme.primaryContainer), title = { Text(text = "DSBmobile", style = MaterialTheme.typography.headlineSmall, color = MaterialTheme.colorScheme.onPrimaryContainer )}, navigationIcon = { IconButton(onClick = { activity.finish() }) { Icon( imageVector = Icons.Filled.ArrowBack, contentDescription = null, modifier = Modifier.size(28.dp), tint = MaterialTheme.colorScheme.onPrimaryContainer ) } }, modifier = Modifier.fillMaxWidth() ) Column(modifier = Modifier.verticalScroll(rememberScrollState())) { val mainFolder = File(activity.filesDir, "dataDSB") mainFolder.listFiles()?.forEach { folder -> DayPrefab(folder = folder) Spacer(modifier = Modifier.height(48.dp)) } } } } @Composable fun DayPrefab(folder: File){ val imageFiles = folder.listFiles { file -> file.extension == "jpg" }?.toList() Column { imageFiles?.forEach { val imageBitmap = BitmapFactory.decodeFile(it.absolutePath) Image(bitmap = imageBitmap.asImageBitmap(), contentDescription = null) Spacer(modifier = Modifier.height(8.dp)) } } }