Commit Graph

8209 Commits

Author SHA1 Message Date
Philip P. Moltmann
61b0f84005 Merge changes from topic 'backportSharedpreferencesSpeedUp' into nyc-mr2-dev
* changes:
  Do not write if apply() did not change the file.
  Only persist last Shared Preferences state
2016-12-14 18:13:34 +00:00
Philip P. Moltmann
ea10cc0fbb Do not write if apply() did not change the file.
Bug: 33385963
Test: SharedPreferences CTS tests
Change-Id: I39955f8fbcdaa54faa539a3c503e12cb00808136
2016-12-14 01:00:37 +00:00
Philip P. Moltmann
31d6889f4c Only persist last Shared Preferences state
If multiple async shared preferences writes are queued, all but the
last one can be ignored as they will be overwritten by the last one
anyway.

For commit() we need to make sure that we have at least persisted the
state of the commit.

Generation counts are 64 bit, hence they never overflow.

Test: Produced a lot of SharedPreferences.Editor.apply and did not see
excessive writes anymore, ran SharedPreferences CTS tests
Bug: 33385963
Change-Id: I3968ed4b71befee6eeb90bea1666a0bb646544f6
2016-12-14 00:56:03 +00:00
Michal Karpinski
e3639a0a07 DO NOT MERGE Fixes in comments for NetworkEvent, DnsEvent and ConnectEvent
Test: the APIs will be tested by CTS when unhidden
Bug: 29748723

(cherry picked from commit da9d3ad3ac)

Change-Id: Iaff05eb6d4a2fd12e0271c703d694ecfc0dc9a17
2016-12-13 17:25:49 +00:00
Michal Karpinski
0c4ec00f85 DO NOT MERGE Fix Lint errors for network logging API
Bug: 29748723

(cherry picked from commit 0879eb41ca)

Change-Id: I187aa5b96c283323edb6a1ebe5005d70e19bf563
2016-12-13 17:25:24 +00:00
Michal Karpinski
bbf352a2c1 DO NOT MERGE [DPM] DO uses batch token to retrieve network logs, and can retrieve
the same batch many times

This allows DO to:
a) know that some logs were dropped (by trying with token and not
getting anything)
b) know how many logs were there in each batch (useful especially
for the dropped ones)
c) retry batch retrieval if it failed

Test: will be CTS tested once APIs unhidden
Bug: 29748723

(cherry picked from commit a9ff206af2)

Change-Id: Iac10e61cdf3b100719a9c029ff897bd5ef5c8e2f
2016-12-13 17:22:07 +00:00
Michal Karpinski
4c47adef60 DO NOT MERGE [DPM] Management and retrieval of network logs
This CL follows up on ag/1530343 and adds:
1) Various network events.
2) Retrieval method in DPM and APIs in DeviceAdminReceiver.
3) Extension of NetworkLogger and it's NetworkLoggingHandler.

Test: runtest --path frameworks/base/services/tests/servicestests/src/com/android/server/devicepolicy/NetworkEventTest.java
Bug: 29748723
Change-Id: I42a1a477e7c75c109a3982f809c22732b814e8b2
2016-12-13 17:19:22 +00:00
Michal Karpinski
c3abd34cfe DO NOT MERGE [DPM] DO can start network logging and listen for events
This CL adds:
1) Setter and getter in DPM to manipulate logging switch (retrieval
method to come in a subsequent CL(s)).
2) A way for DPM to register to listen for events.
3) Skeleton of NetworkLogger class (more to come in subsequent CL(s)).

Bug: 29748723
Change-Id: I5c04662ccc6febd2ba294b0eaca1ed1da9c16e47
2016-12-13 17:15:38 +00:00
Jeff Sharkey
20db11cfda Fix two StrictMode stack collection bugs.
When Binder calls are nested, we can quickly end up with a snowball
of stacktraces that can cause the original transaction to fail.  This
CL makes two specific changes to alleviate this pressure:

-- Consider a nested Binder call from PID A -> B -> C.  If both B and
C encounter dozens of StrictMode violations, then gatheredViolations
in B will end up with 10 ViolationInfo (5 from B and 5 from C).  This
problem only grows with each successive nested call.  To solve this,
always limit ourselves to only ever write out 3 ViolationInfo from
any given process.

-- CrashInfo already nicely truncates any large stack traces to 20kB,
but readAndHandleBinderCallViolations() blindly appends the entire
local trace, and never considers truncating again.  Similar to the
first problem above, nested calls can quickly cause the stackTrace
value to explode in size.  To solve this, we always re-truncate the
stackTrace value after appending our local stack.

Also fix some NPE bugs when missing crashInfo.

