14933 Commits

Author SHA1 Message Date
Jeff Sharkey
8d729e8c14 Merge "Initial API shape for storage statistics." 2017-01-07 16:18:38 +00:00
Jeff Sharkey
e8cece9f20 Initial API shape for storage statistics.
This API is designed to provide both UID-level stats and overall
summary data for a given storage device, as identified by UUID.

The use of UID-level granularity might appear a bit clunky, but it
matches other usage statistics (such as network and battery), and it
allows us to implement it using an extremely fast quota kernel
feature.

A future CL will wire up the implementation to installd.

Test: builds, boots
Bug: 32206268
Change-Id: I7b51877682d0370c2402c19346f57809f0e7ac53
2017-01-05 15:39:16 -07:00
Vladislav Kaznacheev
7039cbc6f3 Add content description and tooltip to menu item
Bug: 34076597
Test: manual
Change-Id: Ide32463252457721286c929ab2f8f7bae241835d
2017-01-05 09:57:40 -08:00
TreeHugger Robot
c587433dd1 Merge "Introducing teleportation between sections." 2017-01-04 20:43:44 +00:00
TreeHugger Robot
64593c6993 Merge "Defining a new REQUEST_NETWORK_SCORES permission." 2017-01-04 19:51:50 +00:00
Sunny Goyal
a532c3ff8c Merge "AppWidgetManager: direct add widget support." 2017-01-04 18:21:38 +00:00
Tao Bai
2bb0099b0a Merge "WebView: Add the definition of crash API." 2017-01-04 18:08:28 +00:00
Joe LaPenna
3eca29e119 Merge "Expose RecommendationRequest.Builder as SystemApi." 2017-01-04 17:50:08 +00:00
Wyatt Riley
d4cbb981c1 Merge "Removing @removed methods and constants" 2017-01-04 14:10:14 +00:00
Joe LaPenna
25b4602cdc Expose RecommendationRequest.Builder as SystemApi.
In order to test our recommender, we need to be able to create
network recommendation requests.

Test: make update-api
Change-Id: I68df0d3e684bcdb90709a34478d2aa669ee23547
2017-01-04 00:44:25 -08:00
Vadim Tryshev
8957f2ddda Introducing teleportation between sections.
The key combos differ from the ones in the spec because key combos
including Meta key don’t get delivered to apps. To fix this, I’ll
implement necessary plumbing after the feature freeze. Meanwhile,
temporary combos are used.

Given that the section and cluster teleportation have a lot in common,
I’m not introducing new methods, but adding a param to the cluster
teleportation ones. I should have also changed the names to something
like findNextKeyboardNavigationCluster => findNextFocusGroup, where
“FocusGroup” is a generalized name for clusters and sections.
However, that name depends on b/33708251, so I’m not doing it now. I
don’t rename existing identifiers, and using “focusGroup” for new
ones. Admittedly, this creates mess that will be resolved based on
the outcome of the mentioned bug.

Bug: 32151632
Test: Manual checks; CTS are coming after feature freeze
Change-Id: I01b5d6e5a9689b8f643fa4af695d2ce61265f374
2017-01-03 18:18:36 -08:00
TreeHugger Robot
7429c4fede Merge "Create ScoredNetwork Badging API changes." 2017-01-03 22:39:06 +00:00
Sunny Goyal
87a563e070 AppWidgetManager: direct add widget support.
Test: Manual test and all the unit tests:
adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest1 -w com.android.frameworks.servicestests
... to test9
adb shell am instrument -e class com.android.server.appwidget.AppWidgetServiceImplTest -w com.android.frameworks.servicestests

Bug 32404406
Change-Id: Icd6d4cbd25d9cdf4508da725d95d6401cc3a46a7
2017-01-03 13:28:56 -08:00
Sundeep Ghuman
6c92962153 Create ScoredNetwork Badging API changes.
Defines an attribute bundles key to hold the badging curve, the
enums for badge values, and an API to retrieve a badge for a
specific RSSI.

Bug: 33457699
Test: Unit tests
Change-Id: If9e8a60c4670b51c395fb501f55ddece8a72981e
2016-12-29 12:47:45 -08:00
Jean-Michel Trivi
0c8855d0f2 New AudioAttributes usage for "assistant" use case
Define USAGE_ASSISTANT for new use cases involving audio help,
  query responses and more.

