175 Commits

Author SHA1 Message Date
David Christie
d63b4314b8 Merge "Log history of location requests in LocationManager. -Assists with debugging power issues. Bug: 12824233" 2014-02-13 20:25:01 +00:00
Adam Connors
776c555d95 Extend DeviceOwner concept to accommodate ProfileOwners
ProfileOwners, like DeviceOwners, are Device Admins that have
additional priviledges. ProfileOwners however are scoped per
user.

Change-Id: I1e22c85878e0672121e6ebbe97fca38591f992b2
2014-02-06 10:07:19 +00:00
David Christie
2ff96af24d Log history of location requests in LocationManager.
-Assists with debugging power issues.
Bug: 12824233

Change-Id: Iaaef0dbe00154c7668034a166587671b75d1f3c7
2014-02-03 13:53:10 -08:00
Ying Wang
c459bfea7e Include subdirectory Android.mks.
Change-Id: I6e6bc721dbcf127b52f2a60f255c9fc677d3be29
2014-01-09 11:02:03 -08:00
Lorenzo Colitti
4598ea4e5e am 263c4788: am 30253d7a: am 2daa0c93: Merge "Add address flags and scope to LinkAddress."
* commit '263c4788dcf45f104f8668fd6621d1a7c39689b9':
  Add address flags and scope to LinkAddress.
2013-12-09 18:34:44 +00:00
Lorenzo Colitti
64483947fd Add address flags and scope to LinkAddress.
This is necessary so that the framework can know whether an IPv6
address is likely to be usable (i.e., if it's global scope and
preferred). Also, it will simplify the address notification
methods in INetworkManagementEventObserver, which currently take
the address, the flags, and the scope as separate arguments.

1. Add flags and scope to the class and update the unit test.
   Use the IFA_F_* and RT_SCOPE_* constants defined by libcore.
   Since most callers don't know about flags and scope, provide
   constructors that default the flags to zero and determine the
   scope from the address. Addresses notified by the kernel will
   have these properly set. Make multicast addresses invalid.
   Update the class documentation.
2. Provide an isSameAddressAs() method that compares only the
   address and prefix information between two LinkAddress
   objects. This is necessary because an interface can't have
   two addresses with the same address/prefix but different
   flags.
3. Update LinkProperties's addLinkAddress and removeLinkAddress
   to identify existing addresses to add/remove using
   isSameAddressAs instead of implicit equals(). Specifically:
   - If addLinkAddress is called with an address that is already
     present, the existing address's flags and scope are updated.
     This allows, for example, an address on an interface to go
     from preferred to deprecated when it expires, without it
     having to be removed and re-added.
   - If removeLinkAddress is called with an address that is
     present but with different flags, it deletes that address
     instead of failing to find a match.
4. Update the INetworkManagementEventObserver address
   notification methods to take just a LinkAddress instead of
   LinkAddress, flags, and scope. While I'm at it, change the
   order of the arguments for consistency with the other
   functions in the interface.

Change-Id: Id8fe0f09a7e8f6bee1ea3b52102178b689a9336e
2013-12-06 13:54:35 +09:00
Lorenzo Colitti
317d15c155 am 4806fdfb: am f226bc60: Merge "Use LinkAddress in address notifications."
* commit '4806fdfbd0fecf91584396fc0f620c97a05ab837':
  Use LinkAddress in address notifications.
2013-12-02 20:53:06 +00:00
Lorenzo Colitti
5ad421a3d0 Use LinkAddress in address notifications.
Currently address{Updated,Removed} pass in the address as a
string such as "fe80::1/64". Use LinkAddresses instead, since
that's what it is.

This makes the code more robust in the unlikely case that netd
passes in an invalid string. In the future we can move flags and
scope into the LinkAddress itself and simplify the code further.

Bug: 9180552
Change-Id: I66599f9529cf421caa7676fdd0141bb110b8589e
2013-11-26 21:55:15 +09:00
Lorenzo Colitti
5ae4a531cc Pass DNS server info notifications to observers.
These are sent if the device receives IPv6 Router Advertisements
with DNS server configuration options. Currently, nothing listens
to them; in a future change we will use them as IPv6 DNS servers.

[Cherry-pick of 416740ad4d9132005a71dc0883334e852235a18a]

