1a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout/**
2a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * Copyright (C) 2015 The Android Open Source Project
3a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout *
4a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
5a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * in compliance with the License. You may obtain a copy of the License at
6a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout *
7a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * http://www.apache.org/licenses/LICENSE-2.0
8a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout *
9a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * Unless required by applicable law or agreed to in writing, software distributed under the License
10a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
11a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * or implied. See the License for the specific language governing permissions and limitations under
12a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * the License.
13a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout */
14a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout
15a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout/**
16a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * <p>Support classes for building Leanback user experiences.</p>
17a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * <p>
18a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * Many apps intended for a 10-foot, or 'Leanback', experience are centered around media and games.
19a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * Games tend to have custom user interfaces, but media applications may benefit from a common set of
20a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * user interface components that work well in a Leanback environment.  Following is an overview of
21a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * the Leanback Support Library.
22a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * </p>
23a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * <p>
24a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * Leanback provides a model-view-presenter approach to building applications:
25a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * <ul>
26a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * <li>The model is primarily provided by the application developer. Leanback imposes very few
27a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * restrictions on how this model is implemented: anything extending Object in Java is
28a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * supported.
29a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * </li>
30a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * <li>The view is handled by the existing {@link android.view} package. Developers
31a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * may continue to use their existing knowledge and experience to create visually compelling
32a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * applications with Leanback.
33a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * </li>
34a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * <li>The presenter is based on the existing Adapter concept in the Android framework, but has
35a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * been updated to add more flexibility and composability. In particular, the interface for
36a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * binding data to views has been separated from the adapter that traverses the data, allowing
37a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * presenters to be used in more places.  See {@link android.support.v17.leanback.widget.Presenter}
38a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * for more details.
39a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * </li>
40a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * </ul>
41a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * <p>
42a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * Leanback contains a mixture of higher level building blocks such as Fragments in the
43a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * {@link android.support.v17.leanback.app} package. Notable examples are the
4436792cc5a3cd6f7eb5bf7069c4b2f910ace7443eDake Gu * {@link android.support.v17.leanback.app.BrowseSupportFragment},
4536792cc5a3cd6f7eb5bf7069c4b2f910ace7443eDake Gu * {@link android.support.v17.leanback.app.DetailsSupportFragment},
4636792cc5a3cd6f7eb5bf7069c4b2f910ace7443eDake Gu * {@link android.support.v17.leanback.app.PlaybackSupportFragment} and the
4736792cc5a3cd6f7eb5bf7069c4b2f910ace7443eDake Gu * {@link android.support.v17.leanback.app.GuidedStepSupportFragment}.  Helper classes are also
4836792cc5a3cd6f7eb5bf7069c4b2f910ace7443eDake Gu * provided that work with the leanback fragments, for example the
49cf708c34900a0438982d779705826a47b9f541c7Dake Gu * {@link android.support.v17.leanback.media.PlaybackTransportControlGlue} and
5036792cc5a3cd6f7eb5bf7069c4b2f910ace7443eDake Gu * {@link android.support.v17.leanback.app.PlaybackSupportFragmentGlueHost}.
51a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * </p>
52a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * <p>
53a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * Many lower level building blocks are also provided in the {@link android.support.v17.leanback.widget} package.
54a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * These allow applications to easily incorporate Leanback look and feel while allowing for a
55a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * high degree of customization.  Primary examples include the UI widget
56a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * {@link android.support.v17.leanback.widget.HorizontalGridView} and
57cf708c34900a0438982d779705826a47b9f541c7Dake Gu * {@link android.support.v17.leanback.widget.VerticalGridView}.
58a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout */
59a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout
60a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stoutpackage android.support.v17.leanback;