package org.wikipedia.feed.offline;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.widget.LinearLayout;
import android.widget.Space;
import org.wikipedia.R;
import org.wikipedia.feed.model.Card;
import org.wikipedia.feed.view.FeedAdapter;
import org.wikipedia.feed.view.FeedCardView;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
public class OfflineCardView extends LinearLayout implements FeedCardView<Card> {
@BindView(R.id.view_card_offline_top_padding) Space padding;
@Nullable private FeedAdapter.Callback callback;
public OfflineCardView(Context context) {
super(context);
inflate(getContext(), R.layout.view_card_offline, this);
ButterKnife.bind(this);
}
@OnClick(R.id.view_card_offline_button_retry) void onRetryClick() {
if (callback != null) {
callback.onRetryFromOffline();
}
}
@Override public void setCallback(@Nullable FeedAdapter.Callback callback) {
this.callback = callback;
}
// This view has a transparent background, so it'll need a little padding if it appears directly
// below the search card, so that it doesn't partially overlap the dark blue background.
public void setTopPadding() {
padding.setVisibility(VISIBLE);
}
// Hide the top padding when detached so that if this View is reused further down the feed, it
// won't have the leftover padding inappropriately.
@Override public void onDetachedFromWindow() {
super.onDetachedFromWindow();
padding.setVisibility(GONE);
}
@Override public void setCard(@NonNull Card card) { }
@Override @Nullable public Card getCard() {
return null;
}
}