Example usage for android.view View inflate

List of usage examples for android.view View inflate

Introduction

In this page you can find the example usage for android.view View inflate.

Prototype

public static View inflate(Context context, @LayoutRes int resource, ViewGroup root) 

Source Link

Document

Inflate a view from an XML resource.

Usage

From source file:edu.mit.viral.shen.DroidFish.java

private final Dialog selectMoveDialog() {
    View content = View.inflate(this, R.layout.select_move_number, null);
    final AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setView(content);/*from w ww.j  av  a2s.c  o  m*/
    builder.setTitle(R.string.goto_move);
    final EditText moveNrView = (EditText) content.findViewById(R.id.selmove_number);
    moveNrView.setText("1");
    final Runnable gotoMove = new Runnable() {
        public void run() {
            try {
                int moveNr = Integer.parseInt(moveNrView.getText().toString());
                ctrl.gotoMove(moveNr);
            } catch (NumberFormatException nfe) {
                Toast.makeText(getApplicationContext(), R.string.invalid_number_format, Toast.LENGTH_SHORT)
                        .show();
            }
        }
    };
    builder.setPositiveButton(android.R.string.ok, new Dialog.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            gotoMove.run();
        }
    });
    builder.setNegativeButton(R.string.cancel, null);

    final AlertDialog dialog = builder.create();

    moveNrView.setOnKeyListener(new OnKeyListener() {
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) {
                gotoMove.run();
                dialog.cancel();
                return true;
            }
            return false;
        }
    });
    return dialog;
}

From source file:edu.mit.viral.shen.DroidFish.java

private final Dialog receive_Cha() {
    View content = View.inflate(this, R.layout.receive_cha, null);
    final AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setView(content);/* w  ww.j  a va  2  s  . c  om*/
    builder.setTitle(R.string.received_Cha);

    builder.setPositiveButton(android.R.string.ok, new Dialog.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            // startNewGame(2);
            //                                System.out.print("runnable" + fen)
            if (chafen != null) {
                try {
                    ctrl.setFENOrPGN(chafen);
                } catch (ChessParseError e) {

                }
            }

        }
    });
    builder.setNegativeButton(R.string.cancel, null);

    final AlertDialog dialog = builder.create();

    return dialog;
}

From source file:org.petero.droidfish.DroidFish.java

