From bbecb640ea7f92616641fe382de63c6b70dcb79f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Deniz=20D=C3=BCzg=C3=B6ren?= Date: Sun, 13 Oct 2019 19:27:06 +0200 Subject: [PATCH] Dialogs now use MaterialComponents styling, many elements now have rounded borders --- .../substitutionplan/activities/FirstTime.kt | 2 +- .../substitutionplan/activities/Main.kt | 1 - .../fragments/SettingsFragment.kt | 122 ++++++++++-------- app/src/main/res/layout/bg_colour_picker.xml | 3 +- app/src/main/res/layout/content_settings.xml | 30 ++++- .../main/res/layout/diagnostics_dialog.xml | 17 ++- app/src/main/res/layout/edittext_dialog.xml | 18 ++- app/src/main/res/layout/empty_dialog.xml | 3 +- app/src/main/res/layout/recycler_dialog.xml | 3 +- app/src/main/res/values-de/strings.xml | 5 +- app/src/main/res/values/strings.xml | 5 +- app/src/main/res/values/styles.xml | 10 +- 12 files changed, 134 insertions(+), 85 deletions(-) diff --git a/app/src/main/java/com/denizd/substitutionplan/activities/FirstTime.kt b/app/src/main/java/com/denizd/substitutionplan/activities/FirstTime.kt index 5aa67b0..5f6c572 100644 --- a/app/src/main/java/com/denizd/substitutionplan/activities/FirstTime.kt +++ b/app/src/main/java/com/denizd/substitutionplan/activities/FirstTime.kt @@ -148,7 +148,7 @@ internal class FirstTime : AppCompatActivity(R.layout.activity_first_time) { } private fun createDialog(title: String, text: String) { - val alertDialog = AlertDialog.Builder(context, R.style.AlertDialog) + val alertDialog = AlertDialog.Builder(context) val dialogView = View.inflate(context, R.layout.simple_dialog, null) val dialogTitle = dialogView.findViewById(R.id.textviewtitle) val dialogText = dialogView.findViewById(R.id.dialogtext) diff --git a/app/src/main/java/com/denizd/substitutionplan/activities/Main.kt b/app/src/main/java/com/denizd/substitutionplan/activities/Main.kt index 10b6aa9..9fbcd3a 100644 --- a/app/src/main/java/com/denizd/substitutionplan/activities/Main.kt +++ b/app/src/main/java/com/denizd/substitutionplan/activities/Main.kt @@ -49,7 +49,6 @@ internal class Main : AppCompatActivity(R.layout.app_bar_main) { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) context = this -// prefs = PreferenceManager.getDefaultSharedPreferences(context) prefs = PreferenceManager.getDefaultSharedPreferences(context) val edit = prefs.edit() diff --git a/app/src/main/java/com/denizd/substitutionplan/fragments/SettingsFragment.kt b/app/src/main/java/com/denizd/substitutionplan/fragments/SettingsFragment.kt index d329ef9..9239b03 100644 --- a/app/src/main/java/com/denizd/substitutionplan/fragments/SettingsFragment.kt +++ b/app/src/main/java/com/denizd/substitutionplan/fragments/SettingsFragment.kt @@ -40,7 +40,7 @@ import com.google.android.material.button.MaterialButton import com.google.firebase.messaging.FirebaseMessaging import kotlin.collections.ArrayList -internal class SettingsFragment : Fragment(), View.OnClickListener, +internal class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListener, CompoundButton.OnCheckedChangeListener, ColourAdapter.OnColourClickListener, RingtoneAdapter.OnRingtoneClickListener { @@ -49,7 +49,7 @@ internal class SettingsFragment : Fragment(), View.OnClickListener, private val customTabsIntent = CustomTabsIntent.Builder().build() as CustomTabsIntent private var window: Window? = null private var longPressed = false - private var courseHelpClicks = 0 + private var versionCount = 0 private val ringtones: List by lazy { getRingtones() @@ -59,6 +59,8 @@ internal class SettingsFragment : Fragment(), View.OnClickListener, private lateinit var ringtoneDialog: AlertDialog private lateinit var binding: ContentSettingsBinding + private lateinit var textCustomiseColoursTitle: TextView + private lateinit var textCustomiseColoursDesc: TextView override fun onAttach(context: Context) { super.onAttach(context) @@ -78,6 +80,9 @@ internal class SettingsFragment : Fragment(), View.OnClickListener, binding.apply { val thisFragment = this@SettingsFragment + thisFragment.textCustomiseColoursTitle = textCustomiseColoursTitle + thisFragment.textCustomiseColoursDesc = textCustomiseColoursDesc + // Set text setRingtoneText() @@ -98,27 +103,12 @@ internal class SettingsFragment : Fragment(), View.OnClickListener, buttonVersion.setOnClickListener(thisFragment) // Set on long click listeners - buttonCustomiseColours.setOnLongClickListener { - if (!longPressed) { - textCustomiseColoursTitle.text = getString(R.string.made_by_deniz) - textCustomiseColoursDesc.text = getString(R.string.thanks_for_using) - } else { - textCustomiseColoursTitle.text = getString(R.string.customise_colours_title) - textCustomiseColoursDesc.text = getString(R.string.customise_colours_desc) - } - longPressed = !longPressed - true - } + buttonCustomiseColours.setOnLongClickListener(thisFragment) - buttonForcedRefresh.setOnLongClickListener { - prefs.edit().putString("timeNew", "").putString("newFoodTime", "").apply() - makeToast(mContext.getString(R.string.force_refresh_cleared_times)) - true - } + buttonCoursesHelp.setOnLongClickListener(thisFragment) + buttonOrderHelp.setOnLongClickListener(thisFragment) - buttonVersion.setOnLongClickListener { - debugMenu() - } + buttonForcedRefresh.setOnLongClickListener(thisFragment) // Set on checked change listeners switchGreeting.setOnCheckedChangeListener(thisFragment) @@ -214,7 +204,6 @@ internal class SettingsFragment : Fragment(), View.OnClickListener, } } - // Functions for handling touch events in this fragment override fun onClick(v: View?) { when (v?.id) { @@ -224,22 +213,7 @@ internal class SettingsFragment : Fragment(), View.OnClickListener, R.id.button_group_help -> createDialog(getString(R.string.grade_help_dialog_title), getString( R.string.grade_help_dialog_text )) - R.id.button_courses_help -> { - if (courseHelpClicks < 11) { - courseHelpClicks += 1 - createDialog(getString(R.string.courses_help_dialog_title), getString(R.string.courses_help_dialog_text)) - } else { - courseHelpClicks = 0 - try { - makeToast(String(Character.toChars(0x2764))) - val intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://www.youtube.com/watch?v=Jc2xfYuLWgE")) // 'Freak' - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK).setPackage("com.google.android.youtube") - startActivity(intent) - } catch (e: ActivityNotFoundException) { - makeToast(getString(R.string.youtube_not_found)) - } - } - } + R.id.button_courses_help -> createDialog(getString(R.string.courses_help_dialog_title), getString(R.string.courses_help_dialog_text)) R.id.button_order_help -> createDialog(getString(R.string.ordering_systems_dialog_title), getString(R.string.ordering_systems_dialog_text)) R.id.button_forced_refresh -> { DataFetcher( @@ -261,6 +235,54 @@ internal class SettingsFragment : Fragment(), View.OnClickListener, R.id.button_licences -> { createDialog(mContext.getString(R.string.licences_title), licences) } + R.id.button_version -> { + if (versionCount == 7) { + makeToast(getString(R.string.congratulations_for_nothing)) + } + versionCount += 1 + } + } + } + + override fun onLongClick(v: View?): Boolean { + return when (v?.id) { + R.id.button_customise_colours -> { + if (!longPressed) { + textCustomiseColoursTitle.text = getString(R.string.made_by_deniz) + textCustomiseColoursDesc.text = getString(R.string.thanks_for_using) + } else { + textCustomiseColoursTitle.text = getString(R.string.customise_colours_title) + textCustomiseColoursDesc.text = getString(R.string.customise_colours_desc) + } + longPressed = !longPressed + true + } + R.id.button_courses_help -> { + val link = Uri.parse("https://www.youtube.com/watch?v=Jc2xfYuLWgE") // 'Freak' + makeToast(String(Character.toChars(0x2764))) + try { + val intent = Intent(Intent.ACTION_VIEW, link) + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK).setPackage("com.google.android.youtube") + startActivity(intent) + } catch (e: ActivityNotFoundException) { + try { + customTabsIntent.launchUrl(mContext, link) + } catch (e: ActivityNotFoundException) { + makeToast(getString(R.string.youtube_not_found)) + } + } + true + } + R.id.button_order_help -> { + debugMenu() + true + } + R.id.button_forced_refresh -> { + prefs.edit().putString("timeNew", "").putString("newFoodTime", "").apply() + makeToast(mContext.getString(R.string.force_refresh_cleared_times)) + true + } + else -> false } } @@ -290,7 +312,7 @@ internal class SettingsFragment : Fragment(), View.OnClickListener, // Functions for handling touch events for recycler view elements override fun onColourClick(position: Int, title: String, titleNoLang: String) { - val colourPickerBuilder = AlertDialog.Builder(mContext, R.style.AlertDialog) + val colourPickerBuilder = AlertDialog.Builder(mContext) val pickerDialogView = View.inflate(mContext, R.layout.empty_dialog, null) val pickerTitleText = pickerDialogView.findViewById(R.id.empty_textviewtitle) val pickerLayout = pickerDialogView.findViewById(R.id.empty_linearlayout) @@ -330,9 +352,7 @@ internal class SettingsFragment : Fragment(), View.OnClickListener, // Functions for handling dialog creation private fun createDialog(title: String, text: String) { - val alertDialog = AlertDialog.Builder(mContext, - R.style.AlertDialog - ) + val alertDialog = AlertDialog.Builder(mContext) val dialogView = View.inflate(mContext, R.layout.simple_dialog, null) dialogView.findViewById(R.id.textviewtitle).text = title dialogView.findViewById(R.id.dialogtext).text = text @@ -340,7 +360,7 @@ internal class SettingsFragment : Fragment(), View.OnClickListener, } private fun createColourDialog() { - val colourCustomisationDialogBuilder = AlertDialog.Builder(mContext, R.style.AlertDialog) + val colourCustomisationDialogBuilder = AlertDialog.Builder(mContext) val dialogView = View.inflate(mContext, R.layout.recycler_dialog, null) val titleText = dialogView.findViewById(R.id.empty_textviewtitle) @@ -365,7 +385,7 @@ internal class SettingsFragment : Fragment(), View.OnClickListener, } startActivity(intent) } else { - val ringtoneCustomiserBuilder = AlertDialog.Builder(mContext, R.style.AlertDialog) + val ringtoneCustomiserBuilder = AlertDialog.Builder(mContext) val dialogView = View.inflate(mContext, R.layout.recycler_dialog, null) val titleText = dialogView.findViewById(R.id.empty_textviewtitle) @@ -380,18 +400,14 @@ internal class SettingsFragment : Fragment(), View.OnClickListener, ringtoneDialog = ringtoneCustomiserBuilder.setView(dialogView).create() ringtoneDialog.show() - -// recycler.postDelayed({ -// recycler. -// }, 100) } } private fun debugMenu(): Boolean { - val alertDialog = AlertDialog.Builder(mContext, R.style.AlertDialog) + val alertDialog = AlertDialog.Builder(mContext) val dialogView = View.inflate(mContext, R.layout.edittext_dialog, null) val dialogEditText = dialogView.findViewById(R.id.dialog_edittext) - val dialogButton = dialogView.findViewById