Search in sources :

Example 71 with DialogAction

use of com.afollestad.materialdialogs.DialogAction in project AisenWeiBo by wangdan.

the class ProfileAboutFragment method setGroupList.

public void setGroupList() {
    if (mGroupMemberListed == null)
        return;
    if (groupDialog != null && groupDialog.isShowing())
        groupDialog.dismiss();
    String[] items = new String[AppContext.getAccount().getGroups().getLists().size()];
    final boolean[] checkedItems = new boolean[AppContext.getAccount().getGroups().getLists().size()];
    final boolean[] editCheckedItems = new boolean[AppContext.getAccount().getGroups().getLists().size()];
    List<Integer> selectedList = new ArrayList<>();
    for (int i = 0; i < AppContext.getAccount().getGroups().getLists().size(); i++) {
        Group group = AppContext.getAccount().getGroups().getLists().get(i);
        items[i] = group.getName();
        checkedItems[i] = false;
        editCheckedItems[i] = false;
        for (GroupListed groupListed : mGroupMemberListed.getLists()) {
            if (groupListed.getIdstr().equals(group.getIdstr())) {
                checkedItems[i] = true;
                editCheckedItems[i] = true;
                selectedList.add(i);
                break;
            }
        }
    }
    // View customTitle = View.inflate(getActivity(), R.layout.lay_group_dialogtitle, null);
    // customTitle.findViewById(R.id.btnSettings).setOnClickListener(new View.OnClickListener() {
    // 
    // @Override
    // public void onClick(View v) {
    // // 设置分组
    // GroupSortFragment.lanuch(getActivity());
    // }
    // });
    Integer[] selectedIndices = new Integer[selectedList.size()];
    for (int i = 0; i < selectedList.size(); i++) {
        selectedIndices[i] = selectedList.get(i);
    }
    MaterialDialog.Builder dialogBuilder = new MaterialDialog.Builder(getActivity()).title(R.string.profile_group_setting).alwaysCallInputCallback().items(items).itemsCallbackMultiChoice(selectedIndices, new MaterialDialog.ListCallbackMultiChoice() {

        @Override
        public boolean onSelection(MaterialDialog dialog, Integer[] which, CharSequence[] text) {
            for (int i = 0; i < editCheckedItems.length; i++) {
                editCheckedItems[i] = false;
                for (int i1 = 0; i1 < which.length; i1++) {
                    if (i == which[i1]) {
                        editCheckedItems[i] = true;
                        break;
                    }
                }
            }
            return true;
        }
    });
    try {
        try {
            // 解决有些设备版本较低的BUG,没查这个方法的最低版本要求
            dialogBuilder.dismissListener(new DialogInterface.OnDismissListener() {

                @Override
                public void onDismiss(DialogInterface dialog) {
                    groupDialog = null;
                }
            });
        } catch (NoSuchMethodError e) {
            e.printStackTrace();
        }
    } catch (Exception e) {
    }
    groupDialog = dialogBuilder.negativeText(R.string.cancel).positiveText(R.string.confirm).onPositive(new MaterialDialog.SingleButtonCallback() {

        @Override
        public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
            new SetGroupTask().execute(checkedItems, editCheckedItems);
        }
    }).show();
}
Also used : Group(org.aisen.weibo.sina.sinasdk.bean.Group) GroupListed(org.aisen.weibo.sina.sinasdk.bean.GroupListed) MaterialDialog(com.afollestad.materialdialogs.MaterialDialog) DialogInterface(android.content.DialogInterface) ArrayList(java.util.ArrayList) TaskException(org.aisen.android.network.task.TaskException) DialogAction(com.afollestad.materialdialogs.DialogAction)

Example 72 with DialogAction

use of com.afollestad.materialdialogs.DialogAction in project AisenWeiBo by wangdan.

the class PublishStatusFragment method setTiming.

