package com.silencedut.knowweather.common.customview;
import android.app.Dialog;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.TextView;
import com.silencedut.knowweather.R;
import com.silencedut.knowweather.common.adapter.BaseRecyclerAdapter;
import com.silencedut.knowweather.weather.ui.adapter.ShareData;
import com.silencedut.knowweather.weather.ui.adapter.ShareHolder;
import java.util.ArrayList;
import java.util.List;
/**
* Created by SilenceDut on 2016/11/16 .
*/
public class ShareDialog {
private Dialog mDialog;
private BaseRecyclerAdapter mShareAdapter;
private TextView mTitle;
public ShareDialog(AppCompatActivity context) {
mDialog = new Dialog(context, R.style.BottomDialog);
View dialogView = LayoutInflater.from(context).inflate(R.layout.dialog_share, null);
Window window = mDialog.getWindow();
window.setGravity(Gravity.BOTTOM);
window.setWindowAnimations(R.style.dialogStyle);
window.getDecorView().setPadding(0, 0, 0, 0);
WindowManager.LayoutParams lp = window.getAttributes();
lp.width = WindowManager.LayoutParams.MATCH_PARENT;
lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
window.setAttributes(lp);
mDialog.setContentView(dialogView);
RecyclerView recyclerView = (RecyclerView) dialogView.findViewById(R.id.share_list);
mTitle = (TextView) dialogView.findViewById(R.id.share_title);
recyclerView.setLayoutManager(new GridLayoutManager(context, 4));
mShareAdapter = new BaseRecyclerAdapter(context);
recyclerView.setAdapter(mShareAdapter);
mShareAdapter.registerHolder(ShareHolder.class, R.layout.item_share);
}
public void dismiss() {
if (mDialog == null) {
return;
}
mDialog.dismiss();
}
public void isShowing() {
if (mDialog == null) {
return;
}
mDialog.isShowing();
}
public void show(boolean isWeather) {
if (mDialog == null) {
return;
}
List<ShareData> shareDatas = new ArrayList<>();
for (int SHARE_ICON : ShareHolder.SHARE_ICONS) {
shareDatas.add(new ShareData(isWeather, this));
}
mTitle.setText(isWeather ? R.string.share_weather : R.string.share_app);
mShareAdapter.setData(shareDatas);
mDialog.show();
}
}