I am developing an Android application and I'd like to support all device sizes, from phones to full-size tablets. I'd like to restrict the application to only using portrait orientation on smaller devices and allow a different, more large-screen friendly UI to be used in landscape when the device is larger. So far, I am unable to find any way, let alone a graceful way, to restrict an activity to allowing orientations based on the device's screen size.

An example would be this: A smartphone running the app is only allowed to use the layout resources in layout-small and layout-normal, and is not allowed to use landscape at all. A larger, tablet device gets to use UIs that are more large-screen friendly, and is allowed to be used in both portrait and landscape, with unique UIs for each orientation.