History log of /frameworks/base/services/java/com/android/server/AppWidgetService.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a00271533f639c8ed36429c663889ac9f654bc72 25-Jun-2013 Svetoslav Ganov <svetoslavganov@google.com> Refactoring of the print sub-system and API clean up.

1. Now a user state has ins own spooler since the spooler app is
running per user. The user state registers an observer for the state
of the spooler to get information needed to orchestrate unbinding
from print serivces that have no work and eventually unbinding from
the spooler when all no service has any work.

2. Abstracted a remote print service from the perspective of the system
in a class that is transparently managing binding and unbinding to
the remote instance.

3. Abstracted the remote print spooler to transparently manage binding
and unbinding to the remote instance when there is work and when
there is no work, respectively.

4. Cleaned up the print document adapter (ex-PrintAdapter) APIs to
enable implementing the all callbacks on a thread of choice. If
the document is really small, using the main thread makes sense.

Now if an app that does not need the UI state to layout the printed
content, it can schedule all the work for allocating resources, laying
out, writing, and releasing resources on a dedicated thread.

5. Added info class for the printed document that is now propagated
the the print services. A print service gets an instance of a
new document class that encapsulates the document info and a method
to access the document's data.

6. Added APIs for describing the type of a document to the new document
info class. This allows a print service to do smarts based on the
doc type. For now we have only photo and document types.

7. Renamed the systemReady method for system services that implement
it with different semantics to systemRunning. Such methods assume
the the service can run third-party code which is not the same as
systemReady.

8. Cleaned up the print job configuration activity.

9. Sigh... code clean up here and there. Factoring out classes to
improve readability.

Change-Id: I637ba28412793166cbf519273fdf022241159a92
/frameworks/base/services/java/com/android/server/AppWidgetService.java
8d044e8bc287c1a567d82aedbe30085b011544c3 01-May-2013 Dianne Hackborn <hackbod@google.com> Start combining threads in system process.

This introduces four generic thread that services can
use in the system process:

- Background: part of the framework for all processes, for
work that is purely background (no timing constraint).
- UI: for time-critical display of UI.
- Foreground: normal foreground work.
- IO: performing IO operations.

I went through and moved services into these threads in the
places I felt relatively comfortable about understanding what
they are doing. There are still a bunch more we need to look
at -- lots of networking stuff left, 3 or so different native
daemon connectors which I didn't know how much would block,
audio stuff, etc.

Also updated Watchdog to be aware of and check these new
threads, with a new API for other threads to also participate
in this checking.

Change-Id: Ie2f11061cebde5f018d7383b3a910fbbd11d5e11
/frameworks/base/services/java/com/android/server/AppWidgetService.java
a75a883fe9ea1790803148f0a561473073e3f264 08-Feb-2013 Jim Miller <jaggies@google.com> Add explicit userId to AppWidget binder calls

Keyguard currently relies on being in the system process to grab the
given user's widgets. When we split keyguard into a new process,
it will need to have access to user-specific info to instantiate a
specific user's widgets. In order to accomplish this, we add an
explicit userid to each binder call as well as new permission
check to allow keyguard access.

This also fixes a potential race condition of having an incorrect user id
due to an async call to change the user. Every binder call now has a specific
user id. The user id is either the calling process user's id or an explicit
one passed by applications like keyguard. It is created once when an
AppWidgetManager is instantiated and remains for the lifetime of the object.

Fixed bug where widgets sometimes didn't show up for secondary users.

Moved permission check in AppWidgetService into getImplForUser()

Refactored to use userid from context associated AppWidgetManager instance.

Clean up AppWidgetHost to use userId from Context.

Remove redundant userId check in checkPermission since it's handled by
ActivityManager.handleIncomingUser()

Removed redundant userid check.

Upload after rebase...

Change-Id: Iae3e20f2b342c323bb58768b3d22051510f8268b
/frameworks/base/services/java/com/android/server/AppWidgetService.java
c566b43d02596cba437e9a2723e9f989297cca72 01-Dec-2012 Amith Yamasani <yamasani@google.com> Fix crosstalk between users for widgets hosted in lockscreen

This was initially about the Clock widget crashing repeatedly on some
devices with multiple users. Turned out that there were race conditions
when switching users that could result in remote views of one user calling
back to the RemoteViewsAdapter in keyguard that in turn sent an incorrect widget id
to a different user's widget, resulting in a crash.

Since KeyguardHostView is instantiated in the same process for different users,
it needs to carry a user identity to pass along to AppWidgetService so that
remote views services were bound to the correct user and callbacks were attached and
detached properly.

Added some aidl calls that take the userId to do the binding properly. A more
complete fix might be needed in the future so that all calls from Keyguard carry
the user id.

Also, there was a problem in comparing host uid for secondary users, since Settings
for a secondary user has a different uid than keyguard. Not an issue on single-user
systems. Changed the host.uid comparison to accomodate for the secondary user.

Bug: 7450247
Change-Id: Idbc36e3c60023cac74174f6cb7f2b2130dd3052c
/frameworks/base/services/java/com/android/server/AppWidgetService.java
d9e5af3851f592a00549b689dec325dc46268606 29-Nov-2012 Adam Cohen <adamcohen@google.com> Making sure keyguard and homescreen only display eligible widgets (issue 7550090)

Change-Id: I25acb7bde2e8e5ac3185a009f5c7151b81f0ae19
/frameworks/base/services/java/com/android/server/AppWidgetService.java
75b5cfb4a41030333820d072578a288d4ec9899c 16-Nov-2012 Michael Jurka <mikejurka@google.com> Delete appWidgetId when removing lockscreen widgets

Bug: 7550012

Change-Id: Ia9f5266256016eb91bfd6a2d5a7f910c42948f1e
/frameworks/base/services/java/com/android/server/AppWidgetService.java
a1a2f967e2a0de4c4190a775ac314ad32288727e 01-Nov-2012 Adam Cohen <adamcohen@google.com> Pushing state persistence to a background thread

Change-Id: If776bc22c48525ba91dc7e4dd0e27de92612f2f5
/frameworks/base/services/java/com/android/server/AppWidgetService.java
b6c171b1afa871aa092dd2ec2ed25f48275ef194 17-Oct-2012 Amith Yamasani <yamasani@google.com> Merge "Do cleanup when Stopping users" into jb-mr1-dev
756901d82b41f50610a63b7cf4c7747a70f1f724 12-Oct-2012 Amith Yamasani <yamasani@google.com> Do cleanup when Stopping users

Mark user 0 as initialized, otherwise it will show up as
uninitialized when viewed from secondary user if never switched to user 0.

Bug: 7301595

Also clean up any users that were in the process of being removed, if device
crashes at a bad time.

Change-Id: Ic16a6c9ccb6a64b7463725f6cc279335a821fcd5
/frameworks/base/services/java/com/android/server/AppWidgetService.java
52801aae89196b7ad16ef21b07d2d621e7d0bb61 13-Oct-2012 Jeff Sharkey <jsharkey@android.com> Protect more service dump() methods.

Bug: 6406965
Change-Id: Ia45a580c1e6f403308e7e540f18f2c0505af0f29
/frameworks/base/services/java/com/android/server/AppWidgetService.java
8320de8e29819963845d3d386d6d087844a5ae31 06-Oct-2012 Amith Yamasani <yamasani@google.com> Fix widget cross-talk between users due to Settings widget

Bug: 7247911
Bug: 7294899

Also did some cleanup of unused code that resulted from refactoring
the app widget service. Fixed a few more ambiguous calls that weren't
using the correct user id.
Added some logging and improved the dump() formatting.

Change-Id: I27abb5c6341458e1e50a2cc9ab67e8de573ab283
/frameworks/base/services/java/com/android/server/AppWidgetService.java
8fd96ec2dc215095d12ef3e9bd7dc50ebc78625e 22-Sep-2012 Amith Yamasani <yamasani@google.com> Show lockscreen widgets for the current user.

Also shows the owner info and next alarm for the current user.
AppWidgetService now assumes that any widgets running in the system process are for the
current user, so that lockscreen shows widgets for the current user

Bug: 7211754
Bug: 7212421

Change-Id: Iaf0edc60e49af0afe42625c0b2dcf100c9ecc178
/frameworks/base/services/java/com/android/server/AppWidgetService.java
0aa2d42e87e4a1ed5b83f356690e465d6a3587cc 08-Sep-2012 Adam Cohen <adamcohen@google.com> Adding notion of keyguard widgets

-> Persisting certain appwidget options
-> Adding ability to specify appwidget options on bind
so as to avoid AppWidgetProvider update call with no
options.

Change-Id: I5631039f19f1822b8e123b559b6353c880c0192e
/frameworks/base/services/java/com/android/server/AppWidgetService.java
fd8bf5c790749b0382c9d70424cac2367d6276e3 05-Sep-2012 Dianne Hackborn <hackbod@google.com> Fix another issue #7097984 java.lang.SecurityException: Permission Denial:

