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
44a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * {@link android.support.v17.leanback.app.BrowseFragment} and the
45a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * {@link android.support.v17.leanback.app.GuidedStepFragment}.  Helper classes are also provided
46a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * that work with the leanback fragments, for example the
47a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * {@link android.support.v17.leanback.app.PlaybackControlGlue}.
48a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * </p>
49a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * <p>
50a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * Many lower level building blocks are also provided in the {@link android.support.v17.leanback.widget} package.
51a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * These allow applications to easily incorporate Leanback look and feel while allowing for a
52a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * high degree of customization.  Primary examples include the UI widget
53a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * {@link android.support.v17.leanback.widget.HorizontalGridView} and
54a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * {@link android.support.v17.leanback.widget.VerticalGridView}.  Helper classes also exist at this level
55a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * which do not depend on the leanback fragments, for example the
56a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout * {@link android.support.v17.leanback.widget.TitleHelper}.
57a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout */
58a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stout
59a00bada00bff4a58436a39472ab14ccb7a8f619dCraig Stoutpackage android.support.v17.leanback;