Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.teaarte.ssc.Fragments;
- import android.content.Intent;
- import android.graphics.Color;
- import android.support.annotation.NonNull;
- import android.support.annotation.StringDef;
- import android.support.design.widget.TextInputLayout;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.support.v7.widget.SwitchCompat;
- import android.support.v7.widget.Toolbar;
- import android.text.Editable;
- import android.text.TextUtils;
- import android.text.TextWatcher;
- import android.util.Log;
- import android.view.LayoutInflater;
- import android.view.MotionEvent;
- import android.view.View;
- import android.view.ViewGroup;
- import android.view.Window;
- import android.widget.Button;
- import android.widget.CompoundButton;
- import android.widget.EditText;
- import android.widget.ImageButton;
- import android.widget.ImageView;
- import android.widget.LinearLayout;
- import android.widget.RelativeLayout;
- import android.widget.TextView;
- import android.widget.Toast;
- import com.afollestad.materialdialogs.DialogAction;
- import com.afollestad.materialdialogs.MaterialDialog;
- import com.example.teaarte.ssc.ApiController;
- import com.example.teaarte.ssc.AuthActivity;
- import com.example.teaarte.ssc.Models.Monitor;
- import com.example.teaarte.ssc.Models.MonitorsController;
- import com.example.teaarte.ssc.Models.Tarifs;
- import com.example.teaarte.ssc.MonitorExportActivity;
- import com.example.teaarte.ssc.MonitorInfo;
- import com.example.teaarte.ssc.R;
- import com.example.teaarte.ssc.SelectActivity;
- import com.yandex.metrica.YandexMetrica;
- import java.util.ArrayList;
- import java.util.Dictionary;
- import java.util.HashMap;
- public class AddMonitorActivity extends AppCompatActivity {
- MonitorsController monitorsController1 = MonitorsController.getInstance();
- Monitor monitor1;
- static Boolean isTouched = false;
- static Boolean isTouched2 = false;
- static Boolean isTouched3 = false;
- private ViewGroup mLinearLayout;
- TextInputLayout dns;
- LinearLayout auth;
- LinearLayout line;
- String reservName;
- String reservAdress;
- LinearLayout addKeywordsLL;
- public void onActivityResult(int requestCode, int resultCode, Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- if (requestCode == 1) {
- if(resultCode == RESULT_OK){
- String res = data.getStringExtra("res");
- Log.i("RESSSSSSSSSS", res);
- int type=data.getIntExtra("type", 0);
- switch (type) {
- case 1:
- EditText monitor_edit_type_tv = (EditText) findViewById(R.id.monitor_edit_type_tv);
- TextInputLayout dns = (TextInputLayout) findViewById(R.id.monitor_edit_dns);
- LinearLayout auth = (LinearLayout) findViewById(R.id.mon_auth);
- LinearLayout line = (LinearLayout) findViewById(R.id.line);
- monitor_edit_type_tv.setText(res);
- if (res.equals("HTTP Get")) {
- monitor.type = 1;
- auth.setVisibility(View.VISIBLE);
- dns.setVisibility(View.GONE);
- line.setVisibility(View.VISIBLE);
- addKeywordsLL.setVisibility(View.VISIBLE);
- }
- if (res.equals("HTTP Post")) {
- monitor.type = 2;
- auth.setVisibility(View.VISIBLE);
- line.setVisibility(View.VISIBLE);
- dns.setVisibility(View.GONE);
- addKeywordsLL.setVisibility(View.VISIBLE);
- }
- if (res.equals("HTTP Head")) {
- monitor.type = 3;
- auth.setVisibility(View.VISIBLE);
- line.setVisibility(View.VISIBLE);
- dns.setVisibility(View.GONE);
- addKeywordsLL.setVisibility(View.VISIBLE);
- }
- if (res.equals("HTTPS GET")) {
- monitor.type = 4;
- auth.setVisibility(View.VISIBLE);
- line.setVisibility(View.VISIBLE);
- dns.setVisibility(View.GONE);
- addKeywordsLL.setVisibility(View.VISIBLE);
- }
- if (res.equals("HTTPS Post")) {
- monitor.type = 5;
- auth.setVisibility(View.VISIBLE);
- line.setVisibility(View.VISIBLE);
- dns.setVisibility(View.GONE);
- addKeywordsLL.setVisibility(View.VISIBLE);
- }
- if (res.equals("HTTPS Head")) {
- monitor.type = 6;
- auth.setVisibility(View.VISIBLE);
- line.setVisibility(View.VISIBLE);
- dns.setVisibility(View.GONE);
- addKeywordsLL.setVisibility(View.VISIBLE);
- }
- if (res.equals("FTP")) {
- monitor.type = 7;
- auth.setVisibility(View.GONE);
- line.setVisibility(View.GONE);
- dns.setVisibility(View.GONE);
- addKeywordsLL.setVisibility(View.GONE);
- }
- if (res.equals("POP3")) {
- monitor.type = 8;
- auth.setVisibility(View.GONE);
- line.setVisibility(View.GONE);
- dns.setVisibility(View.GONE);
- addKeywordsLL.setVisibility(View.GONE);
- }
- if (res.equals("SMTP")) {
- monitor.type = 9;
- auth.setVisibility(View.GONE);
- line.setVisibility(View.GONE);
- dns.setVisibility(View.GONE);
- addKeywordsLL.setVisibility(View.GONE);
- }
- if (res.equals("IMAP")) {
- monitor.type = 10;
- auth.setVisibility(View.GONE);
- line.setVisibility(View.GONE);
- dns.setVisibility(View.GONE);
- addKeywordsLL.setVisibility(View.GONE);
- }
- if (res.equals("Ping")) {
- monitor.type = 11;
- auth.setVisibility(View.GONE);
- line.setVisibility(View.GONE);
- dns.setVisibility(View.GONE);
- addKeywordsLL.setVisibility(View.GONE);
- }
- if (res.equals("DNS")) {
- monitor.type = 12;
- auth.setVisibility(View.GONE);
- dns.setVisibility(View.VISIBLE);
- line.setVisibility(View.GONE);
- addKeywordsLL.setVisibility(View.GONE);
- }
- break;
- case 2:
- EditText monitor_edit_check_time_tv = (EditText) findViewById(R.id.monitor_edit_check_time_tv);
- int old = monitor.period;
- if (res.equals("1 минута")) monitor.period = 1;
- if (res.equals("5 минут")) monitor.period = 5;
- if (res.equals("10 минут")) monitor.period = 10;
- if (res.equals("30 минут")) monitor.period = 30;
- if (res.equals("1 час")) monitor.period = 60;
- if (res.equals("6 часов")) monitor.period = 360;
- if (res.equals("1 сутки")) monitor.period = 1440;
- if (res.equals("1 сутки")) monitor.period = 1440;
- if (res.equals("Не проверять")) monitor.period = 0;
- String newRes = res;
- if (ApiController.getInstance().tarif_id == 0) {
- if (monitor.period < 10 && monitor.period != 0) {
- new MaterialDialog.Builder(AddMonitorActivity.this)
- .content("На тарифе \"Basic\" минимальная периодичность проверки 10 минут ")
- .contentColor(Color.parseColor("#4b4b4b"))
- .positiveText("Ок")
- .positiveColor(Color.parseColor("#dd4d4f"))
- .show();
- monitor.period = old;
- newRes = monitor_edit_check_time_tv.getText().toString();
- }
- }
- monitor_edit_check_time_tv.setText(newRes);
- break;
- case 3:
- EditText monitor_edit_check_time_err_tv = (EditText) findViewById(R.id.monitor_edit_check_time_err_tv);
- old = monitor.period_in_error;
- if (res.equals("1 минута")) monitor.period_in_error = 1;
- if (res.equals("5 минут")) monitor.period_in_error = 5;
- if (res.equals("10 минут")) monitor.period_in_error = 10;
- if (res.equals("30 минут")) monitor.period_in_error = 30;
- if (res.equals("1 час")) monitor.period_in_error = 60;
- if (res.equals("6 часов")) monitor.period_in_error = 360;
- if (res.equals("1 сутки")) monitor.period_in_error = 1440;
- if (res.equals("1 сутки")) monitor.period_in_error = 1440;
- if (res.equals("Не проверять")) monitor.period_in_error = 0;
- newRes = res;
- if (ApiController.getInstance().tarif_id == 0) {
- if (monitor.period_in_error < 10 && monitor.period_in_error != 0) {
- new MaterialDialog.Builder(AddMonitorActivity.this)
- .content("На тарифе \"Basic\" минимальная периодичность проверки 10 минут ")
- .contentColor(Color.parseColor("#4b4b4b"))
- .positiveText("Ок")
- .positiveColor(Color.parseColor("#dd4d4f"))
- .show();
- monitor.period_in_error = old;
- newRes = monitor_edit_check_time_err_tv.getText().toString();
- }
- }
- monitor_edit_check_time_err_tv.setText(newRes);
- break;
- case 4:
- EditText monitor_edit_err_notificate_tv = (EditText) findViewById(R.id.monitor_edit_err_notificate_tv);
- monitor_edit_err_notificate_tv.setText(res);
- if (res.equals("После 1-ой ошибки")) monitor.notification_event = 1;
- if (res.equals("После 2-ой ошибки")) monitor.notification_event = 2;
- if (res.equals("После 3-ой ошибки")) monitor.notification_event = 3;
- if (res.equals("После 5-ой ошибки")) monitor.notification_event = 5;
- if (res.equals("После 10-ой ошибки")) monitor.notification_event = 10;
- if (res.equals("После 25-ой ошибки")) monitor.notification_event = 25;
- if (res.equals("Не уведомлять")) monitor.notification_event = 0;
- break;
- case 5:
- EditText monitor_edit_notificate_method_tv = (EditText) findViewById(R.id.monitor_edit_notificate_method_tv);
- TextInputLayout monitor_edit_notificate_method_data = (TextInputLayout) findViewById(R.id.monitor_edit_notificate_method_data);
- if (res.equals("E-mail")) {
- monitor_edit_notificate_method_data.setVisibility(View.VISIBLE);
- } else {
- monitor_edit_notificate_method_data.setVisibility(View.GONE);
- }
- monitor_edit_notificate_method_tv.setText(res);
- if (res.equals("E-mail")) monitor.notification_chanel = 1;
- if (res.equals("SMS")) monitor.notification_chanel = 2;
- if (res.equals("Нет")) monitor.notification_chanel = 0;
- break;
- case 6:
- EditText monitor_timeout_tv = (EditText) findViewById(R.id.monitor_timeout_tv);
- monitor_timeout_tv.setText(res);
- monitor.timeout = 10;
- if (res.equals("1 секунда")) monitor.timeout = 1;
- if (res.equals("2 секунды")) monitor.timeout = 2;
- if (res.equals("3 секунды")) monitor.timeout = 3;
- if (res.equals("5 секунд")) monitor.timeout = 5;
- if (res.equals("10 секунд")) monitor.timeout = 10;
- if (res.equals("15 секунд")) monitor.timeout = 15;
- break;
- default:
- Log.i("err","wp");
- break;
- }
- Log.i("res",res);
- Log.i("res2222",String.valueOf(type));
- }
- }
- }
- MonitorsController monitorsController = MonitorsController.getInstance();
- Monitor monitor;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_add_monitor);
- Button deleteBtn = (Button)findViewById(R.id.delete_monitor_btn);
- LinearLayout linearLayout1 = (LinearLayout) findViewById(R.id.disable_basic);
- linearLayout1.setVisibility(View.GONE);
- ApiController apiController1 = ApiController.getInstance();
- int tarif_IDDD = apiController1.tarif_id;
- deleteBtn.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- new MaterialDialog.Builder(AddMonitorActivity.this)
- .content("Вы действительно хотите удалить монитор?\n")
- .contentColor(Color.parseColor("#4b4b4b"))
- .positiveText("УДАЛИТЬ")
- .negativeText("ОТМЕНА")
- .positiveColor(Color.parseColor("#dd4d4f"))
- .onPositive(new MaterialDialog.SingleButtonCallback() {
- @Override
- public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
- ApiController apiController = ApiController.getInstance();
- apiController.monitor_delete(monitor, apiController.new MonitorDeleteCallback() {
- @Override
- public void onComplete() {
- Log.i("DELETE","deleted");
- }
- @Override
- public void onError(String errorString) {
- Log.i("DELETE",errorString);
- }
- });
- Intent intent = new Intent();
- setResult(RESULT_OK, intent);
- intent.putExtra("delete", true);
- finish();
- }
- })
- .show();
- YandexMetrica.reportEvent("deleteMonitorSuccess");
- }
- });
- final String action = getIntent().getExtras().getString("action");
- if (action.equals("add")) {
- YandexMetrica.reportEvent("MonitorAdd");
- monitor = new Monitor();
- LinearLayout linearLayout = (LinearLayout)findViewById(R.id.delete_monitor_layout);
- linearLayout.setVisibility(View.GONE);
- deleteBtn.setVisibility(View.GONE);
- monitorsController.currentMonitor = monitor;
- }
- if (action.equals("update")) {
- monitor1 = monitorsController1.currentMonitor;
- YandexMetrica.reportEvent("MonitorEdit");
- monitor = monitorsController.currentMonitor;
- reservName = monitor1.name;
- reservAdress = monitor1.address;
- }
- Toolbar toolbar = (Toolbar)findViewById(R.id.maintoolbar);
- String toolbarname = getIntent().getExtras().getString("toolbar");
- setSupportActionBar(toolbar);
- getSupportActionBar().setTitle(toolbarname);
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- getSupportActionBar().setDisplayShowHomeEnabled(true);
- toolbar.setTitleTextColor(Color.WHITE);
- SwitchCompat authSwitch = (SwitchCompat) findViewById(R.id.compatSwitch_auth);
- SwitchCompat notifSwitch = (SwitchCompat) findViewById(R.id.compatSwitch_notifications);
- final SwitchCompat activeSwitch = (SwitchCompat) findViewById(R.id.compatSwitch_active);
- if (monitor.active){
- activeSwitch.setChecked(true);
- } else {
- activeSwitch.setChecked(false);
- }
- if (monitor.notification == 1){
- notifSwitch.setChecked(true);
- }
- if (monitor.notification == 0){
- notifSwitch.setChecked(false);
- }
- TextInputLayout name = (TextInputLayout) findViewById(R.id.monitor_edit_username);
- TextInputLayout pswrd = (TextInputLayout) findViewById(R.id.monitor_edit_password);
- TextView addKW = (TextView) findViewById(R.id.add_keyword);
- TextInputLayout monitor_edit_notificate_method_data = (TextInputLayout)findViewById(R.id.monitor_edit_notificate_method_data);
- monitor_edit_notificate_method_data.setVisibility(View.GONE);
- final EditText monitor_edit_type_tv = (EditText) findViewById(R.id.monitor_edit_type_tv);
- EditText monitor_timeout_tv = (EditText) findViewById(R.id.monitor_timeout_tv);
- EditText monitor_edit_check_time_tv = (EditText) findViewById(R.id.monitor_edit_check_time_tv);
- EditText monitor_edit_check_time_err_tv = (EditText) findViewById(R.id.monitor_edit_check_time_err_tv);
- EditText monitor_edit_err_notificate_tv = (EditText) findViewById(R.id.monitor_edit_err_notificate_tv);
- EditText monitor_edit_notificate_method_tv = (EditText) findViewById(R.id.monitor_edit_notificate_method_tv);
- final EditText monitor_edit_site_tv = (EditText) findViewById(R.id.monitor_edit_site_tv);
- final EditText monitor_edit_username_tv = (EditText) findViewById(R.id.monitor_edit_username_tv);
- final EditText monitor_edit_password_tv = (EditText) findViewById(R.id.monitor_edit_password_tv);
- final EditText monitor_edit_notificate_method_data_tv = (EditText) findViewById(R.id.monitor_edit_notificate_method_data_tv);
- final EditText monitor_edit_dns_tv = (EditText) findViewById(R.id.monitor_edit_dns_tv);
- ImageButton button = (ImageButton) findViewById(R.id.monitor_add);
- TextInputLayout dns = (TextInputLayout) findViewById(R.id.monitor_edit_dns);
- LinearLayout auth = (LinearLayout) findViewById(R.id.mon_auth);
- LinearLayout line = (LinearLayout) findViewById(R.id.line);
- addKeywordsLL = (LinearLayout) findViewById(R.id.find_on_page);
- if (monitor.type < 7){
- addKeywordsLL.setVisibility(View.VISIBLE);
- } else {
- addKeywordsLL.setVisibility(View.GONE);
- }
- dns.setVisibility(View.GONE);
- auth.setVisibility(View.GONE);
- line.setVisibility(View.GONE);
- monitor_edit_notificate_method_data_tv.setText(monitor.notification_email);
- if (monitor.notification_chanel == 1) {
- monitor_edit_notificate_method_data.setVisibility(View.VISIBLE);
- }
- monitor_edit_username_tv.setText(monitor.username);
- monitor_edit_password_tv.setText(monitor.password);
- name.setVisibility(View.GONE);
- pswrd.setVisibility(View.GONE);
- if (monitor.type >= 1 && monitor.type <= 6) {
- auth.setVisibility(View.VISIBLE);
- line.setVisibility(View.VISIBLE);
- if (monitor.auth == 1) {
- authSwitch.setChecked(true);
- monitor.auth = 1;
- name.setVisibility(View.VISIBLE);
- pswrd.setVisibility(View.VISIBLE);
- }
- else {
- name.setVisibility(View.GONE);
- pswrd.setVisibility(View.GONE);
- }
- }
- if (monitor.type == 12) {
- dns.setVisibility(View.VISIBLE);
- }
- switch (monitor.type) {
- case 1:
- monitor_edit_type_tv.setText("HTTP Get");
- break;
- case 2:
- monitor_edit_type_tv.setText("HTTP Post");
- break;
- case 3:
- monitor_edit_type_tv.setText("HTTP Head");
- break;
- case 4:
- monitor_edit_type_tv.setText("HTTPS GET");
- break;
- case 5:
- monitor_edit_type_tv.setText("HTTPS Post");
- break;
- case 6:
- monitor_edit_type_tv.setText("HTTPS Head");
- break;
- case 7:
- monitor_edit_type_tv.setText("FTP");
- break;
- case 8:
- monitor_edit_type_tv.setText("POP3");
- break;
- case 9:
- monitor_edit_type_tv.setText("SMTP");
- break;
- case 10:
- monitor_edit_type_tv.setText("IMAP");
- break;
- case 11:
- monitor_edit_type_tv.setText("Ping");
- break;
- case 12:
- monitor_edit_type_tv.setText("DNS");
- break;
- default:
- monitor_edit_type_tv.setText("");
- break;
- }
- switch (monitor.timeout) {
- case 1:
- monitor_timeout_tv.setText("1 секунда");
- break;
- case 2:
- monitor_timeout_tv.setText("2 секунды");
- break;
- case 3:
- monitor_timeout_tv.setText("3 секунды");
- break;
- case 5:
- monitor_timeout_tv.setText("5 секунд");
- break;
- case 10:
- monitor_timeout_tv.setText("10 секунд");
- break;
- case 15:
- monitor_timeout_tv.setText("15 секунд");
- break;
- default:
- monitor_timeout_tv.setText("");
- break;
- }
- switch (monitor.period_in_error) {
- case 1:
- monitor_edit_check_time_err_tv.setText("1 минута");
- break;
- case 5:
- monitor_edit_check_time_err_tv.setText("5 минут");
- break;
- case 10:
- monitor_edit_check_time_err_tv.setText("10 минут");
- break;
- case 30:
- monitor_edit_check_time_err_tv.setText("30 минут");
- break;
- case 60:
- monitor_edit_check_time_err_tv.setText("1 час");
- break;
- case 360:
- monitor_edit_check_time_err_tv.setText("6 часов");
- break;
- case 1440:
- monitor_edit_check_time_err_tv.setText("1 сутки");
- break;
- case 0:
- monitor_edit_check_time_err_tv.setText("Не проверять");
- break;
- default:
- monitor_edit_check_time_err_tv.setText(String.valueOf(monitor.period_in_error) + " минут");
- break;
- }
- switch (monitor.period) {
- case 1:
- monitor_edit_check_time_tv.setText("1 минута");
- break;
- case 5:
- monitor_edit_check_time_tv.setText("5 минут");
- break;
- case 10:
- monitor_edit_check_time_tv.setText("10 минут");
- break;
- case 30:
- monitor_edit_check_time_tv.setText("30 минут");
- break;
- case 60:
- monitor_edit_check_time_tv.setText("1 час");
- break;
- case 360:
- monitor_edit_check_time_tv.setText("6 часов");
- break;
- case 1440:
- monitor_edit_check_time_tv.setText("1 сутки");
- break;
- case 0:
- monitor_edit_check_time_tv.setText("Не проверять");
- break;
- default:
- monitor_edit_check_time_tv.setText(String.valueOf(monitor.period_in_error) + " минут");
- break;
- }
- switch (monitor.notification_event) {
- case 1:
- monitor_edit_err_notificate_tv.setText("После 1-ой ошибки");
- break;
- case 2:
- monitor_edit_err_notificate_tv.setText("После 2-ой ошибки");
- break;
- case 3:
- monitor_edit_err_notificate_tv.setText("После 3-ой ошибки");
- break;
- case 5:
- monitor_edit_err_notificate_tv.setText("После 5-ой ошибки");
- break;
- case 10:
- monitor_edit_err_notificate_tv.setText("После 10-ой ошибки");
- break;
- case 25:
- monitor_edit_err_notificate_tv.setText("После 25-ой ошибки");
- break;
- case 0:
- monitor_edit_err_notificate_tv.setText("Не отправлять");
- break;
- default:
- monitor_edit_err_notificate_tv.setText("Не отправлять");
- break;
- }
- switch (monitor.notification_chanel) {
- case 1:
- monitor_edit_notificate_method_tv.setText("E-mail");
- break;
- case 2:
- monitor_edit_notificate_method_tv.setText("SMS");
- break;
- case 0:
- monitor_edit_notificate_method_tv.setText("Нет");
- break;
- default:
- monitor_edit_err_notificate_tv.setText("");
- break;
- }
- String[] words_ = monitor.search_in_page.split("\\|");
- for (String word:words_) {
- if (!word.equals(""))
- newKW(word);
- }
- final EditText nameText = (EditText)findViewById(R.id.monitor_edit_name_tv);
- nameText.setText(monitor.name);
- monitor_edit_dns_tv.setText(monitor.address_dns);
- button.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent intent = new Intent();
- String keywords = "";
- for (String word : words) {
- if (!word.equals("")){
- if (keywords.equals("")) {
- keywords = word;
- } else {
- keywords += "|"+word;
- }
- }
- }
- Log.i("KEYWORDS", keywords);
- monitor.name = nameText.getText().toString();
- String monitorname = nameText.getText().toString();
- monitor.address = monitor_edit_site_tv.getText().toString();
- String monitoraddress = monitor_edit_site_tv.getText().toString();
- monitor.address_dns = monitor_edit_dns_tv.getText().toString();
- String monitoraddress_dns = monitor_edit_dns_tv.getText().toString();
- monitor.username = monitor_edit_username_tv.getText().toString();
- String monitorusername = monitor_edit_username_tv.getText().toString();
- monitor.password = monitor_edit_password_tv.getText().toString();
- String monitorpassword = monitor_edit_password_tv.getText().toString();
- monitor.notification_email = monitor_edit_notificate_method_data_tv.getText().toString();
- String monitornotification_email = monitor_edit_notificate_method_data_tv.getText().toString();
- monitor.search_in_page = keywords;
- String action = getIntent().getExtras().getString("action");
- Log.i("xcbvvn", nameText.getText().toString());
- if (validate()){
- setResult(RESULT_OK, intent);
- if (action.equals("add")){
- YandexMetrica.reportEvent("MonitorAddSuccess");
- }
- if (action.equals("update")){
- YandexMetrica.reportEvent("monitorEditSuccess");
- }
- finish();
- }
- }
- });
- toolbar.setNavigationOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if (action.equals("update") & monitor.name.length() == 0 || monitor.address.length() == 0){
- monitor.name = reservName;
- monitor.address = reservAdress;
- }
- finish();
- }
- });
- monitor_edit_type_tv.setOnTouchListener(new View.OnTouchListener() {
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- if (event.getAction()==MotionEvent.ACTION_UP){
- String[] params = {"HTTP Get", "HTTP Post", "HTTP Head", "HTTPS GET", "HTTPS Post", "HTTPS Head", "FTP", "POP3", "SMTP", "IMAP", "Ping", "DNS"};
- Intent intent = new Intent(AddMonitorActivity.this, SelectActivity.class);
- intent.putExtra("title","Тип запроса");
- intent.putExtra("params", params);
- intent.putExtra("type", 1);
- String add;
- switch (monitor.type) {
- case 1:
- add = ("HTTP Get");
- break;
- case 2:
- add = ("HTTP Post");
- break;
- case 3:
- add = ("HTTP Head");
- break;
- case 4:
- add = ("HTTPS GET");
- break;
- case 5:
- add = ("HTTPS Post");
- break;
- case 6:
- add = ("HTTPS Head");
- break;
- case 7:
- add = ("FTP");
- break;
- case 8:
- add = ("POP3");
- break;
- case 9:
- add = ("SMTP");
- break;
- case 10:
- add = ("IMAP");
- break;
- case 11:
- add = ("Ping");
- break;
- case 12:
- add = ("DNS");
- break;
- default:
- add = "";
- break;
- }
- intent.putExtra("add", add);
- startActivityForResult(intent, 1);
- }
- return false;
- }
- });
- monitor_timeout_tv.setOnTouchListener(new View.OnTouchListener() {
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- if (event.getAction()==MotionEvent.ACTION_UP){
- String[] params = {"1 секунда", "2 секунды", "3 секунды", "5 секунд", "10 секунд", "15 секунд"};
- Intent intent = new Intent(AddMonitorActivity.this, SelectActivity.class);
- intent.putExtra("title","Максимальное время ожидания");
- intent.putExtra("params", params);
- intent.putExtra("type", 6);
- String add;
- switch (monitor.timeout) {
- case 1:
- add = ("1 секунда");
- break;
- case 2:
- add = ("2 секунды");
- break;
- case 3:
- add = ("3 секунды");
- break;
- case 5:
- add = ("5 секунд");
- break;
- case 10:
- add = ("10 секунд");
- break;
- case 15:
- add = ("15 секунд");
- break;
- default:
- add = "";
- break;
- }
- intent.putExtra("add", add);
- startActivityForResult(intent, 1);
- }
- return false;
- }
- });
- monitor_edit_check_time_tv.setOnTouchListener(new View.OnTouchListener() {
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- if (event.getAction()==MotionEvent.ACTION_UP){
- String[] params = {"Не проверять", "1 минута", "5 минут", "10 минут", "30 минут", "1 час", "6 часов", "1 сутки"};
- Intent intent = new Intent(AddMonitorActivity.this, SelectActivity.class);
- intent.putExtra("title","Периодичность проверки");
- intent.putExtra("params", params);
- intent.putExtra("type", 2);
- String add;
- switch (monitor.period) {
- case 1:
- add = ("1 минута");
- break;
- case 5:
- add = ("5 минут");
- break;
- case 10:
- add = ("10 минут");
- break;
- case 30:
- add = ("30 минут");
- break;
- case 60:
- add = ("1 час");
- break;
- case 360:
- add = ("6 часов");
- break;
- case 1440:
- add = ("1 сутки");
- break;
- case 0:
- add = ("Не проверять");
- break;
- default:
- add = "";
- break;
- }
- intent.putExtra("add", add);
- startActivityForResult(intent, 1);
- }
- return false;
- }
- });
- monitor_edit_check_time_err_tv.setOnTouchListener(new View.OnTouchListener() {
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- if (event.getAction()==MotionEvent.ACTION_UP){
- String[] params = {"Не проверять", "1 минута", "5 минут", "10 минут", "30 минут", "1 час", "6 часов", "1 сутки"};
- Intent intent = new Intent(AddMonitorActivity.this, SelectActivity.class);
- intent.putExtra("title","Периодичность во время ошибки");
- intent.putExtra("params", params);
- intent.putExtra("type", 3);
- String add;
- switch (monitor.period_in_error) {
- case 1:
- add = ("1 минута");
- break;
- case 5:
- add = ("5 минут");
- break;
- case 10:
- add = ("10 минут");
- break;
- case 30:
- add = ("30 минут");
- break;
- case 60:
- add = ("1 час");
- break;
- case 360:
- add = ("6 часов");
- break;
- case 1440:
- add = ("1 сутки");
- break;
- case 0:
- add = ("Не проверять");
- break;
- default:
- add = "";
- break;
- }
- intent.putExtra("add", add);
- startActivityForResult(intent, 1);
- }
- return false;
- }
- });
- monitor_edit_err_notificate_tv.setOnTouchListener(new View.OnTouchListener() {
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- if (event.getAction()==MotionEvent.ACTION_UP){
- String[] params = {"Не уведомлять", "После 1-ой ошибки", "После 2-ой ошибки", "После 3-ой ошибки", "После 5-ой ошибки", "После 10-ой ошибки", "После 25-ой ошибки"};
- Intent intent = new Intent(AddMonitorActivity.this, SelectActivity.class);
- intent.putExtra("title","Уведомление об ошибке");
- intent.putExtra("params", params);
- intent.putExtra("type", 4);
- String add;
- switch (monitor.notification_event) {
- case 1:
- add = ("После первой ошибки");
- break;
- case 2:
- add = ("После 2-ой ошибки");
- break;
- case 3:
- add = ("После 3-ой ошибки");
- break;
- case 5:
- add = ("После 5-ой ошибки");
- break;
- case 10:
- add = ("После 10-ой ошибки");
- break;
- case 25:
- add = ("После 25-ой ошибки");
- break;
- case 0:
- add = ("Не отправлять");
- break;
- default:
- add = "";
- break;
- }
- intent.putExtra("add", add);
- startActivityForResult(intent, 1);
- }
- return false;
- }
- });
- monitor_edit_notificate_method_tv.setOnTouchListener(new View.OnTouchListener() {
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- if (event.getAction()==MotionEvent.ACTION_UP){
- String[] params = {"Нет", "SMS", "E-mail"};
- Intent intent = new Intent(AddMonitorActivity.this, SelectActivity.class);
- intent.putExtra("title","Дополнительный канал уведомлений");
- intent.putExtra("params", params);
- intent.putExtra("type", 5);
- String add;
- switch (monitor.notification_chanel) {
- case 1:
- add =("E-mail");
- break;
- case 2:
- add =("SMS");
- break;
- case 0:
- add =("Нет");
- break;
- default:
- add = "";
- break;
- }
- intent.putExtra("add", add);
- startActivityForResult(intent, 1);
- }
- return false;
- }
- });
- activeSwitch.setOnTouchListener(new View.OnTouchListener() {
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- isTouched2 = true;
- return false;
- }
- });
- authSwitch.setOnTouchListener(new View.OnTouchListener() {
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- isTouched = true;
- return false;
- }
- });
- notifSwitch.setOnTouchListener(new View.OnTouchListener() {
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- isTouched3 = true;
- return false;
- }
- });
- authSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
- TextInputLayout name = (TextInputLayout) findViewById(R.id.monitor_edit_username);
- TextInputLayout pswrd = (TextInputLayout) findViewById(R.id.monitor_edit_password);
- if (isTouched) {
- isTouched = false;
- if (isChecked) {
- monitor.auth = 1;
- name.setVisibility(View.VISIBLE);
- pswrd.setVisibility(View.VISIBLE);
- }
- else {
- monitor.auth = 0;
- name.setVisibility(View.GONE);
- pswrd.setVisibility(View.GONE);
- }
- }
- }
- });
- activeSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
- if (isTouched2) {
- isTouched2 = false;
- Tarifs tarif = null;
- if (ApiController.getInstance().tarifsArray.size() > 0) {
- tarif = ApiController.getInstance().tarifsArray.get(ApiController.getInstance().tarif_id);
- }
- if (isChecked) {
- monitorsController.activeMonitors++;
- if (tarif != null) {
- if (monitorsController.activeMonitors > tarif.monitors && tarif.monitors != 0) {
- monitorsController.activeMonitors--;
- new MaterialDialog.Builder(AddMonitorActivity.this)
- .content("Превышено максимальное количество активных мониторов на вашем тарифе, для активации данного монитора выключите другой монитор")
- .contentColor(Color.parseColor("#4b4b4b"))
- .positiveText("ОК")
- .positiveColor(Color.parseColor("#dd4d4f"))
- .show();
- activeSwitch.setChecked(false);
- return;
- }
- }
- monitor.active = true;
- if (monitor.active){
- Log.i("ACTIVE", "TRUE");
- }
- }
- else {
- monitorsController.activeMonitors--;
- monitor.active = false;
- if (!monitor.active){
- Log.i("ACTIVE", "FALSE");
- }
- }
- }
- }
- });
- notifSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
- if (isTouched3) {
- isTouched3 = false;
- if (isChecked) {
- monitor.notification = 1;
- if (monitor.notification == 1){
- Log.i("ACTIVE", "TRUE");
- }
- }
- else {
- monitor.notification = 0;
- if (monitor.notification ==0){
- Log.i("ACTIVE", "FALSE");
- }
- }
- }
- }
- });
- monitor_edit_site_tv.setText(monitor.address);
- addKW.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- newKW("");
- }
- });
- //name.requestFocus();
- if (tarif_IDDD == 0){
- linearLayout1.setVisibility(View.VISIBLE);
- addKW.setClickable(false);
- addKW.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- }
- });
- }
- }
- int i = 0;
- ArrayList<String> words = new ArrayList<>();
- private void newKW(String word) {
- final LinearLayout linearLayout = (LinearLayout)findViewById(R.id.monitor_keywords_block);
- final View keyword = LayoutInflater.from(AddMonitorActivity.this).inflate(R.layout.monitor_keywords, mLinearLayout, false);
- keyword.setId(i);
- final int x = i;
- linearLayout.addView(keyword);
- final ImageView delete = (ImageView)keyword.findViewById(R.id.deleteKeyword);
- delete.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- words.set(keyword.getId(), "");
- ((LinearLayout)keyword.getParent()).removeView(keyword);
- }
- });
- words.add(keyword.getId(), word);
- final EditText edit = (EditText)keyword.findViewById(R.id.keyword_tv);
- edit.setText(word);
- edit.addTextChangedListener(new TextWatcher() {
- @Override
- public void beforeTextChanged(CharSequence s, int start, int count, int after) {
- }
- @Override
- public void onTextChanged(CharSequence s, int start, int before, int count) {
- words.set(keyword.getId(), edit.getText().toString());
- }
- @Override
- public void afterTextChanged(Editable s) {
- }
- });
- if (word.equals("")) {
- edit.requestFocus();
- }
- i++;
- }
- public boolean validate () {
- EditText nameText = (EditText)findViewById(R.id.monitor_edit_name_tv);
- EditText monitor_edit_site_tv = (EditText) findViewById(R.id.monitor_edit_site_tv);
- EditText monitor_edit_username_tv = (EditText) findViewById(R.id.monitor_edit_username_tv);
- EditText monitor_edit_password_tv = (EditText) findViewById(R.id.monitor_edit_password_tv);
- EditText monitor_edit_notificate_method_data_tv = (EditText) findViewById(R.id.monitor_edit_notificate_method_data_tv);
- EditText monitor_edit_dns_tv = (EditText) findViewById(R.id.monitor_edit_dns_tv);
- SwitchCompat authSwitch = (SwitchCompat) findViewById(R.id.compatSwitch_auth);
- int emailcheck = monitor.notification_chanel;
- int typecheck = monitor.type;
- String monitorname = nameText.getText().toString();
- String monitoraddress = monitor_edit_site_tv.getText().toString();
- String monitoraddress_dns = monitor_edit_dns_tv.getText().toString();
- String monitorusername = monitor_edit_username_tv.getText().toString();
- String monitorpassword = monitor_edit_password_tv.getText().toString();
- String monitornotification_email = monitor_edit_notificate_method_data_tv.getText().toString();
- String errors = "";
- if (monitorname.isEmpty()){
- if (errors.length() < 1) {
- new MaterialDialog.Builder(AddMonitorActivity.this)
- .content("Название обязательно для заполнения")
- .contentColor(Color.parseColor("#4b4b4b"))
- .positiveText("ОК")
- .positiveColor(Color.parseColor("#dd4d4f"))
- .show();
- return false;
- } else {
- errors = errors + "," + " название монитора";
- }
- }
- if (typecheck == 0){
- if (errors.length() < 1) {
- new MaterialDialog.Builder(AddMonitorActivity.this)
- .content("Тип монитора обязателен для заплнения")
- .contentColor(Color.parseColor("#4b4b4b"))
- .positiveText("ОК")
- .positiveColor(Color.parseColor("#dd4d4f"))
- .show();
- return false;
- } else {
- errors = errors + "," + " тип монитора";
- }
- }
- if (monitoraddress.isEmpty()){
- if (errors.length() < 1) {
- new MaterialDialog.Builder(AddMonitorActivity.this)
- .content("Адрес или IP обязательно для заполнения")
- .contentColor(Color.parseColor("#4b4b4b"))
- .positiveText("ОК")
- .positiveColor(Color.parseColor("#dd4d4f"))
- .show();
- return false;
- } else {
- errors = errors + "," + " адрес монитора";
- }
- }
- if (typecheck == 12 & monitoraddress_dns.isEmpty() ){
- if (errors.length() < 1) {
- new MaterialDialog.Builder(AddMonitorActivity.this)
- .content("Адрес или IP обязательно для заполнения")
- .contentColor(Color.parseColor("#4b4b4b"))
- .positiveText("ОК")
- .positiveColor(Color.parseColor("#dd4d4f"))
- .show();
- return false;
- } else {
- errors = errors + "," + " DNS монитора";
- }
- }
- if (authSwitch.isChecked() & monitorusername.isEmpty()) {
- if (errors.length() < 1) {
- new MaterialDialog.Builder(AddMonitorActivity.this)
- .content("Логин для монитора обязателен для заполнения")
- .contentColor(Color.parseColor("#4b4b4b"))
- .positiveText("ОК")
- .positiveColor(Color.parseColor("#dd4d4f"))
- .show();
- return false;
- } else {
- errors = errors + "," + " логин для монитора";
- }
- }
- if (authSwitch.isChecked() & monitorpassword.isEmpty()) {
- if (errors.length() < 1) {
- new MaterialDialog.Builder(AddMonitorActivity.this)
- .content("Пароль для монитора обязателен для заполнения")
- .contentColor(Color.parseColor("#4b4b4b"))
- .positiveText("ОК")
- .positiveColor(Color.parseColor("#dd4d4f"))
- .show();
- return false;
- } else {
- errors = errors + "," + " пароль для монитора";
- }
- }
- if (emailcheck == 1 & !isValidEmail(monitornotification_email)) {
- if (errors.length() < 1) {
- new MaterialDialog.Builder(AddMonitorActivity.this)
- .content("Поле \"Email для уведомлений\" заполнено некорректно ")
- .contentColor(Color.parseColor("#4b4b4b"))
- .positiveText("ОК")
- .positiveColor(Color.parseColor("#dd4d4f"))
- .show();
- return false;
- } else {
- errors = errors + "," + " email для уведомлений";
- }
- }
- if (errors.length() > 1){
- new MaterialDialog.Builder(AddMonitorActivity.this)
- .title("Заполните поля")
- .content(errors)
- .contentColor(Color.parseColor("#4b4b4b"))
- .positiveText("ОК")
- .positiveColor(Color.parseColor("#dd4d4f"))
- .show();
- return false;
- }
- return true;
- }
- public final static boolean isValidEmail(CharSequence target) {
- return !TextUtils.isEmpty(target) && android.util.Patterns.EMAIL_ADDRESS.matcher(target).matches();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement