menu working
This commit is contained in:
@@ -27,7 +27,7 @@ class Account(val username: String, val password: String, private val error: Int
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
// check if file exists
|
// check if file exists
|
||||||
val file = File(global.fileDir, accountDataFilePath)
|
val file = File(global.fileDir, global.filePaths.accountData)
|
||||||
|
|
||||||
return if (!file.exists()) {
|
return if (!file.exists()) {
|
||||||
// it does not exist
|
// it does not exist
|
||||||
@@ -44,7 +44,7 @@ class Account(val username: String, val password: String, private val error: Int
|
|||||||
|
|
||||||
fun save(acc: Account): Boolean {
|
fun save(acc: Account): Boolean {
|
||||||
return try {
|
return try {
|
||||||
val file = File(global.fileDir, accountDataFilePath)
|
val file = File(global.fileDir, global.filePaths.accountData)
|
||||||
file.writeText("${acc.username}\n${acc.password}\n", Charset.forName("UTF-8"))
|
file.writeText("${acc.username}\n${acc.password}\n", Charset.forName("UTF-8"))
|
||||||
|
|
||||||
true
|
true
|
||||||
|
|||||||
@@ -24,17 +24,6 @@ import java.io.File
|
|||||||
val roundedCornerDimen = 8.dp
|
val roundedCornerDimen = 8.dp
|
||||||
val borderWidthDimen = 5.dp
|
val borderWidthDimen = 5.dp
|
||||||
|
|
||||||
val barModifier = Modifier
|
|
||||||
.fillMaxWidth()
|
|
||||||
.height(100.dp)
|
|
||||||
.padding(20.dp)
|
|
||||||
//.background(PastelYellowTransparent)
|
|
||||||
.border(
|
|
||||||
width = borderWidthDimen,
|
|
||||||
color = PastelYellow,
|
|
||||||
shape = RoundedCornerShape(roundedCornerDimen)
|
|
||||||
)
|
|
||||||
|
|
||||||
fun makeStatusBarBlack(window: Window) {
|
fun makeStatusBarBlack(window: Window) {
|
||||||
window.statusBarColor = Color.Black.toArgb()
|
window.statusBarColor = Color.Black.toArgb()
|
||||||
}
|
}
|
||||||
@@ -50,10 +39,6 @@ var height: Int = 0
|
|||||||
|
|
||||||
var loaded: Boolean = false
|
var loaded: Boolean = false
|
||||||
|
|
||||||
var studentClass = "1. A"
|
|
||||||
|
|
||||||
var currentLectureNumber = 0
|
|
||||||
|
|
||||||
enum class IsShowing {
|
enum class IsShowing {
|
||||||
Timetable,
|
Timetable,
|
||||||
Marks,
|
Marks,
|
||||||
@@ -70,8 +55,6 @@ enum class Screen {
|
|||||||
|
|
||||||
var screenToShow: MutableState<Screen> = mutableStateOf(Screen.Main)
|
var screenToShow: MutableState<Screen> = mutableStateOf(Screen.Main)
|
||||||
|
|
||||||
var signedInAndReadyToLaunch: MutableState<Boolean> = mutableStateOf(false)
|
|
||||||
|
|
||||||
var isShowing by mutableStateOf(IsShowing.Timetable)
|
var isShowing by mutableStateOf(IsShowing.Timetable)
|
||||||
|
|
||||||
// default settings (will get overwritten by the saved settings)
|
// default settings (will get overwritten by the saved settings)
|
||||||
@@ -86,8 +69,7 @@ enum class SettingsId {
|
|||||||
Svoboda,
|
Svoboda,
|
||||||
Amoled,
|
Amoled,
|
||||||
RefreshButton,
|
RefreshButton,
|
||||||
TagNewMarks,
|
TagNewMarks
|
||||||
DeleteLocalData
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class SettingsData {
|
class SettingsData {
|
||||||
@@ -120,24 +102,10 @@ class SettingsData {
|
|||||||
|
|
||||||
var settings : SettingsData = SettingsData()
|
var settings : SettingsData = SettingsData()
|
||||||
|
|
||||||
var done: Boolean = false
|
|
||||||
|
|
||||||
var internetAwaitListenerRunning: Boolean = false
|
var internetAwaitListenerRunning: Boolean = false
|
||||||
|
|
||||||
var timeTableAvailOffline: Boolean = false
|
|
||||||
var marksAvailOffline: Boolean = false
|
|
||||||
|
|
||||||
val subjectNameMap = mutableMapOf<String, String>()
|
|
||||||
|
|
||||||
val dayMap = mutableMapOf<Int, Day>()
|
|
||||||
val dayList = mutableListOf<Day>()
|
|
||||||
var days = listOf<Day>()
|
var days = listOf<Day>()
|
||||||
|
|
||||||
var marks: MutableMap<String, MutableList<Mark>> = mutableMapOf()
|
|
||||||
|
|
||||||
var username: String = ""
|
|
||||||
var password: String = ""
|
|
||||||
|
|
||||||
val client = OkHttpClient()
|
val client = OkHttpClient()
|
||||||
|
|
||||||
enum class LectureNoteType {
|
enum class LectureNoteType {
|
||||||
@@ -279,6 +247,7 @@ class Global {
|
|||||||
var userData: JSONObject = JSONObject()
|
var userData: JSONObject = JSONObject()
|
||||||
var timetable: List<Day> = listOf()
|
var timetable: List<Day> = listOf()
|
||||||
var lectureNotes: HashMap<Int, LectureNote> = hashMapOf()
|
var lectureNotes: HashMap<Int, LectureNote> = hashMapOf()
|
||||||
|
var subjectNameMap: HashMap<String, String> = hashMapOf()
|
||||||
|
|
||||||
var username: String = ""
|
var username: String = ""
|
||||||
var password: String = ""
|
var password: String = ""
|
||||||
|
|||||||
@@ -108,15 +108,15 @@ fun MarksAll() {
|
|||||||
.padding(horizontal = 5.dp)
|
.padding(horizontal = 5.dp)
|
||||||
.verticalScroll(scrollState)
|
.verticalScroll(scrollState)
|
||||||
) {
|
) {
|
||||||
for ((subject, markList) in marks) {
|
for ((subject, markList) in global.marks) {
|
||||||
val amoledModifier = if (settings.useAmoledMode.checked.value) {
|
val amoledModifier = if (settings.useAmoledMode.checked.value) {
|
||||||
Modifier
|
Modifier
|
||||||
.width(150.dp)
|
.width(150.dp)
|
||||||
.fillMaxHeight()
|
.fillMaxHeight()
|
||||||
.border(
|
.border(
|
||||||
width = borderWidthDimen,
|
width = global.dimens.borderWidth,
|
||||||
color = getAvgColor(Util.avg(markList), true), // decide on the color (transparent)
|
color = getAvgColor(Util.avg(markList), true), // decide on the color (transparent)
|
||||||
shape = RoundedCornerShape(roundedCornerDimen)
|
shape = RoundedCornerShape(global.dimens.roundedCorner)
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
Modifier
|
Modifier
|
||||||
@@ -124,7 +124,7 @@ fun MarksAll() {
|
|||||||
.fillMaxHeight()
|
.fillMaxHeight()
|
||||||
.background(
|
.background(
|
||||||
color = getAvgColor(Util.avg(markList)), // decide on the color (not transparent)
|
color = getAvgColor(Util.avg(markList)), // decide on the color (not transparent)
|
||||||
shape = RoundedCornerShape(roundedCornerDimen)
|
shape = RoundedCornerShape(global.dimens.roundedCorner)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -135,7 +135,7 @@ fun MarksAll() {
|
|||||||
.border(
|
.border(
|
||||||
width = borderWidthDimen,
|
width = borderWidthDimen,
|
||||||
color = getAvgColor(Util.avg(markList), true), // decide on the color (transparent)
|
color = getAvgColor(Util.avg(markList), true), // decide on the color (transparent)
|
||||||
shape = RoundedCornerShape(roundedCornerDimen)
|
shape = RoundedCornerShape(global.dimens.roundedCorner)
|
||||||
)
|
)
|
||||||
.clickable {
|
.clickable {
|
||||||
global.marksDepthLevel = MarksDepthLevel.Subject
|
global.marksDepthLevel = MarksDepthLevel.Subject
|
||||||
@@ -147,7 +147,7 @@ fun MarksAll() {
|
|||||||
.height(70.dp)
|
.height(70.dp)
|
||||||
.background(
|
.background(
|
||||||
color = getAvgColor(Util.avg(markList)), // decide on the color (transparent)
|
color = getAvgColor(Util.avg(markList)), // decide on the color (transparent)
|
||||||
shape = RoundedCornerShape(roundedCornerDimen)
|
shape = RoundedCornerShape(global.dimens.roundedCorner)
|
||||||
)
|
)
|
||||||
.clickable {
|
.clickable {
|
||||||
global.marksDepthLevel = MarksDepthLevel.Subject
|
global.marksDepthLevel = MarksDepthLevel.Subject
|
||||||
@@ -175,7 +175,7 @@ fun MarksAll() {
|
|||||||
}
|
}
|
||||||
marksString += markList[markList.size-1].grade
|
marksString += markList[markList.size-1].grade
|
||||||
|
|
||||||
if (marks.keys.indexOf(subject) > 0) {
|
if (global.marks.keys.indexOf(subject) > 0) {
|
||||||
Box(modifier = Modifier.height(10.dp))
|
Box(modifier = Modifier.height(10.dp))
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -260,9 +260,7 @@ fun MarksAll() {
|
|||||||
@Composable
|
@Composable
|
||||||
fun MarksSubject() {
|
fun MarksSubject() {
|
||||||
// handle the back gesture (back swipe form side or back button on bottom android navbar)
|
// handle the back gesture (back swipe form side or back button on bottom android navbar)
|
||||||
BackHandler {
|
BackHandler { global.marksDepthLevel = MarksDepthLevel.All }
|
||||||
global.marksDepthLevel = MarksDepthLevel.All
|
|
||||||
}
|
|
||||||
|
|
||||||
val scrollState = rememberScrollState()
|
val scrollState = rememberScrollState()
|
||||||
|
|
||||||
@@ -285,26 +283,26 @@ fun MarksSubject() {
|
|||||||
.width(70.dp)
|
.width(70.dp)
|
||||||
.height(70.dp)
|
.height(70.dp)
|
||||||
.border(
|
.border(
|
||||||
width = 5.dp,
|
width = global.dimens.borderWidth,
|
||||||
color = getAvgColor(
|
color = getAvgColor(
|
||||||
Util.avg(marks[global.subjectToShow]!!),
|
Util.avg(global.marks[global.subjectToShow]!!),
|
||||||
true
|
true
|
||||||
),
|
),
|
||||||
shape = RoundedCornerShape(roundedCornerDimen)
|
shape = RoundedCornerShape(global.dimens.roundedCorner)
|
||||||
)
|
)
|
||||||
.background(color = if (settings.useAmoledMode.checked.value) {
|
.background(color = if (settings.useAmoledMode.checked.value) {
|
||||||
Color.Black
|
Color.Black
|
||||||
} else {
|
} else {
|
||||||
getAvgColor(
|
getAvgColor(
|
||||||
Util.avg(marks[global.subjectToShow]!!)
|
Util.avg(global.marks[global.subjectToShow]!!)
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
shape = RoundedCornerShape(roundedCornerDimen)
|
shape = RoundedCornerShape(global.dimens.roundedCorner)
|
||||||
)
|
)
|
||||||
.padding(vertical = 15.dp),
|
.padding(vertical = 15.dp),
|
||||||
contentAlignment = Alignment.Center
|
contentAlignment = Alignment.Center
|
||||||
) {
|
) {
|
||||||
val currAvg = Util.avg(marks[global.subjectToShow]!!).replace(".", ",")
|
val currAvg = Util.avg(global.marks[global.subjectToShow]!!).replace(".", ",")
|
||||||
var textToShow = currAvg
|
var textToShow = currAvg
|
||||||
if (currAvg.length == 3 && currAvg[2] == '0') {
|
if (currAvg.length == 3 && currAvg[2] == '0') {
|
||||||
textToShow = currAvg[0].toString()
|
textToShow = currAvg[0].toString()
|
||||||
@@ -321,7 +319,7 @@ fun MarksSubject() {
|
|||||||
Spacer(modifier = Modifier.height(20.dp))
|
Spacer(modifier = Modifier.height(20.dp))
|
||||||
|
|
||||||
Text(
|
Text(
|
||||||
text = subjectNameMap[global.subjectToShow]!!,
|
text = global.subjectNameMap[global.subjectToShow]!!,
|
||||||
color = Color.White,
|
color = Color.White,
|
||||||
textAlign = TextAlign.Center,
|
textAlign = TextAlign.Center,
|
||||||
fontSize = 30.sp,
|
fontSize = 30.sp,
|
||||||
@@ -330,14 +328,14 @@ fun MarksSubject() {
|
|||||||
.border(
|
.border(
|
||||||
width = 5.dp,
|
width = 5.dp,
|
||||||
color = PastelYellow,
|
color = PastelYellow,
|
||||||
shape = RoundedCornerShape(roundedCornerDimen)
|
shape = RoundedCornerShape(global.dimens.roundedCorner)
|
||||||
)
|
)
|
||||||
.background(color = if (settings.useAmoledMode.checked.value) {
|
.background(color = if (settings.useAmoledMode.checked.value) {
|
||||||
Color.Black
|
Color.Black
|
||||||
} else {
|
} else {
|
||||||
PastelYellowTransparent
|
PastelYellowTransparent
|
||||||
},
|
},
|
||||||
shape = RoundedCornerShape(roundedCornerDimen)
|
shape = RoundedCornerShape(global.dimens.roundedCorner)
|
||||||
)
|
)
|
||||||
.padding(vertical = 20.dp, horizontal = 10.dp)
|
.padding(vertical = 20.dp, horizontal = 10.dp)
|
||||||
) // subject
|
) // subject
|
||||||
@@ -345,7 +343,7 @@ fun MarksSubject() {
|
|||||||
Spacer(modifier = Modifier.height(20.dp))
|
Spacer(modifier = Modifier.height(20.dp))
|
||||||
|
|
||||||
Column(modifier = Modifier.verticalScroll(scrollState)) {
|
Column(modifier = Modifier.verticalScroll(scrollState)) {
|
||||||
for ((i, mark) in marks[global.subjectToShow]!!.withIndex()) {
|
for ((i, mark) in global.marks[global.subjectToShow]!!.withIndex()) {
|
||||||
if (i > 0) {
|
if (i > 0) {
|
||||||
Spacer(modifier = Modifier.height(10.dp))
|
Spacer(modifier = Modifier.height(10.dp))
|
||||||
}
|
}
|
||||||
@@ -363,7 +361,7 @@ fun MarksSubject() {
|
|||||||
} else {
|
} else {
|
||||||
getAvgColor(mark.grade)
|
getAvgColor(mark.grade)
|
||||||
},
|
},
|
||||||
shape = RoundedCornerShape(roundedCornerDimen)
|
shape = RoundedCornerShape(global.dimens.roundedCorner)
|
||||||
)
|
)
|
||||||
.padding(vertical = 10.dp)
|
.padding(vertical = 10.dp)
|
||||||
.clickable {
|
.clickable {
|
||||||
@@ -444,12 +442,12 @@ fun MarksDetail() {
|
|||||||
.width(70.dp)
|
.width(70.dp)
|
||||||
.height(70.dp)
|
.height(70.dp)
|
||||||
.border(
|
.border(
|
||||||
width = borderWidthDimen,
|
width = global.dimens.borderWidth,
|
||||||
color = getAvgColor(
|
color = getAvgColor(
|
||||||
Util.avg(mutableListOf(global.markToShow)),
|
Util.avg(mutableListOf(global.markToShow)),
|
||||||
true
|
true
|
||||||
),
|
),
|
||||||
shape = RoundedCornerShape(roundedCornerDimen)
|
shape = RoundedCornerShape(global.dimens.roundedCorner)
|
||||||
)
|
)
|
||||||
.background(
|
.background(
|
||||||
if (settings.useAmoledMode.checked.value) {
|
if (settings.useAmoledMode.checked.value) {
|
||||||
@@ -485,7 +483,7 @@ fun MarksDetail() {
|
|||||||
.border(
|
.border(
|
||||||
width = 5.dp,
|
width = 5.dp,
|
||||||
color = PastelYellow,
|
color = PastelYellow,
|
||||||
shape = RoundedCornerShape(roundedCornerDimen)
|
shape = RoundedCornerShape(global.dimens.roundedCorner)
|
||||||
)
|
)
|
||||||
.background(
|
.background(
|
||||||
if (settings.useAmoledMode.checked.value) {
|
if (settings.useAmoledMode.checked.value) {
|
||||||
@@ -510,7 +508,7 @@ fun MarksDetail() {
|
|||||||
} else {
|
} else {
|
||||||
PastelYellowTransparent
|
PastelYellowTransparent
|
||||||
},
|
},
|
||||||
shape = RoundedCornerShape(roundedCornerDimen)
|
shape = RoundedCornerShape(global.dimens.roundedCorner)
|
||||||
)
|
)
|
||||||
.padding(vertical = 20.dp, horizontal = 10.dp)
|
.padding(vertical = 20.dp, horizontal = 10.dp)
|
||||||
) {
|
) {
|
||||||
@@ -553,7 +551,7 @@ fun MarksDetail() {
|
|||||||
} else {
|
} else {
|
||||||
PastelYellowTransparent
|
PastelYellowTransparent
|
||||||
},
|
},
|
||||||
shape = RoundedCornerShape(roundedCornerDimen)
|
shape = RoundedCornerShape(global.dimens.roundedCorner)
|
||||||
)
|
)
|
||||||
.padding(vertical = 20.dp, horizontal = 10.dp)
|
.padding(vertical = 20.dp, horizontal = 10.dp)
|
||||||
) {
|
) {
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ import com.odweta.solon.ui.theme.PastelYellow
|
|||||||
import kotlin.system.exitProcess
|
import kotlin.system.exitProcess
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun MenuScreen(modifier: Modifier = Modifier) {
|
fun MenuScreen() {
|
||||||
var showDialog by remember { mutableStateOf(false) }
|
var showDialog by remember { mutableStateOf(false) }
|
||||||
|
|
||||||
Column(
|
Column(
|
||||||
@@ -40,15 +40,15 @@ fun MenuScreen(modifier: Modifier = Modifier) {
|
|||||||
|
|
||||||
Spacer(modifier = Modifier.height(80.dp))
|
Spacer(modifier = Modifier.height(80.dp))
|
||||||
|
|
||||||
MenuButton({ screenToShow.value = Screen.SignIn }, "Změnit přihlášení")
|
MenuButton({ global.currentScreen = Screen.SignIn }, "Změnit přihlášení")
|
||||||
|
|
||||||
Spacer(modifier = Modifier.height(80.dp))
|
Spacer(modifier = Modifier.height(80.dp))
|
||||||
|
|
||||||
MenuButton({ isShowing = IsShowing.About }, "O aplikaci")
|
MenuButton({ global.currentScreenElement = ScreenElement.About }, "O aplikaci")
|
||||||
|
|
||||||
Spacer(modifier = Modifier.height(80.dp))
|
Spacer(modifier = Modifier.height(80.dp))
|
||||||
|
|
||||||
MenuButton({ isShowing = IsShowing.Settings }, "Nastavení")
|
MenuButton({ global.currentScreenElement = ScreenElement.Settings }, "Nastavení")
|
||||||
}
|
}
|
||||||
|
|
||||||
// Dialog implementation
|
// Dialog implementation
|
||||||
@@ -63,16 +63,20 @@ fun MenuScreen(modifier: Modifier = Modifier) {
|
|||||||
},
|
},
|
||||||
containerColor = Color.Black,
|
containerColor = Color.Black,
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.border(width = 5.dp, color = PastelYellow, shape = RoundedCornerShape(
|
.border(
|
||||||
roundedCornerDimen)), // Yellow border
|
width = global.dimens.borderWidth,
|
||||||
|
color = PastelYellow,
|
||||||
|
shape = RoundedCornerShape(global.dimens.roundedCorner)), // Yellow border
|
||||||
confirmButton = {
|
confirmButton = {
|
||||||
Button(
|
Button(
|
||||||
onClick = {
|
onClick = {
|
||||||
showDialog = false
|
showDialog = false
|
||||||
Util.deleteFile(userDataFilePath)
|
Util.deleteFile(global.filePaths.userData)
|
||||||
Util.deleteFile(timeTableFilePath)
|
Util.deleteFile(global.filePaths.timetable)
|
||||||
Util.deleteFile(marksFilePath)
|
Util.deleteFile(global.filePaths.marks)
|
||||||
Util.deleteFile(accountDataFilePath)
|
Util.deleteFile(global.filePaths.accountData)
|
||||||
|
Util.deleteFile(global.filePaths.lectureNotes)
|
||||||
|
// do not delete settings
|
||||||
exitProcess(0)
|
exitProcess(0)
|
||||||
},
|
},
|
||||||
colors = ButtonDefaults.buttonColors(
|
colors = ButtonDefaults.buttonColors(
|
||||||
@@ -80,8 +84,10 @@ fun MenuScreen(modifier: Modifier = Modifier) {
|
|||||||
contentColor = Color.White // Yellow text for the button
|
contentColor = Color.White // Yellow text for the button
|
||||||
),
|
),
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.border(width = 5.dp, color = PastelYellow, shape = RoundedCornerShape(
|
.border(
|
||||||
roundedCornerDimen)) // Yellow border
|
width = global.dimens.borderWidth,
|
||||||
|
color = PastelYellow,
|
||||||
|
shape = RoundedCornerShape(global.dimens.roundedCorner)) // Yellow border
|
||||||
) {
|
) {
|
||||||
Text("Ano")
|
Text("Ano")
|
||||||
}
|
}
|
||||||
@@ -97,8 +103,10 @@ fun MenuScreen(modifier: Modifier = Modifier) {
|
|||||||
// Yellow text for the button
|
// Yellow text for the button
|
||||||
),
|
),
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.border(width = 5.dp, color = PastelYellow, shape = RoundedCornerShape(
|
.border(
|
||||||
roundedCornerDimen)) // Yellow border
|
width = global.dimens.borderWidth,
|
||||||
|
color = PastelYellow,
|
||||||
|
shape = RoundedCornerShape(global.dimens.roundedCorner)) // Yellow border
|
||||||
) {
|
) {
|
||||||
Text("Ne")
|
Text("Ne")
|
||||||
}
|
}
|
||||||
@@ -117,8 +125,8 @@ fun MenuButton(onClick: () -> Unit, text: String) {
|
|||||||
),
|
),
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.border(
|
.border(
|
||||||
width = 5.dp,
|
width = global.dimens.borderWidth,
|
||||||
shape = RoundedCornerShape(roundedCornerDimen),
|
shape = RoundedCornerShape(global.dimens.roundedCorner),
|
||||||
color = PastelYellow
|
color = PastelYellow
|
||||||
)
|
)
|
||||||
.width(230.dp)
|
.width(230.dp)
|
||||||
|
|||||||
@@ -352,7 +352,7 @@ class Parsing {
|
|||||||
subjectMap[subj.getString("id")] = subj.getString("abbrev")
|
subjectMap[subj.getString("id")] = subj.getString("abbrev")
|
||||||
|
|
||||||
// map names to abbrevs
|
// map names to abbrevs
|
||||||
subjectNameMap[subj.getString("abbrev")] = subj.getString("name")
|
global.subjectNameMap[subj.getString("abbrev")] = subj.getString("name")
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i in 0..<marksJSONArray.length()) {
|
for (i in 0..<marksJSONArray.length()) {
|
||||||
|
|||||||
@@ -48,9 +48,9 @@ private fun changeButtonText(s: String) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun signInButtonCallback(ctx: Context, usernameText: String, passwordText: String) {
|
fun signInButtonCallback(ctx: Context, usernameText: String, passwordText: String) {
|
||||||
username = usernameText
|
global.username = usernameText
|
||||||
password = passwordText
|
global.password = passwordText
|
||||||
val acc = Account(username, password, 0)
|
val acc = Account(global.username, global.password, 0)
|
||||||
var checked = false
|
var checked = false
|
||||||
|
|
||||||
CoroutineScope(Dispatchers.IO).launch {
|
CoroutineScope(Dispatchers.IO).launch {
|
||||||
|
|||||||
Reference in New Issue
Block a user