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();
}
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();
}
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();
}
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();
}
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();
}
Aggregations