Commit Graph

17 Commits

Author SHA1 Message Date
Matthew Williams
d08d6686c5 resolved conflicts for merge of 94b51810 to master
Change-Id: Ida818f066b66c356a84c80e5eab0a4e2cf4ebd49
2013-10-14 10:39:41 -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
Dianne Hackborn
5d93ad94a3 am 1d536848: am 239dc099: am 164371fb: Fix issue #11005453: [SUW] G+ profile creation for new user broken
* commit '1d536848af1531dd14af52000f5ab505162bf123':
  Fix issue #11005453: [SUW] G+ profile creation for new user broken
2013-10-02 09:44:30 -07:00
Dianne Hackborn
164371fb75 Fix issue #11005453: [SUW] G+ profile creation for new user broken
The main problem here was a mistake when turning a single process
structure to a multi-package-process structure with a common
process.  When we cloned the original process state, if there were
any services already created for the process for that package, they
would be left with their process pointer still referencing the
original now common process instead of the package-specific process,
allowing the active counts to get bad.  Now we switch any of those
processes over to the new package-specific process.

There was also another smaller issue with how ServiceRecord is
associated with a ServiceState -- we could be waiting for an
old ServiceRecord to be destroyed while at the same time creating
a new ServiceRecord for that same service class.  These would share
the same ServiceState, so when the old record finally finished
destroying itself it would trample over whatever the new service
is doing.

This is fixed by changing the model to instead of using an "active"
reference count, we have an object identifying the current owner
of the ServiceState.  Then when the old ServiceRecord is cleaning
up, we know if it is still the owner at that point.

Also some other small things along the way -- new Log.wtfStack()
method that is convenient, new suite of Slog.wtf methods, fixed
some services to use Slog.wtf when catching exceptions being
returned to the caller so that we actually know about them.

Change-Id: I75674ce38050b6423fd3c6f43d1be172b470741f
2013-10-01 20:51:12 -07: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
Matthew Williams
7a2ab3a060 Fix deadlock occurring on account add in SyncManager.
deadlock caused by autosync from changing sync settings.
Some minor refactoring of the function that caused the deadlock
Bug: 10666901
Change-Id: I7cf901b1954e59dbb0bc71a5de23117353b460b1
2013-09-11 23:40:17 +00:00
Matthew Williams
56dbf8f236 Fix broken javadocs
Change-Id: Ibf7f2ed92919efd36fffa963447b1a443c0bb9db
2013-09-05 15:58:24 -07:00
Matthew Williams
6222288bfb DO NOT MERGE. Remove service component for KLP.
1) As discussed, lack of internal clients -> remove SyncService
component from KLP. This CL reverts that addition.
2) Also includes javadoc cleanup of existing API.
3) Fix naming of allowMetered() -> disallowMetered() in API
4) Removed one-off sync in the future, as it doesn't make sense
for sync adapters.

Change-Id: I1b17094e6edafb2955cdfb99f39b44274fbe86f9
2013-08-30 21:28:53 +00:00
Torne (Richard Coles)
4890b085fb Revert "Fix for scheduling conflicts, address fred's comments"
This reverts commit 96ca46cf87 which broke building tests on master.

Change-Id: I7e712d03b42cd25e22c0a8e72cf4e4526cd412e1
2013-08-12 11:40:51 +01:00
Matthew Williams
96ca46cf87 Fix for scheduling conflicts, address fred's comments
The last set of comments asked for a renaming. Rather than
confuse the issue now, this patch set focuses on the internals
and API changes can come later.
Renamed AnonymousSyncAdapter -> SyncServiceAdapter

Change-Id: I596ea2f7367b83b357b2f4b56e069448d5591b2a
2013-08-09 13:37:04 -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
Amith Yamasani
e2b8599a73 am b6812eab: am f900647a: Merge "Don\'t sync from adapters that haven\'t opted in to restricted accounts" into jb-mr2-dev
* commit 'b6812eabd45790bcc745feab9456392d9d868664':
  Don't sync from adapters that haven't opted in to restricted accounts
2013-04-10 19:28:18 -07:00
Amith Yamasani
9422bdca31 Don't sync from adapters that haven't opted in to restricted accounts
SyncManager should not allow syncing of data from apps that haven't opted
in to viewing restricted accounts in limited users.

Override getIsSyncable() to check if the sync adapter has the manifest
entry to enable restricted accounts of that account type. Return the default
isSyncable state if the adapter has opted in, otherwise return 0 for false.

Bug: 8566533
Change-Id: I3777f1e4fdb8debe1724ab083272e2d9bd2e63f2
2013-04-10 17:06:02 -07:00
Dan Morrill
e4d9a01bfc Phase 1 of refactoring SystemServer.
SystemServer is currently a monolithic class that brings up key system
services. This change is the first phase of refactoring it to be more
configurable. Specifically, it adds a set of on/off switches used to control
startup of individual services. Future plans include finer grained controls
and a more explicit and consistent startup sequence for these services.

Change-Id: I7299f5ce7d7b74a34eb56dffb788366fbc058532
2013-04-04 09:49:22 -07:00
Jeff Sharkey
51366be80f Sync APIs use seconds instead of ms.
Bug: 7668972
Change-Id: I7b253fe17d9539695adc474a69546645586b5f1a
2013-03-27 14:46:55 -07:00
Jeff Sharkey
6009459405 Round up periodic syncs with short frequencies.
Bug: 7668972
Change-Id: I476ded1418a203621913098cf5d33a4e5dc533ee
2013-03-21 18:18:13 -07:00
Jeff Sharkey
7a96c39c51 Move lingering services to services.jar.
This helps reduce the pressure on framework.jar, and makes it clear
that it should only be used by the system_server.

Bug: 7333397
Change-Id: I0858904239535380fbf30562b793e277d8c3f054
2012-12-11 09:50:50 -08:00