diff --git a/app/src/main/java/net/underdesk/circolapp/IntroActivity.kt b/app/src/main/java/net/underdesk/circolapp/IntroActivity.kt index 706ccf0..eb2620b 100644 --- a/app/src/main/java/net/underdesk/circolapp/IntroActivity.kt +++ b/app/src/main/java/net/underdesk/circolapp/IntroActivity.kt @@ -8,6 +8,7 @@ import androidx.preference.PreferenceManager import com.github.appintro.AppIntro2 import com.github.appintro.AppIntroFragment import com.github.appintro.AppIntroPageTransformerType +import net.underdesk.circolapp.fragments.intro.LegalFragment import net.underdesk.circolapp.fragments.intro.SchoolSelectionFragment class IntroActivity : AppIntro2() { @@ -26,6 +27,7 @@ class IntroActivity : AppIntro2() { backgroundColor = ContextCompat.getColor(this, R.color.colorPrimary) ) ) + addSlide(LegalFragment.newInstance()) addSlide(SchoolSelectionFragment.newInstance()) addSlide( AppIntroFragment.newInstance( diff --git a/app/src/main/java/net/underdesk/circolapp/MainActivity.kt b/app/src/main/java/net/underdesk/circolapp/MainActivity.kt index e0cb219..ee2fb71 100644 --- a/app/src/main/java/net/underdesk/circolapp/MainActivity.kt +++ b/app/src/main/java/net/underdesk/circolapp/MainActivity.kt @@ -170,6 +170,8 @@ class MainActivity : AppCompatActivity(), CircularLetterAdapter.AdapterCallback .withAboutSpecial1Description(getString(R.string.activity_info_license_description)) .withAboutSpecial2(getString(R.string.activity_info_source_code)) .withAboutSpecial2Description(getString(R.string.activity_info_source_code_description)) + .withAboutSpecial3(getString(R.string.activity_info_privacy_policy)) + .withAboutSpecial3Description(getString(R.string.activity_info_privacy_policy_description)) .withLicenseShown(true) .start(this@MainActivity) } diff --git a/app/src/main/java/net/underdesk/circolapp/fragments/intro/LegalFragment.kt b/app/src/main/java/net/underdesk/circolapp/fragments/intro/LegalFragment.kt new file mode 100644 index 0000000..5ecac4b --- /dev/null +++ b/app/src/main/java/net/underdesk/circolapp/fragments/intro/LegalFragment.kt @@ -0,0 +1,50 @@ +package net.underdesk.circolapp.fragments.intro + +import android.os.Bundle +import android.text.method.LinkMovementMethod +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.core.text.HtmlCompat +import androidx.fragment.app.Fragment +import com.github.appintro.SlidePolicy +import kotlinx.android.synthetic.main.fragment_legal.view.* +import net.underdesk.circolapp.R + +class LegalFragment : Fragment(), SlidePolicy { + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View? = inflater.inflate(R.layout.fragment_legal, container, false) + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + view.legal_text.text = HtmlCompat.fromHtml( + getString(R.string.activity_intro_legal_text), + HtmlCompat.FROM_HTML_MODE_COMPACT + ) + view.legal_text.movementMethod = LinkMovementMethod.getInstance() + + view.legal_checkbox.setOnCheckedChangeListener { checkBox, checked -> + if (checked) + checkBox.error = null + } + } + + override val isPolicyRespected: Boolean + get() = view?.legal_checkbox?.isChecked ?: false + + override fun onUserIllegallyRequestedNextPage() { + view?.legal_checkbox?.error = + getString(R.string.activity_intro_legal_error) + } + + companion object { + fun newInstance(): LegalFragment { + return LegalFragment() + } + } +} diff --git a/app/src/main/res/layout/fragment_legal.xml b/app/src/main/res/layout/fragment_legal.xml new file mode 100644 index 0000000..13e5a58 --- /dev/null +++ b/app/src/main/res/layout/fragment_legal.xml @@ -0,0 +1,40 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index b82a60e..39193b1 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -49,12 +49,20 @@ © 2019 - 2020 Matteo Schiff<br />Questo programma è rilasciato SENZA ALCUNA GARANZIA E SENZA ALCUNA RESPONSABILITÀ A CARICO DELLO SVILUPPATORE.<br />Questo è software libero, e sei invitato a condividerlo nei termini della licenza Codice sorgente Puoi scaricare il codice sorgente da <a href="https://github.com/Matte23/circolapp">https://github.com/Matte23/circolapp</a> + Privacy policy + <a href="https://www.iubenda.com/privacy-policy/13230834">Privacy policy</a> Con Circolapp puoi rimanere aggiornato sulle circolari della tua scuola. Visualizzare e scaricare le circolari non è mai stato così semplice Inizia scegliendo la tua scuola Puoi modificare la tua scelta in un secondo momento nelle impostazioni Scegli una scuola Scuola + + Circolapp è rilasciata secondo la licenza GPL v3. Questo programma è rilasciato SENZA ALCUNA GARANZIA E SENZA ALCUNA RESPONSABILITÀ A CARICO DELLO SVILUPPATORE.<br />Circolapp è software libero, e sei invitato a condividerlo nei termini della licenza.<br /><br /> + Questa applicazione può raccogliere dati personali, come specificato nella seguente <a href="https://www.iubenda.com/privacy-policy/13230834">privacy policy</a> + Ho letto e accetto la privacy policy e la licenza + Devi accettare questi termini per poter usare Circolapp + Hai finito Adesso puoi iniziare ad usare Circolapp diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0644e4f..4792ef1 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -50,12 +50,20 @@ under certain conditions Source code The source code can be downloaded from <a href="https://github.com/Matte23/circolapp">https://github.com/Matte23/circolapp</a> + Privacy policy + <a href="https://www.iubenda.com/privacy-policy/13230834">Privacy policy</a> With Circolapp you can stay updated on the circulars of your school. Viewing and downloading circulars has never been easier Start by choosing your school You can change your choice later in the settings Please select a school School + + Circolapp is released under the GPL v3 license. This program comes with ABSOLUTELY NO WARRANTY.<br /> This is free software, and you are welcome to redistribute it + under certain conditions.<br /><br /> This application may collect personal data, as specified in this <a href="https://www.iubenda.com/privacy-policy/13230834">privacy policy</a> + I have read and I accept the privacy policy and the license + You must accept those conditions to use Circolapp + You\'re done Now you can start using Circolapp