private final Dialog moveListMenuDialog() {
    final int EDIT_HEADERS = 0;
    final int EDIT_COMMENTS = 1;
    final int REMOVE_SUBTREE = 2;
    final int MOVE_VAR_UP = 3;
    final int MOVE_VAR_DOWN = 4;
    final int ADD_NULL_MOVE = 5;

    setAutoMode(AutoMode.OFF);/*w w w.  j  a v a2 s .  c o m*/
    List<CharSequence> lst = new ArrayList<CharSequence>();
    List<Integer> actions = new ArrayList<Integer>();
    lst.add(getString(R.string.edit_headers));
    actions.add(EDIT_HEADERS);
    if (ctrl.humansTurn()) {
        lst.add(getString(R.string.edit_comments));
        actions.add(EDIT_COMMENTS);
    }
    lst.add(getString(R.string.truncate_gametree));
    actions.add(REMOVE_SUBTREE);
    if (ctrl.canMoveVariationUp()) {
        lst.add(getString(R.string.move_var_up));
        actions.add(MOVE_VAR_UP);
    }
    if (ctrl.canMoveVariationDown()) {
        lst.add(getString(R.string.move_var_down));
        actions.add(MOVE_VAR_DOWN);
    }

    boolean allowNullMove = (gameMode.analysisMode()
            || (gameMode.playerWhite() && gameMode.playerBlack() && !gameMode.clocksActive()))
            && !ctrl.inCheck();
    if (allowNullMove) {
        lst.add(getString(R.string.add_null_move));
        actions.add(ADD_NULL_MOVE);
    }
    final List<Integer> finalActions = actions;
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle(R.string.edit_game);
    builder.setItems(lst.toArray(new CharSequence[lst.size()]), new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int item) {
            switch (finalActions.get(item)) {
            case EDIT_HEADERS: {
                final TreeMap<String, String> headers = new TreeMap<String, String>();
                ctrl.getHeaders(headers);

                AlertDialog.Builder builder = new AlertDialog.Builder(DroidFish.this);
                builder.setTitle(R.string.edit_headers);
                View content = View.inflate(DroidFish.this, R.layout.edit_headers, null);
                builder.setView(content);

                final TextView event, site, date, round, white, black;

                event = (TextView) content.findViewById(R.id.ed_header_event);
                site = (TextView) content.findViewById(R.id.ed_header_site);
                date = (TextView) content.findViewById(R.id.ed_header_date);
                round = (TextView) content.findViewById(R.id.ed_header_round);
                white = (TextView) content.findViewById(R.id.ed_header_white);
                black = (TextView) content.findViewById(R.id.ed_header_black);

                event.setText(headers.get("Event"));
                site.setText(headers.get("Site"));
                date.setText(headers.get("Date"));
                round.setText(headers.get("Round"));
                white.setText(headers.get("White"));
                black.setText(headers.get("Black"));

                builder.setNegativeButton(R.string.cancel, null);
                builder.setPositiveButton(android.R.string.ok, new Dialog.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        headers.put("Event", event.getText().toString().trim());
                        headers.put("Site", site.getText().toString().trim());
                        headers.put("Date", date.getText().toString().trim());
                        headers.put("Round", round.getText().toString().trim());
                        headers.put("White", white.getText().toString().trim());
                        headers.put("Black", black.getText().toString().trim());
                        ctrl.setHeaders(headers);
                        setBoardFlip(true);
                    }
                });

                builder.show();
                break;
            }
            case EDIT_COMMENTS: {
                AlertDialog.Builder builder = new AlertDialog.Builder(DroidFish.this);
                builder.setTitle(R.string.edit_comments);
                View content = View.inflate(DroidFish.this, R.layout.edit_comments, null);
                builder.setView(content);

                DroidChessController.CommentInfo commInfo = ctrl.getComments();

                final TextView preComment, moveView, nag, postComment;
                preComment = (TextView) content.findViewById(R.id.ed_comments_pre);
                moveView = (TextView) content.findViewById(R.id.ed_comments_move);
                nag = (TextView) content.findViewById(R.id.ed_comments_nag);
                postComment = (TextView) content.findViewById(R.id.ed_comments_post);

                preComment.setText(commInfo.preComment);
                postComment.setText(commInfo.postComment);
                moveView.setText(commInfo.move);
                String nagStr = Node.nagStr(commInfo.nag).trim();
                if ((nagStr.length() == 0) && (commInfo.nag > 0))
                    nagStr = String.format(Locale.US, "%d", commInfo.nag);
                nag.setText(nagStr);

                builder.setNegativeButton(R.string.cancel, null);
                builder.setPositiveButton(android.R.string.ok, new Dialog.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        String pre = preComment.getText().toString().trim();
                        String post = postComment.getText().toString().trim();
                        int nagVal = Node.strToNag(nag.getText().toString());

                        DroidChessController.CommentInfo commInfo = new DroidChessController.CommentInfo();
                        commInfo.preComment = pre;
                        commInfo.postComment = post;
                        commInfo.nag = nagVal;
                        ctrl.setComments(commInfo);
                    }
                });

                builder.show();
                break;
            }
            case REMOVE_SUBTREE:
                ctrl.removeSubTree();
                break;
            case MOVE_VAR_UP:
                ctrl.moveVariation(-1);
                break;
            case MOVE_VAR_DOWN:
                ctrl.moveVariation(1);
                break;
            case ADD_NULL_MOVE:
                ctrl.makeHumanNullMove();
                break;
            }
            moveListMenuDlg = null;
        }
    });
    AlertDialog alert = builder.create();
    moveListMenuDlg = alert;
    return alert;
}

From source file:edu.mit.viral.shen.DroidFish.java

