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
This allows work done in later codelines to have proper
backward-compatibility checks.
Original author: jbq
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...
Automated import of CL 144009
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
init based on the phone's reported carrier ID.
Uses a core system resource string-array to contain the mapping
of carrier ID -> default locale. This should be set per project in
an overlay.
Original author: rgreenwalt
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...
Automated import of CL 143902
#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
1) Lab machines can run layout tests without having build environment setup
2) We could have different set of pass/fail results per branch
Also added a simple python script which runs run_layout_tests.py
Original author: sridharg
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...
Automated import of CL 143801
AudioFlinger::MixerThread::dumpTracks() was reading mTracks[] vector instead of mActiveTracks[] when dumping active tracks.
Original author: elaurent
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...
Automated import of CL 143785
-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
Exit from GpsEventThread immediately when the GPS is disabled instead of
waiting for the GPS to shut down fully.
BUG=1729031
Original author: lockwood
Merged from: //branches/donutburger/...
Automated import of CL 143648
This CL removes RoManager::getDevicePrivateKey() and its declaration.
The method is not used anywhere and it contains bad code that returns
reference to a local object.
This is tested by building the master tree and running the framework
testsuite. No error was found in testsuite.
BUG=1737538
Automated import of CL 143430
take place.
This has the same underlying cause as bug #1739874, so this fixes that
bug as well. The problem was that if the supplicant was in the DORMANT
state at the time a scan-only Wi-Fi lock was released, the command to
stop the Wi-Fi driver would never be issued. This had two main results:
first, the driver would stay awake when the screen was blank and it was
supposed to be sleeping, leading to excessive battery drain, and second,
when the screen was turned back on, there would be no DRIVER-STARTED
event generated (because the driver was already running). The
DRIVER-STARTED event is the trigger for the framework to issue a
RECONNECT command to the supplicant to cause it leave the DORMANT state
and look for available remembered networks.
To assist in tracking down this problem, and any such problems in the
future, I added four counters to keep track of how many times full and
scan-only Wi-Fi locks are acquired and released. The counter values
are output in the dump() method of WifiService. While doing this, I
noticed that because of missing "break" statements, the battery stats
that keep track of how much time Wi-Fi locks are held were including
the time for full locks in the time reported for scan-only locks.
Original author: ers
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...
Automated import of CL 143395
Add a function to change getBackground color.
Add a function to check whether EditStyledText has styled text or not.
Refactor function and variable names for readability.
Original author: satok
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...
Automated import of CL 143347
IExtendedNetworkService has 4 MMI service interface used by PhoneUtils to put DCM related nw service.
void setMmiString(String number);
CharSequence getMmiRunningText();
CharSequence getUserMessage(CharSequence text);
void clearMmiString();
And the service is bind via "com.android.ussd.IExtendedNetworkService".
Original author: johnwang
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...
Automated import of CL 143331
Current implementation of Camera service plays the camera shutter sound over the ALARM stream so that it cannot be muted by silent mode in order to comply to some country specific requirement. A recent change made it possible for the user to mute the ALARM stream thus making this stream not suitable any more for the camera shutter sound.
The fix consists in creating a new stream type only accessible by native code and that cannot be muted and use it to play camera sounds.
Original author: elaurent
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...
Automated import of CL 143327
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
Added a new WITH_EMAIL_OR_IM_FILTER_URI to find people with a given string as either an E-mail or IM address. This cleans up the original code, and lets us handle duplicates when there are multiple ContactMethod matches for a single person. (We don't get GROUP BY through the ContentProvider interface.)
In ContactsListActivity we don't show possibly-incorrect labels when in MODE_QUERY_PICK_TO_VIEW, as any labels and values would be identical. (The people appearing in that list are there because their ContactMethod matches the query.)
Original author: jsharkey
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...
Automated import of CL 143308
The problem was that the Preference widget was reenabled when its dependency
was in enabled state. The enabled field was basically overloaded. The fix was
to add an additional field to keep track of whether its dependencies were met.
Original author: chanm
Merged from: //branches/donutburger/...
Automated import of CL 143298