broadcast asks to run as user -1 but is calling from user 0; this requires

Dupped bug of a different problem.

Change-Id: I15f4ab08b81f5f5746ba1cd183dee4f0b1281df5
/frameworks/base/services/java/com/android/server/AppWidgetService.java
20e809870d8ac1e5b848f2daf51b2272ef89bdfc 01-Sep-2012 Dianne Hackborn <hackbod@google.com> Add registering for explicit users.

New API to register as an explicit user, which allows you to
also select ALL to see broadcasts for all users.

New BroadcastReceiver API to find out which user the broadcast
was sent to.

Use this in app widget service to handle per-user package broadcasts
and boot completed broadcasts correctly.

Change-Id: Ibbe28993bd4aa93900c79e412026c27863019eb8
/frameworks/base/services/java/com/android/server/AppWidgetService.java
4120375d46091df8527bb701882e056fbb0e6b06 31-Aug-2012 Dianne Hackborn <hackbod@google.com> Remove Binder.getOrigCallingUid().

Replaced all remaining places that used it with explicit user
specification.

While doing this, I ran into stuff that was creating PendingIntent
objects (that now need to specify the explicit user they are for),
which are also posting notifications... but have no way to specify
the user for the notification.

So the notification manager in the system process now also gets a
formal concept of a user associated with the notification, which
is passed in to all the necessary aidl calls. I also removed the
old deprecated aidl interface for posting/cancelling notifications,
since we now always need a user supplied.

There is more work that needs to be done here, though. For example
I think we need to be able to specify USER_ALL for a notification that
should be shown to all users (such as low storage or low battery).
Along with that, the PendingIntent creation needs to be tweaked to
be able to handle USER_CURRENT by evaluating the user at the point the
pending intent is sent.

That's for another change, however.

Change-Id: I468e14dce8def0e13e0870571e7c31ed32b6310c
/frameworks/base/services/java/com/android/server/AppWidgetService.java
2a00329c6d55c6cd9166e01963d7410e95d80d21 15-Aug-2012 Amith Yamasani <yamasani@google.com> UserHandle to UserSerialNo mapping

Use AtomicFile for usermanager files.

Added a MANAGE_USERS permission that apps (signature permission) can use
to create/query/modify/remove users.

Change-Id: I5cf232232d0539e7508df8ec9b216e29c2351cd9
/frameworks/base/services/java/com/android/server/AppWidgetService.java
d2097ebacf3a3658624cad10669a4d98e8d7d846 02-May-2012 Adam Cohen <adamcohen@google.com> Changing app widget "extras" to "options" and another small API Review issue

-> (issue 6427146), (issue 6427861)

Change-Id: Ib69a9b3717a5b62317ec227936bc3b2fd5954043
/frameworks/base/services/java/com/android/server/AppWidgetService.java
61a5b0160d9f2e53ef4d4b451212a63032dad32d 13-Apr-2012 Michael Jurka <mikejurka@google.com> New API to allow third-party apps to bind widgets

Change-Id: I1a3761c1a0f557a32d4d3bdd0207567fec918ba7
/frameworks/base/services/java/com/android/server/AppWidgetService.java
e8724c82ab1479f13c85a2c6219841e1fd95f2d2 20-Apr-2012 Adam Cohen <adamcohen@google.com> Adding callback for widget size changed, and potentially other extra info

Change-Id: I57738c92b6a0ba68ae66b19a533559470c64e6f1
/frameworks/base/services/java/com/android/server/AppWidgetService.java
135936072b24b090fb63940aea41b408d855a4f3 23-Mar-2012 Amith Yamasani <yamasani@google.com> User management and switching

Broadcast intents that get sent out when users are added/removed/switched.

More work on generating user-specific information in package manager queries.
APIs to update user name and query a user by id.
Removed Package.mSetStopped and mSetEnabled, since they're not user specific.

User removal:
- Cleanup ActivityManager, PackageManager, WallpaperManager, AppWidgetService
and AccountManager.
- Shutdown processes belonging to the user.

Don't show vibrate option in long-press power if there's no vibrator.

Lock the screen when switching users, to force unlocking.

Change-Id: Ib23a721cb75285eef5fd6ba8c7272462764038fa
/frameworks/base/services/java/com/android/server/AppWidgetService.java
483f3b06ea84440a082e21b68ec2c2e54046f5a6 14-Mar-2012 Amith Yamasani <yamasani@google.com> Package restrictions per user

