- Add system condition provider for calendar event-based rules.
- Add stub condition provider for handling event conditions.
- Add various shared items to support new settings subpage.
Bug: 20064962
Change-Id: I6f5afe0f1444976f0dc6807048e0580e8a28070e
The whitelist is now maintained by DeviceIdleController,
which is moving out into its own independent system service.
Network stats now queries it for the whitelist, instead of
collecting that itself.
Also did a few improvements in alarm manager -- made the
code for moving alarms out of the pending list more robust,
and fixed the debug output to always print the contents of
the pending list even if we aren't in a pending state. (That
would have helped me identify the problem much earlier.)
Change-Id: I0f7119d4c553c3af4d77b2f71246fa6e2c13c561
Also fix off by one error that occurred if a SysEx message ended
in the middle of the buffer being processed.
Change-Id: I055f005610c7b091012a30b306786114c5d9bf8d
Add the caller-supplied ChooserTargets from EXTRA_CHOOSER_TARGETS in
the default ChooserActivity. These appear before other options.
Change-Id: Ic4d23ae9ecdfd0cc8a5ac077696d7334a8f844a6
We ran out of space for new disable flags, so need to introduce a
disable2 API into StatusBarManager and update all the underlying code
to support the second set of flags.
Bug: 20331928
Change-Id: I5009b393133c576b37d7e2bae0df97cb8c41a065
Gus's original change description:
This change modifies the logic in SwipeDismissLayout which determines
whether or not a gesture should be interpreted as a dismiss
gesture.
Previously, on the first touch move event, the gesture was classified
as a dismiss gesture if the X movement exceeded the touch slop
and the Y movement did not. At this point the gesture was not
intercepted and the underlying widget (in the case of the cue
card, the GridViewPager) received all subsequent move events.
In the case of a very fast gesture at a slight vertical angle, it was
easy for the total Y movement to exceed the touch slop.
This change only rejects the gesture if the Y movement exceeds
the X movement, which is consistent with how GridViewPager
distinguishes horizontal vs. vertical swipes.
This change also cancels the dismissal if the end of the gesture
is a leftwards flight.
BUG: 20542762
(Same as b/20350515 but for Activity dismissal at the system level.)
Change-Id: I6e3fb646c42dda0d1c1f5552d91b27c6374fc08c
Since package and primary storage movement can take quite awhile,
we want to have SystemUI surface progress and allow the Settings
app to be torn down while the movement proceeds in the background.
Movement requests now return a unique ID that identifies an ongoing
operation, and interested parties can observe ongoing progress and
final status. Internally, progress and status are overloaded so
the values 0-100 are progress, and any values outside that range
are terminal status.
Add explicit constants for special-cased volume UUIDs, and change
the APIs to accept VolumeInfo to reduce confusion. Internally the
UUID value "null" means internal storage, and "primary_physical"
means the current primary physical volume. These values are used
for both package and primary storage movement destinations.
Persist the current primary storage location in MountService
metadata, since it can be moved over time.
Surface disk scanned events with separate volume count so we can
determine when it's partitioned successfully. Also send broadcast
to support TvSettings launching into adoption flow.
Bug: 19993667
Change-Id: Ic8a4034033c3cb3262023dba4a642efc6795af10
* Always ensure intent filter is supplied to a ChooserTargetService.
* Add and clarify docs for ChooserTarget constructors.
* Fix a bug where ChooserTargets were being parceled incorrectly.
Change-Id: I32b70c424b0e6bb317e2eeb810566a30c21b9d53
*Finer cancel animation methods so we call only the necessary ones.
*Don't set the FloatingToolbarPopup content view's alpha to 0
before showing it's popup window.
*FloatingToolbarPopup.dismiss() should run when toolbar is hidden.
Bug: 20456876
Change-Id: I2e7ff5f2ec56af2def0976fa8e770c651daaa3a3
Lays out ViewPager in the opposite direction when in RTL mode, e.g.
the first item's starting edge is laid out at the largest possible
scrolling distance. This preserves both the meaning of positive
scrollX values and the meaning of positive adapter positions.
Also removes clickable attribute from DayPickerView since it has a
virtual view hierarchy.
Bug: 19408740
Bug: 20134073
Change-Id: Ib6f945335bd88da59c8c593c7c270e290e15d0a5
The floating toolbar is rendered inside a transparent popup window
so that we can have smooth animations inside of the window (NOTE that
animating a view and a window at the same time do not work well as
both are not in sync.) Having a transparent window implies that we
can't get touch events through to the content below the window for
areas covered by the transparent window. To handle this issue we
"burn a hole" through the window by specifying it's "touchable area".
This is done using the mInsetsComputer which is set on the popup
window's root view's tree observer. When the popup is dismissed and
re-shown, we need to reset the mInsetsComputer as we most likely
won't have that root view any longer.
Change-Id: I13ea50bc19950180d339d05d82cbee03230e2f05
They can be Very Very Large, so take advantage of the new BlobBackupHelper
infrastructure to keep them tiny!
Also fix an issue in which the restore path wasn't properly passing
notification payloads along for processing, and an issue in which the
blob helper wasn't handling empty states properly.
Change-Id: I11a7ca3cd2e26f634a8971e874ac97385b0b500c
A new flag for DPM.resetPassword() method that specifies that the
device should be decrypted without asking for the password or pattern.
Bug 19250601
Related CL in Settings App: https://googleplex-android-review.git.corp.google.com/#/c/670206
Change-Id: I9ca3472dc18e66e618ff772dee16ca4a450e9997
Use the three-argument version of Class.forName. This saves an
expensive stack lookup for the caller's class-loader on each
invocation.
Bug: 19498458
Change-Id: I859affde31e580fd2de3f70ee0a9295936c2d9f4
Introduce a fairly general "store byte[] blobs as backup keys" helper, and
use that to integrate with the Notification Manager. The helper provides all
the machinery of managing prior state, compressing the blob on the wire, etc.
Bug 19848954
Bug 20105530
Bug 17755700
Change-Id: I4aa808172244af6db0ab2f4440cc266a797655d7
This CL makes sure animations don't conflict with one another.
Cancelling an animation should also set the animating object to
the end state.
Change-Id: Ib74515bb99090ce11a6ccd840aba0baee9fc1bf5
Adds logic to ExternalStorageProvider to scan non-visible volumes,
such as USB OTG devices. We use internal paths when surfacing these
volumes, which also optimizes around the FUSE daemon for public
devices. Also dumps internal state when requested.
VolumeInfo now directly contains DiskInfo, which means it's
snapshotted when sending events, avoiding teardown races. Switch
notifications to use this DiskInfo directly.
Finish wiring up new volume state, including helper methods to make
it readable/writable state clearer. Handle disks and volumes with
spaces in their labels.
Bug: 19993667
Change-Id: I5c75e5658a6415976811477aebafee7694bde0f4