a bug in maintaining the cache caused these warnings. when the cache
is full, caching code in SQLiteDatabase dropped an entry from the cache
to accommodate the new one. and if the just-dropped one is not in use
that object got GC'ed and caused a finalizer warning. Calendar is one app
that didn't use ? for bindargs (sometimes) and noticed this bug in that app
Fix is to not add the new enry to cache if the cache is already full.
that will cause the app's close() to release the entry.
another common case where this finalizer warning occurs is when unittests run.
if the test does not close the database in tearDown(), it will cause
database object and the compiled sql statement cache within the database
obj get GC'ed which cause finalizer warnings.
Currently, the regex used to extract the port matches ':' followed by 1 or more
digits. This means that when passed a malformed URL of type <host>:<path>, no
match is made for the port and the ':' is matched as part of the path. Since the
handling of the path adds a leading '/' where absent (see http://b/1011602),
this leads to the URL being converted to <host>/:<path>.
This change updates the port regex to match ':' followed by zero or more digits.
This means that the ':' is always matched, so it does not leak into the path
and the result is <host><path>. This matches the behavior of desktop browsers.
Bug: 2494876
Change-Id: I34b47c8187cf03aa7674c14cd6593de53dce3169
It is a prt of the following bug fix: http://b/issue?id=2478548
The CL adds the ability to pass HTTP headers to the Browser
Change-Id: Ibf0ad8f678fc5aeef4ac098e5dfbcaed9ada8600
Update the cookie parser to correctly detect "a=b" cookies and add comments.
Also change the comparator to compare null values before the name so that all
cookies with null values come after cookies with values.
Also added a cts test in cts project.
Bug: 2487245
For each location provider, call getInternalState() to see if it has any
state information to include in a bugreport. If the returned string is not
null, then print a header with the provided name followed by the returned
string.
Change-Id: I0a388d7fba14ac8cadcb80eda0a0ceb95032410b
Signed-off-by: Fred Fettinger <fred.fettinger@motorola.com>
Signed-off-by: Mike Lockwood <lockwood@android.com>
This permits implementing interfaces which are faster than using
remote Cursors. It then uses it for Settings & SettingProvider, which
together account for ~50% of total ContentProvider event loop stalls
across Froyo dogfooders.
For fetching Settings this looks like it should reduce average
Settings lookup from 10 ms to 0.4 ms on Sholes, once the
SettingsProvider serves most gets from in-memory cache. Currently it
brings the Sholes average down from 10ms to 2.5 ms while still using
SQLite queries on each get.
over scroll vertically. In horizontal direction, if
the page can't be zoomed and the current content just
fit, we will not do over scroll.
Per UI request, only draw the shadow when title bar
is not visible.
bug fix for: http://b/issue?id=2491958
Position of right button edge is different for voice search and Go button in search dialog
STEPS TO REPRODUCE:
1. Open Browser (or Maps)
2. Press search button
3. Look at right edge of voice search button and type 'a'
EXPECTED RESULTS:
The edge of the button does not move
OBSERVED RESULTS:
The edge of the button moves slightly to the left when text is entered.
Change-Id: I92709c14faf1a88c40c5070a23b5e81e01bcff47
Extract all UI behavior from dock observer and ACTION_DOCK_EVENT.
Also introduce a desk type to go along with the car type all through
the resource system, since we now need to have corresponding high-level
broadcasts for desk dock mode. As part of that I also reworked some
of the logic for switching modes to all funnel through a single
update() call that looks all of the current state to decide what to
do next, and fixed various locking issues.
In addition I found there were bugs in the configuration change
handling causing us to only switch into the car mode config and
then never get out of it. Unfortunately now that we are actually
changing the configuration for each mode change, the transitions
between them are really crummy as we restart all kinds of
activities. :(