// 设置定时发布
private void setTiming() {
    final Calendar calendar = Calendar.getInstance();
    if (getPublishBean().getTiming() > 0)
        calendar.setTimeInMillis(getPublishBean().getTiming());
    View contentView = View.inflate(getActivity(), R.layout.lay_publish_timing, null);
    final TextView btnDate = (TextView) contentView.findViewById(R.id.txtDate);
    final TextView btnTime = (TextView) contentView.findViewById(R.id.txtTime);
    btnTime.setText(DateUtils.formatDate(calendar.getTimeInMillis(), getString(R.string.publish_date_format_hm)));
    DatePickerDialog.OnDateSetListener onDateSetListener = new DatePickerDialog.OnDateSetListener() {

        @Override
        public void onDateSet(DatePickerDialog datePickerDialog, int year, int month, int day) {
            Logger.v(TAG, String.format("onDateSet:yeat=%d, month = %d, day = %d", year, month, day));
            if (checkTiming(year, month, day, calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE))) {
                calendar.set(Calendar.YEAR, year);
                calendar.set(Calendar.MONTH, month);
                calendar.set(Calendar.DAY_OF_MONTH, day);
                Calendar c = Calendar.getInstance();
                if (month == c.get(Calendar.MONTH) && day == c.get(Calendar.DAY_OF_MONTH)) {
                    btnDate.setText(R.string.publish_today);
                } else {
                    btnDate.setText(DateUtils.formatDate(calendar.getTimeInMillis(), getString(R.string.publish_date_format_md)));
                }
                btnTime.performClick();
            }
        }
    };
    TimePickerDialog.OnTimeSetListener onTimeSetListener = new TimePickerDialog.OnTimeSetListener() {

        @Override
        public void onTimeSet(RadialPickerLayout view, int hourOfDay, int minute) {
            Logger.v(TAG, String.format("onTimeSet:hourOfDay = %d, minute = %d", hourOfDay, minute));
            if (checkTiming(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), hourOfDay, minute)) {
                calendar.set(Calendar.HOUR_OF_DAY, hourOfDay);
                calendar.set(Calendar.MINUTE, minute);
                btnTime.setText(DateUtils.formatDate(calendar.getTimeInMillis(), getString(R.string.publish_date_format_hm)));
            }
        }
    };
    final DatePickerDialog datePickerDialog = DatePickerDialog.newInstance(onDateSetListener, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), true);
    final TimePickerDialog timePickerDialog = TimePickerDialog.newInstance(onTimeSetListener, calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE), false, false);
    OnClickListener timingOnClickListener = new OnClickListener() {

        @Override
        public void onClick(View v) {
            // 设置日期
            if (v.getId() == R.id.txtDate) {
                datePickerDialog.setVibrate(false);
                datePickerDialog.setYearRange(calendar.get(Calendar.YEAR), calendar.get(Calendar.YEAR));
                datePickerDialog.setCloseOnSingleTapDay(false);
                datePickerDialog.show(getFragmentManager(), "DatePickerDialog");
            } else // 设置时间
            if (v.getId() == R.id.txtTime) {
                timePickerDialog.setVibrate(false);
                timePickerDialog.setStartTime(calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE));
                timePickerDialog.setCloseOnSingleTapMinute(false);
                timePickerDialog.show(getFragmentManager(), "TimePickerDialog");
            }
        }
    };
    btnDate.setOnClickListener(timingOnClickListener);
    btnTime.setOnClickListener(timingOnClickListener);
    new MaterialDialog.Builder(getActivity()).title(R.string.publish_timing_set_title).customView(contentView, false).cancelable(false).negativeText(R.string.cancel).positiveText(R.string.confirm).onPositive(new MaterialDialog.SingleButtonCallback() {

        @Override
        public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
            // FIXME
            // getPublishBean().setTiming(System.currentTimeMillis() + 15 * 1000);
            calendar.set(Calendar.SECOND, 0);
            getPublishBean().setTiming(calendar.getTimeInMillis() / 1000 * 1000);
            getActivity().invalidateOptionsMenu();
            setTimingHint();
        }
    }).show();
}
Also used : MaterialDialog(com.afollestad.materialdialogs.MaterialDialog) DatePickerDialog(com.fourmob.datetimepicker.date.DatePickerDialog) Calendar(java.util.Calendar) RadialPickerLayout(com.sleepbot.datetimepicker.time.RadialPickerLayout) TimePickerDialog(com.sleepbot.datetimepicker.time.TimePickerDialog) View(android.view.View) TextView(android.widget.TextView) DialogAction(com.afollestad.materialdialogs.DialogAction) NonNull(android.support.annotation.NonNull) OnClickListener(android.view.View.OnClickListener) TextView(android.widget.TextView)

Example 73 with DialogAction

use of com.afollestad.materialdialogs.DialogAction in project AisenWeiBo by wangdan.

the class BasicItemSettingsFragment method modifyImageSavePath.

