mirror of
https://github.com/janishutz/libreevent.git
synced 2025-11-25 13:24:24 +00:00
almost finished android app
This commit is contained in:
@@ -19,7 +19,6 @@ class ApiClient {
|
|||||||
|
|
||||||
// Set request headers (if needed)
|
// Set request headers (if needed)
|
||||||
connection.setRequestProperty("Content-Type", "application/json")
|
connection.setRequestProperty("Content-Type", "application/json")
|
||||||
// Add other headers as needed
|
|
||||||
|
|
||||||
// Enable input and output streams for the connection
|
// Enable input and output streams for the connection
|
||||||
connection.doInput = true
|
connection.doInput = true
|
||||||
@@ -60,7 +59,11 @@ class ApiClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun checkTicket(apiUrl: String, username: String, password: String, ticket: String): String {
|
fun checkTicket(apiUrl: String, username: String, password: String, ticket: String): String {
|
||||||
val url = URL("https://$apiUrl/app/ticketLookup")
|
var url = URL("$apiUrl/app/ticketLookup")
|
||||||
|
if ( !apiUrl.contains( "https://" )) {
|
||||||
|
url = URL("https://$apiUrl/app/ticketLookup")
|
||||||
|
}
|
||||||
|
|
||||||
val connection = url.openConnection() as HttpURLConnection
|
val connection = url.openConnection() as HttpURLConnection
|
||||||
|
|
||||||
// Set the request method to POST
|
// Set the request method to POST
|
||||||
@@ -68,14 +71,13 @@ class ApiClient {
|
|||||||
|
|
||||||
// Set request headers (if needed)
|
// Set request headers (if needed)
|
||||||
connection.setRequestProperty("Content-Type", "application/json")
|
connection.setRequestProperty("Content-Type", "application/json")
|
||||||
// Add other headers as needed
|
|
||||||
|
|
||||||
// Enable input and output streams for the connection
|
// Enable input and output streams for the connection
|
||||||
connection.doInput = true
|
connection.doInput = true
|
||||||
connection.doOutput = true
|
connection.doOutput = true
|
||||||
|
|
||||||
// Create the JSON request body
|
// Create the JSON request body
|
||||||
val jsonRequest = "{\"email\":\"$username\",\"password\":\"$password\",\"ticketID\":$ticket}"
|
val jsonRequest = "{\"email\":\"$username\",\"password\":\"$password\",\"ticketID\":\"$ticket\"}"
|
||||||
|
|
||||||
// Write the JSON data to the output stream
|
// Write the JSON data to the output stream
|
||||||
val outputStream = DataOutputStream(connection.outputStream)
|
val outputStream = DataOutputStream(connection.outputStream)
|
||||||
@@ -99,9 +101,16 @@ class ApiClient {
|
|||||||
// Return the response as a String
|
// Return the response as a String
|
||||||
return response.toString()
|
return response.toString()
|
||||||
} else {
|
} else {
|
||||||
// Handle the error (e.g., authentication failed)
|
val r = BufferedReader(InputStreamReader(connection.errorStream))
|
||||||
// You can also throw an exception here if needed
|
val res = StringBuilder()
|
||||||
return ""
|
var line: String?
|
||||||
|
while (r.readLine().also { line = it } != null) {
|
||||||
|
res.append(line)
|
||||||
|
}
|
||||||
|
r.close()
|
||||||
|
println(res.toString())
|
||||||
|
|
||||||
|
return "Error"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -18,7 +18,7 @@ class MainActivity : AppCompatActivity() {
|
|||||||
val policy = ThreadPolicy.Builder().permitAll().build()
|
val policy = ThreadPolicy.Builder().permitAll().build()
|
||||||
StrictMode.setThreadPolicy(policy)
|
StrictMode.setThreadPolicy(policy)
|
||||||
|
|
||||||
val sharedPref = getSharedPreferences( "login", MODE_PRIVATE )
|
val sharedPref = applicationContext.getSharedPreferences( "login", MODE_PRIVATE )
|
||||||
|
|
||||||
val hasSwitched = intent.hasExtra("hasSwitched")
|
val hasSwitched = intent.hasExtra("hasSwitched")
|
||||||
|
|
||||||
@@ -50,7 +50,7 @@ class MainActivity : AppCompatActivity() {
|
|||||||
val res = ApiClient().authenticateUser( url, username, password )
|
val res = ApiClient().authenticateUser( url, username, password )
|
||||||
println( res )
|
println( res )
|
||||||
if ( res == "authOk" ) {
|
if ( res == "authOk" ) {
|
||||||
val sharedPref = getSharedPreferences( "login", MODE_PRIVATE )
|
val sharedPref = applicationContext.getSharedPreferences( "login", MODE_PRIVATE )
|
||||||
val editor = sharedPref.edit()
|
val editor = sharedPref.edit()
|
||||||
editor.putString( "username", username )
|
editor.putString( "username", username )
|
||||||
editor.putString( "password", password )
|
editor.putString( "password", password )
|
||||||
|
|||||||
@@ -27,11 +27,10 @@ class ScannerActivity : CaptureActivity() {
|
|||||||
|
|
||||||
val logoutButton = findViewById<Button>(R.id.logoutButton)
|
val logoutButton = findViewById<Button>(R.id.logoutButton)
|
||||||
logoutButton.setOnClickListener {
|
logoutButton.setOnClickListener {
|
||||||
val sharedPref = getSharedPreferences( "login", MODE_PRIVATE )
|
val sharedPref = applicationContext.getSharedPreferences( "login", MODE_PRIVATE )
|
||||||
val editor = sharedPref.edit()
|
val editor = sharedPref.edit()
|
||||||
|
editor.remove( "password" )
|
||||||
editor.remove( "loginOk" )
|
editor.remove( "loginOk" )
|
||||||
editor.remove( "username" )
|
|
||||||
editor.remove( "url" )
|
|
||||||
editor.apply()
|
editor.apply()
|
||||||
val switchIntent = Intent(this, MainActivity::class.java)
|
val switchIntent = Intent(this, MainActivity::class.java)
|
||||||
switchIntent.putExtra("hasSwitched", true)
|
switchIntent.putExtra("hasSwitched", true)
|
||||||
@@ -63,12 +62,29 @@ class ScannerActivity : CaptureActivity() {
|
|||||||
|
|
||||||
private fun handleScanResult(result: String) {
|
private fun handleScanResult(result: String) {
|
||||||
if ( lastScanned != result ) {
|
if ( lastScanned != result ) {
|
||||||
val sharedPref = getSharedPreferences( "login", MODE_PRIVATE )
|
val sharedPref = applicationContext.getSharedPreferences( "login", MODE_PRIVATE )
|
||||||
|
|
||||||
ApiClient().checkTicket( sharedPref.getString( "url", null ).toString(),
|
val status = ApiClient().checkTicket( sharedPref.getString( "url", null ).toString(),
|
||||||
sharedPref.getString( "username", null ).toString(),
|
sharedPref.getString( "username", null ).toString(),
|
||||||
sharedPref.getString( "password", null ).toString(), result )
|
sharedPref.getString( "password", null ).toString(), result )
|
||||||
lastScanned = result
|
lastScanned = result
|
||||||
|
val alertDialogBuilder = AlertDialog.Builder(this)
|
||||||
|
|
||||||
|
if ( status == "ticketValid" ) {
|
||||||
|
alertDialogBuilder.setTitle("Ticket is valid")
|
||||||
|
} else if ( status == "ticketInvalid" ) {
|
||||||
|
alertDialogBuilder.setTitle("Ticket is invalid")
|
||||||
|
} else if ( status == "Error" ) {
|
||||||
|
alertDialogBuilder.setTitle("There was an error connecting")
|
||||||
|
alertDialogBuilder.setMessage("Please log out and log in again")
|
||||||
|
}
|
||||||
|
|
||||||
|
alertDialogBuilder.setIcon(android.R.drawable.ic_dialog_alert)
|
||||||
|
|
||||||
|
alertDialogBuilder.setPositiveButton("OK") { dialog, _ ->
|
||||||
|
dialog.dismiss()
|
||||||
|
}
|
||||||
|
alertDialogBuilder.show()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user