+ For bug 1810508
- Added PerformanceCollector class to collect runtime and memory usage data
* Moved performance snapshotting from Intrumentation to PerformanceCollector
- Added PerformanceResultsWriter interface which defines functions for
reporting performance data
+ Framework integration
- Added TimedTest annotation to automatically time tests and write results
to instrumentation output
- Modified PerformanceTestBase to add collection hooks and wrapper methods
- Modified WatcherResultPrinter in InstrumentationTestRunner to implement
PerformanceResultsWriter for instrumentation output of performance data
- Modified InstrumentationTestRunner and AndroidTestRunner to pass writer
instance to test
Merge commit 'e1df82248a68282a4d556ce61db09949fc186827' into eclair
* commit 'e1df82248a68282a4d556ce61db09949fc186827':
Remove flaky test LifecycleTest.testDialog from large continuous suite.
Replace a table of objects that was created at boot
in a costly manner, with a pre-generated table of
more densely formatted numerical data.
Based on data from runhat on the phone process,
this looks to shrink the memory footprint from about
16kB to less then 2kB.
Addresses http://buganizer/issue?id=874072
Change-Id: I5a7b9d7de4c9b9a0360e8370252582969fbd8d4f
Phase 2
Make VCard Importer use Data structures in ContactsContract instead of
using old Conatacts structure.
Phase 3
Developed VCardComposer, which was originally in Contacts package, but
now in base/core/java. Also made it use queryEntries() as per jsharkey's
suggestion.
Phase 4
Added VCardUtils and moved some common methods to it, some of which should be
in public API, but hidden for now.
Phase 5
Made VCardComposer emits (almost) valid vCard 3.0 data.
Confirmed with vCard data emitted by Mac.
Related issue:
1784580, 1728351, 1967349
Note:
Probable next step:
- Add "fast parse" mode in VCradBuilder, in which, VCardBuilder skip parsing the value of
each property. It will make the parsing faster.
-- Note that parsing the parameters of each entry cannot be skipped, since it may contains
the information about Encoding of the property. In other words, if the line is
in Quoted-Printable format, the next line may be the part of the property, not a
separated property, which should be parsed accordingly.
- Needs test
Merge commit 'ff6585cbb0e5e42adf056b4a074b9f3683b853c1'
* commit 'ff6585cbb0e5e42adf056b4a074b9f3683b853c1':
Remove flaky MonitorTest#testInterrupt from continuous, and attempt to make
Since the search UI is handled by the system process, and
the service calls to show and hide it are asynchronous,
the tests that checked the visibility of the search UI were
very flaky. This change sclaes the tests back to just check
that nothing crashes when showing and hiding the search UI.
Fixes http://b/issue?id=1993675
Move VCard code from android/syncml/pim to android/pim since the code is not
related to SyncML at all; Previous code was misplaced, I suppose.
Reorganize "Builder" structure:
Create VCardBuilderBase.java as a base class for "Builder" classes.
Separate VCardDataBuilder to several components.
Now, VCardBuilder is able to accept EntryHandlers (interface) which handle each VCard entry.
Add EntriCommitter and ProgressShower as ones of EntryHandler implementations.
Stop using VNode/PropertyNode in the actual importing path. Instead, VCard importer directly
creates ContactStruct object.
PropertyNode is still used in test codes, since it does not drop any kind of information
while ContactStruct does.
All codes are made hidden (with package.html) like the files in syncml directory;
These files are only for Contacts app.
Issue
- due to internal issue 1975498, any performance test cannot be conducted.
Next todos
- Add tests for ContactStruct.
- remove android/syncml directory.
- Rename several methods; old names are based on V??? structure, which does not make sense in the current code.
- Use ContentProviderOperation instead of relying on beginTransaction()/endTransaction().
- Use ContactsContact in Eclair
Related internal issues
- 1784580, 1728351
ServiceTest appears to be causing the whole android unit_tests suite to fail in the
continuous system. Suppressing to stop the lab failure spam while continuing to investigate.
Merge commit '5a76ae46854ac449f94e1f75ef13ce035e4c65cd'
* commit '5a76ae46854ac449f94e1f75ef13ce035e4c65cd':
Update Searchables test with new GlobalSearch name
Details:
- Add a new SearchDialogWrapper class that makes sure
all access to the SearchDialog is run one a single thread
other than the main ServerThread.
- Don't save/restore seach dialog state in Activity.
This resulted in lots of calls to the SearchManager
throughout the life cycle of all activities, for
the questionable benefit of restoring the search dialog
in a few cases.
- Remove search UI state save/restore, and the isVisible()
method from SearchManagerService. They are no longer used,
and were tricky to implement since they return values from
the search UI thread to the service.
- Handle configuration changes in searchDialogWrapper instead
of calling through from Activity.
Fixes http://b/issue?id=1938101
TODO:
- Activity.performPause() calls stopSearch(). This call may not happen
until the new activity has been started. If the new activity starts a
search immediately, this search could be cancelled by the old activity's
call top stopSearch().