Merge branch '66-implement-functional-top-toolbar' into 'master'
Resolve "Implement functional Top Toolbar" Closes #66 See merge request marcel.schwarz/2020ss-qbc-geofence-timetracking!34
This commit is contained in:
commit
5908de5650
@ -4,12 +4,10 @@ import android.content.BroadcastReceiver
|
|||||||
import android.content.ContentValues.TAG
|
import android.content.ContentValues.TAG
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.content.SharedPreferences
|
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import com.google.android.gms.location.Geofence
|
import com.google.android.gms.location.Geofence
|
||||||
import com.google.android.gms.location.GeofenceStatusCodes
|
import com.google.android.gms.location.GeofenceStatusCodes
|
||||||
import com.google.android.gms.location.GeofencingEvent
|
import com.google.android.gms.location.GeofencingEvent
|
||||||
import de.hft.geotracker.activities.MainActivity
|
|
||||||
|
|
||||||
class GeofenceBroadcastReceiver : BroadcastReceiver() {
|
class GeofenceBroadcastReceiver : BroadcastReceiver() {
|
||||||
|
|
||||||
@ -22,38 +20,39 @@ class GeofenceBroadcastReceiver : BroadcastReceiver() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get the transition type.
|
|
||||||
val geofenceTransition = geofencingEvent.geofenceTransition
|
|
||||||
|
|
||||||
// Test that the reported transition was of interest.
|
// Test that the reported transition was of interest.
|
||||||
if (geofenceTransition == Geofence.GEOFENCE_TRANSITION_ENTER) {
|
when (val geofenceTransition = geofencingEvent.geofenceTransition) {
|
||||||
|
Geofence.GEOFENCE_TRANSITION_ENTER -> {
|
||||||
context!!.getSharedPreferences("LOCATION", Context.MODE_PRIVATE)
|
context!!.getSharedPreferences("LOCATION", Context.MODE_PRIVATE)
|
||||||
?.edit()
|
?.edit()
|
||||||
?.putBoolean("ENABLED", true)
|
?.putBoolean("ENABLED", true)
|
||||||
?.apply()
|
?.apply()
|
||||||
|
|
||||||
// Get the geofences that were triggered. A single event can trigger
|
// Get the geofences that were triggered. A single event can trigger multiple geofences.
|
||||||
// multiple geofences.
|
|
||||||
val triggeringGeofences = geofencingEvent.triggeringGeofences
|
val triggeringGeofences = geofencingEvent.triggeringGeofences
|
||||||
// Get the transition details as a String.
|
// Get the transition details as a String.
|
||||||
val geofenceTransitionDetails = "Transition: $geofenceTransition\nTriggering Geofences: $triggeringGeofences"
|
val geofenceTransitionDetails = "Transition: $geofenceTransition" +
|
||||||
|
"\nTriggering Geofences: $triggeringGeofences"
|
||||||
println("Success Transition: ")
|
println("Success Transition: ")
|
||||||
Log.i(TAG, geofenceTransitionDetails)
|
Log.i(TAG, geofenceTransitionDetails)
|
||||||
} else if (geofenceTransition == Geofence.GEOFENCE_TRANSITION_EXIT) {
|
}
|
||||||
|
Geofence.GEOFENCE_TRANSITION_EXIT -> {
|
||||||
context!!.getSharedPreferences("LOCATION", Context.MODE_PRIVATE)
|
context!!.getSharedPreferences("LOCATION", Context.MODE_PRIVATE)
|
||||||
?.edit()
|
?.edit()
|
||||||
?.putBoolean("ENABLED", false)
|
?.putBoolean("ENABLED", false)
|
||||||
?.apply()
|
?.apply()
|
||||||
|
|
||||||
val triggeringGeofences = geofencingEvent.triggeringGeofences
|
val triggeringGeofences = geofencingEvent.triggeringGeofences
|
||||||
val geofenceTransitionDetails = "Transition: $geofenceTransition\nTriggering Geofences: $triggeringGeofences"
|
val geofenceTransitionDetails =
|
||||||
|
"Transition: $geofenceTransition\nTriggering Geofences: $triggeringGeofences"
|
||||||
println("Success Transition: ")
|
println("Success Transition: ")
|
||||||
Log.i(TAG, geofenceTransitionDetails)
|
Log.i(TAG, geofenceTransitionDetails)
|
||||||
} else {
|
}
|
||||||
// Log the error.
|
else -> {
|
||||||
println("Error Transition: ")
|
println("Error Transition: ")
|
||||||
Log.e(TAG, geofenceTransition.toString())
|
Log.e(TAG, geofenceTransition.toString())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -1,17 +1,17 @@
|
|||||||
package de.hft.geotracker.activities
|
package de.hft.geotracker.activities
|
||||||
|
|
||||||
import android.Manifest
|
import android.Manifest
|
||||||
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.content.pm.PackageManager
|
import android.content.pm.PackageManager
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.fragment.app.Fragment
|
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.core.app.ActivityCompat
|
import androidx.core.app.ActivityCompat
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import de.hft.geotracker.*
|
import androidx.fragment.app.Fragment
|
||||||
import de.hft.geotracker.data.JWToken
|
import de.hft.geotracker.R
|
||||||
import de.hft.geotracker.retrofit.GeofenceService
|
import de.hft.geotracker.retrofit.GeofenceService
|
||||||
import de.hft.geotracker.retrofit.ValuesUserLogin
|
import de.hft.geotracker.retrofit.ValuesUserLogin
|
||||||
import retrofit2.Call
|
import retrofit2.Call
|
||||||
@ -24,18 +24,19 @@ import retrofit2.converter.gson.GsonConverterFactory
|
|||||||
* A simple [Fragment] subclass.
|
* A simple [Fragment] subclass.
|
||||||
*/
|
*/
|
||||||
class Login : AppCompatActivity() {
|
class Login : AppCompatActivity() {
|
||||||
lateinit var login : TextView
|
lateinit var login: TextView
|
||||||
lateinit var reg : TextView
|
lateinit var reg: TextView
|
||||||
lateinit var service : GeofenceService
|
lateinit var service: GeofenceService
|
||||||
lateinit var token : JWToken
|
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
setContentView(R.layout.activity_login)
|
setContentView(R.layout.activity_login)
|
||||||
|
|
||||||
if (ContextCompat.checkSelfPermission(this,
|
if (ContextCompat.checkSelfPermission(
|
||||||
|
this,
|
||||||
Manifest.permission.ACCESS_BACKGROUND_LOCATION
|
Manifest.permission.ACCESS_BACKGROUND_LOCATION
|
||||||
) != PackageManager.PERMISSION_GRANTED) {
|
) != PackageManager.PERMISSION_GRANTED
|
||||||
|
) {
|
||||||
ActivityCompat.requestPermissions(
|
ActivityCompat.requestPermissions(
|
||||||
this,
|
this,
|
||||||
arrayOf(Manifest.permission.ACCESS_BACKGROUND_LOCATION),
|
arrayOf(Manifest.permission.ACCESS_BACKGROUND_LOCATION),
|
||||||
@ -71,27 +72,26 @@ class Login : AppCompatActivity() {
|
|||||||
private fun login() {
|
private fun login() {
|
||||||
val name = findViewById<TextView>(R.id.setting_input_username).text.toString()
|
val name = findViewById<TextView>(R.id.setting_input_username).text.toString()
|
||||||
val pswd = findViewById<TextView>(R.id.input_password).text.toString()
|
val pswd = findViewById<TextView>(R.id.input_password).text.toString()
|
||||||
var call= service.login(
|
val call = service.login(ValuesUserLogin(name, pswd))
|
||||||
ValuesUserLogin(
|
|
||||||
name,
|
|
||||||
pswd
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
call.enqueue(object : Callback<Void> {
|
call.enqueue(object : Callback<Void> {
|
||||||
override fun onResponse(call: Call<Void>?, response: Response<Void>?) {
|
override fun onResponse(call: Call<Void>?, response: Response<Void>?) {
|
||||||
if(response != null && response.isSuccessful) {
|
if (response != null && response.isSuccessful) {
|
||||||
var headers = response.headers()
|
val headers = response.headers()
|
||||||
var authentication = headers.get("Authorization")
|
val authentication = headers.get("Authorization")
|
||||||
|
|
||||||
|
deleteFile("JWToken")
|
||||||
|
openFileOutput("JWToken", Context.MODE_PRIVATE).use {
|
||||||
|
it.write(authentication!!.toByteArray())
|
||||||
|
}
|
||||||
|
|
||||||
token = JWToken(authentication!!)
|
|
||||||
println(response.code())
|
println(response.code())
|
||||||
println(token.token)
|
|
||||||
startActivity(intent)
|
startActivity(intent)
|
||||||
} else {
|
} else {
|
||||||
if (response != null) {
|
if (response != null) {
|
||||||
println(response.code())
|
println(response.code())
|
||||||
Toast.makeText(this@Login, "Wrong Username or Password!", Toast.LENGTH_LONG).show()
|
Toast.makeText(this@Login, "Wrong Username or Password!", Toast.LENGTH_LONG)
|
||||||
|
.show()
|
||||||
} else {
|
} else {
|
||||||
println("Response is null")
|
println("Response is null")
|
||||||
}
|
}
|
||||||
|
@ -1,24 +1,19 @@
|
|||||||
package de.hft.geotracker.activities
|
package de.hft.geotracker.activities
|
||||||
|
|
||||||
import android.Manifest.permission.ACCESS_FINE_LOCATION
|
|
||||||
import android.app.PendingIntent
|
import android.app.PendingIntent
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.content.pm.PackageManager
|
|
||||||
import android.location.Location
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.os.Looper
|
|
||||||
import android.view.MenuItem
|
|
||||||
import android.widget.ArrayAdapter
|
import android.widget.ArrayAdapter
|
||||||
import android.widget.Spinner
|
import android.widget.Spinner
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.core.app.ActivityCompat
|
import com.google.android.gms.location.Geofence
|
||||||
import androidx.core.app.ActivityCompat.requestPermissions
|
import com.google.android.gms.location.GeofencingClient
|
||||||
import com.google.android.gms.location.*
|
import com.google.android.gms.location.GeofencingRequest
|
||||||
|
import com.google.android.gms.location.LocationServices
|
||||||
import de.hft.geotracker.GeofenceBroadcastReceiver
|
import de.hft.geotracker.GeofenceBroadcastReceiver
|
||||||
import de.hft.geotracker.R
|
import de.hft.geotracker.R
|
||||||
import de.hft.geotracker.data.JWToken
|
|
||||||
import de.hft.geotracker.retrofit.AuthenticationInterceptor
|
import de.hft.geotracker.retrofit.AuthenticationInterceptor
|
||||||
import de.hft.geotracker.retrofit.GeofenceService
|
import de.hft.geotracker.retrofit.GeofenceService
|
||||||
import de.hft.geotracker.retrofit.ValuesUser
|
import de.hft.geotracker.retrofit.ValuesUser
|
||||||
@ -31,8 +26,6 @@ import retrofit2.Retrofit
|
|||||||
import retrofit2.converter.gson.GsonConverterFactory
|
import retrofit2.converter.gson.GsonConverterFactory
|
||||||
import java.io.BufferedReader
|
import java.io.BufferedReader
|
||||||
import java.io.InputStreamReader
|
import java.io.InputStreamReader
|
||||||
import java.lang.StringBuilder
|
|
||||||
import kotlin.properties.Delegates
|
|
||||||
|
|
||||||
|
|
||||||
class MainActivity : AppCompatActivity() {
|
class MainActivity : AppCompatActivity() {
|
||||||
@ -40,12 +33,11 @@ class MainActivity : AppCompatActivity() {
|
|||||||
lateinit var geofence: Geofence
|
lateinit var geofence: Geofence
|
||||||
lateinit var actionButton: TextView
|
lateinit var actionButton: TextView
|
||||||
var running = false
|
var running = false
|
||||||
lateinit var service : GeofenceService
|
lateinit var service: GeofenceService
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
setSupportActionBar(findViewById(R.id.my_toolbar))
|
|
||||||
setContentView(R.layout.activity_home)
|
setContentView(R.layout.activity_home)
|
||||||
|
|
||||||
this.getSharedPreferences("LOCATION", Context.MODE_PRIVATE)
|
this.getSharedPreferences("LOCATION", Context.MODE_PRIVATE)
|
||||||
@ -86,18 +78,18 @@ class MainActivity : AppCompatActivity() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//JWToken lesen
|
//JWToken lesen
|
||||||
var fis = openFileInput("JWToken")
|
val fis = openFileInput("JWToken")
|
||||||
var isr = InputStreamReader(fis)
|
val isr = InputStreamReader(fis)
|
||||||
val bufferedReader = BufferedReader(isr)
|
val bufferedReader = BufferedReader(isr)
|
||||||
val stringBuilder = StringBuilder()
|
val stringBuilder = StringBuilder()
|
||||||
var text : String? = null
|
var text: String? = null
|
||||||
while ({text = bufferedReader.readLine(); text} () != null) {
|
while ({ text = bufferedReader.readLine(); text }() != null) {
|
||||||
stringBuilder.append(text)
|
stringBuilder.append(text)
|
||||||
}
|
}
|
||||||
val token = stringBuilder.toString()
|
val token = stringBuilder.toString()
|
||||||
println("Token Main: " + token)
|
println("Token Main: " + token)
|
||||||
//Retrofit declaration
|
//Retrofit declaration
|
||||||
var httpClient = OkHttpClient.Builder()
|
val httpClient = OkHttpClient.Builder()
|
||||||
val interceptor = AuthenticationInterceptor(token)
|
val interceptor = AuthenticationInterceptor(token)
|
||||||
httpClient.addInterceptor(interceptor)
|
httpClient.addInterceptor(interceptor)
|
||||||
val builder = Retrofit.Builder()
|
val builder = Retrofit.Builder()
|
||||||
@ -123,6 +115,24 @@ class MainActivity : AppCompatActivity() {
|
|||||||
actionButton.setOnClickListener {
|
actionButton.setOnClickListener {
|
||||||
callStartStop()
|
callStartStop()
|
||||||
}
|
}
|
||||||
|
my_toolbar.setNavigationOnClickListener {
|
||||||
|
altitude.text = "Pressed"
|
||||||
|
}
|
||||||
|
my_toolbar.setOnMenuItemClickListener { menuItem ->
|
||||||
|
when (menuItem.itemId) {
|
||||||
|
R.id.settings -> {
|
||||||
|
val intent = Intent(this, Settings::class.java)
|
||||||
|
startActivity(intent)
|
||||||
|
println("Settings pressed")
|
||||||
|
true
|
||||||
|
}
|
||||||
|
R.id.logout -> {
|
||||||
|
println("Logout pressed")
|
||||||
|
true
|
||||||
|
}
|
||||||
|
else -> false
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun callStartStop() {
|
private fun callStartStop() {
|
||||||
@ -136,7 +146,7 @@ class MainActivity : AppCompatActivity() {
|
|||||||
val call = service.getUser()
|
val call = service.getUser()
|
||||||
call.enqueue(object : Callback<ValuesUser> {
|
call.enqueue(object : Callback<ValuesUser> {
|
||||||
override fun onResponse(call: Call<ValuesUser>, response: Response<ValuesUser>) {
|
override fun onResponse(call: Call<ValuesUser>, response: Response<ValuesUser>) {
|
||||||
if(response.isSuccessful) {
|
if (response.isSuccessful) {
|
||||||
val firstname = response.body()?.firstname
|
val firstname = response.body()?.firstname
|
||||||
lbl_username.text = firstname
|
lbl_username.text = firstname
|
||||||
println("Body: " + firstname)
|
println("Body: " + firstname)
|
||||||
@ -144,10 +154,11 @@ class MainActivity : AppCompatActivity() {
|
|||||||
println("Response not successful: ${response.code()}")
|
println("Response not successful: ${response.code()}")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onFailure(call: Call<ValuesUser>, t: Throwable) {
|
override fun onFailure(call: Call<ValuesUser>, t: Throwable) {
|
||||||
println("Response 'whoami' failed")
|
println("Response 'whoami' failed")
|
||||||
}
|
}
|
||||||
} )
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getGeofencingRequest(): GeofencingRequest {
|
private fun getGeofencingRequest(): GeofencingRequest {
|
||||||
@ -164,28 +175,6 @@ class MainActivity : AppCompatActivity() {
|
|||||||
PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT)
|
PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onOptionsItemSelected(item: MenuItem) = when (item.itemId) {
|
|
||||||
R.id.settings -> {
|
|
||||||
// User chose the "Settings" item, show the app settings UI...
|
|
||||||
var intent = Intent(this, Settings::class.java)
|
|
||||||
startActivity(intent)
|
|
||||||
println("test")
|
|
||||||
true
|
|
||||||
}
|
|
||||||
R.id.logout -> {
|
|
||||||
// User chose the "Settings" item, show the app settings UI...
|
|
||||||
var intent = Intent(this, Login::class.java)
|
|
||||||
startActivity(intent)
|
|
||||||
true
|
|
||||||
}
|
|
||||||
else -> {
|
|
||||||
// If we got here, the user's action was not recognized.
|
|
||||||
// Invoke the superclass to handle it.
|
|
||||||
println("test")
|
|
||||||
super.onOptionsItemSelected(item)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onBackPressed() {
|
override fun onBackPressed() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
package de.hft.geotracker.activities
|
package de.hft.geotracker.activities
|
||||||
|
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import de.hft.geotracker.R
|
import de.hft.geotracker.R
|
||||||
|
|
||||||
class Register : AppCompatActivity() {
|
class Register : AppCompatActivity() {
|
||||||
lateinit var reg : TextView
|
lateinit var reg: TextView
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
setContentView(R.layout.activity_register)
|
setContentView(R.layout.activity_register)
|
||||||
@ -18,8 +18,7 @@ class Register : AppCompatActivity() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun createAccount() {
|
private fun createAccount() {
|
||||||
var intent = Intent(this, MainActivity::class.java)
|
startActivity(Intent(this, MainActivity::class.java))
|
||||||
startActivity(intent)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2,27 +2,17 @@ package de.hft.geotracker.activities
|
|||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.preference.PreferenceFragmentCompat
|
|
||||||
import de.hft.geotracker.R
|
import de.hft.geotracker.R
|
||||||
|
import kotlinx.android.synthetic.main.activity_home.*
|
||||||
|
|
||||||
class Settings : AppCompatActivity() {
|
class Settings : AppCompatActivity() {
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
setContentView(R.layout.settings_activity)
|
setContentView(R.layout.settings_activity)
|
||||||
supportFragmentManager
|
my_toolbar.setNavigationOnClickListener {
|
||||||
.beginTransaction()
|
onBackPressed()
|
||||||
.replace(
|
}
|
||||||
R.id.settings,
|
|
||||||
SettingsFragment()
|
|
||||||
)
|
|
||||||
.commit()
|
|
||||||
supportActionBar?.setDisplayHomeAsUpEnabled(true)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class SettingsFragment : PreferenceFragmentCompat() {
|
|
||||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
|
||||||
setPreferencesFromResource(R.xml.root_preferences, rootKey)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
@ -1,7 +0,0 @@
|
|||||||
package de.hft.geotracker.data
|
|
||||||
|
|
||||||
data class JWToken (var token : String) {
|
|
||||||
public fun getJWToken() : String {
|
|
||||||
return token
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,18 +1,14 @@
|
|||||||
package de.hft.geotracker.retrofit
|
package de.hft.geotracker.retrofit
|
||||||
|
|
||||||
import de.hft.geotracker.data.JWToken
|
|
||||||
import okhttp3.Interceptor
|
import okhttp3.Interceptor
|
||||||
import okhttp3.Response
|
import okhttp3.Response
|
||||||
import java.io.BufferedReader
|
|
||||||
import java.io.InputStreamReader
|
|
||||||
import java.lang.StringBuilder
|
|
||||||
|
|
||||||
class AuthenticationInterceptor(pToken : String) : Interceptor {
|
class AuthenticationInterceptor(pToken: String) : Interceptor {
|
||||||
val token = pToken
|
private val token = pToken
|
||||||
|
|
||||||
override fun intercept(chain: Interceptor.Chain): Response {
|
override fun intercept(chain: Interceptor.Chain): Response {
|
||||||
var original = chain.request()
|
val original = chain.request()
|
||||||
var builder = original.newBuilder()
|
val builder = original.newBuilder()
|
||||||
.header("Authorization", token)
|
.header("Authorization", token)
|
||||||
val request = builder.build()
|
val request = builder.build()
|
||||||
return chain.proceed(request)
|
return chain.proceed(request)
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
package de.hft.geotracker.retrofit
|
package de.hft.geotracker.retrofit
|
||||||
|
|
||||||
import retrofit2.Call
|
import retrofit2.Call
|
||||||
import retrofit2.http.*
|
import retrofit2.http.Body
|
||||||
|
import retrofit2.http.GET
|
||||||
|
import retrofit2.http.POST
|
||||||
|
|
||||||
interface GeofenceService {
|
interface GeofenceService {
|
||||||
@POST("/login")
|
@POST("/login")
|
||||||
fun login(@Body login_data : ValuesUserLogin) : Call<Void>
|
fun login(@Body login_data: ValuesUserLogin): Call<Void>
|
||||||
|
|
||||||
@GET("whoami")
|
@GET("whoami")
|
||||||
fun getUser() : Call<ValuesUser>
|
fun getUser(): Call<ValuesUser>
|
||||||
}
|
}
|
@ -2,24 +2,30 @@ package de.hft.geotracker.retrofit
|
|||||||
|
|
||||||
import com.google.gson.annotations.SerializedName
|
import com.google.gson.annotations.SerializedName
|
||||||
|
|
||||||
class ValuesUser (
|
class ValuesUser(
|
||||||
role : String,
|
role: String,
|
||||||
firstname : String,
|
firstname: String,
|
||||||
lastname : String,
|
lastname: String,
|
||||||
username : String,
|
username: String,
|
||||||
location : String,
|
location: String,
|
||||||
id : Integer) {
|
id: Int
|
||||||
|
) {
|
||||||
|
|
||||||
@SerializedName("role")
|
@SerializedName("role")
|
||||||
var role = role
|
var role = role
|
||||||
|
|
||||||
@SerializedName("firstname")
|
@SerializedName("firstname")
|
||||||
var firstname = firstname
|
var firstname = firstname
|
||||||
|
|
||||||
@SerializedName("lastname")
|
@SerializedName("lastname")
|
||||||
var lastname = lastname
|
var lastname = lastname
|
||||||
|
|
||||||
@SerializedName("username")
|
@SerializedName("username")
|
||||||
var username = username
|
var username = username
|
||||||
|
|
||||||
@SerializedName("location")
|
@SerializedName("location")
|
||||||
var location = location
|
var location = location
|
||||||
|
|
||||||
@SerializedName("id")
|
@SerializedName("id")
|
||||||
var id = id
|
var id = id
|
||||||
|
|
||||||
|
@ -2,10 +2,11 @@ package de.hft.geotracker.retrofit
|
|||||||
|
|
||||||
import com.google.gson.annotations.SerializedName
|
import com.google.gson.annotations.SerializedName
|
||||||
|
|
||||||
class ValuesUserLogin (name : String, pswd : String) {
|
class ValuesUserLogin(name: String, pswd: String) {
|
||||||
|
|
||||||
@SerializedName("username")
|
@SerializedName("username")
|
||||||
var username = name
|
var username = name
|
||||||
|
|
||||||
@SerializedName("password")
|
@SerializedName("password")
|
||||||
var password = pswd
|
var password = pswd
|
||||||
|
|
||||||
|
61
android/app/src/main/res/drawable/ic_logo.xml
Normal file
61
android/app/src/main/res/drawable/ic_logo.xml
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
<vector android:height="35dp" android:viewportHeight="12000"
|
||||||
|
android:viewportWidth="12000" android:width="35dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<path android:fillColor="#2a2a2a"
|
||||||
|
android:pathData="M5640,11934c-297,-19 -571,-57 -905,-124 -566,-115 -1236,-379 -1770,-698 -441,-263 -792,-538 -1166,-911 -167,-168 -239,-244 -363,-391 -218,-257 -481,-643 -655,-960 -260,-475 -492,-1097 -591,-1585 -55,-274 -72,-386 -112,-730 -17,-150 -17,-920 0,-1070 40,-344 57,-456 112,-730 99,-488 331,-1110 591,-1585 173,-316 431,-693 655,-960 208,-247 507,-546 754,-754 267,-224 644,-482 960,-655 475,-260 1096,-492 1585,-591 222,-45 311,-60 500,-84 290,-38 355,-41 765,-41 410,0 475,3 765,41 189,24 278,39 500,84 566,115 1236,379 1770,698 441,263 792,538 1166,911 167,168 239,244 363,391 218,257 481,643 655,960 260,475 492,1097 591,1585 55,274 72,386 112,730 8,72 13,256 13,535 0,279 -5,463 -13,535 -40,344 -57,456 -112,730 -114,565 -379,1236 -698,1770 -458,768 -1080,1422 -1817,1912 -293,195 -529,326 -860,478 -323,149 -836,317 -1170,385 -216,43 -389,72 -540,90 -49,5 -130,15 -180,21 -86,10 -790,20 -905,13z" android:strokeColor="#00000000"/>
|
||||||
|
<path android:fillColor="#801010"
|
||||||
|
android:pathData="M5640,11934c-297,-19 -571,-57 -905,-124 -566,-115 -1236,-379 -1770,-698 -441,-263 -792,-538 -1166,-911 -167,-168 -239,-244 -363,-391 -218,-257 -481,-643 -655,-960 -260,-475 -492,-1097 -591,-1585 -55,-274 -72,-386 -112,-730 -17,-150 -17,-920 0,-1070 40,-344 57,-456 112,-730 99,-488 331,-1110 591,-1585 173,-316 431,-693 655,-960 208,-247 507,-546 754,-754 267,-224 644,-482 960,-655 475,-260 1096,-492 1585,-591 222,-45 311,-60 500,-84 290,-38 355,-41 765,-41 410,0 475,3 765,41 189,24 278,39 500,84 566,115 1236,379 1770,698 441,263 792,538 1166,911 167,168 239,244 363,391 218,257 481,643 655,960 260,475 492,1097 591,1585 55,274 72,386 112,730 8,72 13,256 13,535 0,279 -5,463 -13,535 -40,344 -57,456 -112,730 -114,565 -379,1236 -698,1770 -458,768 -1080,1422 -1817,1912 -293,195 -529,326 -860,478 -323,149 -836,317 -1170,385 -216,43 -389,72 -540,90 -49,5 -130,15 -180,21 -86,10 -790,20 -905,13zM6405,11039c1939,-165 3607,-1411 4321,-3228 158,-403 270,-859 319,-1311 22,-199 31,-663 16,-875 -72,-1051 -449,-2023 -1102,-2841 -924,-1158 -2312,-1859 -3781,-1911l-188,-6 0,145 0,145 39,6c67,9 157,56 207,109 70,75 89,125 89,238 0,82 -4,103 -26,151 -48,101 -154,183 -258,198l-46,6 -3,1749 -2,1749 57,-6c32,-4 185,-20 341,-37 155,-16 408,-44 562,-60 154,-16 405,-43 558,-60 152,-16 448,-48 657,-70 209,-22 505,-54 658,-70 304,-33 812,-88 867,-95 35,-5 35,-4 -6,9 -23,8 -216,91 -430,186 -214,95 -681,302 -1039,460 -357,158 -972,431 -1365,606l-715,317 -115,13c-63,8 -241,27 -395,44 -154,16 -407,43 -562,60 -156,16 -409,44 -563,60 -154,17 -406,44 -560,60 -154,17 -407,44 -562,60 -156,17 -449,48 -653,70 -203,22 -395,47 -425,55 -30,8 -56,15 -58,15 -15,0 32,-31 54,-36 29,-7 342,-144 1669,-732 1202,-532 1100,-485 1073,-495 -12,-5 -48,-15 -78,-23 -30,-7 -107,-27 -170,-44 -63,-17 -140,-38 -170,-46 -30,-8 -77,-21 -105,-28 -27,-8 -102,-28 -165,-45 -63,-17 -167,-44 -230,-62 -63,-17 -137,-37 -165,-44 -27,-7 -84,-22 -125,-33 -41,-11 -118,-32 -170,-45 -52,-14 -131,-35 -175,-47 -44,-12 -93,-26 -110,-30 -16,-4 -73,-19 -125,-33 -204,-55 -297,-80 -345,-92 -27,-7 -77,-21 -110,-30 -60,-17 -130,-35 -300,-80 -49,-13 -117,-31 -150,-40 -33,-10 -82,-23 -110,-30 -27,-7 -77,-21 -110,-30 -33,-10 -85,-23 -115,-31 -30,-7 -107,-27 -170,-44 -186,-52 -441,-120 -500,-135 -30,-8 -80,-21 -110,-29 -30,-8 -81,-22 -113,-30l-58,-14 -10,26c-6,15 -26,95 -44,178 -235,1059 -125,2174 311,3162 624,1411 1864,2474 3344,2865 360,96 678,144 1115,171 96,6 499,-4 630,-15zM2215,3913c44,-22 65,-43 87,-87 40,-79 14,-199 -54,-247 -141,-101 -321,-11 -321,161 0,31 7,69 16,86 21,41 80,92 115,100 15,3 32,7 37,9 18,7 89,-7 120,-22zM3846,2283c116,-60 139,-232 42,-319 -45,-42 -87,-56 -150,-52 -167,12 -245,200 -135,325 64,73 158,90 243,46z" android:strokeColor="#00000000"/>
|
||||||
|
<path android:fillColor="#243a49"
|
||||||
|
android:pathData="M5640,11934c-297,-19 -571,-57 -905,-124 -566,-115 -1236,-379 -1770,-698 -441,-263 -792,-538 -1166,-911 -167,-168 -239,-244 -363,-391 -218,-257 -481,-643 -655,-960 -260,-475 -492,-1097 -591,-1585 -55,-274 -72,-386 -112,-730 -17,-150 -17,-920 0,-1070 40,-344 57,-456 112,-730 99,-488 331,-1110 591,-1585 173,-316 431,-693 655,-960 208,-247 507,-546 754,-754 267,-224 644,-482 960,-655 475,-260 1096,-492 1585,-591 222,-45 311,-60 500,-84 290,-38 355,-41 765,-41 410,0 475,3 765,41 189,24 278,39 500,84 566,115 1236,379 1770,698 441,263 792,538 1166,911 167,168 239,244 363,391 218,257 481,643 655,960 260,475 492,1097 591,1585 55,274 72,386 112,730 8,72 13,256 13,535 0,279 -5,463 -13,535 -40,344 -57,456 -112,730 -114,565 -379,1236 -698,1770 -458,768 -1080,1422 -1817,1912 -293,195 -529,326 -860,478 -323,149 -836,317 -1170,385 -216,43 -389,72 -540,90 -49,5 -130,15 -180,21 -86,10 -790,20 -905,13zM6405,11039c1939,-165 3607,-1411 4321,-3228 158,-403 270,-859 319,-1311 22,-199 31,-663 16,-875 -72,-1051 -449,-2023 -1102,-2841 -924,-1158 -2312,-1859 -3781,-1911l-188,-6 0,145 0,145 39,6c67,9 157,56 207,109 70,75 89,125 89,238 0,82 -4,103 -26,151 -48,101 -154,183 -258,198l-46,6 -5,1750 -5,1751 160,-17c88,-10 288,-31 445,-48 157,-17 412,-44 568,-61 155,-16 408,-44 562,-60 154,-17 407,-44 563,-60 155,-17 449,-48 652,-70 204,-22 453,-48 555,-59 101,-11 185,-19 187,-17 2,1 -68,22 -154,45 -87,23 -374,100 -638,171 -826,221 -1283,344 -1790,480 -269,72 -631,169 -804,215 -172,47 -316,86 -318,89 -3,3 130,527 144,562 3,7 -34,15 -104,22 -59,6 -235,25 -390,42 -156,16 -409,44 -563,60 -154,17 -406,44 -560,60 -154,17 -406,44 -560,60 -154,17 -407,44 -562,60 -156,17 -449,48 -653,70 -203,22 -395,47 -425,55 -30,8 -56,15 -58,15 -15,0 32,-31 54,-36 29,-7 342,-144 1669,-732 1202,-532 1100,-485 1073,-495 -12,-5 -48,-15 -78,-23 -30,-7 -107,-27 -170,-44 -63,-17 -140,-38 -170,-46 -30,-8 -77,-21 -105,-28 -27,-8 -102,-28 -165,-45 -63,-17 -167,-44 -230,-62 -63,-17 -137,-37 -165,-44 -27,-7 -84,-22 -125,-33 -41,-11 -118,-32 -170,-45 -52,-14 -131,-35 -175,-47 -44,-12 -93,-26 -110,-30 -16,-4 -73,-19 -125,-33 -204,-55 -297,-80 -345,-92 -27,-7 -77,-21 -110,-30 -60,-17 -130,-35 -300,-80 -49,-13 -117,-31 -150,-40 -33,-10 -82,-23 -110,-30 -27,-7 -77,-21 -110,-30 -33,-10 -85,-23 -115,-31 -30,-7 -107,-27 -170,-44 -186,-52 -441,-120 -500,-135 -30,-8 -80,-21 -110,-29 -30,-8 -81,-22 -113,-30l-58,-14 -10,26c-6,15 -26,95 -44,178 -235,1059 -125,2174 311,3162 624,1411 1864,2474 3344,2865 360,96 678,144 1115,171 96,6 499,-4 630,-15zM2215,3913c44,-22 65,-43 87,-87 40,-79 14,-199 -54,-247 -141,-101 -321,-11 -321,161 0,31 7,69 16,86 21,41 80,92 115,100 15,3 32,7 37,9 18,7 89,-7 120,-22zM3846,2283c116,-60 139,-232 42,-319 -45,-42 -87,-56 -150,-52 -167,12 -245,200 -135,325 64,73 158,90 243,46z" android:strokeColor="#00000000"/>
|
||||||
|
<path android:fillColor="#243a49"
|
||||||
|
android:pathData="M3670,10005c-78,-36 -120,-103 -120,-192 1,-187 228,-273 354,-133 83,92 66,236 -37,307 -49,34 -142,42 -197,18z" android:strokeColor="#00000000"/>
|
||||||
|
<path android:fillColor="#243a49"
|
||||||
|
android:pathData="M8115,10002c-80,-37 -121,-113 -113,-208 14,-171 225,-245 347,-123 91,90 77,240 -27,314 -55,38 -146,46 -207,17z" android:strokeColor="#00000000"/>
|
||||||
|
<path android:fillColor="#243a49"
|
||||||
|
android:pathData="M2035,8373c-81,-42 -121,-115 -113,-207 14,-166 213,-242 338,-130 105,95 87,262 -35,331 -49,28 -144,31 -190,6z" android:strokeColor="#00000000"/>
|
||||||
|
<path android:fillColor="#243a49"
|
||||||
|
android:pathData="M9745,8376c-38,-17 -90,-72 -104,-109 -6,-16 -11,-54 -11,-86 0,-79 37,-138 111,-175 87,-43 167,-30 235,38 67,67 80,145 39,233 -34,75 -96,113 -179,113 -34,-1 -74,-7 -91,-14z" android:strokeColor="#00000000"/>
|
||||||
|
<path android:fillColor="#243a49"
|
||||||
|
android:pathData="M9750,3925c-78,-36 -120,-103 -120,-192 1,-187 228,-273 354,-133 83,92 66,236 -37,307 -49,34 -142,42 -197,18z" android:strokeColor="#00000000"/>
|
||||||
|
<path android:fillColor="#243a49"
|
||||||
|
android:pathData="M8115,2293c-81,-42 -121,-115 -113,-207 14,-166 213,-242 338,-130 105,95 87,262 -35,331 -49,28 -144,31 -190,6z" android:strokeColor="#00000000"/>
|
||||||
|
<path android:fillColor="#e21d1f"
|
||||||
|
android:pathData="M5640,11934c-297,-19 -571,-57 -905,-124 -566,-115 -1236,-379 -1770,-698 -441,-263 -792,-538 -1166,-911 -167,-168 -239,-244 -363,-391 -218,-257 -481,-643 -655,-960 -260,-475 -492,-1097 -591,-1585 -55,-274 -72,-386 -112,-730 -17,-150 -17,-920 0,-1070 40,-344 57,-456 112,-730 99,-488 331,-1110 591,-1585 173,-316 431,-693 655,-960 208,-247 507,-546 754,-754 267,-224 644,-482 960,-655 475,-260 1096,-492 1585,-591 222,-45 311,-60 500,-84 290,-38 355,-41 765,-41 410,0 475,3 765,41 189,24 278,39 500,84 566,115 1236,379 1770,698 441,263 792,538 1166,911 167,168 239,244 363,391 218,257 481,643 655,960 260,475 492,1097 591,1585 55,274 72,386 112,730 8,72 13,256 13,535 0,279 -5,463 -13,535 -40,344 -57,456 -112,730 -114,565 -379,1236 -698,1770 -458,768 -1080,1422 -1817,1912 -293,195 -529,326 -860,478 -323,149 -836,317 -1170,385 -216,43 -389,72 -540,90 -49,5 -130,15 -180,21 -86,10 -790,20 -905,13zM6405,11039c1939,-165 3607,-1411 4321,-3228 158,-403 270,-859 319,-1311 22,-199 31,-663 16,-875 -72,-1051 -449,-2023 -1102,-2841 -925,-1159 -2315,-1861 -3786,-1911l-193,-6 0,145 0,145 43,5c70,8 162,55 213,110 70,75 89,125 89,238 0,82 -4,103 -26,151 -15,32 -46,76 -69,99 -53,53 -151,100 -207,100l-43,0 -2,1754 -3,1754 30,-4c17,-2 157,-18 313,-34 155,-17 408,-43 562,-60 154,-16 406,-43 560,-60 154,-16 406,-43 560,-60 154,-17 405,-43 558,-60 152,-16 383,-41 512,-55 129,-13 318,-33 420,-44 101,-11 185,-19 187,-17 2,1 -68,22 -154,45 -87,23 -374,100 -638,171 -826,221 -1283,344 -1790,480 -269,72 -631,169 -804,215 -172,47 -316,86 -318,89 -3,3 130,527 144,562 3,7 -34,15 -104,22 -59,6 -235,25 -390,42 -156,16 -409,44 -563,60 -154,17 -406,44 -560,60 -154,17 -406,44 -560,60 -154,17 -407,44 -562,60 -156,17 -449,48 -653,70 -203,22 -395,47 -425,55 -30,8 -56,15 -58,15 -15,0 32,-31 54,-36 16,-4 241,-100 499,-214 589,-260 1802,-797 2079,-921l209,-93 -124,-33c-68,-19 -146,-40 -174,-47 -27,-8 -180,-49 -340,-91 -159,-42 -310,-83 -335,-90 -25,-7 -175,-48 -335,-90 -159,-42 -312,-83 -340,-91 -27,-8 -153,-41 -280,-75 -126,-33 -252,-67 -280,-75 -27,-7 -160,-43 -295,-79 -135,-36 -261,-70 -280,-75 -19,-5 -145,-39 -280,-75 -135,-36 -267,-72 -295,-79 -209,-59 -615,-165 -639,-168 -30,-3 -30,-2 -52,82 -57,222 -112,556 -135,825 -16,179 -16,640 0,815 70,786 296,1505 677,2157 790,1348 2136,2256 3674,2477 153,22 317,37 525,50 96,6 499,-4 630,-15zM2205,3921c70,-31 125,-113 125,-186 0,-66 -51,-150 -110,-180 -102,-53 -233,-6 -281,100 -27,58 -24,113 9,176 49,94 162,133 257,90zM3835,2291c56,-25 100,-79 114,-139 35,-145 -96,-276 -241,-241 -186,44 -215,301 -43,380 51,24 119,24 170,0z" android:strokeColor="#00000000"/>
|
||||||
|
<path android:fillColor="#0096ff"
|
||||||
|
android:pathData="M5640,11934c-297,-19 -571,-57 -905,-124 -566,-115 -1236,-379 -1770,-698 -441,-263 -792,-538 -1166,-911 -167,-168 -239,-244 -363,-391 -218,-257 -481,-643 -655,-960 -260,-475 -492,-1097 -591,-1585 -55,-274 -72,-386 -112,-730 -17,-150 -17,-920 0,-1070 40,-344 57,-456 112,-730 99,-488 331,-1110 591,-1585 173,-316 431,-693 655,-960 208,-247 507,-546 754,-754 267,-224 644,-482 960,-655 475,-260 1096,-492 1585,-591 222,-45 311,-60 500,-84 290,-38 355,-41 765,-41 410,0 475,3 765,41 189,24 278,39 500,84 566,115 1236,379 1770,698 441,263 792,538 1166,911 167,168 239,244 363,391 218,257 481,643 655,960 260,475 492,1097 591,1585 55,274 72,386 112,730 8,72 13,256 13,535 0,279 -5,463 -13,535 -40,344 -57,456 -112,730 -114,565 -379,1236 -698,1770 -458,768 -1080,1422 -1817,1912 -293,195 -529,326 -860,478 -323,149 -836,317 -1170,385 -216,43 -389,72 -540,90 -49,5 -130,15 -180,21 -86,10 -790,20 -905,13zM6405,11039c1939,-165 3607,-1411 4321,-3228 158,-403 270,-859 319,-1311 22,-199 31,-663 16,-875 -72,-1051 -449,-2023 -1102,-2841 -925,-1159 -2315,-1861 -3786,-1911l-193,-6 0,145 0,145 43,5c70,8 162,55 213,110 70,75 89,125 89,238 0,82 -4,103 -26,151 -15,32 -46,76 -69,99 -53,53 -151,100 -207,100l-43,0 -2,1752 -3,1753 -80,9c-44,5 -81,10 -83,11 -1,1 29,116 67,256 38,140 106,396 151,569 45,173 84,319 87,325 3,8 -31,16 -104,23 -59,6 -235,25 -390,42 -156,16 -409,44 -563,60 -154,17 -406,44 -560,60 -154,17 -406,44 -560,60 -154,17 -407,44 -562,60 -156,17 -449,48 -653,70 -203,22 -395,47 -425,55 -30,8 -56,15 -58,15 -15,0 32,-31 54,-36 16,-4 241,-100 499,-214 589,-260 1802,-797 2079,-921l209,-93 -124,-33c-68,-19 -146,-40 -174,-47 -27,-8 -180,-49 -340,-91 -159,-42 -310,-83 -335,-90 -25,-7 -175,-48 -335,-90 -159,-42 -312,-83 -340,-91 -27,-8 -153,-41 -280,-75 -126,-33 -252,-67 -280,-75 -27,-7 -160,-43 -295,-79 -135,-36 -261,-70 -280,-75 -19,-5 -145,-39 -280,-75 -135,-36 -267,-72 -295,-79 -209,-59 -615,-165 -639,-168 -30,-3 -30,-2 -52,82 -57,222 -112,556 -135,825 -16,179 -16,640 0,815 70,786 296,1505 677,2157 790,1348 2136,2256 3674,2477 153,22 317,37 525,50 96,6 499,-4 630,-15zM2205,3921c70,-31 125,-113 125,-186 0,-66 -51,-150 -110,-180 -102,-53 -233,-6 -281,100 -27,58 -24,113 9,176 49,94 162,133 257,90zM3835,2291c56,-25 100,-79 114,-139 35,-145 -96,-276 -241,-241 -186,44 -215,301 -43,380 51,24 119,24 170,0z" android:strokeColor="#00000000"/>
|
||||||
|
<path android:fillColor="#0096ff"
|
||||||
|
android:pathData="M3685,10008c-158,-55 -183,-270 -42,-362 151,-97 344,38 306,214 -25,116 -152,187 -264,148z" android:strokeColor="#00000000"/>
|
||||||
|
<path android:fillColor="#0096ff"
|
||||||
|
android:pathData="M8125,10001c-105,-49 -152,-166 -106,-266 60,-133 235,-163 332,-58 34,36 45,59 54,109 25,153 -140,280 -280,215z" android:strokeColor="#00000000"/>
|
||||||
|
<path android:fillColor="#0096ff"
|
||||||
|
android:pathData="M2044,8376c-104,-47 -152,-173 -103,-273 84,-174 329,-148 380,40 21,78 -16,169 -89,216 -45,29 -142,38 -188,17z" android:strokeColor="#00000000"/>
|
||||||
|
<path android:fillColor="#0096ff"
|
||||||
|
android:pathData="M9739,8367c-163,-86 -133,-331 46,-376 143,-36 280,100 244,244 -32,126 -177,192 -290,132z" android:strokeColor="#00000000"/>
|
||||||
|
<path android:fillColor="#0096ff"
|
||||||
|
android:pathData="M9761,3927c-44,-14 -106,-78 -122,-124 -16,-50 -6,-133 23,-176 122,-188 414,-66 367,153 -25,118 -148,185 -268,147z" android:strokeColor="#00000000"/>
|
||||||
|
<path android:fillColor="#0096ff"
|
||||||
|
android:pathData="M8124,2296c-103,-46 -151,-171 -105,-272 63,-138 265,-158 348,-34 68,99 44,224 -55,289 -45,29 -142,38 -188,17z" android:strokeColor="#00000000"/>
|
||||||
|
<path android:fillColor="#949187"
|
||||||
|
android:pathData="M5640,11934c-297,-19 -571,-57 -905,-124 -566,-115 -1236,-379 -1770,-698 -441,-263 -792,-538 -1166,-911 -167,-168 -239,-244 -363,-391 -218,-257 -481,-643 -655,-960 -260,-475 -492,-1097 -591,-1585 -55,-274 -72,-386 -112,-730 -17,-150 -17,-920 0,-1070 40,-344 57,-456 112,-730 99,-488 331,-1110 591,-1585 173,-316 431,-693 655,-960 208,-247 507,-546 754,-754 267,-224 644,-482 960,-655 475,-260 1096,-492 1585,-591 222,-45 311,-60 500,-84 290,-38 355,-41 765,-41 410,0 475,3 765,41 189,24 278,39 500,84 566,115 1236,379 1770,698 441,263 792,538 1166,911 167,168 239,244 363,391 218,257 481,643 655,960 260,475 492,1097 591,1585 55,274 72,386 112,730 8,72 13,256 13,535 0,279 -5,463 -13,535 -40,344 -57,456 -112,730 -114,565 -379,1236 -698,1770 -458,768 -1080,1422 -1817,1912 -293,195 -529,326 -860,478 -323,149 -836,317 -1170,385 -216,43 -389,72 -540,90 -49,5 -130,15 -180,21 -86,10 -790,20 -905,13zM6405,11039c1939,-165 3607,-1411 4321,-3228 158,-403 270,-859 319,-1311 22,-199 31,-663 16,-875 -72,-1051 -449,-2023 -1102,-2841 -779,-977 -1903,-1640 -3124,-1843 -337,-57 -454,-65 -870,-65 -414,-1 -514,7 -855,65 -1047,177 -2017,687 -2770,1456 -631,643 -1074,1425 -1293,2283 -112,436 -160,826 -160,1285 0,293 10,442 49,720 241,1720 1354,3199 2954,3925 576,261 1166,400 1885,444 96,6 499,-4 630,-15z" android:strokeColor="#00000000"/>
|
||||||
|
<path android:fillColor="#949187"
|
||||||
|
android:pathData="M5833,10731c-77,-37 -137,-96 -172,-170 -22,-48 -26,-69 -26,-151 0,-76 5,-104 22,-142 32,-70 103,-141 176,-174 53,-25 74,-29 147,-29 73,0 94,4 147,29 73,33 144,104 176,174 17,38 22,66 22,142 0,82 -4,103 -26,151 -35,74 -95,133 -172,170 -53,25 -74,29 -147,29 -73,0 -94,-4 -147,-29z" android:strokeColor="#00000000"/>
|
||||||
|
<path android:fillColor="#949187"
|
||||||
|
android:pathData="M2253,6965c8,-7 28,-17 43,-21 36,-9 101,-37 974,-424 388,-172 959,-425 1270,-562 311,-138 722,-320 914,-405 192,-85 352,-151 356,-146 9,9 103,355 226,823 42,162 78,300 81,306 3,7 -34,15 -104,22 -59,6 -235,25 -390,42 -156,16 -409,44 -563,60 -154,17 -406,44 -560,60 -154,17 -406,44 -560,60 -154,17 -407,44 -562,60 -156,17 -449,48 -653,70 -203,22 -395,47 -425,55 -30,8 -56,15 -58,15 -2,0 3,-7 11,-15z" android:strokeColor="#00000000"/>
|
||||||
|
<path android:fillColor="#949187"
|
||||||
|
android:pathData="M1444,6306c-161,-40 -264,-174 -264,-341 0,-143 69,-254 198,-317 60,-30 75,-33 152,-32 105,0 176,29 245,99 181,180 116,485 -123,579 -59,23 -147,28 -208,12z" android:strokeColor="#00000000"/>
|
||||||
|
<path android:fillColor="#949187"
|
||||||
|
android:pathData="M10344,6306c-161,-40 -264,-174 -264,-341 0,-143 69,-254 198,-317 60,-30 75,-33 152,-32 105,0 176,29 245,99 181,180 116,485 -123,579 -59,23 -147,28 -208,12z" android:strokeColor="#00000000"/>
|
||||||
|
<path android:fillColor="#949187"
|
||||||
|
android:pathData="M5853,1839c-71,-27 -155,-106 -190,-177 -25,-50 -28,-68 -28,-152 0,-79 4,-103 24,-142 37,-75 95,-134 169,-170 59,-29 76,-33 152,-33 73,0 94,4 147,29 73,33 144,104 176,174 17,38 22,66 22,142 0,82 -4,103 -26,151 -35,74 -95,133 -172,170 -53,25 -74,29 -142,28 -55,0 -96,-6 -132,-20z" android:strokeColor="#00000000"/>
|
||||||
|
<path android:fillColor="#eae6d8"
|
||||||
|
android:pathData="M5640,11934c-296,-19 -576,-57 -904,-124 -494,-101 -1110,-330 -1586,-591 -316,-173 -693,-431 -960,-655 -194,-164 -521,-483 -660,-644 -104,-121 -109,-127 -176,-210 -535,-666 -942,-1498 -1134,-2320 -17,-74 -35,-153 -40,-175 -12,-51 -45,-238 -59,-330 -10,-71 -20,-153 -43,-350 -17,-150 -17,-920 0,-1070 7,-60 17,-148 23,-195 96,-804 370,-1607 787,-2305 154,-259 368,-561 548,-775 208,-247 507,-546 754,-754 267,-224 644,-482 960,-655 476,-261 1092,-490 1586,-591 215,-44 310,-60 499,-84 290,-38 355,-41 765,-41 410,0 475,3 765,41 189,24 284,40 499,84 495,101 1115,332 1586,591 322,177 693,431 960,655 194,164 521,483 660,644 104,121 109,127 176,210 535,666 942,1498 1134,2320 17,74 35,153 40,175 12,51 45,238 59,330 10,71 20,153 43,350 8,72 13,256 13,535 0,279 -5,463 -13,535 -23,197 -33,279 -43,350 -14,92 -47,279 -59,330 -5,22 -23,101 -40,175 -131,561 -364,1135 -668,1645 -457,767 -1080,1422 -1817,1912 -293,195 -529,326 -860,478 -324,149 -832,316 -1171,385 -210,43 -388,72 -539,90 -49,5 -130,15 -180,21 -86,10 -790,20 -905,13zM6361,11050c815,-63 1568,-304 2259,-723 1040,-630 1836,-1632 2210,-2782 181,-559 260,-1100 247,-1700 -12,-579 -112,-1105 -311,-1645 -71,-195 -80,-215 -174,-415 -687,-1462 -2039,-2516 -3629,-2829 -1318,-260 -2693,13 -3808,757 -396,264 -731,561 -1048,927 -423,490 -760,1081 -967,1700 -181,541 -260,1033 -260,1626 0,582 79,1070 260,1614 203,608 502,1143 927,1660 112,136 498,521 635,634 827,682 1790,1081 2823,1170 186,17 656,20 836,6z" android:strokeColor="#00000000"/>
|
||||||
|
<path android:fillColor="#eae6d8"
|
||||||
|
android:pathData="M5873,10746c-89,-29 -163,-95 -210,-186 -24,-48 -27,-67 -28,-145 0,-82 3,-96 33,-157 38,-77 91,-128 172,-167 46,-21 69,-26 140,-26 71,0 94,5 140,26 81,39 134,90 172,167 30,61 33,75 33,157 -1,79 -4,97 -30,148 -34,68 -107,140 -173,169 -59,27 -188,34 -249,14z" android:strokeColor="#00000000"/>
|
||||||
|
<path android:fillColor="#eae6d8"
|
||||||
|
android:pathData="M2280,6964c0,-3 21,-14 48,-25 75,-33 1690,-747 2621,-1161 470,-208 857,-376 861,-371 6,7 127,443 150,540 9,38 23,31 -205,92 -82,22 -438,117 -790,211 -1199,321 -1760,471 -2190,586 -236,63 -445,119 -462,124 -18,4 -33,6 -33,4z" android:strokeColor="#00000000"/>
|
||||||
|
<path android:fillColor="#eae6d8"
|
||||||
|
android:pathData="M1430,6301c-93,-29 -177,-101 -219,-190 -22,-48 -26,-69 -26,-151 0,-85 3,-101 29,-150 63,-123 177,-192 316,-193 103,-1 180,34 255,115 206,222 46,581 -258,577 -40,0 -83,-4 -97,-8z" android:strokeColor="#00000000"/>
|
||||||
|
<path android:fillColor="#eae6d8"
|
||||||
|
android:pathData="M10330,6301c-93,-29 -177,-101 -219,-190 -22,-48 -26,-69 -26,-151 0,-85 3,-101 29,-150 63,-123 177,-192 316,-193 103,-1 180,34 255,115 206,222 46,581 -258,577 -40,0 -83,-4 -97,-8z" android:strokeColor="#00000000"/>
|
||||||
|
<path android:fillColor="#eae6d8"
|
||||||
|
android:pathData="M5853,1839c-71,-28 -155,-106 -190,-177 -25,-50 -28,-68 -28,-152 0,-79 4,-103 24,-142 37,-75 95,-134 169,-170 60,-30 75,-33 152,-33 70,1 94,5 140,27 81,38 134,89 172,166 30,61 33,75 33,157 -1,79 -4,97 -30,148 -34,68 -107,140 -173,170 -69,31 -200,34 -269,6z" android:strokeColor="#00000000"/>
|
||||||
|
</vector>
|
@ -1,6 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:id="@+id/frameLayout"
|
android:id="@+id/frameLayout"
|
||||||
@ -10,35 +9,38 @@
|
|||||||
tools:context=".activities.MainActivity">
|
tools:context=".activities.MainActivity">
|
||||||
|
|
||||||
<!-- TODO: Update blank fragment layout -->
|
<!-- TODO: Update blank fragment layout -->
|
||||||
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
<androidx.appcompat.widget.Toolbar
|
android:id="@+id/appBarLayout"
|
||||||
android:id="@+id/my_toolbar"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="?attr/actionBarSize"
|
android:layout_height="wrap_content"
|
||||||
android:background="@color/colorPrimary"
|
|
||||||
android:contextClickable="false"
|
|
||||||
android:elevation="4dp"
|
|
||||||
android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
|
|
||||||
android:visibility="visible"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
|
<com.google.android.material.appbar.MaterialToolbar
|
||||||
|
android:id="@+id/my_toolbar"
|
||||||
|
style="@style/Widget.MaterialComponents.Toolbar.Primary"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="?attr/actionBarSize"
|
||||||
app:menu="@menu/menu"
|
app:menu="@menu/menu"
|
||||||
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
|
app:navigationIcon="@drawable/ic_logo"
|
||||||
app:titleTextAppearance="@style/text_style" />
|
app:title="@string/app_name" />
|
||||||
|
|
||||||
|
</com.google.android.material.appbar.AppBarLayout>
|
||||||
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/hello"
|
android:id="@+id/hello"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/margin16"
|
android:layout_marginStart="@dimen/margin16"
|
||||||
android:layout_marginTop="16dp"
|
android:layout_marginTop="@dimen/margin16"
|
||||||
android:text="@string/hello"
|
android:text="@string/hello"
|
||||||
android:textAppearance="@style/text_style"
|
android:textAppearance="@style/text_style"
|
||||||
android:textSize="24sp"
|
android:textSize="24sp"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/selected_acc"
|
app:layout_constraintBottom_toTopOf="@+id/selected_acc"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/my_toolbar"
|
app:layout_constraintTop_toBottomOf="@+id/appBarLayout"
|
||||||
app:layout_constraintVertical_bias="0.0" />
|
app:layout_constraintVertical_bias="0.0" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
@ -64,20 +66,22 @@
|
|||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintHorizontal_bias="0.0"
|
app:layout_constraintHorizontal_bias="0.0"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/my_toolbar"
|
app:layout_constraintTop_toBottomOf="@+id/appBarLayout"
|
||||||
app:layout_constraintVertical_bias="0.19" />
|
app:layout_constraintVertical_bias="0.19" />
|
||||||
|
|
||||||
<ToggleButton
|
<ToggleButton
|
||||||
android:id="@+id/button_start_stop"
|
android:id="@+id/button_start_stop"
|
||||||
|
style="@style/Widget.MaterialComponents.Button"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="@dimen/margin16"
|
android:layout_marginStart="@dimen/margin16"
|
||||||
android:layout_marginEnd="@dimen/margin16"
|
android:layout_marginEnd="@dimen/margin16"
|
||||||
android:layout_marginBottom="@dimen/margin16"
|
android:layout_marginBottom="@dimen/margin16"
|
||||||
android:background="@color/colorPrimaryDark"
|
android:background="@color/colorPrimary"
|
||||||
android:checked="true"
|
android:checked="true"
|
||||||
android:enabled="false"
|
android:enabled="false"
|
||||||
android:textAppearance="@style/text_style"
|
android:textAppearance="@style/text_style"
|
||||||
|
android:textColor="@color/logo_white"
|
||||||
android:textOff="@string/stop"
|
android:textOff="@string/stop"
|
||||||
android:textOn="@string/btn_start_text"
|
android:textOn="@string/btn_start_text"
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
@ -97,36 +101,38 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/altitude"
|
android:id="@+id/altitude"
|
||||||
style="@style/text_style"
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="16dp"
|
android:layout_marginTop="16dp"
|
||||||
|
android:text="dummy"
|
||||||
|
android:textAppearance="@style/text_style"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/longitude" />
|
app:layout_constraintTop_toBottomOf="@+id/longitude" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/latitude"
|
android:id="@+id/latitude"
|
||||||
style="@style/text_style"
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="16dp"
|
android:layout_marginStart="16dp"
|
||||||
android:layout_marginTop="32dp"
|
android:layout_marginTop="32dp"
|
||||||
android:layout_marginEnd="16dp"
|
android:layout_marginEnd="16dp"
|
||||||
android:text="dummy"
|
android:text="dummy"
|
||||||
|
android:textAppearance="@style/text_style"
|
||||||
|
android:textColor="@color/logo_white"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/selected_acc" />
|
app:layout_constraintTop_toBottomOf="@+id/selected_acc" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/longitude"
|
android:id="@+id/longitude"
|
||||||
style="@style/text_style"
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="16dp"
|
android:layout_marginStart="16dp"
|
||||||
android:layout_marginTop="16dp"
|
android:layout_marginTop="16dp"
|
||||||
android:layout_marginEnd="16dp"
|
android:layout_marginEnd="16dp"
|
||||||
android:text="dummy"
|
android:text="dummy"
|
||||||
|
android:textAppearance="@style/text_style"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/latitude" />
|
app:layout_constraintTop_toBottomOf="@+id/latitude" />
|
||||||
|
@ -6,6 +6,21 @@
|
|||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="@color/background_grey"
|
android:background="@color/background_grey"
|
||||||
tools:context=".activities.Login">
|
tools:context=".activities.Login">
|
||||||
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
|
android:id="@+id/appBarLayout"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
<com.google.android.material.appbar.MaterialToolbar
|
||||||
|
android:id="@+id/my_toolbar"
|
||||||
|
style="@style/Widget.MaterialComponents.Toolbar.Primary"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="?attr/actionBarSize"
|
||||||
|
app:navigationIcon="@drawable/ic_logo"
|
||||||
|
app:title="@string/app_name" />
|
||||||
|
</com.google.android.material.appbar.AppBarLayout>
|
||||||
|
|
||||||
<EditText
|
<EditText
|
||||||
android:id="@+id/setting_input_username"
|
android:id="@+id/setting_input_username"
|
||||||
|
@ -7,6 +7,22 @@
|
|||||||
android:background="@color/background_grey"
|
android:background="@color/background_grey"
|
||||||
tools:context=".activities.Register">
|
tools:context=".activities.Register">
|
||||||
|
|
||||||
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
|
android:id="@+id/appBarLayout"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
<com.google.android.material.appbar.MaterialToolbar
|
||||||
|
android:id="@+id/my_toolbar"
|
||||||
|
style="@style/Widget.MaterialComponents.Toolbar.Primary"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="?attr/actionBarSize"
|
||||||
|
app:navigationIcon="@drawable/ic_logo"
|
||||||
|
app:title="@string/app_name" />
|
||||||
|
</com.google.android.material.appbar.AppBarLayout>
|
||||||
|
|
||||||
<EditText
|
<EditText
|
||||||
android:id="@+id/input_password2"
|
android:id="@+id/input_password2"
|
||||||
style="@style/input_field"
|
style="@style/input_field"
|
||||||
|
@ -1,13 +1,17 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<com.google.android.material.textfield.TextInputLayout style="@style/Widget.MaterialComponents.TextInputLayout.FilledBox.ExposedDropdownMenu"
|
<com.google.android.material.textfield.TextInputLayout style="@style/Widget.MaterialComponents.TextInputLayout.FilledBox.ExposedDropdownMenu"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="42dp"
|
||||||
android:hint="Test"
|
android:layout_marginStart="16dp"
|
||||||
|
android:layout_marginEnd="16dp"
|
||||||
|
android:layout_marginBottom="100dp"
|
||||||
|
android:hint="@string/no_account"
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
<AutoCompleteTextView
|
<AutoCompleteTextView
|
||||||
android:id="@+id/filled_exposed_dropdown"
|
android:id="@+id/filled_exposed_dropdown"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"/>
|
android:layout_height="59dp"
|
||||||
|
android:layout_marginStart="16dp"
|
||||||
|
android:layout_marginEnd="16dp" />
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
@ -3,17 +3,49 @@
|
|||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="@color/background_grey">
|
android:background="@color/background_grey"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<com.google.android.material.appbar.AppBarLayout
|
||||||
|
android:id="@+id/appBarLayout"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
|
<com.google.android.material.appbar.MaterialToolbar
|
||||||
|
android:id="@+id/my_toolbar"
|
||||||
|
style="@style/Widget.MaterialComponents.Toolbar.Primary"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="?attr/actionBarSize"
|
||||||
|
app:menu="@menu/menu"
|
||||||
|
app:navigationIcon="@drawable/abc_vector_test"
|
||||||
|
app:title="@string/app_name" />
|
||||||
|
|
||||||
|
</com.google.android.material.appbar.AppBarLayout>
|
||||||
|
|
||||||
<FrameLayout
|
<FrameLayout
|
||||||
android:id="@+id/settings"
|
android:id="@+id/settings"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent" >
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/button"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="bottom"
|
||||||
|
android:layout_marginStart="@dimen/margin16"
|
||||||
|
android:layout_marginTop="@dimen/margin16"
|
||||||
|
android:layout_marginEnd="@dimen/margin16"
|
||||||
|
android:layout_marginBottom="@dimen/margin16"
|
||||||
|
android:background="@drawable/outlined_button_filled"
|
||||||
|
android:text="@string/submit" />
|
||||||
|
|
||||||
<ScrollView
|
<ScrollView
|
||||||
android:id="@+id/settings_scroll_view"
|
android:id="@+id/settings_scroll_view"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="638dp">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@ -101,17 +133,8 @@
|
|||||||
android:textAlignment="center"
|
android:textAlignment="center"
|
||||||
android:textColor="@color/logo_white" />
|
android:textColor="@color/logo_white" />
|
||||||
|
|
||||||
<Button
|
|
||||||
android:id="@+id/button"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginStart="@dimen/margin16"
|
|
||||||
android:layout_marginTop="@dimen/margin16"
|
|
||||||
android:layout_marginEnd="@dimen/margin16"
|
|
||||||
android:layout_marginBottom="@dimen/margin16"
|
|
||||||
android:background="@drawable/outlined_button_filled"
|
|
||||||
android:text="@string/submit" />
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
|
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
@ -1,18 +1,15 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||||
<item
|
|
||||||
android:id="@+id/action_favorite"
|
|
||||||
android:icon="@drawable/ic_logo_gt"
|
|
||||||
android:title="test"
|
|
||||||
app:showAsAction="ifRoom" />
|
|
||||||
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/setting"
|
android:id="@+id/settings"
|
||||||
android:icon="@android:drawable/btn_star"
|
android:contentDescription="@string/title_activity_settings"
|
||||||
android:title="@string/title_activity_settings"
|
android:title="@string/title_activity_settings"
|
||||||
app:showAsAction="collapseActionView" />
|
app:showAsAction="never" />
|
||||||
<item
|
<item
|
||||||
android:id="@+id/logout"
|
android:id="@+id/logout"
|
||||||
android:title="@string/logout" />
|
android:contentDescription="@string/logout"
|
||||||
|
android:title="@string/logout"
|
||||||
|
app:showAsAction="never" />
|
||||||
</menu>
|
</menu>
|
@ -1,7 +1,7 @@
|
|||||||
<resources>
|
<resources>
|
||||||
|
|
||||||
<!-- Base application theme. -->
|
<!-- Base application theme. -->
|
||||||
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
|
<style name="AppTheme" parent="Theme.MaterialComponents.DayNight.NoActionBar">
|
||||||
<!-- Customize your theme here. -->
|
<!-- Customize your theme here. -->
|
||||||
<item name="colorPrimary">@color/colorPrimary</item>
|
<item name="colorPrimary">@color/colorPrimary</item>
|
||||||
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
|
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
|
||||||
|
Loading…
Reference in New Issue
Block a user