summaryrefslogtreecommitdiff
path: root/core/java/android/appwidget/AppWidgetHost.java
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Add function to AppWidgetService for updating widget visibility" into ↵Sihua Ma2022-10-211-0/+16
|\ | | | | | | tm-qpr-dev
| * Add function to AppWidgetService for updating widget visibilitySihua Ma2022-10-201-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | Currently, when the widget host stops listening to the widget updates, the callback will be set to null and the updates to the widget will be stashed on the service side. Additionally, the visibility of the widget will be changed. For an upcoming change to the launcher side, a function that only changes the visibility should be added. Test: N/A Bug: 235358918 Change-Id: I9a0f244ca76b378d9c337e0a364bca5955f5ae96
* | Put widget view updating logic in setListenerSihua Ma2022-09-211-10/+9
|/ | | | | | | | | Changed the name of function addListener to setListener and migrated the view-updating logic from createView to setListener Test: N/A Bug: 235358918 Change-Id: I013973674c305095a082adfa29e8f2802db90c26
* The launcher to always listen to app widgetSihua Ma2022-08-251-36/+88
| | | | | | | | | | | | | | | | Making changes to AppWidgetHost and AppWidgetHostView to make sure 1. We could make further changes the implementation of the listener in launcher 2. There is backward compatibility by making AppWidgetHostView a listener Design doc: https://docs.google.com/document/d/1QpTYeOvbpGlcOLe26BtMmpaN2_rG-EC1vn4eNo89zZs/edit?usp=sharing Test: N/A Bug: 235358918 Change-Id: I8c3cd4eee86d93dfdeb14b0dd6d086a49e1b3b18
* Add hidden setter for AppWidgetHost's InteractionHandlerCyrus Boadway2021-04-131-0/+9
| | | | | | | | | | This will allow Quickstep launchers, e.g. NexusLauncher, to provide a custom interaction handler. Bug: 169042867 Test: manual testing Change-Id: Id70cb463e2671e32ea9f52f06487ac63fcf57e0d
* Add checked change APIs to RemoteViewsStevie Kideckel2021-02-171-6/+6
| | | | | | Bug: 179245670 Test: built sample app to use APIs with and without collections, atest Change-Id: I5474bfb7dc15d559867063d1d8516b8ca2ef9755
* Add maxTargetSdk restriction to unused APIs.Mathew Inwood2020-10-291-2/+3
| | | | | | | | | | | | | | | | | | | These are APIs that have @UnsupportedAppUsage but for which we don't have any evidence of them currently being used, so should be safe to remove from the unsupported list. This is a resubmit of ag/12929664 with some APIs excluded that caused test failures; see bugs 171886397, 171888296, 171864568. APIs excluded: Landroid/bluetooth/le/ScanRecord;->parseFromBytes([B)Landroid/bluetooth/le/ScanRecord; Landroid/os/Process;->myPpid()I Landroid/os/SharedMemory;->getFd()I Landroid/hardware/input/InputManager;->INJECT_INPUT_EVENT_MODE_WAIT_FOR_FINISH:I Bug: 170729553 Test: Treehugger Change-Id: I8285daa8530260251ecad6f3f38f98e263629ca7
* Revert "Add maxTargetSdk restriction to unused APIs."Hongwei Wang2020-10-281-3/+2
| | | | | | | | | This reverts commit 72f07d6a8a32db4a0dedd7682a0b3385be2b9cd6. Reason for revert: Droidcop-triggered revert due to breakage https://android-build.googleplex.com/builds/quarterdeck?testMethod=testAppZygotePreload&testClass=android.app.cts.ServiceTest&atpConfigName=suite%2Ftest-mapping-presubmit-retry_cloud-tf&testModule=CtsAppTestCases&fkbb=6936597&lkbb=6936969&lkgb=6936551&testResults=true&branch=git_master&target=cf_x86_phone-userdebug>, bug b/171886397 Bug: 171886397 Change-Id: Ibe0f0430a3451477c1ee8ef56a596e91ea1e7672
* Add maxTargetSdk restriction to unused APIs.Mathew Inwood2020-10-271-2/+3
| | | | | | | | | | These are APIs that have @UnsupportedAppUsage but for which we don't have any evidence of them currently being used, so should be safe to remove from the unsupported list. Bug: 170729553 Test: Treehugger Change-Id: I4c8fd0006f950de9955242e93968fb0996ceb372
* Use new UnsupportedAppUsage annotation.Artur Satayev2019-12-181-1/+1
| | | | | | | | Existing annotations in libcore/ and frameworks/ will deleted after the migration. This also means that any java library that compiles @UnsupportedAppUsage requires a direct dependency on "unsupportedappusage" java_library. Bug: 145132366 Test: m && diff unsupportedappusage_index.csv Change-Id: I8789f8499d4dca08580672e9e45ed9a7026dd686
* Setup OnAppWidgetRemoved on frameworkSamuel Fufa2019-09-101-0/+32
| | | | | | Test: Manual Bug:140140567 Change-Id: I3033b83ff8f55938b5cd898c7e30bb2259af9c5f
* Add @UnsupportedAppUsage annotationsMathew Inwood2018-08-091-0/+5
| | | | | | | | | | | | | | | | For packages: android.appwidget This is an automatically generated CL. See go/UnsupportedAppUsage for more details. Exempted-From-Owner-Approval: Mechanical changes to the codebase which have been approved by Android API council and announced on android-eng@ Bug: 110868826 Test: m Change-Id: Idbddc50320e7df92e0f260c1e309e5390b502d28
* Add a condition in AppWidgetHost to honor config_enableAppWidgetService.Rajeev Kumar2018-04-051-2/+4
| | | | | | Bug: 74039047 Test: make cts-verifier -j32 Change-Id: Iaca4e043443efeb695ebfd57c605e5cc1516a49a
* Fix crashes in AppWidgetHost when app_widgets is not supportedElijah Taylor2017-06-231-11/+43
| | | | | | | | | | | | | | | | | Even though an app is supposed to declare android.software.app_widgets when relying on the widgets API, some apps still use this API without declaring the feature. Previously AppWidgetHost relied on having an AppWidgetService available, without checking for feature development before dereferencing the service. This stubs out the AppWidgetHost interface when the app_widgets feature is not available. Bug: 28847209 Test: run nova launcher, observe no crash Change-Id: Idaf46de990fffa6c6a03562f8e097c0a6a320c8a (cherry picked from commit 0536802defc7df6edb22e076b1147d0d919da0f8)
* Adding API AppWidgetHost.getAppWidgetIds() to get active widgets of the hostSunny Goyal2017-04-181-2/+0
| | | | | | Bug: 37435178 Test: Added CTS Change-Id: I621247e0887b3931bfb92431d94f97507a303e5c
* Fixing dimensions for AppWidgetProviderInfo not getting updated properlySunny Goyal2017-01-191-10/+1
| | | | | | | for PinItemRequest Test: Manually tested on device Change-Id: I7bbf7e93e052ef25c2a4a98ff0795ef500f68cc0
* Maintaining diff for all widget operations instead of just the Views updateSunny Goyal2016-05-161-7/+15
| | | | | | | | | | | When the widget starts lisnening again, it receives all the pending updates until that point (restricted to the requested widgetIds). When startListening is called for the first time, the widgetIds is empty and it does not get any updated. Further calls to startlisting will give the missed updates for the bound widgets Bug: 23892701 Change-Id: I3aa06d3e33a0861c19cfd5ced567d5bb3b93d906
* Changing startListening to only fetch views which are boundSunny Goyal2016-04-041-14/+20
| | | | | | | | Also associating a lastUpdateTime with every widget. This allows the host to query the widgets which were updated only after the last stopListening call. Change-Id: If9375cf2d8caa0ccca14b6649821d87ada1f3a84
* Avoid non-static innner classes that are passed over via IPC.Svetoslav2014-12-181-13/+37
| | | | Change-Id: Ic14565c135b1f2ba50fa57462738b8dbc0e73301
* Removing context ref from AppWidgetHost. (Bug 18769791)Winson Chung2014-12-171-11/+11
| | | | Change-Id: Ieec1314ece219c178c140e572b031c94e83b8a93
* RemoteViews service not unbound.Svet Ganov2014-08-241-9/+8
| | | | | | | | | | | | | | | | | | | | We are checking whether an app can access an app widget based on the calling uid and the package name. The package is mostly to make sure that hosts in different apps do not accidentally interfere whereas the security is enforced by the uid. When remote views adapter binds and unbinds to a remote views serivce it was passing the package of the context we create to load resources for the widget instead the package of the host. Now it is passing the host package and also we are checking if the caller of bind remove serivce API is in uid that has the host package - this makes it consistent with elsewhere. bug:17226052 Change-Id: I2b0b6669e3dc027037b7481c2871cedabd642433
* Polish the new cross-profile app widget APIsSvetoslav2014-08-081-15/+16
| | | | | | bug:14991269 Change-Id: I5996f8c69a3d151ff1ecd8f19403dd606f588150
* Polish of the app widgets cross-profiles feature.Svetoslav2014-08-071-12/+4
| | | | | | | | | | | | | | | | | | | | 1. Added API for badging an arbitrary drawable at a given location. 2. Updated the icon and previewImage deprecation as they are no longer returning a badged drawable. The methods to load the icon and the preview are now just making it easier for a developer to get the drawables. 3. Fixed a bug in AppWidgetServiceImpl leading to a crash when a user is removed. 4. Fixed a bug in AppWidgetHost which was unnecessarily caching its package name and having code paths where the cached value was not populated when calling into the system. bug:14991269 Change-Id: I50d011a6597d88814715d5ec04ee67815e8ce0bd
* Allow adding widgets from user profiles.Svetoslav2014-08-051-75/+56
| | | | | | | | | | | | | The goal of this change is to enable support for appwidget from user profiles to the user main profile. A user profile is a user which is associated as a child of the main user profile. For example, a user may have a personal (parent) and corporate (child) profile. The device policy should be able to control whether adding a widget from a child profile and given packages is allowed. This change assumes that all packages from managed profiles are white listed. Another change will add the device policy changes. Change-Id: I267260b55d74c48b112a29979a9f59eef7a8194e
* Remove unused imports from frameworks/base.John Spurlock2013-11-201-2/+0
| | | | Change-Id: Ia1f99bd2c1105b0b0f70aa614f1f4a67b2840906
* am 18748035: am 379517b0: Merge "Fixing issue where ↵Winson Chung2013-06-051-9/+1
|\ | | | | | | | | | | | | AppWidgetHost.onProvidersChanged() was not being called. (Bug 9270309)" into jb-mr2-dev * commit '18748035bbced3b6246b802ab07ee58859a29b0c': Fixing issue where AppWidgetHost.onProvidersChanged() was not being called. (Bug 9270309)
| * Fixing issue where AppWidgetHost.onProvidersChanged() was not being called. ↵Winson Chung2013-06-041-9/+1
| | | | | | | | | | | | (Bug 9270309) Change-Id: I6cfb8e0c586fad7360a07f98e1280a954f62e5e1
* | am 26ebeb6d: am 7b3526d5: Merge "Fix alternate time zone display for clock ↵Jim Miller2013-03-221-2/+2
|\| | | | | | | | | | | | | widget." into jb-mr2-dev * commit '26ebeb6d554e963a496d42ec3ab8213c35c51e1c': Fix alternate time zone display for clock widget.
| * Fix alternate time zone display for clock widget.Jim Miller2013-03-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | This fixes a bug where the widget resize event was being sent for the wrong user. The issue was with creating AppWidgetHostViews with Keyguard's context which contains the wrong user id. Fixes bug 8392718 Change-Id: I7efbc13161800224a342880c35470ed0b45824d0
* | am 33c05985: am e70748e7: Merge "Remove unnecessary userid check" into ↵Jim Miller2013-03-111-13/+0
|\| | | | | | | | | | | | | jb-mr2-dev * commit '33c05985102ea9a357263bba8e6a3789d20f6ba7': Remove unnecessary userid check
| * Remove unnecessary userid checkJim Miller2013-03-111-13/+0
| | | | | | | | | | | | | | | | | | This removes code used to verify the userid's were consistent, which is no longer needed. Fixes bug 8167800 Change-Id: I592e4bc1158fb7775bd31ae8a26c1782b60f0fa0
* | Fix widget update issueJim Miller2013-03-051-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | This fixes an issue where widgets weren't being updated. It was caused by creating widgets with the wrong package id. Keyguard used to be identified with package "android" when it was running in the system proces. Now that it's separate, we need to explicitly pass in the package name for keyguard ("com.android.keyguard") when we allocate app widget ids. Change-Id: I48e1b78d97aa3d0271773219e477d3b741994901
* | Move keyguard to its own process.Jim Miller2013-02-271-1/+0
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is in preparation to moving keyguard into its own process. Moved keyguard source and resources into new .apk. Got basic test app working. Still need to implement MockPatternUtils and means to pass it into KeyguardService with local binder interface. Added new ACCESS_KEYGUARD_SECURE_STORAGE permission. Temporarily disabled USER_PRESENT broadcast. Remove unintentional whitespace changes in PhoneWindowManager, etc. Checkpoint basic working version. Move to systemui process. Synchronize with TOT. Sync with recent user API changes. Fix bug with returing interface instead of stub for IKeyguardResult. Create KeyguardServiceDelegate to allow for runtime-selectable local or remote interface. More keyguard crash robustness. Keyguard crash recovery working. Currently fails safe (locked). Fix selector view which was still using frameworks resources. Remove more references to internal framework variables. Use aliases for those we should move but currently have dependencies. Allow runtime switching between service and local mode. Fix layout issue on tablets where orientation was reading the incorrect constant from the framework. Remove more framework dependencies. Fix PIN keyboard input. Remove unnecessary copy of orientation attrs. Remove unused user selector widget and attempt to get multi user working again. Fix multi-user avatar icon by grabbing it from UserManager rather than directly since keyguard can no longer read it. Merge with AppWidget userId changes in master. Change-Id: I254d6fc6423ae40f6d7fef50aead4caa701e5ad2
* Add explicit userId to AppWidget binder callsJim Miller2013-02-201-73/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Make 3rd party lockscreen widgets work on secondary usersAmith Yamasani2012-12-041-0/+16
| | | | | | | | | | | 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
* Fix crosstalk between users for widgets hosted in lockscreenAmith Yamasani2012-11-301-2/+28
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Delete appWidgetId when removing lockscreen widgetsMichael Jurka2012-11-161-0/+16
| | | | | Bug: 7550012 Change-Id: Ia9f5266256016eb91bfd6a2d5a7f910c42948f1e
* Fixing AppWidgetService / AppWidgetHost to work in system processAdam Cohen2012-09-261-0/+11
| | | | | | | | -> Fixes issue 7208464 -> Fixed issue with partial update as well, should address issue 7214731 Change-Id: Ib8d9d5bee68b4fa7d6b4fbbc2f6609c287689958
* Tweaking how settings adds keyguard widgetsAdam Cohen2012-09-181-2/+6
| | | | | | | -> Fix for issue 7173587 -> Fix for issue 7173877 Change-Id: I60cd3952113335df60292f67461d50f6c8bd2ed3
* Fixing construction of handler in AppWidgetHostMichael Jurka2012-09-171-1/+1
| | | | Change-Id: I1253f8e2ea1621208ad7d65e5c860a1df075a44a
* Add support for settings for lock widgetsJim Miller2012-09-141-3/+51
| | | | Change-Id: Iade094c6f32a7653bdbbd4921d345d68f2443ff4
* Update AppWidgetHost with better support for OnClickHandlersJim Miller2012-08-201-6/+18
| | | | | | | | | 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
* Updating AppWidgetHost to receive a callback when any appWidget has changed. ↵Winson Chung2012-06-131-1/+19
| | | | | | (Bug 6602951) Change-Id: I76d688b10ee7775b4ebe81259713f2aaf0009d05
* Adding resizeMinWidth/Height to AppWidgetProviderInfoAdam Cohen2011-07-191-0/+4
| | | | Change-Id: I17dc27829938a3f25a664d8255965cf9b67cb17e
* Adding framework support for resizable widgetsAdam Cohen2011-02-251-4/+17
| | | | | | | | | -> 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
* Allow old view hierarchy to be GC'ed more quickly during rotation.Patrick Dubroy2011-01-141-0/+11
|
* Adding callback and fix to RemoteViewsFactory on notifyDataSetChanged.Winson Chung2010-08-171-5/+4
| | | | | | Also removing extra parameter in AppWidgetManager.notifyDataSetChanged. Change-Id: Ic771fe045ae793a6dacf09f1230e7c1c4b59a13e
* Initial changes to allow collections in widgets.Winson Chung2010-07-191-0/+23
| | | | Change-Id: I3cfa899bae88cd252912cecebc12e93c27a3b7c9
* Need to give the AppWidgetHostView the new info about the provider, in case ↵Joe Onorato2010-06-231-2/+2
| | | | | | | | | the initialLayout changed. Bug: 2772728 Change-Id: I9e230fbe42d01cfc953cdafb86dd0d616d96a3ea
* Call into app widget hosts when the provider is updated.Joe Onorato2010-05-041-2/+8
| | | | Change-Id: If0a2459901e88cf04810b23178e4673d44fa69cc