Commit Graph

98 Commits

Author SHA1 Message Date
Jim Miller
f083324b42 Remove unnecessary userid check
This removes code used to verify the userid's were consistent, which
is no longer needed.

Fixes bug 8167800

Change-Id: I592e4bc1158fb7775bd31ae8a26c1782b60f0fa0
2013-03-11 13:57:12 -07:00
Jim Miller
a75a883fe9 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
2013-02-20 15:41:14 -08:00
Scott Main
8a05d13ef6 am 5b56d432: am 9107fa5d: am 66adf0d0: am 70af3cdb: Merge "docs: resolve bugs from external tracker" into jb-mr1-dev
* commit '5b56d43237d959403bb8a32de25376deee2dab22':
  docs: resolve bugs from external tracker
2013-01-08 12:52:38 -08:00
Scott Main
66adf0d04d am 70af3cdb: Merge "docs: resolve bugs from external tracker" into jb-mr1-dev
* commit '70af3cdb90bafc081ffa693a350b95ced48b6cfd':
  docs: resolve bugs from external tracker
2013-01-08 12:42:10 -08:00
Scott Main
6aad995042 docs: resolve bugs from external tracker
Change-Id: I680970ec63701197103f6c5ab55c25c736aa0519
2013-01-08 12:02:38 -08:00
Amith Yamasani
368ee53f25 am f663cad2: am 6c58b155: Merge "Make 3rd party lockscreen widgets work on secondary users" into jb-mr1.1-dev
* commit 'f663cad2248d5d38957f8e1408cd794c0de90202':
  Make 3rd party lockscreen widgets work on secondary users
2012-12-05 06:06:02 -08:00
Amith Yamasani
94022e8997 Make 3rd party lockscreen widgets work on secondary users
If you install a lockscreen widget app on a secondary user, lockscreen fails to find it.
There were several places where the correct context and userId were required under the
covers - AppWidgetHost, AppWidgetHostView and RemoteViewsAdapter.

Set the user id in the required places and use it to query the package information.

Bug: 7662835
Change-Id: Ife482c8ab2a2e601650b7cfe2660e88d3b8f2050
2012-12-04 16:25:38 -08:00
Amith Yamasani
0f469f4f7e am 32df98d5: am c566b43d: Fix crosstalk between users for widgets hosted in lockscreen
* commit '32df98d52d482498d998b424684610c15098897a':
  Fix crosstalk between users for widgets hosted in lockscreen
2012-11-30 18:46:45 -08:00
Amith Yamasani
c566b43d02 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
2012-11-30 17:28:08 -08:00
Adam Cohen
20b9edd805 am 224daede: am 035352b4: Merge "Making sure keyguard and homescreen only display eligible widgets (issue 7550090)" into jb-mr1.1-dev
* commit '224daede9e49f53ca5246aed66d152bfcc6d64e1':
  Making sure keyguard and homescreen only display eligible widgets (issue 7550090)
2012-11-29 14:26:29 -08:00
Adam Cohen
d9e5af3851 Making sure keyguard and homescreen only display eligible widgets (issue 7550090)
Change-Id: I25acb7bde2e8e5ac3185a009f5c7151b81f0ae19
2012-11-28 16:36:56 -08:00
Michael Jurka
3366a5d54e am cf474b1a: am 7b0c8779: Merge "Delete appWidgetId when removing lockscreen widgets" into jb-mr1.1-dev
* commit 'cf474b1a10a1349d0d6d6f7cbb5d48489bacfb09':
  Delete appWidgetId when removing lockscreen widgets
2012-11-16 15:34:20 -08:00
Michael Jurka
75b5cfb4a4 Delete appWidgetId when removing lockscreen widgets
Bug: 7550012

Change-Id: Ia9f5266256016eb91bfd6a2d5a7f910c42948f1e
2012-11-16 15:22:06 -08:00
Jean-Baptiste Queru
40a419c2a5 Merge commit '58ed5d748c0b9b64845975ef5844ad313de7c3f6' into HEAD 2012-11-08 14:44:35 -08:00
Kenny Root
58ed5d748c am 768d9e1a: Merge "Correct executable bit for source files"
* commit '768d9e1a72ceee7d4a5f608776b87b62d6ce4a04':
  Correct executable bit for source files
2012-11-07 11:52:12 -08:00
Kenny Root
3a084af2e9 Correct executable bit for source files
Many media files and source code files were marked as executable in Git.
Remove those.

Also a shell script and python script were not marked as executable.

Change-Id: Ieb51bafb46c895a21d2e83696f5a901ba752b2c5
2012-11-07 10:27:31 -08:00
Adam Cohen
180cfd5feb If a default keyguard layout isn't specified, fallback to the default layout
-> Also fixing a typo in AppWidgetProvider clone() -- this was the cause of
   the "couldn't load widget". It wasn't getting expressed before for various
   reasons.

Change-Id: Ib7114565a414d66facd8b4baeb97d5a71e96b5e9
2012-11-04 12:05:44 -08:00
Adam Cohen
4ddcd573dd Widget size policy, size callbacks
-> vertically resizable widgets behave are sized to fill
-> non-vertically resizable widgets use the small size all the time
-> providing size call-backs. ensuring that we don't send excessive /
   incorrect size callbacks. These are expensive. Had to clean things
   up to ensure we only send the truth, and not bounce around.

Change-Id: I8038de01096906526e2622c6f1cd24c171e3a4ec
2012-11-01 23:32:55 -07:00
Adam Cohen
9767597a74 Merge "Stripping dead API related to keyguard widgets" into jb-mr1-lockscreen-dev 2012-11-01 11:31:35 -07:00
Svetoslav Ganov
c4842c1193 Accessibility support for the lockscreen - phone.
Change-Id: Idc99f1322a1d635dd07e1f5efa1665a4676267c2
2012-10-31 17:49:10 -07:00
Adam Cohen
8f697d8580 Stripping dead API related to keyguard widgets
Change-Id: Ieb6c57ef736712b3266de08027f9626104cdf1bb
2012-10-31 17:42:26 -07:00
Michael Jurka
fc753c0cf6 Use new keyguard appwidget picker
Also, remove ability to filter widgets by feature
in appwidget picker in anticipation of api change

Change-Id: I325de0b98f03d3a250758d504229ea27794b5330
2012-10-31 16:53:04 -07:00
Winson Chung
6611988429 Letting partial update fall through if the widget has not received a full update yet. (Bug 7214731)
Change-Id: I4da99c259df51f8f66d3ade1156040bd0360ca5d
2012-10-11 14:27:03 -07:00
Adam Cohen
a21bf0c6ea Suppress unnecessary calls to update widget size (issue 7287744)
Change-Id: I2cec03a32b42f7a56e0f538dcd5c09de4ce2e076
2012-10-05 18:20:46 -07:00
Adam Cohen
82ebe6f777 Getting rid of keyguard widget flag that isn't used
-> issue 7238875

Change-Id: Ifad890b4061784889f3fc7711a165452cf230fbd
2012-09-28 19:33:05 -07:00
Adam Cohen
3ff2d867d4 Fixing AppWidgetService / AppWidgetHost to work in system process
-> Fixes issue 7208464
-> Fixed issue with partial update as well, should address
   issue 7214731

Change-Id: Ib8d9d5bee68b4fa7d6b4fbbc2f6609c287689958
2012-09-26 18:00:12 -07:00
Adam Cohen
6ccf4e2791 Fixing onRestoreInstanceState crash in Launcher
-> Issue 7084152

Change-Id: Ic91074adfff5918e6471c861313a51d0a179ad08
2012-09-21 16:56:51 -07:00
Adam Cohen
fbe44b7d5e Fixing partiallyUpdateAppWidget to cache the new changes
-> This is a good change to the widget framework that I've wanted to
   make for a while, but issue 7174198 triggered the immediate need.

Change-Id: I3f267e0e67f2d9f28920bb53973af365a3c9e0ba
2012-09-20 15:18:47 -07:00
Adam Cohen
60264730c1 Tweaking how settings adds keyguard widgets
-> Fix for issue 7173587
-> Fix for issue 7173877

Change-Id: I60cd3952113335df60292f67461d50f6c8bd2ed3
2012-09-18 14:38:04 -07:00
Michael Jurka
e6d5545a53 Fixing construction of handler in AppWidgetHost
Change-Id: I1253f8e2ea1621208ad7d65e5c860a1df075a44a
2012-09-17 17:30:16 -07:00
Jim Miller
f229e4d3eb Add support for settings for lock widgets
Change-Id: Iade094c6f32a7653bdbbd4921d345d68f2443ff4
2012-09-14 12:31:24 -07:00
Adam Cohen
8c09f636ba Adding a couple extras keys for keyguard widget selection
Change-Id: I2ca60769379174d12055ad44cab0fefafb24eb5c
2012-09-11 18:23:35 -07:00
Adam Cohen
0aa2d42e87 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
2012-09-11 10:53:57 -07:00
Katie McCormick
a25526ae40 am 51740d6d: am 0e9f34bf: Doc update: ACTION_APPWIDGET_OPTIONS_CHANGED link
* commit '51740d6d786bf583cd46d12beb8515aa00d84bee':
  Doc update: ACTION_APPWIDGET_OPTIONS_CHANGED link
2012-09-10 16:27:20 -07:00
Katie McCormick
0e9f34bffd Doc update: ACTION_APPWIDGET_OPTIONS_CHANGED link
Change-Id: I62def95b138282eba4f2e70fd4ab4de35aa03e89
2012-09-10 16:20:20 -07:00
Jim Miller
e667a7add4 Update AppWidgetHost with better support for OnClickHandlers
This updates AppWidgetHost and AppWidgetHostView to do a better
job at refreshing widgets and their host views.  It now allows
an OnClickHandler to be specified when creating the AppWidgetHost
which allows it to correctly update AppWidgetHostViews when needed.

Change-Id: I710c1d00a8d145bf3a9fd5f5691885bec9d1c7e4
2012-08-20 15:44:05 -07:00
Michael Jurka
85a2d7f94e am c4d7721c: am 806a3602: Merge "Update documentation on max widget bitmap usage" into jb-dev
* commit 'c4d7721cb08cc797ea592f54797135f372689f6a':
  Update documentation on max widget bitmap usage
2012-06-25 15:31:25 -07:00
Michael Jurka
806a360275 Merge "Update documentation on max widget bitmap usage" into jb-dev 2012-06-25 15:26:48 -07:00
Michael Jurka
f25ab44975 Update documentation on max widget bitmap usage
Change-Id: I564afccc425f7e76501cb7ffd404ad369bdd396d
2012-06-25 15:11:21 -07:00
Scott Main
adba6ffbb9 am 101a120c: am 9be0105f: docs: fix several links
* commit '101a120c27f68fb7d44e6221244cb9441dfc4285':
  docs: fix several links
2012-06-22 13:35:52 -07:00
Scott Main
9be0105fbc docs: fix several links
Change-Id: I89d9fd64dc22c90680bb05415cc966c255165af9
2012-06-22 12:35:08 -07:00
Winson Chung
7fbd28438c Updating AppWidgetHost to receive a callback when any appWidget has changed. (Bug 6602951)
Change-Id: I76d688b10ee7775b4ebe81259713f2aaf0009d05
2012-06-13 15:29:19 -07:00
Adam Cohen
e0bb6fe333 Merge "Cap widget bitmap usage by screen size (issue 6464700)" into jb-dev 2012-05-16 13:43:27 -07:00
Guang Zhu
1affb93764 Expose class name in AppWidgetHostView for accessibility
The class is public, part of framework, exposing it for launcher
testing.

Change-Id: Icd9b0f3e300de964b98de8d9f5f62fdc916584e3
2012-05-15 14:29:33 -07:00
Adam Cohen
311c79c3e9 Cap widget bitmap usage by screen size (issue 6464700)
Change-Id: I04e16223861a88d40ad757afa086a0f92e84493b
2012-05-10 15:52:28 -07:00
Adam Cohen
f065c96631 Accounting for widget padding in dips instead of pixels
Change-Id: I29c4290274f8b9fa6d9b49072d3cf37cf6f1acb8
2012-05-09 11:13:54 -07:00
Adam Cohen
88f041ed31 Account for auto-padding in AppWidgetHostView#updateAppWidgetSize (issue 6454251)
Change-Id: Ibf837671cc13ee89ca979e9e6dc9d144b296deba
2012-05-08 15:53:43 -07:00
Adam Cohen
d2097ebacf Changing app widget "extras" to "options" and another small API Review issue
-> (issue 6427146), (issue 6427861)

Change-Id: Ib69a9b3717a5b62317ec227936bc3b2fd5954043
2012-05-02 09:32:42 -07:00
Adam Cohen
c88d11f949 Pushing widget resize callback responsibility to AppWidgetHost
Change-Id: I33ca691deee11f8249eed6733a9ac82ed9bfbd15
2012-04-30 13:25:59 -07:00
Michael Jurka
61a5b0160d New API to allow third-party apps to bind widgets
Change-Id: I1a3761c1a0f557a32d4d3bdd0207567fec918ba7
2012-04-24 17:25:08 -07:00