Bug: 9180552
Change-Id: I05000c0cd3867a68ab390102e8470b6912a9d3aa
2013-11-25 17:27:17 +09:00
Lorenzo Colitti
a9626c1c95 Minor cleanups to NetdCallbackReceiver.onEvent.
- Clean up identical error messages.
- Fix the array length check for InterfaceAddressChange.

[Cherry-pick of 59be800e7fe81842aa8c77b91319f58ab165983d]

Bug: 9180552
Change-Id: Id871f481445b530c3ad749725f1548df0e3a1228
2013-11-25 17:25:45 +09:00
Lorenzo Colitti
416740ad4d Pass DNS server info notifications to observers.
These are sent if the device receives IPv6 Router Advertisements
with DNS server configuration options. Currently, nothing listens
to them; in a future change we will use them as IPv6 DNS servers.

Bug: 9180552
Change-Id: I05000c0cd3867a68ab390102e8470b6912a9d3aa
2013-11-18 12:04:14 +09:00
Lorenzo Colitti
59be800e7f Minor cleanups to NetdCallbackReceiver.onEvent.
- Clean up identical error messages.
- Fix the array length check for InterfaceAddressChange.

Bug: 9180552
Change-Id: Id871f481445b530c3ad749725f1548df0e3a1228
2013-11-04 18:30:20 +09:00
Matthew Williams
d08d6686c5 resolved conflicts for merge of 94b51810 to master
Change-Id: Ida818f066b66c356a84c80e5eab0a4e2cf4ebd49
2013-10-14 10:39:41 -07:00
Matthew Williams
94b518101c am e0a2bdaf: am 32551ae5: Merge "Fix infinite boot-loop bug in SM." into klp-dev
* commit 'e0a2bdaf61a7a72e92d614f81f86e7fd441b38e4':
  Fix infinite boot-loop bug in SM.
2013-10-11 14:33:18 -07:00
Matthew Williams
632515b9d0 Fix infinite boot-loop bug in SM.
Bug:11064918
If the ContentResolver sync API is used with the empty ("")
string as a provider, the ContentService will throw an RTE.
This cl addresses all the entry points of the API that could
allow this, as well as adds an ifEmpty check at the point of
failure.
Also removed RTE throws from public functions(no point in
crashing the phone).

Change-Id: I57427d12a6cafb3e6d7a32ca0c10b05315b20580
2013-10-11 13:18:22 -07:00
Alex Klyubin
87e385effb am aa947f15: am a9bce468: am 84742149: Merge "Make EntropyMixer mix in output of Hardware RNG into Linux RNG."
* commit 'aa947f15314a4239de91a1cd0bea085e3399d43e':
  Make EntropyMixer mix in output of Hardware RNG into Linux RNG.
2013-10-03 15:23:23 -07:00
Alex Klyubin
aa947f1531 am a9bce468: am 84742149: Merge "Make EntropyMixer mix in output of Hardware RNG into Linux RNG."
* commit 'a9bce46876d6f1f82727ab6922748fcc6b43c767':
  Make EntropyMixer mix in output of Hardware RNG into Linux RNG.
2013-10-03 15:21:08 -07:00
Alex Klyubin
6ab3d20d3c Make EntropyMixer mix in output of Hardware RNG into Linux RNG.
On devices with Hardware RNG (HW RNG), this makes EntropyMixer
periodically (every three hours) read 512 bytes from HW RNG and mix
them into the Linux RNG.

This is done without increasing Linux RNG's entropy estimates to
avoid having to trust the quality of the HW RNG. This approach cannot
reduce the quality of the Linux RNG output, but may increase it.

Change-Id: Ifde851004301ffd41b2189151a64a0c5989c630f
2013-10-03 15:07:37 -07:00
Matthew Williams
06485a7c6e Pending op fix didn't merge properly from KLP-dev.
Manually merge in Cl c/342668. Add another test to ensure that it
WAI.

