Frame.cpp:
Removed a line that should not be there anyway. Somehow when merging in Apple's ENABLE(TEXT_CARET) changes we left in a line that disables the blinking Cursor.
Platform.h:
Let WebKit draw the cursor.
RenderThemeAndroid.cpp:
Make the active selection color (the color of a selection in an active <textfield> or <textarea>) visible, and match the selection color shown in other places in Android.
WebViewCore.cpp:
Make the focused node's document's focus controller active. This allows webkit to draw the cursor.
TextDialog.java:
Set WillNotDraw to true, and remove our background, so that the TextDialog is completely invisible. Note that I have not changed its visibility to View.VISIBLE, which would have other undesired effects (would not accept touch events, for example). Since we are not drawing, remove onPreDraw, which is no longer necessary. In onSelectionChanged, pass a message to webkit telling it that the selection has changed. It is important that the two threads always agree (albeit webkit may be behind) because the user will now only see the selection drawn by webkit. Remove some old flawed code whose purpose was to keep the selection up to date and do not send key events for arrow keys (which would mess up the selection that was correct thanks to onSelectionChanged).
BUG=1781070,1712752,916193,1411370,1160999,1775425,1354814
Automated import of CL 146153
It should be renamed to something more meaninful before being exposed.
Original author: jsharkey
Merged from: //branches/cupcake/...
Original author: android-build
Automated import of CL 146012
framework classes to deal with the new property. Also update various
documentation that mentions the default ringtones.
Use the build property as the default alert when the user has not chosen
an alert for an alarm. This is also used if the alarm alert is null when
the alarm fires.
BUG=1723684
Automated import of CL 145870
the system process has permissions to control this
notification but the caller doesn't do we need to call
clearCallerIdentity() before manipulating the notification
BUG=1778648
Automated import of CL 145535
- added an AccountManagerActivity, a base Activity that can be
used by activities that are launched by AccountAuthenticator
intents. This makes it easy for an Activity to send a result
using an AccountAuthenticatorResponse
- added debug strings to the AccountAuthenticatorCache
- improved the API for the AccountAuthenticatorResponse and
made it Parcelable so that it can be passed to an Activity
via an Intent
- changed the AccountManager to use Futures for the
asynchronous calls and to notify the user via a callback
when the request is complete
- changed the AccountManager to convert any errors that are
returned into Exceptions
- added constants for the error codes that are passed across
the IAccountManagerResponse and
IAccountAuthenticatorResponse interfaces
- added a dump() method to the AccountManagerService so that
it can display the list of active sessions and registered
authenticators
- added an way to interrogate the AccountManagerService for
the list of registered authenticators
- removed more methods from the GoogleLoginServiceHelper and
GoogleLoginServiceBlockingHelper and changed the callers to
use the AccountManager
Automated import of CL 145177
The 50 methods that appeared on the GC stacks of the most applications
require 13KB of native heap for their uncompressed register maps, and
the full set took 5ms to uncompress. Pre-computation doesn't represent
a significant improvement in space or time, at the cost of a big pile
of strings in ZygoteInit.
I'm leaving the method in ZygoteInit, but it's not called, and the
static final String[] of method descriptors is empty. We may want to
revisit this later.
BUG=1729570
Automated import of CL 144931
LocationManagerService now listens for changes to settings,
making LocationManager.updateProviders() unnecessary.
Removed LocationManager.updateProviders()
Added Settings.Secure.setLocationProviderEnabled(), which is a thread-safe way
of enabling or disabling a single location provider.
This is safer than reading, modifying and writing the LOCATION_PROVIDERS_ALLOWED directly.
BUG=1729031
Original author: lockwood
Automated import of CL 144415
2 levels as recorded at plug and unplug events. During charge cycles this would be useful because it would tell us
what the start and end levels were in the last discharge cycle. However during a discharge cycle this information could
be misleading as it would give you the level at the last unplug event (beginning the the discharge cycle) and last plug
event (end of the previous discharge cycle).
Now we are still keeping track of 2 values, but they are "discharge cycle start level" and "discharge cycle current level".
During a discharge cycle this will give you the level the current discharge cycle started at, and the current level. During
a charge cycle the same data will be supplied as before (the start/end of the last discharge cycle).
Original author: emillar
Automated import of CL 144410
Android's UI guide line. This modification is based on leland's mock.
See http://b/issue?id=1748136 for more information.
Put ProgressNumber left side, next to ProgressPercentage.
Make ProgressPercentage Bold.
Put ProgressNumber and ProgressPercentage near to the ProgressBar
above. This is same as the design of Market application.
Enable ProgressDialog change the ProgressNumber format. This is hidden
since the interface is premature.
Original author: dmiyakawa
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...
Automated import of CL 144210
Change BugReportService to use java.os.ProcessBuilder instead.
Remove unused import from DumpStateReceiver.
An earlier change list created a private copy of this class for Term.
BUG=1750582
Automated import of CL 144129
in UriMatcher.match().
Before, every call to UriMatcher.match() called
Uri.getPathSegments() N + 1 times,
where N is the size of the list returned by
Uri.getPathSegments(). Since some of the implementations
of Uri.getPathSegments() are O(N), UriMatcher.match() was O(N^2).
This CL fixes the problem by calling uri.getPathSegments() once in
the beginning of match(). That should be safe since Uri is
immutable.
Original author: bringert
Merged from: //branches/donutburger/...
Automated import of CL 144010
Using the same code pattern as the rest of the file:
. throw IllegalStateException if BrowserFrame.sJavaBridge is null in pauseTimers/resumeTimers.
. use (msg.arg1 == 1) to pass the boolean from WebView to WebViewCore as in CLEAR_CACHE
Original author: klobag
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...
Automated import of CL 144000
#1748954 (New status bar fades into all white background): FrameLayout wasn't updating its foreground drawable when its padding changed, which would happen as the status bar is shown and hidden. To fix this I also ended up fixing a problem in the view debug stuff where we couldn't get a bitmap for a view that is the full screen size because it is too big... actually I just went ahead and added another function to snapshot the view hierarchy which works a lot better for us anyway.
#1737952 (Home screen icons overlap with the notification bar after exiting any camera app): Originally I punted this because it only happened in rare situations, but now that home is always portrait it happens a lot more so it is more important to fix. This involved a few things to clean up hiding/showing the status bar:
- We now determine when to hide and show it during layout, which allows us to do this at the time it is actually needed rather than during animation after we can actually catch it for the initial display of a window. This required tweaking the layout API so the policy can request a second layout pass if needed.
- When doing layout, we are now much more aggressive about skipping the layout of windows. Basically anything that we know will be hidden in the near future is ignored for layout, so that it doesn't glitch as it is transfered out of the screen. The theory being that it is better to leave it as it was originally placed while we are transitioning it out, than to switch it to something slightly more correct.
Original author: hackbod
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...
Automated import of CL 143901
Adds stats for:
- Number of raw user events that have happened in the system.
- Number of times user activity has been reported, dividied by UID and type of activity.
- Duration of screen brightness levels in 4 buckets.
- Per-UID tracking of who has turned on Wifi and how long we can attribute it being on because of them.
Original author: hackbod
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...
Automated import of CL 143823
Also clean up the error codes returned by the framework, so that the settings app can properly detect an error.
Original author: npelly
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...
Automated import of CL 143812
-total network sent/received
-total full/partial wakelock times.
-Format the network sent/received amounts to be more easily readable.
Original author: emillar
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...
Automated import of CL 143720
TextView was previously following the "relaxed" line breaking
convention and would allow a line break between any two
ideographic characters. Tighten that up and do not allow
line breaks before non-starter characters (sound and iteration
marks and small Hiragana and Katakana).
Original author: enf
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...
Automated import of CL 143709
The hardware keyboard doesn't have all the accents needed for
Czech and Polish, so round out the selection.
Original author: enf
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...
Automated import of CL 143697
Also do most of the work for issue #1732012 (Only show screen rotation animation when triggered by sensor). This just needs to be hooked up to the surface flinger API when that appears.
Original author: hackbod
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...
Automated import of CL 143318
Define orientation limits for various cases.
Values between 235 and 295 are considered landscape,
0 - 60 are considered portrait.
0-235 are ignored since we don't support Surfaces for 180 and 270 yet.
A linear threshold value is calculated for values between 265 and 355 to switch between landscape and portrait.(different for both cases)
Based on current mode we not only calculate the threshold but also compare accordingly based on increasing or decreasing orientation
BUG = 1734325
Original author: asuchitra
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...
Automated import of CL 143311