Search in sources :

Example 1 with Card

use of cx.ring.tv.cards.Card in project ring-client-android by savoirfairelinux.

the class MainFragment method createRow.

private Row createRow(String titleSection, List<Card> cards, boolean shadow) {
    CardRow row = new CardRow(CardRow.TYPE_DEFAULT, shadow, titleSection, cards);
    PresenterSelector presenterSelector = new CardPresenterSelector(getActivity());
    ArrayObjectAdapter listRowAdapter = new ArrayObjectAdapter(presenterSelector);
    for (Card card : cards) {
        listRowAdapter.add(card);
    }
    return new CardListRow(new HeaderItem(HEADER_MISC, titleSection), listRowAdapter, row);
}
Also used : CardPresenterSelector(cx.ring.tv.cards.CardPresenterSelector) ShadowRowPresenterSelector(cx.ring.tv.cards.ShadowRowPresenterSelector) PresenterSelector(android.support.v17.leanback.widget.PresenterSelector) CardListRow(cx.ring.tv.cards.CardListRow) CardRow(cx.ring.tv.cards.CardRow) CardPresenterSelector(cx.ring.tv.cards.CardPresenterSelector) ArrayObjectAdapter(android.support.v17.leanback.widget.ArrayObjectAdapter) HeaderItem(android.support.v17.leanback.widget.HeaderItem) VCard(ezvcard.VCard) IconCard(cx.ring.tv.cards.iconcards.IconCard) ContactRequestCard(cx.ring.tv.cards.contactrequests.ContactRequestCard) ContactCard(cx.ring.tv.cards.contacts.ContactCard) Card(cx.ring.tv.cards.Card)

Example 2 with Card

use of cx.ring.tv.cards.Card in project ring-client-android by savoirfairelinux.

the class AboutDetailsFragment method setupUi.

private void setupUi() {
    Bundle extras = getActivity().getIntent().getExtras();
    Card.Type cardType = Card.Type.DEFAULT;
    if (extras != null && extras.containsKey("abouttype")) {
        int ordinal = extras.getInt("abouttype", 0);
        cardType = Card.Type.values()[ordinal];
    }
    IconCard card = IconCardHelper.getAboutCardByType(getActivity(), cardType);
    ClassPresenterSelector selector = new ClassPresenterSelector();
    FullWidthDetailsOverviewRowPresenter rowPresenter = new FullWidthDetailsOverviewRowPresenter(new AboutDetailsPresenter(getActivity())) {

        @Override
        protected RowPresenter.ViewHolder createRowViewHolder(ViewGroup parent) {
            // Customize Actionbar and Content by using custom colors.
            RowPresenter.ViewHolder viewHolder = super.createRowViewHolder(parent);
            View actionsView = viewHolder.view.findViewById(R.id.details_overview_actions_background);
            actionsView.setBackgroundColor(getActivity().getResources().getColor(R.color.color_primary_dark));
            View detailsView = viewHolder.view.findViewById(R.id.details_frame);
            detailsView.setBackgroundColor(getResources().getColor(R.color.color_primary_dark));
            return viewHolder;
        }
    };
    selector.addClassPresenter(DetailsOverviewRow.class, rowPresenter);
    selector.addClassPresenter(ListRow.class, new ListRowPresenter());
    ArrayObjectAdapter mRowsAdapter = new ArrayObjectAdapter(selector);
    Resources res = getActivity().getResources();
    DetailsOverviewRow detailsOverview = new DetailsOverviewRow(card);
    // Add images and action buttons to the details view
    detailsOverview.setImageDrawable(res.getDrawable(R.drawable.ic_logo_ring_white));
    mRowsAdapter.add(detailsOverview);
    setAdapter(mRowsAdapter);
    initializeBackground();
}
Also used : FullWidthDetailsOverviewRowPresenter(android.support.v17.leanback.widget.FullWidthDetailsOverviewRowPresenter) Bundle(android.os.Bundle) ViewGroup(android.view.ViewGroup) ArrayObjectAdapter(android.support.v17.leanback.widget.ArrayObjectAdapter) ClassPresenterSelector(android.support.v17.leanback.widget.ClassPresenterSelector) View(android.view.View) DetailsOverviewRow(android.support.v17.leanback.widget.DetailsOverviewRow) IconCard(cx.ring.tv.cards.iconcards.IconCard) Card(cx.ring.tv.cards.Card) ListRowPresenter(android.support.v17.leanback.widget.ListRowPresenter) Resources(android.content.res.Resources) RowPresenter(android.support.v17.leanback.widget.RowPresenter) FullWidthDetailsOverviewRowPresenter(android.support.v17.leanback.widget.FullWidthDetailsOverviewRowPresenter) ListRowPresenter(android.support.v17.leanback.widget.ListRowPresenter) IconCard(cx.ring.tv.cards.iconcards.IconCard)

Example 3 with Card

use of cx.ring.tv.cards.Card in project ring-client-android by savoirfairelinux.

the class MainFragment method setupUIElements.

