From 0584da89a8c1c2e5f2e640c57b91e88160084d6c Mon Sep 17 00:00:00 2001 From: Roman Birg Date: Thu, 28 Apr 2016 09:36:13 -0700 Subject: ContactsProvider: don't crash on locale change Catch crashes when looking up nonexistant resources stored in the group title_res table. Ticket: CYNGNOS-2656, OSS NIGHTLIES-2952 Change-Id: Id496df461f16dcf7a7596347dda5e3ff806767d0 Signed-off-by: Roman Birg --- .../android/providers/contacts/ContactsDatabaseHelper.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/com/android/providers/contacts/ContactsDatabaseHelper.java b/src/com/android/providers/contacts/ContactsDatabaseHelper.java index 8935149..3e37103 100644 --- a/src/com/android/providers/contacts/ContactsDatabaseHelper.java +++ b/src/com/android/providers/contacts/ContactsDatabaseHelper.java @@ -3530,9 +3530,14 @@ public class ContactsDatabaseHelper extends SQLiteOpenHelper { groupId = cursor.getLong(0); titleRes = cursor.getInt(1); values.clear(); - values.put(Groups.TITLE, mContext.getResources().getString(titleRes)); - db.update(Tables.GROUPS, values, Groups._ID + " = ?", new String[] { - String.valueOf(groupId)}); + try { + final String lookup = mContext.getResources().getString(titleRes); + values.put(Groups.TITLE, lookup); + db.update(Tables.GROUPS, values, Groups._ID + " = ?", new String[]{ + String.valueOf(groupId)}); + } catch (Resources.NotFoundException e) { + Log.e(TAG, "could not find resource " + titleRes + " for groupId " + groupId); + } } } finally { cursor.close(); -- cgit v1.1