Packages can be enabled/disabled per user.
This requires maintaining stopped/launched states and
enabled / disabled components and packages per user.

Refactored pm.Settings and PackageSettingsBase to keep
track of states per user.

Migrated the stopped-packages.xml to users/<u>/package-restrictions.xml

Changed intent resolution to handle individual user restrictions.
Bunch of IPackageManager calls now have a userId argument.
Make AppWidgetService handle removals of packages.

Added some tests for pm.Settings and PackageManager.

Change-Id: Ia83b529e1df88dbcb3bd55ebfc952a6e9b20e861
/frameworks/base/services/java/com/android/server/AppWidgetService.java
742a67127366c376fdf188ff99ba30b27d3bf90c 04-May-2011 Amith Yamasani <yamasani@google.com> Multi-user - 1st major checkin

Switching activity stacks
Cache ContentProvider per user
Long-press power to switch users (on phone)

Added ServiceMap for separating services by user
Launch PendingIntents on the correct user's uid
Fix task switching from Recents list
AppWidgetService is mostly working.

Commands added to pm and am to allow creating and switching profiles.

Change-Id: I15810e8cfbe50a04bd3323a7ef5a8ff4230870ed
/frameworks/base/services/java/com/android/server/AppWidgetService.java
c3f581b0474a216938810885f4f606e0db1f21ff 05-Dec-2011 Winson Chung <winsonc@google.com> Workaround for issue where the notifyDatasetChanged call chain is broken when Launcher is killed. (Bug 5703782)

Change-Id: Ic57a7ce85f41d58cd40b7d30eef4a1bf685182e5
/frameworks/base/services/java/com/android/server/AppWidgetService.java
933decaa5e9402099b1bfbbe1012633908c84d11 03-Nov-2011 Jeff Sharkey <jsharkey@android.com> Verify AppWidget ownership during update.

Bug: 5563081
Change-Id: I528ec944d404989bb21b32ef01feb3d35e23d3ad
/frameworks/base/services/java/com/android/server/AppWidgetService.java
9730031f8af9f20f3e85fbb2b8925461c3980233 13-Oct-2011 Adam Cohen <adamcohen@google.com> Fixing issue where widgets file was getting blown away, issue: 5036321

Change-Id: If40a9c79f70e11eee935b2dd2614e723423ff3bf
/frameworks/base/services/java/com/android/server/AppWidgetService.java
7bb9883d0564e1d3f7303d4934418998d540c1b8 06-Oct-2011 Adam Cohen <adamcohen@google.com> Adding logging to debug widget deletions

Change-Id: I15a943650f930fd3fb6163c60af85abc2865e684
/frameworks/base/services/java/com/android/server/AppWidgetService.java
15d161f61bd97e937e95fe8a8e520a947113c7b1 02-Sep-2011 Jeff Sharkey <jsharkey@android.com> Ensure appwidgets are loaded before usage.

Before accessing appwidget details, always ensure that configuration
is loaded from disk.

Change-Id: Ic71dd62fcdb1d1e5f7bae397efa8dce787434ba5
/frameworks/base/services/java/com/android/server/AppWidgetService.java
bac26a1205883ad30343f1d1f64a039dcdda9f63 17-Aug-2011 Adam Cohen <adamcohen@google.com> Getting rid of the (hidden) oldName parameter for widgets

Change-Id: I191cf64ed045fd7cb53e106f337cbeab5a914336
/frameworks/base/services/java/com/android/server/AppWidgetService.java
324afba161ae5b802e38f89c9015d8306ea3ddd1 22-Jul-2011 Adam Cohen <adamcohen@google.com> Fixing new minResizeWidth/Height API

Change-Id: I6b57cca32ed7678597e7c0d81dc483ee294537a9
/frameworks/base/services/java/com/android/server/AppWidgetService.java
1bfaf561b7c09388311f1834f17e057739cf587a 20-Jul-2011 Adam Cohen <adamcohen@google.com> Adding resizeMinWidth/Height to AppWidgetProviderInfo

Change-Id: I17dc27829938a3f25a664d8255965cf9b67cb17e
/frameworks/base/services/java/com/android/server/AppWidgetService.java
10e89712863f5b91a2982dc1783fbdfe39c1485d 09-Jul-2011 Jeff Brown <jeffbrown@google.com> Eliminate single-process mode.
Bug: 5010576

