Search in sources :

Example 56 with DialogAction

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();
}
Also used : MaterialDialog(com.afollestad.materialdialogs.MaterialDialog) DialogAction(com.afollestad.materialdialogs.DialogAction) NonNull(android.support.annotation.NonNull) View(android.view.View) BigDecimal(java.math.BigDecimal)

Example 57 with DialogAction

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();
}
Also used : MaterialDialog(com.afollestad.materialdialogs.MaterialDialog) DialogInterface(android.content.DialogInterface) View(android.view.View) AdapterView(android.widget.AdapterView) ListView(android.widget.ListView) SuppressLint(android.annotation.SuppressLint) ListView(android.widget.ListView) Button(android.widget.Button) DialogAction(com.afollestad.materialdialogs.DialogAction) NonNull(android.support.annotation.NonNull) AdapterView(android.widget.AdapterView)

Example 58 with DialogAction

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();
}
Also used : MaterialDialog(com.afollestad.materialdialogs.MaterialDialog) DialogAction(com.afollestad.materialdialogs.DialogAction) NonNull(android.support.annotation.NonNull) Intent(android.content.Intent)

Example 59 with DialogAction

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);
}
Also used : SslErrorHandler(com.tencent.smtt.export.external.interfaces.SslErrorHandler) GeolocationPermissionsCallback(com.tencent.smtt.export.external.interfaces.GeolocationPermissionsCallback) JsResult(com.tencent.smtt.export.external.interfaces.JsResult) KeyEvent(android.view.KeyEvent) Bitmap(android.graphics.Bitmap) WebChromeClient(com.tencent.smtt.sdk.WebChromeClient) NonNull(android.support.annotation.NonNull) X5WebView(com.xxx.ency.widget.X5WebView) WebView(com.tencent.smtt.sdk.WebView) WebViewClient(com.tencent.smtt.sdk.WebViewClient) MaterialDialog(com.afollestad.materialdialogs.MaterialDialog) X5WebView(com.xxx.ency.widget.X5WebView) BindView(butterknife.BindView) View(android.view.View) WebView(com.tencent.smtt.sdk.WebView) SuppressLint(android.annotation.SuppressLint) X5WebView(com.xxx.ency.widget.X5WebView) WebSettings(com.tencent.smtt.sdk.WebSettings) DialogAction(com.afollestad.materialdialogs.DialogAction) SuppressLint(android.annotation.SuppressLint)

Example 60 with DialogAction

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();
}
Also used : MaterialStyledDialog(com.github.javiersantos.materialstyleddialogs.MaterialStyledDialog) MaterialDialog(com.afollestad.materialdialogs.MaterialDialog) DialogAction(com.afollestad.materialdialogs.DialogAction) NonNull(android.support.annotation.NonNull) PendingIntent(android.app.PendingIntent) Intent(android.content.Intent)

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