private final Dialog selectPgnSaveNewFileDialog() {
    View content = View.inflate(this, R.layout.create_pgn_file, null);
    final AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setView(content);//www .  ja  v  a  2s  .  c om
    builder.setTitle(R.string.select_pgn_file_save);
    final EditText fileNameView = (EditText) content.findViewById(R.id.create_pgn_filename);
    fileNameView.setText("");
    final Runnable savePGN = new Runnable() {
        public void run() {
            String pgnFile = fileNameView.getText().toString();
            if ((pgnFile.length() > 0) && !pgnFile.contains("."))
                pgnFile += ".pgn";
            String sep = File.separator;
            String pathName = Environment.getExternalStorageDirectory() + sep + pgnDir + sep + pgnFile;
            savePGNToFile(pathName, false);
        }
    };
    builder.setPositiveButton(android.R.string.ok, new Dialog.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            savePGN.run();
        }
    });
    builder.setNegativeButton(R.string.cancel, null);

    final Dialog dialog = builder.create();
    fileNameView.setOnKeyListener(new OnKeyListener() {
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) {
                savePGN.run();
                dialog.cancel();
                return true;
            }
            return false;
        }
    });
    return dialog;
}

From source file:org.mdc.chess.MDChess.java

private void newNetworkEngineDialog() {
    View content = View.inflate(this, R.layout.create_network_engine, null);
    final EditText engineNameView = (EditText) content.findViewById(R.id.create_network_engine);
    final TextInputLayout engineNameWrapper = (TextInputLayout) content
            .findViewById(R.id.create_network_engine_wrapper);
    engineNameWrapper.setHint(content.getResources().getString(R.string.engine_name));
    engineNameView.setText("");
    final Runnable createEngine = new Runnable() {
        public void run() {
            String engineName = engineNameView.getText().toString();
            String sep = File.separator;
            String pathName = Environment.getExternalStorageDirectory() + sep + engineDir + sep + engineName;
            File file = new File(pathName);
            boolean nameOk = true;
            int errMsg = -1;
            if (engineName.contains("/")) {
                nameOk = false;/* w w w. j a va  2 s .c om*/
                errMsg = R.string.slash_not_allowed;
            } else if (reservedEngineName(engineName) || file.exists()) {
                nameOk = false;
                errMsg = R.string.engine_name_in_use;
            }
            if (!nameOk) {
                Toast.makeText(getApplicationContext(), errMsg, Toast.LENGTH_LONG).show();
                networkEngineDialog();
                return;
            }
            networkEngineToConfig = pathName;
            networkEngineConfigDialog();
        }
    };
    new MaterialDialog.Builder(this).title(R.string.create_network_engine).customView(content, true)
            .positiveText(android.R.string.ok).negativeText(R.string.cancel)
            .onPositive(new MaterialDialog.SingleButtonCallback() {
                @Override
                public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
                    createEngine.run();
                }
            }).onNegative(new MaterialDialog.SingleButtonCallback() {
                @Override
                public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
                    networkEngineDialog();
                }
            }).show();

    engineNameView.setOnKeyListener(new OnKeyListener() {
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) {
                createEngine.run();
                return true;
            }
            return false;
        }
    });
}

From source file:edu.mit.viral.shen.DroidFish.java