Change-Id: Id450dc83efed4897d1e4ff451530fed14457aace
/frameworks/base/services/java/com/android/server/AppWidgetService.java
4912f160875441927d012fc17b04fe7cc6567ef8 16-Jun-2011 Dianne Hackborn <hackbod@google.com> Fix to clear calling identity when binding a widget.

Change-Id: Id66abc50ec9ee69317b9838f302c4153995664f7
/frameworks/base/services/java/com/android/server/AppWidgetService.java
50469db07167e3a837e10f215baa4eacb1319604 03-Jun-2011 Dianne Hackborn <hackbod@google.com> am 7322e557: am a4cfcf10: am 75d6b3c2: Merge "Fix issue #4502672: Wrong xml resources used for homescreen widgets." into honeycomb-mr2

* commit '7322e557cfe42da42779625d69ced2db74a9df90':
Fix issue #4502672: Wrong xml resources used for homescreen widgets.
2f0b17573d4324832f7a20402a3d2b5920bc4866 01-Jun-2011 Dianne Hackborn <hackbod@google.com> Fix issue #4502672: Wrong xml resources used for homescreen widgets.

There was a race in the system process between applying the initial
configuration and executing code in higher-level system services
like the app widget service that relies on the config. For some
reason it starting showing up more after my code changes; it should
now be completely fixed.

Also fix the activity starting window to run in compatibility mode
if its application is going to be in compatibility mode.

And some various cleanup and small fixes.

Change-Id: I0566933bf1bbb4259c1d99a60c0a3c19af1542e5
/frameworks/base/services/java/com/android/server/AppWidgetService.java
2625feae79ab418355c2a4dafe8b162bba3cc1cf 24-Mar-2011 Adam Cohen <adamcohen@google.com> Modifying RemoteViewsFactory interface

-made onDestroy() one way
-moved uncaught exception handling to the application process

Change-Id: I958571a34eaa48b27e441e3a117c109fb2d2c644
/frameworks/base/services/java/com/android/server/AppWidgetService.java
c2be22cf209b675e36893d31ebe3166b6321ba6b 17-Mar-2011 Adam Cohen <adamcohen@google.com> Catching all Exceptions when calling through to RemoteViewsFactory

Change-Id: Ib20c880bb7626565541ab4697317fcfaa2e6b5b7
/frameworks/base/services/java/com/android/server/AppWidgetService.java
9611f2ea6c962c7eb05a2841d06656745f524097 28-Feb-2011 Adam Cohen <adamcohen@google.com> Small change to AppWidgetProviderInfo public field name and docs

Change-Id: Ia799cfc1824ccee1f7fd041ae8ecaa1a0395c3f6
/frameworks/base/services/java/com/android/server/AppWidgetService.java
54a351ed629e7c4adf71dc10bf3eddd653a0d84b 26-Feb-2011 Adam Cohen <adamcohen@google.com> Merge "Adding framework support for resizable widgets"
22bc69de50ebd9e6437eb3775ce6b06b8c6052dc 26-Feb-2011 Winson Chung <winsonc@google.com> Fixing build

Change-Id: I3d60c115190a6e478777229d4851dedc78111c39
/frameworks/base/services/java/com/android/server/AppWidgetService.java
d2e20de64b6de8b6391c63e2f5b02ce7698bf4bf 25-Feb-2011 Adam Cohen <adamcohen@google.com> Adding framework support for resizable widgets

-> Added resizeMode to the widget xml
-> Fixed an unexposed bug in AppWidgetHost where
minWidth and minHeight were never being converted
from complex type to dp

Change-Id: Ibbc4fc6542d095623ac2a40694b6a3dbfeb279ad
/frameworks/base/services/java/com/android/server/AppWidgetService.java
84bbb020217adcdfe0694c44ccab57e208ffde16 21-Feb-2011 Winson Chung <winsonc@google.com> Fixing issue where RemoteViewsService.onDestroy() was never being called.

Change-Id: I15ad04eee18bc3e09d4846c7f2f2d2d8d168e518
/frameworks/base/services/java/com/android/server/AppWidgetService.java
16c8d8a558f94ec14ef52bb5ac11044e2d0d902c 21-Jan-2011 Winson Chung <winsonc@google.com> Re-enabling queued unbinding of services after requests to the service. (3394210)

- Fix for crash when detaching from window
- Potential fix for occasional IllegalStateException when updating List based widgets