private void setupUIElements() {
    mBackgroundManager = BackgroundManager.getInstance(getActivity());
    mBackgroundManager.attach(getActivity().getWindow());
    mMetrics = new DisplayMetrics();
    getActivity().getWindowManager().getDefaultDisplay().getMetrics(mMetrics);
    // over title
    setHeadersState(HEADERS_ENABLED);
    setHeadersTransitionOnBackEnabled(true);
    // set fastLane (or headers) background color
    setBrandColor(getResources().getColor(R.color.color_primary_dark));
    // set search icon color
    setSearchAffordanceColor(getResources().getColor(R.color.color_primary_light));
    mRowsAdapter = new ArrayObjectAdapter(new ShadowRowPresenterSelector());
    /* Contact Presenter */
    List<Card> cards = new ArrayList<>();
    CardRow contactRow = new CardRow(CardRow.TYPE_DEFAULT, true, getString(R.string.tv_contact_row_header), cards);
    HeaderItem cardPresenterHeader = new HeaderItem(HEADER_CONTACTS, getString(R.string.tv_contact_row_header));
    cardRowAdapter = new ArrayObjectAdapter(new CardPresenterSelector(getActivity()));
    CardListRow contactListRow = new CardListRow(cardPresenterHeader, cardRowAdapter, contactRow);
    /* CardPresenter */
    mRowsAdapter.add(contactListRow);
    mRowsAdapter.add(createMyAccountRow());
    mRowsAdapter.add(createAboutCardRow());
    setAdapter(mRowsAdapter);
    // listeners
    setOnSearchClickedListener(view -> {
        Intent intent = new Intent(getActivity(), SearchActivity.class);
        startActivity(intent);
    });
    setOnItemViewClickedListener(new ItemViewClickedListener());
}
Also used : CardListRow(cx.ring.tv.cards.CardListRow) CardRow(cx.ring.tv.cards.CardRow) OnItemViewClickedListener(android.support.v17.leanback.widget.OnItemViewClickedListener) ArrayList(java.util.ArrayList) CardPresenterSelector(cx.ring.tv.cards.CardPresenterSelector) Intent(android.content.Intent) ArrayObjectAdapter(android.support.v17.leanback.widget.ArrayObjectAdapter) HeaderItem(android.support.v17.leanback.widget.HeaderItem) ShadowRowPresenterSelector(cx.ring.tv.cards.ShadowRowPresenterSelector) DisplayMetrics(android.util.DisplayMetrics) VCard(ezvcard.VCard) IconCard(cx.ring.tv.cards.iconcards.IconCard) ContactRequestCard(cx.ring.tv.cards.contactrequests.ContactRequestCard) ContactCard(cx.ring.tv.cards.contacts.ContactCard) Card(cx.ring.tv.cards.Card)

Example 4 with Card

use of cx.ring.tv.cards.Card in project ring-client-android by savoirfairelinux.

the class MainFragment method createContactRequestRow.

private Row createContactRequestRow() {
    List<Card> cards = new ArrayList<>();
    CardRow contactRequestRow = new CardRow(CardRow.TYPE_DEFAULT, true, getString(R.string.menu_item_contact_request), cards);
    contactRequestRowAdapter = new ArrayObjectAdapter(new CardPresenterSelector(getActivity()));
    return new CardListRow(new HeaderItem(HEADER_MISC, getString(R.string.menu_item_contact_request)), contactRequestRowAdapter, contactRequestRow);
}
Also used : CardListRow(cx.ring.tv.cards.CardListRow) CardRow(cx.ring.tv.cards.CardRow) ArrayList(java.util.ArrayList) CardPresenterSelector(cx.ring.tv.cards.CardPresenterSelector) ArrayObjectAdapter(android.support.v17.leanback.widget.ArrayObjectAdapter) HeaderItem(android.support.v17.leanback.widget.HeaderItem) VCard(ezvcard.VCard) IconCard(cx.ring.tv.cards.iconcards.IconCard) ContactRequestCard(cx.ring.tv.cards.contactrequests.ContactRequestCard) ContactCard(cx.ring.tv.cards.contacts.ContactCard) Card(cx.ring.tv.cards.Card)

Aggregations

ArrayObjectAdapter (android.support.v17.leanback.widget.ArrayObjectAdapter)4 Card (cx.ring.tv.cards.Card)4 IconCard (cx.ring.tv.cards.iconcards.IconCard)4 HeaderItem (android.support.v17.leanback.widget.HeaderItem)3 CardListRow (cx.ring.tv.cards.CardListRow)3 CardPresenterSelector (cx.ring.tv.cards.CardPresenterSelector)3 CardRow (cx.ring.tv.cards.CardRow)3 ContactRequestCard (cx.ring.tv.cards.contactrequests.ContactRequestCard)3 ContactCard (cx.ring.tv.cards.contacts.ContactCard)3 VCard (ezvcard.VCard)3 ShadowRowPresenterSelector (cx.ring.tv.cards.ShadowRowPresenterSelector)2 ArrayList (java.util.ArrayList)2 Intent (android.content.Intent)1 Resources (android.content.res.Resources)1 Bundle (android.os.Bundle)1 ClassPresenterSelector (android.support.v17.leanback.widget.ClassPresenterSelector)1 DetailsOverviewRow (android.support.v17.leanback.widget.DetailsOverviewRow)1 FullWidthDetailsOverviewRowPresenter (android.support.v17.leanback.widget.FullWidthDetailsOverviewRowPresenter)1 ListRowPresenter (android.support.v17.leanback.widget.ListRowPresenter)1 OnItemViewClickedListener (android.support.v17.leanback.widget.OnItemViewClickedListener)1