This fixes a bug where the device fails to lock when DevicePolicyManagerService
requests the device to be locked and the screen was off because the user hit
the power button.
The change allows DPMS to directly invoke screen lock, bypasssing the screen state.
Change-Id: Iecdda6fc61e9c519119de495be23c69c3b983921
The documentation is now consistent with the current UI guidelines
for handling notifications, and includes complete sample code showing
the correct way to do this.
Change-Id: I68f0afc62c2af164c3205535e62093679e2a256a
Don't consider a window as a candidate for the top fullscreen window
if it is not going to be a candiate for layout.
Also don't consider windows a candidate for layout if their app token
is hidden. This fixes a transient state where we are preparing to
unhide the window but have not done so yet.
Change-Id: Ife5299ffa003c1df1a4f787b7a2809cbf614ec16
Currently, when airplane mode was on and BT was on, turning BT off
moved BT to hotoff state. This fix moves BT all the way to Poweroff
state to have better power performance.
bug 5854282
Change-Id: I7ba41797a46a81ddb3a576453f2a8303b5eed525
Bug: 4586251
Cherry picking from master for ics-mr1.
Current ssl cert logic makes callbacks to webkit from the
UI thread. This is not right. Move the callbacks to proper thread.
Change-Id: I59affba47eca01b74e2bc33d88ef83a5850d6ce9
Fix 5783857: Device Policy Manager doesn't allow Face Unlock
This makes it so that if face unlock is enabled and then a device policy
manager that requires something more secure than face unlock is installed,
the user will be forced to choose a new acceptable lock type.
This was previously fixed for the case where the device had been reset, or
the shell was restarted after setting face unlock, but not for the case where the
device remained on between setting face unlock and setting up a device policy
manager.
Also changed the function ordering of saveLockPattern() so that the overloaded
wrapper function is next to the main function.
Change-Id: Ibed8c4ab137ebbc07fb143faef6f047bc6dc4474
This adds a feature to delay locking the device when the power button
is pressed. This fixes a use case where the user wants to turn off
the display (e.g. to save power) but doesn't want to lock the device.
For the case of a secure device (user has a pin/password/pattern),
this will lock the device immediately or not based on the setting.
For the non-secure case, this always "locks" the device to provide easy
access to the camera while preventing unwanted input.
Change-Id: Ie328485c3f7559e26896d761cbf0e69d3f4df4e2
For non-localized strings like the keywords in SQL statements, we shouldn't use
locale-specific case transformations.
(Cherry pick of 03f8f84c345e7c861a6de889d434b9d82cf04c8d.)
Bug: 4284951
Change-Id: If5b7154f70a7db22837d071d1c57e929729b7d35
This adds Resources.getDrawableForDensity() and
Resources.getValueForDensity(). These are needed for applications
to correctly retrieve larger icons such as in launcher when
running on a tablet. We had already exposed the APIs to tell the
application which density to use for app icons on the current
device, but didn't unhide these APIs that allowed you to
actually retrieve them.
This is safe to do without introducing a new API level (as long
as we do it soon) because we know these APIs already exist in
Android 4.0, and there is no reason for anyone to be removing
them when building a device.
Change-Id: I5138e5dc908197b66a98d20af73c5374cb5d41d3
Instead of picking between the music stream and the enforced audio
stream, change the camera service to always play sounds through
enforced system stream. Also update the currently-hidden CameraSound
API to match.
Bug: 5778365
Change-Id: I3cc64b1d1ff567dbac8020a665d5b19846197ff3
Put enhancements on data stall polling logic in ICS so that
stall recovery can kick in earler while screen is on.
Bug: 5767897
Change-Id: I4683fc45c0161f4374749c8e5840261c19a48f77
Cherry pick of If2793f31cb37e0d3af15cb18e818bfa4058167fd
If WebSettings is configured to disallow access to file://
URLs, then block them.
Bug: 5773763
Change-Id: I0ab84cde90c955d31077329fddebc25978287c64
...rotating to landscape
When doing spell checking in the same process as the spell checker, we
need to make sure it is still done asynchronously.
Putting this in I noticed quite a few threading issues in this code, so
I also addressed those (which became very obviously a problem with the
async stuff here now).
Also tweaked the service side to run spell checking at background priority.
Change-Id: I01bafe3bec6bceeca911d6bf2f61a486a2fd4c48
Bug 5755099
In extracted text mode, we spell check the background and the foreground
edit text. All changes in the background are already propagated to the
foreground, and updates on the foreground may trigger a spell check
of the entire text since we use setText.
Change-Id: Ie44c3d9113258082ac6df5890851d0e21c702ea2
Bug 5753061
https://android-git.corp.google.com/g/#/c/154756/1 revealed an
other bug in SpanSet. The fitered (non empty) spans were added
in their original position instead of being indexed by count.
The nullation on recycle hence left null holes in the array.
Change-Id: If5c1435cee9a2cb88a608aa8e5f4f2f23382154c
We need to work more like before in determining whether the menu
key is needed -- in some cases look back in the window list to
determine this if we don't know the value from the current window.
This requires adding a new private flag indicating whether the
compat menu state is known for a window, which is set by
PhoneWindow as part of its existing process of computing the flag
for its own windows.
Now we can have a new API on WindowState to determine the value
of this flag for a window, which if needed walks back in the window list
to find a window the value is known for (or stops at what the policy
has determined is the top full-screen window, so we stop like we used
to at things like the lock screen or the bottom of an application).
Change-Id: I829de6d629b5af8bcb422cb85249ee4041c7205e
Update some of the platform documentation to directly link to
relevent support lib docs. Yay!
Also improve BroadcastReceiver documentation to more clearly
discussion security around receivers, and how the support
lib's LocalBroadcastManager can help.
Change-Id: I563c7516d5fbf91ab884c86bc411aff726249e42
Bug 5740435
The new SpanSet cached objects should be recycled when the TextLine is
recycled to prevent a reference to their span, which may lead to the
entire activity.
Change-Id: I4469e418a228bd71eb8be1d43ed86de49baba165
Bug 5738416
This problem was introduced in
https://android-git.corp.google.com/g/#/c/152599
The invalidated cursor region is no longer expanded to include the
cursor drawable (different from the handles' drawables).
Added that code back. Added a flag, since invalidateRegion is also
used to invalidate text span regions in spell check (assumes the decorated
span bounds are not bigger that text boundaries), which is fine in case
of underline.
When the cursor is moved on a single line, invalidate the whole line
(same as what was done before). This is sub-optimal, will file a bug
to fix this. The core problem is that we should invalidate the previous
and the new cursor's positions. We only have one of these.
Change-Id: I9ada9340fb52aad3d80c39efd021fd3f9ec0cc4d
CTS test revealed that persistSwitchSetting could take more than 1 second.
STATE_TURNING_ON intent missed the test timing. We move the broadcast
before persistSwitchSetting
bug 5740715
Change-Id: I54a0a0afc8d1c4fc28f84e6122809af2f1456ca7
Limit each parse to batches of a few words, to keep the UI thread
responsive.
Possible optimizations for the future:
- SpellCheck in a thread, but that requires some locking mecanism
- Only spell check what is visible on screen. Will require additional
spans to tag the pieces of text.
This is a cherry pick of 145656 into ICS-MR1
Patch Set 2: Make the Runnable shared and stop it when detached.
Change-Id: Ibf8e98274bda84b7176aac181ff267fc1f1fa4cb