Commit Graph

3029 Commits

Author SHA1 Message Date
Polina Bondarenko
280c5b2155 Merge "Added hardwareproperties SystemService" into nyc-dev 2016-02-22 09:27:21 +00:00
Adam Lesinski
2208e743e4 Remove extraneous field from batterystats dumpsys
Change-Id: Iea913e993e61d114c499e6218ad0abf9a8e80690
2016-02-19 21:03:43 +00:00
Polina Bondarenko
f8754ac212 Added hardwareproperties SystemService
Add HardwarePropertiesManagerService which call native methods to
get CPU, GPU, battery temperatures, CPU usage info, fan speeds.
Restrict hardware properties retrieval only for device and profile
owners.

Bug: 26945055
Change-Id: I4d6b30b78e575532d5e9cfa59ef6cd81355439d4
2016-02-19 18:24:29 +01:00
Jeff Sharkey
2271ba3627 Push mapping of package name to appId to kernel.
The new sdcardfs kernel driver needs to know this mapping for
deriving UID permissions, so push the data through /config when
supported by the kernel.  This also has the nice benefit of letting
us push only the deltas of what actually changes, instead of
re-parsing the entire "packages.list" file.

The mappings for newly installed apps are pushed before the app is
allowed to run, removing some latent race conditions.  Also cleans
up stale mappings when packages are uninstalled, and whenever the
system server reboots.

Bug: 19160983
Change-Id: Iace92efb69616c96b34c0d9d911e4b54e5fd8a67
2016-02-18 15:01:15 -07:00
Felipe Leme
79c11a8c55 Merge "Fixed typo on Storage Access Framework." into nyc-dev 2016-02-17 22:51:02 +00:00
Felipe Leme
53fcc756d0 Fixed typo on Storage Access Framework.
BUG: 26742218
Change-Id: I9b695ebe2176f186fc63b20f624e40dd9e257bc3
2016-02-17 14:45:52 -08:00
Felipe Leme
014a0d11c7 Merge "Removed Intent.OPEN_EXTERNAL_DIRECTORY." into nyc-dev 2016-02-17 22:43:20 +00:00
Felipe Leme
3c3770d8fe Merge "Initial implementation of StorageManager.getVolumesList()." into nyc-dev 2016-02-17 22:42:40 +00:00
Felipe Leme
34a9d52719 Removed Intent.OPEN_EXTERNAL_DIRECTORY.
Such intent is now encapsulated by StorageVolume.createAccessIntent().

BUG: 26742218

Change-Id: I2e2bd71126ecd74981f77b0af7d069f51aaece74
2016-02-17 14:38:25 -08:00
Felipe Leme
04a5d40cf3 Initial implementation of StorageManager.getVolumesList().
This change makes StorageManager.getVolumesList(),
StorageManager.getPrimaryVolume(),  and StorageVolume public and adds a
buildAccessIntent() in the latter to automatically generate the
ACTION_OPEN_EXTERNAL_DIRECTORY intent, but it doesn't change the
ACTION_OPEN_EXTERNAL_DIRECTORY implementation yet (i.e., it still takes an URI with the physical path of the directory, instead of a StorageVolume and
a directorny name).

BUG: 26742218

Change-Id: I36c59c42b6579e125ec7f03c3af141260875a491
2016-02-17 13:14:39 -08:00
Steve McKay
ab3b8936dc Remove "HOME" directory. Use "Documents" instead.
Use "Folder" as home icon for now.

Bug:27148009
Change-Id: I9f57bba1c8e51ae7887861923f5baa8f69ec2e6e
2016-02-16 14:52:35 -08:00
Philipp Weiß
09f8568059 Merge "DPM.createAndManageUser should work even with DISALLOW_ADD_USER set" into nyc-dev 2016-02-11 17:17:39 +00:00
phweiss
e9c440638e DPM.createAndManageUser should work even with DISALLOW_ADD_USER set
For this, the DPM calls a new function
UserManagerInternal.createUserEvenWhenDisallowed() instead of
UserManager.createUser(). This calls
UserManagerService.createUserInternalUnchecked().

