Commit Graph

10052 Commits

Author SHA1 Message Date
TreeHugger Robot
11c80cf32b Merge "Lifecycle guarantees for target fragments" 2017-01-27 02:45:17 +00:00
TreeHugger Robot
416903e7c4 Merge "Unhide ApplicationInfo.volumeUuid." 2017-01-27 01:34:40 +00:00
Adam Powell
ab209a63a2 Lifecycle guarantees for target fragments
Ported from frameworks/support change id
I824eb312fbdfd6b548fe94aa2cd5b03afbaa97c7

When a target fragment was set using Fragment#setTargetFragment, all
bets were off, especially when restoring from instance state. Order of
lifecyle initialization was undefined meaning that two bugs could
occur, both of which manifested as the target fragment was not
initialized by the time the referring fragment's onCreate ran. One
could happen if the target fragment is on the back stack, the other
could happen if the target fragment was ordered unfortunately in
FragmentManager implementation details. (!)

Fix both by guaranteeing that any target fragment gets pushed forward
to at least the CREATED state before we dispatch any lifecycle events
for the referring fragment.

Add some sanity checks that try to keep developers from setting target
fragments across different FragmentManagers or from creating target
cycles, both of which are bad ideas.

Bug: 33653458
Test: CTS FragmentLifecycleTest
Change-Id: If624d4665d29e205d37b9b384322e64d6d6d3615
2017-01-27 00:52:26 +00:00
Jeff Sharkey
6112860c5c Unhide ApplicationInfo.volumeUuid.
Apps need it to interact with the new StorageStatsManager APIs.

Test: builds, boots
Bug: 34723750
Change-Id: I274d5bd425cd401e10647959ba18f9956628d810
2017-01-26 17:08:40 -07:00
Amith Yamasani
dacf5e522e Merge "Add NPE check before stopping profiler" 2017-01-26 23:04:07 +00:00
Amith Yamasani
b1684439b5 Add NPE check before stopping profiler
During crash scenarios, stopProfiling() could be called early.

Change-Id: I6ef78a47e3431dd7c41198ec29d40ebef3928c6a
Fixes: 34744398
Test: N/A
2017-01-26 14:58:26 -08:00
Jeremy Joslin
8077e15563 Minor javadoc cleanup.
Test: none
Change-Id: Iaf1206767a6d0dc7a045a8fd6dc2a992ca6f3f1b
2017-01-26 11:30:37 -08:00
TreeHugger Robot
9e77aefe9c Merge "[Frameworks] Add an 'am' cmd option to enable streaming in profiling." 2017-01-26 18:08:40 +00:00
Geoffrey Pitsch
60eef134af Merge "New constructor for Notification.Builder takes a channelId." 2017-01-26 14:15:16 +00:00
TreeHugger Robot
132dffbc83 Merge "Animate starting work challenge from work lock" 2017-01-26 12:49:27 +00:00
TreeHugger Robot
bcf3b70371 Merge "Adding an api for apps to check whether they can install apps" 2017-01-26 07:35:33 +00:00
Android Build Merger (Role)
cefb76ad2e Merge "Fix @links in reference docs. am: 54de77470d am: ab978c035e am: 28ba4722a9 am: 9b21265b2c" 2017-01-26 04:50:16 +00:00
Elliot Waite
0ce4b0e4c3 Fix @links in reference docs. am: 54de77470d am: ab978c035e am: 28ba4722a9
am: 9b21265b2c

Change-Id: If246ebdb36cf2832d5a6c42cbe752e290b6fb6e8
2017-01-26 04:49:33 +00:00
TreeHugger Robot
de3b86e73e Merge "Add notification channel groups." 2017-01-26 04:49:31 +00:00
Elliot Waite
9b21265b2c Fix @links in reference docs. am: 54de77470d am: ab978c035e
am: 28ba4722a9

Change-Id: I98177a8cf0a20677e140406bb7371474ca259e5b
2017-01-26 04:44:54 +00:00
Elliot Waite
28ba4722a9 Fix @links in reference docs. am: 54de77470d
am: ab978c035e

