package com.wangdaye.mysplash.common.ui.dialog;
import android.annotation.SuppressLint;
import android.app.AlertDialog;
import android.app.Dialog;
import android.os.Bundle;
import android.support.design.widget.CoordinatorLayout;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;
import com.wangdaye.mysplash.R;
import com.wangdaye.mysplash.common._basic.MysplashDialogFragment;
import com.wangdaye.mysplash.common.utils.DisplayUtils;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
/**
* Download repeat dialog.
*
* This dialog is used to remain user that the download mission is repeat.
*
* */
public class DownloadRepeatDialog extends MysplashDialogFragment {
@BindView(R.id.dialog_download_repeat_container)
CoordinatorLayout container;
private OnCheckOrDownloadListener listener;
private Object downloadKey; // the thing that need to be downloaded.
@SuppressLint("InflateParams")
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
super.onCreateDialog(savedInstanceState);
View view = LayoutInflater.from(getActivity())
.inflate(R.layout.dialog_download_repeat, null, false);
ButterKnife.bind(this, view);
initWidget(view);
return new AlertDialog.Builder(getActivity())
.setView(view)
.create();
}
@Override
public CoordinatorLayout getSnackbarContainer() {
return container;
}
private void initWidget(View v) {
TextView content = ButterKnife.findById(v, R.id.dialog_download_repeat_text);
DisplayUtils.setTypeface(getActivity(), content);
}
public void setDownloadKey(Object obj) {
this.downloadKey = obj;
}
// interface.
// on check or download listener.
public interface OnCheckOrDownloadListener {
void onCheck(Object obj);
void onDownload(Object obj);
}
public void setOnCheckOrDownloadListener(OnCheckOrDownloadListener l) {
this.listener = l;
}
// on click listener.
@OnClick(R.id.dialog_download_repeat_checkBtn) void check() {
if (listener != null) {
listener.onCheck(downloadKey);
}
dismiss();
}
@OnClick(R.id.dialog_download_repeat_downloadBtn) void download() {
if (listener != null) {
listener.onDownload(downloadKey);
}
dismiss();
}
}