(cherry-picked from commit 58f27b5033)

Test: builds, boots
Bug: 32575987
Change-Id: Ie8373ca277296f920f2b1c564d419c702a8ee0f2
2016-12-07 08:58:38 -08:00
Ned Burns
7d6cb913de Modify SwipeDismissLayout to perform its own exit animation
Instead of relying on the window animation system, in the special
case of a swipe-dismiss, disable any default window exit animation
and perform a custom animation. This bypasses some bugs in the
window animator codebase and allows us to have a nice "rebound"
animation if the user doesn't swipe far/fast enough to trigger a
dismiss.

Bug: 33041168
Change-Id: Ied45700d35a59950bacef1ba0650eaa5bc60fadb
2016-12-05 19:38:14 -05:00
Michael Kwan
f7964be938 Disable swipe-to-dismiss for not cancelable dialogs.
Bug: 33249829
Change-Id: Ib3d2c9982ece22d1b080b821eaf306f6b686d099
2016-12-02 17:33:56 -08:00
Jeff Sharkey
2b7584f5b1 DO NOT MERGE: Check provider access for content changes.
am: c813f5dae2

Change-Id: I939bca8887198e2578916356d49b0f2f0a2bf3d2
2016-12-02 18:19:46 +00:00
Nancy Zheng
43f166dfb4 Fix createConfirmDeviceCredentialIntent for wear for CTS.
Bug: 33000237
Change-Id: I1fdb5a518c41ab005f12d3142763e374b38d7553
2016-11-18 18:15:09 -08:00
Jeff Sharkey
c813f5dae2 DO NOT MERGE: Check provider access for content changes.
For an app to either send or receive content change notifications,
require that they have some level of access to the underlying
provider.

Without these checks, a malicious app could sniff sensitive user data
from the notifications of otherwise private providers.

Test: builds, boots, PoC app now fails
Bug: 32555637
Change-Id: If2dcd45cb0a9f1fb3b93e39fc7b8ae9c34c2fdef
2016-11-17 21:02:31 +00:00
Adam Lesinski
f02523bf4b Fix regression with defaultDisplay adjustments
ag/1542219 introduced a regression where if the display was the default
display, the configuration would still be adjusted as if it were
a non-default display. This fixes that logic to only adjust the
configuration if the display is non-default.

Bug:32133693
Test: cts-tradefed run cts --module CtsServicesHostTestCases --test android.server.cts.ActivityManagerAppConfigurationTests#testConfigurationUpdatesWhenRotatingToSideFromDocked
Change-Id: Ib2fda8c1651609efa9d20b3e2dace8a122864916
2016-10-18 20:13:57 +00:00
Adam Lesinski
4309721843 Update DisplayMetrics even on default display
Fix a bug where the DisplayMetrics wouldn't be updated for a Resources
object on the default display. Since multi-window, we want to update
all Resources.

This didn't always manifest itself due to recreation of assets, which
would force an update of DisplayMetrics. Re-use of an AssetManager from
the cache would expose the bug.

Bug:32133693
Bug:31998629
Test: cts-tradefed run cts --module CtsServicesHostTestCases
Change-Id: Ic51ab82710517b87eb995ccf982085dba876ad58
2016-10-14 18:16:18 +00:00
TreeHugger Robot
a6b3caf58e Merge "Don't expose default strong auth timeout as constant" into nyc-mr1-dev 2016-10-13 22:47:30 +00:00
Christopher Tate
da2018efeb Only full-data back up regular files + directories
Ignore every filesystem entity that is not a regular file or directory.
In particular, we now ignore not only symlinks but also sockets, pipes,
et cetera.

Bug 32143362

Change-Id: If51b54df1f7a643af145eb15bf12d389d19f8780
2016-10-13 12:19:45 -07:00
Adrian Roos
7af5362571 Fix Notification.Action.Builder copy constructor
The copy constructor of Notification.Action.Builder did not copy
the mAllowGeneratedReplies field.

Change-Id: I40fbe8950ee2232e2589ab3930a32bfbebe9fc89
Fixes: 31766718
Test: runtest --path $T/cts/tests/app/src/android/app/cts/NotificationTest.java
2016-10-12 15:19:55 -07:00
Michal Karpinski
6dbf67fc48 Don't expose default strong auth timeout as constant
The admin can instead use the value of 0 to reset to default.

Test: runtest --path frameworks/base/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java