Test: make offline-sdk-docs
Bug: 30947943

Change-Id: Idf93ce4c0f014dbc9b491244cbad9e643cc03413
2016-12-29 12:09:15 -08:00
Jeremy Joslin
72f5e08ce2 New permission - BIND_NETWORK_RECOMMENDATION_SERVICE.
Used to protect exported network recommendation services.

Test: Built & ran
BUG:33897544
Change-Id: I4f163fb965be6a25201bc3ba5e0032e7652c8f20
2016-12-28 12:31:30 -08:00
Jeremy Joslin
7231d44467 Defining a new REQUEST_NETWORK_SCORES permission.
This is intended to be a drop-in replacement for the existing
BROADCAST_NETWORK_PRIVILEGED with a more appropriate name.

Test: Built, ran.
BUG: 33752149
Change-Id: I12bdba9694fdf2a2e39990736265919edafd865e
2016-12-28 10:26:59 -08:00
TreeHugger Robot
ca9eed4315 Merge "Add VisualVoicemailService" 2016-12-28 00:33:17 +00:00
Jean-Michel Trivi
807313917f New player type values for Open SL ES
Define new player types to describe the two types of AudioPlayer
  in OpenSL ES: those with a buffer queue source, those that
  play from a given URI or FD.
Add a warning in the interface description of AudioService
  that changes should be reflected in the native interface too.

Test: make, NDK tests to follow
Bug: 30955183
Change-Id: I7b530ea6e3b13f238f662ce8b9612e7df574a9c5
2016-12-26 16:03:22 -08:00
Wyatt Riley
a2bbfbcf89 Removing @removed methods and constants
Several methods, plus a few hashmaps,
helper classes, and some constants
existed for an early builds
of NYC, and were marked @removed, and are
here finally removed.

Bug: 28208055
Change-Id: If650d83c0dc573e922342d09360ecf9a5bb0c98a
Fixes: 28208055
Test: GMaps, AndroiTS GPS Test, GnssLogger & CtsVerifier
      All run fine on a Pixel
2016-12-23 13:18:16 -08:00
Jean-Michel Trivi
c0a0c2bdd1 Merge "Notification of playback activity" 2016-12-22 22:08:21 +00:00
TreeHugger Robot
6318e36a52 Merge "Restoring last focused view when teleporting to a cluster." 2016-12-22 21:11:38 +00:00
TreeHugger Robot
4bd76266a4 Merge "Add simplified_network_settings_bool to CarrierConfig." 2016-12-22 20:01:57 +00:00
Alan Viverette
96ca2c5f02 Merge "Add attribute, theme values for error text color" 2016-12-22 18:25:22 +00:00
TreeHugger Robot
37d37f0fa9 Merge "Settings recovery support" 2016-12-22 09:19:13 +00:00
Joe LaPenna
6e4d2890de Add simplified_network_settings_bool to CarrierConfig.
Some carriers want to further simplify network settings based on a
variety of wifi or cellular related bundles. Expose a config a
carrier might set to allow SysUi, Settings and platform to adjust.

BUG: 33111931
Test: runtest carrierconfig-unit
Change-Id: I35a7ef15bbba23cf9e0380432fc001804c7e1804
2016-12-21 20:17:45 -08:00
Vadim Tryshev
01d8c49e04 Restoring last focused view when teleporting to a cluster.
The UX spec requires each cluster to remember which view was last
focused in it, and focus on it upon the teleportation to this
cluster.

This CL implements saving and restoring the focus.
It also introduces a public API so that an app could switch to a
cluster as if it was teleported to.

Bug: 32151632
Test: Manual checks; CTS are coming after feature freeze.
Change-Id: I0dc816776386015a7f1235f93e3dd9c03dfffcd6
2016-12-21 17:41:33 -08:00
Svetoslav Ganov
e080da9ee0 Settings recovery support
This change allows the system to perform iterative reset
of changes to settings in order to recover from bad a
state such as a reboot loop.

To enable this we add the notion of a default value. The
default can be set by any package but if the package that
set it is a part of the system, i.e. trusted, then other
packages that are not a part of the system, i.e. untrusted,
cannot change the default. The settings setter APIs that
do not take a default effectively clear the default. Putting
a setting from a system component always makes it the
default and if the package in not trusted then value is
not made the default. The rationale is that the system is
tested and its values are safe but third-party components
are not trusted and their values are not safe.

