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
Floating toolbar is now rendered as TYPE_APPLICATION_ABOVE_SUB_PANEL.
This causes the FloatingToolbar to be rendered in a layer above
the text selection handles (at layer TYPE_APPLICATION_SUB_PANEL.)
Bug: 20135562
Change-Id: I1484b3493bf4cd98c679eb222270c53daa46cdf4
Also removed some legacy bluetooth energy collection
that was never invoked.
Also fixed an issue with Wifi scan power estimation.
Bluetooth energy recording is still disabled as strange results
are still reported.
Change-Id: Iafa37eba285fd933ff221116b14af260e904fa4f
History now records when wifi data activity starts and "ends"
based on the triggers we get from the kernel used to determine
when to collect data. (Basically the same as the current cell
data, but of course when it ends is just an arbitrary x seconds
after the last data traffic.)
Re-arranged the state bits to make room for this data in the
right place and move some other things that make more sense to
have in states2.
Try to improve overflow handling, so when it happens we allow
the various bit states to drop to 0 instead of being stuck
active for an indeterminant amount of time.
Added recording of the points where we decide we want to
retrieve new power stats, giving the reason for doing so.
These are only recorded when full logging is turned on.
Change-Id: Ic5d216960a07e0eb658731cdfba7f49ad3acf67e
Hand-waves the default interpolators for efficiency's sake until we can
implement interpolator caching or preloading.
Change-Id: Ibc618a0c092b08a33fb91265ec15665c94831b6b
enabled
Some users run into a problem when choosing a secure screen lock with
accessiblity enabled that they will not be warned the screen lock may
not be available when they unlock their devices. One cause is
REQUIRE_PASSWORD_TO_DECRYPT is not set back to false when users choose
to use an insecure lock screen. So when they decide to change back to a
secure screen lock, the warning message will not be shown.
Bug: 18799150
Change-Id: I52bdc93e7a5ce3c4f7715057c73b4de280b443f6