Bug: 31430135
Change-Id: I0d6b29ca4eca65d7ca72a8975a0c28c9050a946c
(cherry picked from commit 943aabd11c)
2016-10-12 09:34:12 +00:00
TreeHugger Robot
67c70a263c Merge "Updates documentation for MessagingStyle constructor" into nyc-mr1-dev 2016-10-07 20:34:50 +00:00
Rob Carr
93becf5148 Merge "When adding dialog window but not creating update the configuration." into nyc-mr1-dev 2016-10-07 19:16:02 +00:00
Alex Hills
fd590441c1 Updates documentation for MessagingStyle constructor
MessagingStyle expects the field userReplyName to be non-null, but the
documentation doesn't describe it as such. This updates the documentation
to say the field is required, and adds a NonNull annotation.

This has no behavior changes.

BUG:31747744
Change-Id: If832d059c276e856fba366dabfa8a5821bb63054
2016-10-07 15:44:23 +00:00
Robert Carr
d7dbec7e4c When adding dialog window but not creating update the configuration.
When we dismiss the dialog as opposed to hide it, it is removed
from the local WindowManagerGlobal's list of ViewRoots. Thus it stops
receiving configuration changes. When first adding a ViewRoot it will
pull the configuration from the context, but in this case
we are reusing one which has already been added and removed
and no such action will occur.

Bug: 31004614
Change-Id: Ie247bcf1a14caf4a42413c6813e337aa4c88e3e4
2016-10-05 13:44:36 -07:00
Chris Tate
ee28c8c22c Merge "Explicitly close FD binder parameters in backup/restore API calls" into nyc-mr1-dev 2016-10-03 21:06:22 +00:00
Hemal Patel
63b5e3ddd1 Docs: Fixed the Service link am: 1918214589
am: eb21088b67

Change-Id: Ia687d1ba27eee87abe412e8a8dd11e49e5f02100
2016-10-01 01:54:45 +00:00
Hemal Patel
eb21088b67 Docs: Fixed the Service link
am: 1918214589

Change-Id: Icfd4e033b7ef9bd915f106abc789f11fb4ede301
2016-10-01 01:45:58 +00:00
Christopher Tate
91bb0e5cca Explicitly close FD binder parameters in backup/restore API calls
CloseGuard is grateful.

Bug 30893100

Change-Id: Ia6bd4d88204839add59d9d245aad673d67b11bea
2016-09-30 17:52:19 -07:00
Hemal Patel
1918214589 Docs: Fixed the Service link
Bug: 29086415
Change-Id: Id9505ade39c19eb817f556d72f689568148e1782
2016-09-30 14:59:23 -07:00
TreeHugger Robot
b0216412a2 Merge "Add count of WebView instances to meminfo" into nyc-mr1-dev 2016-09-26 14:33:31 +00:00
Alan Viverette
2525b0dab3 Merge "Allow developer to override Material-style modes in picker dialogs" into nyc-mr1-dev 2016-09-23 19:29:54 +00:00
Miao Wang
6b5d4723d2 Merge "Enable shader cache for applications that shared UID with multiple packages too" into nyc-mr1-dev 2016-09-23 17:28:54 +00:00
Michal Karpinski
69659cb96d Merge "Fingerprint Strong auth timeout" into nyc-mr1-dev 2016-09-23 07:01:51 +00:00
Chris Tate
bd2a00f848 Merge "Fix crash in clearWallpaper()" into nyc-mr1-dev 2016-09-22 22:10:13 +00:00
Chris Tate
0bb29a8981 Merge "Add hidden intent extra about service availability" into nyc-mr1-dev 2016-09-22 21:58:30 +00:00
Christopher Tate
a2bd512034 Fix crash in clearWallpaper()
The underlying clearWallpaper() service method demands that only a
single kind of wallpaper be specified as the target; but a recent
patch attempted to expand the client-side legacy method to apply to
all kinds of wallpaper, incorrectly.  This patch corrects that client-
side code to do things properly.

Bug 30456015

Change-Id: I0a881957b881206e5eb775c6879ba90f10f9ffb0
2016-09-22 13:18:05 -07:00
TreeHugger Robot
6b87569b4c Merge "Null check for restoring LoaderManagers" into nyc-mr1-dev 2016-09-22 19:29:25 +00:00
TreeHugger Robot
8da796d0b8 Merge "Save activity state before stopping acitivity when device sleeps" into nyc-mr1-dev 2016-09-22 19:27:27 +00:00
Adam Powell
100ba76d7a Null check for restoring LoaderManagers
Bug 31671195
Test: core/tests/coretests/src/android/app/LoaderLifecycleTest.java

Change-Id: Ib553f7611814cc6759488aec505fd126ee664a9d
2016-09-22 10:53:45 -07:00
Shuo Gao
1e6d77e836 Enable shader cache for applications that shared UID with multiple packages too
Bug: 31224514

