use of com.afollestad.materialdialogs.DialogAction in project PhoneProfilesPlus by henrichg.
the class BetterNumberPickerPreference method showDialog.
@Override
protected void showDialog(Bundle state) {
MaterialDialog.Builder mBuilder = new MaterialDialog.Builder(getContext()).title(getDialogTitle()).icon(getDialogIcon()).positiveText(getPositiveButtonText()).negativeText(getNegativeButtonText()).content(getDialogMessage()).autoDismiss(false).customView(R.layout.activity_better_number_pref_dialog, true).onPositive(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog materialDialog, @NonNull DialogAction dialogAction) {
BigDecimal number = mNumberPicker.getEnteredNumber();
if (isSmaller(number) || isBigger(number)) {
String errorText = context.getString(R.string.number_picker_min_max_error, String.valueOf(mMin), String.valueOf(mMax));
mNumberPicker.getErrorView().setText(errorText);
mNumberPicker.getErrorView().show();
return;
} else if (isSmaller(number)) {
String errorText = context.getString(R.string.number_picker_min_error, String.valueOf(mMin));
mNumberPicker.getErrorView().setText(errorText);
mNumberPicker.getErrorView().show();
return;
} else if (isBigger(number)) {
String errorText = context.getString(R.string.number_picker_max_error, String.valueOf(mMax));
mNumberPicker.getErrorView().setText(errorText);
mNumberPicker.getErrorView().show();
return;
}
value = String.valueOf(mNumberPicker.getNumber());
if (callChangeListener(value)) {
persistString(value);
mDialog.dismiss();
}
}
}).onNegative(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog materialDialog, @NonNull DialogAction dialogAction) {
mDialog.dismiss();
}
});
mDialog = mBuilder.build();
View layout = mDialog.getCustomView();
// External values
if (mMaxExternalKey != null) {
mMax = getSharedPreferences().getInt(mMaxExternalKey, mMax);
}
if (mMinExternalKey != null) {
mMin = getSharedPreferences().getInt(mMinExternalKey, mMin);
}
// noinspection ConstantConditions
mNumberPicker = layout.findViewById(R.id.better_number_picker);
// Initialize state
mNumberPicker.setMin(BigDecimal.valueOf(mMin));
mNumberPicker.setMax(BigDecimal.valueOf(mMax));
mNumberPicker.setPlusMinusVisibility(View.INVISIBLE);
mNumberPicker.setDecimalVisibility(View.INVISIBLE);
// mNumberPicker.setLabelText(getContext().getString(R.string.minutes_label_description));
mNumberPicker.setNumber(Integer.valueOf(value), null, null);
if (ApplicationPreferences.applicationTheme(context).equals("dark"))
mNumberPicker.setTheme(R.style.BetterPickersDialogFragment);
else
mNumberPicker.setTheme(R.style.BetterPickersDialogFragment_Light);
GlobalGUIRoutines.registerOnActivityDestroyListener(this, this);
if (state != null)
mDialog.onRestoreInstanceState(state);
mDialog.setOnDismissListener(this);
mDialog.show();
}
use of com.afollestad.materialdialogs.DialogAction in project PhoneProfilesPlus by henrichg.
the class ContactGroupsMultiSelectDialogPreference method showDialog.
protected void showDialog(Bundle state) {
MaterialDialog.Builder mBuilder = new MaterialDialog.Builder(getContext()).title(getDialogTitle()).icon(getDialogIcon()).positiveText(getPositiveButtonText()).negativeText(getNegativeButtonText()).content(getDialogMessage()).customView(R.layout.activity_contact_groups_multiselect_pref_dialog, false).dividerColor(0).autoDismiss(false).onPositive(new MaterialDialog.SingleButtonCallback() {
@SuppressWarnings("StringConcatenationInLoop")
@Override
public void onClick(@NonNull MaterialDialog materialDialog, @NonNull DialogAction dialogAction) {
if (shouldPersist()) {
// fill with strings of contact groups separated with |
value = "";
List<ContactGroup> contactGroupList = EditorProfilesActivity.getContactGroupsCache().getList();
if (contactGroupList != null) {
for (ContactGroup contactGroup : contactGroupList) {
if (contactGroup.checked) {
if (!value.isEmpty())
value = value + "|";
value = value + contactGroup.groupId;
}
}
}
persistString(value);
setSummaryCMSDP();
mDialog.dismiss();
}
}
}).onNegative(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
mDialog.dismiss();
}
});
mBuilder.showListener(new DialogInterface.OnShowListener() {
@Override
public void onShow(DialogInterface dialog) {
ContactGroupsMultiSelectDialogPreference.this.onShow();
}
});
mDialog = mBuilder.build();
View layout = mDialog.getCustomView();
// noinspection ConstantConditions
linlaProgress = layout.findViewById(R.id.contact_groups_multiselect_pref_dlg_linla_progress);
// noinspection ConstantConditions
rellaData = layout.findViewById(R.id.contact_groups_multiselect_pref_dlg_rella_data);
// noinspection ConstantConditions
ListView listView = layout.findViewById(R.id.contact_groups_multiselect_pref_dlg_listview);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View item, int position, long id) {
ContactGroup contactGroup = (ContactGroup) listAdapter.getItem(position);
contactGroup.toggleChecked();
ContactGroupViewHolder viewHolder = (ContactGroupViewHolder) item.getTag();
viewHolder.checkBox.setChecked(contactGroup.checked);
}
});
listAdapter = new ContactGroupsMultiSelectPreferenceAdapter(_context);
listView.setAdapter(listAdapter);
final Button unselectAllButton = layout.findViewById(R.id.contact_groups_multiselect_pref_dlg_unselect_all);
unselectAllButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
value = "";
refreshListView(false);
}
});
GlobalGUIRoutines.registerOnActivityDestroyListener(this, this);
if (state != null)
mDialog.onRestoreInstanceState(state);
mDialog.setOnDismissListener(this);
mDialog.show();
}
use of com.afollestad.materialdialogs.DialogAction in project Ency by xiarunhao123.
the class MainActivity method initDialog.
private void initDialog() {
dialog = new MaterialDialog.Builder(mContext).title(R.string.permission_application).content(R.string.permission_application_content).cancelable(false).positiveText(R.string.setting).positiveColorRes(R.color.colorPositive).onPositive(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
Intent intent = new Intent();
intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
intent.setData(Uri.fromParts("package", getPackageName(), null));
startActivityForResult(intent, PERMISSION_CODE);
}
}).negativeText(R.string.no).negativeColorRes(R.color.colorNegative).onNegative(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
// 不给权限就直接退出
AppExitUtil.exitAPP(mContext);
}
}).build();
}
use of com.afollestad.materialdialogs.DialogAction in project Ency by xiarunhao123.
the class WebActivity method initWebView.
@SuppressLint("SetJavaScriptEnabled")
private void initWebView() {
WebSettings settings = webView.getSettings();
settings.setCacheMode(WebSettings.LOAD_NO_CACHE);
settings.setJavaScriptCanOpenWindowsAutomatically(true);
settings.setJavaScriptEnabled(true);
settings.setDomStorageEnabled(true);
settings.setDatabaseEnabled(true);
settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NORMAL);
String dir = this.getApplicationContext().getDir("database", Context.MODE_PRIVATE).getPath();
settings.setGeolocationEnabled(true);
settings.setGeolocationDatabasePath(dir);
if (sharePrefManager.getNightMode()) {
webView.setDayOrNight(false);
} else {
webView.setDayOrNight(true);
}
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView webView, String s) {
return super.shouldOverrideUrlLoading(webView, s);
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
swipeRefreshLayout.setRefreshing(true);
super.onPageStarted(view, url, favicon);
}
@Override
public void onPageFinished(WebView view, String url) {
swipeRefreshLayout.setRefreshing(false);
super.onPageFinished(view, url);
}
@Override
public void onReceivedSslError(WebView webView, SslErrorHandler sslErrorHandler, com.tencent.smtt.export.external.interfaces.SslError sslError) {
sslErrorHandler.proceed();
}
});
webView.setWebChromeClient(new WebChromeClient() {
// 扩展支持alert事件
@Override
public boolean onJsAlert(WebView webView, String url, String message, final JsResult jsResult) {
new MaterialDialog.Builder(mContext).title("提示").content(message).positiveText(R.string.yes).onPositive(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
jsResult.confirm();
}
}).cancelable(false).build().show();
return true;
}
@Override
public void onGeolocationPermissionsHidePrompt() {
super.onGeolocationPermissionsHidePrompt();
}
@Override
public void onGeolocationPermissionsShowPrompt(final String origin, final GeolocationPermissionsCallback callback) {
final boolean remember = false;
new MaterialDialog.Builder(mContext).title("地理位置授权").content("允许" + origin + "获取您当前的地理位置信息吗").positiveText("允许").onPositive(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
callback.invoke(origin, true, remember);
}
}).negativeText("拒绝").negativeColorRes(R.color.black).onNegative(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
callback.invoke(origin, false, remember);
}
}).cancelable(false).build().show();
}
});
webView.setOnScrollListener(new X5WebView.IScrollListener() {
@Override
public void onScrollChanged(int scrollY) {
// webView在顶部
if (scrollY == 0) {
swipeRefreshLayout.setEnabled(true);
} else // webView不是顶部
{
swipeRefreshLayout.setEnabled(false);
}
}
});
// 点击返回
webView.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && webView.canGoBack()) {
webView.goBack();
return true;
}
return false;
}
});
webView.loadUrl(url);
}
use of com.afollestad.materialdialogs.DialogAction in project Android-NotesApp by HelloPraveenIO.
the class MainActivity method backupStart.
public void backupStart() {
if (!l.isEmpty()) {
new MaterialStyledDialog.Builder(MainActivity.this).setIcon(R.drawable.ic_unarchive).setDescription("You can backup your notes via your phone memory or sending them by email!").setPositiveText("EMAIL").setHeaderColor(R.color.colorPrimary).setTitle("Where to backup?").withIconAnimation(false).withDivider(true).onNegative(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
backup();
}
}).setNegativeText("PHONE MEMORY").onPositive(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
String s = backupString();
Intent in = new Intent(Intent.ACTION_SENDTO, Uri.parse("mailto:"));
in.putExtra(Intent.EXTRA_SUBJECT, "Notes Backup");
in.putExtra(Intent.EXTRA_TEXT, s);
startActivity(in);
}
}).show();
} else
Toast.makeText(MainActivity.this, "Notes are empty!", Toast.LENGTH_SHORT).show();
}
Aggregations