mirror of
				https://github.com/SimpleMobileTools/Simple-Contacts.git
				synced 2025-06-05 21:59:27 +02:00 
			
		
		
		
	creating the dialog for managing visible contact fields
This commit is contained in:
		| @@ -6,6 +6,7 @@ import com.simplemobiletools.commons.extensions.beVisibleIf | ||||
| import com.simplemobiletools.commons.extensions.updateTextColors | ||||
| import com.simplemobiletools.commons.models.RadioItem | ||||
| import com.simplemobiletools.contacts.R | ||||
| import com.simplemobiletools.contacts.dialogs.ManageVisibleFieldsDialog | ||||
| import com.simplemobiletools.contacts.extensions.config | ||||
| import com.simplemobiletools.contacts.helpers.ON_CLICK_CALL_CONTACT | ||||
| import com.simplemobiletools.contacts.helpers.ON_CLICK_EDIT_CONTACT | ||||
| @@ -42,7 +43,7 @@ class SettingsActivity : SimpleActivity() { | ||||
|  | ||||
|     private fun setupManageShownContactFields() { | ||||
|         settings_manage_contact_fields_holder.setOnClickListener { | ||||
|  | ||||
|             ManageVisibleFieldsDialog(this) | ||||
|         } | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -0,0 +1,55 @@ | ||||
| package com.simplemobiletools.contacts.dialogs | ||||
|  | ||||
| import android.support.v7.app.AlertDialog | ||||
| import com.simplemobiletools.commons.activities.BaseSimpleActivity | ||||
| import com.simplemobiletools.commons.extensions.setupDialogStuff | ||||
| import com.simplemobiletools.commons.views.MyAppCompatCheckbox | ||||
| import com.simplemobiletools.contacts.R | ||||
| import com.simplemobiletools.contacts.extensions.config | ||||
| import com.simplemobiletools.contacts.helpers.* | ||||
|  | ||||
| class ManageVisibleFieldsDialog(val activity: BaseSimpleActivity) { | ||||
|     private var view = activity.layoutInflater.inflate(R.layout.dialog_manage_visible_fields, null) | ||||
|     private val fields = LinkedHashMap<Int, Int>() | ||||
|  | ||||
|     init { | ||||
|         fields.apply { | ||||
|             put(SHOW_PREFIX_FIELD, R.id.manage_visible_fields_prefix) | ||||
|             put(SHOW_FIRST_NAME_FIELD, R.id.manage_visible_fields_first_name) | ||||
|             put(SHOW_MIDDLE_NAME_FIELD, R.id.manage_visible_fields_middle_name) | ||||
|             put(SHOW_SURNAME_FIELD, R.id.manage_visible_fields_surname) | ||||
|             put(SHOW_SUFFIX_FIELD, R.id.manage_visible_fields_suffix) | ||||
|             put(SHOW_PHONE_NUMBERS_FIELD, R.id.manage_visible_fields_phone_numbers) | ||||
|             put(SHOW_EMAILS_FIELD, R.id.manage_visible_fields_emails) | ||||
|             put(SHOW_ADDRESSES_FIELD, R.id.manage_visible_fields_addresses) | ||||
|             put(SHOW_EVENTS_FIELD, R.id.manage_visible_fields_events) | ||||
|             put(SHOW_NOTES_FIELD, R.id.manage_visible_fields_notes) | ||||
|             put(SHOW_ORGANIZATION_FIELD, R.id.manage_visible_fields_organization) | ||||
|             put(SHOW_GROUPS_FIELD, R.id.manage_visible_fields_groups) | ||||
|             put(SHOW_CONTACT_SOURCE_FIELD, R.id.manage_visible_fields_contact_source) | ||||
|         } | ||||
|  | ||||
|         val showContactFields = activity.config.showContactFields | ||||
|         for ((key, value) in fields) { | ||||
|             view.findViewById<MyAppCompatCheckbox>(value).isChecked = showContactFields and key != 0 | ||||
|         } | ||||
|  | ||||
|         AlertDialog.Builder(activity) | ||||
|                 .setPositiveButton(R.string.ok, { dialog, which -> dialogConfirmed() }) | ||||
|                 .setNegativeButton(R.string.cancel, null) | ||||
|                 .create().apply { | ||||
|                     activity.setupDialogStuff(view, this) | ||||
|                 } | ||||
|     } | ||||
|  | ||||
|     private fun dialogConfirmed() { | ||||
|         var result = 0 | ||||
|         for ((key, value) in fields) { | ||||
|             if (view.findViewById<MyAppCompatCheckbox>(value).isChecked) { | ||||
|                 result += key | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         activity.config.showContactFields = result | ||||
|     } | ||||
| } | ||||
							
								
								
									
										122
									
								
								app/src/main/res/layout/dialog_manage_visible_fields.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										122
									
								
								app/src/main/res/layout/dialog_manage_visible_fields.xml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,122 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <ScrollView | ||||
|     xmlns:android="http://schemas.android.com/apk/res/android" | ||||
|     android:id="@+id/manage_visible_fields_scroll_view" | ||||
|     android:layout_width="match_parent" | ||||
|     android:layout_height="wrap_content"> | ||||
|  | ||||
|     <LinearLayout | ||||
|         android:id="@+id/manage_visible_fields_holder" | ||||
|         android:layout_width="match_parent" | ||||
|         android:layout_height="wrap_content" | ||||
|         android:orientation="vertical" | ||||
|         android:paddingLeft="@dimen/activity_margin" | ||||
|         android:paddingRight="@dimen/activity_margin" | ||||
|         android:paddingTop="@dimen/activity_margin"> | ||||
|  | ||||
|         <com.simplemobiletools.commons.views.MyAppCompatCheckbox | ||||
|             android:id="@+id/manage_visible_fields_prefix" | ||||
|             android:layout_width="match_parent" | ||||
|             android:layout_height="wrap_content" | ||||
|             android:paddingBottom="@dimen/activity_margin" | ||||
|             android:paddingTop="@dimen/activity_margin" | ||||
|             android:text="@string/prefix"/> | ||||
|  | ||||
|         <com.simplemobiletools.commons.views.MyAppCompatCheckbox | ||||
|             android:id="@+id/manage_visible_fields_first_name" | ||||
|             android:layout_width="match_parent" | ||||
|             android:layout_height="wrap_content" | ||||
|             android:paddingBottom="@dimen/activity_margin" | ||||
|             android:paddingTop="@dimen/activity_margin" | ||||
|             android:text="@string/first_name"/> | ||||
|  | ||||
|         <com.simplemobiletools.commons.views.MyAppCompatCheckbox | ||||
|             android:id="@+id/manage_visible_fields_middle_name" | ||||
|             android:layout_width="match_parent" | ||||
|             android:layout_height="wrap_content" | ||||
|             android:paddingBottom="@dimen/activity_margin" | ||||
|             android:paddingTop="@dimen/activity_margin" | ||||
|             android:text="@string/middle_name"/> | ||||
|  | ||||
|         <com.simplemobiletools.commons.views.MyAppCompatCheckbox | ||||
|             android:id="@+id/manage_visible_fields_surname" | ||||
|             android:layout_width="match_parent" | ||||
|             android:layout_height="wrap_content" | ||||
|             android:paddingBottom="@dimen/activity_margin" | ||||
|             android:paddingTop="@dimen/activity_margin" | ||||
|             android:text="@string/surname"/> | ||||
|  | ||||
|         <com.simplemobiletools.commons.views.MyAppCompatCheckbox | ||||
|             android:id="@+id/manage_visible_fields_suffix" | ||||
|             android:layout_width="match_parent" | ||||
|             android:layout_height="wrap_content" | ||||
|             android:paddingBottom="@dimen/activity_margin" | ||||
|             android:paddingTop="@dimen/activity_margin" | ||||
|             android:text="@string/suffix"/> | ||||
|  | ||||
|         <com.simplemobiletools.commons.views.MyAppCompatCheckbox | ||||
|             android:id="@+id/manage_visible_fields_phone_numbers" | ||||
|             android:layout_width="match_parent" | ||||
|             android:layout_height="wrap_content" | ||||
|             android:paddingBottom="@dimen/activity_margin" | ||||
|             android:paddingTop="@dimen/activity_margin" | ||||
|             android:text="@string/phone_numbers"/> | ||||
|  | ||||
|         <com.simplemobiletools.commons.views.MyAppCompatCheckbox | ||||
|             android:id="@+id/manage_visible_fields_emails" | ||||
|             android:layout_width="match_parent" | ||||
|             android:layout_height="wrap_content" | ||||
|             android:paddingBottom="@dimen/activity_margin" | ||||
|             android:paddingTop="@dimen/activity_margin" | ||||
|             android:text="@string/emails"/> | ||||
|  | ||||
|         <com.simplemobiletools.commons.views.MyAppCompatCheckbox | ||||
|             android:id="@+id/manage_visible_fields_addresses" | ||||
|             android:layout_width="match_parent" | ||||
|             android:layout_height="wrap_content" | ||||
|             android:paddingBottom="@dimen/activity_margin" | ||||
|             android:paddingTop="@dimen/activity_margin" | ||||
|             android:text="@string/addresses"/> | ||||
|  | ||||
|         <com.simplemobiletools.commons.views.MyAppCompatCheckbox | ||||
|             android:id="@+id/manage_visible_fields_events" | ||||
|             android:layout_width="match_parent" | ||||
|             android:layout_height="wrap_content" | ||||
|             android:paddingBottom="@dimen/activity_margin" | ||||
|             android:paddingTop="@dimen/activity_margin" | ||||
|             android:text="@string/events"/> | ||||
|  | ||||
|         <com.simplemobiletools.commons.views.MyAppCompatCheckbox | ||||
|             android:id="@+id/manage_visible_fields_notes" | ||||
|             android:layout_width="match_parent" | ||||
|             android:layout_height="wrap_content" | ||||
|             android:paddingBottom="@dimen/activity_margin" | ||||
|             android:paddingTop="@dimen/activity_margin" | ||||
|             android:text="@string/notes"/> | ||||
|  | ||||
|         <com.simplemobiletools.commons.views.MyAppCompatCheckbox | ||||
|             android:id="@+id/manage_visible_fields_organization" | ||||
|             android:layout_width="match_parent" | ||||
|             android:layout_height="wrap_content" | ||||
|             android:paddingBottom="@dimen/activity_margin" | ||||
|             android:paddingTop="@dimen/activity_margin" | ||||
|             android:text="@string/organization"/> | ||||
|  | ||||
|         <com.simplemobiletools.commons.views.MyAppCompatCheckbox | ||||
|             android:id="@+id/manage_visible_fields_groups" | ||||
|             android:layout_width="match_parent" | ||||
|             android:layout_height="wrap_content" | ||||
|             android:paddingBottom="@dimen/activity_margin" | ||||
|             android:paddingTop="@dimen/activity_margin" | ||||
|             android:text="@string/groups"/> | ||||
|  | ||||
|         <com.simplemobiletools.commons.views.MyAppCompatCheckbox | ||||
|             android:id="@+id/manage_visible_fields_contact_source" | ||||
|             android:layout_width="match_parent" | ||||
|             android:layout_height="wrap_content" | ||||
|             android:paddingBottom="@dimen/activity_margin" | ||||
|             android:paddingTop="@dimen/activity_margin" | ||||
|             android:text="@string/contact_source"/> | ||||
|  | ||||
|     </LinearLayout> | ||||
| </ScrollView> | ||||
		Reference in New Issue
	
	Block a user