// 修改图片保存路径
private void modifyImageSavePath() {
    View entryView = View.inflate(getActivity(), R.layout.lay_dialog_remark_entry, null);
    final EditText editRemark = (EditText) entryView.findViewById(R.id.editRemark);
    editRemark.setHint(R.string.settings_dir_hint);
    editRemark.setText(AppSettings.getImageSavePath());
    editRemark.setSelection(editRemark.getText().toString().length());
    new MaterialDialog.Builder(getActivity()).title(R.string.settings_modify_picpath_title).customView(entryView, false).negativeText(R.string.cancel).positiveText(R.string.confirm).onPositive(new MaterialDialog.SingleButtonCallback() {

        @Override
        public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
            if (TextUtils.isEmpty(editRemark.getText().toString())) {
                ViewUtils.showMessage(getActivity(), R.string.update_faild);
                return;
            }
            String path = SystemUtils.getSdcardPath() + File.separator + editRemark.getText().toString() + File.separator;
            File file = new File(path);
            if (file.exists() || file.mkdirs()) {
                AppSettings.setImageSavePath(editRemark.getText().toString());
                // pPicSavePath.setSummary(path);
                pPicSavePath.setSummary("/sdcard" + File.separator + editRemark.getText().toString() + File.separator);
                ViewUtils.showMessage(getActivity(), R.string.update_success);
            } else {
                ViewUtils.showMessage(getActivity(), R.string.update_faild);
            }
        }
    }).show();
}
Also used : EditText(android.widget.EditText) MaterialDialog(com.afollestad.materialdialogs.MaterialDialog) DialogAction(com.afollestad.materialdialogs.DialogAction) NonNull(android.support.annotation.NonNull) View(android.view.View) File(java.io.File)

Example 74 with DialogAction

use of com.afollestad.materialdialogs.DialogAction in project AisenWeiBo by wangdan.

the class CustomThemeColorFragment method onCreateDialog.

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
    setCancelable(true);
    View view = View.inflate(getActivity(), R.layout.ui_custom_themecolor, null);
    final ColorPicker mColorPicker = (ColorPicker) view.findViewById(R.id.colorPicker);
    int callback = getResources().getColor(R.color.material_deep_teal_500);
    mColorPicker.setColor(MDHelper.resolveColor(getActivity(), R.attr.colorPrimary, callback));
    return new MaterialDialog.Builder(getActivity()).customView(view, false).negativeText(R.string.cancel).positiveText(R.string.title_settings).onPositive(new MaterialDialog.SingleButtonCallback() {

        @Override
        public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
            int selected = mColorPicker.getColor();
            String color = String.format("#%X", selected);
            // AppSettings.setThemeColor(color);
            dialog.dismiss();
            getActivity().getFragmentManager().beginTransaction().remove(CustomThemeColorFragment.this).commit();
        }
    }).build();
}
Also used : MaterialDialog(com.afollestad.materialdialogs.MaterialDialog) ColorPicker(org.aisen.weibo.sina.ui.widget.ColorPicker) DialogAction(com.afollestad.materialdialogs.DialogAction) NonNull(android.support.annotation.NonNull) View(android.view.View)

Example 75 with DialogAction

use of com.afollestad.materialdialogs.DialogAction in project AisenWeiBo by wangdan.

the class VersionDialogFragment method onCreateDialog.

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
    ChangeLogListView chgList = (ChangeLogListView) View.inflate(getActivity(), R.layout.demo_changelog_fragment_dialogstandard, null);
    return new MaterialDialog.Builder(getActivity()).title(R.string.settings_version_detail).customView(chgList, false).positiveText("OK").onPositive(new MaterialDialog.SingleButtonCallback() {

        @Override
        public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
            dialog.dismiss();
            getActivity().getFragmentManager().beginTransaction().remove(VersionDialogFragment.this).commit();
        }
    }).build();
}
Also used : MaterialDialog(com.afollestad.materialdialogs.MaterialDialog) DialogAction(com.afollestad.materialdialogs.DialogAction) NonNull(android.support.annotation.NonNull) ChangeLogListView(it.gmariotti.changelibs.library.view.ChangeLogListView)

Aggregations

DialogAction (com.afollestad.materialdialogs.DialogAction)165 MaterialDialog (com.afollestad.materialdialogs.MaterialDialog)165 View (android.view.View)97 NonNull (android.support.annotation.NonNull)85 TextView (android.widget.TextView)59 DialogInterface (android.content.DialogInterface)51 Intent (android.content.Intent)45 ImageView (android.widget.ImageView)39 RecyclerView (android.support.v7.widget.RecyclerView)28 ArrayList (java.util.ArrayList)25 List (java.util.List)25 SuppressLint (android.annotation.SuppressLint)23 ListView (android.widget.ListView)21 LayoutInflater (android.view.LayoutInflater)20 AdapterView (android.widget.AdapterView)20 NonNull (androidx.annotation.NonNull)20 Dialog (android.app.Dialog)18 AlertDialog (androidx.appcompat.app.AlertDialog)18 Context (android.content.Context)17 MenuItem (android.view.MenuItem)16