Change-Id: Iae603328d525cc71e4e31ad30a13384efc50f823
2013-09-16 15:23:41 -07:00
Matthew Williams
86f4b37d19 Merge "Refactor SyncManager rename authority->target" 2013-09-16 18:29:36 +00:00
Matthew Williams
8ef2204c8f Refactor SyncManager rename authority->target
fix bug that was stopping any sync service sync from
from taking place.
Change-Id: Ib3f46d43be630d4196fbf0ca32da03b6e7a6a5b9
2013-09-13 19:22:50 -07:00
Jeff Sharkey
123eeea6d6 am e2d76fa8: am cecccecc: Merge changes Ib1274847,I2eb2a1bf into klp-dev
* commit 'e2d76fa8c6d0f5c3d1a73a3ec9756c4bc545806d':
  Fix SDK build.
  Request all tethering interfaces, fix corruption.
2013-09-11 17:23:29 -07:00
Jeff Sharkey
e4984bea95 Request all tethering interfaces, fix corruption.
netd now tracks statistics for tethered interfaces across tethering
sessions, so switch to asking for all tethering stats.  (Currently
we're double-counting all tethering data, ever since it started
tracking across sessions.)

Also catch OOME to handle corrupt stats files, which we then dump to
DropBox and then start over.

Bug: 5868832, 9796109
Change-Id: I2eb2a1bf01b993dd198597d770fe0e022466c6b9
2013-09-10 21:03:30 -07:00
Matthew Williams
56dbf8f236 Fix broken javadocs
Change-Id: Ibf7f2ed92919efd36fffa963447b1a443c0bb9db
2013-09-05 15:58:24 -07:00
Lorenzo Colitti
7421a01f18 Add a simple test for NetworkManagementService.
For now, this only tests network observers. It works by starting
NetworkManagementService with a fake netd socket, feeding it
inputs, and seeing if the appropriate observer methods are
called.

Bug: 10232006
Change-Id: I827681575642a4ee13ae48b81272521544b676bd
2013-08-23 18:30:19 +09:00
Matthew Williams
ba35271e91 Use pending.xml to persist sync ops.
Support pending ops by producing badly formed xml.
fixed bug that stopped alarm manager from updating if the
next alarm time is in the past.
Use new AlarmManager API for old AM behaviour - to set
exact alarms.

Change-Id: I57090f9c7155996298be7ec968a88f17ac1938a7
2013-08-16 12:01:22 -07:00
David Christie
ba530545f7 Revert "Fix broken unit test"
This reverts commit 0ca981fe42c43a4b7c345f4a0a2b3b2a519be5da.

Change-Id: I67f5e7227a8a874158c4f0954e62a77a317f1edd
2013-08-06 17:28:03 +00:00
David Christie
0ca981fe42 Fix broken unit test
Change-Id: I4aa0035233749f6d585c151329436439ae9b2921
2013-08-02 12:33:00 -07:00
David Christie
df2cab2fc4 Fix build breakage
Change-Id: Ia684fb55db301fdadaa3aae93f82b2cdcfc200af
2013-08-02 10:54:55 -07:00
David Christie
ebe51fc0d8 Add WorkSource capability to AlarmManager.
Change-Id: I663ea3078d405f0fa667a04bdaa376ae6652e994
2013-08-01 13:22:40 -07:00
Matthew Williams
fa77418134 AnonymousSyncService & SyncRequest.
Changes to the way bundles are parcelled broke SM,
this update writes out the bundle as xml. This circumvents
the need for parcel, and makes it easier to debug whats
happening.
Change-Id: I6cd5d3a2eb80bfa5b3ae0c7f2d2ff91a65daaa34
2013-07-24 15:25:29 -07:00
Guang Zhu
bc668ac4b7 fix build
Change-Id: Ie4bd7c3fe9320d22b7da2962e5e5a4abca510bd2
2013-07-21 02:01:34 -07:00
Christopher Tate
3e07a89b2c Fix build & preserve DHCP scheduling as-is
Change-Id: I4063b18532c476280f343658bf3641495e526ed4
2013-07-18 18:23:57 -07:00
Svetoslav
a8c7e3f86a Fix the build - missed a renaming
Change-Id: I0e85723647c0e5a6f6374e119f0fbd43db477ee0
2013-07-16 13:43:41 -07:00
Jeff Sharkey
56cd646abe Avoid logging sensitive data.
When building commands to send across NativeDaemonConnector, scrub
sensitive arguments to prevent them from being logged.

