Advertisement
Guest User

Untitled

a guest
Aug 2nd, 2017
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 55.96 KB | None | 0 0
  1. package com.example.teaarte.ssc.Fragments;
  2.  
  3. import android.content.Intent;
  4. import android.graphics.Color;
  5. import android.support.annotation.NonNull;
  6. import android.support.annotation.StringDef;
  7. import android.support.design.widget.TextInputLayout;
  8. import android.support.v7.app.AppCompatActivity;
  9. import android.os.Bundle;
  10. import android.support.v7.widget.SwitchCompat;
  11. import android.support.v7.widget.Toolbar;
  12. import android.text.Editable;
  13. import android.text.TextUtils;
  14. import android.text.TextWatcher;
  15. import android.util.Log;
  16. import android.view.LayoutInflater;
  17. import android.view.MotionEvent;
  18. import android.view.View;
  19. import android.view.ViewGroup;
  20. import android.view.Window;
  21. import android.widget.Button;
  22. import android.widget.CompoundButton;
  23. import android.widget.EditText;
  24. import android.widget.ImageButton;
  25. import android.widget.ImageView;
  26. import android.widget.LinearLayout;
  27. import android.widget.RelativeLayout;
  28. import android.widget.TextView;
  29. import android.widget.Toast;
  30.  
  31. import com.afollestad.materialdialogs.DialogAction;
  32. import com.afollestad.materialdialogs.MaterialDialog;
  33. import com.example.teaarte.ssc.ApiController;
  34. import com.example.teaarte.ssc.AuthActivity;
  35. import com.example.teaarte.ssc.Models.Monitor;
  36. import com.example.teaarte.ssc.Models.MonitorsController;
  37. import com.example.teaarte.ssc.Models.Tarifs;
  38. import com.example.teaarte.ssc.MonitorExportActivity;
  39. import com.example.teaarte.ssc.MonitorInfo;
  40. import com.example.teaarte.ssc.R;
  41. import com.example.teaarte.ssc.SelectActivity;
  42. import com.yandex.metrica.YandexMetrica;
  43.  
  44. import java.util.ArrayList;
  45. import java.util.Dictionary;
  46. import java.util.HashMap;
  47.  
  48. public class AddMonitorActivity extends AppCompatActivity {
  49.  
  50.     MonitorsController monitorsController1 = MonitorsController.getInstance();
  51.     Monitor monitor1;
  52.  
  53.     static Boolean isTouched = false;
  54.     static Boolean isTouched2 = false;
  55.     static Boolean isTouched3 = false;
  56.     private ViewGroup mLinearLayout;
  57.     TextInputLayout dns;
  58.     LinearLayout auth;
  59.     LinearLayout line;
  60.     String reservName;
  61.     String reservAdress;
  62.     LinearLayout addKeywordsLL;
  63.  
  64.  
  65.     public void onActivityResult(int requestCode, int resultCode, Intent data) {
  66.         super.onActivityResult(requestCode, resultCode, data);
  67.         if (requestCode == 1) {
  68.             if(resultCode == RESULT_OK){
  69.                 String res = data.getStringExtra("res");
  70.                 Log.i("RESSSSSSSSSS", res);
  71.                 int type=data.getIntExtra("type", 0);
  72.                 switch (type) {
  73.                     case 1:
  74.                         EditText monitor_edit_type_tv = (EditText) findViewById(R.id.monitor_edit_type_tv);
  75.                         TextInputLayout dns = (TextInputLayout) findViewById(R.id.monitor_edit_dns);
  76.                         LinearLayout auth = (LinearLayout) findViewById(R.id.mon_auth);
  77.                         LinearLayout line = (LinearLayout) findViewById(R.id.line);
  78.                         monitor_edit_type_tv.setText(res);
  79.                         if (res.equals("HTTP Get")) {
  80.                             monitor.type = 1;
  81.                             auth.setVisibility(View.VISIBLE);
  82.                             dns.setVisibility(View.GONE);
  83.                             line.setVisibility(View.VISIBLE);
  84.                             addKeywordsLL.setVisibility(View.VISIBLE);
  85.                         }
  86.                         if (res.equals("HTTP Post")) {
  87.                             monitor.type = 2;
  88.                             auth.setVisibility(View.VISIBLE);
  89.                             line.setVisibility(View.VISIBLE);
  90.                             dns.setVisibility(View.GONE);
  91.                             addKeywordsLL.setVisibility(View.VISIBLE);
  92.  
  93.                         }
  94.                         if (res.equals("HTTP Head")) {
  95.                             monitor.type = 3;
  96.                             auth.setVisibility(View.VISIBLE);
  97.                             line.setVisibility(View.VISIBLE);
  98.                             dns.setVisibility(View.GONE);
  99.                             addKeywordsLL.setVisibility(View.VISIBLE);
  100.  
  101.                         }
  102.                         if (res.equals("HTTPS GET")) {
  103.                             monitor.type = 4;
  104.                             auth.setVisibility(View.VISIBLE);
  105.                             line.setVisibility(View.VISIBLE);
  106.                             dns.setVisibility(View.GONE);
  107.                             addKeywordsLL.setVisibility(View.VISIBLE);
  108.  
  109.                         }
  110.                         if (res.equals("HTTPS Post")) {
  111.                             monitor.type = 5;
  112.                             auth.setVisibility(View.VISIBLE);
  113.                             line.setVisibility(View.VISIBLE);
  114.                             dns.setVisibility(View.GONE);
  115.                             addKeywordsLL.setVisibility(View.VISIBLE);
  116.  
  117.                         }
  118.                         if (res.equals("HTTPS Head")) {
  119.                             monitor.type = 6;
  120.                             auth.setVisibility(View.VISIBLE);
  121.                             line.setVisibility(View.VISIBLE);
  122.                             dns.setVisibility(View.GONE);
  123.                             addKeywordsLL.setVisibility(View.VISIBLE);
  124.  
  125.                         }
  126.                         if (res.equals("FTP")) {
  127.                             monitor.type = 7;
  128.                             auth.setVisibility(View.GONE);
  129.                             line.setVisibility(View.GONE);
  130.                             dns.setVisibility(View.GONE);
  131.                             addKeywordsLL.setVisibility(View.GONE);
  132.                         }
  133.                         if (res.equals("POP3")) {
  134.                             monitor.type = 8;
  135.                             auth.setVisibility(View.GONE);
  136.                             line.setVisibility(View.GONE);
  137.                             dns.setVisibility(View.GONE);
  138.                             addKeywordsLL.setVisibility(View.GONE);
  139.                         }
  140.                         if (res.equals("SMTP")) {
  141.                             monitor.type = 9;
  142.                             auth.setVisibility(View.GONE);
  143.                             line.setVisibility(View.GONE);
  144.                             dns.setVisibility(View.GONE);
  145.                             addKeywordsLL.setVisibility(View.GONE);
  146.                         }
  147.                         if (res.equals("IMAP")) {
  148.                             monitor.type = 10;
  149.                             auth.setVisibility(View.GONE);
  150.                             line.setVisibility(View.GONE);
  151.                             dns.setVisibility(View.GONE);
  152.                             addKeywordsLL.setVisibility(View.GONE);
  153.                         }
  154.                         if (res.equals("Ping")) {
  155.                             monitor.type = 11;
  156.                             auth.setVisibility(View.GONE);
  157.                             line.setVisibility(View.GONE);
  158.                             dns.setVisibility(View.GONE);
  159.                             addKeywordsLL.setVisibility(View.GONE);
  160.                         }
  161.                         if (res.equals("DNS")) {
  162.                             monitor.type = 12;
  163.                             auth.setVisibility(View.GONE);
  164.                             dns.setVisibility(View.VISIBLE);
  165.                             line.setVisibility(View.GONE);
  166.                             addKeywordsLL.setVisibility(View.GONE);
  167.                         }
  168.                         break;
  169.                     case 2:
  170.                         EditText monitor_edit_check_time_tv = (EditText) findViewById(R.id.monitor_edit_check_time_tv);
  171.                         int old = monitor.period;
  172.  
  173.                         if (res.equals("1 минута")) monitor.period = 1;
  174.                         if (res.equals("5 минут")) monitor.period = 5;
  175.                         if (res.equals("10 минут")) monitor.period = 10;
  176.                         if (res.equals("30 минут")) monitor.period = 30;
  177.                         if (res.equals("1 час")) monitor.period = 60;
  178.                         if (res.equals("6 часов")) monitor.period = 360;
  179.                         if (res.equals("1 сутки")) monitor.period = 1440;
  180.                         if (res.equals("1 сутки")) monitor.period = 1440;
  181.                         if (res.equals("Не проверять")) monitor.period = 0;
  182.                         String newRes = res;
  183.                         if (ApiController.getInstance().tarif_id == 0) {
  184.                             if (monitor.period < 10 && monitor.period != 0) {
  185.                                 new MaterialDialog.Builder(AddMonitorActivity.this)
  186.                                         .content("На тарифе \"Basic\" минимальная периодичность проверки 10 минут ")
  187.                                         .contentColor(Color.parseColor("#4b4b4b"))
  188.                                         .positiveText("Ок")
  189.                                         .positiveColor(Color.parseColor("#dd4d4f"))
  190.                                         .show();
  191.                                 monitor.period = old;
  192.                                 newRes = monitor_edit_check_time_tv.getText().toString();
  193.                             }
  194.                         }
  195.                         monitor_edit_check_time_tv.setText(newRes);
  196.  
  197.                         break;
  198.                     case 3:
  199.                         EditText monitor_edit_check_time_err_tv = (EditText) findViewById(R.id.monitor_edit_check_time_err_tv);
  200.                         old = monitor.period_in_error;
  201.  
  202.                         if (res.equals("1 минута")) monitor.period_in_error = 1;
  203.                         if (res.equals("5 минут")) monitor.period_in_error = 5;
  204.                         if (res.equals("10 минут")) monitor.period_in_error = 10;
  205.                         if (res.equals("30 минут")) monitor.period_in_error = 30;
  206.                         if (res.equals("1 час")) monitor.period_in_error = 60;
  207.                         if (res.equals("6 часов")) monitor.period_in_error = 360;
  208.                         if (res.equals("1 сутки")) monitor.period_in_error = 1440;
  209.                         if (res.equals("1 сутки")) monitor.period_in_error = 1440;
  210.                         if (res.equals("Не проверять")) monitor.period_in_error = 0;
  211.  
  212.                         newRes = res;
  213.                         if (ApiController.getInstance().tarif_id == 0) {
  214.                             if (monitor.period_in_error < 10 && monitor.period_in_error != 0) {
  215.                                 new MaterialDialog.Builder(AddMonitorActivity.this)
  216.                                         .content("На тарифе \"Basic\" минимальная периодичность проверки 10 минут ")
  217.                                         .contentColor(Color.parseColor("#4b4b4b"))
  218.                                         .positiveText("Ок")
  219.                                         .positiveColor(Color.parseColor("#dd4d4f"))
  220.                                         .show();
  221.                                 monitor.period_in_error = old;
  222.                                 newRes = monitor_edit_check_time_err_tv.getText().toString();
  223.                             }
  224.                         }
  225.                         monitor_edit_check_time_err_tv.setText(newRes);
  226.                         break;
  227.                     case 4:
  228.                         EditText monitor_edit_err_notificate_tv = (EditText) findViewById(R.id.monitor_edit_err_notificate_tv);
  229.                         monitor_edit_err_notificate_tv.setText(res);
  230.                         if (res.equals("После 1-ой ошибки")) monitor.notification_event = 1;
  231.                         if (res.equals("После 2-ой ошибки")) monitor.notification_event = 2;
  232.                         if (res.equals("После 3-ой ошибки")) monitor.notification_event = 3;
  233.                         if (res.equals("После 5-ой ошибки")) monitor.notification_event = 5;
  234.                         if (res.equals("После 10-ой ошибки")) monitor.notification_event = 10;
  235.                         if (res.equals("После 25-ой ошибки")) monitor.notification_event = 25;
  236.                         if (res.equals("Не уведомлять")) monitor.notification_event = 0;
  237.                         break;
  238.                     case 5:
  239.                         EditText monitor_edit_notificate_method_tv = (EditText) findViewById(R.id.monitor_edit_notificate_method_tv);
  240.                         TextInputLayout monitor_edit_notificate_method_data = (TextInputLayout) findViewById(R.id.monitor_edit_notificate_method_data);
  241.                         if (res.equals("E-mail")) {
  242.                             monitor_edit_notificate_method_data.setVisibility(View.VISIBLE);
  243.                         } else {
  244.                             monitor_edit_notificate_method_data.setVisibility(View.GONE);
  245.                         }
  246.                         monitor_edit_notificate_method_tv.setText(res);
  247.                         if (res.equals("E-mail")) monitor.notification_chanel = 1;
  248.                         if (res.equals("SMS")) monitor.notification_chanel = 2;
  249.                         if (res.equals("Нет")) monitor.notification_chanel = 0;
  250.  
  251.                         break;
  252.                     case 6:
  253.                         EditText monitor_timeout_tv = (EditText) findViewById(R.id.monitor_timeout_tv);
  254.                         monitor_timeout_tv.setText(res);
  255.                         monitor.timeout = 10;
  256.                         if (res.equals("1 секунда")) monitor.timeout = 1;
  257.                         if (res.equals("2 секунды")) monitor.timeout = 2;
  258.                         if (res.equals("3 секунды")) monitor.timeout = 3;
  259.                         if (res.equals("5 секунд")) monitor.timeout = 5;
  260.                         if (res.equals("10 секунд")) monitor.timeout = 10;
  261.                         if (res.equals("15 секунд")) monitor.timeout = 15;
  262.                         break;
  263.                     default:
  264.                         Log.i("err","wp");
  265.                         break;
  266.                 }
  267.                 Log.i("res",res);
  268.                 Log.i("res2222",String.valueOf(type));
  269.             }
  270.         }
  271.     }
  272.  
  273.     MonitorsController monitorsController = MonitorsController.getInstance();
  274.     Monitor monitor;
  275.  
  276.     @Override
  277.     protected void onCreate(Bundle savedInstanceState) {
  278.         super.onCreate(savedInstanceState);
  279.         setContentView(R.layout.activity_add_monitor);
  280.  
  281.         Button deleteBtn = (Button)findViewById(R.id.delete_monitor_btn);
  282.         LinearLayout linearLayout1 = (LinearLayout) findViewById(R.id.disable_basic);
  283.         linearLayout1.setVisibility(View.GONE);
  284.         ApiController apiController1 = ApiController.getInstance();
  285.         int tarif_IDDD = apiController1.tarif_id;
  286.  
  287.  
  288.  
  289.         deleteBtn.setOnClickListener(new View.OnClickListener() {
  290.             @Override
  291.             public void onClick(View v) {
  292.                 new MaterialDialog.Builder(AddMonitorActivity.this)
  293.                         .content("Вы действительно хотите удалить монитор?\n")
  294.                         .contentColor(Color.parseColor("#4b4b4b"))
  295.                         .positiveText("УДАЛИТЬ")
  296.                         .negativeText("ОТМЕНА")
  297.                         .positiveColor(Color.parseColor("#dd4d4f"))
  298.                         .onPositive(new MaterialDialog.SingleButtonCallback() {
  299.                             @Override
  300.                             public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
  301.                                 ApiController apiController = ApiController.getInstance();
  302.                                 apiController.monitor_delete(monitor, apiController.new MonitorDeleteCallback() {
  303.                                     @Override
  304.                                     public void onComplete() {
  305.                                         Log.i("DELETE","deleted");
  306.                                     }
  307.  
  308.                                     @Override
  309.                                     public void onError(String errorString) {
  310.                                         Log.i("DELETE",errorString);
  311.                                     }
  312.                                 });
  313.  
  314.                                 Intent intent = new Intent();
  315.                                 setResult(RESULT_OK, intent);
  316.                                 intent.putExtra("delete", true);
  317.                                 finish();
  318.                             }
  319.                         })
  320.                         .show();
  321.                 YandexMetrica.reportEvent("deleteMonitorSuccess");
  322.             }
  323.         });
  324.  
  325.         final String action = getIntent().getExtras().getString("action");
  326.         if (action.equals("add")) {
  327.             YandexMetrica.reportEvent("MonitorAdd");
  328.             monitor = new Monitor();
  329.             LinearLayout linearLayout = (LinearLayout)findViewById(R.id.delete_monitor_layout);
  330.             linearLayout.setVisibility(View.GONE);
  331.             deleteBtn.setVisibility(View.GONE);
  332.             monitorsController.currentMonitor = monitor;
  333.         }
  334.         if (action.equals("update")) {
  335.             monitor1 = monitorsController1.currentMonitor;
  336.             YandexMetrica.reportEvent("MonitorEdit");
  337.             monitor = monitorsController.currentMonitor;
  338.             reservName = monitor1.name;
  339.             reservAdress = monitor1.address;
  340.         }
  341.  
  342.  
  343.         Toolbar toolbar = (Toolbar)findViewById(R.id.maintoolbar);
  344.  
  345.         String toolbarname = getIntent().getExtras().getString("toolbar");
  346.  
  347.         setSupportActionBar(toolbar);
  348.         getSupportActionBar().setTitle(toolbarname);
  349.         getSupportActionBar().setDisplayHomeAsUpEnabled(true);
  350.         getSupportActionBar().setDisplayShowHomeEnabled(true);
  351.         toolbar.setTitleTextColor(Color.WHITE);
  352.  
  353.  
  354.         SwitchCompat authSwitch = (SwitchCompat) findViewById(R.id.compatSwitch_auth);
  355.         SwitchCompat notifSwitch = (SwitchCompat) findViewById(R.id.compatSwitch_notifications);
  356.         final SwitchCompat activeSwitch = (SwitchCompat) findViewById(R.id.compatSwitch_active);
  357.         if (monitor.active){
  358.             activeSwitch.setChecked(true);
  359.         } else {
  360.             activeSwitch.setChecked(false);
  361.         }
  362.         if (monitor.notification == 1){
  363.             notifSwitch.setChecked(true);
  364.         }
  365.         if (monitor.notification == 0){
  366.             notifSwitch.setChecked(false);
  367.         }
  368.         TextInputLayout name = (TextInputLayout) findViewById(R.id.monitor_edit_username);
  369.         TextInputLayout pswrd = (TextInputLayout) findViewById(R.id.monitor_edit_password);
  370.         TextView addKW = (TextView) findViewById(R.id.add_keyword);
  371.         TextInputLayout monitor_edit_notificate_method_data = (TextInputLayout)findViewById(R.id.monitor_edit_notificate_method_data);
  372.         monitor_edit_notificate_method_data.setVisibility(View.GONE);
  373.         final EditText monitor_edit_type_tv = (EditText) findViewById(R.id.monitor_edit_type_tv);
  374.         EditText monitor_timeout_tv = (EditText) findViewById(R.id.monitor_timeout_tv);
  375.         EditText monitor_edit_check_time_tv = (EditText) findViewById(R.id.monitor_edit_check_time_tv);
  376.         EditText monitor_edit_check_time_err_tv = (EditText) findViewById(R.id.monitor_edit_check_time_err_tv);
  377.         EditText monitor_edit_err_notificate_tv = (EditText) findViewById(R.id.monitor_edit_err_notificate_tv);
  378.         EditText monitor_edit_notificate_method_tv = (EditText) findViewById(R.id.monitor_edit_notificate_method_tv);
  379.         final EditText monitor_edit_site_tv = (EditText) findViewById(R.id.monitor_edit_site_tv);
  380.         final EditText monitor_edit_username_tv = (EditText) findViewById(R.id.monitor_edit_username_tv);
  381.         final EditText monitor_edit_password_tv = (EditText) findViewById(R.id.monitor_edit_password_tv);
  382.         final EditText monitor_edit_notificate_method_data_tv = (EditText) findViewById(R.id.monitor_edit_notificate_method_data_tv);
  383.         final EditText monitor_edit_dns_tv = (EditText) findViewById(R.id.monitor_edit_dns_tv);
  384.         ImageButton button = (ImageButton) findViewById(R.id.monitor_add);
  385.         TextInputLayout dns = (TextInputLayout) findViewById(R.id.monitor_edit_dns);
  386.         LinearLayout auth = (LinearLayout) findViewById(R.id.mon_auth);
  387.         LinearLayout line = (LinearLayout) findViewById(R.id.line);
  388.         addKeywordsLL = (LinearLayout) findViewById(R.id.find_on_page);
  389.         if (monitor.type < 7){
  390.             addKeywordsLL.setVisibility(View.VISIBLE);
  391.         } else {
  392.             addKeywordsLL.setVisibility(View.GONE);
  393.         }
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.         dns.setVisibility(View.GONE);
  402.         auth.setVisibility(View.GONE);
  403.         line.setVisibility(View.GONE);
  404.  
  405.         monitor_edit_notificate_method_data_tv.setText(monitor.notification_email);
  406.         if (monitor.notification_chanel == 1) {
  407.             monitor_edit_notificate_method_data.setVisibility(View.VISIBLE);
  408.         }
  409.  
  410.         monitor_edit_username_tv.setText(monitor.username);
  411.         monitor_edit_password_tv.setText(monitor.password);
  412.         name.setVisibility(View.GONE);
  413.         pswrd.setVisibility(View.GONE);
  414.  
  415.         if (monitor.type >= 1 && monitor.type <= 6) {
  416.             auth.setVisibility(View.VISIBLE);
  417.             line.setVisibility(View.VISIBLE);
  418.  
  419.             if (monitor.auth == 1) {
  420.                 authSwitch.setChecked(true);
  421.                 monitor.auth = 1;
  422.                 name.setVisibility(View.VISIBLE);
  423.                 pswrd.setVisibility(View.VISIBLE);
  424.             }
  425.             else {
  426.                 name.setVisibility(View.GONE);
  427.                 pswrd.setVisibility(View.GONE);
  428.             }
  429.  
  430.         }
  431.  
  432.         if (monitor.type == 12) {
  433.             dns.setVisibility(View.VISIBLE);
  434.         }
  435.  
  436.         switch (monitor.type) {
  437.             case 1:
  438.                 monitor_edit_type_tv.setText("HTTP Get");
  439.                 break;
  440.             case 2:
  441.                 monitor_edit_type_tv.setText("HTTP Post");
  442.                 break;
  443.             case 3:
  444.                 monitor_edit_type_tv.setText("HTTP Head");
  445.                 break;
  446.             case 4:
  447.                 monitor_edit_type_tv.setText("HTTPS GET");
  448.                 break;
  449.             case 5:
  450.                 monitor_edit_type_tv.setText("HTTPS Post");
  451.                 break;
  452.             case 6:
  453.                 monitor_edit_type_tv.setText("HTTPS Head");
  454.                 break;
  455.             case 7:
  456.                 monitor_edit_type_tv.setText("FTP");
  457.                 break;
  458.             case 8:
  459.                 monitor_edit_type_tv.setText("POP3");
  460.                 break;
  461.             case 9:
  462.                 monitor_edit_type_tv.setText("SMTP");
  463.                 break;
  464.             case 10:
  465.                 monitor_edit_type_tv.setText("IMAP");
  466.                 break;
  467.             case 11:
  468.                 monitor_edit_type_tv.setText("Ping");
  469.                 break;
  470.             case 12:
  471.                 monitor_edit_type_tv.setText("DNS");
  472.                 break;
  473.             default:
  474.                 monitor_edit_type_tv.setText("");
  475.                 break;
  476.         }
  477.  
  478.  
  479.         switch (monitor.timeout) {
  480.             case 1:
  481.                 monitor_timeout_tv.setText("1 секунда");
  482.                 break;
  483.             case 2:
  484.                 monitor_timeout_tv.setText("2 секунды");
  485.                 break;
  486.             case 3:
  487.                 monitor_timeout_tv.setText("3 секунды");
  488.                 break;
  489.             case 5:
  490.                 monitor_timeout_tv.setText("5 секунд");
  491.                 break;
  492.             case 10:
  493.                 monitor_timeout_tv.setText("10 секунд");
  494.                 break;
  495.             case 15:
  496.                 monitor_timeout_tv.setText("15 секунд");
  497.                 break;
  498.             default:
  499.                 monitor_timeout_tv.setText("");
  500.                 break;
  501.  
  502.         }
  503.  
  504.         switch (monitor.period_in_error) {
  505.             case 1:
  506.                 monitor_edit_check_time_err_tv.setText("1 минута");
  507.                 break;
  508.             case 5:
  509.                 monitor_edit_check_time_err_tv.setText("5 минут");
  510.                 break;
  511.             case 10:
  512.                 monitor_edit_check_time_err_tv.setText("10 минут");
  513.                 break;
  514.             case 30:
  515.                 monitor_edit_check_time_err_tv.setText("30 минут");
  516.                 break;
  517.             case 60:
  518.                 monitor_edit_check_time_err_tv.setText("1 час");
  519.                 break;
  520.             case 360:
  521.                 monitor_edit_check_time_err_tv.setText("6 часов");
  522.                 break;
  523.             case 1440:
  524.                 monitor_edit_check_time_err_tv.setText("1 сутки");
  525.                 break;
  526.             case 0:
  527.                 monitor_edit_check_time_err_tv.setText("Не проверять");
  528.                 break;
  529.             default:
  530.                 monitor_edit_check_time_err_tv.setText(String.valueOf(monitor.period_in_error) + " минут");
  531.                 break;
  532.         }
  533.  
  534.         switch (monitor.period) {
  535.             case 1:
  536.                 monitor_edit_check_time_tv.setText("1 минута");
  537.                 break;
  538.             case 5:
  539.                 monitor_edit_check_time_tv.setText("5 минут");
  540.                 break;
  541.             case 10:
  542.                 monitor_edit_check_time_tv.setText("10 минут");
  543.                 break;
  544.             case 30:
  545.                 monitor_edit_check_time_tv.setText("30 минут");
  546.                 break;
  547.             case 60:
  548.                 monitor_edit_check_time_tv.setText("1 час");
  549.                 break;
  550.             case 360:
  551.                 monitor_edit_check_time_tv.setText("6 часов");
  552.                 break;
  553.             case 1440:
  554.                 monitor_edit_check_time_tv.setText("1 сутки");
  555.                 break;
  556.             case 0:
  557.                 monitor_edit_check_time_tv.setText("Не проверять");
  558.                 break;
  559.             default:
  560.                 monitor_edit_check_time_tv.setText(String.valueOf(monitor.period_in_error) + " минут");
  561.                 break;
  562.         }
  563.  
  564.         switch (monitor.notification_event) {
  565.             case 1:
  566.                 monitor_edit_err_notificate_tv.setText("После 1-ой ошибки");
  567.                 break;
  568.             case 2:
  569.                 monitor_edit_err_notificate_tv.setText("После 2-ой ошибки");
  570.                 break;
  571.             case 3:
  572.                 monitor_edit_err_notificate_tv.setText("После 3-ой ошибки");
  573.                 break;
  574.             case 5:
  575.                 monitor_edit_err_notificate_tv.setText("После 5-ой ошибки");
  576.                 break;
  577.             case 10:
  578.                 monitor_edit_err_notificate_tv.setText("После 10-ой ошибки");
  579.                 break;
  580.             case 25:
  581.                 monitor_edit_err_notificate_tv.setText("После 25-ой ошибки");
  582.                 break;
  583.             case 0:
  584.                 monitor_edit_err_notificate_tv.setText("Не отправлять");
  585.                 break;
  586.             default:
  587.                 monitor_edit_err_notificate_tv.setText("Не отправлять");
  588.                 break;
  589.         }
  590.  
  591.         switch (monitor.notification_chanel) {
  592.             case 1:
  593.                 monitor_edit_notificate_method_tv.setText("E-mail");
  594.                 break;
  595.             case 2:
  596.                 monitor_edit_notificate_method_tv.setText("SMS");
  597.                 break;
  598.             case 0:
  599.                 monitor_edit_notificate_method_tv.setText("Нет");
  600.                 break;
  601.             default:
  602.                 monitor_edit_err_notificate_tv.setText("");
  603.                 break;
  604.         }
  605.  
  606.  
  607.         String[] words_ = monitor.search_in_page.split("\\|");
  608.         for (String word:words_) {
  609.             if (!word.equals(""))
  610.                 newKW(word);
  611.         }
  612.  
  613.  
  614.  
  615.         final EditText nameText = (EditText)findViewById(R.id.monitor_edit_name_tv);
  616.         nameText.setText(monitor.name);
  617.         monitor_edit_dns_tv.setText(monitor.address_dns);
  618.  
  619.  
  620.         button.setOnClickListener(new View.OnClickListener() {
  621.             @Override
  622.             public void onClick(View v) {
  623.                 Intent intent = new Intent();
  624.                 String keywords = "";
  625.                 for (String word : words) {
  626.                     if (!word.equals("")){
  627.                         if (keywords.equals("")) {
  628.                             keywords = word;
  629.                         } else {
  630.                             keywords += "|"+word;
  631.                         }
  632.                     }
  633.                 }
  634.                 Log.i("KEYWORDS", keywords);
  635.                 monitor.name = nameText.getText().toString();
  636.                 String monitorname = nameText.getText().toString();
  637.                 monitor.address = monitor_edit_site_tv.getText().toString();
  638.                 String monitoraddress = monitor_edit_site_tv.getText().toString();
  639.                 monitor.address_dns = monitor_edit_dns_tv.getText().toString();
  640.                 String monitoraddress_dns = monitor_edit_dns_tv.getText().toString();
  641.                 monitor.username = monitor_edit_username_tv.getText().toString();
  642.                 String monitorusername = monitor_edit_username_tv.getText().toString();
  643.                 monitor.password = monitor_edit_password_tv.getText().toString();
  644.                 String monitorpassword = monitor_edit_password_tv.getText().toString();
  645.                 monitor.notification_email = monitor_edit_notificate_method_data_tv.getText().toString();
  646.                 String monitornotification_email = monitor_edit_notificate_method_data_tv.getText().toString();
  647.                 monitor.search_in_page = keywords;
  648.                 String action = getIntent().getExtras().getString("action");
  649.                 Log.i("xcbvvn", nameText.getText().toString());
  650.                 if (validate()){
  651.                     setResult(RESULT_OK, intent);
  652.                     if (action.equals("add")){
  653.                         YandexMetrica.reportEvent("MonitorAddSuccess");
  654.  
  655.                     }
  656.                     if (action.equals("update")){
  657.                         YandexMetrica.reportEvent("monitorEditSuccess");
  658.                     }
  659.                     finish();
  660.                 }
  661.  
  662.             }
  663.         });
  664.  
  665.         toolbar.setNavigationOnClickListener(new View.OnClickListener() {
  666.             @Override
  667.             public void onClick(View v) {
  668.                 if (action.equals("update") & monitor.name.length() == 0 || monitor.address.length() == 0){
  669.                     monitor.name = reservName;
  670.                     monitor.address = reservAdress;
  671.                 }
  672.                 finish();
  673.             }
  674.         });
  675.  
  676.         monitor_edit_type_tv.setOnTouchListener(new View.OnTouchListener() {
  677.             @Override
  678.             public boolean onTouch(View v, MotionEvent event) {
  679.                 if (event.getAction()==MotionEvent.ACTION_UP){
  680.                     String[] params = {"HTTP Get", "HTTP Post", "HTTP Head", "HTTPS GET", "HTTPS Post", "HTTPS Head", "FTP", "POP3", "SMTP", "IMAP", "Ping", "DNS"};
  681.                     Intent intent = new Intent(AddMonitorActivity.this, SelectActivity.class);
  682.                     intent.putExtra("title","Тип запроса");
  683.                     intent.putExtra("params", params);
  684.                     intent.putExtra("type", 1);
  685.                     String add;
  686.                     switch (monitor.type) {
  687.                         case 1:
  688.                             add = ("HTTP Get");
  689.                             break;
  690.                         case 2:
  691.                             add = ("HTTP Post");
  692.                             break;
  693.                         case 3:
  694.                             add = ("HTTP Head");
  695.                             break;
  696.                         case 4:
  697.                             add = ("HTTPS GET");
  698.                             break;
  699.                         case 5:
  700.                             add = ("HTTPS Post");
  701.                             break;
  702.                         case 6:
  703.                             add = ("HTTPS Head");
  704.                             break;
  705.                         case 7:
  706.                             add = ("FTP");
  707.                             break;
  708.                         case 8:
  709.                             add = ("POP3");
  710.                             break;
  711.                         case 9:
  712.                             add = ("SMTP");
  713.                             break;
  714.                         case 10:
  715.                             add = ("IMAP");
  716.                             break;
  717.                         case 11:
  718.                             add = ("Ping");
  719.                             break;
  720.                         case 12:
  721.                             add = ("DNS");
  722.                             break;
  723.                         default:
  724.                             add = "";
  725.                             break;
  726.                     }
  727.                     intent.putExtra("add", add);
  728.                     startActivityForResult(intent, 1);
  729.                 }
  730.                 return false;
  731.             }
  732.         });
  733.  
  734.         monitor_timeout_tv.setOnTouchListener(new View.OnTouchListener() {
  735.             @Override
  736.             public boolean onTouch(View v, MotionEvent event) {
  737.                 if (event.getAction()==MotionEvent.ACTION_UP){
  738.                     String[] params = {"1 секунда", "2 секунды", "3 секунды", "5 секунд", "10 секунд", "15 секунд"};
  739.                     Intent intent = new Intent(AddMonitorActivity.this, SelectActivity.class);
  740.                     intent.putExtra("title","Максимальное время ожидания");
  741.                     intent.putExtra("params", params);
  742.                     intent.putExtra("type", 6);
  743.                     String add;
  744.                     switch (monitor.timeout) {
  745.                         case 1:
  746.                             add = ("1 секунда");
  747.                             break;
  748.                         case 2:
  749.                             add = ("2 секунды");
  750.                             break;
  751.                         case 3:
  752.                             add = ("3 секунды");
  753.                             break;
  754.                         case 5:
  755.                             add = ("5 секунд");
  756.                             break;
  757.                         case 10:
  758.                             add = ("10 секунд");
  759.                             break;
  760.                         case 15:
  761.                             add = ("15 секунд");
  762.                             break;
  763.                         default:
  764.                             add = "";
  765.                             break;
  766.                     }
  767.                     intent.putExtra("add", add);
  768.                     startActivityForResult(intent, 1);
  769.                 }
  770.                 return false;
  771.             }
  772.         });
  773.  
  774.  
  775.  
  776.         monitor_edit_check_time_tv.setOnTouchListener(new View.OnTouchListener() {
  777.             @Override
  778.             public boolean onTouch(View v, MotionEvent event) {
  779.                 if (event.getAction()==MotionEvent.ACTION_UP){
  780.                     String[] params = {"Не проверять", "1 минута", "5 минут", "10 минут", "30 минут", "1 час", "6 часов", "1 сутки"};
  781.                     Intent intent = new Intent(AddMonitorActivity.this, SelectActivity.class);
  782.                     intent.putExtra("title","Периодичность проверки");
  783.                     intent.putExtra("params", params);
  784.                     intent.putExtra("type", 2);
  785.                     String add;
  786.                     switch (monitor.period) {
  787.                         case 1:
  788.                             add = ("1 минута");
  789.                             break;
  790.                         case 5:
  791.                             add = ("5 минут");
  792.                             break;
  793.                         case 10:
  794.                             add = ("10 минут");
  795.                             break;
  796.                         case 30:
  797.                             add = ("30 минут");
  798.                             break;
  799.                         case 60:
  800.                             add = ("1 час");
  801.                             break;
  802.                         case 360:
  803.                             add = ("6 часов");
  804.                             break;
  805.                         case 1440:
  806.                             add = ("1 сутки");
  807.                             break;
  808.                         case 0:
  809.                             add = ("Не проверять");
  810.                             break;
  811.                         default:
  812.                             add = "";
  813.                             break;
  814.                     }
  815.                     intent.putExtra("add", add);
  816.                     startActivityForResult(intent, 1);
  817.                 }
  818.                 return false;
  819.             }
  820.         });
  821.  
  822.         monitor_edit_check_time_err_tv.setOnTouchListener(new View.OnTouchListener() {
  823.             @Override
  824.             public boolean onTouch(View v, MotionEvent event) {
  825.                 if (event.getAction()==MotionEvent.ACTION_UP){
  826.                     String[] params = {"Не проверять", "1 минута", "5 минут", "10 минут", "30 минут", "1 час", "6 часов", "1 сутки"};
  827.                     Intent intent = new Intent(AddMonitorActivity.this, SelectActivity.class);
  828.                     intent.putExtra("title","Периодичность во время ошибки");
  829.                     intent.putExtra("params", params);
  830.                     intent.putExtra("type", 3);
  831.                     String add;
  832.                     switch (monitor.period_in_error) {
  833.                         case 1:
  834.                             add = ("1 минута");
  835.                             break;
  836.                         case 5:
  837.                             add = ("5 минут");
  838.                             break;
  839.                         case 10:
  840.                             add = ("10 минут");
  841.                             break;
  842.                         case 30:
  843.                             add = ("30 минут");
  844.                             break;
  845.                         case 60:
  846.                             add = ("1 час");
  847.                             break;
  848.                         case 360:
  849.                             add = ("6 часов");
  850.                             break;
  851.                         case 1440:
  852.                             add = ("1 сутки");
  853.                             break;
  854.                         case 0:
  855.                             add = ("Не проверять");
  856.                             break;
  857.                         default:
  858.                             add = "";
  859.                             break;
  860.                     }
  861.                     intent.putExtra("add", add);
  862.                     startActivityForResult(intent, 1);
  863.                 }
  864.                 return false;
  865.             }
  866.         });
  867.  
  868.         monitor_edit_err_notificate_tv.setOnTouchListener(new View.OnTouchListener() {
  869.             @Override
  870.             public boolean onTouch(View v, MotionEvent event) {
  871.                 if (event.getAction()==MotionEvent.ACTION_UP){
  872.                     String[] params = {"Не уведомлять", "После 1-ой ошибки", "После 2-ой ошибки", "После 3-ой ошибки", "После 5-ой ошибки", "После 10-ой ошибки", "После 25-ой ошибки"};
  873.                     Intent intent = new Intent(AddMonitorActivity.this, SelectActivity.class);
  874.                     intent.putExtra("title","Уведомление об ошибке");
  875.                     intent.putExtra("params", params);
  876.                     intent.putExtra("type", 4);
  877.                     String add;
  878.                     switch (monitor.notification_event) {
  879.                         case 1:
  880.                             add = ("После первой ошибки");
  881.                             break;
  882.                         case 2:
  883.                             add = ("После 2-ой ошибки");
  884.                             break;
  885.                         case 3:
  886.                             add = ("После 3-ой ошибки");
  887.                             break;
  888.                         case 5:
  889.                             add = ("После 5-ой ошибки");
  890.                             break;
  891.                         case 10:
  892.                             add = ("После 10-ой ошибки");
  893.                             break;
  894.                         case 25:
  895.                             add = ("После 25-ой ошибки");
  896.                             break;
  897.                         case 0:
  898.                             add = ("Не отправлять");
  899.                             break;
  900.                         default:
  901.                             add = "";
  902.                             break;
  903.                     }
  904.                     intent.putExtra("add", add);
  905.                     startActivityForResult(intent, 1);
  906.                 }
  907.                 return false;
  908.             }
  909.         });
  910.  
  911.         monitor_edit_notificate_method_tv.setOnTouchListener(new View.OnTouchListener() {
  912.             @Override
  913.             public boolean onTouch(View v, MotionEvent event) {
  914.                 if (event.getAction()==MotionEvent.ACTION_UP){
  915.                     String[] params = {"Нет", "SMS", "E-mail"};
  916.                     Intent intent = new Intent(AddMonitorActivity.this, SelectActivity.class);
  917.                     intent.putExtra("title","Дополнительный канал уведомлений");
  918.                     intent.putExtra("params", params);
  919.                     intent.putExtra("type", 5);
  920.                     String add;
  921.                     switch (monitor.notification_chanel) {
  922.                         case 1:
  923.                             add =("E-mail");
  924.                             break;
  925.                         case 2:
  926.                             add =("SMS");
  927.                             break;
  928.                         case 0:
  929.                             add =("Нет");
  930.                             break;
  931.                         default:
  932.                             add = "";
  933.                             break;
  934.                     }
  935.                     intent.putExtra("add", add);
  936.                     startActivityForResult(intent, 1);
  937.                 }
  938.                 return false;
  939.             }
  940.         });
  941.  
  942.  
  943.  
  944.  
  945.         activeSwitch.setOnTouchListener(new View.OnTouchListener() {
  946.             @Override
  947.             public boolean onTouch(View v, MotionEvent event) {
  948.                 isTouched2 = true;
  949.                 return false;
  950.             }
  951.         });
  952.  
  953.  
  954.         authSwitch.setOnTouchListener(new View.OnTouchListener() {
  955.             @Override
  956.             public boolean onTouch(View v, MotionEvent event) {
  957.                 isTouched = true;
  958.                 return false;
  959.             }
  960.         });
  961.  
  962.         notifSwitch.setOnTouchListener(new View.OnTouchListener() {
  963.             @Override
  964.             public boolean onTouch(View v, MotionEvent event) {
  965.                 isTouched3 = true;
  966.                 return false;
  967.             }
  968.         });
  969.  
  970.  
  971.         authSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
  972.             @Override
  973.             public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
  974.                 TextInputLayout name = (TextInputLayout) findViewById(R.id.monitor_edit_username);
  975.                 TextInputLayout pswrd = (TextInputLayout) findViewById(R.id.monitor_edit_password);
  976.                 if (isTouched) {
  977.                     isTouched = false;
  978.                     if (isChecked) {
  979.                         monitor.auth = 1;
  980.                         name.setVisibility(View.VISIBLE);
  981.                         pswrd.setVisibility(View.VISIBLE);
  982.                     }
  983.                     else {
  984.                         monitor.auth = 0;
  985.                         name.setVisibility(View.GONE);
  986.                         pswrd.setVisibility(View.GONE);
  987.                     }
  988.                 }
  989.             }
  990.         });
  991.  
  992.         activeSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
  993.             @Override
  994.             public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
  995.                 if (isTouched2) {
  996.                     isTouched2 = false;
  997.                     Tarifs tarif = null;
  998.                     if (ApiController.getInstance().tarifsArray.size() > 0) {
  999.                         tarif = ApiController.getInstance().tarifsArray.get(ApiController.getInstance().tarif_id);
  1000.                     }
  1001.                     if (isChecked) {
  1002.                         monitorsController.activeMonitors++;
  1003.                         if (tarif != null) {
  1004.                             if (monitorsController.activeMonitors > tarif.monitors && tarif.monitors != 0) {
  1005.                                 monitorsController.activeMonitors--;
  1006.                                 new MaterialDialog.Builder(AddMonitorActivity.this)
  1007.                                         .content("Превышено максимальное количество активных мониторов на вашем тарифе, для активации данного монитора выключите другой монитор")
  1008.                                         .contentColor(Color.parseColor("#4b4b4b"))
  1009.                                         .positiveText("ОК")
  1010.                                         .positiveColor(Color.parseColor("#dd4d4f"))
  1011.                                         .show();
  1012.                                 activeSwitch.setChecked(false);
  1013.                                 return;
  1014.                             }
  1015.                         }
  1016.                         monitor.active = true;
  1017.                         if (monitor.active){
  1018.                             Log.i("ACTIVE", "TRUE");
  1019.                         }
  1020.                     }
  1021.                     else {
  1022.                         monitorsController.activeMonitors--;
  1023.                         monitor.active = false;
  1024.                         if (!monitor.active){
  1025.                             Log.i("ACTIVE", "FALSE");
  1026.                         }
  1027.                     }
  1028.                 }
  1029.             }
  1030.         });
  1031.  
  1032.         notifSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
  1033.             @Override
  1034.             public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
  1035.                 if (isTouched3) {
  1036.                     isTouched3 = false;
  1037.                     if (isChecked) {
  1038.                         monitor.notification = 1;
  1039.                         if (monitor.notification == 1){
  1040.                             Log.i("ACTIVE", "TRUE");
  1041.                         }
  1042.                     }
  1043.                     else {
  1044.                         monitor.notification = 0;
  1045.                         if (monitor.notification ==0){
  1046.                             Log.i("ACTIVE", "FALSE");
  1047.                         }
  1048.                     }
  1049.                 }
  1050.             }
  1051.         });
  1052.  
  1053.         monitor_edit_site_tv.setText(monitor.address);
  1054.  
  1055.         addKW.setOnClickListener(new View.OnClickListener() {
  1056.             @Override
  1057.             public void onClick(View v) {
  1058.                 newKW("");
  1059.             }
  1060.         });
  1061.         //name.requestFocus();
  1062.         if (tarif_IDDD == 0){
  1063.             linearLayout1.setVisibility(View.VISIBLE);
  1064.             addKW.setClickable(false);
  1065.             addKW.setOnClickListener(new View.OnClickListener() {
  1066.                 @Override
  1067.                 public void onClick(View v) {
  1068.  
  1069.                 }
  1070.             });
  1071.         }
  1072.     }
  1073.  
  1074.     int i = 0;
  1075.     ArrayList<String> words = new ArrayList<>();
  1076.  
  1077.     private void newKW(String word) {
  1078.         final LinearLayout linearLayout = (LinearLayout)findViewById(R.id.monitor_keywords_block);
  1079.         final View keyword = LayoutInflater.from(AddMonitorActivity.this).inflate(R.layout.monitor_keywords, mLinearLayout, false);
  1080.  
  1081.         keyword.setId(i);
  1082.         final int x = i;
  1083.         linearLayout.addView(keyword);
  1084.         final ImageView delete = (ImageView)keyword.findViewById(R.id.deleteKeyword);
  1085.         delete.setOnClickListener(new View.OnClickListener() {
  1086.             @Override
  1087.             public void onClick(View v) {
  1088.                 words.set(keyword.getId(), "");
  1089.                 ((LinearLayout)keyword.getParent()).removeView(keyword);
  1090.             }
  1091.         });
  1092.         words.add(keyword.getId(), word);
  1093.         final EditText edit = (EditText)keyword.findViewById(R.id.keyword_tv);
  1094.         edit.setText(word);
  1095.         edit.addTextChangedListener(new TextWatcher() {
  1096.             @Override
  1097.             public void beforeTextChanged(CharSequence s, int start, int count, int after) {
  1098.  
  1099.             }
  1100.  
  1101.             @Override
  1102.             public void onTextChanged(CharSequence s, int start, int before, int count) {
  1103.                 words.set(keyword.getId(), edit.getText().toString());
  1104.             }
  1105.  
  1106.             @Override
  1107.             public void afterTextChanged(Editable s) {
  1108.  
  1109.             }
  1110.         });
  1111.         if (word.equals("")) {
  1112.             edit.requestFocus();
  1113.         }
  1114.         i++;
  1115.     }
  1116.  
  1117.     public boolean validate () {
  1118.         EditText nameText = (EditText)findViewById(R.id.monitor_edit_name_tv);
  1119.         EditText monitor_edit_site_tv = (EditText) findViewById(R.id.monitor_edit_site_tv);
  1120.         EditText monitor_edit_username_tv = (EditText) findViewById(R.id.monitor_edit_username_tv);
  1121.         EditText monitor_edit_password_tv = (EditText) findViewById(R.id.monitor_edit_password_tv);
  1122.         EditText monitor_edit_notificate_method_data_tv = (EditText) findViewById(R.id.monitor_edit_notificate_method_data_tv);
  1123.         EditText monitor_edit_dns_tv = (EditText) findViewById(R.id.monitor_edit_dns_tv);
  1124.         SwitchCompat authSwitch = (SwitchCompat) findViewById(R.id.compatSwitch_auth);
  1125.  
  1126.         int emailcheck = monitor.notification_chanel;
  1127.         int typecheck = monitor.type;
  1128.  
  1129.         String monitorname = nameText.getText().toString();
  1130.         String monitoraddress = monitor_edit_site_tv.getText().toString();
  1131.         String monitoraddress_dns = monitor_edit_dns_tv.getText().toString();
  1132.         String monitorusername = monitor_edit_username_tv.getText().toString();
  1133.         String monitorpassword = monitor_edit_password_tv.getText().toString();
  1134.         String monitornotification_email = monitor_edit_notificate_method_data_tv.getText().toString();
  1135.  
  1136.         String errors = "";
  1137.  
  1138.         if (monitorname.isEmpty()){
  1139.             if (errors.length() < 1) {
  1140.                 new MaterialDialog.Builder(AddMonitorActivity.this)
  1141.                         .content("Название обязательно для заполнения")
  1142.                         .contentColor(Color.parseColor("#4b4b4b"))
  1143.                         .positiveText("ОК")
  1144.                         .positiveColor(Color.parseColor("#dd4d4f"))
  1145.                         .show();
  1146.                 return false;
  1147.             } else {
  1148.                 errors = errors + "," + " название монитора";
  1149.             }
  1150.  
  1151.         }
  1152.         if (typecheck == 0){
  1153.             if (errors.length() < 1) {
  1154.                 new MaterialDialog.Builder(AddMonitorActivity.this)
  1155.                         .content("Тип монитора обязателен для заплнения")
  1156.                         .contentColor(Color.parseColor("#4b4b4b"))
  1157.                         .positiveText("ОК")
  1158.                         .positiveColor(Color.parseColor("#dd4d4f"))
  1159.                         .show();
  1160.                 return false;
  1161.             } else {
  1162.                 errors = errors + "," + " тип монитора";
  1163.             }
  1164.         }
  1165.         if (monitoraddress.isEmpty()){
  1166.             if (errors.length() < 1) {
  1167.                 new MaterialDialog.Builder(AddMonitorActivity.this)
  1168.                         .content("Адрес или IP обязательно для заполнения")
  1169.                         .contentColor(Color.parseColor("#4b4b4b"))
  1170.                         .positiveText("ОК")
  1171.                         .positiveColor(Color.parseColor("#dd4d4f"))
  1172.                         .show();
  1173.                 return false;
  1174.             } else {
  1175.                 errors = errors + "," + " адрес монитора";
  1176.             }
  1177.  
  1178.         }
  1179.         if (typecheck == 12 & monitoraddress_dns.isEmpty() ){
  1180.             if (errors.length() < 1) {
  1181.                 new MaterialDialog.Builder(AddMonitorActivity.this)
  1182.                         .content("Адрес или IP обязательно для заполнения")
  1183.                         .contentColor(Color.parseColor("#4b4b4b"))
  1184.                         .positiveText("ОК")
  1185.                         .positiveColor(Color.parseColor("#dd4d4f"))
  1186.                         .show();
  1187.                 return false;
  1188.             } else {
  1189.                 errors = errors + "," + " DNS монитора";
  1190.             }
  1191.  
  1192.         }
  1193.         if (authSwitch.isChecked() & monitorusername.isEmpty()) {
  1194.             if (errors.length() < 1) {
  1195.                 new MaterialDialog.Builder(AddMonitorActivity.this)
  1196.                         .content("Логин для монитора обязателен для заполнения")
  1197.                         .contentColor(Color.parseColor("#4b4b4b"))
  1198.                         .positiveText("ОК")
  1199.                         .positiveColor(Color.parseColor("#dd4d4f"))
  1200.                         .show();
  1201.                 return false;
  1202.             } else {
  1203.                 errors = errors + "," + " логин для монитора";
  1204.             }
  1205.         }
  1206.         if (authSwitch.isChecked() & monitorpassword.isEmpty()) {
  1207.             if (errors.length() < 1) {
  1208.                 new MaterialDialog.Builder(AddMonitorActivity.this)
  1209.                         .content("Пароль для монитора обязателен для заполнения")
  1210.                         .contentColor(Color.parseColor("#4b4b4b"))
  1211.                         .positiveText("ОК")
  1212.                         .positiveColor(Color.parseColor("#dd4d4f"))
  1213.                         .show();
  1214.                 return false;
  1215.             } else {
  1216.                 errors = errors + "," + " пароль для монитора";
  1217.             }
  1218.         }
  1219.         if (emailcheck == 1 & !isValidEmail(monitornotification_email)) {
  1220.             if (errors.length() < 1) {
  1221.                 new MaterialDialog.Builder(AddMonitorActivity.this)
  1222.                         .content("Поле \"Email для уведомлений\" заполнено некорректно ")
  1223.                         .contentColor(Color.parseColor("#4b4b4b"))
  1224.                         .positiveText("ОК")
  1225.                         .positiveColor(Color.parseColor("#dd4d4f"))
  1226.                         .show();
  1227.                 return false;
  1228.             } else {
  1229.                 errors = errors + "," + " email для уведомлений";
  1230.             }
  1231.  
  1232.         }
  1233.         if (errors.length() > 1){
  1234.             new MaterialDialog.Builder(AddMonitorActivity.this)
  1235.                     .title("Заполните поля")
  1236.                     .content(errors)
  1237.                     .contentColor(Color.parseColor("#4b4b4b"))
  1238.                     .positiveText("ОК")
  1239.                     .positiveColor(Color.parseColor("#dd4d4f"))
  1240.                     .show();
  1241.             return false;
  1242.         }
  1243.  
  1244.         return true;
  1245.     }
  1246.  
  1247.  
  1248.     public final static boolean isValidEmail(CharSequence target) {
  1249.         return !TextUtils.isEmpty(target) && android.util.Patterns.EMAIL_ADDRESS.matcher(target).matches();
  1250.     }
  1251.  
  1252. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement