On Fri, Jan 13, 2012 at 5:13 AM, Dusk Jockeys Android Apps < [email protected]> wrote:
> Thanks Dianne, for this infomation on Compatibility Testing. > > Couuld you clarify the exact scope? Is it the devices core API that > have to pass or their implementation of it? > It is everything covered in the CTS tests. These test public APIs amongst other things. > On the latest Samsung Tablets (e.g. Tab 7 Plus) the LayoutAnimation on > AppWidgets doesn't work in their TouchWiz homescreen. From the log cat > it seems they are deliberately stripping them out. > This works perfectly in AppWidgets in the emulator from all APIs since > 1.5, and on most other realworld devices. > However, if I install another Homescreen app on the Tablet such as Go > Launcher, the AppWidgets are fine and display the LayoutAnimations > correctly. > Hm, that is certainly unfortunate. I can imagine good reasons for this -- for example if their home screen is all implemented in OpenGL, they would need to render the app widgets into a separate texture and draw them to the screen with that. This would make executing animations and such in them pretty problematic. I'll file an issue for this to have it investigated. > So it their Touchwiz homescreen covered by the CTS, or do they pass > because their underlying Android implementation supports it, as shown > by Go Launcher, and it is just my tough luck that their particular > Home Screen is not fully featured? > Well to be honest it is hard for CTS specifically to cover this kind of thing, because it is pretty unclear how to write an API unit test that is able to verify that some other application is performing the animation on the screen. However, the overall CDD covers a lot of things -- for example if you look at http://static.googleusercontent.com/external_content/untrusted_dlcp/source.android.com/en/us/compatibility/4.0/android-4.0-cdd.pdf there is section 3.8.1 on app widgets, with the relevant requirement being: "Device implementations MAY substitute an alternative to the reference Launcher (i.e. home screen). Alternative Launchers SHOULD include built-in support for AppWidgets, and expose user interface affordances to add, configure, view, and remove AppWidgets directly within the Launcher.Alternative Launchers MAY omit these user interface elements; however, if they are omitted, the device implementation MUST provide a separate application accessible from the Launcher that allows users to add, configure, view, and remove AppWidgets. Device implementations must be capable of rendering widgets that are 4 x 4 in the standard grid size. (See the App Widget Design Guidelines in the Android SDK documentation [Resources, 18] for details." So I think technically right now there is nothing wrong with not showing animations, as long as the app widget is still functional. It is worth considering whether this requirement should be more specific... though to be honest, this may just become irrelevant since with 4.0 the UI is all hardware accelerated so there would be little benefit anymore to use OpenGL to implement launcher (if that is what they are doing), and they would need to support the much more interactive app widgets that were added in 3.0 which makes just running animations look trivial. App widgets are also an interesting topic because there is a certain amount of control over them you just need to assume you don't have. What you are doing is offering up a specification to another application of some UI to show embedded in it. The other application is allowed to have a fair amount of flexibility in how it displays this, to provide an integrated experience in its UI. So there is a lack of control that both sides need to expect -- the hosting app has many limitations on assumptions it can make about the app widget, and the app widget itself needs to accept that it is not 100% in control in that it can change in non-breaking ways across different containers. Whether or not running animations is a breaking change... at first glance I would say it is not, since the functionality is still retained. -- Dianne Hackborn Android framework engineer [email protected] Note: please don't send private questions to me, as I don't have time to provide private support, and so won't reply to such e-mails. All such questions should be posted on public forums, where I and others can see and answer them. -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