Bug: 8609800
Change-Id: I84b16791749264a010f7e59f9918f68d71bac6b9
2013-06-07 15:09:32 -07:00
Amith Yamasani
31c0959b1a Fix test
Change-Id: I329ceff03d3707e10c2e4eabfb8e6ea61082ae6d
2013-03-30 19:00:30 -07:00
Geremy Condra
9d034debdd am 24948d3c: am 946a5c91: Merge "Save off the seinfo value with packages.list."
* commit '24948d3ca7ff7fa70ee85e9aa7530239d7b482b2':
  Save off the seinfo value with packages.list.
2013-03-28 16:55:03 -07:00
Dianne Hackborn
7039738f81 Fix build.
Change-Id: I38a25dc63107fc907a520169e1b58f00e51dbb9d
2013-03-27 17:19:35 -07:00
Amith Yamasani
0519105354 Match tests to new API.
Change-Id: I9a537a437c721ae64d9307b889b9de5d5429670f
2013-03-26 15:32:29 -07:00
Robert Craig
4a4537331b Save off the seinfo value with packages.list.
Patch adds the seinfo label per package to the file.
This is of particular interest to the run-as program
which uses the seinfo tag to correctly label the
app security context before running the shell.

Change-Id: I9d7ea47c920b1bc09a19008345ed7fd0aa426e87
Signed-off-by: rpcraig <rpcraig@tycho.ncsc.mil>
2013-03-26 08:45:28 -04:00
Lorenzo Colitti
e167135976 Always specify an interface for host routes.
Change-Id: I05b4d87e7d7e8237c6f4a70f1fedae00f416f581
2013-03-08 16:41:25 -08:00
Nick Kralevich
79619ddbfe EntropyMixer: Write entropy at shutdown / reboot / power
Write out entropy if we're shutting down or rebooting,
or if someone plugs in the power.

Bug: 8312061
Change-Id: Id9a48064a7bdfe6c05a9227ea95a1bdbd0e9b8ae
2013-03-04 13:46:45 -08:00
Maggie Benthall
6794458f86 Add location sharing toggle user restriction.
And add support for respecting it.

Change-Id: Ia5cf9134c5f5741c3f55afadbe54f862da7bfe5b
2013-02-25 12:45:14 -05:00
Jeff Sharkey
3671b1e910 Migrate to using Mockito directly.
Change-Id: I1fcc5d1a780f5831bd6685f0735d4c0c6d245735
2013-02-19 15:28:19 -08:00
Amith Yamasani
20949a76fe Fix UserManager test
Change-Id: I927ffdda3dd5f69dc136e65c8069f2e480badfe9
2013-02-11 15:47:30 -08:00
Amith Yamasani
e4cf73437a Starting point for User Restrictions API
Restrictions saved as key/value pairs, mostly booleans right now
but might be expanded to other types later.

Save and restore restrictions in the user manager service.
Enforce some of the restrictions at the framework level. Some
are enforced (also) at the app level, such as in Settings.

Change-Id: Id11ffe129cb6a177e094edf79635727388c26f40
2013-02-08 15:52:47 -08:00
Dianne Hackborn
f265ea9d83 App ops: vibration, neighboring cells, dialing, etc.
Improve handling of vibration op, so that apps are
better blamed (there is now a hidden vibrator API that
supplies the app to blame, and the system now uses this
when vibrating on behalf of an app).

Add operation for retrieving neighboring cell information.

Add a new op for calling a phone number.  This required
plumbing information about the launching package name through
the activity manager, which required changing the internal
startActivity class, which required hitting a ton of code that
uses those internal APIs.

Change-Id: I3f8015634fdb296558f07fe654fb8d53e5c94d07
2013-02-01 15:14:29 -08:00
Dianne Hackborn
d4d9364019 Maybe fix build.
Change-Id: Ibad8edb15e7cc332d6c29958a386d32a96f4e755
2013-01-29 16:12:48 -08:00
Jeff Sharkey
56dc0e02fc Merge "Tests to assert correct January behavior." 2013-01-23 01:35:21 +00:00
Jeff Sharkey
1539905b46 Tests to assert correct January behavior.
Change-Id: I162102b6f1b892b79e2f5b96cb0184abb85d00bc
2013-01-22 17:32:53 -08:00