The reset modes from the least intrusive are: untrusted
defaults - reset only settings set by untrusted components
to their defaults or clear them otherwise; untrusted clear
- clear settings set by untrusted components (or snap to
default if provided by the system); trusted defaults - reset
all settings to defaults set by the system or clear them
otherwise.

Also a package can reset to defaults changes it made to
the global and secure settings. It is also possible to
associate a setting with an optional token which can then
be used to reset settings set by this package and
associated with the token allowing parallel experiments
over disjoint settings subsets.

The default values are also useful for experiment (or
more precisely iterative tuning of devices' behavior in
production) as the stable configuration can be set to
the "graduated" safe defaults and set the values to the
experimental ones to measure impact.

Test: tests pass

Change-Id: I838955ea3bb28337f416ee244dff2fb1199b6943
2016-12-22 01:14:28 +00:00
TreeHugger Robot
9d2b2dbce7 Merge "Unihiding REFRESH_SUPPORTED and ContentProviderClient#refresh." 2016-12-22 00:24:22 +00:00
Alan Viverette
3b496a28a0 Add attribute, theme values for error text color
There are currently no clients of this attribute, but that's coming in
a later CL.

Bug: 31440308
Test: n/a theme only
Change-Id: I18a06776d648750638f83ad10566d318d8ef7dd0
2016-12-21 17:27:28 -05:00
Jean-Michel Trivi
292a6a4e99 Notification of playback activity
AudioService keeps track of status of implementations of PlayerBase.
AudioService's PlaybackActivityMonitor maintains a list of
  playback configurations for each PlayerBase, and a list
  of clients that want to receive updates about the playback.
Playback activity clients can query the playback configuration
  of the system through AudioManager, or register a callback
  for updates. For clients with MODIFY_AUDIO_ROUTING permission
  (system), the playback configurations contain more information
  about each player (player type, uid, pid, state), and can see
  all players, not just the "active" ones. The act of stripping
  off data about the players that is not supposed to be seen
  by non-system clients, is referred to as "anonymization". It
  is implemented in system server, so no system data is ever
  sent to playback activity clients without system permission.
More information about the AudioPlaybackConfiguration is
  available in the SystemApi (uid, pid, player type, player state).

Test: run cts -m CtsMediaTestCases -t android.media.cts.AudioPlaybackConfigurationTest
Bug: 30955183

Change-Id: I85997594c0378216419f5f0fdaa0714996fd3573
2016-12-21 13:58:08 -08:00
Julia Reynolds
7f41c150c3 Merge "Add badging support for channels." 2016-12-21 21:15:45 +00:00
Julia Reynolds
baff400fa5 Add badging support for channels.
In this iteration badges are a user opt in feature.
Known issue: all listeners will receive 'badge only' notifications.

Test: runtest systemui-notification

Change-Id: Ic7450bf4de5351cfdc72bd96ec946fe6e035035c
2016-12-21 21:12:23 +00:00
Ben Lin
836f9249b7 Unihiding REFRESH_SUPPORTED and ContentProviderClient#refresh.
Test: Only unhiding previously hidden methods.
Change-Id: Id1731b64b86760d3249855d685d8cb83721596fc
2016-12-21 11:45:33 -08:00
Jeff Sharkey
75e7b8c9ee Merge "Finish up API for missing content:// flags." 2016-12-21 19:28:05 +00:00
Jeff Sharkey
f8efc66773 Merge "Relax protected broadcast checks for shell." 2016-12-21 18:49:30 +00:00
Fyodor Kupolov
1bf4a52144 Merge "Revert "Settings recovery support"" 2016-12-21 18:45:48 +00:00
Ben Lin
e7b416e4ed Merge "Add DocumentsContract#ACTION_DOCUMENT_SETTINGS and Documents#FLAG_SUPPORTS_SETTINGS." 2016-12-21 18:39:51 +00:00
Fyodor Kupolov
457608986c Revert "Settings recovery support"
This reverts commit aa31697424064f823019c068d66fac704e5a2fc1.

