summaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
authorDmitri Plotnikov <dplotnikov@google.com>2010-11-22 10:18:46 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2010-11-22 10:18:46 -0800
commita87222cb76b42f9a1d869f8ad0737271310a956b (patch)
tree59f797429977e6106df736a656cb235fb26b3d98 /src/com
parentab59660a17e896593f2a07c2e1191c2c23e3e353 (diff)
parent5096815f263545aa22f33e5aebe5a45f3118c5e9 (diff)
downloadpackages_apps_Contacts-a87222cb76b42f9a1d869f8ad0737271310a956b.tar.gz
packages_apps_Contacts-a87222cb76b42f9a1d869f8ad0737271310a956b.tar.bz2
packages_apps_Contacts-a87222cb76b42f9a1d869f8ad0737271310a956b.zip
Merge "Adding support for new field: Groups.GROUP_IS_READ_ONLY"
Diffstat (limited to 'src/com')
-rw-r--r--src/com/android/contacts/activities/ContactBrowserActivity.java12
-rw-r--r--src/com/android/contacts/list/ContactListFilter.java9
-rw-r--r--src/com/android/contacts/list/ContactListFilterLoader.java7
3 files changed, 19 insertions, 9 deletions
diff --git a/src/com/android/contacts/activities/ContactBrowserActivity.java b/src/com/android/contacts/activities/ContactBrowserActivity.java
index 2548a45e6..c72f0d8fb 100644
--- a/src/com/android/contacts/activities/ContactBrowserActivity.java
+++ b/src/com/android/contacts/activities/ContactBrowserActivity.java
@@ -890,23 +890,25 @@ public class ContactBrowserActivity extends Activity
mRequest.getActionCode() == ContactsRequest.ACTION_DEFAULT);
}
- boolean groupSelected = false;
+ boolean groupActionsEnabled = false;
if (mListFragment instanceof DefaultContactBrowseListFragment) {
ContactListFilter filter =
((DefaultContactBrowseListFragment)mListFragment).getFilter();
- if (filter != null && filter.filterType == ContactListFilter.FILTER_TYPE_GROUP) {
- groupSelected = true;
+ if (filter != null
+ && filter.filterType == ContactListFilter.FILTER_TYPE_GROUP
+ && !filter.groupReadOnly) {
+ groupActionsEnabled = true;
}
}
MenuItem renameGroup = menu.findItem(R.id.menu_rename_group);
if (renameGroup != null) {
- renameGroup.setVisible(groupSelected);
+ renameGroup.setVisible(groupActionsEnabled);
}
MenuItem deleteGroup = menu.findItem(R.id.menu_delete_group);
if (deleteGroup != null) {
- deleteGroup.setVisible(groupSelected);
+ deleteGroup.setVisible(groupActionsEnabled);
}
return true;
diff --git a/src/com/android/contacts/list/ContactListFilter.java b/src/com/android/contacts/list/ContactListFilter.java
index 2b212fd9c..dcaf60878 100644
--- a/src/com/android/contacts/list/ContactListFilter.java
+++ b/src/com/android/contacts/list/ContactListFilter.java
@@ -40,6 +40,7 @@ public final class ContactListFilter implements Comparable<ContactListFilter> {
private static final String KEY_ACCOUNT_TYPE = "filter.accountType";
private static final String KEY_GROUP_ID = "filter.groupId";
private static final String KEY_GROUP_SOURCE_ID = "filter.groupSourceId";
+ private static final String KEY_GROUP_READ_ONLY = "filter.groupReadOnly";
public int filterType;
public String accountType;
@@ -47,6 +48,7 @@ public final class ContactListFilter implements Comparable<ContactListFilter> {
public Drawable icon;
public long groupId;
public String groupSourceId;
+ public boolean groupReadOnly;
public String title;
private String mId;
@@ -63,13 +65,14 @@ public final class ContactListFilter implements Comparable<ContactListFilter> {
this.title = title;
}
- public ContactListFilter(
- String accountType, String accountName, long groupId, String groupSourceId, String title) {
+ public ContactListFilter(String accountType, String accountName, long groupId,
+ String groupSourceId, boolean groupReadOnly, String title) {
this.filterType = ContactListFilter.FILTER_TYPE_GROUP;
this.accountType = accountType;
this.accountName = accountName;
this.groupId = groupId;
this.groupSourceId = groupSourceId;
+ this.groupReadOnly = groupReadOnly;
this.title = title;
}
@@ -159,6 +162,7 @@ public final class ContactListFilter implements Comparable<ContactListFilter> {
.putString(KEY_ACCOUNT_TYPE, filter == null ? null : filter.accountType)
.putLong(KEY_GROUP_ID, filter == null ? -1 : filter.groupId)
.putString(KEY_GROUP_SOURCE_ID, filter == null ? null : filter.groupSourceId)
+ .putBoolean(KEY_GROUP_READ_ONLY, filter == null ? false : filter.groupReadOnly)
.apply();
}
@@ -173,6 +177,7 @@ public final class ContactListFilter implements Comparable<ContactListFilter> {
filter.accountType = prefs.getString(KEY_ACCOUNT_TYPE, null);
filter.groupId = prefs.getLong(KEY_GROUP_ID, -1);
filter.groupSourceId = prefs.getString(KEY_GROUP_SOURCE_ID, null);
+ filter.groupReadOnly = prefs.getBoolean(KEY_GROUP_READ_ONLY, false);
return filter;
}
diff --git a/src/com/android/contacts/list/ContactListFilterLoader.java b/src/com/android/contacts/list/ContactListFilterLoader.java
index adb7c7fcc..8ad9168f4 100644
--- a/src/com/android/contacts/list/ContactListFilterLoader.java
+++ b/src/com/android/contacts/list/ContactListFilterLoader.java
@@ -45,6 +45,7 @@ public class ContactListFilterLoader extends AsyncTaskLoader<List<ContactListFil
Groups.TITLE,
Groups.AUTO_ADD,
Groups.SOURCE_ID,
+ Groups.GROUP_IS_READ_ONLY,
};
public static final int ID = 0;
@@ -53,6 +54,7 @@ public class ContactListFilterLoader extends AsyncTaskLoader<List<ContactListFil
public static final int TITLE = 3;
public static final int IS_DEFAULT_GROUP = 4; // Using the AUTO_ADD group as default
public static final int SOURCE_ID = 5;
+ public static final int GROUP_IS_READ_ONLY = 6;
private static final String SELECTION =
Groups.DELETED + "=0 AND " + Groups.FAVORITES + "=0";
@@ -88,6 +90,7 @@ public class ContactListFilterLoader extends AsyncTaskLoader<List<ContactListFil
while (cursor.moveToNext()) {
long groupId = cursor.getLong(GroupQuery.ID);
String groupSourceId = cursor.getString(GroupQuery.SOURCE_ID);
+ boolean groupReadOnly = cursor.getInt(GroupQuery.GROUP_IS_READ_ONLY) != 0;
String accountType = cursor.getString(GroupQuery.ACCOUNT_TYPE);
String accountName = cursor.getString(GroupQuery.ACCOUNT_NAME);
boolean defaultGroup = false;
@@ -106,8 +109,8 @@ public class ContactListFilterLoader extends AsyncTaskLoader<List<ContactListFil
}
} else {
String title = cursor.getString(GroupQuery.TITLE);
- results.add(new ContactListFilter(
- accountType, accountName, groupId, groupSourceId, title));
+ results.add(new ContactListFilter(accountType, accountName, groupId,
+ groupSourceId, groupReadOnly, title));
}
}
} finally {