package ren.solid.ganhuoio.utils; import android.content.Context; import android.content.Intent; import android.view.View; import com.afollestad.materialdialogs.MaterialDialog; import cn.bmob.v3.listener.DeleteListener; import cn.bmob.v3.listener.SaveListener; import ren.solid.ganhuoio.R; import ren.solid.ganhuoio.bean.bomb.CollectTable; import ren.solid.ganhuoio.common.event.CollectChangeEvent; import ren.solid.ganhuoio.module.mine.LoginActivity; import ren.solid.library.rx.RxBus; import ren.solid.library.utils.SnackBarUtils; /** * Created by _SOLID * Date:2016/5/19 * Time:10:02 */ public class DialogUtils { public static void showActionDialog(final Context context, final View itemView, final CollectTable bean) { new MaterialDialog.Builder(context) .items(R.array.action) .itemsCallback(new MaterialDialog.ListCallback() { @Override public void onSelection(MaterialDialog dialog, View view, int which, CharSequence text) { CharSequence[] action = context.getResources().getTextArray(R.array.action); if (text.equals(action[0])) { SinaWeiBoShareUtil share = new SinaWeiBoShareUtil(context); share.setTextObj(bean.getDesc() + "\n" + context.getString(R.string.app_download_url)); share.setWebpageObj("来自干货IO的分享", bean.getUrl(), bean.getDesc()); share.sendMultiMessage(); } else if (text.equals(action[1])) { doCollect(bean, context, itemView); } } }) .show(); } private static void doCollect(CollectTable bean, final Context context, final View view) { if (AuthorityUtils.isLogin()) { bean.setUsername(AuthorityUtils.getUserName()); bean.save(context, new SaveListener() { @Override public void onSuccess() { SnackBarUtils.makeShort(view, "收藏成功").success(); RxBus.getInstance().send(new CollectChangeEvent()); } @Override public void onFailure(int i, String s) { if (i == 401) { SnackBarUtils.makeShort(view, "你已经收藏过了").info(); } else { SnackBarUtils.makeShort(view, "收藏失败").danger(); } } }); } else { SnackBarUtils.makeLong(view, context.getResources().getString(R.string.mine_no_login)) .warning(context.getString(R.string.mine_click_login) , new View.OnClickListener() { @Override public void onClick(View v) { context.startActivity(new Intent(context, LoginActivity.class)); } }); } } public static void showUnDoCollectDialog(final View itemView , final CollectTable bean, final DeleteListener listener) { new MaterialDialog.Builder(itemView.getContext()) .items(R.array.deleteCollect) .itemsCallback(new MaterialDialog.ListCallback() { @Override public void onSelection(MaterialDialog dialog, View view, int which, CharSequence text) { unDoCollect(bean, itemView, listener); } }) .show(); } private static void unDoCollect(CollectTable bean, final View view , final DeleteListener listener) { bean.delete(view.getContext(), listener); } }