about app dialog

This commit is contained in:
Odweta
2024-02-02 20:01:21 +01:00
parent fbbf6042e2
commit 3546a4c66d
6 changed files with 94 additions and 18 deletions
@@ -0,0 +1,43 @@
package com.odweta.solen
import android.app.Dialog
import android.content.DialogInterface
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.view.Window
import androidx.core.content.ContextCompat
import androidx.fragment.app.DialogFragment
class AboutFragment : DialogFragment() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setStyle(STYLE_NORMAL, android.R.style.Theme_Black_NoTitleBar)
}
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
return inflater.inflate(R.layout.activity_about, container, false)
}
override fun onCancel(dialog: DialogInterface) {
super.onCancel(dialog)
// Change statusBarColor when the back button is pressed (dialog dismissed)
requireActivity().window.statusBarColor = ContextCompat.getColor(
requireContext(),
R.color.primary
)
}
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val dialog = super.onCreateDialog(savedInstanceState)
dialog.window?.requestFeature(Window.FEATURE_NO_TITLE)
dialog.setCancelable(true)
return dialog
}
}
@@ -9,8 +9,8 @@ class Dialogs {
class SignOut(context: Context) : AlertDialog(context) { class SignOut(context: Context) : AlertDialog(context) {
init { init {
// Initialize your dialog properties // Initialize your dialog properties
setTitle("Opravdu se chcete odhlásit?") setTitle("Opravdu se chcete odhlásit a ukončit aplikaci?")
setMessage("Uložené přihlašovací údaje budou vymazány.") //setMessage("Uložené přihlašovací údaje budou vymazány.")
setCancelable(true) // Set whether the dialog can be canceled by tapping outside setCancelable(true) // Set whether the dialog can be canceled by tapping outside
// Set positive button (e.g., "OK" button) // Set positive button (e.g., "OK" button)
@@ -1,23 +1,18 @@
package com.odweta.solen package com.odweta.solen
import android.content.Context import android.content.Context
import android.content.DialogInterface
import android.content.Intent import android.content.Intent
import android.graphics.ImageDecoder import android.graphics.ImageDecoder
import android.graphics.drawable.AnimatedImageDrawable import android.graphics.drawable.AnimatedImageDrawable
import android.media.Image
import android.os.Bundle import android.os.Bundle
import android.util.Log
import android.view.Menu import android.view.Menu
import android.view.MenuItem import android.view.MenuItem
import android.widget.Button import android.widget.Button
import android.widget.EditText import android.widget.EditText
import android.widget.ImageView import android.widget.ImageView
import android.widget.Toast import android.widget.Toast
import androidx.activity.OnBackPressedCallback
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.fragment.app.DialogFragment
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
@@ -65,17 +60,23 @@ class MainActivity : AppCompatActivity() {
// Override onOptionsItemSelected to handle menu item clicks // Override onOptionsItemSelected to handle menu item clicks
override fun onOptionsItemSelected(item: MenuItem): Boolean { override fun onOptionsItemSelected(item: MenuItem): Boolean {
when (item.itemId) { when (item.itemId) {
R.id.item_refresh -> { /*R.id.item_refresh -> {
lifecycleScope.launch { lifecycleScope.launch {
launch() launch()
} }
return true return true
} }*/
// TODO: IMPLEMENT MARKS/GRADES
/*R.id.item_marks -> {
showMarksScreen()
return true
}*/
R.id.item_sign_in -> { R.id.item_sign_in -> {
window.statusBarColor = ContextCompat.getColor(this, R.color.black) window.statusBarColor = ContextCompat.getColor(this, R.color.black)
val signInFragment = SignInFragment() SignInFragment().show(supportFragmentManager, "fragment_sign_in")
signInFragment.show(supportFragmentManager, "fragment_sign_in")
return true return true
} }
@@ -88,6 +89,12 @@ class MainActivity : AppCompatActivity() {
Dialogs.SignOut(this).show() Dialogs.SignOut(this).show()
return true return true
} }
R.id.item_about -> {
window.statusBarColor = ContextCompat.getColor(this, R.color.black)
AboutFragment().show(supportFragmentManager, "fragment_about")
return true
}
} }
return super.onOptionsItemSelected(item) return super.onOptionsItemSelected(item)
@@ -153,18 +160,14 @@ class MainActivity : AppCompatActivity() {
showSignInScreen() showSignInScreen()
} else { } else {
// launch! // launch!
launchPhase1(false) launchPhase1()
} }
} }
} }
private fun launchPhase1(showSplash: Boolean) { private fun launchPhase1() {
var week: List<Day> var week: List<Day>
if (showSplash) {
showSplashScreen()
}
lifecycleScope.launch { lifecycleScope.launch {
Network.setupAPI() Network.setupAPI()
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/about_app_textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="168dp"
android:layout_marginTop="349dp"
android:layout_marginEnd="183dp"
android:layout_marginBottom="363dp"
android:text="O aplikaci"
android:textColor="#FFFFFF"
android:textColorHighlight="#FFFFFF"
android:textColorHint="#FFFFFF"
android:textColorLink="#FFFFFF"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
+5 -1
View File
@@ -3,13 +3,17 @@
<item <item
android:id="@+id/item_settings" android:id="@+id/item_settings"
android:title="@string/settings" /> android:title="@string/settings" />
<!-- not really needed in the release version, basically just for development purposes
<item <item
android:id="@+id/item_refresh" android:id="@+id/item_refresh"
android:title="@string/refresh" /> android:title="@string/refresh" />-->
<item <item
android:id="@+id/item_sign_out" android:id="@+id/item_sign_out"
android:title="@string/sign_out" /> android:title="@string/sign_out" />
<item <item
android:id="@+id/item_sign_in" android:id="@+id/item_sign_in"
android:title="@string/sign_in" /> android:title="@string/sign_in" />
<item
android:id="@+id/item_about"
android:title="@string/about_app" />
</menu> </menu>
@@ -15,4 +15,5 @@
<string name="lang_change">Změnit jazyk</string> <string name="lang_change">Změnit jazyk</string>
<string name="lang_choose">Vybrat</string> <string name="lang_choose">Vybrat</string>
<string name="splash_screen">splash screen</string> <string name="splash_screen">splash screen</string>
<string name="about_app">O aplikaci</string>
</resources> </resources>