[UI] Move privacy policy dialog to login chooser.

This commit is contained in:
Kuba Szczodrzyński 2021-04-05 19:45:57 +02:00
parent 8661ecdafb
commit b8ff649c96
No known key found for this signature in database
GPG Key ID: 70CB8A85BA1633CB
3 changed files with 21 additions and 14 deletions

View File

@ -10,12 +10,14 @@ import android.app.Activity
import android.content.Intent
import android.graphics.Color
import android.os.Bundle
import android.text.Html
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.view.animation.AccelerateDecelerateInterpolator
import android.view.animation.Animation
import android.view.animation.RotateAnimation
import android.widget.TextView
import android.widget.Toast
import androidx.core.view.isVisible
import androidx.fragment.app.Fragment
@ -29,6 +31,7 @@ import pl.szczodrzynski.edziennik.data.api.szkolny.response.RegisterAvailability
import pl.szczodrzynski.edziennik.databinding.LoginChooserFragmentBinding
import pl.szczodrzynski.edziennik.ui.dialogs.RegisterUnavailableDialog
import pl.szczodrzynski.edziennik.ui.modules.feedback.FeedbackActivity
import pl.szczodrzynski.edziennik.utils.BetterLinkMovementMethod
import pl.szczodrzynski.edziennik.utils.SimpleDividerItemDecoration
import kotlin.coroutines.CoroutineContext
@ -203,6 +206,23 @@ class LoginChooserFragment : Fragment(), CoroutineScope {
return
}
if (!app.config.privacyPolicyAccepted) {
MaterialAlertDialogBuilder(activity)
.setTitle(R.string.privacy_policy)
.setMessage(Html.fromHtml(activity.getString(R.string.privacy_policy_dialog_html)))
.setPositiveButton(R.string.i_agree) { _, _ ->
app.config.privacyPolicyAccepted = true
onLoginModeClicked(loginType, loginMode)
}
.setNegativeButton(R.string.i_disagree, null)
.show()
.also { dialog ->
dialog.findViewById<TextView>(android.R.id.message)?.movementMethod =
BetterLinkMovementMethod.getInstance()
}
return
}
launch {
if (!checkAvailability(loginType.loginType))
return@launch

View File

@ -5,7 +5,6 @@
package pl.szczodrzynski.edziennik.ui.modules.login
import android.os.Bundle
import android.text.Html
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
@ -75,19 +74,6 @@ class LoginSummaryFragment : Fragment(), CoroutineScope {
}
b.finishButton.onClick {
if (!app.config.privacyPolicyAccepted) {
MaterialAlertDialogBuilder(activity)
.setTitle(R.string.privacy_policy)
.setMessage(Html.fromHtml("Korzystając z aplikacji potwierdzasz <a href=\"http://szkolny.eu/privacy-policy\">przeczytanie Polityki prywatności</a> i akceptujesz jej postanowienia."))
.setPositiveButton(R.string.i_agree) { _, _ ->
app.config.privacyPolicyAccepted = true
b.finishButton.performClick()
}
.setNegativeButton(R.string.i_disagree, null)
.show()
return@onClick
}
val args = Bundle(
"registrationAllowed" to b.registerMeSwitch.isChecked
)

View File

@ -1423,4 +1423,5 @@
<string name="error_no_api_access">Brak dostępu do API</string>
<string name="build_date">Data kompilacji</string>
<string name="permissions_generate_timetable">Aby móc zapisać wygenerowany plan lekcji musisz przyznać uprawnienia dostępu do pamięci urządzenia.\n\nKliknij OK, aby przyznać uprawnienia.</string>
<string name="privacy_policy_dialog_html"><![CDATA[Korzystając z aplikacji potwierdzasz <a href="https://szkolny.eu/privacy-policy">przeczytanie Polityki prywatności</a> i akceptujesz jej postanowienia.<br /><br />Autorzy aplikacji nie biorą odpowiedzialności za korzystanie z aplikacji Szkolny.eu.]]></string>
</resources>