private final Dialog moveListMenuDialog() {
    final int EDIT_HEADERS = 0;
    final int EDIT_COMMENTS = 1;
    final int REMOVE_SUBTREE = 2;
    final int MOVE_VAR_UP = 3;
    final int MOVE_VAR_DOWN = 4;
    final int ADD_NULL_MOVE = 5;

    List<CharSequence> lst = new ArrayList<CharSequence>();
    List<Integer> actions = new ArrayList<Integer>();
    // lst.add(getString(R.string.edit_headers));      actions.add(EDIT_HEADERS);
    // if (ctrl.humansTurn()) {
    lst.add(getString(R.string.edit_comments));
    actions.add(EDIT_COMMENTS);//from  w  w w  .  j  a v a 2 s. co m
    // }
    // lst.add(getString(R.string.truncate_gametree)); actions.add(REMOVE_SUBTREE);
    // if (ctrl.numVariations() > 1) {
    //     lst.add(getString(R.string.move_var_up));   actions.add(MOVE_VAR_UP);
    //     lst.add(getString(R.string.move_var_down)); actions.add(MOVE_VAR_DOWN);
    // }

    boolean allowNullMove = gameMode.analysisMode()
            || (gameMode.playerWhite() && gameMode.playerBlack() && !gameMode.clocksActive());
    if (allowNullMove) {
        lst.add(getString(R.string.add_null_move));
        actions.add(ADD_NULL_MOVE);
    }
    final List<Integer> finalActions = actions;
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle(R.string.edit_game);
    builder.setItems(lst.toArray(new CharSequence[lst.size()]), new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int item) {
            switch (finalActions.get(item)) {
            case EDIT_HEADERS: {
                final TreeMap<String, String> headers = new TreeMap<String, String>();
                ctrl.getHeaders(headers);

                AlertDialog.Builder builder = new AlertDialog.Builder(DroidFish.this);
                builder.setTitle(R.string.edit_headers);
                View content = View.inflate(DroidFish.this, R.layout.edit_headers, null);
                builder.setView(content);

                final TextView event, site, date, round, white, black;

                event = (TextView) content.findViewById(R.id.ed_header_event);
                site = (TextView) content.findViewById(R.id.ed_header_site);
                date = (TextView) content.findViewById(R.id.ed_header_date);
                round = (TextView) content.findViewById(R.id.ed_header_round);
                white = (TextView) content.findViewById(R.id.ed_header_white);
                black = (TextView) content.findViewById(R.id.ed_header_black);

                event.setText(headers.get("Event"));
                site.setText(headers.get("Site"));
                date.setText(headers.get("Date"));
                round.setText(headers.get("Round"));
                white.setText(headers.get("White"));
                black.setText(headers.get("Black"));

                builder.setNegativeButton(R.string.cancel, null);
                builder.setPositiveButton(android.R.string.ok, new Dialog.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        headers.put("Event", event.getText().toString().trim());
                        headers.put("Site", site.getText().toString().trim());
                        headers.put("Date", date.getText().toString().trim());
                        headers.put("Round", round.getText().toString().trim());
                        headers.put("White", white.getText().toString().trim());
                        headers.put("Black", black.getText().toString().trim());
                        ctrl.setHeaders(headers);
                        setBoardFlip(true);
                    }
                });

                builder.show();
                break;
            }
            case EDIT_COMMENTS: {
                AlertDialog.Builder builder = new AlertDialog.Builder(DroidFish.this);
                builder.setTitle(R.string.edit_comments);
                View content = View.inflate(DroidFish.this, R.layout.edit_comments, null);
                builder.setView(content);

                DroidChessController.CommentInfo commInfo = ctrl.getComments();

                final TextView preComment, moveView, nag, postComment;
                preComment = (TextView) content.findViewById(R.id.ed_comments_pre);
                moveView = (TextView) content.findViewById(R.id.ed_comments_move);
                nag = (TextView) content.findViewById(R.id.ed_comments_nag);
                postComment = (TextView) content.findViewById(R.id.ed_comments_post);

                preComment.setText(commInfo.preComment);
                postComment.setText(commInfo.postComment);
                moveView.setText(commInfo.move);
                String nagStr = Node.nagStr(commInfo.nag).trim();
                if ((nagStr.length() == 0) && (commInfo.nag > 0))
                    nagStr = String.format(Locale.US, "%d", commInfo.nag);
                nag.setText(nagStr);

                builder.setNegativeButton(R.string.cancel, null);
                builder.setPositiveButton(android.R.string.ok, new Dialog.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        String pre = preComment.getText().toString().trim();
                        String post = postComment.getText().toString().trim();
                        int nagVal = Node.strToNag(nag.getText().toString());

                        DroidChessController.CommentInfo commInfo = new DroidChessController.CommentInfo();
                        commInfo.preComment = pre;
                        commInfo.postComment = post;
                        commInfo.nag = nagVal;
                        ctrl.setComments(commInfo);
                    }
                });

                builder.show();
                break;
            }
            case REMOVE_SUBTREE:
                ctrl.removeSubTree();
                break;
            case MOVE_VAR_UP:
                ctrl.moveVariation(-1);
                break;
            case MOVE_VAR_DOWN:
                ctrl.moveVariation(1);
                break;
            case ADD_NULL_MOVE:
                ctrl.makeHumanNullMove();
                break;
            }
            moveListMenuDlg = null;
        }
    });
    AlertDialog alert = builder.create();
    moveListMenuDlg = alert;
    return alert;
}

From source file:com.if3games.chessonline.DroidFish.java