Frameworks supported a mature mechanism for shader cache per each package already,
but as a special case such as Settings APP, if there are several packages in this
application which means that multiple packages shared the same SharedUserID with it,
it won't initialize the graphics disk caches, thereby APP like Settings have to
rebuild and relink shader every time during launch, which cause a bad launching
performance, so here to enable the GFX and RS cache initialization for multiple
shared packages case too.

Change-Id: If0f927e3399b775804abf1d9a868887951f471c5
Signed-off-by: Shuo Gao <shuo.gao@intel.com>
Signed-off-by: Zhiquan Liu <zhiquan.liu@intel.com>
(cherry picked from commit 7c69a669a5)
2016-09-22 10:46:49 -07:00
Vladislav Kuzkokov
dd6230d466 Merge "Add DevicePolicyManager.setBackupServiceEnabled as hidden API." into nyc-mr1-dev 2016-09-22 17:09:06 +00:00
Alan Viverette
8817aa9339 Allow developer to override Material-style modes in picker dialogs
A recent fix prevented developers from specifying Holo-style mode when
displaying a date or time picker dialog. This CL also cleans up unused
code in TimePickerDialog and documents how themeResId will be used.

Adds hidden @TestApi methods for use in CTS tests. These may be made
public later, but it's too late in MR1 for API changes.

Bug: 31586821
Test: Ice2e203983769f1ea1cfa93105eb97b6fa5176b9
Change-Id: I1b7512b7647ddd7ab987beac2c0aef4fe7cc16bc
2016-09-22 11:16:22 -04:00
Wale Ogunwale
b5066fe307 Save activity state before stopping acitivity when device sleeps
Makes it consistent with the regular stop code path and allows
for the activity to be relaunched with the right state if a
relaunch happens after stop due to sleep.

Bug: 30241363
Change-Id: I92edfe6e0e3f5c7ce3b56d49df31e601a798cd4f
2016-09-22 07:32:40 -07:00
TreeHugger Robot
33c9713bdd Merge "Don't hold old host callback for fragments on the back stack" into nyc-mr1-dev 2016-09-22 00:50:00 +00:00
Christopher Tate
38c9c30640 Add hidden intent extra about service availability
Backup has some subsidiary UI needs that are vendor specific,
and policy state is not readily observable from there.  We
therefore inform the sublaunched UI explicitly about the state
via an intent extra in the launch intent (rather than requiring
an API call from the launched UI).

Bug 30126678

Change-Id: I37f9530edbc00eea6c96f2c9fd67e878c07068c9
2016-09-21 17:18:10 -07:00
Adam Powell
180202f221 Don't hold old host callback for fragments on the back stack
LoaderManagers configure their host callback lazily as their
associated fragment is brought up through its lifecycle states. In the
case of fragments on the fragment back stack this could happen very
late, if at all. As a LoaderManager's host callback references the
host Activity, this means that a LoaderManager could keep a destroyed
Activity reference alive.

Update the host callbacks of all LoaderManagers eagerly during the
restore non-configuration instance phase.

Bug: 30653222
Test: core/tests/coretests/src/android/app/LoaderLifecycleTest.java
Change-Id: I5d2b81daae5e7cae429fcf4934e64b3ce281140c
2016-09-21 15:47:06 -07:00
Edward Savage-Jones
6009d9db88 Fix WallpaperManager APIs
When support for lockscreen wallpapers was added in API level 24 the
behaviour for earlier API versions changed. Calls to the old 'set' APIs
no longer affect the overall device wallpaper, and can result in an end
user not being able to change their lockscreen wallpaper.

This upload restores the original API behaviour.

Bug: 31204228
Bug: 30456015
Change-Id: Ia16d2e2e379c54d798eef8f5c653099c2c581d78
2016-09-21 15:13:39 -07:00
Julia Reynolds
d0f20c2bbd Merge "Null check action cloning." into nyc-mr1-dev 2016-09-19 20:35:34 +00:00
Dianne Hackborn
da6be5b871 A little more on issue #30766518: Document what targeting N does
(cherry picked from commit 5f1649e852)

Change-Id: Ieaad1f3ddfa7ef3444e3b513181555f87ecb8c3f
2016-09-19 20:05:07 +00:00
Dianne Hackborn
491bc2b8d6 Cherrypick so we can publish N version code description ASAP
Fix issue #30766518: Document what targeting N does

Also small documentation cleanup in a few other places.

(cherry picked from commit b34cbedb4e)

Change-Id: I9560b29faa4f2674277349272af8193122a1f95e
2016-09-19 19:31:19 +00:00