Home | History | Annotate | Download | only in app
      1 /**
      2  * Copyright (C) 2015 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
      5  * in compliance with the License. You may obtain a copy of the License at
      6  *
      7  * http://www.apache.org/licenses/LICENSE-2.0
      8  *
      9  * Unless required by applicable law or agreed to in writing, software distributed under the License
     10  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
     11  * or implied. See the License for the specific language governing permissions and limitations under
     12  * the License.
     13  */
     14 
     15 /**
     16  * <p>Support classes providing high level Leanback user interface building blocks.</p>
     17  * <p>
     18  * Leanback fragments are available both as support fragments (subclassed from
     19  * {@link androidx.fragment.app.Fragment androidx.fragment.app.Fragment}) and as platform
     20  * fragments (subclassed from {@link android.app.Fragment android.app.Fragment}). A few of the most
     21  * commonly used leanback fragments are described here.
     22  * </p>
     23  * <p>
     24  * A {@link androidx.leanback.app.BrowseSupportFragment} by default operates in the "row"
     25  * mode. It includes an optional fastlane
     26  * navigation side panel and a list of rows, with one-to-one correspondance between each header
     27  * in the fastlane and a row.  The application supplies the
     28  * {@link androidx.leanback.widget.ObjectAdapter} containing the list of
     29  * rows and a {@link androidx.leanback.widget.PresenterSelector} of row presenters.
     30  * </p>
     31  * <p>
     32  * A {@link androidx.leanback.app.BrowseSupportFragment} also works in a "page" mode when
     33  * each row of fastlane is mapped to a fragment that the app registers in
     34  * {@link androidx.leanback.app.BrowseSupportFragment#getMainFragmentRegistry()}.
     35  * </p>
     36  * <p>
     37  * A {@link androidx.leanback.app.DetailsSupportFragment} will typically consist of a
     38  * large overview of an item at the top,
     39  * some actions that a user can perform, and possibly rows of additional or related items.
     40  * The content for this fragment is specified in the same way as for the BrowseSupportFragment, with
     41  * the convention that the first element in the ObjectAdapter corresponds to the overview row.
     42  * The {@link androidx.leanback.widget.DetailsOverviewRow} and
     43  * {@link androidx.leanback.widget.FullWidthDetailsOverviewRowPresenter} provide a
     44  * default template for this row.
     45  * </p>
     46  * <p>
     47  * A {@link androidx.leanback.app.PlaybackSupportFragment} or its subclass
     48  * {@link androidx.leanback.app.VideoSupportFragment} hosts
     49  * {@link androidx.leanback.media.PlaybackTransportControlGlue}
     50  * or {@link androidx.leanback.media.PlaybackBannerControlGlue} with a Leanback
     51  * look and feel.  It is recommended to use an instance of
     52  * {@link androidx.leanback.media.PlaybackTransportControlGlue}.
     53  * This helper implements a standard behavior for user interaction with
     54  * the most commonly used controls as well as video scrubbing.
     55  * </p>
     56  * <p>
     57  * A {@link androidx.leanback.app.SearchSupportFragment} allows the developer to accept a
     58  * query from a user and display the results
     59  * using the familiar list rows.
     60  * </p>
     61  * <p>
     62  * A {@link androidx.leanback.app.GuidedStepSupportFragment} is used to guide the user
     63  * through a decision or series of decisions.
     64  * </p>
     65  **/
     66 
     67 package androidx.leanback.app;
     68