private final Dialog moveListMenuDialog() {
    final int EDIT_HEADERS = 0;
    final int EDIT_COMMENTS = 1;
    final int REMOVE_SUBTREE = 2;
    final int MOVE_VAR_UP = 3;
    final int MOVE_VAR_DOWN = 4;
    final int ADD_NULL_MOVE = 5;

    List<CharSequence> lst = new ArrayList<CharSequence>();
    List<Integer> actions = new ArrayList<Integer>();
    lst.add(getString(R.string.edit_headers));
    actions.add(EDIT_HEADERS);/*from w  w  w . ja  va2 s  .  co m*/
    if (ctrl.humansTurn()) {
        lst.add(getString(R.string.edit_comments));
        actions.add(EDIT_COMMENTS);
    }
    lst.add(getString(R.string.truncate_gametree));
    actions.add(REMOVE_SUBTREE);
    if (ctrl.numVariations() > 1) {
        lst.add(getString(R.string.move_var_up));
        actions.add(MOVE_VAR_UP);
        lst.add(getString(R.string.move_var_down));
        actions.add(MOVE_VAR_DOWN);
    }

    boolean allowNullMove = gameMode.analysisMode()
            || (gameMode.playerWhite() && gameMode.playerBlack() && !gameMode.clocksActive());
    if (allowNullMove) {
        lst.add(getString(R.string.add_null_move));
        actions.add(ADD_NULL_MOVE);
    }
    final List<Integer> finalActions = actions;
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle(R.string.edit_game);
    builder.setItems(lst.toArray(new CharSequence[lst.size()]), new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int item) {
            switch (finalActions.get(item)) {
            case EDIT_HEADERS: {
                final TreeMap<String, String> headers = new TreeMap<String, String>();
                ctrl.getHeaders(headers);

                AlertDialog.Builder builder = new AlertDialog.Builder(DroidFish.this);
                builder.setTitle(R.string.edit_headers);
                View content = View.inflate(DroidFish.this, R.layout.edit_headers, null);
                builder.setView(content);

                final TextView event, site, date, round, white, black;

                event = (TextView) content.findViewById(R.id.ed_header_event);
                site = (TextView) content.findViewById(R.id.ed_header_site);
                date = (TextView) content.findViewById(R.id.ed_header_date);
                round = (TextView) content.findViewById(R.id.ed_header_round);
                white = (TextView) content.findViewById(R.id.ed_header_white);
                black = (TextView) content.findViewById(R.id.ed_header_black);

                event.setText(headers.get("Event"));
                site.setText(headers.get("Site"));
                date.setText(headers.get("Date"));
                round.setText(headers.get("Round"));
                white.setText(headers.get("White"));
                black.setText(headers.get("Black"));

                builder.setNegativeButton(R.string.cancel, null);
                builder.setPositiveButton(android.R.string.ok, new Dialog.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        headers.put("Event", event.getText().toString().trim());
                        headers.put("Site", site.getText().toString().trim());
                        headers.put("Date", date.getText().toString().trim());
                        headers.put("Round", round.getText().toString().trim());
                        headers.put("White", white.getText().toString().trim());
                        headers.put("Black", black.getText().toString().trim());
                        ctrl.setHeaders(headers);
                        setBoardFlip(true);
                    }
                });

                builder.show();
                break;
            }
            case EDIT_COMMENTS: {
                AlertDialog.Builder builder = new AlertDialog.Builder(DroidFish.this);
                builder.setTitle(R.string.edit_comments);
                View content = View.inflate(DroidFish.this, R.layout.edit_comments, null);
                builder.setView(content);

                DroidChessController.CommentInfo commInfo = ctrl.getComments();

                final TextView preComment, moveView, nag, postComment;
                preComment = (TextView) content.findViewById(R.id.ed_comments_pre);
                moveView = (TextView) content.findViewById(R.id.ed_comments_move);
                nag = (TextView) content.findViewById(R.id.ed_comments_nag);
                postComment = (TextView) content.findViewById(R.id.ed_comments_post);

                preComment.setText(commInfo.preComment);
                postComment.setText(commInfo.postComment);
                moveView.setText(commInfo.move);
                String nagStr = Node.nagStr(commInfo.nag).trim();
                if ((nagStr.length() == 0) && (commInfo.nag > 0))
                    nagStr = String.format(Locale.US, "%d", commInfo.nag);
                nag.setText(nagStr);

                builder.setNegativeButton(R.string.cancel, null);
                builder.setPositiveButton(android.R.string.ok, new Dialog.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        String pre = preComment.getText().toString().trim();
                        String post = postComment.getText().toString().trim();
                        int nagVal = Node.strToNag(nag.getText().toString());

                        DroidChessController.CommentInfo commInfo = new DroidChessController.CommentInfo();
                        commInfo.preComment = pre;
                        commInfo.postComment = post;
                        commInfo.nag = nagVal;
                        ctrl.setComments(commInfo);
                    }
                });

                builder.show();
                break;
            }
            case REMOVE_SUBTREE:
                ctrl.removeSubTree();
                break;
            case MOVE_VAR_UP:
                ctrl.moveVariation(-1);
                break;
            case MOVE_VAR_DOWN:
                ctrl.moveVariation(1);
                break;
            case ADD_NULL_MOVE:
                ctrl.makeHumanNullMove();
                break;
            }
            moveListMenuDlg = null;
        }
    });
    AlertDialog alert = builder.create();
    moveListMenuDlg = alert;
    return alert;
}

