Fix bug #17208479 Have Cellular Networks Show up in Data Usage

- prevent collisions in the DocId (which is the primary key of
the FTS4 table)
- instead of just using "updatedTitle" hash, use instead
"updatedTitle + screenTitle"

Change-Id: If38f7bcc7fb857d59242d08c16c39adb80590254
This commit is contained in:
Fabrice Di Meglio
2014-09-02 18:22:09 -07:00
parent bde55601ba
commit 14be7d23a2

View File

@@ -1025,8 +1025,14 @@ public class Index {
return;
}
// The DocID should contains more than the title string itself (you may have two settings
// with the same title). So we need to use a combination of the title and the screenTitle.
StringBuilder sb = new StringBuilder(updatedTitle);
sb.append(screenTitle);
int docId = sb.toString().hashCode();
ContentValues values = new ContentValues();
values.put(IndexColumns.DOCID, updatedTitle.hashCode());
values.put(IndexColumns.DOCID, docId);
values.put(IndexColumns.LOCALE, locale);
values.put(IndexColumns.DATA_RANK, rank);
values.put(IndexColumns.DATA_TITLE, updatedTitle);