Change-Id: If0d0613362e0ea95cf48eaf9a16d3eea48b589ea
2017-01-26 04:39:57 +00:00
Elliot Waite
a54b54f50c Merge "Fix @see tag." 2017-01-26 04:37:37 +00:00
Elliot Waite
ab978c035e Fix @links in reference docs.
am: 54de77470d

Change-Id: Id38c30bad13d6b61ed504a06471b9f197b360f7b
2017-01-26 04:34:57 +00:00
Jorim Jaggi
c710accde0 Merge "Flip task snapshot flag" 2017-01-26 02:24:44 +00:00
TreeHugger Robot
ca19e3278b Merge changes I818e8db9,Ie24468be
* changes:
  Added a new API to colorize notifications
  Modified the interpolators when opening an ambient notification
2017-01-26 02:06:06 +00:00
Suprabh Shukla
aef2513c71 Adding an api for apps to check whether they can install apps
Some apps may want to check whether they are trusted to install apps on
the device, so they can prompt the user to go to settings and mark them
as trusted before they do an intensive operation like downloading an
apk.

Test: cts-tradefed run cts -m CtsExternalSourcesTestCases

Bug: 31002700
Change-Id: Icd9d04daa157e6733decba245ec251ce4acd4122
2017-01-25 17:26:02 -08:00
Elliot Waite
d5ed3bc5f3 Fix @see tag.
Test: make ds-docs

Change-Id: Iefdc92a7139155eccca11a5393da6f31d8603322
2017-01-25 17:23:29 -08:00
Elliot Waite
54de77470d Fix @links in reference docs.
Change-Id: I40cea46efd80c448640ff69753698fe8404da40b
2017-01-25 17:00:55 -08:00
Shukang Zhou
6ffd4f9bab [Frameworks] Add an 'am' cmd option to enable streaming in profiling.
Add option '--streaming' to 'am start' and 'am profile' commands.
If the option is given, the output of method trace profiling
will be streamed into the specified file, so the output is no
longer limited by the buffer size.

Test: m -j48 test-art-host;
m -j48 ART_TEST_TRACE=true ART_TEST_TRACE_STREAM=true test-art-host;
I also tested manually. Tried all 8 combinations of
    sampling/instrumention
    streaming/non-streaming
    'am start --start-profiler' / 'am profile start'
The output files are all in expected shape.

Bug: 33300765

Change-Id: I8a5136a1c7330c8260b7c6c8da63f42a73aee275
2017-01-25 16:54:27 -08:00
Julia Reynolds
59e152e92e Add notification channel groups.
Test: runtest systemui-notification, cts
Change-Id: I3ed82f2b20d3f791b7cae379a49373cb41231739
2017-01-26 00:01:06 +00:00
Selim Cinek
7b9605b79c Added a new API to colorize notifications
Ongoing notifications can now be colorized.
This will use the color provided as the background
and invert most text colors

Test: runtest -x cts/tests/app/src/android/app/cts/NotificationTest.java
Bug: 34469375
Change-Id: I818e8db96c868d8bcde8f28c253efd581eeccaa2
2017-01-25 15:31:53 -08:00
phweiss
73145f4e60 Create public API for policy transparency outside of Settings
The new DPM.createAdminSupportIntent() returns an intent that shows the
"This action was disabled by your admin"-dialog from settings.
This enables apps to inform the user about the cause of restricted
functionality.

A new extra for the intent allows to specialize the dialog for different
restricted features, instead of a generic message for all features.

Bug: 31215663
Test: runtest -c com.android.server.devicepolicy.DevicePolicyManagerTest frameworks-services