From source file:org.mdc.chess.MDChess.java

private void networkEngineConfigDialog() {
    View content = View.inflate(this, R.layout.network_engine_config, null);
    final EditText hostNameView = (EditText) content.findViewById(R.id.network_engine_host);
    final EditText portView = (EditText) content.findViewById(R.id.network_engine_port);
    String hostName = "";
    String port = "0";
    try {//from w w  w .jav a 2s . co m
        if (EngineUtil.isNetEngine(networkEngineToConfig)) {
            String[] lines = Util.readFile(networkEngineToConfig);
            if (lines.length > 1) {
                hostName = lines[1];
            }
            if (lines.length > 2) {
                port = lines[2];
            }
        }
    } catch (IOException e1) {
        Log.d("Exception", e1.toString());
    }
    hostNameView.setText(hostName);
    portView.setText(port);
    final Runnable writeConfig = new Runnable() {
        public void run() {
            String hostName = hostNameView.getText().toString();
            String port = portView.getText().toString();
            try {
                FileWriter fw = new FileWriter(new File(networkEngineToConfig), false);
                fw.write("NETE\n");
                fw.write(hostName);
                fw.write("\n");
                fw.write(port);
                fw.write("\n");
                fw.close();
                setEngineOptions(true);
            } catch (IOException e) {
                Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_LONG).show();
            }
        }
    };
    new MaterialDialog.Builder(this).title(R.string.configure_network_engine).customView(content, true)
            .positiveText(android.R.string.ok).negativeText(R.string.cancel).neutralText(R.string.delete)
            .onPositive(new MaterialDialog.SingleButtonCallback() {
                @Override
                public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
                    writeConfig.run();
                    networkEngineDialog();
                }
            }).onNeutral(new MaterialDialog.SingleButtonCallback() {
                @Override
                public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
                    deleteNetworkEngineDialog();
                }
            }).onNegative(new MaterialDialog.SingleButtonCallback() {
                @Override
                public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
                    networkEngineDialog();
                }
            });

    portView.setOnKeyListener(new OnKeyListener() {
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) {
                writeConfig.run();
                networkEngineDialog();
                return true;
            }
            return false;
        }
    });
}

From source file:org.petero.droidfish.DroidFish.java