Fixes: 33799277
Change-Id: I438e97c6a81512c673f20f6a01d3b9715c2dbf8a
2016-12-21 18:26:21 +00:00
Jeff Sharkey
f361f2fc89 Finish up API for missing content:// flags.
Feature is already built under the hood, but it needs it's own public
StrictMode API so it can be independently enabled.

Test: builds, boots
Bug: 32447617
Change-Id: I3c0c6d62dd36aaf25f30e0ef8e0e7b40cf32c6d2
2016-12-21 10:48:47 -07:00
Jeff Sharkey
6a34e56780 Relax protected broadcast checks for shell.
On userdebug/eng devices, the shell can run as non-shell UIDs, so
define a flag to identify broadcasts coming from the shell, and
don't yell if they're non-protected.

Test: builds, boots, root shell can send broadcasts
Bug: 32369665
Change-Id: I5f55930ee434cb8318c86aaf05eba3c59a326694
2016-12-21 10:13:53 -07:00
Julia Reynolds
c8ae220ea5 Merge "Expose hidden constant." 2016-12-21 16:17:20 +00:00
TreeHugger Robot
0e4b9cd97d Merge "Expose ScanResult#untrusted as a @SystemApi." 2016-12-20 22:30:35 +00:00
TreeHugger Robot
c88a1919b3 Merge "Settings recovery support" 2016-12-20 22:28:49 +00:00
Julia Reynolds
e886405dbe Expose hidden constant.
Change-Id: If86f23ada967047dc63256d9c2675e1c2b229e48
Fixes: 29103412
Test: n/a
2016-12-20 22:07:41 +00:00
Brad Ebinger
917d048dde Merge "Adds custom call forwarding block while roaming carrier config key" 2016-12-20 21:31:36 +00:00
Svet Ganov
aa31697424 Settings recovery support
This change allows the system to perform iterative reset
of changes to settings in order to recover from bad a
state such as a reboot loop.

To enable this we add the notion of a default value. The
default can be set by any package but if the package that
set it is a part of the system, i.e. trusted, then other
packages that are not a part of the system, i.e. untrusted,
cannot change the default. The settings setter APIs that
do not take a default effectively clear the default. Putting
a setting from a system component always makes it the
default and if the package in not trusted then value is
not made the default. The rationale is that the system is
tested and its values are safe but third-party components
are not trusted and their values are not safe.

The reset modes from the least intrusive are: untrusted
defaults - reset only settings set by untrusted components
to their defaults or clear them otherwise; untrusted clear
- clear settings set by untrusted components (or snap to
default if provided by the system); trusted defaults - reset
all settings to defaults set by the system or clear them
otherwise.

Also a package can reset to defaults changes it made to
the global and secure settings. It is also possible to
associate a setting with an optional token which can then
be used to reset settings set by this package and
associated with the token allowing parallel experiments
over disjoint settings subsets.

The default values are also useful for experiment (or
more precisely iterative tuning of devices' behavior in
production) as the stable configuration can be set to
the "graduated" safe defaults and set the values to the
experimental ones to measure impact.

Test: tests pass

Change-Id: I8c23b145d4f8ee0de2f29dedaa4641ac59343d6a
2016-12-20 13:05:09 -08:00
TreeHugger Robot
52d6b6a041 Merge "Make WifiConfiguration#meteredHint a @SystemApi" 2016-12-20 20:39:58 +00:00
Amin Shaikh
f9d47b79b2 Expose ScanResult#untrusted as a @SystemApi.
- Expose ScanResult#untrusted to inform NetworkRecommendationProviders
  that a ScanResult does not correspond to a saved network.
- Add static construction methods and assertions to RecommendationResult

Test: runtest frameworks-services

Bug: 33490132
Change-Id: If7006040f63843c1c468c9d95c5c017383c5c5dd
2016-12-20 12:22:08 -08:00
Brad Ebinger
9ab43212ca Adds custom call forwarding block while roaming carrier config key
Adds support for supplying custom call forwarding prefixes in the carrier
config. When a prefix supplied in the carrier config is matched to the number
being dialed, we do not complete the call and instead show an error message
on the dialer UI.

Test: Manual
Bug: 30458052
Change-Id: I3149a565b0fd631d69ab0c0f27be509237b80177
2016-12-20 19:14:01 +00:00