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
The reason for that bug was that the marquee could potentially be stopped/started as part of the layout workflow. Unfortunately TextView was relying on setFrame() being called after onMeasure() which is *not* always the case, especially when the widget is inside of a ListView. This change simply checks for the marquee restart flag in on the onDraw() method in case we skipped the setFrame() step.
Original author: romainguy
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...
Automated import of CL 143240