package ren.solid.ganhuoio.utils; import android.content.Context; import android.text.InputType; import android.text.TextUtils; import android.view.View; import com.afollestad.materialdialogs.DialogAction; import com.afollestad.materialdialogs.MaterialDialog; import cn.bmob.v3.listener.SaveListener; import ren.solid.ganhuoio.GanHuoIOApplication; import ren.solid.ganhuoio.R; import ren.solid.ganhuoio.bean.bomb.FeedBack; import ren.solid.library.SettingCenter; import ren.solid.library.SolidApplication; import ren.solid.library.utils.PrefUtils; import ren.solid.library.utils.SnackBarUtils; import ren.solid.library.utils.SystemUtils; /** * Created by _SOLID * Date:2016/5/20 * Time:8:42 */ public class AppUtils { public static boolean isFirstRun() { return PrefUtils.getBoolean(GanHuoIOApplication.getInstance(), "isFirstRun", true); } public static void setFirstRun(boolean isFirstRun) { PrefUtils.putBoolean(GanHuoIOApplication.getInstance(), "isFirstRun", isFirstRun); } public static boolean shakePicture() { return PrefUtils.getBoolean(SolidApplication.getInstance(), "shakePicture", true); } public static void setShakePicture(boolean isEnable) { PrefUtils.putBoolean(SolidApplication.getInstance(), "shakePicture", isEnable); } public static void feedBack(final Context context, final View view) { new MaterialDialog.Builder(context) .title(R.string.feedback_dialog_title) .inputType(InputType.TYPE_CLASS_TEXT) .input(R.string.feedback_input_hint, R.string.feedback_input_prefill, new MaterialDialog.InputCallback() { @Override public void onInput(MaterialDialog dialog, CharSequence input) { if (TextUtils.isEmpty(input)) { return; } FeedBack feedBack = new FeedBack(); feedBack.setContent(input.toString()); feedBack.setAppVersion(SystemUtils.getAppVersion(context)); feedBack.setDeviceName(SystemUtils.getDeviceName()); feedBack.setSystemVersion(SystemUtils.getSystemVersion()); feedBack.setUsername(AuthorityUtils.getUserName()); feedBack.save(context, new SaveListener() { @Override public void onSuccess() { SnackBarUtils.makeShort(view, context.getResources().getString(R.string.feedback_success)).success(); } @Override public void onFailure(int i, String s) { SnackBarUtils.makeShort(view, context.getResources().getString(R.string.feedback_failed)).danger(); } }); } }).show(); } public static void logOut(final Context context, final OnSuccessListener listener) { if (!AuthorityUtils.isLogin()) return; MaterialDialog.Builder builder = new MaterialDialog.Builder(context) .title("提示") .content("确定注销吗?") .positiveText("确定").onPositive(new MaterialDialog.SingleButtonCallback() { @Override public void onClick(MaterialDialog dialog, DialogAction which) { AuthorityUtils.logout(); listener.onSuccess(); } }).negativeText("取消").onNegative(new MaterialDialog.SingleButtonCallback() { @Override public void onClick(MaterialDialog dialog, DialogAction which) { } }); MaterialDialog dialog = builder.build(); dialog.show(); } public interface OnSuccessListener { void onSuccess(); } public static void clearCache(Context context, final SettingCenter.ClearCacheListener listener) { MaterialDialog.Builder builder = new MaterialDialog.Builder(context) .title("温馨提示") .content("确定清空缓存吗?如果你使用的是移动网络不建议清空缓存哦") .positiveText("确定").onPositive(new MaterialDialog.SingleButtonCallback() { @Override public void onClick(MaterialDialog dialog, DialogAction which) { SettingCenter.clearAppCache(listener); } }).negativeText("取消"); MaterialDialog dialog = builder.build(); dialog.show(); } }