DefaultContactBrowseListFragment.java revision 92a6fdf1b07b8f1447560174e24455fd46aee7cd
1238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov/* 2238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov * Copyright (C) 2010 The Android Open Source Project 3238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov * 4238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov * Licensed under the Apache License, Version 2.0 (the "License"); 5238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov * you may not use this file except in compliance with the License. 6238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov * You may obtain a copy of the License at 7238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov * 8238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov * http://www.apache.org/licenses/LICENSE-2.0 9238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov * 10238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov * Unless required by applicable law or agreed to in writing, software 11238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov * distributed under the License is distributed on an "AS IS" BASIS, 12238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov * See the License for the specific language governing permissions and 14238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov * limitations under the License. 15238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov */ 16238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikovpackage com.android.contacts.list; 17238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov 18238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikovimport com.android.contacts.R; 191ce1e7cf261994e46e6fe85ed4d445241ad55f16Dmitri Plotnikovimport com.android.contacts.ui.ContactsPreferencesActivity.Prefs; 20238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov 211ce1e7cf261994e46e6fe85ed4d445241ad55f16Dmitri Plotnikovimport android.content.SharedPreferences; 22238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikovimport android.database.Cursor; 2392a6fdf1b07b8f1447560174e24455fd46aee7cdDmitri Plotnikovimport android.os.Bundle; 241ce1e7cf261994e46e6fe85ed4d445241ad55f16Dmitri Plotnikovimport android.preference.PreferenceManager; 25238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikovimport android.view.LayoutInflater; 26238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikovimport android.view.View; 27238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikovimport android.view.ViewGroup; 28fe3f79046be7012349fe9cac0fa89c00945ce737Dmitri Plotnikovimport android.widget.FrameLayout; 29238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikovimport android.widget.TextView; 30238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov 31238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov/** 32238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov * Fragment containing a contact list used for browsing (as compared to 33238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov * picking a contact with one of the PICK intents). 34238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov */ 35238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikovpublic class DefaultContactBrowseListFragment extends ContactBrowseListFragment { 36238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov 3792a6fdf1b07b8f1447560174e24455fd46aee7cdDmitri Plotnikov private static final String KEY_EDIT_MODE = "editMode"; 3892a6fdf1b07b8f1447560174e24455fd46aee7cdDmitri Plotnikov private static final String KEY_CREATE_CONTACT_ENABLED = "createContactEnabled"; 3992a6fdf1b07b8f1447560174e24455fd46aee7cdDmitri Plotnikov private static final String KEY_DISPLAY_WITH_PHONES_ONLY = "displayWithPhonesOnly"; 4092a6fdf1b07b8f1447560174e24455fd46aee7cdDmitri Plotnikov private static final String KEY_VISIBLE_CONTACTS_RESTRICTION = "visibleContactsRestriction"; 4192a6fdf1b07b8f1447560174e24455fd46aee7cdDmitri Plotnikov 42238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov private boolean mEditMode; 43238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov private boolean mCreateContactEnabled; 441ce1e7cf261994e46e6fe85ed4d445241ad55f16Dmitri Plotnikov private int mDisplayWithPhonesOnlyOption = ContactsRequest.DISPLAY_ONLY_WITH_PHONES_DISABLED; 45792a9eacaf73abb29a7ea2020f4ea63368d83258Dmitri Plotnikov private boolean mVisibleContactsRestrictionEnabled = true; 46fe3f79046be7012349fe9cac0fa89c00945ce737Dmitri Plotnikov private View mHeaderView; 474b4681dbdedf60c5828ed7a6990097528df635f2Dmitri Plotnikov 489716d05319f62719019496ee7a97488c2ab9a9a8Dmitri Plotnikov public DefaultContactBrowseListFragment() { 499716d05319f62719019496ee7a97488c2ab9a9a8Dmitri Plotnikov setPhotoLoaderEnabled(true); 501ce1e7cf261994e46e6fe85ed4d445241ad55f16Dmitri Plotnikov setSectionHeaderDisplayEnabled(true); 51899df4a5a48e8a579ca842d303679975c3cef947Daniel Lehmann setAizyEnabled(true); 529716d05319f62719019496ee7a97488c2ab9a9a8Dmitri Plotnikov } 539716d05319f62719019496ee7a97488c2ab9a9a8Dmitri Plotnikov 544b4681dbdedf60c5828ed7a6990097528df635f2Dmitri Plotnikov @Override 5592a6fdf1b07b8f1447560174e24455fd46aee7cdDmitri Plotnikov public void onSaveInstanceState(Bundle outState) { 5692a6fdf1b07b8f1447560174e24455fd46aee7cdDmitri Plotnikov super.onSaveInstanceState(outState); 5792a6fdf1b07b8f1447560174e24455fd46aee7cdDmitri Plotnikov outState.putBoolean(KEY_EDIT_MODE, mEditMode); 5892a6fdf1b07b8f1447560174e24455fd46aee7cdDmitri Plotnikov outState.putBoolean(KEY_CREATE_CONTACT_ENABLED, mCreateContactEnabled); 5992a6fdf1b07b8f1447560174e24455fd46aee7cdDmitri Plotnikov outState.putInt(KEY_DISPLAY_WITH_PHONES_ONLY, mDisplayWithPhonesOnlyOption); 6092a6fdf1b07b8f1447560174e24455fd46aee7cdDmitri Plotnikov outState.putBoolean(KEY_VISIBLE_CONTACTS_RESTRICTION, mVisibleContactsRestrictionEnabled); 6192a6fdf1b07b8f1447560174e24455fd46aee7cdDmitri Plotnikov } 6292a6fdf1b07b8f1447560174e24455fd46aee7cdDmitri Plotnikov 6392a6fdf1b07b8f1447560174e24455fd46aee7cdDmitri Plotnikov @Override 6492a6fdf1b07b8f1447560174e24455fd46aee7cdDmitri Plotnikov public void restoreSavedState(Bundle savedState) { 6592a6fdf1b07b8f1447560174e24455fd46aee7cdDmitri Plotnikov super.restoreSavedState(savedState); 6692a6fdf1b07b8f1447560174e24455fd46aee7cdDmitri Plotnikov 6792a6fdf1b07b8f1447560174e24455fd46aee7cdDmitri Plotnikov if (savedState == null) { 6892a6fdf1b07b8f1447560174e24455fd46aee7cdDmitri Plotnikov return; 6992a6fdf1b07b8f1447560174e24455fd46aee7cdDmitri Plotnikov } 7092a6fdf1b07b8f1447560174e24455fd46aee7cdDmitri Plotnikov 7192a6fdf1b07b8f1447560174e24455fd46aee7cdDmitri Plotnikov mEditMode = savedState.getBoolean(KEY_EDIT_MODE); 7292a6fdf1b07b8f1447560174e24455fd46aee7cdDmitri Plotnikov mCreateContactEnabled = savedState.getBoolean(KEY_CREATE_CONTACT_ENABLED); 7392a6fdf1b07b8f1447560174e24455fd46aee7cdDmitri Plotnikov mDisplayWithPhonesOnlyOption = savedState.getInt(KEY_DISPLAY_WITH_PHONES_ONLY); 7492a6fdf1b07b8f1447560174e24455fd46aee7cdDmitri Plotnikov mVisibleContactsRestrictionEnabled = 7592a6fdf1b07b8f1447560174e24455fd46aee7cdDmitri Plotnikov savedState.getBoolean(KEY_VISIBLE_CONTACTS_RESTRICTION); 7692a6fdf1b07b8f1447560174e24455fd46aee7cdDmitri Plotnikov } 7792a6fdf1b07b8f1447560174e24455fd46aee7cdDmitri Plotnikov 7892a6fdf1b07b8f1447560174e24455fd46aee7cdDmitri Plotnikov @Override 794b4681dbdedf60c5828ed7a6990097528df635f2Dmitri Plotnikov protected void prepareEmptyView() { 801ce1e7cf261994e46e6fe85ed4d445241ad55f16Dmitri Plotnikov if (isShowingContactsWithPhonesOnly()) { 814b4681dbdedf60c5828ed7a6990097528df635f2Dmitri Plotnikov setEmptyText(R.string.noContactsWithPhoneNumbers); 824b4681dbdedf60c5828ed7a6990097528df635f2Dmitri Plotnikov } else { 834b4681dbdedf60c5828ed7a6990097528df635f2Dmitri Plotnikov super.prepareEmptyView(); 844b4681dbdedf60c5828ed7a6990097528df635f2Dmitri Plotnikov } 854b4681dbdedf60c5828ed7a6990097528df635f2Dmitri Plotnikov } 864b4681dbdedf60c5828ed7a6990097528df635f2Dmitri Plotnikov 871ce1e7cf261994e46e6fe85ed4d445241ad55f16Dmitri Plotnikov private boolean isShowingContactsWithPhonesOnly() { 881ce1e7cf261994e46e6fe85ed4d445241ad55f16Dmitri Plotnikov switch (mDisplayWithPhonesOnlyOption) { 891ce1e7cf261994e46e6fe85ed4d445241ad55f16Dmitri Plotnikov case ContactsRequest.DISPLAY_ONLY_WITH_PHONES_DISABLED: 901ce1e7cf261994e46e6fe85ed4d445241ad55f16Dmitri Plotnikov return false; 911ce1e7cf261994e46e6fe85ed4d445241ad55f16Dmitri Plotnikov case ContactsRequest.DISPLAY_ONLY_WITH_PHONES_ENABLED: 921ce1e7cf261994e46e6fe85ed4d445241ad55f16Dmitri Plotnikov return true; 931ce1e7cf261994e46e6fe85ed4d445241ad55f16Dmitri Plotnikov case ContactsRequest.DISPLAY_ONLY_WITH_PHONES_PREFERENCE: 941ce1e7cf261994e46e6fe85ed4d445241ad55f16Dmitri Plotnikov SharedPreferences prefs = PreferenceManager 950b976fc26e8eb09919cd24a4e13370d0ddb5ff38Dmitri Plotnikov .getDefaultSharedPreferences(getContext()); 961ce1e7cf261994e46e6fe85ed4d445241ad55f16Dmitri Plotnikov return prefs.getBoolean(Prefs.DISPLAY_ONLY_PHONES, 971ce1e7cf261994e46e6fe85ed4d445241ad55f16Dmitri Plotnikov Prefs.DISPLAY_ONLY_PHONES_DEFAULT); 981ce1e7cf261994e46e6fe85ed4d445241ad55f16Dmitri Plotnikov } 991ce1e7cf261994e46e6fe85ed4d445241ad55f16Dmitri Plotnikov return false; 1001ce1e7cf261994e46e6fe85ed4d445241ad55f16Dmitri Plotnikov } 1011ce1e7cf261994e46e6fe85ed4d445241ad55f16Dmitri Plotnikov 1021ce1e7cf261994e46e6fe85ed4d445241ad55f16Dmitri Plotnikov public void setDisplayWithPhonesOnlyOption(int displayWithPhonesOnly) { 1031ce1e7cf261994e46e6fe85ed4d445241ad55f16Dmitri Plotnikov mDisplayWithPhonesOnlyOption = displayWithPhonesOnly; 104792a9eacaf73abb29a7ea2020f4ea63368d83258Dmitri Plotnikov configureAdapter(); 105792a9eacaf73abb29a7ea2020f4ea63368d83258Dmitri Plotnikov } 106792a9eacaf73abb29a7ea2020f4ea63368d83258Dmitri Plotnikov 107792a9eacaf73abb29a7ea2020f4ea63368d83258Dmitri Plotnikov public void setVisibleContactsRestrictionEnabled(boolean flag) { 108dd56f01fb6fd313e9286139bc4e8dfe8e9ecfed2Dmitri Plotnikov mVisibleContactsRestrictionEnabled = flag; 109792a9eacaf73abb29a7ea2020f4ea63368d83258Dmitri Plotnikov configureAdapter(); 1104b4681dbdedf60c5828ed7a6990097528df635f2Dmitri Plotnikov } 111238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov 112238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov @Override 113238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov protected void onItemClick(int position, long id) { 114238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov ContactListAdapter adapter = getAdapter(); 115d5061fe322880ee993ea18db331fbc1110ddc538Dmitri Plotnikov if (isEditMode()) { 116d5061fe322880ee993ea18db331fbc1110ddc538Dmitri Plotnikov if (position == 0 && !isSearchMode() && isCreateContactEnabled()) { 117d5061fe322880ee993ea18db331fbc1110ddc538Dmitri Plotnikov createNewContact(); 118238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov } else { 119d5061fe322880ee993ea18db331fbc1110ddc538Dmitri Plotnikov editContact(adapter.getContactUri(position)); 120238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov } 121d5061fe322880ee993ea18db331fbc1110ddc538Dmitri Plotnikov } else { 122d5061fe322880ee993ea18db331fbc1110ddc538Dmitri Plotnikov viewContact(adapter.getContactUri(position)); 123238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov } 124238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov } 125238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov 126238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov @Override 127238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov protected ContactListAdapter createListAdapter() { 1280b976fc26e8eb09919cd24a4e13370d0ddb5ff38Dmitri Plotnikov DefaultContactListAdapter adapter = new DefaultContactListAdapter(getContext()); 129238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov adapter.setSectionHeaderDisplayEnabled(isSectionHeaderDisplayEnabled()); 130238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov adapter.setDisplayPhotos(true); 131238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov adapter.setQuickContactEnabled(true); 132238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov return adapter; 133238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov } 134238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov 135238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov @Override 1364b4681dbdedf60c5828ed7a6990097528df635f2Dmitri Plotnikov protected void configureAdapter() { 1374b4681dbdedf60c5828ed7a6990097528df635f2Dmitri Plotnikov super.configureAdapter(); 1384b4681dbdedf60c5828ed7a6990097528df635f2Dmitri Plotnikov 1394b4681dbdedf60c5828ed7a6990097528df635f2Dmitri Plotnikov DefaultContactListAdapter adapter = (DefaultContactListAdapter)getAdapter(); 140792a9eacaf73abb29a7ea2020f4ea63368d83258Dmitri Plotnikov if (adapter != null) { 1411ce1e7cf261994e46e6fe85ed4d445241ad55f16Dmitri Plotnikov adapter.setContactsWithPhoneNumbersOnly(isShowingContactsWithPhonesOnly()); 142dd56f01fb6fd313e9286139bc4e8dfe8e9ecfed2Dmitri Plotnikov adapter.setVisibleContactsOnly(mVisibleContactsRestrictionEnabled); 143792a9eacaf73abb29a7ea2020f4ea63368d83258Dmitri Plotnikov } 1444b4681dbdedf60c5828ed7a6990097528df635f2Dmitri Plotnikov } 1454b4681dbdedf60c5828ed7a6990097528df635f2Dmitri Plotnikov 1464b4681dbdedf60c5828ed7a6990097528df635f2Dmitri Plotnikov @Override 147238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov protected View inflateView(LayoutInflater inflater, ViewGroup container) { 1484cc85dd15d6546bcb2feb587691bfca3f1654d94Dmitri Plotnikov return inflater.inflate(R.layout.contacts_list_content, null); 149238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov } 150238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov 151238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov @Override 152bba62ac4a2d519be8e4896261d14b168fa49fbdfDmitri Plotnikov protected void onCreateView(LayoutInflater inflater, ViewGroup container) { 153bba62ac4a2d519be8e4896261d14b168fa49fbdfDmitri Plotnikov super.onCreateView(inflater, container); 154fe3f79046be7012349fe9cac0fa89c00945ce737Dmitri Plotnikov 155fe3f79046be7012349fe9cac0fa89c00945ce737Dmitri Plotnikov // Putting the header view inside a container will allow us to make 156fe3f79046be7012349fe9cac0fa89c00945ce737Dmitri Plotnikov // it invisible later. See checkHeaderViewVisibility() 157fe3f79046be7012349fe9cac0fa89c00945ce737Dmitri Plotnikov FrameLayout headerContainer = new FrameLayout(inflater.getContext()); 158fe3f79046be7012349fe9cac0fa89c00945ce737Dmitri Plotnikov mHeaderView = inflater.inflate(R.layout.total_contacts, null, false); 159fe3f79046be7012349fe9cac0fa89c00945ce737Dmitri Plotnikov headerContainer.addView(mHeaderView); 160fe3f79046be7012349fe9cac0fa89c00945ce737Dmitri Plotnikov getListView().addHeaderView(headerContainer); 161fe3f79046be7012349fe9cac0fa89c00945ce737Dmitri Plotnikov checkHeaderViewVisibility(); 162fe3f79046be7012349fe9cac0fa89c00945ce737Dmitri Plotnikov } 163fe3f79046be7012349fe9cac0fa89c00945ce737Dmitri Plotnikov 164fe3f79046be7012349fe9cac0fa89c00945ce737Dmitri Plotnikov @Override 165fe3f79046be7012349fe9cac0fa89c00945ce737Dmitri Plotnikov public void setSearchMode(boolean flag) { 166fe3f79046be7012349fe9cac0fa89c00945ce737Dmitri Plotnikov super.setSearchMode(flag); 167fe3f79046be7012349fe9cac0fa89c00945ce737Dmitri Plotnikov checkHeaderViewVisibility(); 168fe3f79046be7012349fe9cac0fa89c00945ce737Dmitri Plotnikov } 169fe3f79046be7012349fe9cac0fa89c00945ce737Dmitri Plotnikov 170fe3f79046be7012349fe9cac0fa89c00945ce737Dmitri Plotnikov private void checkHeaderViewVisibility() { 171fe3f79046be7012349fe9cac0fa89c00945ce737Dmitri Plotnikov if (mHeaderView != null) { 172fe3f79046be7012349fe9cac0fa89c00945ce737Dmitri Plotnikov mHeaderView.setVisibility(isSearchMode() ? View.GONE : View.VISIBLE); 173238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov } 174238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov } 175238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov 176238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov @Override 177d5061fe322880ee993ea18db331fbc1110ddc538Dmitri Plotnikov protected void showCount(int partitionIndex, Cursor data) { 178fcfbe6a92a8a34b4a6ca784de02287647b903bb2Dmitri Plotnikov if (!isSearchMode() && data != null) { 179fe3f79046be7012349fe9cac0fa89c00945ce737Dmitri Plotnikov int count = data.getCount(); 180238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov // TODO 181238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov // if (contactsListActivity.mDisplayOnlyPhones) { 182238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov // text = contactsListActivity.getQuantityText(count, 183238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov // R.string.listTotalPhoneContactsZero, 184238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov // R.plurals.listTotalPhoneContacts); 185238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov TextView textView = (TextView)getView().findViewById(R.id.totalContactsText); 186238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov String text = getQuantityText(count, R.string.listTotalAllContactsZero, 187238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov R.plurals.listTotalAllContacts); 188238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov textView.setText(text); 189238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov } 190238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov } 191238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov 192238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov public boolean isEditMode() { 193238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov return mEditMode; 194238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov } 195238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov 1961c5c8e23849ac3babb2bdec65ec63c190a5c40dfDmitri Plotnikov public void setEditMode(boolean flag) { 1971c5c8e23849ac3babb2bdec65ec63c190a5c40dfDmitri Plotnikov mEditMode = flag; 198238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov } 199238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov 200238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov public boolean isCreateContactEnabled() { 201238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov return mCreateContactEnabled; 202238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov } 2031c5c8e23849ac3babb2bdec65ec63c190a5c40dfDmitri Plotnikov 2041c5c8e23849ac3babb2bdec65ec63c190a5c40dfDmitri Plotnikov public void setCreateContactEnabled(boolean flag) { 2051c5c8e23849ac3babb2bdec65ec63c190a5c40dfDmitri Plotnikov this.mCreateContactEnabled = flag; 2061c5c8e23849ac3babb2bdec65ec63c190a5c40dfDmitri Plotnikov } 207238d9847d8f2ace658fb7337c8847a2088ddc9d1Dmitri Plotnikov} 208