do not show contact phone numbers on the main screen by default

This commit is contained in:
tibbi
2017-12-30 10:52:00 +01:00
parent b42e3bb695
commit 88b624bbc5
18 changed files with 137 additions and 13 deletions

View File

@ -26,6 +26,7 @@ class MainActivity : SimpleActivity() {
private var storedTextColor = 0
private var storedBackgroundColor = 0
private var storedPrimaryColor = 0
private var storedShowPhoneNumbers = false
private var storedStartNameWithSurname = false
override fun onCreate(savedInstanceState: Bundle?) {
@ -58,6 +59,11 @@ class MainActivity : SimpleActivity() {
return
}
if (storedShowPhoneNumbers != config.showPhoneNumbers) {
restartActivity()
return
}
val configTextColor = config.textColor
if (storedTextColor != configTextColor) {
main_tabs_holder.getTabAt(getOtherViewPagerItem(viewpager.currentItem))?.icon?.applyColorFilter(configTextColor)
@ -124,6 +130,7 @@ class MainActivity : SimpleActivity() {
storedTextColor = textColor
storedBackgroundColor = backgroundColor
storedPrimaryColor = primaryColor
storedShowPhoneNumbers = showPhoneNumbers
storedStartNameWithSurname = startNameWithSurname
}
}

View File

@ -21,6 +21,7 @@ class SettingsActivity : SimpleActivity() {
setupCustomizeColors()
setupUseEnglish()
setupShowInfoBubble()
setupShowPhoneNumbers()
setupCallContactOnClick()
setupStartNameWithSurname()
updateTextColors(settings_holder)
@ -50,6 +51,14 @@ class SettingsActivity : SimpleActivity() {
}
}
private fun setupShowPhoneNumbers() {
settings_show_phone_numbers.isChecked = config.showPhoneNumbers
settings_show_phone_numbers_holder.setOnClickListener {
settings_show_phone_numbers.toggle()
config.showPhoneNumbers = settings_show_phone_numbers.isChecked
}
}
private fun setupCallContactOnClick() {
settings_call_contact_on_click.isChecked = config.callContact
settings_call_contact_on_click_holder.setOnClickListener {

View File

@ -21,7 +21,7 @@ import com.simplemobiletools.contacts.extensions.config
import com.simplemobiletools.contacts.extensions.openContact
import com.simplemobiletools.contacts.helpers.ContactsHelper
import com.simplemobiletools.contacts.models.Contact
import kotlinx.android.synthetic.main.item_contact.view.*
import kotlinx.android.synthetic.main.item_contact_with_number.view.*
class ContactsAdapter(activity: SimpleActivity, var contactItems: MutableList<Contact>, val listener: RefreshRecyclerViewListener?,
recyclerView: MyRecyclerView, itemClick: (Any) -> Unit) : MyRecyclerViewAdapter(activity, recyclerView, itemClick) {
@ -29,9 +29,11 @@ class ContactsAdapter(activity: SimpleActivity, var contactItems: MutableList<Co
var config = activity.config
lateinit private var contactDrawable: Drawable
var startNameWithSurname: Boolean
var showPhoneNumbers: Boolean
init {
initDrawables()
showPhoneNumbers = config.showPhoneNumbers
startNameWithSurname = config.startNameWithSurname
}
@ -59,7 +61,10 @@ class ContactsAdapter(activity: SimpleActivity, var contactItems: MutableList<Co
override fun getSelectableItemCount() = contactItems.size
override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int) = createViewHolder(R.layout.item_contact, parent)
override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): ViewHolder {
val layout = if (showPhoneNumbers) R.layout.item_contact_with_number else R.layout.item_contact_without_number
return createViewHolder(layout, parent)
}
override fun onBindViewHolder(holder: MyRecyclerViewAdapter.ViewHolder, position: Int) {
val contact = contactItems[position]
@ -112,10 +117,10 @@ class ContactsAdapter(activity: SimpleActivity, var contactItems: MutableList<Co
private fun setupView(view: View, contact: Contact) {
view.apply {
contact_first_name.text = contact.getFullName(startNameWithSurname)
contact_first_name.setTextColor(textColor)
contact_number.text = contact.phoneNumbers.firstOrNull()?.value ?: ""
contact_number.setTextColor(textColor)
contact_name.text = contact.getFullName(startNameWithSurname)
contact_name.setTextColor(textColor)
contact_number?.text = contact.phoneNumbers.firstOrNull()?.value ?: ""
contact_number?.setTextColor(textColor)
if (contact.photoUri.isNotEmpty()) {
val options = RequestOptions()

View File

@ -130,6 +130,7 @@ class ContactsFragment(context: Context, attributeSet: AttributeSet) : MyViewPag
} else {
(currAdapter as ContactsAdapter).apply {
startNameWithSurname = config.startNameWithSurname
showPhoneNumbers = config.showPhoneNumbers
updateItems(contacts)
}
}

View File

@ -3,9 +3,17 @@ package com.simplemobiletools.contacts.fragments
import android.content.Context
import android.util.AttributeSet
import com.simplemobiletools.contacts.activities.MainActivity
import kotlinx.android.synthetic.main.fragment_favorites.view.*
class FavoritesFragment(context: Context, attributeSet: AttributeSet) : MyViewPagerFragment(context, attributeSet) {
var activity: MainActivity? = null
override fun initFragment(activity: MainActivity) {
if (this.activity == null) {
this.activity = activity
favorites_fab.setOnClickListener {
addNewFavorites()
}
}
}
override fun textColorChanged(color: Int) {
@ -19,4 +27,8 @@ class FavoritesFragment(context: Context, attributeSet: AttributeSet) : MyViewPa
override fun onActivityResume() {
}
private fun addNewFavorites() {
}
}

View File

@ -24,6 +24,10 @@ class Config(context: Context) : BaseConfig(context) {
fun showAllContacts() = displayContactSources.size == 1 && displayContactSources.first() == "-1"
var showPhoneNumbers: Boolean
get() = prefs.getBoolean(SHOW_PHONE_NUMBERS, false)
set(showPhoneNumbers) = prefs.edit().putBoolean(SHOW_PHONE_NUMBERS, showPhoneNumbers).apply()
var startNameWithSurname: Boolean
get() = prefs.getBoolean(START_NAME_WITH_SURNAME, false)
set(startNameWithSurname) = prefs.edit().putBoolean(START_NAME_WITH_SURNAME, startNameWithSurname).apply()

View File

@ -2,6 +2,7 @@ package com.simplemobiletools.contacts.helpers
// shared prefs
val CALL_CONTACT_ON_CLICK = "call_contact_on_click"
val SHOW_PHONE_NUMBERS = "show_phone_numbers"
val DISPLAY_CONTACT_SOURCES = "display_contact_sources"
val START_NAME_WITH_SURNAME = "start_name_with_surname"
val LAST_USED_CONTACT_SOURCE = "last_used_contact_source"

View File

@ -71,12 +71,14 @@ class ContactsHelper(val activity: BaseSimpleActivity) {
cursor?.close()
}
if (activity.config.showPhoneNumbers) {
val phoneNumbers = getPhoneNumbers()
val size = phoneNumbers.size()
for (i in 0 until size) {
val key = phoneNumbers.keyAt(i)
contacts[key]?.phoneNumbers = phoneNumbers.valueAt(i)
}
}
val contactsSize = contacts.size()
val resultContacts = ArrayList<Contact>(contactsSize)

View File

@ -70,6 +70,26 @@
</RelativeLayout>
<RelativeLayout
android:id="@+id/settings_show_phone_numbers_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground"
android:padding="@dimen/activity_margin">
<com.simplemobiletools.commons.views.MySwitchCompat
android:id="@+id/settings_show_phone_numbers"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:clickable="false"
android:paddingLeft="@dimen/medium_margin"
android:paddingStart="@dimen/medium_margin"
android:text="@string/show_phone_numbers"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/settings_call_contact_on_click_holder"
android:layout_width="match_parent"

View File

@ -5,4 +5,19 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:id="@+id/favorites_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</RelativeLayout>
<com.simplemobiletools.commons.views.MyFloatingActionButton
android:id="@+id/favorites_fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/activity_margin"
android:src="@drawable/ic_plus"/>
</com.simplemobiletools.contacts.fragments.FavoritesFragment>

View File

@ -24,7 +24,7 @@
android:src="@drawable/ic_person"/>
<TextView
android:id="@+id/contact_first_name"
android:id="@+id/contact_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/contact_tmb"
@ -40,7 +40,7 @@
android:id="@+id/contact_number"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/contact_first_name"
android:layout_below="@+id/contact_name"
android:layout_toRightOf="@+id/contact_tmb"
android:maxLines="1"
android:paddingLeft="@dimen/small_margin"

View File

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/contact_frame"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:clickable="true"
android:focusable="true"
android:foreground="@drawable/selector">
<RelativeLayout
android:id="@+id/contact_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingRight="@dimen/activity_margin">
<ImageView
android:id="@+id/contact_tmb"
android:layout_width="@dimen/normal_icon_size"
android:layout_height="@dimen/normal_icon_size"
android:padding="@dimen/medium_margin"
android:src="@drawable/ic_person"/>
<TextView
android:id="@+id/contact_name"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignBottom="@+id/contact_tmb"
android:layout_alignTop="@+id/contact_tmb"
android:layout_toRightOf="@+id/contact_tmb"
android:ellipsize="end"
android:gravity="center_vertical"
android:maxLines="1"
android:paddingLeft="@dimen/small_margin"
android:paddingTop="@dimen/small_margin"
android:textSize="@dimen/bigger_text_size"
tools:text="John Doe"/>
</RelativeLayout>
</FrameLayout>

View File

@ -19,6 +19,7 @@
<!-- Settings -->
<string name="call_contact_on_click">Kontakt bei Klick anrufen</string>
<string name="start_name_with_surname">Namen mit Vornamen beginnen</string>
<string name="show_phone_numbers">Show phone numbers on the main screen</string>
<!-- Emails -->
<string name="email">Email</string>

View File

@ -19,6 +19,7 @@
<!-- Settings -->
<string name="call_contact_on_click">클릭으로 전화걸기</string>
<string name="start_name_with_surname">성을 먼저 표시하기</string>
<string name="show_phone_numbers">Show phone numbers on the main screen</string>
<!-- Emails -->
<string name="email">이메일</string>

View File

@ -19,6 +19,7 @@
<!-- Settings -->
<string name="call_contact_on_click">Call contact on click</string>
<string name="start_name_with_surname">Start name with surname</string>
<string name="show_phone_numbers">Show phone numbers on the main screen</string>
<!-- Emails -->
<string name="email">E-mail</string>

View File

@ -19,6 +19,7 @@
<!-- Settings -->
<string name="call_contact_on_click">Вызывать контакт при нажатии</string>
<string name="start_name_with_surname">Отображать сначала фамилии</string>
<string name="show_phone_numbers">Show phone numbers on the main screen</string>
<!-- Emails -->
<string name="email">Email</string>

View File

@ -19,6 +19,7 @@
<!-- Settings -->
<string name="call_contact_on_click">Zavolať kontakt po kliknutí</string>
<string name="start_name_with_surname">Začať meno priezviskom</string>
<string name="show_phone_numbers">Zobraziť telefónne čísla na hlavnej obrazovke</string>
<!-- Emails -->
<string name="email">Email</string>

View File

@ -19,6 +19,7 @@
<!-- Settings -->
<string name="call_contact_on_click">Call contact on click</string>
<string name="start_name_with_surname">Start name with surname</string>
<string name="show_phone_numbers">Show phone numbers on the main screen</string>
<!-- Emails -->
<string name="email">Email</string>