Change-Id: I3de7aeec0f88b8f013a63957aec803cd123fbedc
2017-01-25 22:20:46 +01:00
Selim Cinek
6825542381 Merge "Started visual hierarchy for min priority notifications" 2017-01-25 19:53:49 +00:00
TreeHugger Robot
000f7cd646 Merge "Initial IME integration." 2017-01-25 19:44:33 +00:00
TreeHugger Robot
13fd7f1899 Merge "Fix issue with PiP hiding when dragging divider." 2017-01-25 19:31:56 +00:00
Robin Lee
5d59242c2e Animate starting work challenge from work lock
Bug: 31001762
Test: adb shell service call trust 6 i32 10 i32 1 && adb shell am start -a com.android.systemui.recents.TOGGLE_RECENTS
Change-Id: Ic6c622c32718bd235eb71704881b853072383dba
2017-01-25 19:19:33 +00:00
TreeHugger Robot
fbcb01cde7 Merge "Move theme out of tuner and into display settings" 2017-01-25 19:17:22 +00:00
TreeHugger Robot
b93ecbae57 Merge "MessagingStyle: Add historic messages" 2017-01-25 18:47:20 +00:00
Edman Anjos
452efaac32 Merge changes I50d2903e,Ieb347ce3
* changes:
  Add DPMS delegation scopes.
  Add block uninstall delegation in DPMS.
2017-01-25 18:00:03 +00:00
Jason Monk
524fb4025e Move theme out of tuner and into display settings
Change-Id: Id939a8a34e92c6190c59317155238697861a65e5
Fixes: 34682466
Test: Manual
2017-01-25 12:32:07 -05:00
Adam Lesinski
9aa513bf95 Merge "Add support for Split APK dependcies" 2017-01-25 16:56:51 +00:00
Adrian Roos
437cd56a7f MessagingStyle: Add historic messages
Adds an API to supply additional context to a Notification that uses
MessagingStyle. To be used in the future to enhance the Direct Reply
experience.

Test: runtest cts
Change-Id: I6da0b9067cbffbaae2bd3c5d9606a0b5437f1ed4
2017-01-25 16:55:57 +00:00
Julia Reynolds
717ca4b07d Merge "Allow notifications to be autocanceled at a time." 2017-01-25 16:03:38 +00:00
Edman Anjos
52088e4859 Add DPMS delegation scopes.
Implement the permission grant, package access, enable system app, and
keep uninstalled packages delegation scope APIs in the
DevicePolicyManagerService.

This feature gives a device owner or profile owner the ability to
delegate some of its privileges to another application.

Bug: 33105287, 33105284, 33105719
Test: cts-tradefed run cts-dev --module CtsDevicePolicyManagerTestCases --test com.android.cts.devicepolicy.MixedDeviceOwnerTest#testDelegation
Change-Id: I50d2903eb73ae7844ec1f6fe07e41101ea2760ea
2017-01-25 16:53:50 +01:00
Edman Anjos
a5f2fb1a43 Add block uninstall delegation in DPMS.
Implement the uninstall blocker delegation scope API in
DevicePolicyManagerSercice.

This feature gives a device owner or profile owner the ability to
delegate some of its privileges to another application.

Bug: 33105718
Test: cts-tradefed run cts-dev --module CtsDevicePolicyManagerTestCases --test com.android.cts.devicepolicy.MixedDeviceOwnerTest#testDelegation
Change-Id: Ieb347ce3fb6219fe7f04cafbcd1e6b7359b31a10
2017-01-25 16:31:13 +01:00
Julia Reynolds
2a128746b3 Allow notifications to be autocanceled at a time.
Test: cts
Change-Id: I24ebcab2c0fa2028ec5d2984dc3b7ec19391b590
2017-01-25 09:28:01 -05:00
Edman Anjos
f994677626 Refactor DPMS Cert Installer and App Restrictions delegation.
The DevicePolicyManagerService currently supports delegation of
certificate installation and application restriction management, both
of which are individually handled by DPMS.

Upcoming framework features will add four more delegation types,
namely: block uninstall; app permission management; app access
management; and system app enabler. At this moment it makes sense to
refactor the underlying delegation system in DPMS so that current and
future delegates can be handled in a more generic way.

Bug: 33099995
Test: DPMS unit tests
Change-Id: I9e350143572c6690febdd59d1ed5149af8ee4388
2017-01-25 13:00:40 +01:00
Selim Cinek
6743c0bd52 Started visual hierarchy for min priority notifications
Min priority notifications are now greyed out and in an
even smaller form-factor then before.