private final Dialog newNetworkEngineDialog() {
    View content = View.inflate(this, R.layout.create_network_engine, null);
    final AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setView(content);//from  ww w  . j  a  va  2 s. c o  m
    builder.setTitle(R.string.create_network_engine);
    final EditText engineNameView = (EditText) content.findViewById(R.id.create_network_engine);
    engineNameView.setText("");
    final Runnable createEngine = new Runnable() {
        public void run() {
            String engineName = engineNameView.getText().toString();
            String sep = File.separator;
            String pathName = Environment.getExternalStorageDirectory() + sep + engineDir + sep + engineName;
            File file = new File(pathName);
            boolean nameOk = true;
            int errMsg = -1;
            if (engineName.contains("/")) {
                nameOk = false;
                errMsg = R.string.slash_not_allowed;
            } else if (reservedEngineName(engineName) || file.exists()) {
                nameOk = false;
                errMsg = R.string.engine_name_in_use;
            }
            if (!nameOk) {
                Toast.makeText(getApplicationContext(), errMsg, Toast.LENGTH_LONG).show();
                removeDialog(NETWORK_ENGINE_DIALOG);
                showDialog(NETWORK_ENGINE_DIALOG);
                return;
            }
            networkEngineToConfig = pathName;
            removeDialog(NETWORK_ENGINE_CONFIG_DIALOG);
            showDialog(NETWORK_ENGINE_CONFIG_DIALOG);
        }
    };
    builder.setPositiveButton(android.R.string.ok, new Dialog.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            createEngine.run();
        }
    });
    builder.setNegativeButton(R.string.cancel, new Dialog.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            removeDialog(NETWORK_ENGINE_DIALOG);
            showDialog(NETWORK_ENGINE_DIALOG);
        }
    });
    builder.setOnCancelListener(new Dialog.OnCancelListener() {
        @Override
        public void onCancel(DialogInterface dialog) {
            removeDialog(NETWORK_ENGINE_DIALOG);
            showDialog(NETWORK_ENGINE_DIALOG);
        }
    });

    final Dialog dialog = builder.create();
    engineNameView.setOnKeyListener(new OnKeyListener() {
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) {
                createEngine.run();
                dialog.cancel();
                return true;
            }
            return false;
        }
    });
    return dialog;
}

From source file:org.petero.droidfish.DroidFish.java

private final Dialog networkEngineConfigDialog() {
    View content = View.inflate(this, R.layout.network_engine_config, null);
    final AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setView(content);//from  w ww.  j ava2 s. c o  m
    builder.setTitle(R.string.configure_network_engine);
    final EditText hostNameView = (EditText) content.findViewById(R.id.network_engine_host);
    final EditText portView = (EditText) content.findViewById(R.id.network_engine_port);
    String hostName = "";
    String port = "0";
    try {
        if (EngineUtil.isNetEngine(networkEngineToConfig)) {
            String[] lines = Util.readFile(networkEngineToConfig);
            if (lines.length > 1)
                hostName = lines[1];
            if (lines.length > 2)
                port = lines[2];
        }
    } catch (IOException e1) {
    }
    hostNameView.setText(hostName);
    portView.setText(port);
    final Runnable writeConfig = new Runnable() {
        public void run() {
            String hostName = hostNameView.getText().toString();
            String port = portView.getText().toString();
            try {
                FileWriter fw = new FileWriter(new File(networkEngineToConfig), false);
                fw.write("NETE\n");
                fw.write(hostName);
                fw.write("\n");
                fw.write(port);
                fw.write("\n");
                fw.close();
                setEngineOptions(true);
            } catch (IOException e) {
                Toast.makeText(getApplicationContext(), e.getMessage(), Toast.LENGTH_LONG).show();
            }
        }
    };
    builder.setPositiveButton(android.R.string.ok, new Dialog.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            writeConfig.run();
            removeDialog(NETWORK_ENGINE_DIALOG);
            showDialog(NETWORK_ENGINE_DIALOG);
        }
    });
    builder.setNegativeButton(R.string.cancel, new Dialog.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            removeDialog(NETWORK_ENGINE_DIALOG);
            showDialog(NETWORK_ENGINE_DIALOG);
        }
    });
    builder.setOnCancelListener(new Dialog.OnCancelListener() {
        @Override
        public void onCancel(DialogInterface dialog) {
            removeDialog(NETWORK_ENGINE_DIALOG);
            showDialog(NETWORK_ENGINE_DIALOG);
        }
    });
    builder.setNeutralButton(R.string.delete, new Dialog.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            removeDialog(DELETE_NETWORK_ENGINE_DIALOG);
            showDialog(DELETE_NETWORK_ENGINE_DIALOG);
        }
    });

    final Dialog dialog = builder.create();
    portView.setOnKeyListener(new OnKeyListener() {
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) {
                writeConfig.run();
                dialog.cancel();
                removeDialog(NETWORK_ENGINE_DIALOG);
                showDialog(NETWORK_ENGINE_DIALOG);
                return true;
            }
            return false;
        }
    });
    return dialog;
}