Also, only the system user is allowed to call this method, otherwise
a security exception is thrown.

Bug: 26952210
Bug: 26786199
Change-Id: I69c16354898d68592d13f5f53b840551f7ad4779
2016-02-11 14:43:18 +01:00
Jeff Davidson
7f036f8bce Merge "Expose APIs to analyze UIDs in UserHandle/Process." into nyc-dev 2016-02-11 00:52:02 +00:00
Jeff Davidson
48aa86bd0b Expose APIs to analyze UIDs in UserHandle/Process.
Clients of the NetworkStatsManager public APIs may get UIDs belonging
to other users, and UIDs which don't actually represent applications.
These APIs allow clients to understand whether a given ID belongs to
the same user as themselves, and whether an ID represents an
application or something else (e.g. a system UID).

Change-Id: Ia56d5891521ce98e5594c41da8f9d756819deb66
2016-02-10 15:20:33 -08:00
Jeff Sharkey
8212ae0aee Consistent naming for internal storage APIs.
Also completely remove a few confusingly named deprecated APIs.

Change-Id: Ia7e4ea3190a97f0a7dfa9bebf2118da0866ec38f
2016-02-10 15:03:33 -07:00
Tao Bao
6af1d75a0c Merge "Add system APIs for A/B update." into nyc-dev 2016-02-08 22:07:05 +00:00
Tao Bao
43cd1bcb10 Add system APIs for A/B update.
Add android.os.UpdateEngine and UpdateEngineCallback classes that
communicate with the update engine via binder APIs for A/B update.

Bug: 26695366
Change-Id: I2471858d28df5443bc0b56d9a20281ccebde4484
2016-02-08 10:38:35 -08:00
Paul Crowley
faeb3eb0ba Password security for FBE disk encryption keys
Add the means to protect FBE keys with a combination of an auth token
from Gatekeeper, and a hash of the password. Both of these must be
passed to unlock_user_key. Keys are created unprotected, and
change_user_key changes the way they are protected.

Bug: 22950892
Change-Id: Ie13bc6f82059ce941b0e664a5b60355e52b45f30
2016-02-08 15:58:29 +00:00
Tamas Berghammer
25222f55f2 Merge "Add flag to "am start" to enable native debugging" 2016-02-06 13:18:58 +00:00
Adam Lesinski
2068bb8bb0 Merge "Track BLE scans in BatteryStats" 2016-02-06 00:52:38 +00:00
Jeff Sharkey
47f7108c12 Prepare user storage just before using it.
Wire up preparing of user-specific app storage to existing user
lifecycle hooks.  This way we're sure the storage is ready to roll
just before we start reconciling app data directories.

This also has the nice property that we only prepare storage when
we know that keys are unlocked.

Bug: 25796509
Change-Id: Ic7df9ddbcfb1e20649d11b6cf68d424e3c365ee1
2016-02-05 11:00:31 -07:00
Filip Gruszczynski
c17d8b79af Infrastructure for animating of maximizing pip activity.
Bug: 25672053
Change-Id: Ie8a83c626680e01ff7115f40731ab9e6c13769c0
2016-02-04 09:01:05 -08:00
Tao Bao
c7861d65c4 Merge "Condionally remove the block map file." 2016-02-02 23:41:08 +00:00
Steve McKay
4ee5d5d5cf Merge "Decouple SD card from ADVANCED storage toggle." 2016-02-02 17:29:04 +00:00
Steve McKay
efa1761776 Decouple SD card from ADVANCED storage toggle.
A variety of related fixes:
- don't force size enable when browsing from device mounted notifications.
- don't show settings menu item as action (put in overflow).
- add sd card icon (not quite yet used, need to suss that out).