Test: add low-priority notifications - observe visuals
Bug: 34469375
Change-Id: I3ce2cbf22dbc3276ac738224a16c1b10165964f3
2017-01-24 18:58:55 -08:00
Adam Lesinski
4e8628157a Add support for Split APK dependcies
Apps can now declare in their base APK AndroidManifest.xml
that they want to have their split APKs loaded in isolated
Contexts. This means code and resources from the split
get loaded into their own ClassLoader and AssetManager.

<manifest xmlns:android="..."
          ...
          android:isolatedSplits="true"
          ...

In order to make this more useful, splits can declare dependencies
on other splits, which will all get pulled in to the Context
and run as expected at runtime.

A split declares its dependency on another split by using the
tag <uses-split> in its AndroidManifest.xml:

<manifest xmlns:android="...">
    ...
    <uses-split android:name="feature_split_1" />
    ...

A split can have a single parent on which it depends on. This is
due to the limitation of having a single ClassLoader parent.
All splits depend on the base APK implicitly.

PackageManager verifies that no cycles exist and that each dependency
is present before allowing an installation to succeed.

The runtime will then load splits based on the dependencies.

Given the following APKs:

base <-- split A <-- split C
  ^----- split B

If an Activity defined in split C is launched, then the base,
split A, and split C will be loaded into the ClassLoader defined
for the Activity's Context. The AssetManager will similarly be loaded
with the resources of the splits.

A split can be manually loaded by creating a Context for that split, defined
by its name:

Context.createContextForSplit("my_feature_split_1");

All installed Activities, Services, Receivers, and Providers are accessible
to other apps via Intent resolution. When they are instantiated, they are
given the appropriate Context that satisfies any dependencies the split they
were defined in stipulated.

Test: WIP (CTS tests to come)
Change-Id: I8989712b241b7bc84381f2919d88455fcad62161
2017-01-24 18:34:08 -08:00
Felipe Leme
3461d3c069 Initial IME integration.
- Created an AutoFillManager class, which provides methods to show
  the auto-fill bar for views and virtual nodes.
- Automatically launches an auto-fill request when the IME is shown
(and an AutoFillService is set for the given user) on TextViews.
- Updated VirtualNodeListener to use this new API.

BUG: 31001899
BUG: 34171325
Test: CtsAutoFillServiceTestCases passes
Test: manual verification

Change-Id: Id72ce97da70217081b5823cfc7b138412634fcf3
2017-01-24 17:57:16 -08:00
TreeHugger Robot
e84ad491c8 Merge "Add color mode to activity/window" 2017-01-25 01:20:28 +00:00
Winson Chung
2af04b31d9 Fix issue with PiP hiding when dragging divider.
- Prevent the PiP windows from being set to drag resizing and getting
  clipped.

Test: Open PiP, dock a window, and start interacting with the divider.
Change-Id: I6a28a139261f1c3c09ec2b027e438df0411987c1
2017-01-24 16:24:17 -08:00
Romain Guy
4832745b84 Add color mode to activity/window
The color mode lets an application request a wide color gamut for
a specific window. This will also be used in the future to request
HDR. The color mode is currently either default (sRGB) or an undefined
wide gamut color space chosen by the platform. These attributes could
later be used to choose a specific color space if we deem this important
or useful.

This change also renames the various "colorimetry" attributes and
constants to "color mode" for consistency. These symbols were
added in O and can be safely renamed.

Test: CtsColorModeTestCases
Bug: 32984164
Change-Id: I4d4691dd12dbe3f3aa6a5cf893cff39aa16c739e
2017-01-24 15:55:09 -08:00
TreeHugger Robot
f070b4ef55 Merge "Snoozing API changes" 2017-01-24 22:52:43 +00:00
Winson Chung
6d2fe9e96d Merge "Remove dependency on resizable activity to enter PiP." 2017-01-24 22:26:47 +00:00