From e6725130d32371f2fcdbaa2420ee9b41d0a85681 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 10 May 2020 22:27:48 +0200 Subject: [PATCH] allow customizing the text size --- .../dialer/activities/SettingsActivity.kt | 22 ++++++++++++- .../dialer/adapters/ContactsAdapter.kt | 20 ++++++++---- .../dialer/adapters/RecentCallsAdapter.kt | 25 ++++++++++----- app/src/main/res/layout/activity_settings.xml | 32 +++++++++++++++++++ 4 files changed, 84 insertions(+), 15 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/SettingsActivity.kt index 959dbf9f..b9e6de88 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/SettingsActivity.kt @@ -7,9 +7,12 @@ import android.os.Bundle import android.view.Menu import com.simplemobiletools.commons.activities.ManageBlockedNumbersActivity import com.simplemobiletools.commons.dialogs.ChangeDateTimeFormatDialog +import com.simplemobiletools.commons.dialogs.RadioGroupDialog import com.simplemobiletools.commons.extensions.beVisibleIf +import com.simplemobiletools.commons.extensions.getFontSizeText import com.simplemobiletools.commons.extensions.updateTextColors -import com.simplemobiletools.commons.helpers.isNougatPlus +import com.simplemobiletools.commons.helpers.* +import com.simplemobiletools.commons.models.RadioItem import com.simplemobiletools.dialer.R import com.simplemobiletools.dialer.extensions.config import kotlinx.android.synthetic.main.activity_settings.* @@ -29,6 +32,7 @@ class SettingsActivity : SimpleActivity() { setupManageBlockedNumbers() setupManageSpeedDial() setupChangeDateTimeFormat() + setupFontSize() updateTextColors(settings_holder) invalidateOptionsMenu() } @@ -78,4 +82,20 @@ class SettingsActivity : SimpleActivity() { ChangeDateTimeFormatDialog(this) {} } } + + private fun setupFontSize() { + settings_font_size.text = getFontSizeText() + settings_font_size_holder.setOnClickListener { + val items = arrayListOf( + RadioItem(FONT_SIZE_SMALL, getString(R.string.small)), + RadioItem(FONT_SIZE_MEDIUM, getString(R.string.medium)), + RadioItem(FONT_SIZE_LARGE, getString(R.string.large)), + RadioItem(FONT_SIZE_EXTRA_LARGE, getString(R.string.extra_large))) + + RadioGroupDialog(this@SettingsActivity, items, config.fontSize) { + config.fontSize = it as Int + settings_font_size.text = getFontSizeText() + } + } + } } diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/ContactsAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/ContactsAdapter.kt index 0b9814d3..1453597f 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/ContactsAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/ContactsAdapter.kt @@ -1,5 +1,6 @@ package com.simplemobiletools.dialer.adapters +import android.util.TypedValue import android.view.Menu import android.view.View import android.view.ViewGroup @@ -8,6 +9,7 @@ import android.widget.TextView import com.bumptech.glide.Glide import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter import com.simplemobiletools.commons.extensions.getAdjustedPrimaryColor +import com.simplemobiletools.commons.extensions.getTextSize import com.simplemobiletools.commons.extensions.highlightTextFromNumbers import com.simplemobiletools.commons.extensions.highlightTextPart import com.simplemobiletools.commons.helpers.SimpleContactsHelper @@ -22,6 +24,7 @@ class ContactsAdapter(activity: SimpleActivity, var contacts: ArrayList(R.id.item_contact_name).setTextColor(textColor) - findViewById(R.id.item_contact_name).text = if (textToHighlight.isEmpty()) contact.name else { - if (contact.name.contains(textToHighlight, true)) { - contact.name.highlightTextPart(textToHighlight, adjustedPrimaryColor) - } else { - contact.name.highlightTextFromNumbers(textToHighlight, adjustedPrimaryColor) + findViewById(R.id.item_contact_name).apply { + setTextColor(textColor) + setTextSize(TypedValue.COMPLEX_UNIT_PX, fontSize) + + text = if (textToHighlight.isEmpty()) contact.name else { + if (contact.name.contains(textToHighlight, true)) { + contact.name.highlightTextPart(textToHighlight, adjustedPrimaryColor) + } else { + contact.name.highlightTextFromNumbers(textToHighlight, adjustedPrimaryColor) + } } + } SimpleContactsHelper(context).loadContactImage(contact.photoUri, findViewById(R.id.item_contact_image), contact.name) diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/RecentCallsAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/RecentCallsAdapter.kt index a896f0d6..db3fd5d1 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/RecentCallsAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/RecentCallsAdapter.kt @@ -1,15 +1,13 @@ package com.simplemobiletools.dialer.adapters import android.provider.CallLog.Calls +import android.util.TypedValue import android.view.Menu import android.view.View import android.view.ViewGroup import com.bumptech.glide.Glide import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter -import com.simplemobiletools.commons.extensions.beVisibleIf -import com.simplemobiletools.commons.extensions.formatDateOrTime -import com.simplemobiletools.commons.extensions.getColoredDrawableWithColor -import com.simplemobiletools.commons.extensions.getFormattedDuration +import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.SimpleContactsHelper import com.simplemobiletools.commons.views.MyRecyclerView import com.simplemobiletools.dialer.R @@ -24,6 +22,7 @@ class RecentCallsAdapter(activity: SimpleActivity, var recentCalls: ArrayList 0) - item_recents_duration.text = call.duration.getFormattedDuration() + item_recents_date_time.apply { + text = call.startTS.formatDateOrTime(context, true) + setTextSize(TypedValue.COMPLEX_UNIT_PX, fontSize * 0.8f) + } + + item_recents_duration.apply { + text = call.duration.getFormattedDuration() + beVisibleIf(call.type != Calls.MISSED_TYPE && call.type != Calls.REJECTED_TYPE && call.duration > 0) + setTextSize(TypedValue.COMPLEX_UNIT_PX, fontSize * 0.8f) + } SimpleContactsHelper(context).loadContactImage(call.photoUri, item_recents_image, call.name) diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index fe0a018c..baaa1560 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -117,5 +117,37 @@ android:text="@string/manage_speed_dial" /> + + + + + + + +