| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Bug:6126736
Change-Id: Ia1c83c4c600e44f3a354aec7e206267341143ef4
|
| | |
| | |
| | |
| | |
| | |
| | | |
Bug:6202229
Change-Id: I98b38023585d154eccad302578f796a2318fd5b2
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Workaround for "Cursor window allocation of 2048 kb failed" during
ContactAggregatorTest.
This should be some kind of OOM because if I run only ContactAggregatorTest
it passes without a crash.
Couldn't figure out the root cause. Instead of spending too much time on it,
decided to mark move all large tests except for ContactsProvider2Test to
medium.
Also did some cleanup for SynchronousContactsProvider2 and
SynchronousProfileProvider.
Bug 6249848
Change-Id: I51d80db1e4025ff20642bc3abf8074f882da47d8
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Bug:6202229
Change-Id: I88a9a9bb72921f7a3ed80aebe40935656a92eb3a
|
|\ \ \ \ |
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | | |
Move aggregator related classes into it.
Change-Id: I712fe07ad2bab1e532e3822e3e2797a199329865
|
|\ \ \ \
| |_|/ /
|/| | | |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixed:
- DisplayPhoto.CONTENT_MAX_DIMENSIONS_URI
- StreamItems.CONTENT_LIMIT_URI
Also now ProviderStatus now throws when a non-existent column is requested.
Change-Id: I03c82c31fe78a30d4929335dfb8efc3bff3bc76b
|
|/ /
| |
| |
| | |
Change-Id: I4b0f6d7eaef47bc18fc94ec58e45b07066b33d35
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Don't close and reopen the database in CDH.getWritableDatabase().
The reason we did this was to sqlite reload the sqlite_stat1 table,
but according to the document running "ANALYZE sqlite_master"
should be suffice. (See http://www.sqlite.org/lang_analyze.html)
Also don't close the database helpers after upgrade in
ContactsUpgradeReceiver. We don't have to do this.
Also, replaced the test-only constructors of the helpers with methods
with more explicit name, in order to make sure only the singleton
instances are used in the main code.
Bug 6104842
Change-Id: I76a7d1b8f7b6462b97f627d722feaa03967cb18f
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
... so that methods used only by ProfileAggregator don't have to be public.
And fix some method visibilities that don't make sense.
Needed to change the bogus ID in PhotoStoreTest; otherwise moving the
aggregator test will make this test fail for some unclear reason.
Bug 6118852
Change-Id: Ic0c022cbf50128f40c70559c1a7cf8e2a6c06fc8
|
| |
| |
| |
| |
| |
| | |
Bug 6026073
Change-Id: Ic6057aa2347d1fa4c245ad2f6644ac4d5e8ae3cf
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Also,
- Split up putAndGetBundle() into put() and buildExtraBundle().
The old design was to avoid taking a Bundle as a parameter, which
I generally don't like because it's not self-descrictive.
But splitting it up makes the structure of bundleFastScrollingIndexExtras
much cleaner -- the get() and put() calls are now in a single method,
bundleFastScrollingIndexExtras().
- Removed mFastScrollingIndexCacheLock. I don't really like synchronizing
on a non final member either, but mFastScrollingIndexCache is essentially
final, so I decided to be lazy.
Bug 6020589
Change-Id: If842e52e5334452a52cf8d19c460d52329fc81f4
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The cache content is also stored in the shared preferences.
The cache is invalidated when:
- contacts (or profile), raw_contacs, or data is modifiled.
- accounts are changed. (Strictly speaking we have to do this only when
an account is being removed, but not when added. But let's just always do this
for just in case.)
- visible contacts are updated; i.e. when custom filter is udpated.
- the locale changes.
Change-Id: I70cfe7c88d3b1a0a0f820338acbe885c136b6e10
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
Make sure Raw_contacts / groups deletion works with account column selection.
Bug 5970976
Change-Id: If32f716576d6e4362f72f32289aebce012d19e2f
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Removed the *ForTest exception. It caused issues with guava. Now that
we have NeededForTesting, we don't really need it.
(But didn't change method names from XxxForTest to Xxx, because I still
think using this prefix for test-only methods is a good idea, as it'll
make it easier to catch the use of methods in the main apk that are
not supposed to be used.)
Change-Id: Idccfd7175372b1a2253b19161ae572dae7e1e952
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
Don't add snippet markers when snippetizing is deferrerd.
Bug 5904515
Change-Id: I7199e1d68659e06e2b183383b7ba4d8a089aec87
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Check if there's really a new or removed account in
updateAccountsInBackground() before doing everything else.
If there's none, we'll skip re-scanning directories too.
- Preheat the account cache when the provider starts.
- Use account_id for the account filter query parameters. The contacts URI
now supports the parameters too.
Change-Id: I12e1116890df4c20b354618acfaee9dc009dc68e
|
|/ /
| |
| |
| | |
Change-Id: I6673bbd55fbb4cd5aec419d8684765366d5e3161
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Remove the account columns (type, name, data_set) from the
raw_contacts/groups tables and add account_id instead.
- Re-create the accounts table. The new table now has the _ID column. Rows
in this table now has a different lifecyle than before:
-- New row is created as the provider detects a new account during a write
operation to the raw_contacts and groups table.
-- Stale rows are removed upon account removal.
- Removed account consistency check for steam items/photos. We don't do this
kind of check for other tables.
Change-Id: I1ce01590aef70f417fa89426dae762a41d25d656
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Rather than relying on a trailing suffix match on the longer of the
two numbers (the one from caller ID and the one in the database),
this first attempts to do the full internationalized-number-aware
query that we'd normally do, and if no results are returned, falls
back to a comparison of the trailing 7 digits of each number, as
we did in Gingerbread.
Bug: 5742389
Change-Id: I085fe9df336c6d75008423163965c39d91bcd1ce
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Bug 5763216
Change-Id: Iecdf45cf98cfb7bf0ed162f6e386574e4445f6fa
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
PhoneColumns was just redundant, and only made it hard to find all usecases
of Phone.NORMALIZED_NUMBER.
Also makred GroupsTest as @MediumTest. Some methods didn't have a size
annotations so they weren't executed as we always have to use the "-e size"
parameter.
Change-Id: I53160219e2ab6b2535cc8be61b07af6312bc92fc
|
| |
| |
| |
| | |
Change-Id: I3ccd0dd27ff0fe49ac54574449264c2e957d3a01
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Unify GlobalSearchSupport and ContactsProvider2 isPhoneNumber methods
- Improve phone number recognition for gloval search, using the detected
current country and the SIM country.
- Show 'Create contact' and 'Dial number' suggestion in global search
if there's a contact match too. Otherwise, you can't dial a number
that happens to be a substring of a contacts number.
- Move isVoiceCapable check from GlobalSearchSupport into ContactsProviders
to resolve some testing issues.
- Show 'Create contact' suggestions on tablets.
Bug: 5554109
Change-Id: Ie0afee2a97d7551a267482970f5e0615f1775c7d
|
| |
| |
| |
| |
| |
| |
| |
| | |
Contact data migration from donut is no longer supported.
Bug 5664971
Change-Id: I01c56752d93bb0f8e2a0e6ff81285f1971a7c893
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This happend if a raw_contact had null account name. Apparently some tests
will leave such records. Turned out streamItemPhotoIdToAccount wasn't actually
used, so I just removed it.
Also now ContactsProvider2.onCreate() doesn't supress exceptions if running
unittests.
Also removed ContactAggregatorPerformanceTest, which was failing to initialize
the provider as well. It was essentially disabled2 years ago anyway in
Id076a108.
Bug 5664700
Change-Id: I0b7fb0834965058886aa816a47629b93b86a6e13
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This sub-query needs to be rewritten for the upcoming accounts
refactoring, but since it's @hide'ed and no one is using it, let's
just remove it for now.
I believe this count can be implemented efficiently using a join
(in a similar way we support SUMMARY_COUNT) rather than a subquery, but
this should be even easier after the refactoring.
Also when we re-implement this, we can just check if the projection
contains SUMMARY_GROUP_COUNT_PER_ACCOUNT, so we'll probably be able to
remove PARAM_RETURN_GROUP_COUNT_PER_ACCOUNT.
Change-Id: I3adc93cdf57280ab06b4a2cab77f834811178af8
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This must be after I4729c87ecd11296599ed0313e8ad1f5aeabbd32b, which
introduces URIs this change depends on.
- CONTENT_URI will return a list containing both phone numbers and
sip addresses.
- CONTENT_FILTER_URI will return a list containing both, filtered
by a parameter. The URI will return addresses starting from
"sip:" too just for convenience. If a user type "johndoe",
sip addresses like "sip:johndoe@example.com" will also be returned.
Bug: 5039627
Change-Id: Ifbbfe9df3b9a560666d35ca78aeb07d513963195
|
|\ \
| |/
| |
| |
| | |
* commit 'f5f038faf7f3ef460e1c11028d467954840e5f6f':
Fix search for hyphenated names
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This issue was caused by the combination of the fact that we have two
different imcompatible tokenizers for names, and the fact that our
name-normalizer ignroes all non-letter and non-digit characters.
Basically, the name tokenizer used to build index uses ' ' as the separator,
and the one used to tokenize queries use all non-letter, non-digit characters.
Take the name "Double-barrelled" as an example. The full-text search index
for this looks like "doublebarrelled", because it's treated as one token
(because there's no spaces in it), and the normalzier removes all
non-letter/digits.
On the other hand, the query term "double-barrelled" will be split into
"double" "barrelled", and internally it becomes AND-ed prefix matches
"double* AND barrelled*". Beacuse "barrelled*" doesn't match "doublebarrelled"
the query doesn't hit.
So (for now) let's split names with '-' when buidling the index. With this
CL the index will be "double barrelled" and the query "double-barrelled"
(and also "double barrelled") *will* hit this.
Long-term we probably need a better fix.
Bug 5592553
Change-Id: I34bfa8647eec8d203f8ff7fc8a85f42505054c7c
|
|\ \
| |/
| |
| |
| | |
* commit '8ead0dc62d0031a22af0d14c7ed05893507893c9':
Allow the provider to conditionally remove duplicate entries
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Must be after Ie88af0c3d21919ca201f4fcdd46ca09e9f8d94c0, which
introduced the new flag for duplication removal.
With this change the default behavior for Phone uri will be back
to the behavior before Ie21abb12736715358dd33bc690269f51ae1e0944
being introduced.
Bug: 5484956
Change-Id: I3b6ba3956449520f9e08653fc8beead763a5f8a1
|
|/
|
|
|
|
|
|
|
|
| |
Currently we are quoting an integer constant when generating the
filtering clause that excludes voicemails from the set of calls returned
to applications querying the default call log URI.
Pass the integer to the helper function, so that we can avoid quoting.
Change-Id: I1e460d2c8d3b04047cf4a1f4e1209b3e4ba5053b
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- The old query had overhead propotional to the number of groups.
- The Groups.SUMMARY_WITH_PHONES column is still slow, but we don't use it.
- We can use the same technique for Groups.SUMMARY_GROUP_COUNT_PER_ACCOUNT.
The only downside is that, we're changing the FROM clause dynamically according
to the requested column, which is something that we don't usually do.
Overusing this technique could make code less maintainable...
Bug 5092615
Change-Id: I79b01ae2a232bcd8e3b7186288050fed14a36a72
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's almost same as my previous CL 143783, except this time it uses
pm.queryContentProviders() to enumerate only packages that have a content
provider.
It still uses getPackageInfo(), but only on packages with a directory
provider and there aren't many directory providers around (there are only
two known ones: Exchange and the googlesync), so it should be okay.
(We could get rid of the getPackageInfo() call but that'd be too big a change
for MR1.)
Bug 5422702
Change-Id: I67f51f6a770bf1de6779b366017431c36b63815c
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Seems like Secure.getLong() (and other methods) internally tries to get
the Settings provider from the passed context when it's called first time,
and it crases in tests because our mock context doesn't have it.
Let's just call it with an actual contxext when tests start so it'll initialize
the settings provider correctly.
Bug 5499268
Change-Id: I863862ead2078715621cb71b1cf15f0dd94c0feb
|
|\ |
|
| |
| |
| |
| |
| | |
Bug:5254892
Change-Id: I41cf5df369b887361e545d9e0acccef308824875
|
|/
|
|
|
|
|
|
| |
Also allow prefix search on name
Bug:5337763
Change-Id: I039264be0c8309224d8925ded06ab02a64a5ce1b
|
|
|
|
|
|
|
|
|
| |
This avoids running into security exceptions when the cleanup
involves permission-protected data.
Bug 5422732
Change-Id: I5554d53ca76c5d513467c66782f7bf3ea61aa78b
|
|
|
|
| |
Change-Id: I70c53f954c1b0ef74edf505e8427cb78d66a4a8e
|