Change-Id: I3d3f2bb691552a1136111043db686c4926b510c6
/frameworks/base/services/java/com/android/server/AppWidgetService.java
32cf193412bb1261b0b8d9ab69df68e635a1e77d 19-Jan-2011 Winson Chung <winsonc@google.com> Disabling queued unbinding of RemoteViewsServices until we fix flashing in widgets.

Change-Id: Iee53d4930dc4007df4298a282cdd5101876215a1
/frameworks/base/services/java/com/android/server/AppWidgetService.java
81f39eb6e76d0be1dd341af835e8002a0f80524e 12-Jan-2011 Winson Chung <winsonc@google.com> Refactoring app widgets to address security/performance issues.

- Moving the service binding to AppWidgetService to prevent arbitrary apps from binding to widget services
- Requiring RemoteViewsServices to require android.permission.BIND_REMOTEVIEWS permission

Change-Id: Id135bafba998299eb278067712b8a5d8487cfd04
/frameworks/base/services/java/com/android/server/AppWidgetService.java
d070e89396e250782c015bc993bcae6e7e03af7a 08-Jan-2011 Joe Onorato <joeo@google.com> Make AppWidgetService handle components enabling and disabling.

Change-Id: Ie6b75cb90be38bbce694ccf2d5a342d7f0172fa4
/frameworks/base/services/java/com/android/server/AppWidgetService.java
a02fdf1ba03fad71cc80a89dfc74b17456d5b4a5 03-Nov-2010 Adam Cohen <adamcohen@google.com> Adding widget auto-advance capability

Change-Id: I058573f40a48fd7b5c2efa5f1041a1199919a51a
/frameworks/base/services/java/com/android/server/AppWidgetService.java
267f4d6a22aade4f63831e166312647212816a3d 27-Aug-2010 Joe Onorato <joeo@google.com> am 8f0f1b1e: am 274ad982: Merge "Just disable widgets that come from apps on sd cards, because they don\'t work anyway." into gingerbread

Merge commit '8f0f1b1e9defc61c2831e8856b18f2e00cfd789d'

* commit '8f0f1b1e9defc61c2831e8856b18f2e00cfd789d':
Just disable widgets that come from apps on sd cards, because they don't work anyway.
0add80b454c5fe99a158a9537666a4c8ab999359 27-Aug-2010 Joe Onorato <joeo@google.com> am 32982c70: am cc45381e: Merge "Fix typo that makes apps on sd work better with app widgets." into gingerbread

Merge commit '32982c701cee6f73262200468419b80343a0bea7'

* commit '32982c701cee6f73262200468419b80343a0bea7':
Fix typo that makes apps on sd work better with app widgets.
331fbdc7e9588018dac28de8b6196653cea1f08b 24-Aug-2010 Joe Onorato <joeo@google.com> Just disable widgets that come from apps on sd cards, because they don't work anyway.

Change-Id: I2d7ef4a63bcbd43547e40c01e997d813cc01e800
/frameworks/base/services/java/com/android/server/AppWidgetService.java
94258cd70438e444e139a26da12fd7e5a8782332 24-Aug-2010 Joe Onorato <joeo@google.com> Fix typo that makes apps on sd work better with app widgets.

Bug: 2489571
Change-Id: Idbfb91d960b952aaf32c604b7e52592d77b5ef2e
/frameworks/base/services/java/com/android/server/AppWidgetService.java
6394c0e52cf641d93f678fd052499aa952e3595d 16-Aug-2010 Winson Chung <winsonc@google.com> Adding callback and fix to RemoteViewsFactory on notifyDataSetChanged.
Also removing extra parameter in AppWidgetManager.notifyDataSetChanged.

Change-Id: Ic771fe045ae793a6dacf09f1230e7c1c4b59a13e
/frameworks/base/services/java/com/android/server/AppWidgetService.java
2dd2197805edb4d9547b143deef2226413218f4c 16-Aug-2010 Adam Cohen <adamcohen@google.com> -> Enabled partial updates to app widgets through AppWidgetManager.
Partial updates are not cached by the AppWidgetService.
-> Added the ability to insert commands with no parameters into
RemoteViews objects.
-> Added showNext() and showPrevious() methods to RemoteViews.
-> Made showNext() / showPrevious() of AdapterViewFlipper remotable.

Change-Id: Ic5491bb374424a54728c4ca92b94b1f00dfb87ff
/frameworks/base/services/java/com/android/server/AppWidgetService.java
499cb9f516062b654952d282f211bee44c31a3c2 16-Jul-2010 Winson Chung <winsonc@google.com> Initial changes to allow collections in widgets.

Change-Id: I3cfa899bae88cd252912cecebc12e93c27a3b7c9
/frameworks/base/services/java/com/android/server/AppWidgetService.java
d2db2a579440608453994b64eb5b425840f5307a 23-Jun-2010 Patrick Dubroy <dubroy@google.com> Add a new attribute to allow widgets to specify a preview image.

Change-Id: I0d79c85c6a2fc477af17eda05eabaa3151b0bef5
/frameworks/base/services/java/com/android/server/AppWidgetService.java
a8a8a42f8570bdbe66a09fc278564e7a549158da 16-Jun-2010 Joe Onorato <joeo@android.com> Fix bug 2772728 with the suggested fix. I wasn't able to reproduce it though.

Change-Id: Ic3e3a7c679a74b822a3567faeb353950af3cfbca
/frameworks/base/services/java/com/android/server/AppWidgetService.java
6de3a6fdd303b15ad944570daf37faa798dc1989 04-May-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master

Change-Id: I5f552b45caae639170674213c23f154437b58afd
bd742e4336a04ea1e8e9a15cf8f66ec6097b883f 30-Apr-2010 Patrick Tsai <yinghau76@gmail.com> Fix typo of <p> end tag in appwidgets.xml

Change-Id: Ic1f4d8ade0d32f3b74decbe557d4275dc2e19466
/frameworks/base/services/java/com/android/server/AppWidgetService.java
d2671e1fcf1d7f1b8e25a2615d514cf3c26b6a9c 12-Mar-2010 Romain Guy <romainguy@android.com> Preserve widgets on upgrade.
Bug #2464545

Change-Id: I802878af49dc4d98210fb8049df0bbdc49268d99
/frameworks/base/services/java/com/android/server/AppWidgetService.java
ff3e61c6d5de339300d26227b69bfd9ee0827103 12-Mar-2010 Romain Guy <romainguy@android.com> Support old/new package names for widgets.

Change-Id: I134c4e694e66aaea47ad7da83d37b6621f4a527a
/frameworks/base/services/java/com/android/server/AppWidgetService.java
20cb56e26e91df91bd64d4251222e0d421cdbe47 04-Mar-2010 Dianne Hackborn <hackbod@google.com> Fix some bugs.

Bug #2376231: Apps lose window focus (and back key causes ANR) if the
lock screen is dismissed while the phone is in landscape mode

This is another case where we weren't recomputing the focused window
after changing the visibility policy.

bug #2479958: Investigate source of "Resources don't contain package
for resource number 0x7f0a0000"

Um, okay, so it turns out there were bugs all over the place where
we would load an XML resource from a another application, but not
use the Resources for that application to retrieve its resources...!
I think the only reason any of this stuff was working at all was
because it typically only cared about retrieving the resource
identifiers of the items (it would look up the values later).

Bug #2401082: Passion ERE26 monkey crash - InputMethodManagerService

Add some null checks.
/frameworks/base/services/java/com/android/server/AppWidgetService.java
8a9b22056b13477f59df934928c00c58b5871c95 27-Feb-2010 Joe Onorato <joeo@android.com> Switch the services library to using the new Slog
/frameworks/base/services/java/com/android/server/AppWidgetService.java
2269d1572e5fcfb725ea55f5764d8c3280d69f6d 25-Feb-2010 Dianne Hackborn <hackbod@google.com> Re-arrange android-common so framework no longer links with it.

This is the framework part, moving classes around so the framework
no longer needs to link to android-common. Makes some APIs public,
others that didn't need to be public are private in the framework,
some small things are copied.
/frameworks/base/services/java/com/android/server/AppWidgetService.java
5f85780db058d3babb435466b33834c3cc70f5c1 11-Feb-2010 Bjorn Bringert <bringert@android.com> Fix NPE in AppWidgetService.addProvidersForPackageLocked()

queryBroadcastReceivers() can return null, so AppWidgetService
should guard against that.

Fixes http://b/issue?id=2418982

Change-Id: I1ba83c0c37622e0280f3dba2fef5eca2cc90c975
/frameworks/base/services/java/com/android/server/AppWidgetService.java
b56ae20b22fd7283df32072a431ab6d4965f3c1b 05-Feb-2010 Suchi Amalapurapu <asuchitra@google.com> Rename media resource broadcasts
Add checks for fwdlocked and updated system apps
add more tests
remove duplicate adds
/frameworks/base/services/java/com/android/server/AppWidgetService.java
08675a3376819a82aa5ab344bc3e7b1635c30b05 28-Jan-2010 Suchi Amalapurapu <asuchitra@google.com> Apps on sdcard: Add new broadcasts