Bug:26880985,26883578,26771127
Change-Id: I36f153c42217f8092f157ded2a756c02525593ab
2016-02-02 09:28:30 -08:00
Tim Murray
086e09ff60 Merge "Add specific category for TOP_APP in ActivityManager." 2016-02-02 02:13:33 +00:00
Adam Lesinski
9f55cc71b9 Track BLE scans in BatteryStats
Distribute the power used by apps scanning with BLE.

Bug:22718669
Change-Id: I626d8a459fc28fdd7dac682c9ac7c8434945109d
2016-02-01 16:51:10 -08:00
Tao Bao
e8217ff4a7 Condionally remove the block map file.
We used to unconditionally remove the block map file on boot. Because
the package might be half-way uncrypt'd in a corrupt state. CL in [1]
changes uncrypt to ensure that block.map only gets created at the end of
a successful uncrypt. So we can change to keep the fully uncrypt'd
package and the block map. This is to reduce the work for GmsCore to
avoid re-downloading everything again.

[1]: commit 25dd0386fe69460cd1d39de116197dd2c7bf9ec2.

Bug: 26883096
Change-Id: I58ca22064141bf5d42fa48146a980712c8ce21d9
2016-02-01 16:15:31 -08:00
Fyodor Kupolov
0ffbfea423 Self closing tags are not allowed as of Java 8
Self closing tags are not legal in HTML and javadoc was updated to better
enforce valid javadoc comments.
https://bugs.openjdk.java.net/browse/JDK-8020619

Change-Id: Ia7644b79be559a2e88fc9850eab570bd926f9a4b
2016-02-01 23:56:09 +00:00
Steve McKay
a7dbccff77 Merge "Create "Home" dir instead of "home" to match other default dirs." 2016-02-01 23:00:59 +00:00
Steve McKay
5c462a0e31 Create "Home" dir instead of "home" to match other default dirs.
Add DIRECTORY_HOME to android.os.Environment...use that for dir name,
    so we don't use a localized name when creating directory.
Mark all of the DIRECTORY_* fields final.

Bug: 26814341
Change-Id: I5a11bcb180674c619de2f5ce9ed598521e60cc25
2016-02-01 14:46:34 -08:00
Oleksandr Peletskyi
f2519814cc Added restriction that disallows ability to set wallpaper.
BUG: 24890474

Change-Id: I424aa80d914e3b6f3f9eba8ccb4802bad6f54907
2016-02-01 20:00:25 +01:00
Jeff Sharkey
c4bab9843a Only create custom database paths.
If the getDatabasePath() caller is using the default getDatabasesDir()
path, that method already handles possible path creation, so no
need for us to retry.

Also fix two small bugs that would have NPE'ed when listing files in
a directory that wasn't created.

Bug: 26895777
Change-Id: Iced16b05cfe95062717da8d0414c48daefcb5648
2016-02-01 10:17:57 -07:00
Tamas Berghammer
df6cb28293 Add flag to "am start" to enable native debugging
Specifying the new flag will enable several features in the runtime
required by the native debugger to debug Java and C++ code at the same
time.

The enabled features:
* Force JIT (never use the interpreter)
* Debug info generation
* Disbale some optimizations

Change-Id: Iaf5ab649715a0c274bd1b0fc64e483705da53cd0
2016-02-01 13:49:32 +00:00
Jeff Sharkey
35871f2c2b Offer to migrate databases and SharedPreferences.
Databases and SharedPreferences often involve multiple files under
the hood, so developers wanting to migrate them between different
storage contexts should ask us to make sure all relevant files are
migrated correctly.

This makes a best-effort attempt to recover from battery pulls
during migration, while still trying to alert developers to
conflicting files.

Bug: 26668510, 25860525
Change-Id: I9ffa3e8cb6191dfd4237b9466a081d6d77df3ba0
2016-01-30 17:03:23 -07:00
Dianne Hackborn
311cbe1b83 Merge "Some small binder shell command improvements." 2016-01-29 22:20:39 +00:00
Chien-Yu Chen
d7085a40bd Merge "Correct cameraserver UID" 2016-01-29 21:39:51 +00:00
Chien-Yu Chen
b8b4e85879 Correct cameraserver UID
Bug: 24511454
Change-Id: I967c50c781d03754a093bae6a64b2e35a023f046
2016-01-29 12:03:04 -08:00
Jeff Sharkey
344744b496 Exposing file:// beyond your app is bad, m'kay?
For several releases now we've told developers that sharing raw files
between apps is a recipe for trouble.  There are at least three major
problems with sending raw files:

-- Apps sending generic intents can't know who is at the other end,
so they may not have access to shared storage locations.  This is
more likely now that runtime permissions require apps to explicitly
ask users for permission.

-- Apps making files in their private storage world-readable has been
deprecated for several releases, and now in N it's fully blocked.  If
we let these intents through, the receiving app would fail to open
the file, when the real blame rests on the sending app.

-- Devices with user profiles can't share raw files when using
cross-profile intent filters, since filesystem access is fully
locked down between users.

The time has finally come to communicate clearly that if you're
sharing content between apps, you need to use content:// Uris.  We
added the simple FileProvider several years ago to give apps a clean
way to migrate with minimal work on their part.

Bug: 26860922, 9069185
Change-Id: I075f627f6a0d6c7fca2c090ca133b9aae9801c64
2016-01-28 19:20:12 -07:00
Dianne Hackborn
2e931f56c7 Some small binder shell command improvements.
- Improve documentation.
- Add low-level access to input/output streams.

Change-Id: I3892be222d6fd919b164fa4e4882185940947f70
2016-01-28 15:20:48 -08:00
Fyodor Kupolov
7b9f2e1d86 Merge "Added SystemApi for getting serial numbers of users" 2016-01-28 18:58:05 +00:00
Fyodor Kupolov
940e8577a1 Added SystemApi for getting serial numbers of users
Also added UserHandle version of queryBroadcastReceiversAsUser.

Bug: 25844894
Change-Id: I78ecbef186e4ced10425ae2899db72c2d91c5792
2016-01-28 10:55:28 -08:00
Amith Yamasani
8484459717 Merge "Tweaks to user creation intent text and error codes" 2016-01-28 05:23:08 +00:00
Amith Yamasani
37ed8d1ce0 Tweaks to user creation intent text and error codes
Return error codes in some cases.
Tweak the message to the user.

Bug: 22776757
Change-Id: Ieff0caf0add9542287b5629d7d97331df0cada1e
2016-01-27 18:17:03 -08:00
Chien-Yu Chen
bd098d4ed3 Merge changes from topic 'camera-hardening'
* changes:
  Add cameraserver process
  Camera: update connect call
2016-01-28 02:04:37 +00:00
Adam Lesinski
72c3927f86 Merge "Record ModemActivityInfo and distribute power blame to apps" 2016-01-28 00:03:56 +00:00
Adam Lesinski
21f76aa770 Record ModemActivityInfo and distribute power blame to apps
Telephony expsoses a getModemActivity() method, which BatteryStats
will poll when a change in network activity occurs (on the modem).

The time spent in various states (tx, idle, rx) are distributed amongst
the apps that did rx/tx traffic during that window.

Bug:23147562
Change-Id: I480a85df95786f87c382b96816fe2ed4bb2d5a42
2016-01-27 15:45:30 -08:00
Ruchi Kandoi
a0d65dc0db Merge "PowerManager: Adds the Sustained performance API." 2016-01-27 21:21:06 +00:00
Ruchi Kandoi
0abc001275 PowerManager: Adds the Sustained performance API.
Adds a new type of wakelock - SUSTAINED_PERFORMANCE_WAKELOCK. This
wakelock can only be acquired when the application is in the foreground.
And it is not effective when the application is no longer in the
foreground.

Acquiring this wakelock enables the Sustained performance mode which
guarantees a certain level of performance.

Bug: 22864186

Change-Id: Id0ececc756fe014779db6efde7aede23ea181dc5
Signed-off-by: Ruchi Kandoi <kandoiruchi@google.com>
2016-01-27 13:15:30 -08:00