Add new broadcasts ACTION_MEDIA_RESOURCES_AVAILABLE and
ACTION_MEDIA_RESOURCES_UNAVAILABLE that get broadcast by
PackageManagerService when sdcard gets mounted/unmounted
by MountService so that packages on sdcard get recognized by
various system services as being installed/available or
removed/unavailable by the system.
The broadcasts are sent before the actual package cleanup which includes
mounting/unmounting the packages and we force a gc right after so
that any lingering file references to resources on sdcard get
released.
/frameworks/base/services/java/com/android/server/AppWidgetService.java
f6133febaead08d597c4454d543ee3cba5158a90 02-Feb-2010 Joe Onorato <joeo@android.com> Fix bug 2362761 AppWidgetService should use Intent.setPackage()

Thanks Bjorn for the tip.
/frameworks/base/services/java/com/android/server/AppWidgetService.java
d4a4729c0cac582a2dcec7c8cfb316b81885a0f0 21-Dec-2009 Tom Taylor <tomtaylor@google.com> Update imports to android-common

Several files were moved to android-common. Update all the references
to import those files from the new location.
/frameworks/base/services/java/com/android/server/AppWidgetService.java
63c2d9ed9cb2174137ee43acb6ee2a86ff4451ea 23-Oct-2009 Eric Fischer <enf@google.com> Update the names of the widgets when the locale changes.

Bug 1814373, Bug 2152730
/frameworks/base/services/java/com/android/server/AppWidgetService.java
8550f255232eb4e4852466c5297fdc125887f5af 30-Sep-2009 Suchi Amalapurapu <asuchitra@google.com> Check if rename of backed up file fails before persisting new changes.
If not these system services will end up with inconsistent settings files
when the device runs out of storage.
Delete mangled settings file in PackageManager if the current write fails
so that we don't end up overwriting the backed up version with the
mangled version
Include null check when retrieving fwd locked resource for an existing package
/frameworks/base/services/java/com/android/server/AppWidgetService.java
e21167a9e5978f167fa6e8d26bbb2986b6609372 24-Sep-2009 Ken Shirriff <kens@google.com> Fix widget stopListening NPE.

lookupHostLocked caller needs to check for null return value.
/frameworks/base/services/java/com/android/server/AppWidgetService.java
002716d49a27d72efff810418b08c1ec8620aa8c 12-Aug-2009 Dianne Hackborn <hackbod@google.com> Fix issue #2049588: App widget can crash causing system to be unable to boot
/frameworks/base/services/java/com/android/server/AppWidgetService.java
be96b3a2aa7ec6d57ac038d4a5326fc168585ad6 15-Jul-2009 Joe Onorato <joeo@android.com> Clamp app widget updates from updatePeriodMillis to a minimum of 30 minutes.
/frameworks/base/services/java/com/android/server/AppWidgetService.java
a54755962ca7725d1e2b6cacbbaece6f1cbf5af4 02-Jul-2009 Romain Guy <romainguy@android.com> Cleanup a bunch of warnings in app widgets code.
/frameworks/base/services/java/com/android/server/AppWidgetService.java
8f25c426b118c35f558cbf27bd413e1eb6d59823 01-Jul-2009 Mitsuru Oshima <oshima@google.com> resolve complex value in application context instead of system context.
/frameworks/base/services/java/com/android/server/AppWidgetService.java
54796e740584b50323fe742a27e5d3f5be01ca06 01-May-2009 Marco Nelissen <marcone@google.com> Make the home screen come up in the simulator.
/frameworks/base/services/java/com/android/server/AppWidgetService.java
1d442e0d990b581357f33f5463c7c5cb49b551e8 21-Apr-2009 Dianne Hackborn <hackbod@google.com> More optimization of dumpsys output.

There are three major classes of changes here:

- Avoid writing lines where their values are often empty, false, or some other typical thing.
- Use partial writes to the PrintWriter to avoid creating temporary strings.
- Use StringBuilder where we need to generate real String objects (and where possible cache the result).
/frameworks/base/services/java/com/android/server/AppWidgetService.java
c39a6e0c51e182338deb8b63d07933b585134929 11-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137873
/frameworks/base/services/java/com/android/server/AppWidgetService.java